from
collections
import
defaultdict
visited
=
defaultdict(
lambda
:
False
)
numWays
=
defaultdict(
lambda
:
0
)
def
countNumOfWays(a, m, prev):
if
a
=
=
0
:
return
1
elif
a >
0
and
m
=
=
0
:
return
0
elif
visited[(a, m, prev)]
=
=
True
:
return
numWays[(a, m, prev)]
else
:
visited[(a, m, prev)]
=
True
for
i
in
range
(a,
-
1
,
-
1
):
if
i < prev:
numWays[(a, m, prev)]
+
=
countNumOfWays(a
-
i, m
-
1
, i)
return
numWays[(a, m, prev)]
a, m, MAX_CONST
=
7
,
5
,
10
*
*
5
print
(countNumOfWays(a, m, MAX_CONST))