Räkneord
Monika skriver ner alla räkneord mellan 1 och $N$. Sedan sorterar hon orden alfabetiskt och konkatenerar dem till en enda lång sträng. Skriv ett program som hittar bokstav nummer $K$, $K+1$ och $K+2$ i Monikas sträng.
För att undvika problem med teckenkodning byter vi ut å och ä mot a. Vidare använder vi formerna etthundra, ettusen (observera stavningen), enmiljon och enmiljard, men bara när siffran 1 står ensam före mängdordet (ej inräknat tidigare mängdord). När siffran 1 däremot står sist i ett förled som betecknar flera tusen, miljoner eller miljarder så skriver vi för enkelhets skull alltid "en": tjugoentusen, etthundraenmiljoner, tvahundraattioenmiljarder etc. Allra sist i ett räkneord skriver vi dock alltid siffran 1 som "ett".
En tabell med de grundläggande räkneorden och några exempel på längre ord bringar förhoppningsvis klarhet i reglerna:
|
Tal |
Räkneord |
Tal |
Räkneord |
|
1 |
ett |
10 |
tio |
|
2 |
tva |
20 |
tjugo |
|
3 |
tre |
30 |
trettio |
|
4 |
fyra |
40 |
fyrtio |
|
5 |
fem |
50 |
femtio |
|
6 |
sex |
60 |
sextio |
|
7 |
sju |
70 |
sjuttio |
|
8 |
atta |
80 |
attio |
|
9 |
nio |
90 |
nittio |
|
11 |
elva |
100 |
etthundra |
|
12 |
tolv |
198 |
etthundranittioatta |
|
13 |
tretton |
201 |
tvahundraett |
|
14 |
fjorton |
1121 |
ettusenetthundratjugoett |
|
15 |
femton |
$581\, 743$ |
femhundraattioentusensjuhundrafyrtiotre |
|
16 |
sexton |
$51\, 101\, 001$ |
femtioenmiljoneretthundraentusenett |
|
17 |
sjutton |
$162\, 500\, 020$ |
etthundrasextiotvamiljonerfemhundratusentjugo |
|
18 |
arton |
$1\, 002\, 001\, 004$ |
enmiljardtvamiljonerettusenfyra |
|
19 |
nitton |
$91\, 011\, 091\, 000$ |
nittioenmiljarderelvamiljonernittioentusen |
Och som en ytterligare kontrollmöjlighet ger vi längden på Monikas sträng för några olika $N$:
|
N |
Strängens längd |
|
999 |
16260 |
|
9999 |
235600 |
|
99999 |
2908000 |
|
999999 |
37425000 |
|
9999999 |
472250000 |
|
99999999 |
5319500000 |
|
999999999 |
61585000000 |
|
9999999999 |
722850000000 |
|
99999999999 |
7834500000000 |
|
999999999999 |
86744000000000 |
Indata
En rad med två heltal $N$ och $K$, där $1\leq N\leq 999\, 999\, 999\, 999$ och $1\leq K \leq L-2$, där $L$ är längden på den bildade strängen.
Delpoäng: För 30% av poängen är $ N\leq 500\, 000$, medan för resten av poängen är $ N\geq 100\, 000\, 000$. För 30% av poängen är $ N=999\, 999\, 999\, 999$.
Utdata
En rad med tre bokstäver utan åtskiljande blanksteg: bokstav nummer $K$, $K+1$ och $K+2$ i strängen.
Förklaring till första exemplet
Monikas sträng, skriven med 40 bokstäver per rad, är
artonattaelvaettfemfemtonfjortonfyranion ittonsexsextonsjusjuttontiotjugotjugoett tjugofemtjugofyratjugosextjugotretjugotv atolvtretrettontva
| Sample Input 1 | Sample Output 1 |
|---|---|
26 120 |
vat |
| Sample Input 2 | Sample Output 2 |
|---|---|
105 508 |
ase |
| Sample Input 3 | Sample Output 3 |
|---|---|
426760 11111111 |
atr |