14101: Кільцева комора-Circular Barn-USACO2022DecSilver


Відправити розв'язок

Бали: 100 (partial)
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
Brain****, C, C++, Java, Pascal, Python, v8js

Фермери Джон та Нхой грають у гру в круглій коморі. У цій коморі є \(N\) (\(1 \leq N \leq 10^5\)) кімнат, \(i\)-а кімната спочатку містить \(a_i\) корів (\(1 \ leq a_i \ leq 5 \ cdot 10 ^ 6 \)).

Гра така:

  • Обидва фермери завжди знаходяться в одній кімнаті. Після входу до кімнати кожен фермер робить рівно один хід. ФД ходить першим. Про фермера спочатку входять до кімнати \(1\).
  • Якщо в кімнаті 0 корів, то фермер програв, інакше фермер обирає ціле число \(P\), де \(P\) має бути або \(1\), або просте число і не більше, ніж кількість корів у коморі і видаляє \(P\) корів із поточної кімнати.
  • Після того, як обидва фермери зробили хід, обидва фермери переходять до наступної кімнати по колу. Тобто, якщо фермери перебувають у кімнаті \(i\), вони переміщаються до кімнати \(i+1\), а з кімнати \(N\) вони переміщуються до кімнати \(1\).

Визначте фермера, який виграє у цій грі, якщо обидва грають оптимально.

Формат вхідних даних

Вхід містить \(T\) підтестів. Перший рядок містить \(T\) (\( 1 \leq T \leq 1000 \)). Далі слідують \(T\) підтестів.

Кожний підтест починається з рядка, що містить \(N\), за яким слідує рядок, містить числа \(a_1,\dots,a_N\).

Гарантується, що сума всіх \(N\) не більше \(2\cdot 10^5\).

Формат вихідних даних

Для кожного підтесту виведіть хто виграє гру: тобто "Farmer John" або "Farmer Nhoj."

Приклад вхідних даних

5
1
4
1
9
2
2 3
2
7 10
3
4 9 4

Приклад вихідних даних

Farmer Nhoj
Farmer John
Farmer John
Farmer John
Farmer Nhoj

Для першого підтесту ФД може видалити \(1\), \(2\) або \(3\) корови з першої кімнати. Яке б число він не видалив, ФН може видалити корів, що залишилися, змусивши ФД програти, коли вони повернуться до першої кімнати.

Для другого підтесту, ФД може видалити \(5\) корів, залишивши ФН лише \(4\) корови. Тепер ФН може видалити \(1\), \(2\) або \(3\) корови, далі аналогічно першому підтесту.

Для третього і четвертого підтестів, ФД може відразу видалити всіх корів, змусивши програти ФН.

Для п'ятого підтесту ФД може видалити \(1\), \(2\) або \(3\) корови з першої кімнати, ФН, може видалити всіх, хто залишився, змусивши програти ФД, коли вони повернутися в цю кімнату.

ОЦІНЮВАННЯ:

  • У тестах 2-4 \(N=1\).
  • У тестах 1, 2, та 5-7 \(a_i\le 1000\).
  • У тестах 8-20 немає додаткових обмежень.

Коментарі

Ще немає коментарів.