Cody

# Problem 1268. Penny flipping - calculate winning probability (easy)

Solution 1353681

Submitted on 22 Nov 2017
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Fail
m = 1; n = 1; y_correct = 0.50; assert(isequal(penny_flip(m, n),y_correct))

mmnmmmmnnmmmnmmnnmmmnnmnnnnnnmmnnnmnmmnmnmmmnmnmmmnmnnnmnmmmmnnmmnnnnmnnnnmmnmnmnmnmnnnnmmmmmnmmmnmmmmnmmnnmmmmmnnmnnmmnmnnnmnnnmmmnnnnmnnnmmmmmmmnnnmmmnnmnnmnnmmnmmmnnnmnmnmnnnmmmmmmnmmmmnnmnmmnmmnnmnnmmnnnmnnnmnmnmmmmnnnnmmmmmmmmnmnmmmmmnnnnnmmnnmnmnnnmmnmmnmnnnmnnmmnnnmnnnmnnmnmnmnmnmmmnmnnnnnmmmnnmmnmmnnmnnmnnnmmnnmnnnmnmmmnnmnnnnnnmmmmmmmnmmmmnnnmnnnnnnmnnnmmnnnnmmnnmmmnmnmnmnnmnmmmnmmmnnnnmmnnmmnmnnnnmmnmnnmmnmmmmnmmnmmmmmnmmmmmmmnmnmmnnnnmmmmmnnmnnmmmmmnmmmmmmnnnnnnnnmmmmnnmmmmmmnmmnmnnnnnnmnmnmnnnnmnmmmmmnnmmnnnmnnmnmnmnnnnnmmnmnnnnnnnnmnmmnnmmnmmmmmmmnnmmmnmnmnnnnnmmmnmnnmmmnnnmnmmmmmnnnnmnnmnmnnmnnmnnnmnmnnmnmmnmnnmmnmmmmnnmmnnmnnmnmmnmmnnnnnnmnmmmmmmnnmmmmnnmnnmnnmmnnmnnmmnnnmnnmmmnnmnmnmnmmmnnmmmmnmnmmmmnmnmnnnnmmnnmmnmnnnmmmnmmmmnmnnmmmnnnnmmmnnnnnmmnnnnnnnnnnnmnnmnnnnnmnnnnnmmnmmnnnmnmnmnnmmmnmnnnnmmmmnmmmnnmmnmnmnmmmmnmmnnnmmnnnnmnmnnnmnmnnmmmmmnnnmnnnmmmmnmmmnmmmmmmnnnmmnmnmnnnmmmmmnnnmmmmmmmmmmmmnmnmnnnmmmmnnnnmnnmnmnmnmmmmmmmnmnnmnnnnnnnmnnmmnnmnmmmnmmmnmnnmmnnnnnnnnn ___ mWins = Columns 1 through 29 1 1 0 1 1 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 Columns 30 through 58 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 0 0 1 0 1 Columns 59 through 87 1 1 1 0 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 Columns 88 through 116 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 1 0 Columns 117 through 145 0 1 1 0 1 0 0 0 1 0 0 0 1 1 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1 Columns 146 through 174 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 0 1 0 1 0 1 Columns 175 through 203 0 0 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0 1 1 0 1 1 0 0 1 0 0 1 Columns 204 through 232 1 0 0 0 1 0 0 0 1 0 1 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 Columns 233 through 261 1 0 1 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 1 0 1 Columns 262 through 290 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 1 Columns 291 through 319 0 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 Columns 320 through 348 0 1 0 0 0 1 0 1 1 1 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 Columns 349 through 377 1 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 1 1 1 Columns 378 through 406 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 1 1 0 0 1 1 0 1 Columns 407 through 435 0 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 0 1 1 Columns 436 through 464 1 1 1 1 1 0 1 0 1 1 0 0 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 Columns 465 through 493 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 Columns 494 through 522 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 1 1 1 1 1 0 0 1 1 Columns 523 through 551 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 Columns 552 through 580 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 0 0 0 0 Columns 581 through 609 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 Columns 610 through 638 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 Columns 639 through 667 1 0 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 1 0 1 1 1 1 Columns 668 through 696 1 1 0 0 1 1 1 1 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 0 1 Columns 697 through 725 0 0 1 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 0 1 0 1 1 1 1 Columns 726 through 754 0 1 0 1 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 Columns 755 through 783 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 Columns 784 through 812 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 1 0 1 Columns 813 through 841 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 Columns 842 through 870 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 1 1 1 Columns 871 through 899 1 1 0 0 0 1 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 Columns 900 through 928 0 1 0 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 Columns 929 through 957 0 1 0 0 0 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 1 Columns 958 through 986 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 1 1 0 1 1 1 0 Columns 987 through 1000 1 0 0 1 1 0 0 0 0 0 0 0 0 0 y = 0.5020

Assertion failed.

2   Fail
m = 2; n = 2; y_correct = 0.50; assert(isequal(penny_flip(m, n),y_correct))

nnnnmmmnnnnnnmmnnmmnmmnmmmmmmnmnmmmmnmnmmmnmnnnnmmmmnnmmnmnmnnmmnmnnmnnnnnnmnmmnnnmnmmmnnmnnmnmmmmmnnmnnmnmnnmmnnmnmnnmmmnnnnmnmnmmnmnnmmnnmnmnmnmmnmnmmnnnmnnmmmmnmnmnnnmmmnnmmnmmnnmmmmmnmnmmmmmmnmmmnnmnnnnnnmnmmmnmnnmnmnnnnmnnmmmnmmnmnmmnnnnmmnmnnmnnnmnnmmmnnmnnmnnmnmnnmnnnnmmmmnmnnmnmmmmmmmmnnmnnmnmmmmmmmmnnmnmmnnmmmnnnnmmmnnnmnmnmnnnnmnmnnnnnnnmnmmnmnmmmmmmnmmmmnmmmnnmmmmmnnnnnnnmmmnmnmnmnmmnmmnmmnmmnmmmmmmmnnnmmmmmnnmnnnmmmmmnnmnmnmmmnnmmmnnnnnnnnmnnmnmmmmmmnnmmmnnmmmmmnnmmnmmnnnnmmnnnnmmnmmnnnmnmmnnmmnmmmmnnmmmnmnmmmnmmmnnmnmnnmnmmnmmnmnnmnmnmnnnnmmnmmnmnmmnmnnnmnmmmmnmmnnnmnmmmnnnnmnnnnnmnnnnmmmmnnnnmmmmnmnnnnnmmmmnnmmnmnmmnnnmmmnnnnnmmmmnmmnmnmmmmmmnnmnnmmmnnnmnmmmmmmmmmmnmmnmnmnmmmnnmmmmnnnnnnmnmmnnnnnnnnmnmmnnnnnnnmmnmnmnnmnmmnnnnnmmnmnnmnmnnmnmnmnnnmmmmmmnmnnmnnmnmnmnnnnmnnnmnnmnmnnnnnmnmmmnnmmmmnnnnnmmmnnnnmmmmnmnmmmnmmnnmnnmnmnnmnmmnnmnmmnmnnnnmnmnmnnmmnnnnmnmnnmmmmnnnnmmnnnnmmmnnnnnnmmnnnnmnnmnnnnmmmmnnnmmnmmmmnnmnmmmmmnmmmnmnmnmnnnnmmnnmmmnmmnmnnnnmmnmmmmmmnnnmmmmmmnmmnmmnmnnmnnmmnnmnnmnnnnmmnmnmnnnnnnnnmmnnmmmnnmmnnmmnmnnmmnmnnnmnnmnmmmmnnnnnmmmnmmnmnnnnmmnmmmnnnmmnnnnnnnnnnnmnmnnnnnmmnnmnmnmnnmnnmmmmmmnmmmmmnmmmmnmmnmnnnnnmnnmmmnnmmnnmmmmmmnnnnnmmnmnnmmnmmmmmnmmnnmnnmmnnmmnmmnmnnmnmmmnmmmmmnmnmnnnnmmmnmnnnmmmnnnmnnnnmmnnnmnnnmmmnmmnmmmmnmnmmnmnmnmnnnmmmmmnmnmnmnnnmmnnmmmnnmnmnnnnmnmnmnmnnmnnmmmnmnmmnmmnnmnmnnnmnmmmnmmnnnmmnnmmnmmmmmmmmnmmmnnnmnnnmnnmnnnnmmmmnnmnnmmmnnnmmmnmmmmnnmnmmmnmmnmmmnmmmmnnnmnnmnmnnmmmnnnmmmmmnmnnmnnnnmmmmnnmmnnnnnnnnmmnmmnmnmmnnnmmnnnnnmmnmmnnmnmnmmnmnnnnmnnmnnnmmmnmnmnmmnnnnnmmnmmnnmmmnnnmmnmnmnnmmmmmnmmnnnmnmnmmmmmmmmnmnmnnmmnmmnmnmmnnmnnnnnmmmmmnnnnmnmmmmnmmnmmnmmnnmnnnmnnnnnnmnnnmmnmmnnnmmnmnnmnnmmnnmmmnnmnnnmmmnmnmnnnmnnnmnnnmnmnmnmnnmmnnmnmmmnmmmmnmnnmmmmmmmnnmnmnnnmmmnmmmmnmnmmmmnmnnnnnmnnmnnmnmmnnnnmnmnnnmmmmmnnnnmmmmmnmmmnmmmnmnnmnmnmmmnmnnnnnmmnmmmnmnmmnnnmmmmmmnnnnmmmnmmmnnmmnnmmnmmmnnmnnnmnnmnnnnmnnnmmnnnnmmmmmmnmnmmmnmnnnnnmnnnnmnmmmnnmmnnmnmnnmmmmmnnnnmnmmmnnnmmmmmnmmnnmnnmmmmmnnnnmnmmnnnmnnnnnmmmmnmmmmnmmnnnnmmmmmmnmmmnnmnnmnmnnnmnnmmnmnnnnnmnnnnmnnnmmmnmmnmmmmmnnnmmnnnmmnmnmmnmmmnmnnnnmmnmnnnnnmmmnnnmnmmmmmmmnmnnmnnnmnnmmmnmnnmmmmnmnmnnnnnmnnnnmnmnmmmmmmnnmmnmnnmmmmmnmmnmnnmnnnmnmmnmmmnmnnnmmmnmmmmnnmnnnnnmnmnnnnmmmmnnnmnmmmnnmmnnmmnmnmnmmnmmmmnnnnnmnnnmmnmnmnnmmmmmmmnnmmmnnmmmmnnnnmnmmnmnmnmnmmnnmmnmmnmnnmnmmmnnnnmnnnnnmnnnnmmmmnmnnnmmmnmmmnmmmmnmmmnmnmmmmmmnnmnmmnmnnmnmmnmmnmnmmnmnmnmmnmnnnmnnnmnmmmmmnnmnmnmnnnnmmmnmmnnmnmmmnnnmnnnmnnmnmnnmnnmnnmmmnmnmnnnnnnnmnmnnmnnnmmnmmnnmmmmnmmmmnnnnnnnnmmnmmnmnmnmnmnmnnnmmmnmmmmmmmnnmmmnmnmnmnnmmmnnnmnnmmnmmnmmmnmnmnnnnmnmnnnnnmmmmmnmmnmmnmnnmnnmnmmnmmnmnmnmnnnnnmmmnmmnnnmnmnnmnmmmnnnmnmmmmmnnnmnnmmnnmnmnnmnnnmnnnnmmmnnmmnnnnnnmmmnnnnnmnnmmmmnmnnnnmnmnnmnmnnnnnnnmmnmmmnmnnmnnnnmmmnnnnmnmnnmnnnmnmmnmnnnnmmnnnnmnmmmnnnnmmnnnnnnmmmnmmnnnmmnnnnnnmnmnnnmnnmmnnnnmmnmnnmmmnmnmmnmmnnmmnnnnnnmnmnmnnmmmmmnmnnnmnmnnnnmnnmmnmnmmmnmmnnmmnnmnnnnnnmnmnmnmmnnmnmnmmnnnmnnnnmnnmnnnmmmnnmnnnmnnnmmnmnnnmnnmmmnnmnnmmmnmnmmmmnnnnmmmnnnmnnnmnnnmnmmnmmnmmmmmnmnmmnmnmnmmmnnnmnmmnmnmmnnnmmnnmmnmmmmnmmmnnnmmmnmmnmmmmmmnmmnnnmmmmnmmnnmnnmmnnmnnnnmmnmmnmnnmmnmnmmnmnmmmmmmnnnnmmmnnmmmmnnmmnmnnnmmnnmnmnmnmmmnmnmnnmmnmnnmnmnnmmmnnnnnnmnmmnmmmmnnmmmmmnnmmmnmnmnmnnmmnnnmmnmnmnmnnmnnnnmmmnmmmmnnnnnmmnmmmnmnmnnnmnnmmmnnnmnmnmnnnnnnnnmmmnnmnmmmnnnmnmnnnnmmnmmmmnnmnmnmnnnnnnmmmmmnmnmmnmmmnmnmnmmnnmmnmnnmnnnnnnmmmmmmmnnmmnmnnnnmmmmmmmmnnmnnnnmnnnmnnmmmmmmnnmnmmnnnmmmmmnnmmmnmmmnmmnmmnnnnnmnnmmmmmmnnnnmmmmmnnmmnnmnnnnmnmmnmmnnmnnmmmnnmnnnmnmnnnnmnnnmnnnmnnnmnmnnnmnnmnnmmnnnnmmnmmmmmmmmnmmnnmnnmmnmmmnnmnmnmnmnmmnnnnnmnmnnmnmnnnnmnnmmmnnnmmnnmmnmnmnmnmmnmmmmmmmnnmnnmmmmmmmmnmnmnmmmnmnnmmmmmmmnnmmnmmmnnmnmnmmmmnnnmnmmmnnmnmnnnnnnmnmmnmmmmmnnnnmnnmmnmnmmmnmmmmnmmmmmmnmmnnnmmnnnnnnmmnnmmnmnmnmnmnnmnmmmmmnmnnmnmnnmnmnmmmmmmmnmmmmnmnnnmmnnmmmmmmnnnnmnmmnnmmnnmnmnnmmnnmnnnmmnnmnnnmnmmmnnmnnnmmmnmnmnmmmnmmmmnnnmmnmnnmmnnnmnmnmnmmnmmnmmnnnmnnmnmmmmnmnnnnmmmnmnmmmmmnnnmnnmnmnmmnnnnnmnmmnmmmmmmmmmnmnnmmmnnnmmmnnnnnnmmmmmmnmnmnmnnmnnmmnmmnmnnmmnnnmnnnnnnmnmnmnmnnnnmmmnmmnnnnnn ___ mWins = Columns 1 through 29 0 0 1 0 0 1 1 1 1 1 1 0 0 1 1 0 1 0 1 0 0 0 0 1 0 1 1 0 0 Columns 30 through 58 1 0 1 0 0 1 1 0 1 0 1 1 1 1 1 1 0 0 0 1 0 0 1 1 0 0 1 0 0 Columns 59 through 87 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 0 0 0 0 0 1 1 1 1 Columns 88 through 116 1 1 1 0 0 0 1 1 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 0 0 1 1 1 Columns 117 through 145 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 1 0 1 0 0 1 1 0 1 1 0 1 0 0 Columns 146 through 174 0 0 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 Columns 175 through 203 1 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 Columns 204 through 232 1 1 0 0 1 0 1 1 1 0 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 Columns 233 through 261 0 0 1 0 1 1 1 1 1 0 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 0 Columns 262 through 290 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 Columns 291 through 319 1 1 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 1 0 1 0 1 1 1 0 1 0 1 Columns 320 through 348 0 0 0 1 0 0 1 1 1 0 1 1 0 1 0 1 0 0 0 1 1 0 1 0 1 0 1 1 1 Columns 349 through 377 1 1 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 1 1 0 0 1 0 0 0 Columns 378 through 406 1 0 1 0 0 1 0 1 0 0 0 1 0 0 1 1 0 1 1 0 1 1 1 1 0 1 1 0 0 Columns 407 through 435 0 1 1 0 1 1 1 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 1 0 1 1 1 Columns 436 through 464 0 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 0 1 1 0 1 Columns 465 through 493 1 0 1 1 0 1 0 1 1 0 0 0 0 0 1 0 0 1 1 1 1 0 0 0 0 1 0 1 1 Columns 494 through 522 0 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 0 0 Columns 523 through 551 0 0 1 1 1 1 0 0 1 1 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 1 1 1 1 Columns 552 through 580 0 1 0 1 1 1 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 0 0 Columns 581 through 609 1 1 0 1 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 0 1 1 0 Columns 610 through 638 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 1 0 Columns 639 through 667 1 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 Columns 668 through 696 1 0 0 1 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 Columns 697 through 725 0 0 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 1 1 0 1 0 0 0 Columns 726 through 754 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 1 0 1 0 1 1 1 Columns 755 through 783 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 1 0 1 0 1 Columns 784 through 812 0 0 0 1 1 1 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 Columns 813 through 841 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 1 0 0 1 1 1 1 0 0 Columns 842 through 870 0 0 1 1 1 0 1 0 1 1 0 1 1 1...

