pavare

Time limit: 0.3s Memory limit: 4MB Input: pavare.in Output: pavare.out

Ca în mai toate poveștile, Făt-Frumos a căutat o Cosânzeană și a găsit-o, dar tatăl ei i-a cerut să-i paveze drumul de lungime NN care leagă castelele sale. Dalele cu care va pava drumul au aceeași lățime (egală cu lățimea drumului) și lungimi numere naturale. Fiind un împărat cam sâcâit, acesta dorește ca pavarea să se facă folosind un număr minim de dale, diferența de lungime între două dale vecine să nu fie mai mare ca 11, iar prima și ultima dală să fie de lungime 11. Împăratul nu se mulțumește să primească de la Făt-Frumos doar un număr (numărul minim de dale necesare): el vrea și posibilitatea de pavare cea mai mică din punct de vedere lexicografic.

Compararea lexicografică a două șiruri de numere este o extensie la numere a comparării alfabetice a două cuvinte. Astfel, fiind date două șiruri numerice de aceeași lungime, A1,A2,,AmA_1, A_2, \dots, A_m și B1,B2,,BmB_1, B_2, \dots, B_m, acestea sunt egale dacă și numai dacă Ai=BiA_i = B_i pentru orice ii de la 11 la mm. Șirul AA este mai mic lexicografic decât șirul BB dacă există o valoare kk astfel încât Ak<BkA_k < B_k și Ai=BiA_i = B_i pentru orice ii de la 11 la k1k - 1. De exemplu, șirul 3,5,4,13, 5, 4, 1 este mai mare lexicografic decât șirul 3,5,2,93, 5, 2, 9 pentru că prima poziție pe care valorile diferă este poziția 33 (4>24 > 2), fără a mai conta valorile aflate după aceasta.

Cerință

Cunoscând lungimea drumului, determinați numărul minim de dale necesare pavării și posibilitatea de pavare cu număr minim de dale, care este cea mai mică din punct de vedere lexicografic.

Date de intrare

Prima linie a fișierului pavare.in conține un număr natural VV. Linia a doua conține un număr natural NN ce reprezintă lungimea drumului.

Date de ieșire

Dacă VV va avea valoarea 11, în fișierul pavare.out se va scrie, pe prima linie, doar numărul minim de dale necesare pavării.

Dacă VV va avea valoarea 22, în fișierul pavare.out se va scrie, pe prima linie, un șir de numere separate prin câte un spațiu, ce reprezintă soluția de pavare a drumului, folosind un număr minim de dale, care este cea mai mică din punct de vedere lexicografic.

Restricții și precizări

  • V{1,2}V \in \{1,2\}
  • 1N1091 \leq N \leq 10^9;
  • Pentru 3030% din punctaj V=1V = 1.

Exemplul 1

pavare.in

1
7

pavare.out

5

Explicație

Pentru drumul de lungime 77 sunt necesare 55 dale.

Exemplul 2

pavare.in

2
7

pavare.out

1 1 2 2 1

Explicație

Soluțiile cu număr minim de dale sunt: 112211 1 2 2 1, 121211 2 1 2 1, 122111 2 2 1 1.

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