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