Assertion failed.

3   Fail
m = 1e6; n = 1e6; y_correct = 0.50; assert(isequal(penny_flip(m, n),y_correct))

nmmmmmnmnmnmmmnnmnmmnnmmnnmmmnmnmmmmnnmmnnnnmnnnmmmmnmmnnnmmnnnnnnmmmmnmnmmnmnmmnmmnmmnnmmmmmnmnmmnmnmmmmnnnmnnnnmnnnmmmnmnmmnmnmmnmmnnmmnnmmmnmmnnmnmmnnnmnmmmnmmnmmnmnnmmnmmnmmnnmnmnmmnmnmnnmnmnnmmmmnmnnmnnmnnmnnnmmmmmmmmnmmmmmmmmmnnmnnnnmnnmnnmmnmnmnnnmmnnnmmmnnnmmmnmnnmnnmmnnnnnmmmmnnmnnnnnnmnnnnmnnnmmnmmnmnnmmnmmmnnmmmmmnmnmmnnnmmnnnmmnmmmnmnnmmnmnnmnnnnnmnmmmmnmnmnmnnmnmnnmnmmmmnnmnmnmnnnnnmnmnmmmmmmmnmnmnnmnmmnnnmnnnnnnnmmmnnnmnnnmnnmmmnmmmmnmnnmmmmnmnnnmnmnmnnnnmnnnmmmnnnmnmnmmnnmnmnmmnnnmmmmnnnnnmnnmmmnmmnmmmnnnmmnnmmmmmnmnmmnmmnnnmnnmnnnnnmmnmmmnnmmmnnmmmmnmnmnmmmnnmnnnmnmnmnmmmnmmnnnnnmnnmnmmmnnnnnnmnmnnnnmnnnnnnmnnmnmnmnnmnnmmmnnnnnmmmnmnnnmnmmnnmnmmnmnnmmnnnmmnmnnnnmnmnnmmmnnmnnnmmnmnmmmnmmnmmnmnmnnnnmmmnnnmmnmmnnnnmnnnnnmmmmmmnmmnmnmmnnnmnnnmnnnmnmnmmmmnmnnnnnnnnnmnnnmnmnnnmnmnmnnnmmnnnnmnnmnmnmmmmmnmmnmmnmmmmnnnmnmmnnmnmnmnmnmmmmmmnnnnnnnmmmnmmmmmmmmnmnmmnnmnmnmnnmnmmnnnnnnnmnmmnmmnnmnnnmmmnnnmmmmnmmnmnnmnmmmnnmmmmmmnnnmmmnmmmmmnmmnnnmnnmmnnnnmmnnmmmmmnnnnmnmnnnnnnmnnmnmnmnmmnmmnnmmnmnmmmmnmmnnmmmmmmmnnnnmmmnmmnmnnnnmmnnnnnmnnnmmnmmnmnnnmnmnmnmnmmmmnmmmmmnmmnmnnmmnmmnmnmnnmnnmnmmmnmnmmnnnmnnmnmmmmmnnmmmnmmnmnmnmnnmnmnmmnmnnmmmnmmnnnmmmmnnmnmnnmmnnnnnnnmmnnnnmnnnmmmmmmmnmnmnnnmmnnnmmnmnnnmmnnmnmnmmnmmnmmnmnnmnmnnmmmnmmnmmnmnmnmnnmmmmnnnmmmnmnmnmmnmmnmmnmmmmmnmmmnnmmmmnmnnmnnmnmmmnnnnnnnmmmmnmnnmmmmnnmmmnnmnnmmmmmnmmnmnmnnmnnnmmmnmnmnnnnnmmnmnmmnmmnnnmmmmmmnnnnnmmnnmmmnmmmnnnnmmnmnmnnnmnmnmnnmmmmnmmmmmmmmmmmmmmmnmnmmmnnmnnmmnnnnnnmmnmnnmmmnmnnnmmnmmnnnmmmnmnnmmnnmmnnmmmnnnnnmnnnnmnmnmmnmnmmmnmmmnnmnnmnnnnnmnmnmmnmmnnnnnnnmmmnmnnmmnmnnmnmnnnmmnmnnnmnnnnmmnnnmmmnmmmnmnmmnmmmmmmnnmnmmnnmmmmmnmnmmmnmnnmnmmmnmnnnnmnnmmmnmmmmnnmnnnnnmnmmmnnnmnmnnmmnmmmnnnnnnmmnnnmmmnnmmmmnnmnmmnmmnnnnnnmmmmmnmmnnnmmmnmmnnnnnmmnmnnnmmmnnmnnmnmnmmmmmmnmmmmnmmmmnnmmmmmmnmnnnnnmmmmnnnnmmnnnnmmmmnnmmmmmnmmmmnmmnmmmnmmnnmnmmnmmmmmmmnnnmnnmnnnnmmnnmmmnnnmnmmmmmmnnmnmmmmmnmmmmmmnmmmmmmnmnnnmmnmmnnnmnmmmnnnnmmnmnmnnmnmnmmnnmnnnmmmmnnmmnnmnnnmmnnnnnmmmmmnmmmmnnnnmmmnnnmnmnnnnmnnmmnnmmmnmnnnmmmnnmmmmnnmmnnnnmmmnnnmnmnnmmnmmnmnnnnnnnnnmnmnnnnnmmnmmmnnmnmmnmmmnnmmmnnnmmnmnmmmnnmmnnmnmnmnmnmmnnnmmnnmnmnmnnnmmnnnnmnmnnmmmmnmnnnnmmmnnnnmnnmnmnmmmnmnmmnmmnmnmmmmmmnnnnmnnmmnmnnmmnnmnnmmnmnmmmmmmmnnmmmmnmnmmnmmnnmmnnmmnmmmmnnmnnmmmnmnnnmmmnnmnnnmnnmmnnmmmnnmnnmnnnnmnnmmmmnnnmnmnmnmmmnnnnnmnmnnmnnmnnmnnmnmnmmnnmnnnnnmmmnnnnnnmmnmnnnnnmmnnmnnmnmnmnmmnnnnnmnnmmmnnnmmnmmnnmnnnnmnmnmmnmmmnnnmnmmnmmnnnnmmmnnmmmnnmnnnnmnmnmnmmnnnnnnmnmmmnmnmnnnnnnmnmnnnmnnnmmmmnnmnnmnnnmnnmnnnnnnnnmnnmmnnmmmmnnnnnmmmnnnnmnmnnnnnnnnnnmmmmmmnmmnnnmnnmmmnmnmnnmnnmnmnnnmnnnmmnnnmmnmnmmnnmmmnnmnmmnnmnmmnmmmnmmmnmnmmmmnmnmmmmnnnmnmmnnnnmmnmmnmmmnmnmmmnmmnnnmnmnmnmmnnnmmmmnmmmnnnmmnmnmmmnmmnmnmnmmmnmnmnnmmnmmnmmmnnnnnnmnmnnnnnnmnmmmmmnmmnnmnmnnnmmnmmnmmnnnnmnmmmmnmnmnmmmmnmnmmnmmnmnnnnmnmmnnmmmnmnnnmmnmmmnnmnmnmmmmnmmmnnmmnmnnnmnnnmmmmnnnnmmnmmmnmmmnmnmmnmmnmmnnnmnmmnnnnmnmnmmmmnnnmmmmmmmmmnmnnnnnmmnnnnnnmmmnnmmnmnmmnmmmmnmmnnmnnmnnnnmnmnmnmmmmnmmnmmmmmnmmmmmnmnnnnnnnnnnnmnmnnnmmnmmnmnmnmnnnnmmmnmnnnnmnmmnnmmnnnnnmnnnmmmmmnmmnnmmnnnnmnmmmmnnnnmnmnmmmnnmmnmnnnmmmnnmmnmmmmmnmmmmmmnmmnnnnnnmmnnnnmmnmnnmmnnmmnmmnnmmnnnmmnnmmnnmnmnnmmmmnnmmmnnnnmnmmnnmmnnmmnnmnmnmnmmmnnnmmnmmmnnmmmnmnnmmnmmnnnmmnnmmnmnmnnmnmmmnnnnnmnnnmmmnnnnmmnnmmmmnnmnmnnnnmnnmnmnnnmmnnnmnnmnnmnmmmnmmnmmmnnmmmmnnmnnnnmmmnnmmmnnnmmnnnmnnmmnmnnnnnnnmnnnnnnnnnnnnmnmnmmnmmmnnmnmnnmmnmnmmmnnnmnnnnmnmmnmmmmnnmmnnnmnnnnmnmnnnmmmmnmnnmnmmmmmnmmmmnnmmmmnmmmmnmmnmnnmnnmnnnmmmnmnmnnmnmmnnmmmnmmmmmmnmmnnnmmnnmmmnmnnmmmmmmmmnnmnnmmnnnmnmmnmnmmmnnnnnnnmnmmnmmnmmnnnmnnnnnnnnnmmnmmnmmmnmmnmnmmmnmnmmnmnnnnnmmnnmmnmnnmmnnmnmnnmmmnmmmnmmmmnnnmnmmnmnnnnmnmnnmmmmnnmnnnnnmmmmnnnmmmmnmmnmmnnnmnmmmmmnnnmnnmnmmnnmmmmnnmnmmmmmmnnnnnmmnmmmmmnmnmmmnnmnnmmnnnmnnmmnmnmnnnmmnmmmnmnmnmnmnnnmnnmnnmmnmmmmnmmnmnmnnmnmnmmmnmnnnnmnnmmmmmmnnnmnnnnnnnnmnnmmnmnmnmmnmnnmnnnmmmnnmnnnnmnnmmnmnmmnnmmnnmnnnnnmmnmmnmmmnmmnmmmmmnmmmmnmmmnnmmmnnnnnmmmmmnmnnnmmmnmnmmmnmmnnmmmmnnmmnmnmmmnmnmnnmmnnnnnmnnnnnmnnmnnmmmmnmmmmmnmnnnmmnnnmmnmmnmnmnnmnnnmmnnnmmnmnnnmnmmmmmmmmmnnmmmnmmnnnmmmnmmmnmmmmnmnmnmnmnnnnmmnnnnnmmmnmmmmmmmmnmmnnnnmmmmmmnnmmnnnnmmmmnnnmmmmnnmmmmmmmnnnmnmnnmnnmnmnmmmnmmnmnmmmnmmnmnnnmmmmnmmnmmmnnmmnmnmnnmmnmmnnnnmmmnmnnnnmmnnmmmmnmmmmnnmnmnmnnnnmnmnnnnmnmmmmmmmmnnnnmnnnnmnmmmnmmmmnmmmnnmmmnmnnnmmnmnnmnmmmnmnnnmnmnnnmmmmnmmmmmmnmmnmmnnmmmmmnmnmmnnmnnmnnnmmmnnnnmnmnmnmmnmnnnnmnmmmnmmmnmmmmnmnnmnnnmnmmmmnnmmmmnnnnmnmmnnmmnmnmmnnmnnnmmnnnmnnmnmnnmnmmnmmmmmmnmmmmnnnnmnmmnnnmnnnnmmnmmmnmmnmnmnmmmnmnmmmmnmmnmmmmnnnmnnmmnmmnnnmmnmnmnnmnnmmnnmmnmnmmnnmmmnnnmmmnnmmmmmnnnmmnnmmmnmmnmnmnnnnnnnnnnmmnmmmmmmnmmmnnmnnnnnnmmmnmmmnmmnmmnmnnnnnmnnnnmnmmmmnmnmnnmnmnmnmmmnmnmnmmnmmnmnmnnmmmnmmmmnnmmmnnmmmmmnnnnnmmmnnmnmmmnnmmnnmnmnmnnmmmmmnnmnmnnnnmmmnnnnnnmmnmnnnmnnnmmmmnnnmnmnmnnnnnnmnmmmnnnmmmmmmnmmnnmmnmnmmmnnnnmnmmnnmnmnmmmnnmnmmnmmmmmmnnmnnnmmmnnnmnmnmnmnnnmmnnmmmnmnnmmmmnmmmmmnmmnmnmnmmnnnmnmmnmnmmnmnnnmmmnnnmmnmnnmmnnmnnmmmnnmmnnnnmnmmmmmnmmnnnnnnnmnnmmnmnnnnnmmmmmnnmnmmnmnmmmmnnnmmmnnnmmnmmnnmmnmnnnmmmmmnmmmmnnmmnnmmmnmmnnmmnnmmnmnmmmmnnmmnnnmnnnmmmmnnmmmnmmmnnnmmmnnnnmnnmnmmnnnmmnmnmmnmmmnnnnmnmnnmmmmnnmnnmmmmmmmnmnmnmnmmmnmnnmmnnnmnmmnnnnnmmnnmmmmmmmnmmmnmmmnmnnnnnmmmnnmnnnnmmnmnmnmnmnmnnmmmnnmnmmmmnnnnmmmmnnmnnnmnnnnnnnnmnnmmnmmnnnmnmnmmmnnmnnnmmnnnmnnnmnnnmmnmmmmmnmnnnmmmnnnnmmnnmmnnmnnmmmmmmmmnnmnmmmnmnmmnmmnmnmnnmmmmnnmnmmnnmmmmmnnmmmmnnnmmnnmmnmnnnnnmnmnnnmnnnmmmmmmnnnnnnmmnnnnnmmnmnnnmnmnnmnmnmnnnmnmmnnnnnmnmmnmnmmmmnnmmnmnmmmmmmnnnmmmnnnnmnnmnnnnnnmnnmnmmmnnmnnnmmmmnmmnmmmnmnnnmnmmmmmmmmmnnmmnnmnnmmmnnmnmnnnmmmmnmnmmnnnmnmmmnnnnmmnmmmnnmmmnmmnnmnnmnmmnnnmnmmnmnmmmmmmmnmnmnnnnmnmnmnnnnmnnnnnmmmnmmmnnmnnnmnmnmnmmnnmnmmnnmnmmnmnnnmmmnnmmnnnmmnnmnnnnnmnnmnmnmnnmmmnnnmmmnnmmmnmmnmmmmmmnnmnnmnmnnmmmmnmnnnnnnmnnnnmmmmmmmmmmmmnnmnmnmnnnnmnmnnmnmmmmmnmmmnmmmmnmmnnmnmnmmnnnmmmmmmnnnnnmmmmnnnmnmmmnnmmmnnnnmnnmnmnmmnnmmnnmnnmmmnnnnnmnnmmnmmmnmmmmnmmnnmmmmnnmnmmnmnmmmmmnmmnmnnmnnnnmnnmmnmnmmmmnnmmmnnmnnnmmmnnnmnnnmnnnmmmmmnnnnmmnnmnnmmnnnnmmmnnnmnmmmmnnnmnmnmmmnmnmnnmnnnnnnmmmnnmnmmnmmmnnnnnnnnmnmmnmmnnmnnnnmnmnnnnmmmmmnnnnmnnnnmnmmmmnmmnnnnnnnmmmmmnnnnmnnnmnmnmnnmmmmnnmnmmnmnmmmmnnnnnmmmnmnmnnmnmmnmnmnmnnmnmmnnnmmmnmmmmmnnnnmmmmmnmmnmmnmnmmmnmmnnmnnmmnnmnmnnmmmnmmmnnnnmnnmnnmnmnnmnmnmmmmnmnmmmmnnmmnmnnmnnmmmmnnnnnnmnmnnnmmmnnmnnnmmnnnmmnnmnnnnmmnmmmnmmnnnnmnmnnmnmnmnnnnnnnmnmmnnnnnmnnnmmmnmnnmnnnmmnnnnmnnnmmnmmmnnnmmnnnmmmmnmmnmnmmnmmmnmmnmnnnmnmmmnnmmmmmnmmmmnmnmnnmnmnmnnnnmnnnmmmmmmmnmnnnnnnmmmnnmnnmnnnmnmmnmmnmnnmmmmmmmmnmnnmmmnnmmmnmnmmnmmnmmnnnmnnnnmnmmmmmmmnmnmmmmnnmmnnmnmmnmmmnnmnnnnnnnnnmmmnnmnnnnnnmmnmnmmmnnmnmmnnnnnnnnmmmnnmnmmmnmnmmnnmmmnmmmnmnnnnnmmmnnnmnmmmnnnmmnnmmnnmmnmmnnnnmmnnmnnnmmmmmnmnnmnmnmnmnmnnnnnmmmmmnnnnnmmnnnmnnmmmnmmmnnmmnmmnmmmnmmnnmnmnmnnnmmnmmnmmnnmmnmmnnmnnnnmmmnmnnnmnmmnnnnnnmnmnnmnnmnmnmmmnmmnmnnmnnmmmnnnmnmmmmmmnnmmnnmnmnmmmmnnmmnnnnnmmmnmnnmnnnnnmmmmnmmmmnmmmnmnmmmmmnnmmnmnnmnnnnmnnmmnnnnnnmnnnnnmnmmmmnmnnmmmnmmnnmnmmmnnmmmmmmnmmmnnnmnmmmmnnmmnmnnmmmnnnmmnnnmnnmmnmnmnmmnmmnnmmmmmnmmnnnmmmnnmnnmmnmnnnmmnnmmmnmmmmnmmmmmnmmmmnmmmmnnmmmnnmnmmnnnnmmmmnnmnmnmnnnmmmmmnmnmmmnmmnmnnmnnmnmnnmmnmnmnnnnnnmnnnmmmnnnnmnmnmnnnmnnmmmmmmnmmnmmmmmmnmnmmmmnnnmmnnmmnnnnnnmmmnnnnmnmnmmmmmmmmmnmnnnmmnmmnnnmnnmnnmmmmnmnmnmnnmnnmmnnnmnnnnmnnnmnnnmmmmmmmnmmnnnnmnmnnmnnmnnmmnnmmmnmnnnnmmnnnnmmnnmnnnnnnmnmnmnnmnmmnnmmmmmnmnnnnnmnmnnnmmnnmnnmnnmmmnmnnnmmnmnmnnmnnmnmmnnmnnmmmnnnmmmnmmnnnnnnnnnnmnnmnnmmmnnmmmnmmmmnnmnmnmnmmmnnnmnnmmmnmmmmmmnnmmnmmmmmmmmmnnnnnnmnmnmmnnnnmnmmmmnmnnmnmnmnnnnnmnmmmnnnmnnnnnmmmmnnmnnmnnmnnnmnmmnnmmmmnnnmnnmnmnnnmnnmnmmmnnmnmmmnmnnnnmmmnmnnmmnmmnmmnnmnnmmnnmmmmmmnnnnnnmmnmnmnnnmnnnnnmnnmmmmnnmmnmmmmnnmnmnmnnnmnmmmmnmmnnnmnmnmnnmmnmmnmmnmnmnmmnmmnmmmmnnmmnmmmmmmmmnmmmnnmmnmnnnnnnnnnnmnmnmmmnnnmnmnnnmmnnmmmmnnmmnnmnmnnmmmnnnmnnmmmmnmnnnnmmmnmmmnnmmnmmmmnnnnmmnmmnnnmnmmmmnnnnnnmnnnnnmnmnnnmnnnnmmmmmmnmmmmnmnnnnmnnnnmnnnmmmmnmmnnnnmnnmnnmnnmmmnnnmmmmmnnmmmmnmmmnnnnmmnnmnnnmmnnmmmmmnnmmmmnnnnnmmnmmnmmnmmmnmmmnnnnmnmnnnnmmnnnnnnnnmmnnnnnmmnmmnmnmnnmmnnmmmnnnnnmmmmnmmnmmmnmnnnnmmnmmnmmnnnnnnnmmnmmmnnmmmmnnmmnmmnmmmnmmmmnnnmmnmnnmnnnnnmnnnnmnmmmnmnmnnnmmnnmnnmnmmnnnnnmmnnnmnnnmnnmmmnnmnmmnmnmmnmnmmnnmnnmmnmnmnmmnmnnmmmnmmmmmnnnmmmmnnnmnmnmnmmnmnmmnnnmmmmmnmmmnnmnnnmnnnmnnmmmmmnmmnmnmmmnmmmnnmnnmnnnmmnmmmmmmmmmnnnnmmnnmmmnnmmnmmmnnnmnnmnnmnnnnnnnmmmmnmmmmmmnnmnnnnnnmmmmmnnmnnmnmmmmmmnmnmnmnnmmnnnnmmmnnnmmnmmnnnnmmmnnmnmnnmmnmnnnnmmmmmmmmmmmnnmnmmmnmmnmmnnnnmmnnnmnnnnnmmnnmnnmnmmnnnnnnnmmnmmnmmnmnmnnnnmnmnnnmmmmnmmmnnmnnnnnmmmnnmnnmnmmnnnnnmnmnnnnmnnmmmnnnnnmnnmmmnmnnnnmmnnmnnmmmmnmmnnnnmnnmnnmmmnnnmmnnmmmmnnnmmmmmmnmmmnnmnmnmnmnnmmmnnnnmmmmmnnmmmmnmnnnmmmmnnmnmmnmnmmmmnmnmnmnnmnnmmnnnmnmnmnmmnnmnmmnnmmmnmmnmnmnmnnnnnnnmnmmnmnmmnnnnnnnmnnmmmmmnnnmnnnnmmmmmnmnmmnnnmmnmmmmnnmnnnmnmmnmmmmmnnmmnmnmnnmmmnmmmnmnmmmmmnmnnnnnmmnnnmmmnnnmmmnnnmmmnmnnmmmmnmnmmnnmnmmnnmnmnnmnnmnmmnmmnmmnnmmnmmnmmmmnnnnnmnmnnmmmmnnnnmnnnnmnmmmnmmmnnnnmmmmmmnmmnmmnnnnmnmmnnmmnnnnmmnmmmnmnmmnmmnnnmmmnmmmnmmnmmnmnnmmmmnmnnmnnnnnnmmnnnnnmnmnmmmmmmmnnmnnmmmmnmmnmmmmnnmnnnnnnmmnnnnmmmmnmnmmmnnmmmnmmmmnnnnmnnnnmnmnmnmmnmnnnnmmnmnmnmnnnmmmmnnnmmnmmnmnnmnmnnmmmnnmmmmmnnnmnmmnnnnmnmnmnnmnmmnnnnnnmnnmnmnmmnnnnnnmmmnnmnmmnnmnnmmmmnnmnnmnnmnmnmnmnnnnmnnnmnmmnnnmnnnnmmmmmmmnnnmnnnnnnmmnmmnnnnmnnmmmnnnmnnmmmnmmmnmmmnnmnmnmmmnmmmmnnnmnnnmmnmnmmmmnmnmnnnnmmnnnmnmnmmmmnmmnnnnmnnnnnmmnmnmmnnmmnmmnnmmmnnmnmmnmnnmmnmnnnmnnnmnmnnmnmmmnmmnmmmmnnmnmmmnnmnnmnmmmmmmnnnnnnmmnmmmmnmmnnnnnnnmmnnnnmnnnmmnmmnmmnmnnmmmnmmmmmnmnnnnmmmmnmnmmnmnmnnnmmnmnnmnmnnnmnnmmnnnnnnnmnnmmnmnnmmnmnnnnmnmmmmmmnmmnmmmnmnmnnnnnmmnmnnnnmnmmmnmmnmmmmmnmnnnmmmnnmmmmnmnnmmnmmnmmmnnmmnnnnmnmnnmmmmmmmnnnnnnmmmmmmnnmmmnmnnnmnnmmmnnmnmnmmnmmmnmmnmmmnmmnnmnmmnnnnnmmmmmnmmnmmmmnmnnnmmnmmmmmmmnmnnnnmnmnmmmnnnnmmnnmmnnnmmmmnmmnnmmmnmnnmmnmnnnnnmnmnnmnmmnmmmmnmnmmmnnmmmnmnmnnmmnnmnnnnnmnnnmnnnnnmmmmnmnnmmmnnmmnnnmmmnmmnmnnmmnmmnnnnmnmmnmmnnnnnnnnmmnnmnmnnnnmnnnnmnmnmnmmnnmnmmmmnnnnmnmnmnmnnmnnnmmnnnnmnmnmnnnmnnnnmmmnnmnnmnnnmnmnmmnnnnnnmnnmmnnnmnmnnmnnnnnmmnmnnnmnnnnmnnmmnmmmmmnnmnnmmmnnnmnnnmmmnnnnnmmnnmnmnmmnmnnnmmnnmmnnmmmnnnmmmmnnnnnmnnmnnmnmmmnmmmmmmnnmnmnnmnnmmmmmmnmnnnnmnnnmnmnnmnmnnmmmnnnnnnnmmmmmmmmnnnnnnmmnnmnnmnm...

