Problem Statement
- A and B consist of exactly n characters each.
- Each character in A and B is one of the first k lowercase letters of the English alphabet.
- There exists a string C such that A + C = C + B. Here, + denotes string concatenation.
You are given the
Definition
- Class:
- PairsOfStrings
- Method:
- getNumber
- Parameters:
- int, int
- Returns:
- int
- Method signature:
- int getNumber(int n, int k)
- (be sure your method is public)
Constraints
- n will be between 1 and 1,000,000,000, inclusive.
- k will be between 1 and 26, inclusive.
Examples
2
2
Returns: 6
The following 6 pairs satisfy the conditions: ("aa", "aa"), ("ab", "ab"), ("ab", "ba"), ("ba", "ab"), ("ba", "ba"), ("bb", "bb").
3
2
Returns: 20
3
4
Returns: 184
6
2
Returns: 348
100
26
Returns: 46519912
17222625
19
Returns: 735966134
1
1
Returns: 1
1
26
Returns: 26
1000000000
1
Returns: 1
1000000000
26
Returns: 985305715
4
26
Returns: 1826526
5
4
Returns: 5104
6
6
Returns: 279156
7
12
Returns: 250822584
8
2
Returns: 1974
9
22
Returns: 422820141
10
6
Returns: 604622616
223092870
11
Returns: 466864729
536870912
20
Returns: 941385833
931170240
2
Returns: 527771224
994593600
10
Returns: 748471925
821620800
10
Returns: 505003468
735134400
7
Returns: 584595209
423259200
2
Returns: 905168182
810810000
26
Returns: 242009274
761866560
15
Returns: 279736057
892371480
22
Returns: 729759571
771891120
25
Returns: 994737411
712514880
14
Returns: 773485607
918918000
16
Returns: 734942331
614839680
14
Returns: 454574033
726818400
10
Returns: 644537914
520248960
19
Returns: 56012507
701719200
12
Returns: 211276037
367567200
17
Returns: 510812738
867081600
21
Returns: 853927699
846518400
13
Returns: 311496417
665121600
19
Returns: 804773476
726818400
19
Returns: 737879210
504504000
5
Returns: 857830939
383423040
13
Returns: 175855821
973304640
15
Returns: 763065207
933055200
13
Returns: 451878864
7777648
14
Returns: 876973114
7777664
20
Returns: 465252281
7777672
2
Returns: 655962421
7777680
25
Returns: 884856317
7777692
25
Returns: 102655972
7777701
7
Returns: 178179588
7777704
9
Returns: 286971495
7777710
11
Returns: 841368299
7777712
17
Returns: 282969779
7777728
20
Returns: 3756897
7777734
16
Returns: 330367137
7777749
3
Returns: 792200831
7777752
25
Returns: 22971734
7777755
2
Returns: 2020037
7777760
12
Returns: 505698493
7777764
10
Returns: 390443358
7777768
7
Returns: 533996426
7777769
20
Returns: 758045909
7777770
17
Returns: 772935583
7777772
5
Returns: 617164531
7777773
26
Returns: 850737529
7777774
6
Returns: 953412326
7777775
4
Returns: 572779519
7777776
13
Returns: 864607934
7777777
19
Returns: 399049770
999999888
7
Returns: 203603854
999999900
25
Returns: 96389506
999999904
21
Returns: 43252664
999999918
2
Returns: 678059470
999999928
13
Returns: 354576628
999999936
15
Returns: 19704722
999999937
15
Returns: 694990426
999999960
26
Returns: 90304299
999999963
13
Returns: 578307836
999999966
7
Returns: 889266359
999999968
21
Returns: 627621985
999999972
12
Returns: 648822361
999999976
23
Returns: 890423074
999999980
11
Returns: 578419918
999999981
21
Returns: 758788190
999999982
17
Returns: 617107093
999999984
19
Returns: 14851125
999999988
9
Returns: 808634925
999999990
4
Returns: 558071600
999999991
13
Returns: 953508215
999999992
4
Returns: 668462794
999999995
3
Returns: 654798544
999999996
20
Returns: 27752797
999999998
6
Returns: 92594881
999999999
10
Returns: 108768464
735134400
26
Returns: 398967076
999999999
26
Returns: 23445054