Gần đây Vova đã tìm thấy n cái kẹo. Anh ta nhớ rằng anh ta đã mua x cái kẹo trong ngày thứ nhất, 2x cái kẹo trong ngày thứ hai, 4x cái kẹo trong ngày thứ ba,…, 2k-1x cái kẹo trong ngày thứ k. Nhưng có một vấn đề: Vova không nhớ x hay k nhưng anh ta chắc chắn rằng x và k là các số nguyên dương và k > 1. Hãy giúp Vova tìm số nguyên dương x và k > 1 để x + 2x + 4x + ⋯ + 2k − 1x = n (*). Dữ liệu vào · Dòng đầu tiên chứa số nguyên dương t (1 ≤ t ≤ 104) · t dòng tiếp theo, mỗi dòng chứa số nguyên dương n (1 ≤ n ≤ 109) là số lượng kẹo mà Vova tìm thấy, nó luôn đảm bảo rằng tìm được x và k thỏa mãn biểu thức (*). Kết quả ra · t dòng mỗi dòng ghi ra cặp số nguyên dương x và k tìm được Ví dụ: INPUT OUTPUT 5 3 6 7 21 28 Output 1 2 2 2 1 3 7 2 4 3 Ràng buộc · Subtask1: 70% số test tương ứng với số điểm có 1 ≤ n ≤ 1000 · Subtask2: 30% số test tương ứng với số điểm có 1 ≤ n ≤ 109 Help me

Các câu hỏi liên quan