Dat je štap dužine \(n\) metara. Potrebno je preseći ga na nekoliko mesta tako da dobijeni delovi budu celobrojne dužine i nijedan od dobijenih delova ne bude duži od \(k\) metara. Napisati program koji određuje na koliko načina je moguće izvršiti ovakvo sečenje.
Sa standardnog ulaza se unose brojevi \(n\) (\(1 \leq n \leq 1000\)) i \(k\) (\(1 \leq k \leq 300\)).
Na standardni izlaz ispisati broj mogućih sečenja. Kako taj broj može biti velik, ispisati njegov ostatak pri deljenju sa \(10^9 + 9\).
4 2
5
Moguća su sledeća sečenja predstavljena dužinama dobijenih delova štapa:
1 1 1 1 2 1 1 1 2 1 1 1 2 2 2