Fişierul intrare/ieşire:valuare.in, valuare.outSursăJunior Challenge 2015
AutorCostin OncescuAdăugată deJuniorChallenge2015JuniorChallenge2016 JuniorChallenge2015
Timp execuţie pe test0.05 secLimită de memorie20480 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Valuare

Cămătaru' şef trăieşte în ValoareLand, o ţară minunată în care cifrele sunt numerotate de la 0 la B - 1, numerele de orice fel fiind considerate în baza B. Acesta a primit un ordin direct de la Bossul ţării, si anume gasirea valorii bancnotei cu faţa Bossului în sistemul monetar din alte ţări (ţări simple, care folosesc sistemul zecimal). Valoarea bancnotelor din ValoareLand este mult prea mare raportat la ţările normale, motiv pentru care se cere restul împărţirii valorii reale la P. Bancnota cu faţa Bossului valorează 123...(B - 1) bănuţi (număr scris în baza B). Cum Cămătaru' şef nu vrea să fie exilat din ţară, şi nu este nici prea bun la informatică, acesta vă cere ajutorul.
O cerinţă reformulată a problemei, lipsită de valoare, este, deci, calcularea restul împărţirii numărului 123...(B - 1) (considerat în baza B) la P (ca şi rezultatul, P este un numar in baza 10).

Date de intrare

Fişierul de intrare valuare.in conţine pe prima şi singura linie doua valori B si P cu semnificaţia din enunţ.

Date de ieşire

În fişierul de ieşire valuare.out trebuie să conţină un singur număr reprezentand restul împărţirii numărului 123...(B - 1) (în baza B) la P.

Restricţii

  • 1 ≤ B ≤ 1018
  • 1 ≤ P ≤ 109 + 8
  • Atentie! Fiecare subtask are testele grupate!
  • Subtask 1 (20 puncte): B ≤ 51000 (Feedback testul 34)
  • Subtask 2 (20 puncte): B < P , P = 1000000007 (Feedback testele 1 şi 4)
  • Subtask 3 (20 puncte): cmmdc(B - 1, P) = 1, P ≤ 109 + 8 (Feedback testul 11)
  • Subtask 4 (20 puncte): B ≤ 109, P ≤ 109 + 8 (Feedback testul 17)
  • Subtask 5 (20 puncte): B ≤ 1018, P ≤ 109 + 8 (Feedback testul 25)
  • Atenţie! Testele nu se evaluează în ordinea consacrată (adică evaluarea nu va începe cu testul 1).

Exemplu

valuare.invaluare.out
5 122
10 1000000007123456789
44444 666013235448

Explicaţie

In primul exemplu, baza de numeratie folosita in ValoareLand este 5, iar numarul scris pe bancnota cu fata Bossului este 1234 (in baza 5) . Avem 1234 (in baza 5) = 1 * 5 3 + 2 * 5 2 + 3 * 5 1 + 4 * 5 0 = 125 + 50 + 15 + 4 = 194 (in baza 10). Acest numar da restul 2 la impartirea cu 12.
In al doilea caz se intampla ca baza de numeratie folosita in ValoareLand sa coincida cu sistemul zecimal uzual, iar 123...(10 - 1) = 123456789.

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?