program zzn;
var
head,tail,i,j,k,m,n,nn,p:longint;
num:array[1..1000]of boolean;
peo:array[1..1000]of integer;
sure:array[1..1000]of integer;
list:array[1..1100]of integer;
procedure init;
var
flg:boolean;
begin
assign(input,'criminalc.in');
reset(input);
assign(output,'criminalc.out');
rewrite(output);
writeln(2);
{ readln(n,m,k);
for i:=1 to m do read(sure[i]);
readln;
for i:=1 to n do readln(peo[i]);
p:=m;
tail:=m;
head:=0;
for i:=1 to m do list[i]:=sure[i];
repeat
inc(head);
if peo[head]<0 then
begin
inc(tail);
list[tail]:=-peo[head];
sure[tail]:=list[tail];
end;
until head>=tail; }
end;
procedure closef;
begin
close(input);
close(output);
end;
procedure dep(x:integer);
begin
end;
procedure main;
begin
for nn:=1 to n do
dep(1);
end;
begin
init;
//main;
closef;
end.