program decompose;
uses crt;
var x,i,p,k:integer; v:array[1..100] of integer; test:boolean;
function premier(x:integer):boolean;
var test:boolean; z:integer;
begin
test:= true; if (x=1) then test:=false;
for z:=2 to (x-1) do begin
if (x mod z=0) then test:=false;
end;
premier:=test; end;
begin
readln(x); i:=1; p:=0;
repeat i:=i+1; test:=false;
if (premier(i)=true) then begin
if (x mod i=0) then begin
p:=p+1;
v[p]:=i;
x:=x div i;
i:=i-1;
end;
end;
until (i>x);
for k:=1 to p-1 do begin
if (v[k]=v[k+1]) then test:=true;
end; writeln(test);
end.
cHJvZ3JhbSBkZWNvbXBvc2U7CnVzZXMgY3J0Owp2YXIgeCxpLHAsazppbnRlZ2VyOyB2OmFycmF5WzEuLjEwMF0gb2YgaW50ZWdlcjsgdGVzdDpib29sZWFuOwoKZnVuY3Rpb24gcHJlbWllcih4OmludGVnZXIpOmJvb2xlYW47CnZhciB0ZXN0OmJvb2xlYW47IHo6aW50ZWdlcjsKYmVnaW4KdGVzdDo9IHRydWU7IGlmICh4PTEpIHRoZW4gdGVzdDo9ZmFsc2U7IApmb3Igejo9MiB0byAoeC0xKSBkbyBiZWdpbgppZiAoeCBtb2Qgej0wKSB0aGVuIHRlc3Q6PWZhbHNlOwplbmQ7CnByZW1pZXI6PXRlc3Q7IGVuZDsKCmJlZ2luIApyZWFkbG4oeCk7IGk6PTE7IHA6PTA7CnJlcGVhdCBpOj1pKzE7IHRlc3Q6PWZhbHNlOwppZiAocHJlbWllcihpKT10cnVlKSB0aGVuIGJlZ2luCmlmICh4IG1vZCBpPTApIHRoZW4gYmVnaW4KcDo9cCsxOwp2W3BdOj1pOwp4Oj14IGRpdiBpOwppOj1pLTE7CmVuZDsKZW5kOwp1bnRpbCAoaT54KTsKZm9yIGs6PTEgdG8gcC0xIGRvIGJlZ2luCmlmICh2W2tdPXZbaysxXSkgdGhlbiB0ZXN0Oj10cnVlOwogZW5kOyB3cml0ZWxuKHRlc3QpOwplbmQuCg==