1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <bits/stdc++.h>
using namespace std;
bool bity[36];
long long potegi_2[36];

int main()
{
   ios_base::sync_with_stdio(0);
   int k; cin>>k;
   int m_pot = 0;
   for (int i=0;i<=31;i++)
   {
       if ( k & (1<<i) )
       {
           bity[i]=true; m_pot = max( m_pot, i );
       }
   }
   int  n = ( m_pot+1 )*2-1;
   cout<<n+1 <<endl;
   for (int i=1;i<n;i++)
   {
       if ( i%2 == 1 ) cout<<i+1<<" "<<i+2<<endl;
       else
       {
           cout<<i+1<<" ";
           if ( bity[i/2-1] ==true )  cout<<n+1<<endl;
           else cout<<-1<<endl;
       }
   }
   cout<<n+1<<" "<<-1<<endl;
   cout<<-1<<" "<<-1;




  return 0;
}