1. const fi='';
2. fo='';
3. oo=3000000;
4. var k,t,i,j,tt:longint;
5. tam,n,res:qword;
6. f:text;
7. tmp:array[2..oo] of boolean;
8. ngto:array[1..oo] of longint;
9. d :longint;
10. function max(a,b:qword):qword;
11. begin
12. if a>b then exit(a) else exit(b);
13. end;
14. procedure xl;
15. var i,j :longint;
16. begin
17. for i:=1 to d-k+1 do
18. begin
19. tam :=1;
20. for j:=i to i+k-1 do
21. begin
22. tam := tam*ngto[j];
23. end;
24. if tam>n then break else res := max(res,tam);
25. end;
26. end;
27. procedure init;
28. begin
29. for i:=2 to trunc(sqrt(oo)) do
30. if tmp[i]=false then
31. begin
32. j:=i*i;
33. while j<=oo do
34. begin
35. tmp[j]:=true;
36. j:=j+i;
37. end;
38. end;
39. d:=0;
40. for i:=2 to oo do
41. if tmp[i]=false then begin inc(d); ngto[d]:=i; end;
42. j:=d;
43. end;
44. procedure nhap;
45. begin
46. assign(f,fi);reset(f);
47. assign(output,fo);rewrite(output);
49. for tt:=1 to t do
50. begin
52. res := 0;
53. xl;
54. if res=0 then writeln(-1) else writeln(res);
55. end;
56. close(f);close(output);
57. end;
58. begin
59. init;
60. nhap;
61. end.
Success #stdin #stdout 0.06s 4524KB
stdin
Standard input is empty
stdout
Standard output is empty