KernelCracker

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: 2500 (p) Thời gian: 6.5s Bộ nhớ: 1G Input: bàn phím Output: màn hình

KERNEL CRACKER

Trong khi kernel cracker uou đang bình yên vô sự với snxlgt_909, Prototype phát hiện ra một hệ thống fire wallproxy tinh vi được bảo vệ bởi \(\mathrm{N}\) cổng logic mã hóa, đánh số từ \(\mathrm{1}\) đến \(\mathrm{N}\). Nơi đây chứa thông tin tuyệt mật của uou - một kernel cracker khét tiếng. Biết rằng IP address của uou gắn liền với snxlgt_909 để tiện lợi cho việc cracking. Nhưng Prototype đã phát hiện ra lỗ hổng mã hoá. Prototype mở các cuộc tấn công bằng cặp cổng \((i, j)\) ứng liền để có thể bẻ gãy được proxyfire wall khiến uou lộ ví trí mà không bị phát hiện nếu tích chỉ số của hai cổng này \((i \times j)\) tạo thành một số chính phương. Nhằm chuẩn bị kịch bản tấn công tổng lực cho một hệ thống quy mô lớn có tới \(10^{18}\) cổng mã hoá và \(10^6\) firewall tiếp liền, hãy lập trình đếm xem có bao nhiêu cặp cổng logic \((i, j)\) mang lỗ hổng đối xứng này.

Vì để bẻ khoá quá khó, mà Prototype cần vượt qua \(10^6\) lần bẻ mới có thể biết được IP address của uou. Hãy giúp cậu ấy để khiến uou lộ vị trí nhé.

Yêu cầu: Với mỗi truy vấn \(N\), hãy đếm số cặp có thứ tự \((i, j)\) thỏa mãn \(1 ≤ i, j ≤ N\)\(i × j\) là một số chính phương.

Input

  • Dòng đầu chứa số nguyên dương \(\mathrm{Q}\) là số truy vấn
  • \(Q\) dòng tiếp theo mỗi dòng nhập vào một số nguyên dương \(\mathrm{N}\)

Output

  • Ghi ra thiết bị xuất chuẩn một số nguyên duy nhất là số cặp \((i, j)\) tìm được trong khoảng từ \(1\) đến \(\mathrm{N}\)

Example

Test 1

Input
1
4
Output
6
Note

Có 6 cặp thoả mãn là:
(1, 1); (1, 4); (2, 2); (3, 3); (4, 1); (4, 4);

Test 2

Input
2
67
112
Output
183
340

Ràng buộc

  • \(Q ≤ 10^6\)
  • \(N ≤ 10^{18}\)

Bình luận

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

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