Assertion failed.

4   Pass
m = 4; n = 2; y_correct = 2/3; assert(abs(penny_flip(m, n)-y_correct) <= 0.01)

mmnnnmmnnmnmnmnnnmnmmnnmnnnmnmmnnnnnnnnmnmnmmmmnmnnmmnmmnnnnmmnnmmnnnnmnnmmmnnmmmmnnnnnnmmnmnnnmmnnnnmnmnnmnnmnmmnnnnmmnnnnmmmmnmmnnmnmmnnmnmmnnmnmmnmmnmnnmnnmnmnnnmmmmmnnmmnnmnnnnnnmmnmnnmnmmmmnnnnnnmmnmnnmmmmmnnmmnnnmmnmmmnnmnmmmnnnnmmnnnnmnnnmmmnnmnnnmmmmmnmnmnnnmnmmnnnmmnnmnnmmmmmmmmnnnmmmnmmmmnmnmnmnmnnnmmmnmmnmmnmnmmmnmmnmnnmmnmnmnmnmmnmnnmmmnmmmnnmmnmmmmmmmmnnmmnmmmmnmmmnmmnmmmnmmnnnnmnnnnmnnnnmnnnnmnmmnnnmnmmnnmmnnmmnnmmnnnmmnmnmnmnmnnmnmmmnmmmnnmmnmmnnmnnmmmmmnmmmmmnnmnnnmmmnnnnnmmnnmmmnmmnnmnnnmnmmmnmnnnnnmmnnnnnnmnnnnmmnnmnmmmnnnmnmnnmnmmmmnnnmmmnnnmmmmmmmmnnnmnmmmnnmmmnmmnnmnnnnmnmmnnmnnmnnnnmmmmnmmmmmmmnnnnnnnnnmmnnmnnmmnmmmmmmmmnnmnmmnmnmnnnmnmmnnmmmmmnnmmnmnmmmnmmnmmnmnmnnmnmnnnmnmnnnmnnmnmnnnnnnmmnnmmnnmmmnmnmmnnmnmmnnmnmnnnnmmnnnnmnnnmmnnnmmmnnnmmnnnnmmnnnmnmmnmnmmnnnnmmnmnnnnnmnnmnmnmmnnmmmmnmnmnnmmnnmmmmnnnmmmnmnnnmnmnmnmmnnmmmmnmmnnmnnnnmmnmmnmmnmnmmmmmmmnmmnnnnmmnnnmnnmnnnnnmnnmmmnnmmnnnmmmmmnnnmnmmmmmmnmnnnmnmmmmnmnmnnmmmnnnmmnnnmmnmmmnnmmnmnnmmmmnmmmnmmnnmmmmnmnnnnmnnnnmmmmmmnnnmnmmnnmnmmmmnnmmmmnnnmnmnnnmnmnmmnmmmnmnnmmmnnnnnnnnnmnmnmnmnnmnnnnmmnnnmnmmmnnmmmmnnmnnmmmnmnnmnnnmmmnmnmmnnnmnnmnmnmnmnmmnmmmnnnmmnmmnmnnmmnnmnnnmnmnmmmmmnnnmnnnnnmmnnnnnnnnnmnmmmmnnnnmnnmnnnnmnnnnmnmnmnnmmnnmmmmnmmmnnnnmmmnnnnmmnmmnnmnnnmmmnmmnnnmmmmmmnnmnmmmnmnnnnmmmmmmnnmnnmmmnnnmmmnmmmnnmnnmnnnnmnmmnmmmnmnnnnnmnnmnmnnnnnnnnmmmmmnnnnmnnnnmmnmnmmnnmnnnnmmmnnmmmnmnnmmnnmnmmnnmnmnmnmmnnnmnmnnnmnmmnmnmmmmnnnnmnnnmmmmnnmnnnnmmmnnmmnnnmnnmmmmmmnmmmmnmmmnnmmmnnmmnmmnnmmmmmnnmmmnnmnmnmmmmnnmmmmnnnnmnmmmmmnmnnmmmnmmnnmnnmnnnmnmnmnmnmmnmnnmmmnnnnnnmnnmnnmmnmnnnmmmnmnmmnnnnnnnmnmnmmmnmnmmmmmnmnmnmmnmnmnnnnmmnmmnmnnmmmnnnnnnmmmmnnmnmmmnmmmmmmmmnnmmmnmmmnmnmnnnmmmmnnnmnnnnmmnnmnnmnmmnmmnnmmnmnmmmnmnmmmnnnmmnnmmmnmmmmmmnnnnmnnnmnmnnnnnmnmmmmmmnnmmnnmmnnmmnnnnmmmnmmmmmnmnmmnmmmnnmmmnmnnmnnmnnmmmnnmnmmmnmmnnnmmnnmnnmmnnnnnmnnmmmmnnmmnnnmmmmmmmmnnmmnmnmmmmnnmmnmmmmnmmnnnnmnmnmmmnmnnnmnnmnmmmmmnmmnnnmmmmnnmnnmmmnmnmmnmmnnnnmmmnmmmmnnnmnmnmnmmmmmnnnmnmnnnmmmnnnmmmnnnnnnnmmmnmnmnmnmnnmmmnmmmnmnmnnnnnmmmnmnmnnnmnmnnnmmnnnnnmnmmmnmmmnmnnmnnmmmmnnmmnmnnnnmnmmnmnmnmnmnmmmmnmnmmmmnmnnnnmnnnnmmnnnnmmnnnnnnnmmnmnnmnmmmmnmmnnnmnnmnmmmnnnnnmmmmnmnnnnnnmnmmnnmmnmmmnnnnmnnnmmmnnmmmmmnmmnnnmnnmnmnmnnnmmmnmmmmmmnnnnmmnnnnnnnnmmmmnnnnnmnmmnnmnnmmmnmmnnmnmnnnnmmnmnnmnnnmmmnmnmmnnmmmnmnmmnnnnmnnnmnnnmnnmmmnnnnnmnnmmmnnmnmmnnmnnnnnmnmmnmmmmmmmmmmmnmnnmmmmmmnnnnnnmnnmnnnmnmmnmnmnmnnnmnnnnmnnnnnnnmmmnmmnnmnnmnmmmnmnnnmmnnnmmnnmnmmnnnmmmnmmmnnnmmnnnnnmnnmnnmmnmnmnmnnnnmmnnmmnnnmnmnnmmmmmmnmnmnmnnmnnmnmmnnnmmnmmnnnnmnmnnmmmmmmnmmmnnmnnnmnnmmnnmnmnnnnnmmnnnmnmnnnmnnnnmnnmnnmmnnnnnnnnnnmmmmnmmmnmmmmnnmnnmmmnmnnnnnnmmnmmmmnmnmmnmmnnnnmmnnnmmnmmnmmnnnnmmmnmnmmnmmmmmnmnmmnnnnnmmnmmnmmmmmnmmmmnnnnnmmnmmnmnnnnmnnnnmnnnnnnnnmmnmnmnnnmnmnnnmnnmmnnmmmmmmmmnmnnnmmnnmnnmmmmmnnnnmnnnnmmmmmmnnnmnnnnmmnnmmmmnnnmnnnmnnnmnnnmmmmmmmmnmnnmmnmmmmmmnnmmmnmmmnnmmmmnmmnmnmmnnmnnmmmmnmmmnmmmmmnnmnmmmmmmmmnmnmnnnmmmmnnnnmnnnnnnnnnmnmnnnmnnnmmnnmmnmmmnmnmnnnnnnmmnnmnnmmmnnnmmmmnnnmnmnnmmmmmmmnmmmmmmmmnnnmnmmmnmmmmnmmmnmmmnmnnnmmnmnnnnmnmnmmmnmmnmmmmmnnmnnmmmmnnmmnnnnmnmmnmmmmmnmmnnmnnmnnnnnmmnmmmnnmmmnnmnnmmnnmmnmmmmmnnnmmmnnmmnmmmmnmmmmnnnmmmnmnnmnnmnnmnmmmmnnnnmnnmnnmnmnmnnmmmnnmmnnmnmnmmmmmmnmnmnmmmnmnmmnmnnmmmmnnmnnnnmnmmmnnnnnnnmnnmnmmmmmnmnmmmmmnnmnmmmmnmnmnmmmmnmmmnnmmmnnnmnnmnmmmmnnnmmmmnmnmnmmnnnnnmmnmnmmmmmnnmmmnnnmmmmnmmmnnmmmmmnnnnnmnmnnmnmmmnmnnnmmnmmnnmmmmmnnnnmmnmnmmmnmnnmnnnmnmnnmnnnnmmnmnmnmmmnnnmnmnmmmmmnnmnmnnnmmmnmmmnnmmnnnmmnnmmnnmnnmmnmnnnmnnnmnnnmnmmnmnnnmnmnmmnnnnmmnmmmnmmnnmnmmnmmnnmmmmnmmnmnmmmmmnnmnnmmnnmmmnmnnmmnnmmmmmmnnnmnmnnnnmnmnnnnnnnnmnnmmnnnmnnnmnmmnnnnmnnnmnmmmmmmmnmnnmnmnmmnnmmnnmmmmmnnnnnnnmnnmmmmnnmmnmmnnnnmnnmmmnnmnnnmmmmmnnmmmmnmnnmnmmnnmnmmmnnnnnnnnnnnmmnnmnmnnnmmmmmnmnnmnnmmnmnmnmnmmmnnnmnnnnnnnnnmmmnnnnmmmmnmnmnnnnnnnnnmmnnmnmmnmnmnnmmmmmmmmmmmnmmnnmmmmnmnmmnnmnnmmmnmmnnmnnmnnnmmnmmnmnmmmmmnmmmnmnnmmnnmmmmmmnmmnnnnmnnmnnnnnnnnnmnmmnnmnmnnmmmmmnmnmmnnmnmmnmnmmnnnnnmmnmmmmnmnnnmnnmnnnmnmmmnnmnmnnmnmmmnnnnnmmmnnnnnmnnmmnnnnmnmmnmnnmmnmmnnmnmmnmnmnnmmmnnnnnmnmnmmnmnnmnnmnnmnmmmnnmnnnmnmnnnnmmmnnmnmnnnnnmnmnmmmnmnnmnnnmnnmmmmmnnnmmnnmmnnmnnmnmmmnmnmnnmnnmnmnmnmmmmnnmnmnnnmmmmmmnnmnnnmmnmnnnmnmnmnnnnnnmnnmnnmnnnmmmmnmmnmmmnmnmmmnmnmmnnmnmmmnmmmmnnnnnnmmmnnmnmmmmnmmmmnnnnmnmmmnmnmmmnnmmnmmnnmnnnnnmmnnmmnmnmnmnnmmmmmnmmmnnnmnmmnmnmmmnnmmnnnmmmnnmnmmnnnmnmmnnnmmnnnmnnmmnnnmnmnnnmmmmnnnmnnmmmmnmmnnmmmnmmmmmnmmnnmmnmnnnnnmmnnnnnnmnnnmnmnnnmmmnnmnnnnmmnnmmnnmnnnmnmnmmnnmmmmmmnmnmmnmmnnmmmmmnnmmnmmnnmnnnmnnnmnnnnmmnnmmmmmnmmnnnmnmnnmnnmnnnmnnmmmnnnmmnnnnnnnnmmmnnmmmmmmnnnmmnnmmnmmmnnmmnmmmnmmmnmnmnmnmmmmmnnnmmmmmnnmmnnmnmnnmmnnnmmnnmnmmnmmnmmnmnmmmmmnnnmmmmmmnmnmnmnnmnmnmnmnnnmnmmnmnmmnnnnnnmmnmmmnnmmmmmmnnnnmmnnmnnmmmnmmmmnnnmmmnnmnnmmnnmmmnnnmmnmmnmmnmmmnnnnmnmnnmnmnmnmmnnnnnnnmmnmnnmnmnmnmmnmmmnnmnmmnmnmmnnnnnmnmnmmnnnnmnmmmnnnmnmnmmmnnmmmnnmnnmnnmmnmmmmnmnnmmmmmnmnmmmnmnnnnmnmmmnnnmmnmmnnmmmnnnmmmnnmnnmmnnmmmmmnmnmmmmnmmmnmmnnnnmnnnnnmmnnmmmnnnmnmnmmmnmmnmmmnmnmmnmmmnmnnmnmmmmnnmmnnmmnnnnmmnmmmnmnnmnnmmnmnnnnmmnmmnmnnmnnnmmnnnmnmmnmnmnmmnnnmmnmnnmnmmnmnnnnnmmnmmnmmnnmmmnmnmmnmnmmmnnmnnnmnnmmnnmnmnmnnnnmnnnnmnmmmnnnmmnnnnmnmnmnmmmnnmmmmnmnmnnnmmnmmmnmmmmmnnnmmnnnmmmmmmnnmnnmnmmmmmmmmnmnmmmnnnnmnnnnmmnmmmmnnmnmnnnmnmmnmmmmnmmmmmmnnmmnnnnnmnnnmnnnmmnmnnmmnmnnmmnmnnmnmnnmmmmnmnmmmnnnnmmnnnmmmnmmmmnnmmnmnmnnmnmnnnmnnnmnmmmnmmnnmnnmmnnnnnnmmmnmmmmmmmmmmmnnnnmnnmnnnnmmmnnmnmnnnnnnmnmmmmnmnmmmnmnnmnmmnnnmnnnmmmmmmnnmnnnnmmmmmnmnnnnnmnnmnnnmmmnnmnmmmnnnnnmnmnmnmnmmnmmnnnnnmnnmmnmnnmnnmnmnmnnnmmnnnnmnmnnnnmmnmnnnmmmmnnnnnnnmnnnmnmnmnnnmnmnnnnnmmmnnmmmnmnnmnmnmmmnnnmnmmnnnnmnmmmmnnnnnmnnnnmnmnmnnnmnnmnmnmmmnnmnnmnmmmnmmnmnnnnnmmmnmmmnmnmmnnmnnnnnmmnnmmnmmmnmnmnmmmnnmnnnnmnmnmnnmnmnmnnnnmnnnmnnnmnmmmmmnnnnmnmmmnnnnmmmmmmnmmmmnmnnnmnmnnnmnnnnmmnmmnmnnmmmmmnnnnmnmnmmmmmmmnmnnnnmmnnnmnnnmnnnnnnmnnmnmmmnmmnnnnmnnnnnnnnnnnnnmnnnnnnmnmmmmnnmnmmnmnnnmmnmmnmmnmmmmmnmnnnmmmnmnnmmmmnnnnnmnnmnnnmnnnnnmnnmnmmnmmmnnnmmmnnnmmnnmnnnnmmnnnmnmmnmmmmmnmnnmnnmmnmnnnnmmnnnmnmnnnnnnnnnmnmnmnmnnmmmnnmmmmmmnnmmnnmnnnnnnnnmnmnnnmnmmmnmmnnmnnmmnmnnmnnmnnnmnmnnmmmmmnmnnmmmnmnmmnmmnmnmmnmmmnmmmmmmnmmmmmmnmnnmnmnmnmmmmmmnmmnnnnnmmnmnmmmmmmmmmmmnmnmnnmmmnnmnmnmnmnmnmnnmmnmmnmmnnmnmnmnnmnmmmnmmnnmmnnmnmnmnmmmmnmnmnnmnnmmnnmmmmmmnnnmnnnnmmmmmnnmnmnnnnnnnmnnnmmmnnmnmnmmnmnnnnnnmnmmmmmmnnmmnmnnmmmmnnnnnmmmmmmmmnmmmmnmnmnnmmmnnmnmnmnmnmnmmnnnnnnmmmnmnmmmmnnmmnmnnmnmmmnnmmmnmnmnmmmmmnmmmnmmmmnmnmnnnmmmmnmnmmnnnnnnnmmmmnnmnmnnnnmnmmnmnnmmmnnnnnnmnnnmnnmmnmmmnnmnnnnnmmmnmnmmmnnnmnnnmmmnmmnnmnnnnmnnnnmmnnmmnnmnmmnnmmnnmnnnnmnnmmnmnmnnmmmnnnmnnmmmnnmnmmmmnnnmmmnnmnnnmmnmnmmnmmnmnnnmnmmnmmnnnmnnnnnmnnnmnmmmmnnnnmnmmnmmnnmmmnmnmmnmnmnmnmmmmmnmnmmnnnnmnmmnmnnnmnnmmnnnnnmnmnmmnmmmnmmmmmmnmmnnnnnmnmmmnnnnnmmmnnmmnmnnnnnmmmmnmmmmmmmmnnnnmnmnnmnmmnnnnmmmmmmmmmnnmmmnmmnmmmmnnmnnnmmmnmnnmnnnmnmmnnmmmnnmmnmmnnmnmnmmnmmmmmnmmnmnnnnnnmnnnmnnmmmmnmnnnmmmmmmmmmmnnmnnmnmmnmmnnnmmnnmmnmnnmnmnnnnmmmmmmnnmnnnmmnnnnmnnmmnmnnmmnmmnnmnnmnnmmnmmmmnnnnnmmmmmmnmnnnmmnnnmnnnmnmmmnmmnnnnmnmnnnnnnnnnnnmmmnmnnnnmnmnnmnnnmmmnnnmnmnmmmmmmnnnnmmmnmnmmmnnmnnmnmmnnmnmnmnnnmmnnmmmnmmmnnnmmmnmmmnnnnnmnmnmnmnmmnmnnmmnnmmnnmnmnmmnmnnnmmnnnnmmmmmmnnnnmmnnmmmnnnnmnnnnnmmnnnmnmnnmnnnmmmmmmmmnnnnmnnnmmnmnnmnnnmnnmnmnnmmnmnmmmmmmmmnmmnmmnnmmnnnmmnmnnnmmnmnmnmmnnnnmnnnmmnnmmnnnmmmmnnmmnnnnmmmnmnnmmmnnmnmnnnmmmnnmmnnmnnnnnmnnnmmmmmmmmmmnnnmnmmmmmmmmnmmmmmnmnmmnmnnnnmmnmnmmmmmnmnnnmmmmmnmnmmnmmnnnmnmmnmnnnmnnnnnmmmnnmnnnmnmmnmnnnmmnnnmnmnmmmmnmnmmmmnmnnmnnmnmnmmmmnmnnnnmnmmnmnmmmnmmmmmmmmmnmmnmnmnnmnnnnmnnnmmmmnmmnmmnmmnmnmmmmnmnmmmnnnnmmmmnmmnmnmmmmnmnmnmmnmnnmnnmnnnmnnmnnmmmmmmnnmnmnnmnmnnmmnnnmmnmmnmmmmnnnmnnmmnmnmnmmmnnmnmmnmmnnnmnnnnmmnnnmmnmnnnnmmnnnmnmmnmmnmmnnmmmmnmmmmmnmnnnnnnnmnnmnnnnmnnnmnmmmnnmmmmmmnnnnmmmnmmmmnnmnmmnnmmnnmmnnnnmnnmmmnmnnnmmmnnnmnmnnmmmmmmnmmmnmmmmnnnnmmmnnnmnnnnnnnmnmnnmnnnnmnmmnmnnnnmnmmmnmmnmmnmmmnmmmnmnnnnmmmnmnmnnnmmnmnnmmnmmnnmnmnmnnmnnmnnmnmnnmnnmnnmmnmnmnnmmmnnnnmmnnmnmnnnmnnmnmnnmnnnnnmmmmmnmnmnnmmnnmmmmmnnmmmmmnnnmnnnmmmnmmmmnmmmmmmnnmnmmnnnnmnnmmnnnmnnmmnnmmmmnmmmnmmmmnmnmnmnnnmnmmmmmmnmmnnmnnmmnnmnnmmmmnmnnmmmm ___ mWins = Columns 1 through 29 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 0 0 1 1 0 1 Columns 30 through 58 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 0 0 0 Columns 59 through 87 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 Columns 88 through 116 0 1 0 1 1 1 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 0 Columns 117 through 145 1 1 0 0 0 1 1 0 0 0 1 0 0 0 1 1 1 0 1 0 1 1 1 1 0 1 1 1 1 Columns 146 through 174 0 1 0 0 0 1 1 0 0 1 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 Columns 175 through 203 1 0 1 0 0 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 0 Columns 204 through 232 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 0 Columns 233 through 261 1 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 1 0 1 1 0 1 0 1 1 0 1 1 1 Columns 262 through 290 0 0 1 0 1 0 1 0 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 ...

