시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 2048 MB111100.000%

문제

Sve vrvi od različitih prometnih planova, a malog Ivicu zanima samo jedno pitanje, koliko će mu zanimljiv biti put do škole!

Možemo zamisliti da se Zagreb sastoji od $N$ kvartova označenih brojevima od $1$ do $N$. Između nekih parova kvartova $i$ te $j$ (gdje $i < j$) postoje jednaosmjerne ulice. Prometni plan sastoji se od nekog skupa takvih jednosmjernih ulica.

Ivičina kuća nalazi se u kvartu $1$, a škola u kvartu $N$. Sada ga zanima, za svaki $K$ od $0$ do $N$, koliko postoji prometnih planova, tako da broj kvartova koji se nalaze na nekom mogućem putu od kvarta $1$ do kvarta $N$ je točno $K$.

Kako su ti brojevi možda jako veliki, zanima ga njihov ostatak pri dijeljenju s $P$.

입력

U prvom retku su prirodni brojevi $N$ i $P$.

출력

U jedini redak ispišite $N + 1$ brojeva gdje $i$-ti broj predstavlja broj prometnih planova s $i − 1$ bitnih kvartova modulo $P$.

제한

U svim podzadacima vrijedi $2 ≤ N ≤ 2\, 000$ i $10^8 ≤ P ≤ 10^9 + 100$, $P$ je prost broj.

서브태스크

번호배점제한
14

$N ≤ 7$

27

$N ≤ 18$

323

$N ≤ 50$

413

$N ≤ 100$

518

$N ≤ 300$

635

Nema dodatnih ograničenja.

예제 입력 1

2 1000000007

예제 출력 1

1 0 1

예제 입력 2

3 1000000007

예제 출력 2

3 0 3 2

예제 입력 3

5 1000000007

예제 출력 3

183 0 183 286 250 122

노트

Pojašnjenje drugog probnog primjera:

Vrijedi $K = 0$ za prometne planove

  • $\{\}$
  • $\{(1, 2)\}$
  • $\{(2, 3)\}$

Vrijedi $K = 2$ za prometne planove

  • $\{(1, 3)\}$
  • $\{(1, 3), (1, 2)\}$ $\{(1, 3), (2, 3)\}$

Vrijedi $K = 3$ za prometne planove

  • $\{(1, 2), (2, 3)\}$
  • $\{(1, 2), (1, 3), (2, 3)\}$

채점 및 기타 정보

  • 예제는 채점하지 않는다.