Trong một lần đột nhập vào căn biệt thự của một nhân vật quan trọng, đặc vụ Anninh đã phát hiện một tờ giấy lạ nằm trong ngăn tủ. Trên đó chỉ có duy nhất một số nguyên N, cùng với dòng chữ viết tay như sau:
"Mật khẩu để mở két sắt là số lượng ước nguyên dương nhiều nhất của một số nguyên dương không vượt quá N."
Do thời gian hạn chế và N có thể rất lớn, Anninh không thể tính toán kịp. Anh quyết định gửi yêu cầu giải mã về cho trung tâm dữ liệu để xử lý.
Nhiệm vụ của đồng chí là: với một giá trị N được cung cấp, hãy xác định số lượng ước nguyên dương lớn nhất của bất kỳ số nguyên nào nằm trong đoạn từ 1 đến N (bao gồm cả N).
*Ví dụ * N =50 thì số 48 có 10 ước 1,2,3,4,6,8,12,16,24,48
Yêu cầu. Bạn không cần xác định số nào đạt được số ước này, chỉ cần in ra số lượng ước lớn nhất đó.
Dữ liệu vào: Vào từ thiết bị chuẩn có định dạng như sau:
- Dòng đầu tiên là một số nguyên T - số lượng bộ testcase ~(1 ≤ T ≤ 10^5)~.
- T dòng tiếp theo, mỗi dòng chứa một số nguyên N ~(1 ≤ N ≤ 10^{18})~.
Kết quả: Ghi ra thiết bị chuẩn, với mỗi testcase, in ra một dòng duy nhất là số lượng ước nguyên dương lớn nhất của một số bất kỳ sao cho số đó ≤ N.
Ví dụ:
Dữ liệu vào
2
50
99
Kết quả
10
12
Giải thích
- Test 1: số ≤ 50 có số lượng ước dương lớn nhất là 48, với 10 ước: 1, 2, 3, 4, 6, 8, 12, 16, 24, 48
- Test 2: số ≤ 99 có số lượng ước lớn nhất là 60, với 12 ước: 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60
Ràng buộc:
- Có 70% số test tương ứng với 70 điểm có ~1 ≤ N ≤ 10^7~
- Có 20% số test tương ứng với 20 điểm có ~1 ≤ N ≤ 10^9~
- Có 10% số test tương ứng với 10 điểm có ~1 ≤ N ≤ 10^{18}~
Comments