Bedao Mini Contest 17 - SUMSQUARE

View as PDF

Submit solution


Points: 0.20 (partial)
Time limit: 1.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Gần đây ~Mingle~ mới học xong về số chính phương và cậu tỏ ra vô cùng thích thú với những bài toán về số chính phương. Với một số nguyên ~k~, ~Mingle~ thắc mắc không biết rằng có tổng cộng bao nhiêu cách để biểu diễn ~k~ dưới dạng tổng bình phương của không quá hai số nguyên dương. Câu hỏi này khiến ~Mingle~ luôn chìm trong suy tư, đêm quên ăn, ngày quên ngủ.

Các bạn hãy giúp ~Mingle~ giải bài toán này để cậu sớm quay lại cuộc sống bình thường nhé.

Ví dụ :

  • Với ~k = 1~ thì kết quả sẽ là ~1~ .

  • Với ~k = 25~ thì kết quả sẽ là ~3~. Cụ thể là:

    • ~25 = 5^2~.

    • ~25 = 3^2 + 4^2~

    • ~25 = 4^2 + 3^2~

Input

  • Một dòng duy nhất gồm số tự nhiên ~k~ (~1 \le k \le 10^{12}~).

Output

  • Một dòng gồm đáp án của bài toán.

Subtask

  • ~30\%~ số test thỏa mãn ~1 \le k \le 10^{6}~.

  • ~70\%~ số test còn lại không có ràng buộc gì thêm.

Sample Input 1

25

Sample Output 1

3

Comments

Please read the guidelines before commenting.