5   Fail
m = 2; n = 4; y_correct = 1/3; assert(abs(penny_flip(m, n)-y_correct) <= 0.01)

mmnmnnnnmnnnnnnmmmmmmnnmnnnmnnmmmnmmnmnnnnnnmmmmmmmnnnmnmnmmnnmmmmnmnmnmmnnnnmnmmnmmmmnmnnnmmmmmmnnnmmmmmmnnmnmmmnnnnnmmmnmnmmnnmnmnmnnnnnnmmnnnmmnmnnnnmmnnmmnmmmmnmnnnmmnmnnmmnnmmnnnnnmnmnnmmnnmnmnnnnnnmmnnnmnnmnnnnmmnmnmnmnnnmnmnnmnmnmnnmmnmmnnmnnmnnnmnnnnnmnmnnnmnnmmnnmnnnnmmnmmnmmnnnmmmmnnnmmmmmnnmmnnmmmnmmnmnnnmnnnmmmmmmmmnmmnnmnnnmnmnnmnnmnmnnnmmmmmnmmmmnnmmmnmnnmnmmmnnnmmnmnmnnnnnnnmnmnmnnmmmmmmmmnmmnnmnnnnnmnnnmmnmnmnmnmmnnnnnnmmnnnnmmnnmnmmnmnnnmnmmmnnnnmmnmnnnnmmnmnmnnmnmnmmnmnmmnmnmnnmmmnmnnmnmnmnmmmmnmnnmmnmnnnnmmnnmnnnmnmmnmmmnnmmmmnnmmmmmnmmmnmmmnmnnmnmmmmnmnmmnmmnnmnmnmmnmmnnnmmmmnnmnmmmmmmmmnmnnmmmnnnnnmmnnnmmmmnmnnnnnmnnmnnnmmnnmnmmmmmmnmnnnmmmmnnnnmmmnnmnnnnnnnnmmnmnnnnnmnmmmnmnmmmmnnmmnnnmnnnnnmmmnmnnnmmmmmnnmmmnnnmnnmnnmnmmnnnnnmmmnnmmnmmmnnnnmmmmnmnnnmmnnnnnnmnmmmnnnnnmmnnmmnmmmmmnnnnnnmmmmnnmmmmnmnmmnmnmmnnnnmmnmnmnnnnnmmmnnnmnnmnnnnnmnmnnmmmmnnmmmmnmmnmmnmnnnnmmnmnnmmmmnmmmmmmmmmnnmnnmmmmmnmnmmnnnnnnmnnnmmnmnmnmmmmmmnmnnmnmmnmmnnnmnnmnnnmmnmnmmnmmmnmnmmmnmnnnnmmmmmnmnmnmnmnmnnnmmmmnnnnmnnmnnnmmmmmnnmmnnmnmnnnmmnnmmmnmmnmmnnnnnmnnmnmnnmnnnnmmnmmnnmnmmmnmnmmmmnnmnmnnmmmmnmmnmnmmmmmnmmmnnnmnnnmmmmmnnnnmmnnmnmnmnnmmnnnmmmnmmmnnnnmmmnnmnnnnmnnmmmmmmnnmnnmmmnnmnnnmnnmnmnmmnmnnmnmnmmnnmnmmnmnnnnmnnmmmnmmmmnmnnnmnnnnnnmmnmnnmmmmmnnmmnmnnnmmnmmnmmmnmmnnnnmnnnmmnmnmnnnnnnmnmmmnmmmnmmnmnnmmnnnnnmnmnnmmnmmnmmmmnmnmmnmnmnmmnnnmnnmmmmnmmnmnmnnmmmnmnnnmnnmmmnnnnnnmnnnnmmmmnnmnmmnnnmnnnmnmmnmmmmnnmmnnmnnmmnmmnnmmnmnnnnmnmmmmnmmnnmmmnnmnmmnnnmmnmmmnnmnmmmnnmmmmmnnnnnnnnmnnnnmmnmmmnmmnmnmmmmnnmmnnnnmnnnnnnnnnnnnnnnmmnmnnmnnmmmmnnnnnmnmmnmnmmmnmnmnmnnnnnnmmmnnmmmnmmnmnnmnnmmnnnnnnmnnmnmmnnnmmmmnmnmmmmmnnnmmmnnnnnnnnnmnnnnnnmmmnnmmnmmmnnmmnnmnnnnmmmnmmmmnmmnmmmmmmmnmmnmnmnmmmmmmnnmmnmnnnnmmnmnmnmnmnmnnmmnnmmmnmmnmmnmnmmnnnmnnmmnnmnnmnnmmmnnmmnnnnnnnmmnnnmmmmnmmmmnnmnnnmnnnnnnnnnmnmmmmnnmnnmmmmnnnnnmnnmmmnnnnmnmnmmnmnnnnmnnmmnmnnmnnmnnnnmmnmnnmnnnmnnnmmmnnmnnnmmmnmmnmmmmnmmnmmnmmmnnnmnnnmnnmmnmnnmmnmnnmnnnnmnmmmnnmmmmmnnnmnnnnmnnmmnnnnnmnnnnmnmnnnmnmnnmmmmnnnmnmmnmmmmmmmnnnnmmmmnnnmnmmmnmnnnmmmnnnmnnnnmmnnnnmnnmmmnnmmnnnnmnmmnmmnmmmnnmmnnnmmmnnmnnnnmmnmnnnmnnmmnmmmmmnmmnnnnmnnnnnmmmnnnmnmnmmnnmnnnnmnmmmnnnnnmnmmmmnmnmmmmmmnnnnmnmnmmmnnmmnnnnmmmnnnmmnmnmnmnnnmmnnnmmnnmnnnmnmmmmnnnnmmnnnmnnmmmnnmnmmmmmnmmmmnnnmmmnnmnmmmnmmmmmmnmmmnnmnmnnmmnmmnmmmmmmmnnmmnnmnmnnnmmnmmmmnnnnnmmnnmmnmnnnmmnmmnmmnmmmnmnnmmmmnmnnnmmmmnnnnnnmmnmnmmmmmnmnnmnmnmmnmnmnnnnnnnmmnnmmnnmmnmmmnnnnmnmmnnnnmmnnnnmmmmmmmnmnnnnnmmnmnmnnnmnnmmmmmmmmmnnmnmnnmmmmmnnnmmmmmnmmnmmmmmmmmmnnmmmmnmmmmmmmnmnnnnmnnmmnmnmnnnmmmnnmnmmnmmnmnnmnmnnnnnnmnnnmnnmnnnnnmmnmnmnmnmnmnnmmmmmnnmmmnmnnnnnnmnmnmmmnmmnnmmnmmnmmmnmmmnnnnmnnnnnmnmnnnmnnnnnnnmnnnnnmnmnnmnmmmmmmmnnnnnnmnmnmmnnnnnnmmmnmmnnmnnnnnmmmmnnnmnmnnnnnmnmmnmmmmmmmmmmmmmnnmmnmmmnnnmnnmnmnmnnmnnmmmnmmmmnmmnnmnnnnmnnmmnnnnnnnmmmmnmmmnmmmnmnnmmnmnnmmmnmnnnmnmnnmnnmnnmmmmmnnmmmnnnmnmmnnnmnnmnnmmnnmmnnmmnnmmmnmnnmmnnnnmnmnmmmmnnmnmnmmmmnnmnmmmnnmnmmmmnnnnmnnmnnmmnnnmmnmmmnmmnmnnnnnmnnnnmnnmnmmnmnnnmmnmmnnnmmnmmnnnmmmnnmnnnmmnnnnmmmmnnnmmmmnnmmmnmnnmmmnmmnnmnmnmnmmmnmmnmmnmnnmnnmmmmnnmmmnnmmmmmnnmmnmmnmnnmmmnnnnmmmmnnnmmnnmmmnmmmmmnnmmnmnmmmmmnmnmnmnmnnmmmnnnmnnmnmmmnmmmmmnnmnmmnnmnmnnmmmnmnnnmnmnnnmnnnmmmnmnnnmnnnmnnmnmnmmmnnnnmmmmnmnnnmnnnnmnnmnnmmnmnnmnmmnnnmnmmmnnnmnnnnmmnmmmnnnnnmnmnnmmmmnnmnnnnmmnmmnnnnnnmmmnmmmnmmmnnnmmmmnmnmnnmnnnmmmmmmnnmnmnmnmmnmnnnmnnmnnmnmnmmmnmmnmmnnmnmnmnnnmnmmnnnmnmnnnnnmmmmmmnnnmmmnnmmnmmmmmnnnmnmmmnmmnmmnnmnnnmnmmnnmmnmmnnnnmnmmmnmmmnmmmnmmnmmmmnmmnmmmmnmmmnmmnmmmmnnmmmnmmnnnmnmmnmnnmmnmnnmnnnnnmnnnnnmnnmmmmmmmmmmnnmmmmmnmnnnnmmnmmnnnnmnmnmnnnmnmmmnnmmmmnmnmnmmnmnnmmmmnmnnnnnnmmmnnmmmnnmmmnnmnnnmnmmmnmnnnnmnnmmnmmmnnmnnnnnnmmmmnnmnnnnmmmnmnmmmnnnnmnmmnmnmnnnnmnnnnnmmmmmmmnnmnnmmnmmnnmnmnmnnnnnmmnnmmmnnmnmnmmmmmnnmmmnmmmmmmnmmmnnnnmmmmnmnmnmmnmnnnnnmmmmnnmmnnmmmmmmnnmmmnmnmmmmnnnmnnnnmnnnnmnnmmmnmmnmnmnmnmnnnnnnnmmmnnmmnmmnmnmnnmmnnnnmmmmnmmmmnnnnmnmmnnmmmnnmmmmmmnnnmnmmmnnnnnmmmmmnnnmnnmnnnmnmnmmnmmnmmmmnmmmnnnnnnmnmnmmnmnnmnmnmmmmnmnmnmmmmmmmmnnmnnnmmnmmnnnnmnnmmmnmnmmnmmmmnmnnnmnmmmmmnnnmnnnnnmmmnmmmnnmnnnnmmmmnmmmnmnnnnnmmmnnnnmmmnnmmmmnmmmmnmnnmmnnnmnnmnmmnmnnmnmmnmnnnmnmnmnnnmnmmnmmmnmmnnmnmmmmnmmmmnmmmmmnmmnnmnmnmmnmmmmnnmmmmnmmmmmmnmmmnmnnnmmmnnmnmnnnmnmmmmnmmmmmnnmmmnmnmnmmmnmnnmnmmmmnmmnnmmnnnnmmnmnmmnmnnmnmnnnmnnnnmnmnmnnnnnnmmnmmmnnmnmnmnnnnmmnmnnmnmmnnmmmnnnmnmnmmnmnnmmmmmmnnnmnmmmnmmmnnmmmmmnmmnnmnmnmmmnnmmnnnnnnnnmnmmnnmnmmmnmmmmnnnnnmmmmmmnmmnmnmnmnnmmnmnmmnnnnmnnnnnmmmnnnnnnnnmnnmmmnmmmmmnnnmnnmmmmnnmmmmmnmnnnnnmnmnnnnnmnnnmnmnnnnmmmnnnmmnmmmmmnmnnmmnmnnnnmnnnnnmmmmmmnnnmmnmmnnmnnnmmnmnmnnmnnnmnnnmnmnmnmmnmnnmnmnmnnmmmmmmmnnnmmmmnmmnmnnnnmmnmnmnmnnnnnmmnmnnnmmmnmnnmmmmmnnmnmnnmnnnmmnmmmnnnnnmmmnnnnnmnnmmnmmmmmnnnmmmmnmmnnmnnnmmmmmmnnnmnnmmnnmmnmmnnnmmnnnmnnmmnnmnmnnmmmmmmnnmmnmmmnnmmmmmnnmnmmnmmnmnnnnnmmnnmmnnnnmnnmmmmnmnnnmnmmmmmnnnmmmmmmmmmmnnmnnmnmmnnnnnmnnnnnmmnnmmnnnmmnmnnnmmnnnmmmmmnnmmnmnnnmnmmmmnnnnmmnmmmnmnnmnmnnmmmmmnnmmmmmnmmnmmnmmmnmnmmnnmnmnnmmnnmnmnmmnmmnnnmnnmnmnnnmnmmnnnnnmmnmmnnmmnmmnnmmmmmnmmmnmmnmmnmnnmnmmnmmmmnnmnnnmmnmnmnnmnmnmnmnmnmnmmnnmmmmnmmmmnmnnnmnmnmmmnmnmmmnmmnmmnnmnnmmnmnmmnnnnmmnmmmnnmnnmnmnmnmnnmmmnmnnmmmnmnnmmmnmnmnnmmmmmmmmnnmmnmmnnmmnmnmmmnmmmmmnmmnnnmmnmnmmmmnmnmmnnnnnmnmmmmnmmnmmnnmmmmmmmnmmmmmnnmmmmnmnmmmmmnmnnnnnnnmnmmmnmmmmmmmmnnnmmnnnnnnnmmnmmnmmmnmmmmmmmmnmnnmnmmmnmmnnnnmmmmnnmmmnmmnmmnnmmmmnnnmmmmnmmnmnmnmmnnmnmnnmmmnnmnmmnmnmnmnnmnmmnmnnmnmmnnmnmnnmnnmmmnnmnmmmmnmnnmmnmnmnmmmnnmmmnnnmmmnnmmmnnnmmmmmmmnmmnmnnmnmmmnnnmmnmnmmnnnmmmmmmmmnmmnnmmnnmmnmnnmmnnnmnmnmnnnmnnmmnmmnnmmnmnnmnnmnmnmmmnmnnmnnmmnmnmnnnnnmmnnnnmmmmnnnnmmnmnmnmnmmnnmmmnnnnmmmnmnnmmmmmmmmmmnmmnnnmnmmmnmmnnnmnmnmnmnmmmnmnmmmnmmnnmnnnnmmnnnnmmmnmmmmmnnmnnmnnmmmnmnmnmmnnnmnnmmmnnmnnmmmmmmnmmmmnnnnmmnmmmnmmnnmnnmnnnnmnnnnnnmmnmmmmnnmnnnnmnnmnnnmmmmmmmmnnmmnnmnnnnnnmmnmmnmnmnnnmmnmmmnnmmnmmmnmnmmnnmmnmmmnmmnnnmnmnmmmmnnmmmnnnmnmnnmmmmmmmnnnmmmnnnmnnnnnnmnmmnnmnnmmmmmmmnmnnmmnmmnnnmmmmmnmnnnnnnnnmmmmnnnmmmnmmmnmnmnnnnnmmmmnmmnmmnmnnmnmnmnnmmnmnmnmmmnnnmmmmmnmmnnmmmmnnnmnmmmmnnmmnmmmmmmmnmmnnmmnmnnmnmmnmmmnnnmnnnnmmnmnmmnmmnnmnmnmmnmnmnmmnmnmmmmmmnnmmnnnmmnnmmnnnnmmmmmnnmmmmnmnmnmmnmmnnmmmmmmmnnnnnnnmnmmmmmmmmnmnmnmmnnnmnmmmmmmmmnmnnnmnmmnmnmnmmmnnmnnnnmmmnmnmmmnmnmnnnnnnmmmmmmmmmnmnnmnnnmnnmmnmnmnnnnmnmnnnnmnmnnnmmmnmnnmnnmnmnnnmmmmnmnmmnnnnnnnmnmmnnnmmnmnnnnmmmmnnmnmnnnmnnnnmnnmmnnnmmnnmmmmmmnnnmnnnmnmnnmnnmnmmnmmmmnnmnmmnnmmnmnmmmmnnmnmnnmnmnnnnmmmmmmmnnnnmmnmmmmnnmmnnnmnmmnnmmmnnmmnmnmmmmnmmmnnnmnmnmmmmmnmmnnnnmmmmmnnmmnmnnmnnmnmnmnnmmmnmmnnnmmmmnnnmnmmmnmnmnmnmnmmmnmmnnmmmnnnmnnmmmmnmmnnnnmnmmnnmnmnnmnnmnmmnnmmnnnmmnnmmnnnmnmmnmmnnmmnnnnmmmnnnnnnmmnnnmnmnnmmmmmmmmmmnmnmnmnnmmmmmmmnmnmmmmnnnnnmmmmmnmnnmnmmmmnnmmnmnmnmnmnmmnnnmnnmmmmmmnmnmnnmmmmmnmmnmmmmmmnmnmmmmmmmmnmnmmmmmnnmmmmnnnnnmmmnnnnmmmmnmnmnmnmnnnnmnnmmnnnmmmnnmmmmnmmnnmmmmnmnnnnmmmnmmnnmnmnmnmmmnmmnmmmmnmnmmnmmmmmnmnmmmmmnnmmmnnnnmnmmmnnmmnmmmmnmnnmnnnmnmnmnnmmmmnmnmnmmnnmmnnnmnnnnmmnmnnmmnnmnmnmmmnnmnmnmmnnmnnmmmnmnmmnmnnmnmmmmmmmnnnnmmnmnmnmnnmnmnnnmnnmmnnnnmmmmnmmnmnmmnmnnmnnmmmmmnmnnnmmnnnmnnnmnnmnnnmmmmmmnnnmnnnnmnnnnmmmnmmmmnmnnmnmmmnnnmnnnnnmmmmnnmmnmmmmnnnmmnmmmmnnnmnnnnnnmmnmnmnnmmnmnmnmmmmmnnnmmnmnmnmmnnnmmmmnmmmnmmnnmnnnmnmnnmnnmnmmmnnnnmnmnnmnmnnnnmmnmnmmmmnmnmnnmmmmmmmmnnmnmmnnmmnmmnnmmnmnmnmmnnmmnnmnmmnmmnmmmnnnnmmnnmnmmmmnnmmmmnmnnnnnnmnmnnmnnnnnnnnmmnnmmmmmmmmmmnmmmnnmnnnmnnmmnmnnnmmmmnmnmnmnmnnmmnmmmnmnmnmmnnmnnmmmmnnmnmnnnnnmnnnmnnnmnmnnnnmmmnmnmnnmnnnmmnnnnmmnnnmmmmnnmmnnmmmnmnmnnnmmmnnnnmnmnmnmmnmmnnnmnmmmmmnmmmnnmnmnnnnmnnnmmnnmnnmmmmnnnmmmnnnnnmmnnmmnmnmmmmmnnmnnmnmnnmnnmnmnnmmnmmnnnnmnnmnmmnmnmmnmmnmmmmnnmmnmnmmmnnnmmnmmmmnnmmmnnmmnmmmmmnnnnmmmnmmmmnmmnmmnnnmnmmnnnmnmmnmnmnnnnmmnnnnnmmnmnnnnnmnmmnmmnmmnmnnnmmnnnnnnnnmmmmnnmnnmmnnmnnmnnmmnmmnmmmmmnnnmmmnnnnnmnmnnmnnnnnnnnmnnnnmmnnnnnnmnmmnnnmmmmnmnnmmnnmmnnnnmmnmnmmnnnnnnmnnnmmmnmmmnmnmnmnmnnmmmnmmmnnnnnmnnnmnmnnnmnnmnnnmmnmmnmmnmnmnmmnmnmmmnnnmnmmnnmmmnmmnnmmnnnnnmnnmmmmmmnmmmmmnnmmmmmnmnnnmmmmmmnmmmmnmnnnmmnmmmnnnmnnnmnnnnnmmmnmnmmnnnnnnnmnnmnmmmnnmmmnnmmnmnnmmnnnmnmmnnnnmmnnmmmmmmmnnmmnmmmnnnmmnmmmnnnnmmnmnnnnnmnnnmmnmnnmnmmmnnmnmnnnmnnmmnnnnnnnmnmnmmmmnmnnmnnnmmmmnnnnnnnmnnmnmmnnnmnmnmmnnmmnmmnnnnmmmmmmnnmnnmnn ___ mWins = Columns 1 through 29 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 Columns 30 through 58 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 0 1 Columns 59 through 87 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 1 1 0 1 1 0 0 0 Columns 88 through 116 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 1 Columns 117 through 145 0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 Columns 146 through 174 0 1 1 1 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 Columns 175 through 203 0 1 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 Columns 204 through 232 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0 0 0 0 1 0 Columns 233 through 261 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 Columns 262 through 290 1 0 0 0 1 0 0 0 1 0 0 0 0 0...

