Build the Pyramid

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 0.9s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Khánh đã học được một kỹ năng tính toán siêu việt. Vì thế, Khánh được các nhà khảo cổ trong một công trình phục dựng kim tự tháp mời đến để giúp đỡ họ.

Ban đầu, các nhà khảo cổ dự định dựng lại mô hình kim tự tháp giống như nguyên mẫu ở Ai Cập, tức là một hình chóp đều với đáy là hình vuông. Tuy nhiên, do thiếu kinh phí, họ chỉ có thể dựng được phần nền bên dưới của kim tự tháp. Cấu trúc này được xây bởi những viên gạch hình cầu xếp chồng lên nhau theo từng lớp một. Các nhà khảo cổ đã mua ~N~ viên gạch như thế. Để tiết kiệm chi phí tối đa, tất cả chúng phải được dùng để xây kim tự tháp. Khánh cần xác định xem có thể làm được điều đó hay không. Hơn nữa, để chứng minh tính thuyết phục cho kết quả của mình, họ yêu cầu khánh phải chỉ độ dài cạnh đáy của ~2~ kim tự tháp theo kiểu Ai Cập sao cho số viên gạch đã mua đúng bằng hiệu số viên gạch cần để xây ~2~ kim tự tháp đó. Trời ơi, sao mà khó quá đi :((

image

Input

  • Dòng ~1~: Ghi số lượng test ~T~ ~(1 \leq T \leq 1000)~
  • ~T~ dòng tiếp theo: Mỗi dòng ghi một số nguyên ~N~ ~(1 \leq N \leq 10^{18})~ là số viên gạch đã mua.

Output

Với mỗi test:

  • Dòng ~1~: Ghi 'YES' nếu có thể xây được hoặc 'NO' nếu không thể.
  • Dòng ~2~ (nếu 'YES'): Ghi ra hai ~2~ số không âm ~a, b~ ~(a > b)~ sao cho ~N~ đúng bằng hiệu của số viên gạch xây ~2~ kim tự tháp này. Nếu có nhiều đáp án, chọn đáp án sao cho chênh lệch giữa ~a~ và ~b~ là nhỏ nhất.

Sample Input

3
1
16
15

Sample Output

YES
1 0
YES
4 3
NO

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.