Trạng thái

Dãy Fibonacci được định nghĩa như sau:

\(F_k = k\) nếu \(0\le k\le 1\).

\(F_k = F_{k-1} + F_{k-2}\) nếu \(k > 1\).

Một vài số hạng đầu tiên của dãy: 0; 1; 1; 2; 3; 5; 8; 13; 21; 34; 55;.....

Yêu cầu

Viết chương trình kiểm tra xem một số nguyên có thể được viết thành tích của 2 số trong dãy Fibonacci hay không.

Dữ liệu

  • Dòng đầu tiên gồm 1 số nguyên \(t\ (1 \leq t \leq 10)\), là số số nguyên cần kiểm tra.
  • \(t\) dòng tiếp theo, dòng thứ \(i\) ghi số nguyên \(n_i\ (0 \leq n_i \leq 10^9)\).

Kết quả

Gồm \(t\) dòng, dòng thứ \(i\) ghi YES nếu \(n_i\) có thể phân tích thành tích của 2 số trong dãy Fibonacci, nếu không thì ghi NO.

Ví dụ

INPUT OUTPUT
5
5
4
12
11
10
YES
YES
NO
NO
YES
Thông tin
Thông tin bài tập
Gửi bài giải
Điểm
100
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
59 M
I/O
stdin -> stdout
Tác giả
Loại đề bài
Phương pháp: Quy hoạch động
Ngôn ngữ cho phép
C, C#, C++, Java, Pascal, Python, Text