#include<bits/stdc++.h>
using
namespace
std;
void
dfs(
char
inputchar[][2], string res,
int
i,
int
j,
int
R,
int
C)
{
if
(i == R)
{
cout << res <<
" "
;
return
;
}
res = res + (inputchar[i][j]);
for
(
int
k = 0; k < C ; k++)
{
dfs(inputchar, res, i + 1, k, R, C);
if
(i + 1 == R)
break
;
}
}
void
printPaths(
char
inputchar[][2],
int
R,
int
C)
{
for
(
int
i = 0; i < C; i++)
{
dfs(inputchar,
""
, 0, i, R, C);
cout<<endl;
}
}
int
main()
{
char
inputchar[][2] = {
{
'a'
,
'b'
},
{
'd'
,
'e'
}
};
int
R =
sizeof
(inputchar)/
sizeof
(inputchar[0]);
int
C =
sizeof
(inputchar[0])/
sizeof
(
char
);
printPaths(inputchar, R, C);
}