var A,B, minA, maxA, minB, maxB, minn, maxx, t, t1, i:longint;
begin
readln(A); readln(B);
minA:=(A-1)*50+1; maxA:=A*50;
minB:=(B-1)*70+1; maxB:=B*70;
if (minA>maxB) or (minB>maxA) then writeln(-1) else
begin
if minA<minB then minn:=minB else minn:=minA;
if maxA>maxB then maxx:=maxB else maxx:=maxA;
t:=minn div 60;
t1:=maxx div 60;
if (minn mod 60)<>0 then inc(t);
if (maxx mod 60)<>0 then inc(t1);
for i:=t to t1 do
write(i, ' ');
writeln();
end;
end.
не могу сказать верно или нет, так как не проверял а просто написал в блокнотике
160 | 2 120 | 2 100 | 2
80 | 2 60 | 2 50 | 2
40 | 2 30 | 2 25 | 5
20 | 2 15 | 3 5 | 5
10 | 2 5 | 5 1
5 | 5 1 100 = 2² · 5²
1 120 = 2³ · 3 · 5
160 = 2⁵ · 5
НОД = 2² · 5 = 20 - наибольший общий делитель
160 : 20 = 8 - яблоки
120 : 20 = 6 - апельсины
100 : 20 = 5 - груши
ответ: 20 подарков, в каждом из которых по 8 яблок, 6 апельсинов и 5 груш.