Assertion failed.

6   Fail
m = 106; n = 47; y_correct = 0.6928; assert(abs(penny_flip(m, n)-y_correct) <= 0.01)

mmnmnmnmmnnnnmnmmmnnmnnnmmnnnnnmnmnmnmnmmnnnnmmnnnmnnmnnnmmnmnnnnnmnnnnnmmmmmnnnmnmnnmnmnnmnmmnmnnmmmnnmmmmmnmmmnmnnmnnmmmmmnmnmmnmnnmmnnmmmmmnnnmnnnmnnmmnmmmnnnmnmnnnmmmnmnmnnmmnnmnmnmmnnnmmnmnnmmnmnmnnmnmmnmmnnmmmmnnnnnnnnnmmnnmnmmmnnnnmnnmnnnnnnnnnnmmmnnnnnmnnmnmmmmmmnmnmnmmmnnnnnnnmnnmnnnnmmnmnmnmnmnnnmmmmnmnnmmmnnmmnmmnmnmnmmnnnnmmnnnnmnnmnmnmmnnmmmmmmmnmmnnmnnnnmnmnnnnnmnnmnnmnmnnnnmnmmnmmnnnnnmnnnmnnnnmmnmnnmmnnmnnmmmnmnmmmnnmmmmmnmmnmmnnmmmmmnnmnnmnnmnnnnmmmnnnmnmnnnmnnnnnnnmnnmmnnmmnmmmmmmmmmmmmnnnnnnnnnmmmmmmnnnnmnmmnnmnmnmnmnmmmmmnmnnnnnmmmnnnnmmnnmnmnmmnnmnmnnnmmmnmmnmnmnnnnnnmmnmnmnnnmnmnmmmnmnmnnnnmmnnnnnmnnmnmnmmmnmnmmnnnnnmnnmmmnmmnmmnmnnmnmnnnmnmnnmmnmmmmnmmnnmnmmmmnmmmmmnnmmnmmmmmnnnmnmmmnmnnnmnnmnmnmnmnnmmnmnmmnnnmnmnmnmmmmnmmnmmmmmmmnnmmmnnmmnnmmnnnmmnnnnmnmmnnnmmmnnnnmnmnmnmmnnnmnnnmnmmnmmnmnmnnmnmnmmmnmnnnnmmnmmnnmnnnmnnnmnmmnnnmnmmnmmmnmmnmnmmnnmmnnmnmnmnnmmnnnnnnmmnnmnmnmmmmnnmmnnmnnnnmmmmmnmmnmnnmmnmmnnmnnnmmnnnmnmnmnnnmmmnmmnmnmmnnmnnnnnmnnmmnnmmmnmmnnnnmnmnnmmnmmmmnnnmnmmmmnmmmnmmnnnnnnmmmnnnnnmmmmmnmmnnmmmmmnnnmmnmmmnmnnmmnnnnmnmnnmmnnnmnmmnnmmnmnnmmmnmnnmmmnmmnnnmmmmnmmnmnnmnnmmnnnmnmnmnmmmnmnnnmnmnnmnnnnmnmmnnnnnmmnmmmmmmnmmmmmmmnnmnnnnmnmmmnmnnmmnnnnmmmnmmnnmnnnnmnnnnmmnnmmnmnmnnnmmnnnmmnmmnmnmnnmnnnmnmnnmmmnmnmmnnmnnnnnnmnnmnmmnmnmnnnnmmmnmnmnnmmmmnnnmnmmnmnnmmmmnnmmmmnmnnnnnnnmmmmnmnmnmnmmnnmmnnnmmmmmnnmnmnnmmnmnnmnnmnnmnmmmmnnmnmmnmmmmmmmnnnmnnnnmnmnmmnmmmnmnmnnnmmnnmnnnmnnnnnnnmmnnmnnmmnnmmmmmnnnnnmmnmnmmnmnnnmnnnnmnnmmnmmmmnnmnnnnmmmmmmmmmnnnnnnmmmnmmnnmmmnnnnmmmmmmnmmnnmnnnmnnmmnmnmnnnmnnmnnmnmmnmnmmnmnmmmmnmnmmmnnmmnmnnmmnnmnmmnmnnnnmnnmnnnmnmmmmnmmmmnnmmmnmmnnmmmmnnnmnnmmmmmmmnmmmmmnnnnnmnnnmnmmnnnmmmnmmnmmnnnmmnnmnnnnmmmmnmnnnmnnmnmnmmnnnnnmnnnmnnmmnmnmnnnnmnnmnnmnnmmmmmmnnmnmnmnmnnnnnnmmnnnnnnmnnmmmmnmnmnnmnnmmnmnnmnmnnmmmmmmnnnnnnmmnnnnmmmmnnmmmmnmnmmmnmnmnnmnnmmnnnmmmmmnmmmmmnnnmmnnnnnnmmnnmnnmmmmmmmmnnmnnnmmnmnmnmmmnmmnnmmmnmnnmmnmmmmmnmmnmnmmmnnmnnmnmnnmnmmmnmmmmmmnmmmnnnmmmnmnnnmmmnnmmmnnnnmmnnnnmmnmmnmmmmnmmmnmnnmmmnmnmnnnmmnnnmmmnnmmnmnmnnmnnnmnmnnmnnnnnnnnnnnmnmmnmnmnnmmnmnmmnmmnnnnmnnnmnmmmmmnnmnnnnnmnnmmmnnmmnmnmnnnnnmmmnnmnmnmnnmnnmmnnmmmmnnmmmmmnmnnnmnmnmnmmmmmnnmnnnmnmmmmnmmmmmmnmnmmmnmmmmnnnmnmnmnnnmnnnmmnnmmnnmnnnnnmmmnnnmnnmnmmmmmnnnnnmmnnmmmmnmmmnmmnmmnmmmnnmmmmmmmmmmnmnnnnnnnmmnmnmnnnmnnmnmmmnnnnmnnmnnnmnmmmmnnnmnnmnnmmnmmnnmnmnnmmmmnnnnnnnmmmmmmnmnnmnnnnmmnnmmnmnmnmmmnnmmnnmmmnmmnmmmmmnnmmnmnnmnmnnnmnnmnmmmmmmnnnnnmmmmmnnmmnmnmmmmnmnnmmnmmnnmnnmnmmnmnnnnmmmnmmmmmmmnmnmmmnnnnnnnmnnmmmmnnnmmmnnnnnnmnnmmnmnnmmnmmmmnmnnnnnnmmmmnnnmmmnmmnnmnmnmmmnnmnnmnmnmmmmmnmnmmnmmmnmnnmnnnnmmnmmmmnmmmnmmnmmmmnnmnnnnnmnnnnnnmmmmnnmmnnmnnnnmmmnnnmnmnmnnnmmmnnmmnnmnmmnnmmmmmmmnmnmmmmmnnnmmnmmmnmmnmmnnmmmnnmmnmmmnnnmnnnnnmnnnmmnmnnmnmnnnmmnmmmmnmmnnnnmnmmnmnnmnnnmnnmnnmnnmnnmnnmnnnnmnmnmnmmmmnnnmnmnmmmmnnnnmmnnnmmmmmmmnnnmnnmmnmmmmnnnmmmnmnnnnmmmmnnnnmnnmnnnnmnnnnnmmmmmnnnnmnnnnnnnnmmnmmnmnnmmnnmmnmmnmmnmnnnnnmmmnmnnnnmnnnnnnmmnmmmmnmnnnmnmnnnnmnnmmmnnmmmnnnnnmmnnnmnnmmmnmnmnnnnmnmmnnmnmmmmmnmnnmmmmmmmmmnmnmnmmmmnnnmnnnnnmmmmnmmnmnmnmnnnnnnmmmnmmmmnnnmmmmnnmnnmmnnmmnnnmmmmnnnnmmnnmmnmmmmmnmmnnmmnnnnmmnmmnmmmmnmmmmmmmmmnmnmnmmmnmmmnmmnnnmmmmmnnnmmnmnnmmnnnmnnnmmnmmmmmnmmnmmmmmmnmmnmmnmmmnmmnmmmnnmmnmnnmmmnnmnmmmnmmmnnnnmnmnmmnnnnnmmmnmmnmnmnnnnmmmnmnmmmnnnnmnmmmnnnnnmmnnnmnnmmnmnnmnmnnnnnmmnnmmnnnmnmnnnmmmmmmmmnmmnnmmmmnmmnnmnmmnnmmnmnnmnnmmmnmmnnnnnmmnnnmnmmnnmmnnmnmnnnnnnnnmmmnnmmmnmnmnnnmnmmnmmmmnmnnnmmmmnmnmnnmmnnmnmmmmnnmnmnnnmmnnnmnnmnmnnmnnnnmnnnnmnmmmmnnmnnnnmnnnnmmnmnnnmmmnmmnnnmnnmmmmnnnmnnnnmmnnnmmnmmnnnmnnmnnmnmmmnmmmmmmmnmmmnmmmnmnnnnnnmnnnnmmnmmnmnnnmmmnnnmmmmmmmnnmmmmnnmmnmmnmmmnnnnmmnnnmnmnmmmnmnmnmnmnnnmmmnnnmnmmnnmmmmmnmnnmmnmnnmnnnnnmnnmmnnmnmmmnmnnnnnnmmmnmnmmmnnmmnmnmmmnmnmnmnmnnnnmnnnnnmmnnmmmmmnmmnnmnmnmmnmnnnnmnmnmmnmmmmmmnmnmmmmmnmmnmmnmmmmmmmnmmnnmnnmmnnnnnnnnmnmmmmnmmnnmnnnmmmnnnnmnnnmmnnmnmnnmmmnnmmmmmnmnmnmmnmnmmmnnmnmmmnnmmnmnmmmnnnmmnnmmmmnnnnmmnnnnmmmnmmmnmnnmmnmmmnnnnmmmmmnmmmmmnmmmmmmmmmnnmmnnnmnnmmnmnnmmmnnnnmmnnnnmmnmmnmmnnmmmnmnmmmnmmmmmmnnmnnnmmnmnnnmnmnmnmmnmmmmmmnnmnnmnnmnmnmmnnmmmnmnmmnnnmnnmmnnmmmnmmnnnmmnnnmmnnnnmnmnnnnnnnmmnnnnnmmnmnmnnmmmnnmmmnmnnmnmmmmmnmmmnmnmnmnmmnnmnnmmnmnnmnnnnmnmnmmmnnmnmnnnmnnnmnnnmmmnnmnmmmnnnnmnmnmmnmmnmmmmmmnmmnmmnmmnnnmmnmmmmnnmmmnnnmnnnnnmmnnmmmnmnnnmnnnmnnnnnnmnmmnmmnnnnmmnnmmmmnnnnmmmmmmnnmmmnnmmnnnnmmnnmnmnmnmnmmnmmnmmnmmmnmmnmmnnnmmnmnmmmmmmnnmnnnnnmnmmmnnnmmmmnmmmnnmnnmnmnnmmnmmmmmmmnmmmnmnnmmnnmmnnnmmmnnnnnmnnmnmnmmmmnmmmnnmnmmmmmnmnmmmmmmmmmmnnmnmmnmmnmmmmmmmmmnmmnnnmmnmnnnmnnmmmmmnnmnnmnmmmmmnmnnnnmnnmnmnnmnmmnnmmmnmnnnnnmnnnnmnnmmnmmmnnnnmnmmmnmnmnnmnmnmmnmmnmmmmmnmmmnmnmmmnnmmnmmmmmnmnnnmmnmmmnnnnmmmnmnmmmnnmnmnnmmnmmmmnmnmnmnnnmnnmmnmnnnnmnmnnnnmmnnnnmnmmmmmmnmmmnmmnmnmnnnmnnmnmnmnmnnnnnnmmmnnnnmnnnnmmmmmnmmnnnnmmnmnmnmnmmmmmnmmmnmnnmmmmmnnnnmmnnnmnnmnmnmmnmnnmnnnnmmnmmmnnmnnnnmnnnnmmnmmnmmmmmnmnnmnmnnnnnnnnmmmmnnnnnmnmnmnmnnmnmmmmnmmnnmnnmnnnmnnnnnmnnmmnmmnmmmnnmmmmnmmnnnmnnnmmnmnmmmnnnnmnmmnnnmnnmmnmnmmmnmnnnnnmmnnmmnnnnnnnnnnnmmmnmnmmmmmmnnmnmmnmnnmnnmmnmmnmmnmmmmmnmmnmnmmnmnnnnmmnmmmmnnmnnnmnnnnnnmnnnnnmmmnnmnmmnmmnmmmnnnnnnmmmmnmmnmnnmmmmmnnnnnnmmnmnnmnmnnmmmnnnmnnnnmnmnnmmmmmnnmmmmmmnmnmmmnmnmmmmmmmnnmmnmmnnmmmnmnmmmmmnnmnnnmmmnnmnnmnmnmmnmmmmmmmnmnnnnnmmnmnnnmnmnnnnnmnmmnnnnmmnmmnmnmnmnnmmmnmnnnmmmmmnnnmnnmnnnmmmnmmnmnmmnmmmmmmmnnnmnmnnmnmnnmnmmmnnnnnmmnnmmmnnmnnmmnnmmmmnmnmnnmmmmmmnnnmnmmnmmmmmmmnmnmmnmmmnnmmmmnnnnnnnmmmnmnmmmnnnmmmnnmmnmmnmmnmnmmmmmnmnmmmnmmmnmnnnnnnnmmmnnnnmnmmmmnmnmmmnnnmnnmnnnmmmmnmmmmmnmmmnnmmnmmnnnmmmnnnnnmmnmmnmmnmnnmnnnnmnmnmnnmnnnmnmnnmmmmnmmnmmmnmnnnmnnnmnnmnnnnmnmmmmmnmmmmmmnnmnmmmnmmnnmnmmnnnmnnnnmmnmnnnmnmnnnnmmmnmmnmnnnmnnnnmmnnmnmmnnmnnnmnmnnnmnmnnnmnmmmnmmmnmnmnnmmnmmmnnnmmnmnnmnnmmnnnnnnnnmnmmnnmnnmnnmnnmnmmnnnnmnmnmmnmnnnnnnnnmnnmmnmnnmnmmnnnnnnmmmnnmnnmmnmnmnmnmnmnnnnnmmnmnmnmnmnnnmmmmmmmnnnmnnnnmnnnnnnnnnnmnmmnmnnmmmnnmmmnmnnmmmnmmnmmmnnnmnnnmnnmnmmmmnnmmmnnmmmmnnmmnnmmmmmnnmnnmnmmnnnnmmnnmnmnmnmmnnmmmmmmnnnnnnmmmnmnnmmnnmnnnmmmnmnnnmnmnmnnmnmmmmnnnmmmmmmnmmnmnnmmnnmmnmmmnnnmnnnnnnmmnmmnmmmmnmmnnmnnmnmmnnmmmnmmmnnmnmmmmmmnnmmnmnmmmnmmnmmmmmmmmnnnnnmmmnnnmnmmnmnnnmnnmmmnnnmmmmnnnmmnmmmmmnmnmnmmnmmmmnnmmnnmmnmnnnnmmmmnmmnmnnmmmnmmmmmmnmmnmmmmmnmnnnmmmnmmmnnmnnmmmnnnmmmmnmmnnnmnmmmnmmmnmmmnmmnnnnmmmnmmmnnnnmmnnmmnnmnnnnmnmnmmnnmmnmmnmnmnnnnnnmnnmmnmmnnmnnnmnmnnmmmmmnnnnmmmnnnnnmnmmnmmnnmmmmnmnmmmnmmnmnmnnnmmnmmmnnnmmnmnmnnnnmmmnnnnmnmnmmmnmnnnnmnnmnmmmmnnnnnnnnnmmnmmnnnmmnmmnmmnmmmnnnnmmnnmmnnmnmnnmmnmmmnmmmmmnnmnmmmnnmmnnnnnnnmnmnmmmmmnmnmnnmnmnmnmmmmmnnnnnmmnmmnnnmmmmmmnnmnnnnnnmmnnmnnmnnnnnnnnnnmmnnnnmnmnmmnnnmnmnmnmnmnnmmnnmnnnmmnnnmnmnnmnnmmmnmmnnmnmnmmmnmmnmmnmnmnnnnnnmnmnmnnmmmmmnmmmmmnmmnnnnmnnmmmnmnmmnnnmnmnmnmnnmmmmmmnmmnmmnmmnnnnnmmnmmnmmnnmnmnmnmmmmmnmnmnmnmmmmmmnmmnnmmnnnmmnnnnmmmmnmmnmmmnmnmmnnnmnmnnmmmmnmmnnnnmmnmmmnmnmnnnnnmmnmnmmmmnnmnmmnmnnnmnnnmnnmnnnmnnmmnmmnmmmnnnmnnnnnnmmnnmnmnmnmmmmnmnmnmmnnmnmmmmmmnmnmnnmmmnmnmmmnmmmnnmnmnmmmmmmmmmnmnnnmnmnmnnnmmnnmmnnmmmmmnmnnmnmmmmmmnmnnnmmnmmmmmnnnmnmnnmnmmnnmnmnnmnmmmmmnnnmmmmnnnmnmnmnmmnnnmmmnnmmmnnmnmnmnmnnmnnmmmmmmmmmnnmmnmnnnmnnnmnmnmmmnnmnmmnnnmnnnmnmmmmnmnnmnnmmmmnnnmmnmnmnnnmmnmnmnnmnnnnmnnnnnmmnnnmnmnmmnmnmmnmnmmnnnnnmnmnmnnmnnnnnnmnnmnnnmnnnmmmmnmnnnmnmnnmnmmmnnnmnnmnmnmmnnnmnmnmmmmmnmmnmmmmmnmmnnnmmnnmmnmmmmnnmnnmnnnnnmmnnnmmmmmnnmnnmmmnnnmnmnmmmmmnmmmmnmmnnmnnmmmnnnmmmnmnmmnmmnnnmnnnnnnmmmmnnnmnmnnmmnmmmnnnmnmnnmnnnnmmmnmnmnmmmnnmnmnmnmmnnnmnmnmnmnmnnnmnmmmnmnmmmmmmmnmnmmnnmmnmnmnmmmnnmmnnmmmnmmmnmmnnmnnnmnmmnnmmmnnnnnnnmmnnnnmmnnnmmnmmmmnmnmnnnmmmnmnmmmmnnnmmmmnnnmnnnmmnmmnnmnmmmmmmnnnnnmnnnnmnnmmnmnnnnmnnnmmnnmmnmnmnmnmmmnnmmmnmmnnnnmmnnnmmmnmnnnnnmmnmmnnnmnnmmmnnmnmnnnmnmmmnmmmmmmmmmnnnnnnmmnnmnmnnnmmmnmmnnnmnnmmnmnmmmmmnmnnmnmmnnnmmnmnnmmmmnnnmnnmnmmnmnnnmnnnnmmmmnnmmnmnnnmnnnmnnnnmnnmnmmnmnmnmmmnnnnnnmmmnmmnnmnnnmnmmnmmnnnnmnnnnnnnmmmnmmnmnmnmnmmmnnmnmnmnnmnmnnmnnnnnmmmnnnmmmnnnnmnnmnmnnmmnmmmmnmnmnmmmmmmmnnnmnnmnnnnnnnnmnmmmmnmmmnnnnnnnmmmnnnnmnnnnmmmnmnmnmmmnmmmmmmnmnmnmmmmmmnmmmnnnmnnmnmnnnnmmnnmnnmmnnmmmmmmmnnmmnmmmnnmnmnnmmnnnmnnnmnmmmnmmnnmmnmmmmmnnmmmmnmmmmmmmmmmmnmmnnmmnmnnmnnmmnnmnmnnmmmnmmmnnmmmmnnmmnnmnnnmmmnnnnmmnnnnmmmmmnmmmmmmmmnnmmnnmnmmmnmnmmmmnmnnmmmmnmmnmmmnmmmmnmmnnnmnnnmnmmnnmnmmnmnmnnnnnmmmnnmnmnmnnnnnmnmnnmnnnnmnnnmmnmmnnnnmnmnnnmnnnmnnmmmnnnmnnmnnnmnmnnnmmmmnmmnmnmmmmmnmnnnnmnmmmnmmnnmnmmnmnmmmnnmnnnmmmmmmnnmnnmnnmnmmmnmmnmnmmmnmmnnnnmnmmnnnnmnmmnmnnmmnnmmmmmmnmmnmmnmnnmmnnmmmnmnmnmnnnmnmnmmnmnmnnnmnnnmmmnmnmnmnnnmmnnnmnmnnnmnnnmmmmmnnnnnmnnmmnmmnmnmmnmmnmmnmmmnmnmnnnmmnmmnnmmnnmmmnmmmmnnnnnmnnmmmnnmnmnmnnnmmnnnmnmnnnnnnmmmnmmnmnnmnmmnmmnnmnnmmmnnnnnmnmmmnmmmnnnnmmmmmmnnnmnnmmnmmmnnnmnnmmnmmnnnmmmnnmmmnnnnnmmnnnmnnmmmnnnmnnmnmnmnmnnnnnmnnmnmnmnmnmmnnnnnmnnmnnmnnmnmmmmnnnmnnnmnmnmnnnnmnnnnnnnmnmnmmnnnnmnnmmnmmnmnnmnmmnmmnmnnnmmnmnnnnmnmnmmnnnnnnmnmnmmmnnnnmmmnnnmmmmnnnnmnnnmnnnnmnmnmmnmnmnnmmmnmmmnnmmnnnnmmmmmnmmmmnnmmmmmnmnnmmnnmnmnmmmmmnnnmnnmmmmnmnmnnmnmmnnnnmnmmmmnnnnnmmmmmnnmmnmmmnmmmnnnnmnnmmmmmmnmnmnnnmnnnmmnmnnmmmmnnmmmnnmnmnmnmmnnmmmmmmmmnnnnnmnmmnmmmmnmmnnmmnnmmmnmnnmnnnnmnnmmnnnmnmmmmnmnnmnmnnmnmnmmnnnnnnmmmnnmnnmnmnmnmmmmmnnnmnnmmnmmnnmnnmmmmmnnnnmnmmmnmnmnmnnmmmmnnnmmnmnnmmmnmmnmmmnmmnmmmmmnnmmmnnnnnmnmnnnnnmnnnmmmmmmmmmmmmmmnmnnmmnmmnmnnnnnmmmmmnnmmnnnmmnnnnmnnnmnnnnmnmmmnnnmmmmmmmnnnmnnnmnnmmmnmnmnnnmnnnnmnmnmmnmmmnmnnnnnnnnnnmmmnmnnnmmmmnmmmmnnmmmnmnnmmmmmnnmnmmnmmmnnnnnnmmnmnnnmmmmnnmmnnnmnmmnnnnmnmmmmmmnmnmnmnnnnmnnnmmmmnnnmnnnmnnmnnmmmnmmnmmnnmmmmmmmmnnmnmnmmmmmnnmmnnmnnmmnmmmmnnnmnmmnmnnmmmmmmnmmmmnmnnmnmmmnmnmnmmmmmmnmnnmnnmnmmnmnnmmnmnmmmmnnnnmmnmnnmmmmnmmnmmmmnmnmnmmnmmmnmnmmnmmnnnmnnmmnnmmnmmnmmmmnmnnmnmnmnmmnmnmmnnmmmnnnmmmnmnnmnmnnnmnnmnnmnnnnnnmmmmnnnmmmmmnmnmmnnmnnmnnmmnmmnnnmmnmmmnmmnmmnnmnnnmmnmnmmnnmmnmnnmmmnmmmnmnnmmnnnnmnmmmmmnmnmmmnmmnmmmnnnmnnnnnnmmnmnmmnmmnmmnmnnnmnnmmmnmnnnmnmnnmnmnnmnmnnmnmnnmnnmmmmnnmnnnmmmmmmnmmmnnmmmnmnmmmnmmnnmnmmmnmmmmnmmmnmnmmnmnnnmmnmmnmmmnmmnnmnmnnmmnmmmmmnnnnnmmmnnnmmnnnmmmnnnnnnnmmnnnnnmmnmnmmmmmmnmmmmnnmmmnnnnnnmmmmmnmnmnmmnnnnnnmmnmmmmnnnnmnnmnnmmnmmnmmmmnmnmnnnmnnmnnnmmmmmnnnnnmmmnnnnmnnmmmnnnnmmmnnnnmmmnnmmnnmnnmmnnnmmnmmmmmmmmnmmmmnnmmmnmmmnmnnmmnnnnnnnnnmmmnnnmnmnnmmnmnmnnnnmnmnmn...

