编程题
### 问题描述
有两位农夫,分别是农夫约翰($Farmer$ $John$)和他的宿敌农夫乔恩($Farmer$ $Nhoj$),他们在一个圆形的谷仓中进行游戏。谷仓中有 $N$ 个房间,第 $i$ 个房间初始时有 $a_i$ 头牛。游戏规则如下:
两位农夫始终在同一个房间。开始时,他们都在第一个房间。
如果当前房间中没有牛,轮到的农夫将输掉游戏。
否则,轮到的农夫选择一个整数 $P$,$P$ 必须是 1 或不超过当前房间中牛的数量的素数,然后从当前房间中移除 $P$ 头牛。
农夫轮流进行,约翰先开始。然后,两位农夫移到下一个房间,如果他们在第 $N$ 个房间,就移动到第一个房间。
请确定在双方都采取最优策略的情况下,哪位农夫会赢得游戏。
### 输入格式
输入包含多个测试用例。第一行包含一个整数 $T$ $(1\leq T\leq 1000)$,表示测试用例的数量。接下来是 $T$ 个测试用例,每个测试用例的格式如下:
第一行包含一个整数 $N$,表示谷仓中的房间数量。
第二行包含 $N$ 个整数 $a_i$,表示每个房间初始时的牛的数量。
### 输出格式
输出哪位农夫将赢得游戏,输出 $Farmer$ $John$ 或 $Farmer$ $Nhoj$。
### 样例输入
```
4
2 1 4 5
1 2
2 3
2 4
```
### 样例输出
```
3
3 2 1
4 2 2
2 1 1
```
### 评测数据规模
$ 1\leq N \leq 10^5 $,$1\leq a_i \leq 5 \times 10^6$。