Problem Statement
The card game War is usually played with 52 cards. Alice and Bob enjoy the game so much that they have modified it to use N cards, and they have changed the rules significantly. The rules of their game are as follows:
The cards are numbered from 0 to N-1. At the beginning of the game, each of the N cards is assigned to either Alice or Bob with equal probability. The choices are made independently of each other and there is no guarantee that the players will receive the same number of cards.
The game consists of a series of steps. In each step, a pair of cards is selected uniformly at random from all possible pairs that consist of two distinct cards. The owner of the lower-numbered card becomes the owner of both cards in the pair. (If that player already owned both cards, nothing changes, but it still counts as a step.)
The game ends as soon as all cards are owned by the same player. Note that the game can end without any steps if all cards are initially assigned to the same player.
Carol watches Alice and Bob play the game. She likes peas, so she has invented the following rules for herself: Before the beginning of the game Carol chooses a specific state, i.e., a specific way cards are distributed between Alice and Bob. At the beginning of the game and also after each step, if the current state is Carol's chosen state, she eats a pea.
You are given Carol's chosen state as a
We are interested in the expected number of peas Carol will eat during a game. This number can always be written as p / q, where p and q are positive coprime integers. Let X be an integer such that X * q is congruent to p, modulo 1,000,000,007. Return the value (X mod 1,000,000,007).
Definition
- Class:
- WarAndPeas
- Method:
- expectedPeas
- Parameters:
- String
- Returns:
- int
- Method signature:
- int expectedPeas(String state)
- (be sure your method is public)
Notes
- It can be proved that for the given constraints the return value always exists and it is unique.
Constraints
- N will be between 2 and 1000, inclusive.
- The length of state will be exactly N.
- Each character of state will be 'A' or 'B'.
Examples
"AB"
Returns: 250000002
The game will never be in Carol's chosen state after a step. Therefore, Carol will only eat a single pea if the initial state of the game is her chosen state. This happens with probability 1 / 4, hence the expected number of peas Carol will eat is also 1 / 4. The correct return value is 250,000,002 because (4 * 250,000,002) mod 1,000,000,007 = 1.
"BAB"
Returns: 375000003
The expected number of peas eaten by Carol is 3 / 8. The correct return value is 375,000,003 because (375,000,003 * 8) mod 1,000,000,007 = 3.
"AABBBBB"
Returns: 973437507
Here the expected number of peas eaten by Carol is 119 / 640.
"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"
Returns: 500000004
In this test case the expected number of peas eaten by Carol is 1 / 2.
"BABABBABAAABABBBBABABBABAABAAABAABAAAABBBBBBABBBBAB"
Returns: 330545639
For this state Carol is expected to eat 3095183339246779 / 13989277223419852125116563456 peas.
"BB"
Returns: 500000004
"AAA"
Returns: 500000004
"BBBB"
Returns: 500000004
"BBBBB"
Returns: 500000004
"AABABB"
Returns: 546875004
"AAAAAAA"
Returns: 500000004
"AAABAABB"
Returns: 606510421
"BBBBBABAA"
Returns: 113002233
"AABBABBABB"
Returns: 82240514
"ABBBBABBAAB"
Returns: 748558413
"BAABBABAAAABBABBAABBBABABBAABBABBAABBAABABABBBBABBABBABABBBAABBBAABABABAABBABABBBBABBBBAABABBABAABABAABAABBBBAABBBABBABAABABBAABBBBBBBBAABBAAABABBAABABBAAAABBBBBAABBBBBAABBBABBBBAAABAABAABBBAABBBBABBBABAABABAABBBBAABBBBAABBAABABBBABABBABBABABBABBBBBBBAABAAAABBBBBAABAABAABBAABBABABABBBBAABAAABBBBBBBBBAABBABAABABBBBBBBBBAABABBAABBBAABBBBABABAABBABBABAABABAABBAABBABBBABBBBABBBBBBABBABABAABBBBABBBBBABABBABBBAAAAAAABBBBAABABABABAABABBBBBAAAAABBBBBBAAAABBBBBBBBBABBBBAABBABBBBBBAAABAAAAABBABBBBBBBBBBBABABBBBAAAABABBABBAABABBBBBBBBBAABBBABBBAABBAABBBBBAAABBBBBBBABBABBAABBBBBBABBABBBBBAABBBABAABAAAABBABBABBBBAABBBBAABABBAAABBBBBABBBAABBBBBABBAAABBABBBBBBBBBBBBABBBBBBBBAABBBBBBBBBABBABBABABABBBBBBBBBBABAABBBABBBBAABAABAAAABBBABABBBABABBBBBBABBBABBBBBBBBBBAAABBABABBBBBBABAABBABABBABBBABABAABABBBBBABBAABBAAAABABAAAABBBBAAAABAABAABBBBBBBBBABBABBBAAABAAABABBABBBBABABBBBBBBABBBABBBABBBBBBAABBBBBBAABABBBABBBAABBBBBBBBBBABBABABABBBBBBABABAABABBBBBABBBBABBBBBAABABBBAABBBBBBBABBABBBAABAAABBABBBABBBBBBBBB"
Returns: 84346116
"BBBABBBABBBBBBBABBABBBBBABBBBBBBBBBBBABBBBBBBBABBBABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBABBBBABAABBBABBBBBBABBBBBABBBBBABABBBBBAABBBBAABBABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAABBBBBBBBBABBBBBBABBBBAABBABBAABBBBBBBBBBABABBBBBBABBBBBBBBBBBBBBABABBBBBBBBBBBBAAABBBBAABBBBBBABBABBBBBABBBABBBBBBBBBBBBABBABBBBAABBBBABBBBBBABBBBBABBBBBBABBBBBBBABBABBABBBBBBBBBBBBBBBBBBBBBBBBBABBBBBBBBBBABBBBBBBBBBBBBBBBBBBBBBBBABBBABBBBBBABBBBBABBBBBBBBBABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBABBBBBBBBABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBABBBBABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBABBBBBBBABBABBBBBBBBBBBBBBBBBABABBBBBBBBBBBBABBBBBBBBBABBBBBBBBBBBBBBABBBABBABBBBABBBABBBBBBBBBABBABBBBBBBBBBBBBABBBBBBBABBBBBBBBBBBBBBBABBBBBBBBBBBBBBBBBBBABBBBBBBBBBBBBABBBABABBBBBBABBABBBBBBBBABBBABBBBABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBABBBBBBBBBBBBBBBBBBBBBABBBBBBABBBBBBBBBBBABBBBBBBBBBBBBBBBBBBBBBBBBABAABBBBBBBBBBBBBBBBBBBBBBBBBBBBABBBBABBBBBBBBBBBBBBBABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBABBBBBBBBBABBBBBBBBBBBBBBBBABAABBBBAB"
Returns: 908927496
"BABAAAABABBBBBABAABAABBBBBBAABABABBBBAABAAABABBBBAAABABAABBAAABBBBBAAABBBBAABAAAAAAAAAABBABBABAAAAABBAABBAAABBABBBBABBAABABABAABABBBABBBBAAAAAABBBAABBBBBBABBAABBBAAABBABBBAAAAABBABAABBBBBABBBBBABABBABBBBABABBAABBBAABBBBAABBAAABABABBBBAAAABBBBBABBAAABAABABBABAAAABABAAABBBBBAAAABABBBABBBABAAABAAAABBBABABAAAAAAABBBAAAAABABBAAAABBBBABBABBBBAAAABBBBAAABBAABAAABBBBBBAAABBAAAAABAABBBAABBAAAABABAAAAAABABBBBABAAAABAABBABAABAABBABAABBBABBABBBBABAABBABABBABBABBAAABAABBABABABAAAABBBBBBABBABAAAABAABAABBBABBBABAABAABBABABBBBBAAABBBBBABBAABABABAAAAABBAAABABBABBBBABAAABAABBBBAABAABBAABBBABABBBBABAABAAABBBBBBABABBAABAABAAAAAABBBBAABBABBAAAABABABAABBABBBBBBAABAAABBBABBBABBABABABBBABABABAAABBBABBBBABBBBBABABABAAABBBAABABBBBAABBBABBBBABBABBBBBABBABBBAABBAAAAABBABBABAABBBAAAAAAABBBABABAABABBAAAABABBBBBBBAAAABAABBAAABBBABBBBABBBBBBABABBBBABAABBBAABBABABABBABAAABBAABBBBAAABABABAAAAAABBBAABABAABBAABABABBBBAAAAAABBBBAAAABAAABBABABABAABBBABBABABBABBABAABBABBBAAAAABBBABBABBBABABABBBBABBBAAABBABBAAABAAAAABBAABAAB"
Returns: 787327381
"BAABBABBAABBBABBBAABBABBABABAABBAABAAAAAAABBBAAAABAAABABBBBABBBBBBBAABBBBAABABABBBBBABBBAAABABBAABBBAAAABBAABABBABABBAAABBBAABABAABABBAAAAABBBABBAABBBBBBABABABBBAABABBBBABBBAABBBBBAABABABBABABBBAABBBBAABBBABBBAAABBBAABBBBBBABBBBABBABABBBAABBBBBAABBAABBBBBBBBBBAABBBBABBBAABBBABAAABBBBBABAABBBBBBABABBAABABBABBABBBBBBBBBBAAAABBBABBBAABBABBAABBBBBBABAAABBAABBAABABBBABBBABBABABBBBABABAAABABBABBAAABABABBBBABBBAAABBBBAABBAAAAAABBBBABAAAAAAABABBABBABABABBBABABBABBAABAABBAAAABBAABBBABBABBBABAAAAABBBBBBABABABABBABABABBBAABBBAABBAAAABABBABAABBBBBBABBBABBBBAABBBBABBBBAAAAABBBABAAABABBAABBAABBABBAAAAAABAABBBBBBAABBBAAABBBBBBBBBABBBBABAABBBBABABABBABBABBAAAAABAABABAABBBBBBBBBAABBAAAABBBABBABAABBAAABBBAAABABBBBABBBAABAABAAAABABBAAABABAAAAAAAABBBBBBBBBAAAAABBBBABBAAABBAABBAABABBABBABBAABABABABBABAAABBABBBABAABBBAAAABABABAABBAABBBABABBABABBBBBABABAABBAAAABBABABBAAAAABAAABBBABBAAAABAABBABBABAAABBBBABAAABBBABBABABBAAAABABAABABBABBABABABABABABBAAAAABAABABBBBAABAABBABBBABBABBABBBBABBBAAAAABABBBAABBABBABAAA"
Returns: 805280100
"BBABBBBABBBBBBBBABAABABABBBABBBBBABAAABBBBBBBBBBBBBBAAAAAABBBBBABBBABBBBABAABAABAAABBBBBBBABAAAABABBBBABAAABBBAABBBBAABBBBBBBBBBAABBAABBBABBBBBBABABBABBBBBBBBBBBAABAABBABBBABBABABBBABABBBBBBABBBAABABBBAAABBAABABAABBABBBBABBBBBABABBABBBBBABBBBBABBABBBBBBBBBABBBAAAABBBBBBBABBBABBBABABBBBAAAAABBBBABBBAAABBBBBBBAAABABBBABBBBBBBBBAABBBBAABBABABABBBBBABBBBBAABABAAABBABABAABBABBABBBBBAAAABBBBBBABBBBBBBABBABBBBABBABBBABBABAAABBAAABBBABBBBBBBBABABBBABBABABBBBBBABAABABABABBBBBABBABBBBAABBBBBBBBABABBABBBBBABBAAAAAABBAABAABBBBBBBBBBBAAAAABABABABABBBBBABBBAAAABBABAABBBABBBABBBBBBBAABABBABBABBBBBBABBBAABBAAABABBBBBBBBBBBBBBABBAABAABBBABBBBABBABBAABABBABAABBBBBAABBBBBBBABBBABAABBBBBBBABBBBBBBABBABAABBAABBABAABBBBABBBABBBBAABBABBBABBBBABBBBBABBAABBBABBABABBBBBBBABBBBABBBBBBBBBBABBABBBAABBBBABBBBBBBBABABBBABBAAAAABBABBBBABAABABBBABBBABBABAAABBABABABAABBBBABBBBAABAABABBABABBAABABAAAABBBBBAAABBBBBABBBBABBBBBBABBAAABABBBABBBBBABBBAABAABBBAAABBBBBBABBABBABBBBBBABABBBBABBABBBBBBABBBABAAABAABBBBBAAABBBBBABAB"
Returns: 248118077
"AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAABAAAAABAABAABAAAAAAABAAAABAAAAAAABBAAABBAAAAAAAAAAAAAAAAAABAABAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAABAAABAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAAAAABAAAAAABAAAABAAAAAAAAAAAAAAABAAAAAAABAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAABAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAABAABAAAABAAAABAAAAAAAAAAAAABAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAABAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAABAAAAAABAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAABAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAABAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBAAABAAAAAAAAAAAAAABBAAAAABAAAAABAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAAAAA"
Returns: 382012576
"ABAABABAAAAABBABAAAAABABAAAAABBABAAAAABAAAAABAAAAAAAAAAAAAAAAAAAAAAABAAAAAAABBBAAAAAABBAAAAABAAAAABBAAAAABABAAABAAAAAABBAAAAAAAAAAAAABAAABAAAAAAAAAAAAABAAABAAAAAABABABAABBAAAAAAAAAABABABBAAAAAAAAAAABAABAAAAAABAAABBAAAAAAABBBAAABAAAAAAABBAAABAAAAAAAAAAAABAAAAAABAAABAAABAAAAABAAAABAAAABAABAABAAAAAAAAAAAABABABAAAAAAAAAAAAAABABAAABAAABBAAABAABAAAAAAABBAAAAAAAAABAAAAAAAAAAAABAAAAAAABBAAABBAAABBAAAAABABAAAAABABABAAAAAAAAAAAABAAAABAAABAAAAAAABAAAAABAAABBAAAAAABAAAABAAAAAAAAAAAABAAAABBBBAAAAAABAABAAAAABBAABAAAAAAAAABABABAAAABAAAAABBABAAABBAAAAAAABBAAAAAAAABAAAABABAAAABABBBAAAAABABABAAAABABAAAAAAAAAAABAABABBAAAAAAAAAAABBAABABAAAAAAABAAAAABAAAAAAABABBAABAAAAAAAAABAAAAAABAAAAAAAAAAAAAABAABAAAAAABBBBABAAAAAAAAAAAAAABBBAABAAABAAAAAAAAAAAAAAAAAAAABAABAAABAAABBABAABAABBABBABAAAAAAAAAAAAABABAAAAABABABAAAAABBAAAAABAAAAAAAAAAAAAABAAAABAAAAABAABAAAAAAAABBAABAAABAAAABAAAAAAAAAAAAAABAAAAABBBAAAAAAAAAABAAABAAAABAAAAAAAAAAABBAAAAAAAAAAABAABBAAAAAAAAAAAAABAAAAABBAAAAAABABAAAAABAAAABAAAAABAAAABAAABAABBBABABAA"
Returns: 501628998
"AAAAAAAAAAAAAAAAAAAAAABAAAAAAAABBAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAABAAAABAAAAAABAAAAAAAAAAAAAABAAAABAAAAAAAABBAAAAAAAAAAAAAAAAAAABAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABAAAAAAABAAAAAAAABAAAAABBAAAAABAAAAAAAAAAAAAABBBAAAAAAAAABAAABAAAAAAAABAAAABAAAAAAABAAAAAAAAAAABAABAAAAAAAAAAAABAAAABAAAAAAAAAAAAAAAAABAAAABABAAAAAAAAAAAAAAAAAAAABAAAAAAAAABAAAAAAAAAAAAAAAAABAABAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAABAAAAAAAAAABAAABAAAAAAAAAAAAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAABAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAABABAAAAAABAAAAAAAAAAAAAAAAAAAAAABAABAAAAAAAAAAAAAAAAAAAABBAAAAAAAAABA"
Returns: 844556285
"AABBBBBBBBBBABBBABBBABABBBAABABBBBBBABBABBBAABBBBBBBBBBBBBBAABBBBBAABABBBBBABBABAABBABBBBBBABBBBBBBAABBBBBABBBBAABBBBBBBBBBBBBBABBBBBBBBBBBABABBBBBBAABBABBBABBBAAAABBABBBBBBBBABBBABABBBBBABBBBBBBBBBBBBABBBBABABBBBBBBABAABABBBABBBBBABBBBBBBBBAABBBBBBAABBABBBBBBBBBBABBBBABABBBBBABABABBBBBABBBBBBBBBBBABBBBBBABBABBBBBBBABABBBABBBBABBBBBBBBBBBBAAABBBABBBBBBBBABAABBABABBBABAABBABBBBBBABABABBBABABABBBBBBBBABBBBBBBBBABBBBBABBBBBAABBBBBBABBBABABBAABABBBBBBBBBBABABBAAABBBBBAABBAABBBBABBABBBBBBBBBABBBBBAABBBBBBBBBABBABBABBBBABBBBABAABBABBBBBABBBBBBBBABBABBBABBBABBBBBBBBABBBABBBBBBABBBBBBBBBBBBABABBBABAAABBBAABBBBBABBBABBAABABABBBBBBBBAAAABBBBBBBBBBBBBBBBBBBBBBBBBAABBBBAAAABABBBBBBBBBBBBBABBABBABBBBBBBBBBABBBBBBBBBBBBBBAABBBBBBABBBBBBBBBBBBBBABABBBBBBBABAABBBBABABAAAABBBBBBBBBBBBBBABBBBBABABBABBBBBBBBAABBBBBABBBBBAABBABBBBABBBBBBBABBAABBBBBBABBBBBBBBBBBAABAABBBBABBBBBBBBBBBBBBABABBBBABBBBAABABBBBBBBBBBBBABBBBBBAAABBBBBBBBBBBBAABBBBBBAAABBBABBABABBAABBBBBBABBBBBBBABBBBBBBBBBBABBBBBBBBBBBBBBABBBB"
Returns: 176138067
"AAAABBAAAAAAAAAAAABABAAAAAAAAABAABAAAABAAAAAABAABAAAAAAAAAAAABBABAAAAABAAAAABAABBAAAABAABAABABBAAAAAAAAABBAAAAAABBAAABABAAABABAABAAAABAAAAAAAAAAAAAABAAAAAAAAABAAAABAAAAAABAABAAAAABBAABAAAAAAAABBAAABBAAAABBAAAABBAABBBAAAAAABAAAABAAAAABAAAAAAABABAABAAABAABAABAAAABAAAAAAAABABABAAAAAAAABAAAABAAABAAABAAAAAABAAABAAAAAABAAAAABBAAAAAAAAABAAAABABABAAAABBAAAABABABABABAAABABBABAABAAAAAAABAAAABAAAAAAAAAAABBABBAAAABAABAAAAABBAAAAAAAAAAAABABBAAAAAABBAAABAABAAAAAAAAABAABABAAAAAAAABABAAAABBAAAAAABAAAAAABAAABAAAAAAAAAAAAABABABAAAAAAAAAAAABBAABAAAAABAABAABABAAAABAABAAAAAAABAABABBAABAABABAAAAABAABBAAABBAAAAAABAAAAAAAAAAAAABBAAAAABABABBAAABAAAABBAABAABAAAAAAAAAAAAAABBAABBBBABBBAAAABBABAAABAAAAABAABAAAABBBAABAAABBBAAABABAAAAABABAABAABAAAAAAABAAAAAAAABAAAAAAABAABBAAAAABAAABAAAAAAABBAABAAABAAAABBAAAAAABABAAAAAABAAAAABAAAAABAAABBBAAABBBBAAAAAAAAABBAAAAABAAAAAABAABABBBAAAAAAABABAAAAAABAAAAABAAAAAAAAAAABBBABAAAAAABBBABBABAAABAAAAAAAAAAABAABBBAABBAAAABAAAABAAABABAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAAABAABBAAAABAA"
Returns: 287961222
"BAAAAAABAAAABBAABAAAAABAAABAAAABABABAAAAABBAAAAAABBABAAABAAAAABAAABAAAAAABAABBAABAABAAABBBABAAABABAABAABBABBABABAAABABABBBAAAAABABAABAAAAABBABAAAABBBAAAAABAABBBAAABAAABAAAAABAAAAAAABAAAAAABAAABAABAAAAAABAAAABBAAABBBAAAAAAAAAAAABBBABBBAAAAAABAAAAAAAAAAAABBAAABAAAAABABAAAABBAAAAAAAAAAAAAAABBAAAAABBAAABABAAAABBAABABBAAABBABAAAAAAAABAAABAAAAAAAAABABAAAABBABABBAAABAAABAAAABABABABBAAAABAAABAAAAABBAAAAAAAAAAABABBBAAAAAABAAAAAAAAAAABBAAABABBBAABAAAAAAAABABAAAAAAAABABAABAAAABBBBBBABAAAAAAAAABABABBBAAAAAAAABAABBABABAAAAAAAAAAAAAAAAAABAAABAAAAAAAABAAABAAABAAAAAAAABAABABAAAAAAAAAAAAAAAAAAAABBABBBAAAAAAAABBAABBBAAAAAAAABBAAABAABAAAABBAAAAAABBABABAAAABAABBBBAAAAAAAAAAAAAABAAAABBBBAAAAAAAAAAAAABAABBABABAAABAABAABAAAABBABBAAAAABBBBAAAAAAABAAAABAAAABAAAABABAAAAAABABAAAABAAABBAAAAAAAAAAAAAABBAAAAAABAAAAAAAAAAAABABAAAAAABAAABABAABABAABAAAAAAABABAAABAAABAAAAAAABAABBAAAABAAAABAABAABAABABBABAAAAAAAAAABABAAAABBABABAAAAAABABAAAAAAAABBAABAAAAAAABBABBAAAABBBBAAAAABBBABAAAAABAABABABBAABABAABAABAABBAABAAAAAA"
Returns: 343313596
"AAAAAAABAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAABAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAABAAAABAAAAAAABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAABAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAAABAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAABAAAAAAAAAABAAAAAAAAAAAAAAAAAAAABAAA"
Returns: 710158882
"AAABAABAAAAAAAAAAAAAAAAAABABAAAAABAABABAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAABAAAAAAAAAAABAABABABAAAAABAAAAAAAAAAAAAAAABAAAAAAABAABAABBAAAABAAAAAAAAAABBABAAAABAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAABAAAABAAABAABAAAAAAABABAAAAAAAAAAAAAAAABAAAAAAAAAABAABAAABBAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAABAABBAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAABBAAABABAABAAAAABAAAABAAAAAAAAAAAAAAAABAAAAAAABAAAAAAAAAAAABAAAABABABAAAABAAAAAABAAAABABAABAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAABAAAAAAAAAAAAAABBAAABAAAAAAAAAAAAAAAAABAAABAABAAABBAAAAAAAABAAAAAAAAABAAAAAAABAAAAAAAAAAABAAAAAAAAAAAAAAAABAAAABAAAAABAAAAAAAAAABAAAAAAAAAAAAAABAABAAAABAAABAAAAAABAAAABAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAABBAAAAAAABAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABABAAABAAAAAAAAABAAAAAABAAAAAABAAAAAAAAAAABAAAAAAAABAAABAAAAABAAAAAAAAAAABAAAAAAAABBAAAAAAAAAAAAAAAAAAABBBABAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAABAAAAABAAAAABAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABBAAAAABAAABBABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABAAAAAAAAAAABAAAABAAAA"
Returns: 174475194
"AAABAAAAABABAABBAABAAAAAAAAAAABABAAAABAAABBAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABAAABAAAAAAAABAAAAABAAABAAAAAABAAABAAABABAAABABBABAAAAAAABAABAAAAAABAAAAABAAAAAAAAAABAAABABAAAABAAAABAAAAABABABAAAAAAABAABAAAAABAABAAABAAAAAAAABABAABAABBAAAAAAAAAAABAAABBAAAAAAAABAAAAAAAAAAAAAABBAAAAAAAAABAAAAAABABBABAAAAABAABAAAAAAAAAAABAAAAAAABBABAABBAAABAAAAABAABBBBBBAAAAAAAAAAAAAABAABBBAABAAAAABAABBAAAAAAABAABAAAAABAAAAAAAABBAAAAAABAABAABAABAAABAAABAAABAAAABAAAAAAABBAAAAAAAAABBBAAAAAAAAAAABABAAAAAAAAABAAAAAAAAAAABAABAABAABABBABAAAAAAAAAABBBBAAAAAABAAAABAAABAAAAAABAABAAAABBABAAAABBAAAAAABAAAABBABAAAAAABAAAABAAAAAAAAAAAAAAAAAAABAAAAAAAABAAAAAABABAAABAAAAABAAAAAAABAAAAAABABAAAAAAAABBAAABAAABBAAAAAAABAABAAAABABAAAABAAAAAAAAABAAAABAAAAABAABAAAAABAABAABAAAABABAAAAAAABAAABAAAAABABAAABAABAAAAABAAABAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBABAAAAAAAAAAABABAAABABBBAAABAAABAAAAABBAAAABBBAAAAAAAAAABBAAAABABBAABAAAAAAABAABBAAABABAAAAABAAAABAAAAAAAAABBBAAAAAAABABBAAAAAAABAAAAAABABAAAAAABABABAAAABBAAAAAABBAAAABBAABA"
Returns: 861413962
"BBBBABAABBBBAAABBBBBABBBABABBBBBBBABBBBBABBBBBBAABBBBABBABBBBBBBBBBBBBBBBBBABBBBAABBABABBBAABABBBABBBAABBAABABBABABABABBBBBBBABBBBABABBBBABBABBBAABABBABBBAABABBBABBBBBBBABAAABABBBAAABBABBABABABBBABBBBABAABBBBBABABABBBBBBAABBABBBAABBBBABABAAAABBBBAABBBBABBBBBAABBBABAABBBABBBBABBBBBBBBABABBAABBBABABBABAABABBBBBABBABBAABBBAABBBABBBBBBABBAAABBBBAABBAAABBBBBBABABBBBBBABBAABABAAAABBBBBBABBBBABBABBBBBBAAAABABABBBBBABBABBBBBBABBABBBBBBBABBBBABBBBBBABBBBBBBBBBBBBAAAABBBABBBBBBBABABBABBBABBABBAABBBBBBBABAABBAABAAABBAAAAABBBBAABBABBBBABBBBBBBBAABBAAABBABBABBBBABBBBBBBBBBBBABBABBBBBBBBAAAAAABABBABABBBBBABBBBBBBBABBBABABABAAABBBBABBBBBBBBBBABAABBBABBBBBBABBBABBAAAAABBBABAABBBBBBBBBBBBABBAABBBABBBBBAAABABBBBBBBABAAAABABAABAABBBABABBBBBAABBBAABBBABBBABBABBAABBBBABBBBBBBBBBBAAAABBBBBABABBBBBABBBBBBBBAABBBBABABABBAAAAABBBBAABABBBBABBABBBBBBABBBBBAABAABBAABBBBABBBBBBBBAABBBBAABABBAABBBBAAABBBBBBAABBABBBABAABABBBBAABBBBBBBBBBBBABABBBBBBBBBABBABBBBAABAAAABBBAAABABBBBBBBABBBABBBBBBBBBBBBBABBBABABB"
Returns: 115457099
"AAAAAAAAAABBBAABAABBABAAAABAAAAAAAAAAABAAAABAAAAAABBAABABABAAABAAAAAABAAAABBABAAAAAAAAAAAABAAAAAAAABAAAABAAABAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAABABAAAAABAABAAAAAAAAAAAABBAAAAABAAAAAAAAABAABAAAAAAAAAAAAAAAAABAAAAAAAAAAAABABBAAAAAAAABBBAAAAAAAAAAAAABABAAAAAAAAAAABBAAAAABAAAAAAAABAAAAAAAAAAAAAAAABAABBBBBAAABAAAABBBAAAAAAAAAAAAAAAAAAABAABBAAAAAABBAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAABAABAAAAAAABBAABBAAAAAAABAAABBAABAABAAAAAAAAAAAAABAAAAABAAAAAABAAAAAAAAAAAAAAAAABAABAAAAAAABAAAABAAAAAABAABAAAAAABAABBAAABAAAABAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAA"
Returns: 874559208
"AAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAABAAAABAAAAAA"
Returns: 200602390
"BBBABBBABBBBBBBBBAABBBBBBBBBBABBBBBBBABBABABABBBABBBBAABBBBBABBBBBBBBBBABBBBAABBBBBBBBBBBBBBABBBABBBBBBBBABBBABBBBBBBABABBBBBBBBABBBBBBABABBBBBBBBBBBAAABBBBBBBBBABBBABBBABBBBBBBBBBBBBBBBAABBBBABBBBBBBBBABABBABABBBBBABBABBBABBBBBBBBBBBBBBABBBBBABBBBBBBBBBAABBBBABABBBBABABBBABBBBBBAABBBBBBBBBBBBBBABBABBBABABBBBBBBBBBBBBABBBABBBBBBBABABBABABBBBBABBBBABBBBBBBABBAABABBABBBBBBBBBBABBBBBBBBBBABBBBABBABBBBBBBBBBBABBBBBBABBBBBBBBBBABBBBBBBABAAABBBBBBBBBBAABABBABBBABBBBBBBABBBBBABBBBBBBBBBBABBBBBBBABBBBBBBBBBBBBABBBBABBABBBBABBBABBABBBBABABABBBBABBBABABBABBAABABAABBBBBBBBABBBBABBBBBBBBBABBBABABBBBBBBBBABABBABBBBABBABABABBBABAAABBBBBBBBBBABBBBBBBBBBAABBAAABBBBBBBBBBABBABBAABB"
Returns: 267969369
"AAABABBBBAABABABAAAABBBBABBBABBBAABBAAABABBBBABAABBAABAABBABABBAABBABBBBAAABBBAABBBBBBBAABBBBAAABBBBBABABABBBBBAABAABBAABAABBABBBABBBABAABBBAABBABAAABABABBBABBAAABAABBBAAAAAABBBBABBAABABBBAAABAB"
Returns: 686246586
"ABBABBBBBBBBBBBBBAABABABBBBBAABBBBBBBBBBABBBBBBBBBBBBBAABBBBBBBBBBBBBBABBBBBBBBABBBABBBBABBABABBBBBBBBABBABBBBBBBBBAABAABBBABABBAABBAABBAABAABBBBBBBBBBBABBBBBABBBBBABBBBBBABABBBBAABBBBBBBBBBBBBBBBBBBABAAABBBBBBBABBBABBBBBABBBBBBBABBABBABABBBBBABABBBABBBBBABBBBBABBBBBBBBABBBBBBBABBB"
Returns: 162030979
"ABBAAABABAABAABAAABAAAABBBBBAAABBABABBBAAAAAAAAABAAAAABAABBAABAAABAAABABBABABABAAAAABABBAAABAAAABAABAAABABBAAABAABAAAABBAAABBAAABABAABAABABABABAAABABAAAAABAAABAAABAAABAAABBBAABAABBABABAAAABABBBAABABABBABABAABBAABAABAAABABBABBAAAABAABAABBBBBBABBBAAAAAAABAAAABBAAABAAAAABABAABBBAAAAAAABABAAAAAABBAABBAAAAABAAAAAABABBBAABAAAAABABABAAABBBAA"
Returns: 305353472
"AABBABAABBABAAABBBAAABAAABAABBBABBBAABAABABAAABABAAAABABBABBABBBBABBAABBBBBBABABBBABBBBBABAABAABAAABABAAABABBBABBABBBBBBBBAABBBB"
Returns: 866172181
"BBBBABBBBBBBBBBBABBBBBBBBBBBBBBBBBBBBBBBBBBBBBABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBABBBBBBBBBBBBBBBBABABBBBBBBBBBBBBBBBBBBBBBBBBABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBABBBBBBBBBBBBABBBBBBBBBBBBBBBB"
Returns: 394501647
"BBBBBBBBABBBBBBBBBBBBBBBBBBBBABBBBBABBBBBABBBBBBBABBBBBBABBBBBBBBBBBBBBBBBAABBBBABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBABBBBABBABBBBBBBBBBBBABBABBBBBABBBABBBBBBBBBBBBBBB"
Returns: 276096901
"AAAAAAAAAAAAAAABBBAAAAAABAAAAABAAABAAAAABAAABAAAABAAAABAAAAAAAAAABAAAABAAAAAAAAAAAABBAAAAABABBAAAAAAAABBABBAAAAAABAAAAAAABBAAAAAABAABAAAAAAAABAAABAAABBAAABAAABBAABAAAABBAAAABABAAAAABAABBAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABABAABAAAABAAABAAAABAAAABAABABAAABBAABBAABAAAAAAAAAAAAAAABAAAAAABABAAABAAAAAAAAAAAABAAABABABAAAAABABAABAAAAAAAAABAAAABABAABAAAABAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBAAAAAAAAABBAAAAAAAAAAAAAABBAAAAAAAABAABABAAABBBAAAAAAAAA"
Returns: 934957557
"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB"
Returns: 136489804
"BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
Returns: 136489804
"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"
Returns: 500000004
"BBBBABABBABBBBBAABBABBBBBBBBBBBBBBBBBBABBABABBBABBBBABBABBBBBAABABABAAAAABBBBBABBBBBAABBABBBBBBBBBBBBBBBBBBABBABBAAABBBBBBBABABBBBBABABABBBBBABBABBBBABBBBBBBBBBBBBABBBBBBBBABBBABBBBBBAABBBBAAABBABBBBBAAABBABBBBAABABBBBBBBAABBBBBBABABBBBAABABBBBBBAABBBBBBAABBABBBBBBBBBBBBBBBAAABBBBBBBBBBBABBAAABBBBAAAABBBABBBBBA"
Returns: 21844
"AAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
Returns: 999972287
"ABBBAAABBAAABBBB"
Returns: 557412872