#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+CiAKIGludCBtYXplKGludCBjcixpbnQgY2MsaW50IGVyLGludCBlYyl7CiAgICBpbnQgZG93bndheXM9MDsKICAgIGludCByaWdodHdheXM9MDsKICBpZihjcj09ZXImJmNjPT1lYykgcmV0dXJuIDE7CiAgIGlmKGNyPT1lcil7Ly9vbmx5IHJpZ2h0d2F5cyAKICAgICAgcmlnaHR3YXlzKz1tYXplKGNyLGNjKzEsZXIsZWMpOwogICB9CiAgIGlmKCBjYz09ZWMpey8vIG9ubHkgZG93bndheXMKICAgICAgIGRvd253YXlzKz1tYXplKGNyKzEsY2MsZXIsZWMpOwogICB9CiAgIGlmKGNyPGVyICYmIGNjPGVjKXsKICAgICAgIHJpZ2h0d2F5cys9IG1hemUoY3IsY2MrMSxlcixlYyk7CiAgICAgICBkb3dud2F5cyArPSBtYXplKGNyKzEsY2MsZXIsZWMpOwogICAgfSAKICAgICAgaW50IHRvdGFsd2F5cz0gcmlnaHR3YXlzKyBkb3dud2F5czsKICAgICAgIHJldHVybiB0b3RhbHdheXM7CiAgICB9CmludCBtYWluKHZvaWQpIHsKCWludCBuOwogICAgcHJpbnRmKCJFbnRlciB0aGUgcm93czogXG4iKTsKICAgIHNjYW5mKCIlZCIsJm4pOwogICAgaW50IG07CiAgICBwcmludGYoIkVudGVyIHRoZSBjb2x1bW5zOiBcbiIpOwogICAgc2NhbmYoIiVkIiwmbSk7CiAgICBpbnQgd2F5cyA9IG1hemUoMSwxLG4sbSk7CiAgICBwcmludGYoIiBhbnN3ZXIgaXMgJWQiLHdheXMpOwoJcmV0dXJuIDA7Cn0=