#include<iostream>
using namespace std;

struct node{
	int m_x;
	int m_y;
};

int n,m,k;
node vk[3300*3300];

void r(){
	int t=0,x,y,tx;
	while(t<m){
		x=0;
		while(t-x>-1){
			vk[x*m+t-x].m_x=t+1;
			x++;
		}
		t++;
	}
	tx=1;
	while(tx<n){
		x=tx;
		y=m-1;
		while(y+x*m<n*m){
			vk[x*m+y].m_x=t+1;
			x++;
			y--;
		}
		tx++;
		t++;
	}
//  ------------------wxy
	t=tx=0;
	while(t<m){
		x=n-1;
		while(x-t-((n-2))>-1){
			vk[x*m+t-((n-2)-x)].m_y=t+1;
			x--;
		}
		t++;
	}
	tx=1;
	while(tx<n){
		x=tx;
		y=m-1;
		while(y+x*m<n*m){
			vk[x*m+y].m_x=t+1;
			x++;
			y--;
		}
		tx++;
		t++;
	}
}

int main(){
	cin>>n>>m>>k;
	for(int i=0;i<n*m;i++){
		vk[i].m_y=i%m;
		vk[i].m_x=i/m;
	}
	r();
	cout<<vk[k-1].m_x<<" "<<vk[k-1].m_y<<endl;
	return 0;
}