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
38
39
40
41
42
43
44
45
46
47
48
49
#include <bits/stdc++.h>

using namespace std;

vector <int> graf[105];

int main()
{
     ios_base::sync_with_stdio(0);
     cin.tie(0);
     cout.tie(0);

     int k,w=1,n=100;
     cin>>k;
     cout<<"100\n";

     for(int i=1;i<n;i++)
          graf[i].push_back(i+1);

     while(k!=1)
     {
          if(k%2==0)
          {
               graf[w].push_back(w+2);
               w+=2;
               k/=2;
          }
          else
          {
               graf[w].push_back(n);
               w+=1;
               k--;
          }
     }

     for(int i=1;i<=100;i++)
     {
          if(graf[i].size()==2)
               cout<<graf[i][0]<<" "<<graf[i][1]<<"\n";
          else if(graf[i].size()==1)
               cout<<graf[i][0]<<" -1\n";
          else
               cout<<"-1 -1\n";
     }



     return 0;
}