垃圾佬和seventh正在玩取石子游戏。
他们的游戏规则如下:
桌上有n个石子,垃圾佬先取,seventh后取。由于他们对质数很感兴趣,所以每次必须取质数个石子。如果某一时刻某一方无法取出质数个石子,那么他就输了。
垃圾佬和seventh都很聪明,不管哪方存在一个可以必胜的最优策略,他们都会按照最优策略保证胜利。
垃圾佬想知道,对于给定的桌面上的石子数n,他究竟能不能取得胜利呢?
垃圾佬还想知道,当他确定自己会取得胜利时,不管seventh采用什么策略,他都至少能在多少步后取得胜利。(注意:垃圾佬取一次或者seventh取一次都应算做一步)
第一行有一个整数T,表示有T组测试数据。
接来下有T行,每行一个整数n,表示桌面上的石子数。(T<=10,0<=n<=20000)
输出T行
如果该种情形下,垃圾佬能取得胜利,输出他都至少能在多少步后取得胜利。否则输出 -1。
3 8 9 16
1 -1 3样例说明: 8个石子:垃圾佬取走7个石子,则桌面上剩下1个石子,即垃圾佬能在一步之后保证游戏胜利,所以输出 1。 9个石子:若垃圾佬取走2个,seventh会取走 7 个,剩下 0 个,垃圾佬输;若垃圾佬取走 3 个,seventh会取走 5 个,剩下 1 个,垃圾佬还是输。取走 5 个或者 7 个的情况同理可知。所以当桌上有9个石子时,不管垃圾佬怎么取,seventh都可以让垃圾佬输,输出 -1。 16个石子:垃圾佬可以保证在3步以内取得胜利。可以证明,为了在 3 步内取得胜利,垃圾佬第一步必须取7个石子。剩下9个石子之后,不管第二步seventh怎么取,垃圾佬取了第三步以后可以保证胜利,所以输出 3。