#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int mod=502630;
int f,t,s,n;
char c;
int ans;
int cnt;
struct node{
int f[60][60];
}E,x;
void clean(){
for(int i=0;i<=n;i++) E.f[i][i]=1;
}
node cheng(node a,node b){ //矩阵乘法
node ne;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
ne.f[i][j]=0;
for(int k=0;k<n;k++) ne.f[i][j]=(ne.f[i][j]+((long long)a.f[i][k]*b.f[k][j])%mod)%mod;
}
}
return ne;
}
int answer(){
node ne=x;
node ass=E;
int b=t;
while(b){ //矩阵求幂
if(b&1) ass=cheng(ass,ne);
b>>=1;
ne=cheng(ne,ne);
}
return ass.f[s][f];
}
int main(){
scanf("%d\n",&n);
cnt=n;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
scanf("%c",&c);
if(c>=‘0‘&&c<=‘9‘){
cnt=c-‘0‘;
for(int k=1;k<cnt;k++) x.f[n*(k-1)+i][n*k+i]=1; //拆点
x.f[n*(cnt-1)+i][j]=1;
}
}
scanf("\n");
}
n*=5; //最后n要乘5
scanf("%d%d%d",&s,&f,&t);
clean(); //定义单位矩阵
printf("%d\n",answer());
return 0;
}