program enigmath;(*Essendo E=N+S(N)+S(S(N))...il problema chiede di trovare N=E-[S(N)+S(S(N))...]*)
(*Si noti che la somma massima delle cifre per un numero inferiore a 10^9 è 9x9=81.*)
(*La "somma delle somme" massima è però 79 + 16 + 7 = 102 ottenuta da numeri tipo 799999999, e le decodificazioni di E sono superiori a E-102.*)
Uses Math;
const MAXX=102;
var
Emin, Emax, i, S, K, inizio, val, count :longint;
cod, dec :array[0..1000000]oflongint;(*in cod[i] metto la codifica del numero e in dec[i], inizializzato a zero, sommo +1 tutte le volte che trovo*)(*un numero N di cui è la codifica*)
function codifica (x:Longint):Longint;
begin
if x < 10then codifica:=x (* single digit*)
else
begin
S :=0; K:= x;
while K>0do
begin
S:=S + K mod10;(*sum of digits*)
K:=K div10;
end;
codifica:=x + codifica(S);
end;
end;
begin
(*assign(input, 'input.txt'); reset(input);
assign(output, 'output.txt'); rewrite(output);
*)
readln(Emin,Emax);
if Emin<=102then inizio:=0(*Quindi, se Emin>=102 parto da Emin-102 , altrimenti parto da zero e salvo la loro codifica*)
else inizio:=Emin-102;
count:=Emax-Emin+1;(*numero di termini da considerare*)
for i:=inizio to count do dec[i]:=0;
for i := inizio to Emax do
begin
val := codifica(i);Writeln(val,' ',' i ',i);
if(Emin <= val)and(val <= Emax)then
begin
cod[val-Emin]:=i;
dec[val-Emin]:=dec[val-Emin]+1;
writeln(cod[val-Emin],' ',dec[val-Emin]);
end;
end;
for i :=0to count-1do
begin
if dec[i]=0thenwriteln('IMPOSSIBLE')(*no decodings exist for E*)
elseif dec[i]>1thenwriteln('AMBIGUOUS')(*multiple possible decodings exist for E*)
3 i 3
4 i 4
5 i 5
6 i 6
7 i 7
8 i 8
9 i 9
11 i 10
13 i 11
15 i 12
17 i 13
19 i 14
21 i 15
23 i 16
25 i 17
27 i 18
30 i 19
22 i 20
24 i 21
26 i 22
28 i 23
30 i 24
32 i 25
34 i 26
36 i 27
39 i 28
42 i 29
33 i 30
35 i 31
37 i 32
39 i 33
41 i 34
43 i 35
45 i 36
48 i 37
51 i 38
54 i 39
44 i 40
46 i 41
48 i 42
50 i 43
52 i 44
54 i 45
57 i 46
60 i 47
63 i 48
66 i 49
55 i 50
57 i 51
59 i 52
61 i 53
63 i 54
66 i 55
69 i 56
72 i 57
75 i 58
78 i 59
66 i 60
68 i 61
70 i 62
72 i 63
75 i 64
78 i 65
81 i 66
84 i 67
87 i 68
90 i 69
77 i 70
79 i 71
81 i 72
84 i 73
87 i 74
90 i 75
93 i 76
96 i 77
99 i 78
102 i 79
88 i 80
90 i 81
93 i 82
96 i 83
99 i 84
102 i 85
105 i 86
86 1
108 i 87
87 1
111 i 88
114 i 89
99 i 90
102 i 91
105 i 92
92 2
108 i 93
93 2
111 i 94
114 i 95
117 i 96
120 i 97
123 i 98
126 i 99
101 i 100
103 i 101
105 i 102
102 3
107 i 103
103 1
109 i 104
104 1
111 i 105
113 i 106
115 i 107
117 i 108
120 i 109
112 i 110
AMBIGUOUS
IMPOSSIBLE
103
AMBIGUOUS
104
IMPOSSIBLE