#include using namespace std; using ll=long long; using pii=pair; #define all(a) a.begin(),a.end() #define pb push_back #define sz(a) ((int)a.size()) const int maxn=205,mod=1000000007; int add(int& x, int y){x+=y; if(x>=mod) x-=mod; return x;} int n,m,dp[maxn][maxn][maxn]; char a[maxn][maxn],b[maxn][maxn]; bool valid(int x, int y){return x>=0&&x=0&&y> n >> m; int k=(n+m)/2; for(int i=0; i> a[i][j],b[n-1-i][m-1-j]=a[i][j]; dp[0][0][0]=1; for(int i=0; i