// PascalABC.NET 3.2, сборка 1377 от 19.01.2017
// Внимание! Если программа не работает, обновите версию!
begin
var n:integer;
repeat
n:=ReadInteger;
if n>0 then begin
var d:=false; // нужны цифры
var a:=false; // нужны буквы
repeat
var r:=n mod 16;
if r in [0..9] then d:=true
else a:=true;
n:=n div 16
until (d and a) or (n=0);
if a and d then Writeln(3)
else
if a then Writeln(1)
else Writeln(2);
n:=-1 // чтобы из цикла не выйти
end
until n=0
end.
Пример
13
1
15
1
9
2
27
3
0