Assertion failed.

7   Fail
m = 3; n = 4; y_correct = 0.4286; assert(abs(penny_flip(m, n)-y_correct) <= 0.01)

nmmmnmnnnnnmnmmmnmnnnnmmnnmmnnmnnnmnmnmnmmnnmmmnnnmmnmmnmmmnmnnmnmnmmmmnmnmmmnnnnnmmnmmmnmnnmmmnmnnmnmnnmmmnmnnnnmmnmmmnnmmnmmnnnmmmnnnnmnmmmmmnnnmnnmmnmnnmnmnnmmmmmnmmnnmmnnnnmmmmmnnnmmnmmnnnnnmnmmnnnmnnmmnmnmnmnmmnmnnnnnmmmnmmnnmnnnnnnmnnnmmmnmnmnmmmnmnmnnmnnnmnnmnnnnnmnnmnnnnnnnnmnnmmnmmnnnnnmmmmnmnnmnmmnmmnnnmmnnmnmnnnmmmnmmnnnnmnnnmnnnnmmnnnnnmmmmmmmnnmmmmmnmmmnnmmnmmnnmmnnmnmmmmnnmnmnmmmmnmmmnmmnnmmnmmnnmmnnmnnmnnmmnnmnnnnmmmmnmmnnnnmnnmnmmnmnmmmnmmmnnmnmmnnmmmnnmmmmnmmnnnnmnnnmnnnmnmmmnnnnmmmnmmnnnnnmnmnnnnnmmnmmnnmnnnnnmnmmnnnnmnmmnmnmmmmmnnmnnnnmmnmmnnnnnmnnnmmnnnmnmmmnmnmnmmnmnnmnmnnmmnnmmnnmmnmmmnnnmnnmmnnnnmnnmnnnmmmmnmnnmnmnnmmnmnmnnnnmmmnnnmmnnmmmmmnnnnmmmnnnnmmmnmmmnnnmmmmmnnmmmmnnmmmmnmmmmmmmmmnnnmnmnmmmmmmmnnnmmnnmnnnnmmmnmnnnmmmnnmmnmnnmmmmnnnmmnmnnmmnmnmmmnmnmmnnmmnnmmnmnmnnnnnnmmnmmmmmmnnmnmnnnmnnnnmmmnnmmmmmmmmnnnmmmnnnnmmmmmnmnmmnmmnmnnmmnmnnmmnnnmnmmmmmnmnnmmnmnnmnnnmmnnmnnmmmmmmnnmmnnnnmnnnnnmmmnnnmnmnmnnmnnmnnnmnnmnnnnnnmnmnmmnmmnnnmnnmnnmnnnmmmnnmmmmmnmmnmnnnmmnnmmnmmnmnmmmmmnnmmnnnnmmmnnmnmmnnnnmnmmmmnnnmnmnmnmnmnnmnmmmnmnmnnmnmmnnnnnnnnnnnmmmmmmnmmnmmmnmnmnnnnmnmnnmmmnmmnmnnnmnnmmnmnmmmnmmnmnmmmnmmnnnnnnmmnnmnnnmmnnnmnnnmmnnnmnnnnnmmnnnnnmnnnmnnnnnmmnmmmmnmnmmmmnmmmmmnnnmmmnnmnnnmmmnmnmmmmmmnnmmmmmnmmmnnmmmnmmnnmmnmmmnnnmmnmmmnmmnmnnnmmmmnnmnmnnmmnnnnmnnmmmnmnmnmmmnmnnnmmnmnnnmmmmmmmnmnnmnnnmnnnnmnmmmnmnnnnnmmnmmmnmmmnmnmmmmnnnmmmnmnnmmnnmmmnmmmnmnnnnmnnmnmmmmmnnnmmmmmnnmnnnmnmnmmnnnmnmmmmmnnmmmnmnmnnnnnmmnmnmnnmnmmmnnnnnnmmnmnmmnnmnmmnnmnnmnnmmmnmmmmnmnnnnmnmnmmmnmnmnnmnnmnnnmnnmnnmnmmnmmmmnnnmmmmmnmnmmmnmnmmnmmnnnmnmnmnnnnnmnmnmnmmmmnmnmmnmnmmmmnnmnnnmnnnnmnnmmmnmmnnnmmnmnmmnnmnnnnmnmmmmmmmnnnnmnnnmnnmnmnnnmnnnnnnmnnmnnmmnnmmmmnnnmmnnmnmmnnmnnnmnmnnnmnmnmmmmnnmnnnnmnmmnmnnnnnnnmmmmnnmmnmmmnmmmnnnmnmmnmnmmnnmnnnnnnnmmnmnmnnnnmnnmmnnnnmmnmmnnnmnnnnmmnnmnnmmmnmmmmnmmnmmnnmnnnmnmnnnnnmnnnnmnnmmnmmmnmnmmnnmmnmnmnmmnmnnmmnnmmmnnmnnmnmmnnmmnmmmmnmnnnmnnnnnnmnnnmmmnnmmmmmnnnnnnmmnmmmnmmmnnmnmnmnmnnmnmmmmnnnmnmmmnnmnmmnnmmnnmnnmmnnmnnmnmmmnnnmnmmmmnmnnnnmmnmnnnmnmnmnmmnmmnmnnnmmmmnnnmmmmmmmnmnnmmnmnmmmmnmmnmnnnmnnnmmmmmmmmnmnnnnnmnmmnnmnnmmnmmnnnmmnnnmnmmmnmmnnnmmnmnmnmnnnnmnnmnmmnmmmmnmmmnmnmmmmmnnmnmmmnmnnmnmnnmmnnmnmnmmnmnmmnnmnnmnmnmnnnmmmmnmmnnnmnnnmnnmmnnnnnmmmmmmmmnmmnnmmnmnmmnnmmnnnnmmnnmnnnmmnmmnmnnnmnmnnmmnnmmmmnnnnmmnnmmnmmmnmmmnnmmmmnnmmnnnmnmnmmmmnnmmnnnmmnnnmmnmnnnmnmmmnmnnmnnmnmmmnmnnmnmmnnnmmmmmmmnmnnnmnnnnmmmmmnnnmmnnnmmnnnnnmmnnmnmnnmmmmmnmmnnmnmmnnmmnnnmmnnnnmmmnnmnnmnnmnmmnnnmmnnmmmmmnmmmmnnnnnmnnmmnmnnmmnmnnnmmmmnmmnmnmmnnmmnmnmmnmnmnmnmmmnmnnnnmnnmnmnmnmmmnnnnmnnmnmmmnmnnmnmnnmnnmmmmnnnmnmmmmnmmmnnnnnnnnmmmnmmmmnnnmmnmmnnnnmnnnnnnnmmnmnnnmmnmnmmnmnmmnmnmnmmnnmmnmmnmmmnnmmnmmmnnmmmnmnnnmmmmnmnnmnnmnnmmnmmmnmmmmnmmmmnnmmmnmmnmmmmnmmmmnmmnnnmmmnnnnmmnmmnnnmnnmmnnmmnnnnmnnnnmmmmmmnnmnmnnmnmmnmnmnmmmmnmmnmnmmmnnmmmnnmmnnmmnmmnmnnnmmmmnmmnnmmmmnmnnmmmnmmmnmmnnmmmmnmmnnmmmnmnnnnmnnmmmmmnmmnnnmnnnmmnmmnmnmnnnnnmmnnmnnnnnnmmnmnnnmmmnnnmnnmnmmmnmmnmnmnnmnmnmmmnmmmnmmnnmnnmnnnmmmmmmnmnmnmmnmmmmnnmnnmnnmmnmmnmnnmmnnnmmmnmnmnmnnmnnmnnmmnmnmmnmmnnnmnmnnmnmnmmnnnnmnmmnmnnnmnnmmnnnmmmnmmnnnnnnmnnmmnnnmmnnnmnmmnmmnmnnnnnnnmmmnmmnnnnnmnnmnmnnmnnnnnmmnnmmnnmmnnmmmnmnnnnmmnmmnnmnnnnnnmmnnmnnnmmmnmnmnmmmmnnmnnnmmnnnmnmnmmnnmnnnmnmmmmmmmmmnnnmnnmnnnmnmmmmnmnnnmmmnnmnmmnmnmnmmnnnnmnmnnnnnmnnnnnnnnmmmnmmnmnmnnmnnnnmnmnmnmmmmnnmmnnnmnnnmmmmmmmmnmmnnnnnmmnnnnmnmnnmmmmmmmmmmmnnmnmnnnmnnmnnnmnmnmnmmmmnnmmmnnmnmnmnmnmnnnnmmmmmnmmmmnmmmnnnmmnmmnmmmmmmnnmmnnnnnmmmnnmmmnnmnnnnmmnmnnnmmnmmnmnnmmnnnnmmnnnmnnnmmnnmnmnmmmnmnnnmnmnnmmnnmnmmnmnnmmmmnmnnmnnnmnnnmnmnnnmnnnmnmmnmnnnnnmmnmmmmnnmnnmmmmnmnmnnmnmnmnmnmnnmmnmmnnnnmmnnnnnmnmmnnmmmnmmmmmmmnmmnnnmnnnnmnmnnmmnnnnmnnmmnmmnmmnnmmmnmnnmmnmnnnnmnmmnnnnmmmmnnmnnnnmmmmnnnnmnnnnmnnnnmmnnnmnmnmmnmmnmnnnnnnmmnmmmmnmnmmnmnnmmmnnmmmmnnnmnnnmnmnnmnnnmnnnmnnmmmnnmmnmmnnnmmmmmnnmmmnmmnnnmmmnmmnmmmmmnnmnmnmnmmnmnnnmnnnnnmnmmnnnnmmnnmmmmnmnmmnmnnnmnmmnnnmmnmmnmnmnnmmnmmnmnnnnmnnnmmmmnmmmnnmmnnnmmnnnnnnmmnmmnmnmnnmnmmmmmmmmnmmnmnmmnmnmnnmmnmmmmmnmnnnnmnnmnnnmnnnmnmmmnnmnnnmnnmmnmnnnmmmmmnnnmmnnmnnnmmnnmnnmnmmmnnnnmnnnmnmnmmnmmmmmmmmmmnnnmmmnmnmmnmmnmnnnmmmnnnnnnnmnmnnmmmnmmnnmmmmnmnmnmmnmmnnmnmnnnmmnnnnmmmmmnnmmnnmmnnmnmmnnmnnmmnnnnnnnnnmnnmmnnmmnnmmnmmnnmmnnmnnmnmmnnnnnnmmnmnmnnmmnmnmmmmnnnmmnnnnnmmnmnmnnnnmmnmmmnnmnmnmnnmnnmmmnmmnmmnnmmmnmmmmnnnnmmnnnmmmnnnmnmnnnnmmmnnmnnnmmmnnmmnmmnnmnmnmnmnmnmmmnnnnnnmmmmmnmnmnmnnnnnnmnmnnnmmmnmnnnnnnmnmnmmmnnnmnnmmmnnnnnmmmnnmnmnnmmmmmmmmmmmnnmmmmmnmmmmnnmnmmnnmnmnnnmnnmmnnnnnnnnnmmmnmnmmnnmmnmnnmmmmnnnnnmmmnnnmnnnmmnmnnmmmmmnnmmnmmnnnnnmnnmmnnmmnnnnnmmnnnnnnnmnmmmnnmnnmmmnmnmmnnmnmmmmmmnnmnmmmmnmnmmmmmmnmmmmmmmmmmmnnnnnnnnmnmnmnnnmnnnnmnnmmmnmnmmmnmmmmmnmmnmnmnmnmmmnnnmnnmmnnnnnnmmnmnnnnmnmmnnmnmnmnnnnmmnmmmnmmmnmmmnmnmnmnmmmnnnnnnnnnmmmmnmmnnmmmmmmnmmmnnmmmmmnnmnnmmnnmnnmmnmmmmnnmmnmmnmnnnmmnmnnnnnmmnmnnmmmnmnnmnmnnmnmmmmnnmmnnnmnnmnnnnnmmmmmnnnmnmnnmnmmmmmnnmnmmmmnmmnmnmnnnmmnnmmnnnnnmnmmnmmmnnmmmnmmmnmmmnmmnnmmnmmnmmmmnnnmmnnmmnmnnnmnmmmmnmmmmmnmnnmnnnnnnnmmnnmmnnnmmnmnmnnmmmnmnnnmnnnnnnnnmnnmmnnnnnnmmnnnnnnmmmnnnmnnnmmmnmmnmmnmmmnnmnnnnmmnnmnnmmmnnnmmnmnmnmmmnmnmmmmmnnmmmmmnmmmmnnnnnnnmnnmnnmmmnmmnnnmnnmnnnmmmmmmnnnmnnnnnmmmnmnnmmmnmnnnnnmmmnnmnnnmmmnnmmnmmmmmnnnmnnnmnmmnmnmmnnnnnnnmmnnmnnnmnmmmmmmnnnmmnnmmmmnmnmmnmmmnnnnmmnnnnmmnnmmmmnmmnnnmnnnnnnnmnnnnnnnnnnnnnnnnnmmnnmmnmmnnmmmmmnmnmmnmmmnnnmnmnmmnmnnnmnnnmnnmnmmmmmnmmnnnmmmmnmnmnmmmnmnmmmnnmmmmmmmmmmmmmmmmmmnnmnmnmnmnmmnmnmmnnmmnmnnnnmmnmmnnmmmnmnmmmmnnmnmnmnmnnnnmmnmmnmmnmmnmnnmmmnmmnnnmmmnmmnnmmmnmmmnmmnmnnnnnmnnnnmnmnnmnnnnmmmmnnmnnmmnnmnnmnmnmnmnnmnmnmmnnnmnmnmnnmnmnnnnnnmmmmmnnnmmnnmnnnnmnnmnnnnmmnnnnnmmnnmnnnmnmnmmnnnmnmnmnmnnmmmmnmmmnmnnnnmmmnmnnnmmnnnnnmnmnnmmmnnnnnmnmmnmmmmmmnmnmnnnnmmmnnmmmmnnnnmmmmnmmnnnmnmmmnnnnmmnmmmmmnmmmnmnmmnnnmmnmnmmmmmmnnnmmmnnmmnmnnmmmmmnnmmnnmnnnnmnmmmnnmmmnnmnnnmmnnnnnnmmmmmmnnnnnnnmmnnmnnnmnnmnnmmmmnnnmmnnmmnmnnmmmnmnnmnmmmmmmmmnnnmmmmnnnnnmmnnmnnnnmmmmnmmmnmnnmmmmmnnmnnmmnmnmnnmnnmmnmmmnnnnmmmnmmmmnnnmnnmnmmnmmnmmnnnmnnmnmnnmnnnmmmnmnnmnmnnnmnnmmmnnnnmnmmmnnmnmmmnmmmnnmnnmnnmmnmnmnmnnnnnmnmnnmmmmnmnnnmmnmnnnnmmnnmnmnmmmmnnnmnnmmnmmnnmmmnnmnnnmnnnnnmmnnmnnmnnnnnmmmmmnnmnmnnnmmnnnnmnnnnnmnnnmmmnmmmnmmnnnmnnmnmmmmnmnnmnmnmnnnmmmmmmmnmnnmmmmnnnnmmmnnnmmnnnnmmmnmmmmnmnnmnmnnmmmmnmnnnmnnnnmmnmmmmnnmnnmmmmnmmnmmnnnmmnmmnnnmnnnnnmnnmnnnmnmnnnmnmnnmnnnnnnmnmmmnmmmmnmmmmnnnnnmmmnnnnmmnmnnmmmmmmnnnmmnmnnnnmnnnmmnnnnnnmmnnmmnnmnnmnnnnmnmnnmmmmnmmnmnnnmmmnmmnmnnmmmnnmnmnnmmnnnmmmnnmmnmnnmmnnnmnnmnmnnmnnmmnnnnnnnnmnmnmmmmmmmmnnnnmnmmnnmnmmnmnmnnnnnnmnnmnmmmnnnmnmmmmmnmmmmmmmmmnmnmmmmnnnmnmmnnnmmnnnnnnnnnnnnnmmmnmmnnmmmmmnmmmmnnmnnmnnnnnnmmmnmnnnmmmnmnnmmmnmnmmmnmmnnnmnmnmmnmnmnnnmnmnnnnnnnmnnmnnnmnmnnnnnnmnmnmmmnnmnmnmmnnnmmmnnnmmmnmnnnmnmnnmnnmmmmmmmnmnmmnmmnmnnmnnmnmmnmmnmmmmnmmmnmmnnmnnnnmmnnmmnnmmmnmnnnnnnmmnmnnnmmnnmnmmnmnmnmnnnmnmnmmnmmnmmmnmnmnnnmnmmmnnmmmnmmmnnmnnnmnnmmmmmnnnmnnmmmmmmmmmmnnmnnnnnmnnnnmmnmmmnmnnmnnmmmnmnnnnmmnnnmnnnnnnnnmnnmnmnnmmnmnmmmnnmnnmmnnnnnnnnmmmnmnnmmnnnmnnnmnmmmmnmnmmmnnnnmmmnmmnmnnmnnmmmmmmmnmmnnnnmmnmmmnmmnnmmnnmmnnmnnnnnmmnmmnnmmmnnmmnmmmnmmmnnmmmmmnnmmmmnmnnmmnmnmmnmnnmnmmnnmmmmmnnnnnmnnmnnnmmnmnnmmmnmmnnnnmnnmmmmmnnnnmmmmnnnnnmnmnmmmmnmnmnnmnmmmmnmmnmmnnmmmnnnnnnnnmmnnmmnmnnnnmmmmmnnnmmmmnmnmnnnnnmmmmmmnnnnmmnmnmmmmnnnnmnnnnnmmnnnmmmnnnmmnmmmmnnnmmmnmmmnmmnnnmmnmmmmmnnmmmnmmmnmnnnnmmmnnnnnmmnnmnnnnnmmmnmmnmnnnnmmmmnnnmnmmmmmnnnmmmnnnnmmmmmmmnnmnmnmmnnnmmnnmmmmmnnmmnmmnmmmmnmnnnmmmmmmmmnnmmmnnmmnnmmmnnmnmnnmmnmnmmnnmnnnnnnmnmnnnmnmmmmmnnnmmmnnmmmmnnmmmmmnmnmmmmnmmnmmnnnnmmmmmmnnmnmmmmnmnnmmnnmnnmmmnnmnnmmmmnmnnmnnmmnmnmnnnnmmnnnmnnmnmnnmnnnmmmnmmmmnnmnnnmmnmmnmnmmmnnnnnmmmnmnnnmnnmmnnmnnnmmmmnmnmmnmmnmnnmnmmnnmmmmmnmnmmmnmnnmmnmmnnmmnmnmnnnnmnnmmnnnmnmmnnnmnmmmnmnmnmnmmmnnnmmnmmmnnmmmnnmnmnmmmnnmnmmnmmmnmmmnnmmnmnnnmnmmmmmmmnnnnnnnmmnmmmmnmnnnnmmmnnmnmmnnmmmnmnnnmnmnnmmnnmnnnmnnnnmnnnmmnnmmnnnnnnnnnnnnmmnnmnnmmmmnmnmmmnmmnmmnnnmnnnnmmnnnnmnnmmnnmmmmnmnmmnmmnmmnmmnnnnmmmnmmmmnmmmmnmmnnmnnmnmnmmmmnmmmmnmnnnnmnnmmnmnmnnnnmmmmnmnnmmnmnmmmnmmmnnnnmmmmmnmmnmmmmmnmnmnnnnnmnmmnmmnmmnnnmmnmnmnnmnmnmmnnnnmmnmmmmnmnmmnnnmmnmmnmnmmnnmmnmnnnnmmmnnmnmnnmnnnmnnmmnnmnnmmmmmmnnnmmnmnmmnnmmnnmnmnmnmnmmmmmmmmnnmnnmmnmnnnnmnmnnnnmmnnmmmmmmmnnnnnmnnmnnnnmmmnnnmmnmmnmnmnnmnnnnmnnmmmmmnmmmmmnnmmnmmnmnnnmmnmmnmmnnnmmmnnnmnnmmmmmmmnnnnmnmnnmnmnnnmnnnnnmmmnnmnmnnmmmmmmmmnmnmnnmnmmmmmmnnnnmnmnmnnnnnnmmnmnmnnnmnnmnmnmmnmnmnnmnmnnnnnnmnmnmmmnmmnmmmnnmmmnmmnmmmmnmnnnnnmmmmnnmmnmmmmnnmmnmnnmmnnmnnmmnnmmnnnmmnmnmnnnnmnnnnmnnnmmmmmmnnmmmmmnmnmnmnnmnnmmmnmnmmmnmmnnnnnmnnmmnmnnnmmmnmmnnnmnnnnmnmmmmmmmnnmmmnmmnmnnnmnmnnmmmnnnmmmnnnnnmmmnmnmmnmmmmnmmnnnmmnmnnnmmnnmnnnnnmmnnnnmmnmnnnmnnnnmmmnmmnmmmnnnnmmnmnmnnmnmmmnnmnmnnnmmnmmnmmmnmnmnnnmmnnmmnnnmnnnnmnmmnnmnmnmnmnmnnnnmmnmnnnnmnmmmnmmmmnnmmnmmmnnnnmmmnnnmnmnmmnnnmnmmnmmmmmmnmmmnnnmmmmmnmmnmnnmmmnnnmmnmnmnmmnnnnnnnmmnmnnmmnmnnnnnmnnnmmmnmmmmmnmnmnnnnmnnmmmnmmnmmnmnnmnnmnmnnnmnnnmmnnmmmnnmnmmnnnnnnmnnmmnnmnmnmmnnnmmmnmnmnnmmnnnnmmnmmmmmmnnmmnmnnnnnnmnmmmmmmnmmmnnmnmnnmnnnmnmnnnmnmnmnmnnmmmmmnmmnnnnmnmnnmnnnmnnmmmmmnnmmnnmnnmmmnmnmmmnnnnnmmmnnmnnnnmnmmmnmnnmmmmmnnmnnnmmmmnnmnnmnmmnnnmmnmmmmmnnnnnnmmmnnmnnmnnmmmmmnmmnmmnmmnnnnmnnmmnnmmmnmmmmnmmmmmmnnmmmmmnnnmnmmnmnmmmnmnmnmnmnmnnnnmnnmmnmmmmmmmnmmmnnmmmmmmmnnnnmnnmmnmmnmmnnmmmnmnmnnnmmmnmnmmmmmmnmmnmnmmmmmmmmnmnnmmmmmmmnnmmnnmmmmmnmmnnnmmmnnmmmmnnnnnnnnnnmnnnnmnmnmmnnmnmnnmmnmmnnmnmmmmnmnmnmmmmmmmmmmmmmnnmmnmnnmnnnmmnnmmmmmmmnnmnnnmmnnmmnnmmnmnmnnnmmnnnmmnmmmmmnmnmmmmmnnnnnnmmnmmmnnnnmmnnnmnnmnmmnnmmmnnnnnnmnnnnmnnnmnnmmnmnmmmmmnnnmmmnnmmmmmmnmnnnnnmnnnmnmmnnmmnnmmmmmnnmnnmnnmnmmmmmmnmmmmnmnnnnmnmnnmmnnnnmnnmmmmmnmmnnmnnmnnmnnmmmmnmmmnnnmmnnmmnmmnmnnnnnnmmmmmmnnmmmmnmmnmmmmmmmnmnnnmnmmnnnnnnnmnmmnnmnmmnmnnnnnmnmmnnmnmmnnnnnnnnmnnnmnnmmnnmnmnmnmnnmmnmmnnmnmmmnnmmmnnnmnmmnnnmnnmnnnnmmmmmmmmnmnnnnmnmnmnmnnmnmnnnnmnnmnmnnmmmmnmmnnmmnnmnmnmnnnnmmmmmmmmnmnmnmmnmnmnnnmmmmnnnnnnmmmnnmnnnnnnnnmnmmmmmnnmmnmmnnnnnnmnnmmnmnnmnnnmnmmmnmnnnnmmmmnnnnnnnmmmnmnmmnnnnmmnnmmnmnnmnmmnmnmnmnnnmmmnmnnmmmnnmnmnmnmmmnnmmmmnmmmmnnnnnmmmnnnmnnmmmmnnnmnnnmmmmmmmmnnmmnnmmmmnmnnnmnmnnnmnmmmmmnnmmnnmmmmnnnmnmnnnnmnnnnmmmnnnnmmmnnnnnmmnmnmmmnmmnnmnmnmnmnnmnmnmnnmmmnnnmmnmmmnm...

Assertion failed.