(setq rules'((24 . 55) (38 . 32) (38 . 21) (48 . 51) (48 . 92) (48 . 14) (78 . 35) (78 . 54) (78 . 87) (78 . 44) (72 . 29) (72 . 65) (72 . 87) (72 . 82) (72 . 37) (23 . 56) (23 . 51) (23 . 81) (23 . 83) (23 . 25) (23 . 87) (25 . 14) (25 . 18) (25 . 55) (25 . 22) (25 . 15) (25 . 77) (25 . 17) (54 . 96) (54 . 65) (54 . 33) (54 . 21) (54 . 36) (54 . 29) (54 . 56) (54 . 89) (56 . 78) (56 . 88) (56 . 77) (56 . 52) (56 . 22) (56 . 81) (56 . 14) (56 . 85) (56 . 17) (33 . 23) (33 . 22) (33 . 83) (33 . 14) (33 . 89) (33 . 25) (33 . 55) (33 . 92) (33 . 72) (33 . 78) (96 . 78) (96 . 21) (96 . 14) (96 . 77) (96 . 92) (96 . 68) (96 . 88) (96 . 24) (96 . 83) (96 . 55) (96 . 91) (97 . 56) (97 . 54) (97 . 17) (97 . 43) (97 . 13) (97 . 33) (97 . 48) (97 . 96) (97 . 65) (97 . 89) (97 . 83) (97 . 37) (35 . 92) (35 . 23) (35 . 25) (35 . 52) (35 . 24) (35 . 33) (35 . 51) (35 . 21) (35 . 55) (35 . 88) (35 . 17) (35 . 56) (35 . 89) (52 . 44) (52 . 61) (52 . 88) (52 . 82) (52 . 64) (52 . 71) (52 . 51) (52 . 99) (52 . 97) (52 . 68) (52 . 85) (52 . 91) (52 . 18) (52 . 55) (22 . 43) (22 . 61) (22 . 72) (22 . 68) (22 . 15) (22 . 87) (22 . 64) (22 . 85) (22 . 97) (22 . 88) (22 . 51) (22 . 71) (22 . 18) (22 . 63) (22 . 91) (29 . 14) (29 . 81) (29 . 35) (29 . 89) (29 . 96) (29 . 21) (29 . 13) (29 . 36) (29 . 23) (29 . 65) (29 . 48) (29 . 17) (29 . 24) (29 . 52) (29 . 33) (29 . 99) (65 . 17) (65 . 15) (65 . 25) (65 . 48) (65 . 56) (65 . 22) (65 . 52) (65 . 21) (65 . 92) (65 . 23) (65 . 36) (65 . 83) (65 . 24) (65 . 55) (65 . 37) (65 . 89) (65 . 81) (36 . 77) (36 . 96) (36 . 83) (36 . 99) (36 . 56) (36 . 89) (36 . 68) (36 . 21) (36 . 55) (36 . 92) (36 . 78) (36 . 88) (36 . 51) (36 . 72) (36 . 52) (36 . 14) (36 . 24) (36 . 17) (32 . 24) (32 . 83) (32 . 13) (32 . 29) (32 . 21) (32 . 25) (32 . 92) (32 . 56) (32 . 33) (32 . 99) (32 . 96) (32 . 14) (32 . 35) (32 . 22) (32 . 88) (32 . 17) (32 . 65) (32 . 81) (32 . 37) (64 . 42) (64 . 48) (64 . 37) (64 . 96) (64 . 44) (64 . 56) (64 . 71) (64 . 76) (64 . 36) (64 . 29) (64 . 33) (64 . 23) (64 . 65) (64 . 13) (64 . 25) (64 . 38) (64 . 43) (64 . 32) (64 . 97) (64 . 54) (55 . 64) (55 . 76) (55 . 61) (55 . 43) (55 . 38) (55 . 87) (55 . 71) (55 . 72) (55 . 54) (55 . 68) (55 . 18) (55 . 67) (55 . 85) (55 . 63) (55 . 51) (55 . 78) (55 . 77) (55 . 44) (55 . 15) (55 . 97) (55 . 91) (43 . 14) (43 . 96) (43 . 32) (43 . 89) (43 . 48) (43 . 35) (43 . 23) (43 . 36) (43 . 83) (43 . 24) (43 . 33) (43 . 52) (43 . 56) (43 . 65) (43 . 13) (43 . 25) (43 . 21) (43 . 17) (43 . 54) (43 . 76) (43 . 42) (43 . 37) (92 . 85) (92 . 71) (92 . 38) (92 . 77) (92 . 64) (92 . 76) (92 . 44) (92 . 51) (92 . 63) (92 . 68) (92 . 87) (92 . 55) (92 . 88) (92 . 18) (92 . 99) (92 . 15) (92 . 72) (92 . 97) (92 . 43) (92 . 82) (92 . 61) (92 . 91) (92 . 78) (17 . 18) (17 . 81) (17 . 82) (17 . 52) (17 . 92) (17 . 77) (17 . 64) (17 . 21) (17 . 14) (17 . 68) (17 . 51) (17 . 83) (17 . 99) (17 . 24) (17 . 91) (17 . 72) (17 . 88) (17 . 15) (17 . 87) (17 . 85) (17 . 55) (17 . 22) (17 . 67) (17 . 78) (83 . 68) (83 . 77) (83 . 18) (83 . 99) (83 . 67) (83 . 51) (83 . 15) (83 . 72) (83 . 92) (83 . 22) (83 . 82) (83 . 85) (83 . 88) (83 . 63) (83 . 78) (83 . 44) (83 . 52) (83 . 24) (83 . 91) (83 . 55) (83 . 87) (83 . 61) (83 . 14) (83 . 64) (76 . 25) (76 . 14) (76 . 56) (76 . 22) (76 . 89) (76 . 23) (76 . 42) (76 . 35) (76 . 83) (76 . 29) (76 . 48) (76 . 32) (76 . 81) (76 . 33) (76 . 96) (76 . 13) (76 . 65) (76 . 21) (76 . 36) (76 . 52) (76 . 24) (76 . 17) (76 . 37) (76 . 54) (67 . 32) (67 . 71) (67 . 33) (67 . 25) (67 . 56) (67 . 97) (67 . 42) (67 . 43) (67 . 38) (67 . 37) (67 . 64) (67 . 29) (67 . 76) (67 . 35) (67 . 48) (67 . 44) (67 . 36) (67 . 82) (67 . 54) (67 . 23) (67 . 61) (67 . 63) (67 . 65) (67 . 13) (71 . 25) (71 . 48) (71 . 29) (71 . 33) (71 . 96) (71 . 42) (71 . 17) (71 . 89) (71 . 97) (71 . 35) (71 . 37) (71 . 54) (71 . 23) (71 . 43) (71 . 83) (71 . 36) (71 . 21) (71 . 13) (71 . 38) (71 . 76) (71 . 81) (71 . 65) (71 . 56) (71 . 32) (42 . 22) (42 . 35) (42 . 29) (42 . 24) (42 . 92) (42 . 36) (42 . 32) (42 . 99) (42 . 89) (42 . 14) (42 . 48) (42 . 65) (42 . 56) (42 . 17) (42 . 37) (42 . 96) (42 . 23) (42 . 25) (42 . 13) (42 . 21) (42 . 52) (42 . 81) (42 . 33) (42 . 83) (51 . 67) (51 . 78) (51 . 61) (51 . 71) (51 . 63) (51 . 97) (51 . 42) (51 . 87) (51 . 72) (51 . 77) (51 . 18) (51 . 29) (51 . 15) (51 . 64) (51 . 85) (51 . 82) (51 . 44) (51 . 43) (51 . 68) (51 . 54) (51 . 38) (51 . 76) (51 . 91) (51 . 32) (85 . 61) (85 . 67) (85 . 76) (85 . 25) (85 . 37) (85 . 33) (85 . 36) (85 . 32) (85 . 23) (85 . 97) (85 . 43) (85 . 63) (85 . 38) (85 . 35) (85 . 13) (85 . 48) (85 . 29) (85 . 44) (85 . 64) (85 . 82) (85 . 65) (85 . 42) (85 . 54) (85 . 71) (81 . 82) (81 . 72) (81 . 52) (81 . 87) (81 . 91) (81 . 15) (81 . 14) (81 . 83) (81 . 92) (81 . 22) (81 . 78) (81 . 68) (81 . 77) (81 . 18) (81 . 24) (81 . 67) (81 . 51) (81 . 85) (81 . 64) (81 . 99) (81 . 88) (81 . 55) (81 . 61) (81 . 21) (63 . 29) (63 . 44) (63 . 38) (63 . 89) (63 . 36) (63 . 48) (63 . 25) (63 . 33) (63 . 96) (63 . 17) (63 . 81) (63 . 32) (63 . 43) (63 . 42) (63 . 35) (63 . 37) (63 . 13) (63 . 76) (63 . 56) (63 . 97) (63 . 54) (63 . 65) (63 . 71) (63 . 23) (37 . 22) (37 . 56) (37 . 99) (37 . 36) (37 . 33) (37 . 78) (37 . 92) (37 . 23) (37 . 52) (37 . 14) (37 . 24) (37 . 55) (37 . 13) (37 . 48) (37 . 25) (37 . 81) (37 . 89) (37 . 83) (37 . 21) (37 . 96) (37 . 15) (37 . 17) (37 . 88) (37 . 51) (15 . 67) (15 . 61) (15 . 29) (15 . 77) (15 . 76) (15 . 68) (15 . 97) (15 . 71) (15 . 85) (15 . 32) (15 . 64) (15 . 63) (15 . 54) (15 . 35) (15 . 87) (15 . 91) (15 . 38) (15 . 43) (15 . 78) (15 . 42) (15 . 44) (15 . 82) (15 . 18) (15 . 72) (82 . 71) (82 . 54) (82 . 36) (82 . 65) (82 . 61) (82 . 63) (82 . 35) (82 . 96) (82 . 32) (82 . 33) (82 . 48) (82 . 76) (82 . 97) (82 . 56) (82 . 29) (82 . 43) (82 . 89) (82 . 23) (82 . 38) (82 . 25) (82 . 42) (82 . 37) (82 . 44) (82 . 13) (88 . 42) (88 . 78) (88 . 71) (88 . 15) (88 . 44) (88 . 54) (88 . 51) (88 . 85) (88 . 97) (88 . 43) (88 . 72) (88 . 91) (88 . 76) (88 . 87) (88 . 18) (88 . 64) (88 . 82) (88 . 63) (88 . 77) (88 . 38) (88 . 67) (88 . 68) (88 . 55) (88 . 61) (14 . 85) (14 . 77) (14 . 68) (14 . 87) (14 . 55) (14 . 67) (14 . 44) (14 . 99) (14 . 22) (14 . 91) (14 . 92) (14 . 61) (14 . 38) (14 . 64) (14 . 71) (14 . 15) (14 . 72) (14 . 52) (14 . 51) (14 . 82) (14 . 63) (14 . 78) (14 . 88) (14 . 18) (18 . 65) (18 . 64) (18 . 71) (18 . 38) (18 . 33) (18 . 63) (18 . 43) (18 . 61) (18 . 67) (18 . 91) (18 . 37) (18 . 13) (18 . 82) (18 . 29) (18 . 48) (18 . 97) (18 . 44) (18 . 42) (18 . 23) (18 . 35) (18 . 85) (18 . 54) (18 . 76) (18 . 32) (77 . 54) (77 . 68) (77 . 97) (77 . 63) (77 . 67) (77 . 85) (77 . 37) (77 . 42) (77 . 38) (77 . 61) (77 . 72) (77 . 18) (77 . 65) (77 . 29) (77 . 44) (77 . 35) (77 . 91) (77 . 82) (77 . 43) (77 . 71) (77 . 32) (77 . 76) (77 . 87) (77 . 64) (44 . 38) (44 . 35) (44 . 25) (44 . 36) (44 . 29) (44 . 33) (44 . 89) (44 . 76) (44 . 56) (44 . 37) (44 . 23) (44 . 48) (44 . 96) (44 . 65) (44 . 97) (44 . 43) (44 . 54) (44 . 71) (44 . 17) (44 . 21) (44 . 81) (44 . 42) (44 . 32) (44 . 13) (21 . 61) (21 . 22) (21 . 14) (21 . 82) (21 . 72) (21 . 92) (21 . 91) (21 . 18) (21 . 15) (21 . 24) (21 . 87) (21 . 67) (21 . 83) (21 . 55) (21 . 85) (21 . 99) (21 . 77) (21 . 63) (21 . 68) (21 . 51) (21 . 88) (21 . 64) (21 . 52) (21 . 78) (87 . 37) (87 . 65) (87 . 64) (87 . 48) (87 . 67) (87 . 91) (87 . 33) (87 . 82) (87 . 29) (87 . 63) (87 . 54) (87 . 85) (87 . 42) (87 . 61) (87 . 76) (87 . 38) (87 . 97) (87 . 44) (87 . 35) (87 . 43) (87 . 32) (87 . 18) (87 . 13) (87 . 71) (89 . 87) (89 . 81) (89 . 92) (89 . 78) (89 . 15) (89 . 88) (89 . 64) (89 . 91) (89 . 17) (89 . 68) (89 . 24) (89 . 72) (89 . 77) (89 . 99) (89 . 55) (89 . 83) (89 . 22) (89 . 18) (89 . 14) (89 . 52) (89 . 21) (89 . 85) (89 . 51) (89 . 67) (61 . 63) (61 . 97) (61 . 33) (61 . 23) (61 . 65) (61 . 17) (61 . 35) (61 . 13) (61 . 56) (61 . 71) (61 . 44) (61 . 96) (61 . 42) (61 . 38) (61 . 37) (61 . 29) (61 . 76) (61 . 48) (61 . 32) (61 . 54) (61 . 36) (61 . 43) (61 . 89) (61 . 25) (91 . 65) (91 . 67) (91 . 44) (91 . 13) (91 . 76) (91 . 32) (91 . 61) (91 . 82) (91 . 63) (91 . 85) (91 . 29) (91 . 43) (91 . 36) (91 . 64) (91 . 48) (91 . 71) (91 . 38) (91 . 37) (91 . 33) (91 . 42) (91 . 97) (91 . 35) (91 . 23) (91 . 54) (68 . 87) (68 . 65) (68 . 63) (68 . 91) (68 . 38) (68 . 37) (68 . 61) (68 . 35) (68 . 54) (68 . 32) (68 . 82) (68 . 97) (68 . 18) (68 . 71) (68 . 13) (68 . 72) (68 . 64) (68 . 85) (68 . 44) (68 . 42) (68 . 29) (68 . 76) (68 . 43) (68 . 67) (99 . 91) (99 . 15) (99 . 38) (99 . 55) (99 . 72) (99 . 64) (99 . 77) (99 . 18) (99 . 97) (99 . 54) (99 . 76) (99 . 61) (99 . 78) (99 . 44) (99 . 71) (99 . 68) (99 . 82) (99 . 43) (99 . 51) (99 . 88) (99 . 85) (99 . 63) (99 . 67) (99 . 87) (13 . 15) (13 . 14) (13 . 99) (13 . 89) (13 . 17) (13 . 21) (13 . 25) (13 . 51) (13 . 56) (13 . 33) (13 . 48) (13 . 36) (13 . 78) (13 . 83) (13 . 77) (13 . 81) (13 . 24) (13 . 52) (13 . 88) (13 . 23) (13 . 22) (13 . 55) (13 . 92) (13 . 96) (24 . 18) (24 . 87) (24 . 77) (24 . 92) (24 . 52) (24 . 14) (24 . 44) (24 . 61) (24 . 22) (24 . 71) (24 . 82) (24 . 72) (24 . 78) (24 . 68) (24 . 64) (24 . 63) (24 . 51) (24 . 67) (24 . 88) (24 . 99) (24 . 15) (24 . 85) (24 . 91) (38 . 43) (38 . 65) (38 . 54) (38 . 42) (38 . 23) (38 . 33) (38 . 76) (38 . 83) (38 . 96) (38 . 25) (38 . 37) (38 . 48) (38 . 35) (38 . 81) (38 . 56) (38 . 97) (38 . 29) (38 . 13) (38 . 36) (38 . 89) (38 . 24) (38 . 17) (48 . 33) (48 . 83) (48 . 23) (48 . 78) (48 . 55) (48 . 81) (48 . 22) (48 . 77) (48 . 89) (48 . 25) (48 . 24) (48 . 21) (48 . 99) (48 . 36) (48 . 17) (48 . 96) (48 . 68) (48 . 56) (48 . 52) (48 . 15) (48 . 88) (78 . 68) (78 . 72) (78 . 77) (78 . 43) (78 . 64) (78 . 38) (78 . 61) (78 . 97) (78 . 71) (78 . 76) (78 . 42) (78 . 32) (78 . 85) (78 . 65) (78 . 91) (78 . 63) (78 . 82) (78 . 18) (78 . 67) (78 . 29) (72 . 32) (72 . 67) (72 . 97) (72 . 64) (72 . 61) (72 . 13) (72 . 42) (72 . 85) (72 . 76) (72 . 71) (72 . 91) (72 . 35) (72 . 18) (72 . 54) (72 . 48) (72 . 63) (72 . 43) (72 . 38) (72 . 44) (23 . 96) (23 . 68) (23 . 92) (23 . 99) (23 . 22) (23 . 14) (23 . 89) (23 . 72) (23 . 77) (23 . 17) (23 . 24) (23 . 55) (23 . 52) (23 . 15) (23 . 78) (23 . 88) (23 . 36) (23 . 21) (25 . 72) (25 . 51) (25 . 52) (25 . 21) (25 . 92) (25 . 78) (25 . 87) (25 . 91) (25 . 24) (25 . 88) (25 . 96) (25 . 83) (25 . 99) (25 . 81) (25 . 68) (25 . 89) (25 . 56) (54 . 83) (54 . 22) (54 . 81) (54 . 42) (54 . 48) (54 . 92) (54 . 24) (54 . 25) (54 . 13) (54 . 35) (54 . 52) (54 . 37) (54 . 32) (54 . 14) (54 . 23) (54 . 17) (56 . 68) (56 . 24) (56 . 99) (56 . 72) (56 . 15) (56 . 55) (56 . 51) (56 . 18) (56 . 21) (56 . 91) (56 . 87) (56 . 92) (56 . 83) (56 . 89) (56 . 96) (33 . 56) (33 . 99) (33 . 96) (33 . 52) (33 . 81) (33 . 88) (33 . 15) (33 . 36) (33 . 68) (33 . 77) (33 . 17) (33 . 51) (33 . 24) (33 . 21) (96 . 72) (96 . 52) (96 . 67) (96 . 51) (96 . 85) (96 . 81) (96 . 89) (96 . 87) (96 . 18) (96 . 17) (96 . 22) (96 . 15) (96 . 99) (97 . 42) (97 . 29) (97 . 14) (97 . 36) (97 . 81) (97 . 32) (97 . 23) (97 . 21) (97 . 35) (97 . 76) (97 . 24) (97 . 25) (35 . 65) (35 . 22) (35 . 99) (35 . 37) (35 . 13) (35 . 96) (35 . 81) (35 . 36) (35 . 14) (35 . 48) (35 . 83) (52 . 92) (52 . 15) (52 . 78) (52 . 63) (52 . 67) (52 . 22) (52 . 72) (52 . 38) (52 . 87) (52 . 77) (22 . 92) (22 . 78) (22 . 99) (22 . 82) (22 . 44) (22 . 67) (22 . 77) (22 . 38) (22 . 55) (29 . 55) (29 . 92) (29 . 56) (29 . 88) (29 . 22) (29 . 83) (29 . 25) (29 . 37) (65 . 14) (65 . 99) (65 . 88) (65 . 13) (65 . 51) (65 . 96) (65 . 33) (36 . 81) (36 . 87) (36 . 25) (36 . 15) (36 . 22) (36 . 18) (32 . 36) (32 . 48) (32 . 89) (32 . 23) (32 . 52) (64 . 82) (64 . 63) (64 . 61) (64 . 35) (55 . 32) (55 . 42) (55 . 82) (43 . 81) (43 . 29) (92 . 67))) (setq pages '((42 54 21 36 22 33 13 29 35) (83 67 22 14 78 99 18 92 15 77 52 68 82 55 21 61 85 91 51 64 72 24 88) (85 67 64 82 61 63 44 71 38 97 43 54 42 32 29 35 65 37 13 48 33 23 36) (96 81 21 14 52 99 88 55 51 15 77 68 72 18 85) (63 52 77 85 91 83 22 61 14 64 82 68 51 24 55) (63 97 76 32 29 35 13 48 33 36 25 56 96 89 17) (15 99 51 88 21 83 72 56 81 18 92 52 55 17 89 96 87) (92 22 17 96 78 87 72 14 24 55 81 91 52 83 68 88 18 99 56) (87 18 61 67 64 76 72 85 97 65 91 68 32 44 29 43 37) (87 63 72 64 85 38 43 78 76 82 77 67 88 54 55) (51 77 87 85 67 61 63 44 97) (35 65 37 13 48 36 25 56 81 24 22 92 88) (85 29 32 42 35 87 43 13 63 37 71 72 82 76 91) (56 35 81 96 55 92 83) (54 68 67 77 61 18 63 76 82 55 97 15 42 91 51 38 85 43 72 87 71) (99 88 55 15 77 68 72 87 18 91 67 82 61 44 71 38 97 43 76) (14 17 81 91 55 22 21 87 64) (92 51 68 96 81 17 88 89 83 22 23 15 14 21 25 99 24 78 56 72 36 77 55) (68 87 18 85 82 44 71 43 76 54 42 32 29 35 37) (92 22 88 14 21 55 24 17 25 36 13 23 48) (92 25 18 68 88 51 17) (32 17 37 54 89 71 43 33 42 21 25) (33 36 25 56 96 89 17 81 83 24 14 52 22 92 99 55 51 15 78 77 68) (61 63 44 71 38 43 76 54 42 32 65 13 48 33 36 56 89) (14 88 51 87 64 44 71) (14 92 88 51 15 77 68 87 71) (42 21 89 83 35 65 81 24 23 32 33 13 29 14 52 25 17) (17 83 14 22 92 55 51 15 78 77 18 91 85 67 64) (21 83 22 18 92 67 15 99 64 85 68 87 55 91 78 51 88 77 14 61 52) (64 15 77 85 92 61 88 83 78 22 18 72 68 52 82 91 87 63 14 99 55) (89 21 76 35 96 83 17 13 38 25 54) (77 68 91 85 64 82 44 38 65) (54 64 91 38 63 51 71 61 85 97 44 18 67 76 43 72 78 15 32) (51 87 52 85 72 14 83 24 68 15 21 17 92) (21 83 99 96 36 17 52 81 56 65 25 14 48 13 24 92 55 23 89) (76 42 29 48 33 36 25 56 96 89 17 81 83) (77 55 22 78 87 64 61 88 67 68 71 72 51 44 52 82 99 15 14) (37 33 85 54 44 76 38 23 13 42 36) (43 25 29 13 33 38 35 97 48 56 65 32 17 54 89 81 44 37 36 23 71) (81 92 88 78 68 91 85 67 82) (56 81 21 24 14 88 55 51 77 68 91) (97 29 65 33 17 83 24) (38 33 56 43 61 35 76 54 64 32 36) (63 44 71 38 43 76 54 42 37 13 48 23 36) (22 17 96 89 14 92 83 37 99 88 29 21 52 48 23 81 35 24 36 13 25) (77 61 18 87 72 51 38) (24 92 99 55 51 85 44) (64 82 77 35 38) (87 51 15 88 67 52 18 82 72 77 99 71 64 22 44) (99 88 51 15 78 72 87 18 85 67 64 61 63 71 76) (23 36 25 56 96 17 81 83 14 52 92 88 55 51 78 68 72) (52 92 99 15 78 77 68 72 87 91 85 64 82 61 44 71 38) (13 23 17 14 99 55 78) (25 17 35 37 44 54 71 81 56 65 32) (38 64 55 52 87 77 71 99 88 68 18) (71 38 97 76 54 42 32 29 35 65 13 33 23 36 25 56 96 89 17 81 21) (82 91 52 83 21 18 14 77 85 61 92 64 88 51 68 99 78 22 24) (29 35 13 33 25 56 96 89 17 21 83 24 14 52 22 92 88) (91 61 14 88 18 15 55 99 82 77 64 92 78 87 71 68 51 85 72) (13 36 35 32 38 76 63 82 37 43 65 42 54 48 64 29 56 97 33) (61 88 71 68 92 55 77 63 67 51 38) (18 85 88 63 77 52 38 61 64) (89 83 99 88 55 15 78 77 68 72 87 18 91 85 67) (13 17 35 89 48 33 43 54 21 23 38 83 76) (36 25 56 96 89 17 81 21 83 24 14 52 22 92 99 88 51 15 78 77 68 72 87) (24 52 22 55 51 15 78 72 87 64 82 61 44) (55 15 78 87 18 85 63 71 38 97 54) (37 44 61 32 85 76 71 68 87) (23 65 89 56 33 21 37 22 48 17 96 25 92) (24 14 52 92 99 88 55 51 15 72 87 18 91 61 63) (24 14 22 92 99 88 51 15 78 68 72 87 18 85 64 82 61 63 44) (64 44 97 43 76 54 42 35 37 13 33 36 56) (15 87 91 67 82 61 97) (63 18 32 76 67 82 15 64 91 72 85 68 54 43 42 71 61 87 97 44 38 78 29) (48 33 25 56 96 89 81 21 14 52 22 92 99 88 55 51 15 78 77) (89 17 81 83 52 88 15 78 77 72 87) (51 55 92 77 88 72 68 24 87 89 85 99 52 14 83 81 21 91 15 17 22 18 96) (76 35 33 13 14 42 81 43 23 29 89 24 21 96 17 37 32 25 65) (89 25 13 56 78 15 92 48 17 23 88 99 14 51 52) (21 83 54 33 35 25 13 22 48 37 56 14 36 89 42) (61 71 29 37 13) (96 17 24 14 22 92 88 51 77 72 85) (99 88 55 51 77 68 72 87 18 91 85 82 61 63 71 38 97 43 76) (65 35 42 32 13 17 25 83 33 23 54 14 24) (76 54 87 72 61 18 97 91 44 42 65 85 82 71 77 35 29) (91 87 92 78 21 52 18 24 68 85 77 15 81 83 22 64 72 51 99 82 14 67 88) (43 32 35 37 13 96 17) (33 36 96 21 24 14 52 22 92) (77 83 92 85 81 91 21 68 24 64 82) (61 71 48 63 44 32 42 65 37 56 96 43 35 76 29 23 38) (44 71 38 54 32 35 13 33 23 56 96) (23 17 81 21 83 24 92 99 88 55 51 15 78 77 72) (42 33 61 67 23 64 25 65 82) (81 13 48 22 29 23 35 14 21 92 89) (33 23 36 25 56 96 17 81 21 83 24 14 52 22 92 99 88 55 51 15 78 77 68) (32 29 35 65 37 48 23 36 56 96 89 17 81 21 83 24 52 22 99) (65 37 13 25 96 89 17 21 92) (48 76 13 82 71 97 23 61 56 29 36 33 44 42 25 43 38 54 37 96 35) (21 99 61 87 68 22 88) (18 38 54 32 35 48 33) (97 63 55 78 15 77 68 87 61 18 38 51 71 91 88 99 92 22 44 85 82 67 64) (56 99 36 96 13) (56 25 43 76 23 33 64 29 36) (99 51 68 87 91 82 63 44 71 43 76) (82 54 85 91 29 64 33 61 42 37 97) (56 42 17 33 97 43 63) (77 17 21 99 52 85 15 91 78 88 14 67 51 24 92 22 64) (55 51 15 78 77 68 72 87 18 91 85 67 64 82 61 63 44 38 97 43 76 54 42) (87 78 67 18 42 61 55 82 91 71 85 97 15 72 43 76 63 44 64 38 54 77 51) (37 44 64 13 29 97 25 82 61 67 36 35 43 63 23) (33 23 25 56 96 89 17 21 83 14 52 22 92 99 88 51 78 77 68) (33 36 32 35 48 23 24 21 22 17 99 83 25 37 96 29 81 92 14 65 52) (76 32 71 42 33 82 97 36 54 44 35 13 29 43 37 63 48 96 65) (65 37 13 48 33 23 36 25 56 96 89 17 81 21 83 24 52 22 92 99 88 55 51) (42 32 29 35 37 13 48 23 36 56 96 21 83 14 52 22 92) (42 43 25 65 23 37 61 44 48 29 76 33 36 38 54 97 96 89 35) (52 99 55 51 78 18 64 82 63 71 38) (36 96 89 17 81 83 14 52 88 51 15 78 77) (96 81 51 15 99 37 24 36 13 17 33) (21 83 24 14 52 99 88 55 51 15 68 72 91 85 67 64 61) (25 51 81 22 99 56 18 52 78 14 87 92 15 77 68 83 55) (81 77 92 21 51 15 99 96 56) (71 43 65 82 54 42 13 36 25 61 23 33 35 63 67 38 76 97 37 32 29) (37 76 63 61 96 56 25 35 13 36 43 29 82 32 48 33 97) (35 52 23 14 96 42 89 21 81 83 76) (48 23 36 25 56 96 89 17 81 21 83 24 14 52 22 92 99 88 55 51 15 78 77) (44 61 85 92 91 77 15 64 51) (37 13 48 33 23 25 56 81 83 52 92 51 15) (56 78 96 88 92 36 23 17 25 52 48 99 24 89 55 21 15 81 51) (64 22 67 55 97 72 15 18 68 38 88) (85 64 68 44 54 87 76 91 82 63 88) (85 38 78 82 18 87 91 32 77 43 76 72 15 42 51) (22 92 88 72 87 91 67 82 61 44 97) (55 18 54 38 87 88 85 15 76) (83 24 14 52 22 92 88 55 51 15 78 77 68 72 18 91 85 67 64 61 63) (42 32 35 65 37 13 48 33 23 36 25 56 96 89 21 83 24 14 52 22 92) (32 17 29 83 48 14 21 25 52 42 96 33 37 65 76) (35 89 81 14 32 83 29 65 52 25 92 13 22 36 33 48 37 42 24) (81 42 35 36 89 54 71 25 32 43 76 37 38 44 65 23 17 33 56) (21 18 87 52 22 56 51 15 77 92 25 55 72 99 78 96 14 83 24) (56 25 37 81 38 89 21 43 65 83 33 36 35 96 48 42 29) (55 15 77 68 87 18 91 85 61 44 38 97 43 76 42) (22 99 72 83 67 52 61 21 68 14 87 18 77 51 64) (92 55 85 14 22 17 52 89 78) (88 68 18 14 81 22 91 52 83 99 72) (36 17 29 83 96 65 54 89 43 35 56 23 25 13 81 76 14) (88 51 78 63 43 76 54) (91 67 82 61 38 97 43 76 54 42 32 29 35 13 48 33 23) (67 63 35 71 54 68 37) (85 35 33 32 61 76 65 54 37 67 91 42 97 48 71 82 38 29 13 44 43) (77 15 81 89 96 25 14 92 78 22 51 24 21 83 56 18 88 99 68) (23 36 25 22 92 15 72) (23 25 54 36 65 17 14 76 56 96 35 48 81 24 37 21 89) (85 64 61 38 32 29 65) (56 89 17 24 14 92 99 55 78 18 91) (18 85 61 63 44 71 38 48 33) (81 21 14 52 92 88 72 67 82) (55 51 15 78 77 64 63 44 38 43 76 54 42) (76 54 48 23 96 81 83 24 52) (21 83 13 14 22 96 25 37 56 81 36 92 42 89 23 32 24 33 52 35 17) (42 13 91 38 43 82 35 18 87 29 37 85 64 67 54 32 63 76 72 61 44) (23 22 29 21 24 36 14 99 89 56 88) (77 56 15 33 48 24 81 22 92) (78 87 85 67 44 71 97 29 35) (61 15 78 63 77 71 44 68 91 87 32 85 72 43 76 82 29 97 42 54 18 38 67) (99 18 81 82 87 24 78 51 83) (54 65 48 36 14 52 22) (63 44 38 97 54 42 32 65 37 56 96 89 17) (83 88 68 72 81 52 55 36 25 22 17 92 87) (44 38 97 54 42 37 13 33 23 36 81) (61 18 67 64 38 35 65 85 68 29 37 63 71 42 91 82 97) (65 54 23 35 89 43 29 38 36 76 81 21 32 17 56 71 42) (96 78 55 91 17 77 85) (64 82 61 44 38 97 43 42 32 35 65 37 48 33 23) (23 36 25 56 89 17 81 21 83 14 52 22 92 99 88 55 51 15 78 68 72) (97 43 54 42 32 29 35 37 13 48 33 23 56 96 89 17 21 83 24) (54 65 36 23 71) (13 44 33 63 48 97 25 38 64 82 61 56 76 42 54 65 71 43 23 35 36 37 32) (65 13 48 23 36 56 89 21 52 22 88 55 51) (68 51 14 83 64 18 77 17 91) (76 37 38 25 13 33 71 21 42) (21 92 81 87 24 56 51) (48 83 35 37 81 97 89 54 33 29 36 13 96 23 38 21 65 17 76 56 32 43 25) (13 48 17 83 14 15 78) (18 22 92 82 68 87 24 52 44 99 67) (77 99 87 92 22 51 52 68 71 14 82) (22 67 83 63 14 15 82) (64 44 97 61 67 32 37 65 38 29 35 48 71 36 54 76 85) (24 14 92 99 15 78 87) (63 71 76 54 32 29 35 65 37 13 48 33 23 36 25 56 96 89 17) (42 96 71 35 25 65 23 33 44 81 32 97 29 76 13 54 43 56 17) (87 91 67 82 44 71 38 97 43 76 29 35 65 37 48) (33 38 13 48 65 43 61 82 37 76 54 32 35 44 67 29 85) (24 52 22 92 55 51 78 68 72 18 91 85 64 82 44) (63 48 85 67 38) (42 32 35 65 13 48 33 36 25 89 17 81 14) (63 44 71 43 35 65 37 13 23 36 17) (25 21 97 33 54 32 76 42 37 17 35 65 89 81 83 96 36 23 48 43 13 38 29) (42 32 29 35 65 37 33 25 56 89 17 21 24 14 52 22 92) (37 48 81 21 83 14 22 88 55 51 15) (55 51 77 68 87 18 91 85 67 82 63 44 38 97 54) (35 65 13 33 36) (61 48 44 64 43 36 82 42 56 29 23 54 33) (92 99 88 55 15 78 77 68 72 18 91 67 64 82 61 63 44 71 38 97 43) (32 29 33 23 96 83 22 92 99) (63 55 61 92 87 64 88 85 72) (67 92 77 64 52 51 81 91 17 85 21 22 14 78 15 88 18 72 83 55 68) (36 78 92 22 51 87 99) (37 13 36 56 81 92 88 55 15) (29 35 37 13 48 33 23 25 56 96 89 17 81 21 83 24 52 22 92 99 88))) (defun rule-applies-p (rule li) (let ((car-index (-elem-index (car rule) li)) (cdr-index (-elem-index (cdr rule) li))) (or (not car-index) (not cdr-index) ; rule doesn't apply (< car-index cdr-index)))) ; rule applies and is satisfied (defun ordered-p (update) (-every 'identity (--map (rule-applies-p it update) rules))) (defun middle-element (list) (nth (/ (length list) 2) list)) (apply '+ (-map 'middle-element (-filter #'ordered-p pages))) (defun insert-ordered (list page) (if (not list) (list page) (car (-filter #'ordered-p (--map (-insert-at it page list) (-iota (+ 1 (length list)))))))) (defun sort-pages (update) (-reduce-from #'insert-ordered nil update)) (apply '+ (-map #'middle-element (-map #'sort-pages (-filter (lambda (x) (not (ordered-p x))) pages))))