Ioana

Time limit: 0.1s Memory limit: 256MB Input: Output:

Cerință

Furnicuța Ioana se află pe axa OX. Ea vrea să colecteze cât mai mult cașcaval, așa că se va deplasa timp de N secunde. La secunda ii ea va alege ai0a_i \neq 0, întreg, și se va deplasa cu o distanță de aia_i metri la dreapta dacă ai>0a_i > 0 și cu ai-a_i metri la stânga dacă ai<0a_i < 0. Ea pleacă mereu din origine, iar după cele NN deplasări ajunge înapoi în origine.

Gândăcelul Teodor, gelos că Ioana are mai mult cașcaval ca el, se întreabă pe unde s-a deplasat Ioana. Ioana îi zice lui Teodor doar NN, numărul de secunde, și KK, distanța totală parcursă de ea, însa nu îi zice numerele aia_i. Acum Teodor vrea să afle în câte moduri poate alege șirul aia_i. El nu se pricepe la numărat, dar va cere vouă să îl ajutați. La schimb el vă va rasplăti cu 100g de cașcaval.

Atenție! Ioana poate fi șireată și să îi zică lui Teodor două numere NN și KK pentru care șirul aia_i nu există. Dacă nu știți să îi răspundeți lui Teodor la întrebare, dar știți să îi ziceți dacă Ioana îl minte sau nu, acesta vă va răsplăti totuși cu 50g de cașcaval.

Date de intrare

Pe prima linie din input se vor gasi două numere întregi NN și KK

Date de ieșire

Pe prima linie din output se va gasi răspunsul la întrebarea lui Teodor, modulo 109+710^9+7

Pentru a răspunde doar la a 2-a întrebare: afișați 0 dacă Ioana minte sau un număr diferit de 0 dacă Ioana spune adevărul.

Restricții și precizări

  • 1N,K106 1 \leq N, K \leq 10^6;
  • Dacă nu știți sa răspundeți la întrebarea principală a lui Teodor, dar știți să îi ziceți dacă Ioana îl minte, veți primi 50% din punctajul grupei.
# Punctaj Restricții
0 0 Exemple
1 10 N,K10N, K \le 10
2 12 N,K100N, K \le 100
3 36 N,K1000N, K \le 1000
4 42 fără restricții suplimentare

Exemplu 1

stdin

2 4

stdout

2

Explicație

Ioana poate alege șirul aia_i în două moduri: {2,2}\{ -2, 2 \}, {2,2}\{ 2, -2 \}.

Exemplu 2

stdin

3 4

stdout

6

Explicație

Ioana poate alege șirul aia_i în 6 moduri:

  • {1,1,+2}\{ -1, -1, +2 \};
  • {1,+2,1}\{ -1, +2, -1 \};
  • {+2,1,1}\{ +2, -1, -1 \};
  • {+1,+1,2}\{ +1, +1, -2 \};
  • {+1,2,+1}\{ +1, -2, +1 \};
  • {2,+1,+1}\{ -2, +1, +1 \}.

Exemplu 3

stdin

2 3

stdout

0

Explicație

Teodor își dă seama că Ioana l-a mințit.

Log in or sign up to be able to send submissions!