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
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int k;
	scanf("%d", &k);
	int poczatek = 1;
	int koniec = 100;
	printf("%d\n", 100);
	while(k>1)
	{
		if(k%2==0)
		{
			//dzielenie;
			printf("%d %d\n", poczatek+1, poczatek+2);
			printf("%d -1\n", poczatek+2);
			poczatek = poczatek+2;
			k/=2;
		}
		else
		{
			// odejmowanie
			printf("%d %d\n", poczatek+1, koniec);
			poczatek = poczatek+1;
			k--;
		}
	}
	while(poczatek!=koniec)
	{
		printf("%d -1\n", poczatek+1);
		poczatek++;
	}
	printf("-1 -1\n");
}
// operacja -1    dorob strzalke od poczatku do konca, od poczatku do poczatku+1, poczatek to teraz poczatek+1 
// operacja dzielenie zrob strzalki:
//     od poczatku do poczatku+1
//     od poczatku do poczatku +2
//     od poczatku+1 do poczatku+2
// poczatek to teraz poczatek+2