import std.stdio, std.string, std.conv, std.array, std.algorithm; import std.uni, std.range, std.math, std.container, std.datetime; import core.bitop, std.typetuple, std.typecons; immutable long MOD = 1_000_000_007; alias tie = TypeTuple; void main(){ auto N = readln.chomp.to!long; long p = 3; while(p^^2 <= N){ if(N % p == 0){ writeln(p); return; } ++p; } if(N == 4){ writeln(4); return; } writeln(N % 2 ? N : N / 2); } void readVars(T...)(auto ref T args){ auto line = readln.split; foreach(ref arg ; args){ arg = line.front.to!(typeof(arg)); line.popFront; } if(!line.empty){ throw new Exception("args num < input num"); } }