이항계수는 서로 다른 $n$개의 물건 중에서 순서를 생각하지 않고 $k$개를 고르는 조합의 수이며, 다음과 같이 정의된다.
$$\binom{n}{k} = \frac{n!}{k!,(n-k)!} \quad (0 \le k \le n)$$
두 사람이 이항계수 맞히기 게임을 한다. 한 사람이 정수 $m$을 말하면, 다른 사람은 $\binom{n}{k} = m$이 되는 정수 쌍 $(n, k)$를 모두 찾아 답한다. 예를 들어 $m = 15$이면 $\binom{6}{2}$, $\binom{6}{4}$, $\binom{15}{1}$, $\binom{15}{14}$가 모두 $15$이므로 $(6, 2)$, $(6, 4)$, $(15, 1)$, $(15, 14)$가 답이 된다.
정수 $m$이 주어질 때, $\binom{n}{k} = m$을 만족하는 모든 쌍 $(n, k)$를 찾는 프로그램을 작성하여라. 입력으로 주어지는 $m$에 대해 조건을 만족하는 이항계수는 적어도 하나 존재한다.
첫째 줄에 정수 $m$이 주어진다. ($2 \le m \le 10^{15}$)
첫째 줄에 $\binom{n}{k} = m$을 만족하는 쌍 $(n, k)$의 개수를 출력한다. 둘째 줄부터 한 줄에 하나씩 $n$과 $k$를 공백으로 구분하여 출력한다. 출력 순서는 $n$이 증가하는 순서로 하고, $n$이 같으면 $k$가 증가하는 순서로 한다.