Trò chơi chia số

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1800 Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Ban đầu có số \(X\), hai người luân phiên chơi, mỗi lượt một người phải lựa chọn một trong hai thao tác sau:

  • Trừ \(X\) đi \(1\), \(X := X - 1\).
  • Chia \(X\) cho một ước \(d\) của \(X\)\(d > 1\)\(d < X\), \(X := \frac{X}{d}\).

Hai người luân phiên chơi, tức là lượt đầu tiên thì người thứ nhất chơi, lượt thứ hai thì người thứ hai chơi, lượt thứ ba thì người thứ nhất chơi, lượt thứ tư thì người thứ hai chơi, và cứ thế...

Sau lượt của người nào mà \(X = 1\) thì người đó thua cuộc.

Biết rằng cả hai người rất thông minh và đều chơi cách tối ưu nhất để không thua cuộc.

Cho \(q\) truy vấn, mỗi truy vấn cho một số \(X\). Hỏi rằng nếu ban đầu có số \(X\) thì người đi đầu hay người đi sau chắc chắn thắng.

Input

  • Dòng đầu tiên chứa một số nguyên dương \(q\) là số truy vấn.
  • \(q\) dòng tiếp theo, mỗi dòng chứa một số nguyên dương \(X\) tương ứng với một truy vấn.

Output

  • Gồm \(q\) dòng, dòng thứ \(i\) chứa câu trả lời của truy vấn thứ \(i\), là một xâu kí tự là First hoặc Second, tương ứng với người đi đầu hoặc người đi sau chắc chắn thắng.

Scoring

  • Subtask 1 (\(20\%\) số điểm): \(q \leq 10, X \leq 20\).
  • Subtask 2 (\(30\%\) số điểm): \(q \leq 50, X \leq 10^6\).
  • Subtask 3 (\(50\%\) số điểm): \(q \leq 50, X \leq 10^{10}\).

Example

Test 1

Input
3
8
9
10
Output
First
Second
First

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.