#include <vector>
class Robot {
    const int mod = 1000000007;
    vector<vector<int>> ways;
    int dfs(vector<vector<int>> map, int x, int y){
        if(ways[x][y] != -1) return ways[x][y];
        if(x==0 || y ==0) return 0;
        if(map[x-1][y-1] == 0 ) return 0;
        if(x==1 &&  y ==1) return 1;
        int count =(dfs(map, x-1, y) + dfs(map, x, y-1))%mod;
        ways[x][y] = count;
        return count;
    }
public:
    int countWays(vector<vector<int> > map, int x, int y) {
        // write code here
     ways =  vector<vector<int>>(x+1, vector<int>(y+1, -1));
     return dfs(map, x, y);
        
    }
};