// Source: https://usaco.guide/general/io
#include <bits/stdc++.h>
using namespace std;
int main() {
#define int long long
int n;cin>>n;
vector<int> kettohatvany;
int x=1;
for(int i=0;i<70;i++){
kettohatvany.push_back(x);
x*=2;
}
while(n--){
int y;cin>>y;
if(y==1){
cout<<0<<'\n';
}
int z=0;
for(int i=0;kettohatvany[i]<y;i++){
if(kettohatvany[i+1]>=y){
z=i+1;
break;
}
}
// cout<<z<<'\n'<<endl;
int h=kettohatvany[z]-y;
cout<<z+1<<'\n';
// cout<<"Ez itt h"<<h<<'\n';
h=h<<1;
int hhh=1;
for(int i=z;i>=0;i--){
// cout<<(1&(h>>i))<<' ';
if(1&(h>>i)){
cout<<2<<' '<<hhh<<'\n';
}else{
cout<<1<<' '<<hhh<<'\n';
}
hhh++;
}
}
}
/*
1 1 1
1 1 1
2 2 2
4 4 3
8 7 6
16 15 13
29
1 1 1 3 6
*/| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 10/10 | ||||||
| 1 | Elfogadva | 1ms | 316 KiB | ||||
| subtask2 | 10/10 | ||||||
| 1 | Elfogadva | 1ms | 316 KiB | ||||
| subtask3 | 10/10 | ||||||
| 1 | Elfogadva | 4ms | 316 KiB | ||||
| subtask4 | 10/10 | ||||||
| 1 | Elfogadva | 4ms | 316 KiB | ||||
| subtask5 | 10/10 | ||||||
| 1 | Elfogadva | 6ms | 316 KiB | ||||
| subtask6 | 10/10 | ||||||
| 1 | Elfogadva | 8ms | 316 KiB | ||||
| subtask7 | 10/10 | ||||||
| 1 | Elfogadva | 8ms | 564 KiB | ||||
| subtask8 | 10/10 | ||||||
| 1 | Elfogadva | 13ms | 564 KiB | ||||
| subtask9 | 20/20 | ||||||
| 1 | Elfogadva | 13ms | 564 KiB | ||||
| 2 | Elfogadva | 13ms | 564 KiB | ||||