#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;

int main(int argc,char *argv[]){
	ios::sync_with_stdio(0);cin.tie(0);
	ll sd=atoi(argv[1]);
	mt19937_64 rd(sd);
	auto rg=[&](ll l,ll r) -> ll {return l+rd()%(r-l+1);};

	int n=atoi(argv[2]);
	int m=atoi(argv[3]);
	int k=atoi(argv[4]);

	cout<<n<<' '<<m<<' '<<k<<'\n';

	vector<int> a(m+1);
	for(int i=1;i<=m;++i)cout<<(a[i]=rg(1,n))<<" \n"[i==m];

	vector<vector<int>> s(n+1);
	for(int i=m;i>=1;--i)s[a[i]].push_back(i);

	int x,y;
	for(int i=1;i<=k;++i){
		x=rg(1,m),y=rg(-n+1,n-1);
		if(a[x]+y<1)y=1-a[x];
		if(a[x]+y>n)y=n-a[x];
		cout<<x<<' '<<y<<endl;
		if(y){
			int t=a[x];
			for(int j=0;j<s[t].size();++j)if(s[t][j]==x){
				int k=j;
				while(j<s[t].size()){
					s[t+y].push_back(s[t][j]);
					a[s[t][j]]=t+y;
					++j;
				}
				s[t].resize(k);
				break;
			}
		}
	}
}