Тиждень назад Денис здав на сайтi обласного факультативу з програмування свою першу програму, яка знаходила суму двох цiлих чисел...
З того часу багато води спливло в Черемошi i тепер Денис зовсiм iншого рiвня задачi здає... Остання вiдправка, правда, отримала вердикт: Time Limit :( Нiяк не може Денис здати задачу, де потрiбно визначити: чи можливо записати цiле число \(N\) у виглядi суми квадратiв двох цiлих чисел.
Допоможiть Денису отримати свiй Accepted - напишiть програму, яка дасть вiдповiдь на це запитання.
Формат вхідних даних
Перший рядок мiстить цiле число \(t\) \((1 \le t \le 100)\) - кiлькiсть тестiв.
Наступнi \(t\) рядкiв мiстять тести: одне цiле число \(N\) \((0 \le N \le 10^{12} )\).
Формат вихідних даних
Для кожного тесту вивести \(Yes\), якщо дане число можна записати у виглядi суми квадратiв цiлих чисел або \(No\) - в iншому випадку.
Приклад вхідних даних
6
1
2
7
9
17
27
Приклад вихідних даних
Yes
Yes
No
Yes
Yes
No
Коментарі