#include <stdio.h>
int maze(int cr,int cc,int er,int ec){
int downways=0;
int rightways=0;
if(cr==er&&cc==ec) return 1;
if(cr==er){//only rightways
rightways+=maze(cr,cc+1,er,ec);
}
if( cc==ec){// only downways
downways+=maze(cr+1,cc,er,ec);
}
if(cr<er && cc<ec){
rightways+= maze(cr,cc+1,er,ec);
downways += maze(cr+1,cc,er,ec);
}
int totalways= rightways+ downways;
return totalways;
}
int main(void) {
int n;
int m;
printf("Enter the columns: \n"); int ways = maze(1,1,n,m);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgogaW50IG1hemUoaW50IGNyLGludCBjYyxpbnQgZXIsaW50IGVjKXsKICAgIGludCBkb3dud2F5cz0wOwogICAgaW50IHJpZ2h0d2F5cz0wOwogIGlmKGNyPT1lciYmY2M9PWVjKSByZXR1cm4gMTsKICAgaWYoY3I9PWVyKXsvL29ubHkgcmlnaHR3YXlzIAogICAgICByaWdodHdheXMrPW1hemUoY3IsY2MrMSxlcixlYyk7CiAgIH0KICAgaWYoIGNjPT1lYyl7Ly8gb25seSBkb3dud2F5cwogICAgICAgZG93bndheXMrPW1hemUoY3IrMSxjYyxlcixlYyk7CiAgIH0KICAgaWYoY3I8ZXIgJiYgY2M8ZWMpewogICAgICAgcmlnaHR3YXlzKz0gbWF6ZShjcixjYysxLGVyLGVjKTsKICAgICAgIGRvd253YXlzICs9IG1hemUoY3IrMSxjYyxlcixlYyk7CiAgICB9IAogICAgICBpbnQgdG90YWx3YXlzPSByaWdodHdheXMrIGRvd253YXlzOwogICAgICAgcmV0dXJuIHRvdGFsd2F5czsKICAgIH0KaW50IG1haW4odm9pZCkgewoJaW50IG47CiAgICBwcmludGYoIkVudGVyIHRoZSByb3dzOiBcbiIpOwogICAgc2NhbmYoIiVkIiwmbik7CiAgICBpbnQgbTsKICAgIHByaW50ZigiRW50ZXIgdGhlIGNvbHVtbnM6IFxuIik7CiAgICBzY2FuZigiJWQiLCZtKTsKICAgIGludCB3YXlzID0gbWF6ZSgxLDEsbixtKTsKICAgIHByaW50ZigiIGFuc3dlciBpcyAlZCIsd2F5cyk7CglyZXR1cm4gMDsKfQo=