program puzhuan;
var
i,n:integer;
sz:array[0..10000]of longint;
begin
assign(input,'puzhuan.in');
assign(output,'puzhuan.out');
reset(input);
rewrite(output);
readln(n);
sz[0]:=1;
sz[1]:=1;
for i:=2 to n do
begin
sz[i]:=sz[i-1]*2;
if i mod 2=0 then sz[i]:=sz[i]+1 else sz[i]:=sz[i]-1;
sz[i]:=sz[i] mod 12345;
end;
writeln(sz[n]);
close(input);
close(output);
end.