#include<bits/stdc++.h>
#define deb(x) cout<<#x<<" "<<x<<endl;
#define print(arr,n) for(int i=0;i<n;++i) { cout<<arr[i]<<" "; } cout<<endl;
#define ub(x,el) upper_bound(x.begin(),x.end(),el) - x.begin()
#define lb(x,el) lower_bound(x.begin(),x.end(),el) - x.begin();
#define bs(x,el) binary_search(x.begin(),x.end(),el)
#define MOD 1000000007
#define endl "\n"
#define finish return 0
using namespace std;
typedef long long int ll;
ll mod(ll x) { return x%MOD; }
ll power(ll x,ll y, ll p) { ll res = 1; x = x % p; while (y > 0) { if (y & 1) res = (res*x) % p; y = y>>1; x = (x*x) % p;   } return res; } 
ll mod(ll num, ll den){ return mod(mod(num) * power(den,MOD-2,MOD)); }
int main()
{
	ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    ll lim = 1e+5;
    vector<ll> sum(lim);
    
	for(ll i=1;i<lim;++i)
    {
    	sum[i] = sum[i-1] + i;
	}
	ll count = 1;
	ll t;
	cin>>t;
	while(t--)
	{
		ll x;
		cin>>x;
		x--;
		cout<<"Case #"<<count<<": "<<endl;
		count++;
		
		cout<<1<<" "<<1<<endl;
		ll idx = upper_bound(sum.begin(),sum.end(),x) - sum.begin();
		--idx;
		
		for(ll i=1;i<=idx;++i) cout<<i+1<<" "<<2<<endl;
		ll left = x-sum[idx];
		while(left > 0)
		{
			cout<<idx+1<<" "<<1<<endl;
			--idx;
			--left;
		 } 
		 
	}
}