#include<iostream>
#include<string.h>
#include<vector>
using namespace std;

int a[11][11];
int flag[11][11];
vector<int> xMax;
vector<int> yMax;
int pMax;



void dfs(int maze[11][11],int ff[11][11],int x,int y,int p,int n,int m,vector<int> xPath,vector<int> yPath,int &maxP){

	if (p < 0){
		return;
	}

	if (x==0&&y==m-1){
		if (maxP < p){
			maxP = p;
			xMax = xPath;
			yMax = yPath;
		}
		return;
	}
	int xx[4] = {-1,1,0,0};
	int yy[4] = { 0, 0, -1, 1 };
	int price[4] = {3,0,1,1};
	int i;
	for (i = 0; i < 4;i++){
		int sx = x + xx[i];
		int sy = y + yy[i];
		if (sx >= 0 && sx < n&&sy >= 0 && sy < m&&!ff[sx][sy]&&maze[sx][sy]){
			
			ff[sx][sy] = 1;
			xPath.push_back(sx);
			yPath.push_back(sy);
			dfs(maze,ff,sx,sy,p-price[i],n,m,xPath,yPath,maxP);
			ff[sx][sy] = 0;
			xPath.pop_back();
			yPath.pop_back();
		}
	}


}

int main(){

	int n,m;
	while (cin>>n>>m>>pMax){
		
		memset(a,0,sizeof(a));
		memset(flag,0,sizeof(flag));
		int i, j;
		for (i = 0; i < n;i++){
			for (j = 0; j < m; j++)
			{
				int tmp;
				cin >> tmp; a[i][j]=tmp;
			}
		}
		flag[0][0] = 1;
		vector<int> xPath, yPath;
		xPath.push_back(0);
		yPath.push_back(0);
		int mm = -100;
		dfs(a,flag,0,0,pMax,n,m,xPath,yPath,mm);

		if (mm == -100){
			cout << "Can not escape!" << endl;
			continue;
		}
			
		for (i = 0; i < xMax.size(); i++){
		
			cout << "[" << xMax[i] << "," << yMax[i] << "]";
			if (i<xMax.size()-1)
				cout << ",";
		}
		cout << endl;
	
	}
	system("pause");
	return 0;
}
难得一次全部AC的笔试