#include <bits/stdc++.h>
using namespace std;
bool t[100][100];
int x, a, b, n, m;
void search(int x, int y)
{
t[x][y] = 1;
if(x != 0)
{
if(!t[x-1][y]) search(x-1, y);
}
if(x < n)
{
if(!t[x+1][y]) search(x+1, y);
}
if(y < m)
{
if(!t[x][y+1]) search(x, y+1);
}
if(y != 0)
{
if(!t[x][y-1]) search(x, y-1);
}
}
int main()
{
cin>>n>>m;
for(int i = 0; i<n; i++)
{
for(int i = 0; i<m; i++)
{
cin>>x;
if(x == 2)
{
t[n][m] = 0;
a = n;
b = m;
}
else t[n][m] = x;
}
}
cout<<t[1][2]<<" ";
search(0, 0);
if(t[a][b] == 1) cout<<1;
else cout<<0;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpib29sIHRbMTAwXVsxMDBdOwppbnQgeCwgYSwgYiwgbiwgbTsKCnZvaWQgc2VhcmNoKGludCB4LCBpbnQgeSkKewogICAgdFt4XVt5XSA9IDE7CiAgICBpZih4ICE9IDApCiAgICB7CiAgICAgICAgaWYoIXRbeC0xXVt5XSkgc2VhcmNoKHgtMSwgeSk7CiAgICB9CiAgICBpZih4IDwgbikKICAgIHsKICAgICAgICBpZighdFt4KzFdW3ldKSBzZWFyY2goeCsxLCB5KTsKICAgIH0KICAgIGlmKHkgPCBtKSAKICAgIHsKICAgICAgICBpZighdFt4XVt5KzFdKSBzZWFyY2goeCwgeSsxKTsKICAgIH0KICAgIGlmKHkgIT0gMCkKICAgIHsKICAgICAgICBpZighdFt4XVt5LTFdKSBzZWFyY2goeCwgeS0xKTsKICAgIH0KfQoKaW50IG1haW4oKQp7CiAgICBjaW4+Pm4+Pm07CiAgICAKICAgIGZvcihpbnQgaSA9IDA7IGk8bjsgaSsrKQogICAgewogICAgICAgIGZvcihpbnQgaSA9IDA7IGk8bTsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgY2luPj54OwogICAgICAgICAgICBpZih4ID09IDIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHRbbl1bbV0gPSAwOwogICAgICAgICAgICAgICAgYSA9IG47CiAgICAgICAgICAgICAgICBiID0gbTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHRbbl1bbV0gPSB4OwogICAgICAgIH0KICAgIH0KICAgIGNvdXQ8PHRbMV1bMl08PCIgIjsKICAgIHNlYXJjaCgwLCAwKTsKICAgIAogICAgaWYodFthXVtiXSA9PSAxKSBjb3V0PDwxOwogICAgZWxzZSBjb3V0PDwwOwogICAgCiAgICByZXR1cm4gMDsKfQ==