Problem
Giáo viên toán huyền thoại Yuri Petrovich đã nghĩ ra một trò chơi vui nhộn với những con số. Cụ thể, lấy một số nguyên tùy ý, anh ta dịch nó thành một hệ thống số nhị phân, nhận được một số chuỗi số không và số một, bắt đầu bằng một. (Ví dụ: số thập phân\(19_{10} = 1\cdot2^4+0\cdot2^3+0\cdot2^2+1\cdot2^1+1\cdot2^0 \ ) trong hệ nhị phân sẽ được viết là 10011 2.) Sau đó, giáo viên bắt đầu dịch chuyển các chữ số của số nhị phân thu được theo một chu kỳ (sao cho chữ số cuối cùng trở thành chữ số đầu tiên và tất cả các chữ số khác dịch chuyển sang phải một vị trí), viết ra chuỗi kết quả của số 0 và số 1 trong cột — ông nhận thấy rằng bất kể lựa chọn số ban đầu như thế nào, các chuỗi kết quả bắt đầu lặp lại từ một thời điểm nhất định. Và cuối cùng, Yuri Petrovich tìm ra số tối đa được viết ra và chuyển nó trở lại hệ thống số thập phân, coi số này là kết quả của các thao tác đã thực hiện. Vì vậy, đối với số 19, danh sách các dãy sẽ là:
10011
11001
11100
01110
00111
10011
…
và do đó, kết quả của trò chơi sẽ là một số \(1\cdot2^4+1\cdot2^3+1\cdot2^2+0\cdot2^1+0\cdot2^0 = 28_{ 10} \)
Vì trò chơi được phát minh với những con số ngày càng chiếm nhiều trí tưởng tượng của giáo viên, do đó khiến anh ấy mất tập trung khi làm việc với những học sinh rất có năng khiếu, nên bạn được yêu cầu viết một chương trình giúp Yuri Petrovich có được kết quả của trò chơi mà không cần tính toán thủ công tẻ nhạt.
Đầu vào:
Tệp đầu vào chứa một số nguyên duy nhất N (0<=N<=32767).
Đầu ra:
Chương trình của bạn sẽ in ra tệp đầu ra một số nguyên duy nhất bằng với kết quả của trò chơi.
Ví dụ
<đầu>
# |
Đầu vào |
Đầu ra |
điều>
1 |
1 |
1 |