Problem Statement
Each point in the vertical plane has two coordinates: the x-coordinate is the horizontal distance from the left end of the spaceport, and the y-coordinate is the altitude above the spaceport. Points for with both coordinates are integers are called grid points.
The rocket has to be launched from a grid point on the spaceport. Moreover, after the launch the rocket must send exactly K signals. A signal can only be sent when the rocket is at a grid point above the spaceport, and its altitude does not exceed H.
Formally: The rocket starts from one of the points (x,0), where 0 <= x <= L and x is an integer. The rocket may send a signal if it is at one of the points (x,y), where 0 <= x <= L, 0 <= y <= H, and x and y are both integers. The rocket may only send at most one signal at each grid point it passes through.

The picture above shows two different test cases. The grid on the left corresponds to L=9, H=7, and K=2. Each of the six colors shows one pair of signals you could observe during the launch. The small grids on the right show all four possibilities for L=1, H=1, and K=2.
You are given the
Definition
- Class:
- Spacetsk
- Method:
- countsets
- Parameters:
- int, int, int
- Returns:
- int
- Method signature:
- int countsets(int L, int H, int K)
- (be sure your method is public)
Constraints
- L will be between 1 and 2000, inclusive.
- H will be between 1 and 2000, inclusive.
- K will be between 1 and 2000, inclusive.
Examples
1
1
2
Returns: 4
Example from the statement.
1
1
1
Returns: 4
2
2
1
Returns: 9
2
2
2
Returns: 23
10
8
6
Returns: 1502
2000
2000
1000
Returns: 151877339
2000
2000
2000
Returns: 4008005
1
2000
2000
Returns: 4002
2000
1
2000
Returns: 0
1
1
2000
Returns: 0
2000
2000
1
Returns: 4004001
1
2000
1
Returns: 4002
2000
1
1
Returns: 4002
5
5
3
Returns: 202
2000
2000
314
Returns: 697236322
2000
2000
373
Returns: 524773139
2000
2000
374
Returns: 90861865
2000
2000
348
Returns: 133105885
2000
2000
1602
Returns: 547379130
2000
2000
530
Returns: 468926091
2000
2000
139
Returns: 226608514
2000
2000
784
Returns: 834860813
2000
2000
1702
Returns: 539949376
2000
2000
1560
Returns: 471514789
1867
1090
1377
Returns: 0
962
724
1919
Returns: 0
1393
466
1482
Returns: 0
1830
1428
1131
Returns: 233464949
1870
652
1418
Returns: 0
1378
1494
271
Returns: 509157650
1212
876
1990
Returns: 0
1413
1100
1790
Returns: 0
1410
1319
473
Returns: 759489792
751
1729
1477
Returns: 587260833
743
758
38
Returns: 175069635
1741
1698
54
Returns: 359322791
1538
699
19
Returns: 110941280
121
129
44
Returns: 277897384
1289
854
52
Returns: 393053037
561
394
20
Returns: 786097180
4
557
83
Returns: 37451909
1949
1609
86
Returns: 891710326
895
271
15
Returns: 643898239
89
1985
43
Returns: 364811797
1
1
2
Returns: 4
1
1
1
Returns: 4
1
2
2
Returns: 10
1
3
1
Returns: 8
1
4
4
Returns: 10
1
5
4
Returns: 30
2
1
1
Returns: 6
2
2
1
Returns: 9
2
3
3
Returns: 14
2
4
4
Returns: 15
2
5
4
Returns: 45
3
1
1
Returns: 8
3
2
1
Returns: 12
3
3
1
Returns: 16
3
4
2
Returns: 100
3
5
5
Returns: 24
4
1
1
Returns: 10
4
2
1
Returns: 15
4
3
2
Returns: 106
4
4
3
Returns: 88
4
5
4
Returns: 87
5
1
1
Returns: 12
5
2
2
Returns: 90
5
3
1
Returns: 24
5
4
1
Returns: 30
5
5
1
Returns: 36
1998
2000
2
Returns: 746070084
1990
1991
3
Returns: 896157189
2000
1998
4
Returns: 264942267
1999
1997
5
Returns: 306008222
1990
1994
6
Returns: 309815717
1995
1999
7
Returns: 664934527
1991
1999
8
Returns: 740213095
1998
1993
9
Returns: 81009664
1996
1998
10
Returns: 30757729
1991
1990
11
Returns: 14560881
1995
1995
12
Returns: 586486438
2000
1991
13
Returns: 10635526
1997
1999
14
Returns: 224456032
1990
1998
15
Returns: 107528861
1992
1991
16
Returns: 404514335
1992
1992
17
Returns: 135572620
1999
1996
18
Returns: 682532160
1997
1999
19
Returns: 588574456
2000
1992
20
Returns: 676778405
2000
2000
7
Returns: 362865718
2000
2000
15
Returns: 273697280
2000
2000
3
Returns: 703376456
2000
2000
17
Returns: 304227118
2000
2000
100
Returns: 371115391
1231
1456
54
Returns: 884788862
2000
2000
10
Returns: 770655607
2000
2000
5
Returns: 515716267
2000
2000
2
Returns: 827908596
2000
2000
32
Returns: 987308232
2000
2000
13
Returns: 846997