#B3972. 二进制

二进制

题目描述

在介绍十进制转二进制的篇目中,我们总会看到这样的方法:

  • 求出这个数字除以 22余数,然后将余数写在右侧,用商替换原来的数字;
  • 重复以上过程直到这个数字变为 00
  • 最后将右侧的所有余数倒序排列,得到的就是原数字的二进制形式。

小 S 也在学习二进制,不过她很懒,不想计算那么多次除法。于是她找到了你,希望你能为她写一个程序,帮助她得到上述过程中所有的余数

输入格式

一行,一个正整数 nn,表示她想要转成二进制的数字。

输出格式

输出若干行,每一行两个数字 xix_iyiy_i,表示第 ii 次除法得到的商和余数。你应该保证 yiy_i0011

样例 #1

样例输入 #1

9

样例输出 #1

4 1
2 0
1 0
0 1

样例 #2

样例输入 #2

22

样例输出 #2

11 0
5 1
2 1
1 0
0 1

样例 #3

样例输入 #3

1

样例输出 #3

0 1

提示

数据范围

对于前 30%30\% 的数据,保证 nn 为若干个 22 的乘积,且 1n1091\leq n\leq 10^9;对于另 30%30\% 的数据,保证除法最多只进行 33 次。

对于 100%100\% 的数据,保证 1n10181\leq n\leq 10^{18}