<em>// PascalABC.NET 3.2, сборка 1377 от 19.01.2017</em> <em>// Внимание! Если программа не работает, обновите версию!</em>
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.