Source code for kyu_5.find_the_safest_places_in_town.test_advice

"""
Testing advice and all related help functions
"""

#  Created by Egor Kostan.
#  GitHub: https://github.com/ikostan
#  LinkedIn: https://www.linkedin.com/in/egor-kostan/

# ALGORITHMS

import unittest
import allure
from utils.log_func import print_log
from kyu_5.find_the_safest_places_in_town.advice import advice, create_city_map, agents_cleanup
from kyu_5.find_the_safest_places_in_town.print_agents import print_map


[docs]@allure.epic('5 kyu') @allure.parent_suite('Novice') @allure.suite("Algorithms") @allure.sub_suite("Unit Tests") @allure.feature("Lists") @allure.story('Find the safest places in town') @allure.tag('ALGORITHMS') @allure.link(url='https://www.codewars.com/kata/5dd82b7cd3d6c100109cb4ed/train/python', name='Source/Kata') class FirstAdviceTestCase(unittest.TestCase): """ Testing advice and all related help functions """
[docs] def test_create_city_map(self): """ Testing a function named create_city_map where: - n defines the size of the city that Bassi needs to hide in, in other words the side length of the square grid. The function should generate city map with coordinates. :return: """ allure.dynamic.title("Testing create_city_map function") allure.dynamic.severity(allure.severity_level.NORMAL) allure.dynamic.description_html('<h3>Codewars badge:</h3>' '<img src="https://www.codewars.com/users/myFirstCode' '/badges/large">' '<h3>Test Description:</h3>' "<p>The function should generate city map with coordinates.</p>") with allure.step("Enter test data and verify the output"): test_data = [ (2, {(0, 0), (0, 1), (1, 0), (1, 1)}), (0, set()), (3, {(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)}), ] for data in test_data: # test data n = data[0] expected = data[1] actual = create_city_map(n) # test log print_log(n=n, expected=expected, actual=actual) # assertion self.assertEqual(expected, actual)
[docs] def test_agents_cleanup(self): """ Testing a function named agents_cleanup where: - agents: is an array of agent coordinates - n: defines the size of the city that Bassi needs to hide in, in other words the side length of the square grid. The function should remove all agents that are outside of the city boundaries. :return: """ allure.dynamic.title("Testing agents_cleanup function") allure.dynamic.severity(allure.severity_level.NORMAL) allure.dynamic.description_html('<h3>Codewars badge:</h3>' '<img src="https://www.codewars.com/users/myFirstCode' '/badges/large">' '<h3>Test Description:</h3>' "<p>The function should remove all agents that are " "outside of the city boundaries.</p>") with allure.step("Enter test data and verify the output"): test_data = [ ({(0, 0), (1, 5), (5, 1)}, 6, {(0, 0), (1, 5), (5, 1)}), ({(0, 0), (1, 1), (99, 99)}, 2, {(0, 0), (1, 1)}), ({(22, 23), (56, 35), (15, 7), (40, 15), (36, 30), (52, 47), (9, 59), (65, 40), (28, 53), (19, 15), (2, 30), (58, 40), (60, 36), (2, 67), (16, 58), (53, 13), (36, 38), (29, 54), (50, 15), (14, 28), (23, 30), (0, 64), (58, 57), (38, 2), (28, 40), (22, 6), (12, 46), (50, 35), (56, 27)}, 10, set()), ] for data in test_data: # test data agents = data[0] n = data[1] expected = data[2] actual = agents_cleanup(agents, n) # test log print_log(agents=agents, n=n, expected=expected, actual=actual) # assertion self.assertEqual(expected, actual)
[docs] def test_first_non_repeating_letter(self): """ Testing a function named advice(agents, n) where: - agents is an array of agent coordinates. - n defines the size of the city that Bassi needs to hide in, in other words the side length of the square grid. The function should return a list of coordinates that are the furthest away (by Manhattan distance) from all agents. :return: """ allure.dynamic.title("Testing advice function") allure.dynamic.severity(allure.severity_level.NORMAL) allure.dynamic.description_html('<h3>Codewars badge:</h3>' '<img src="https://www.codewars.com/users/myFirstCode' '/badges/large">' '<h3>Test Description:</h3>' "<p>The function should return a list of coordinates that " "are the furthest away (by Manhattan distance) from all agents.</p>") with allure.step("Enter test string and verify the output"): test_data = [ ([(1, 1)], 2, [(0, 0)], "Should return top left corner for agent in the bottom right"), ([(1, 1)], 0, [], "Should return empty list for size 0"), ([(0, 0), (1, 5), (5, 1)], 6, sorted([(2, 2), (3, 3), (4, 4), (5, 5)]), "Works for the example in description"), ([(9, 9)], 1, [(0, 0)], "Should return all locations for only ignored agents"), ([(1, 1), (3, 5), (4, 8), (7, 3), (7, 8), (9, 1)], 10, sorted([(0, 9), (0, 7), (5, 0)]), "Should return correct solutions for six agents"), ([(1, 3), (2, 3), (2, 7), (4, 1), (5, 9), (7, 0), (9, 5)], 10, sorted([(0, 0), (0, 9), (4, 5), (5, 5), (5, 4), (6, 3), (6, 4), (6, 6), (7, 7), (8, 8), (9, 9)]), "Should return correct solutions for seven agents"), ([(0, 0), (0, 9), (1, 5), (5, 1), (9, 0), (9, 9)], 10, sorted([(5, 7), (6, 6), (7, 5)]), "Should return correct solutions for another six agents"), ([(0, 0)], 10, [(9, 9)], "Single agent in top left corner of large grid"), ([(0, 0), (1, 1), (99, 99)], 2, sorted([(0, 1), (1, 0)]), "Agent in top left and bottom right"), ([(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), (0, 7), (0, 8), (0, 9), (1, 0), (1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (1, 7), (1, 8), (1, 9), (2, 0), (2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (2, 6), (2, 7), (2, 8), (2, 9), (3, 0), (3, 1), (3, 2), (3, 3), (3, 4), (3, 5), (3, 6), (3, 7), (3, 8), (3, 9), (4, 0), (4, 1), (4, 2), (4, 3), (4, 4), (4, 5), (4, 6), (4, 7), (4, 8), (4, 9), (5, 0), (5, 1), (5, 2), (5, 3), (5, 4), (5, 5), (5, 6), (5, 7), (5, 8), (5, 9), (6, 0), (6, 1), (6, 2), (6, 3), (6, 4), (6, 5), (6, 6), (6, 7), (6, 8), (6, 9), (7, 0), (7, 1), (7, 2), (7, 3), (7, 4), (7, 5), (7, 6), (7, 7), (7, 8), (7, 9), (8, 0), (8, 1), (8, 2), (8, 3), (8, 4), (8, 5), (8, 6), (8, 7), (8, 8), (8, 9), (9, 0), (9, 1), (9, 2), (9, 3), (9, 4), (9, 5), (9, 6), (9, 7), (9, 8), (9, 9)], 10, [], "Returns empty list for agents everywhere"), ([(12, 8), (0, 14), (10, 16), (7, 11)], 2, [(0, 0), (0, 1), (1, 0), (1, 1)], 'No agents on map'), ([(9, 50), (29, 27), (37, 51), (19, 24), (62, 41), (8, 57), (1, 7), (26, 58), (28, 39), (12, 5), (53, 26), (8, 51), (33, 12), (25, 58), (30, 23), (8, 17), (19, 30), (56, 27), (14, 26), (35, 60), (60, 51), (22, 59), (48, 0), (56, 13), (13, 6), (6, 25), (56, 19), (44, 0), (19, 48), (8, 2), (46, 12), (59, 20), (12, 46), (26, 19), (20, 46), (29, 39), (58, 4), (41, 15), (27, 5), (56, 62), (18, 40), (14, 53), (22, 63), (3, 32), (53, 38), (54, 43), (11, 52), (1, 37), (28, 25), (17, 37), (7, 5), (15, 15), (23, 10), (58, 29), (49, 39), (27, 38), (61, 42), (25, 19), (46, 26), (53, 27), (21, 22), (18, 28), (8, 5), (39, 8), (49, 54), (0, 57), (50, 23), (30, 2), (5, 5), (42, 13), (10, 62), (4, 25), (56, 24), (13, 10), (63, 16), (12, 55), (2, 40), (42, 59), (4, 12), (14, 11), (13, 36), (25, 35), (34, 34), (63, 10), (25, 33), (0, 29), (53, 5), (50, 63), (45, 48), (20, 43), (52, 4), (39, 5), (27, 23), (24, 23), (37, 53), (45, 34), (62, 27), (50, 60), (7, 12), (41, 26), (13, 5), (29, 40), (23, 6), (29, 14), (61, 48), (43, 59), (26, 56), (51, 40), (3, 54), (34, 30), (41, 23), (25, 42), (44, 55), (5, 26), (62, 44), (59, 50), (22, 17), (29, 25), (13, 37), (26, 32), (17, 21), (41, 58), (3, 14), (31, 5), (53, 12), (54, 52), (5, 7), (55, 29), (3, 36), (39, 37), (25, 46), (10, 32), (37, 35), (7, 21), (30, 62), (16, 34), (20, 23), (62, 43), (51, 45), (36, 0), (17, 58), (9, 40), (35, 39), (27, 37), (14, 56), (47, 28), (32, 33), (7, 29), (43, 62), (51, 62), (50, 7), (37, 10), (57, 12), (27, 3), (18, 14), (33, 56), (58, 43), (57, 1), (17, 35), (56, 16), (5, 29), (41, 14), (15, 57), (11, 8), (23, 27), (33, 50), (19, 38), (48, 34), (2, 18), (60, 49), (52, 43), (40, 27), (2, 27), (45, 59), (49, 37), (18, 60), (20, 10), (41, 30), (31, 0), (58, 52), (18, 55), (15, 55), (54, 5), (52, 37), (39, 49), (40, 50), (8, 61), (24, 61), (21, 58), (38, 0), (28, 3), (50, 11), (18, 56), (26, 40), (52, 35), (62, 35), (59, 60), (62, 51), (59, 61), (52, 21), (62, 50), (33, 61), (1, 10), (43, 31), (20, 54), (29, 24), (49, 21), (27, 32), (49, 41), (45, 54), (41, 44), (41, 6), (56, 20), (30, 14), (12, 38), (5, 42), (53, 45), (48, 28), (43, 51), (44, 14), (50, 52), (62, 55), (41, 1), (53, 10), (30, 21), (9, 47), (4, 58), (35, 45), (13, 42), (46, 27), (23, 5), (47, 42), (21, 24), (58, 51), (19, 26), (47, 23), (53, 61), (14, 43), (0, 0), (42, 30), (20, 12), (24, 10), (24, 19), (24, 6), (63, 0), (47, 36), (41, 32), (57, 63), (31, 11), (62, 62), (8, 52), (20, 31), (39, 58), (57, 54), (44, 7), (30, 11), (12, 62), (40, 51), (28, 26), (35, 42), (7, 47), (4, 22), (4, 17), (35, 31), (42, 31), (50, 51), (28, 17), (1, 22), (10, 50), (36, 48), (12, 13), (12, 60), (42, 49), (15, 35), (7, 24), (19, 46), (53, 36), (9, 39), (55, 36), (55, 53), (42, 44), (29, 56), (0, 28), (6, 16), (39, 12), (60, 27), (10, 42), (50, 45), (9, 58), (56, 33), (56, 36), (57, 17), (32, 0), (30, 29), (34, 58), (60, 59), (61, 4), (45, 46), (26, 45), (3, 26), (25, 34), (19, 35), (53, 23), (11, 29), (22, 33), (19, 49), (44, 19), (46, 18), (2, 4), (49, 43), (62, 49), (36, 22), (31, 20), (11, 55), (30, 46), (56, 18), (25, 45), (44, 41), (18, 38), (16, 25), (11, 34), (20, 40), (52, 63), (0, 1), (8, 55), (25, 18), (4, 20), (55, 3), (52, 33), (51, 38), (18, 43), (24, 29), (45, 51), (47, 27), (31, 27), (30, 3), (23, 51), (6, 18), (42, 33), (18, 20), (56, 45), (42, 21), (54, 45), (61, 21), (31, 32), (20, 47), (31, 52), (61, 26), (35, 52), (56, 17), (35, 53), (45, 36), (7, 54), (9, 24), (62, 45), (2, 55), (49, 0), (24, 25), (26, 47), (15, 17), (33, 18), (24, 41), (59, 46), (25, 54), (15, 61), (61, 38), (41, 7), (16, 38), (59, 51), (60, 35), (61, 39), (7, 63), (20, 39), (21, 36), (55, 54), (45, 7), (62, 33), (4, 52), (55, 47), (23, 2), (49, 59), (63, 35), (21, 0), (28, 41), (49, 49), (24, 44), (54, 31), (27, 41), (18, 45), (22, 25), (32, 24), (32, 8), (63, 39), (36, 9), (35, 43), (59, 47), (37, 54), (25, 15), (42, 19), (19, 57), (22, 21), (53, 25), (28, 40), (8, 32), (55, 24), (49, 13), (14, 19), (47, 40), (53, 15), (59, 18), (47, 24), (42, 63), (61, 1), (36, 10), (36, 23), (53, 32), (16, 35), (62, 63), (2, 49), (36, 2), (44, 8), (17, 62), (10, 52), (59, 2), (16, 57), (58, 23), (5, 2), (49, 60), (5, 56), (19, 1), (44, 20), (44, 56), (43, 52), (46, 52), (38, 47), (44, 13), (58, 28), (46, 35), (41, 53), (36, 16), (53, 21), (60, 22), (28, 51), (38, 12), (21, 20), (41, 22), (40, 22), (38, 10), (52, 18), (23, 14), (15, 37), (30, 45), (22, 19), (1, 26), (32, 5), (37, 62), (37, 57), (29, 23), (61, 61), (15, 62), (43, 57), (52, 56), (57, 61), (21, 7), (58, 49), (12, 27), (24, 26), (47, 51), (11, 14), (58, 19), (17, 7), (12, 61), (14, 29), (45, 1), (4, 41), (12, 43), (32, 18), (3, 5), (22, 12), (63, 19), (33, 30), (62, 60), (41, 18), (1, 21), (59, 57), (54, 3), (60, 37), (63, 37), (1, 27), (56, 11), (34, 2), (17, 55), (62, 19), (11, 46), (50, 29), (50, 26), (37, 12), (1, 50), (12, 54), (36, 14), (3, 9), (8, 60), (48, 7), (40, 9), (3, 22), (14, 48), (26, 44), (1, 9), (31, 40), (24, 55), (36, 17), (25, 36), (24, 50), (22, 27), (52, 26), (60, 58), (46, 60), (41, 12), (29, 54), (39, 47), (34, 1), (34, 59), (52, 19), (46, 58), (52, 24), (32, 7), (43, 18), (31, 47), (34, 61), (58, 56), (12, 28), (34, 3), (40, 47), (1, 5), (59, 14), (7, 46), (28, 0), (35, 40), (30, 36), (0, 17), (46, 17), (53, 58), (48, 57), (0, 32), (7, 57), (45, 20), (16, 60), (63, 57), (55, 1), (6, 26), (55, 46), (56, 0), (52, 50), (42, 10), (49, 4), (9, 27), (30, 59), (46, 46), (13, 20), (56, 58), (33, 24), (58, 39), (38, 55), (61, 29), (46, 2), (17, 17), (41, 48), (26, 50), (36, 21), (9, 12), (43, 40), (26, 62), (15, 34), (37, 26), (44, 27), (47, 31), (3, 15), (26, 15), (56, 60), (25, 50), (48, 59), (43, 53), (52, 5), (24, 31), (13, 25), (50, 1), (22, 38), (43, 41), (34, 31), (6, 44), (25, 16), (24, 30), (19, 12), (35, 23), (54, 54), (60, 62), (44, 17), (9, 6), (42, 61), (58, 53), (63, 18), (47, 32), (0, 12), (8, 30), (11, 5), (20, 49), (42, 48), (51, 21), (13, 1), (58, 41), (29, 53), (61, 27), (25, 44), (5, 12), (16, 52), (42, 8), (41, 61), (53, 56), (48, 23), (61, 17), (59, 48), (50, 2), (59, 31), (47, 59), (44, 48), (29, 11), (58, 38), (37, 31), (49, 15), (62, 6), (57, 48), (4, 61), (36, 30), (56, 8), (48, 29), (27, 46), (62, 11), (53, 28), (0, 34), (12, 63), (36, 44), (33, 14), (8, 1), (0, 46), (47, 56), (30, 25), (8, 27), (20, 30), (6, 34), (31, 61), (33, 10), (51, 36), (7, 9), (40, 16), (6, 5), (3, 0), (9, 57), (33, 40), (34, 60), (33, 23), (10, 17), (29, 28), (29, 47), (55, 40), (31, 21), (20, 18), (38, 35), (44, 22), (16, 15), (46, 22), (28, 19), (17, 52), (13, 39), (9, 35), (47, 2), (30, 56), (55, 33), (61, 30), (17, 32), (44, 33), (39, 2), (30, 8), (3, 10), (59, 28), (31, 59), (44, 58), (52, 30), (23, 48), (13, 38), (62, 54), (49, 38), (31, 38), (28, 22), (42, 29), (40, 49), (38, 16), (43, 43), (26, 39), (49, 9), (19, 54), (11, 10), (42, 20), (40, 13), (41, 39), (56, 54), (55, 45), (52, 27), (23, 12), (55, 58), (26, 28), (2, 29), (29, 46), (3, 53), (49, 19), (51, 48), (45, 14), (36, 52), (61, 20), (28, 24), (53, 35), (19, 18), (12, 23), (45, 12), (10, 61), (7, 44), (36, 61), (52, 44), (41, 46), (17, 38), (32, 61), (19, 56), (23, 21), (30, 54), (27, 19), (44, 49), (18, 8), (60, 26), (5, 31), (25, 25), (21, 45), (10, 54), (2, 35), (48, 21), (14, 38), (27, 39), (58, 7), (1, 11), (44, 6), (6, 8), (62, 3), (53, 39), (59, 1), (61, 54), (33, 57), (10, 46), (47, 7), (20, 3), (3, 42), (37, 43), (20, 9), (29, 32), (52, 10), (52, 0), (30, 48), (51, 35), (49, 26), (49, 36), (22, 4), (61, 57), (8, 43), (31, 4), (45, 2), (58, 37), (12, 40), (51, 33), (27, 50), (14, 46), (4, 28), (17, 8), (15, 0), (54, 35), (21, 16), (46, 50), (42, 25), (33, 33), (55, 37), (6, 63), (61, 58), (21, 33), (41, 40), (40, 46), (47, 63), (42, 35), (14, 15), (46, 16), (28, 10), (10, 63), (28, 60), (24, 59), (61, 23), (49, 23), (36, 25), (0, 53), (49, 16), (2, 59), (7, 10), (28, 12), (16, 61), (46, 43), (27, 56), (6, 61), (53, 1), (24, 52), (9, 44), (33, 54), (42, 60), (63, 29), (35, 49), (34, 26), (1, 52), (41, 17), (54, 61), (39, 53), (50, 61), (22, 6), (39, 31), (30, 20), (39, 52), (29, 21), (7, 59), (54, 48), (50, 49), (17, 53), (26, 43), (22, 54), (27, 33), (4, 63), (31, 9), (54, 4), (29, 16), (6, 59), (34, 20), (24, 2), (10, 51), (36, 57), (0, 6), (49, 3), (48, 17), (0, 59), (37, 2), (51, 42), (4, 23), (58, 33), (37, 36), (24, 28), (57, 36), (40, 28), (34, 15), (28, 28), (4, 6), (63, 47), (61, 6), (54, 58), (7, 49), (0, 50), (42, 37), (12, 37), (13, 58), (36, 6), (11, 28), (27, 29), (42, 11), (14, 30), (63, 45), (12, 24), (24, 40), (21, 19), (29, 62), (2, 63), (3, 2), (35, 41), (50, 47), (31, 55), (8, 15), (37, 61), (33, 4), (18, 3), (22, 7), (54, 16), (28, 1), (46, 3), (48, 52), (55, 44), (44, 57), (10, 45), (27, 47), (61, 12), (21, 53), (37, 41), (43, 48), (29, 6), (8, 48), (24, 53), (55, 20), (1, 41), (13, 31), (46, 49), (49, 5), (14, 47), (13, 23), (31, 7), (5, 20), (7, 16), (38, 63), (0, 35), (34, 29), (37, 28), (62, 14), (43, 15), (48, 30), (1, 24), (15, 45), (63, 9), (22, 24), (52, 8), (16, 10), (49, 53), (8, 22), (12, 50), (16, 3), (61, 16), (22, 57), (56, 7), (3, 62), (47, 50), (16, 45), (32, 35), (59, 39), (51, 34), (48, 46), (34, 37), (51, 63), (18, 33), (23, 62), (38, 18), (41, 42), (26, 46), (24, 3), (25, 4), (32, 63), (48, 35), (26, 38), (27, 0), (13, 26), (57, 56), (43, 42), (50, 53), (37, 0), (14, 9), (56, 32), (25, 61), (46, 36), (55, 22), (24, 34), (57, 11), (44, 54), (63, 40), (56, 59), (60, 32), (28, 23), (0, 31), (44, 37), (7, 15), (60, 38), (56, 37), (40, 17), (59, 56), (56, 38), (9, 7), (3, 40), (28, 54), (4, 1), (21, 6), (52, 57), (61, 13), (45, 52), (32, 1), (15, 39), (42, 16), (58, 57), (21, 27), (45, 17), (12, 39), (60, 21), (33, 31), (26, 14), (33, 47), (46, 33), (58, 18), (15, 38), (0, 49), (35, 55), (39, 50), (17, 5), (58, 59), (49, 29), (11, 20), (22, 47), (15, 27), (17, 26), (63, 55), (0, 36), (12, 8), (60, 1), (51, 18), (43, 27), (17, 14), (59, 6), (18, 49), (63, 36), (20, 16), (40, 12), (50, 54), (34, 55), (11, 49), (32, 10), (38, 32), (10, 6), (10, 2), (46, 10), (56, 63), (51, 3), (14, 16), (33, 52), (61, 46), (31, 23), (41, 51), (46, 32), (46, 37), (13, 14), (40, 23), (17, 27), (17, 43), (55, 7), (17, 45), (45, 6), (51, 37), (9, 31), (59, 49), (57, 22), (49, 25), (27, 7), (36, 60), (52, 36), (45, 11), (8, 3), (24, 39), (17, 3), (1, 31), (39, 60), (57, 5), (31, 51), (23, 53), (26, 5), (63, 33), (54, 38), (20, 27), (10, 55), (2, 7), (31, 60), (16, 18), (37, 6), (41, 54), (53, 46), (9, 42), (7, 6), (11, 26), (8, 12), (19, 55), (20, 15), (42, 47), (54, 42), (25, 22), (0, 63), (1, 36), (51, 20), (21, 12), (50, 0), (23, 42), (24, 12), (19, 17), (18, 53), (2, 9), (11, 27), (32, 12), (47, 25), (13, 46), (43, 33), (50, 14), (9, 56), (25, 56), (25, 41), (39, 30), (6, 23), (39, 7), (8, 62), (12, 52), (25, 23), (28, 50), (38, 57), (32, 25), (35, 11), (13, 49), (34, 43), (7, 28), (36, 20), (61, 11), (34, 51), (55, 18), (40, 42), (34, 0), (61, 5), (28, 4), (57, 24), (29, 5), (9, 43), (59, 11), (11, 56), (61, 41), (46, 42), (58, 32), (14, 13), (38, 15), (10, 8), (9, 3), (30, 6), (2, 41), (21, 40), (16, 13), (12, 58), (2, 30), (60, 3), (32, 17), (5, 37), (46, 21), (5, 17), (40, 29), (12, 32), (29, 31), (1, 42), (0, 11), (37, 23), (10, 36), (50, 46), (29, 52), (47, 19), (28, 33), (41, 57), (49, 28), (44, 62), (37, 39), (14, 36), (58, 27), (11, 3), (11, 43), (35, 54), (18, 22), (59, 23), (45, 18), (53, 55), (38, 7), (60, 57), (23, 13), (48, 53), (59, 10), (43, 54), (43, 13), (4, 57), (0, 22), (35, 12), (4, 3), (29, 1), (28, 14), (4, 54), (48, 63), (37, 63), (2, 8), (32, 53), (58, 45), (48, 42), (18, 61), (2, 37), (16, 9), (55, 19), (24, 47), (17, 41), (42, 62), (37, 13), (43, 26), (24, 42), (52, 2), (42, 41), (16, 51), (30, 31), (6, 6), (7, 40), (54, 7), (26, 35), (16, 58), (28, 7), (62, 48), (27, 11), (1, 15), (33, 39), (58, 20), (60, 20), (38, 13), (40, 8), (44, 1), (37, 8), (17, 13), (31, 6), (1, 54), (19, 31), (3, 35), (23, 29), (28, 62), (11, 54), (48, 1), (60, 12), (14, 0), (13, 43), (18, 44), (11, 1), (31, 8), (37, 1), (6, 49), (22, 55), (56, 12), (2, 0), (21, 31), (34, 48), (43, 39), (50, 59), (45, 62), (47, 39), (8, 34), (63, 28), (12, 18), (22, 58), (55, 25), (50, 57), (6, 32), (17, 59), (10, 48), (4, 50), (18, 2), (19, 42), (51, 8), (3, 39), (3, 56), (38, 33), (38, 19), (19, 44), (33, 34), (25, 0), (11, 0), (31, 18), (16, 27), (45, 8), (6, 7), (25, 59), (57, 32), (1, 46), (8, 6), (38, 21), (15, 8), (20, 20), (51, 44), (15, 46), (7, 43), (49, 35), (48, 16), (45, 57), (59, 43), (23, 9), (6, 35), (3, 44), (46, 6), (41, 25), (15, 29), (57, 26), (26, 59), (43, 55), (60, 30), (28, 63), (50, 37), (4, 39), (61, 24), (31, 45), (57, 37), (33, 51), (55, 8), (33, 15), (52, 61), (20, 55), (43, 14), (39, 62), (40, 58), (42, 39), (5, 27), (16, 14), (10, 31), (51, 56), (12, 0), (8, 26), (9, 48), (25, 55), (45, 37), (8, 0), (24, 5), (7, 34), (9, 22), (16, 40), (29, 0), (30, 9), (35, 17), (1, 62), (34, 36), (11, 17), (63, 17), (54, 53), (63, 42), (53, 53), (4, 19), (6, 45), (34, 28), (21, 63), (14, 14), (9, 41), (13, 32), (28, 45), (45, 33), (61, 19), (7, 45), (26, 48), (35, 5), (60, 60), (43, 49), (17, 12), (20, 37), (23, 45), (2, 3), (37, 52), (41, 11), (2, 54), (58, 1), (9, 33), (13, 9), (36, 13), (2, 20), (53, 8), (18, 31), (9, 37), (12, 16), (18, 9), (30, 26), (39, 27), (19, 2), (2, 62), (41, 4), (23, 26), (53, 59), (33, 45), (0, 16), (2, 39), (15, 13), (51, 57), (36, 50), (53, 37), (22, 62), (43, 10), (62, 38), (2, 38), (55, 14), (4, 8), (55, 23), (55, 5), (35, 25), (48, 25), (27, 15), (46, 5), (20, 33), (25, 31), (32, 41), (5, 15), (11, 30), (9, 16), (29, 43), (43, 45), (42, 56), (22, 43), (0, 45), (28, 9), (4, 4), (44, 21), (16, 33), (63, 62), (56, 14), (59, 15), (30, 55), (58, 35), (41, 62), (21, 21), (1, 1), (0, 47), (54, 51), (10, 30), (39, 63), (14, 55), (55, 16), (18, 16), (60, 14), (24, 54), (10, 38), (51, 17), (13, 15), (8, 11), (48, 43), (58, 48), (60, 53), (5, 39), (23, 25), (57, 55), (15, 9), (12, 25), (9, 10), (46, 47), (37, 3), (33, 42), (8, 28), (10, 14), (58, 40), (8, 44), (29, 44), (40, 21), (60, 31), (5, 55), (41, 49), (43, 25), (28, 47), (43, 4), (59, 35), (50, 36), (12, 31), (22, 14), (43, 8), (15, 20), (46, 14), (8, 54), (3, 12), (26, 27), (31, 28), (53, 0), (35, 37), (59, 26), (26, 30), (21, 14), (44, 10), (59, 37), (19, 5), (7, 62), (11, 40), (8, 50), (30, 10), (27, 63), (11, 22), (60, 46), (43, 3)], 43, [(9, 19), (25, 8), (30, 42), (40, 34)], "Big lists"), ([(36, 64), (49, 8), (21, 44), (18, 6), (36, 29), (51, 41), (16, 22), (31, 60), (34, 29), (58, 33), (46, 5), (59, 59), (12, 33), (60, 2), (37, 63), (53, 37), (10, 7), (13, 31), (53, 3), (9, 15), (24, 13), (3, 24), (33, 59), (65, 54), (14, 29), (49, 10), (4, 23), (35, 64), (43, 21), (4, 18), (46, 9), (44, 2), (65, 5), (11, 56), (34, 20), (7, 31), (1, 11), (58, 26), (43, 63), (9, 57), (42, 41), (28, 25), (38, 2), (46, 1), (23, 30), (37, 8), (29, 25), (14, 25), (65, 40), (53, 52), (23, 28), (28, 16), (43, 31), (53, 0), (13, 41), (17, 4), (17, 47), (56, 2), (63, 37), (25, 7), (2, 7), (48, 49), (10, 20), (60, 18), (10, 25), (28, 3), (48, 10), (57, 11), (19, 36), (20, 22), (24, 61), (35, 9), (17, 2), (48, 58), (65, 37), (11, 25), (51, 24), (35, 32), (14, 50), (36, 57), (45, 56), (17, 34), (46, 35), (62, 20), (33, 23), (62, 15), (2, 13), (19, 6), (39, 29), (62, 18), (47, 28), (42, 28), (14, 65), (62, 12), (25, 1), (64, 55), (26, 23), (7, 15), (36, 17), (31, 23), (28, 40), (53, 30), (55, 65), (60, 52), (64, 8), (47, 1), (28, 5), (56, 63), (11, 51), (19, 48), (14, 30), (1, 35), (63, 14), (30, 39), (60, 59), (2, 47), (46, 52), (22, 4), (64, 62), (5, 16), (24, 24), (5, 61), (18, 17), (61, 43), (40, 11), (54, 34), (65, 63), (19, 37), (50, 25), (36, 51), (4, 22), (48, 60), (1, 59), (0, 26), (0, 25), (65, 0), (18, 4), (15, 41), (32, 1), (58, 19), (34, 3), (51, 57), (59, 13), (16, 43), (29, 4), (56, 17), (24, 31), (18, 29), (39, 50), (52, 61), (49, 19), (12, 21), (36, 39), (27, 30), (31, 24), (61, 39), (45, 6), (19, 21), (5, 25), (11, 10), (26, 3), (34, 26), (51, 45), (48, 16), (31, 19), (44, 57), (36, 65), (27, 62), (16, 2), (29, 30), (6, 48), (23, 36), (35, 17), (58, 55), (1, 26), (41, 55), (29, 55), (46, 21), (44, 54), (7, 26), (61, 30), (61, 38), (0, 54), (10, 54), (5, 30), (13, 39), (18, 47), (8, 38), (31, 16), (65, 23), (35, 1), (19, 59), (49, 17), (45, 9), (2, 50), (26, 51), (20, 11), (59, 11), (63, 36), (14, 27), (44, 25), (21, 57), (23, 17), (41, 41), (28, 48), (54, 60), (14, 38), (61, 20), (46, 46), (12, 48), (3, 56), (22, 10), (28, 30), (27, 13), (32, 18), (26, 46), (2, 4), (41, 38), (7, 36), (9, 31), (31, 48), (35, 52), (59, 56), (23, 40), (41, 63), (13, 56), (47, 59), (23, 44), (32, 7), (44, 26), (48, 43), (17, 25), (61, 3), (44, 15), (19, 50), (41, 21), (19, 1), (22, 0), (42, 51), (35, 55), (4, 50), (31, 59), (33, 44), (65, 41), (19, 41), (37, 22), (60, 38), (59, 38), (12, 28), (1, 60), (13, 18), (63, 59), (21, 8), (57, 31), (61, 62), (29, 62), (60, 1), (19, 8), (35, 23), (13, 59), (56, 4), (24, 60), (53, 53), (62, 40), (34, 15), (6, 10), (41, 2), (36, 28), (61, 57), (63, 41), (32, 16), (16, 31), (32, 37), (58, 58), (34, 44), (11, 54), (24, 57), (20, 50), (46, 45), (9, 19), (51, 11), (57, 30), (36, 36), (33, 15), (3, 27), (44, 59), (34, 36), (9, 38), (61, 6), (13, 46), (20, 17), (4, 24), (23, 22), (49, 7), (52, 60), (65, 28), (26, 20), (45, 64), (48, 32), (58, 60), (54, 61), (38, 53), (41, 22), (42, 29), (63, 34), (7, 61), (62, 51), (8, 4), (54, 38), (6, 33), (1, 5), (17, 6), (0, 9), (23, 24), (37, 56), (62, 19), (44, 27), (23, 41), (48, 29), (20, 2), (0, 48), (34, 5), (14, 53), (19, 10), (13, 40), (56, 43), (5, 63), (11, 3), (21, 25), (17, 1), (26, 27), (45, 22), (26, 37), (57, 63), (60, 31), (64, 35), (13, 62), (37, 0), (49, 59), (57, 38), (11, 36), (52, 13), (10, 14), (8, 56), (42, 38), (52, 10), (31, 14), (49, 35), (7, 57), (28, 43), (13, 7), (10, 11), (51, 7), (22, 15), (50, 41), (35, 39), (59, 52), (36, 14), (24, 15), (47, 14), (41, 53), (15, 61), (38, 10), (21, 49), (40, 5), (44, 7), (30, 53), (60, 0), (29, 51), (56, 25), (40, 37), (21, 11), (10, 5), (6, 53), (30, 60), (9, 7), (22, 56), (45, 23), (15, 49), (8, 27), (10, 63), (21, 36), (17, 3), (47, 23), (23, 2), (20, 39), (18, 56), (25, 17), (62, 9), (58, 39), (53, 55), (9, 53), (65, 60), (47, 38), (16, 41), (33, 47), (32, 38), (38, 12), (42, 20), (6, 19), (65, 10), (7, 43), (62, 31), (22, 12), (16, 37), (56, 61), (51, 26), (64, 38), (20, 30), (65, 32), (5, 24), (2, 12), (47, 46), (51, 43), (15, 6), (40, 20), (59, 65), (1, 37), (16, 58), (47, 34), (34, 32), (36, 54), (15, 14), (27, 15), (14, 0), (4, 2), (51, 53), (65, 30), (55, 35), (22, 33), (56, 14), (49, 53), (32, 8), (48, 8), (33, 46), (18, 55), (41, 62), (37, 44), (43, 10), (27, 35), (49, 28), (55, 38), (10, 47), (59, 50), (60, 26), (26, 60), (51, 20), (41, 29), (64, 31), (47, 63), (49, 48), (19, 31), (44, 50), (61, 13), (25, 6), (43, 25), (16, 12), (26, 54), (28, 51), (16, 52), (30, 29), (37, 37), (8, 24), (38, 19), (46, 26), (22, 26), (32, 63), (29, 42), (61, 9), (8, 36), (55, 11), (4, 48), (52, 25), (2, 20), (6, 15), (28, 23), (62, 39), (4, 54), (44, 18), (13, 44), (25, 40), (17, 59), (52, 63), (64, 27), (9, 56), (55, 56), (26, 55), (29, 10), (0, 37), (20, 54), (61, 59), (2, 43), (37, 28), (59, 51), (61, 26), (51, 23), (60, 7), (33, 22), (12, 10), (56, 46), (28, 52), (41, 35), (49, 9), (55, 16), (0, 18), (25, 25), (9, 30), (32, 12), (10, 57), (21, 62), (41, 60), (45, 49), (52, 43), (8, 46), (64, 0), (46, 40), (9, 13), (12, 4), (14, 59), (3, 45), (11, 53), (41, 20), (61, 61), (49, 40), (36, 55), (15, 40), (4, 43), (49, 63), (31, 7), (4, 34), (12, 11), (6, 49), (47, 47), (1, 38), (64, 14), (18, 33), (37, 51), (10, 58), (42, 39), (17, 52), (47, 22), (57, 16), (48, 15), (50, 65), (23, 32), (54, 31), (9, 47), (20, 53), (17, 32), (48, 5), (28, 8), (23, 23), (21, 13), (42, 35), (45, 57), (30, 45), (39, 39), (15, 0), (60, 60), (18, 59), (21, 43), (26, 19), (55, 46), (6, 43), (36, 23), (36, 56), (54, 54), (47, 20), (41, 26), (52, 54), (41, 34), (4, 8), (50, 26), (7, 46), (29, 43), (53, 10), (7, 10), (49, 45), (32, 45), (61, 65), (53, 41), (11, 5), (53, 17), (5, 32), (60, 36), (9, 11), (46, 25), (12, 9), (58, 51), (37, 24), (37, 61), (53, 11), (17, 9), (28, 39), (65, 18), (31, 63), (20, 3), (2, 8), (15, 63), (14, 14), (45, 48), (12, 57), (51, 16), (27, 25), (50, 62), (23, 39), (44, 32), (14, 49), (56, 30), (15, 57), (7, 38), (48, 42), (64, 12), (42, 15), (45, 34), (35, 31), (33, 53), (7, 39), (16, 15), (10, 24), (4, 45), (44, 46), (58, 45), (57, 3), (33, 32), (2, 48), (57, 48), (1, 16), (53, 21), (11, 65), (7, 50), (24, 58), (45, 39), (3, 36), (19, 35), (25, 15), (6, 34), (39, 4), (26, 6), (53, 1), (12, 5), (35, 4), (16, 19), (16, 5), (6, 41), (51, 8), (64, 19), (43, 47), (62, 52), (9, 36), (25, 51), (49, 50), (51, 39), (25, 8), (53, 31), (59, 49), (5, 19), (12, 34), (40, 38), (39, 32), (24, 18), (52, 0), (57, 35), (6, 14), (20, 59), (61, 51), (35, 37), (19, 43), (53, 16), (13, 27), (36, 26), (13, 0), (28, 26), (32, 65), (3, 55), (27, 43), (64, 17), (58, 36), (2, 30), (30, 28), (62, 5), (21, 59), (39, 11), (26, 61), (59, 45), (65, 35), (50, 37), (48, 2), (26, 31), (49, 33), (55, 47), (32, 13), (38, 47), (10, 65), (51, 37), (57, 26), (32, 41), (2, 44), (19, 16), (16, 18), (30, 1), (35, 20), (44, 35), (10, 28), (57, 60), (50, 52), (57, 58), (10, 36), (29, 40), (13, 20), (4, 40), (27, 49), (32, 17), (58, 20), (47, 37), (57, 1), (24, 32), (9, 26), (12, 12), (46, 7), (22, 16), (48, 14), (36, 53), (6, 20), (52, 2), (8, 37), (43, 0), (61, 45), (52, 51), (64, 32), (42, 49), (61, 64), (6, 51), (25, 37), (48, 63), (8, 44), (25, 44), (44, 12), (10, 41), (34, 16), (41, 14), (35, 47), (59, 20), (27, 47), (2, 1), (19, 11), (5, 64), (15, 15), (0, 42), (20, 10), (47, 21), (45, 42), (39, 59), (63, 57), (34, 43), (16, 51), (21, 40), (12, 35), (15, 36), (5, 0), (59, 34), (60, 56), (32, 3), (10, 45), (19, 51), (24, 17), (60, 45), (64, 64), (31, 54), (15, 59), (50, 60), (30, 57), (2, 46), (55, 21), (65, 52), (50, 48), (11, 26), (34, 47), (1, 30), (45, 58), (42, 45), (20, 31), (48, 40), (28, 60), (53, 20), (37, 13), (50, 3), (57, 13), (9, 2), (43, 57), (31, 32), (37, 38), (35, 8), (21, 19), (1, 50), (38, 58), (32, 60), (55, 39), (23, 21), (54, 50), (29, 5), (21, 42), (42, 36), (29, 19), (33, 5), (4, 59), (53, 57), (7, 30), (60, 51), (49, 43), (0, 32), (31, 26), (25, 38), (58, 50), (25, 58), (46, 60), (47, 62), (7, 51), (44, 62), (39, 18), (51, 51)], 45, [(44, 44)], 'Big lists'), ([(22, 23), (56, 35), (15, 7), (40, 15), (36, 30), (52, 47), (9, 59), (65, 40), (28, 53), (19, 15), (2, 30), (58, 40), (60, 36), (2, 67), (16, 58), (53, 13), (36, 38), (29, 54), (50, 15), (14, 28), (23, 30), (0, 64), (58, 57), (38, 2), (28, 40), (22, 6), (12, 46), (50, 35), (56, 27), (30, 64), (49, 20), (47, 46), (4, 29), (9, 50), (39, 3), (66, 17), (58, 9), (48, 40), (51, 53), (41, 49), (30, 26), (43, 17), (3, 38), (23, 42), (23, 13), (7, 15), (28, 14), (61, 52), (4, 64), (16, 22), (8, 60), (46, 31), (39, 63), (10, 30), (9, 41), (15, 29), (13, 37), (20, 64), (62, 61), (3, 15), (25, 33), (6, 65), (47, 56), (12, 4), (46, 24), (7, 30), (28, 25), (51, 3), (57, 6), (59, 3), (14, 55), (14, 26), (18, 53), (65, 63), (36, 44), (19, 33), (14, 9), (39, 25), (13, 9), (13, 17), (45, 25), (60, 5), (41, 36), (2, 6), (59, 19), (15, 22), (55, 9), (9, 37), (2, 58), (4, 56), (66, 46), (65, 31), (42, 30), (20, 29), (62, 41), (31, 19), (50, 28), (42, 64), (21, 4), (3, 10), (30, 4), (50, 60), (34, 25), (37, 63), (52, 38), (7, 0), (11, 50), (5, 67), (0, 4), (51, 33), (13, 57), (13, 60), (3, 46), (26, 26), (8, 34), (60, 43), (25, 55), (24, 30), (51, 40), (35, 64), (14, 10), (37, 9), (59, 38), (61, 13), (40, 16), (10, 21), (56, 58), (62, 43), (23, 60), (18, 24), (17, 67), (25, 63), (28, 59), (48, 64), (12, 61), (60, 61), (9, 16), (42, 5), (7, 53), (12, 15), (42, 46), (38, 34), (59, 0), (61, 31), (13, 55), (37, 14), (46, 11), (32, 19), (38, 27), (11, 9), (18, 49), (29, 36), (11, 36), (3, 65), (58, 27), (42, 31), (4, 21), (15, 2), (6, 44), (39, 55), (39, 58), (47, 59), (31, 35), (29, 21), (18, 47), (56, 43), (22, 26), (49, 67), (12, 52), (31, 66), (25, 27), (67, 19), (13, 58), (40, 30), (34, 49), (64, 51), (25, 48), (62, 20), (9, 56), (48, 60), (66, 24), (57, 16), (7, 56), (17, 37), (45, 62), (40, 45), (20, 66), (28, 1), (55, 19), (18, 5), (33, 29), (57, 21), (34, 57), (51, 61), (66, 45), (24, 34), (37, 24), (57, 42), (63, 15), (19, 14), (5, 5), (12, 7), (44, 43), (2, 17), (39, 67), (27, 57), (21, 8), (35, 34), (1, 23), (14, 27), (62, 50), (45, 46), (67, 42), (1, 35), (55, 26), (36, 57), (27, 61), (19, 3), (36, 7), (53, 1), (45, 2), (24, 55), (34, 31), (29, 58), (36, 9), (16, 50), (67, 57), (36, 14), (11, 37), (32, 56), (16, 2), (41, 25), (59, 36), (12, 24), (27, 64), (10, 34), (23, 51), (16, 40), (14, 51), (48, 12), (56, 42), (7, 6), (58, 49), (17, 22), (0, 1), (57, 26), (61, 66), (18, 38), (58, 53), (59, 53), (38, 40), (23, 59), (64, 2), (13, 28), (41, 55), (42, 51), (66, 39), (40, 27), (17, 63), (34, 64), (9, 3), (0, 7), (8, 20), (61, 62), (45, 56), (34, 18), (32, 0), (42, 27), (21, 61), (40, 37), (51, 47), (57, 3), (43, 47), (59, 56), (33, 40), (32, 67), (39, 19), (41, 51), (22, 1), (1, 33), (31, 40), (3, 18), (15, 48), (6, 36), (27, 11), (10, 33), (30, 6), (8, 35), (17, 16), (39, 12), (55, 28), (4, 28), (47, 11), (51, 28), (60, 20), (16, 36), (51, 58), (60, 49), (45, 43), (50, 30), (5, 12), (2, 41), (52, 21), (53, 12), (41, 56), (9, 48), (24, 54), (66, 42), (24, 1), (49, 48), (46, 47), (5, 8), (3, 17), (59, 42), (4, 33), (66, 67), (31, 36), (52, 2), (59, 45), (7, 43), (5, 30), (52, 42), (12, 58), (47, 54), (33, 37), (45, 24), (55, 15), (11, 58), (6, 52), (17, 17), (61, 55), (63, 33), (31, 43), (18, 41), (11, 52), (67, 56), (50, 39), (4, 19), (67, 17), (60, 35), (5, 21), (20, 56), (23, 15), (41, 60), (26, 53), (32, 38), (19, 32), (34, 8), (0, 22), (51, 0), (41, 66), (33, 50), (30, 37), (30, 5), (51, 62), (23, 41), (52, 58), (15, 44), (33, 2), (58, 58), (58, 17), (25, 2), (45, 17), (5, 45), (12, 63), (63, 7), (46, 52), (54, 8), (11, 6), (37, 1), (31, 31), (34, 10), (32, 32), (50, 16), (49, 40), (27, 35), (52, 39), (29, 6), (21, 14), (56, 57), (12, 53), (42, 18), (65, 7), (10, 19), (14, 25), (22, 35), (29, 15), (31, 18), (17, 31), (12, 21), (43, 57), (42, 28), (16, 23), (25, 43), (11, 57), (26, 11), (42, 6), (56, 32), (47, 22), (27, 53), (13, 5), (45, 29), (3, 64), (26, 56), (59, 67), (23, 36), (34, 45), (56, 2), (10, 61), (35, 18), (41, 6), (2, 49), (28, 47), (64, 45), (43, 8), (5, 61), (2, 15), (9, 1), (20, 12), (54, 28), (10, 25), (0, 16), (8, 59), (44, 24), (66, 18), (48, 20), (39, 49), (25, 52), (60, 52), (53, 39), (33, 47), (24, 43), (19, 37), (49, 61), (0, 46), (38, 33), (46, 61), (9, 43), (1, 28), (25, 12), (48, 0), (48, 49), (23, 65), (13, 1), (25, 21), (34, 23), (60, 40), (21, 41), (0, 30), (12, 50), (16, 42), (56, 23), (10, 59), (11, 45), (59, 55), (62, 10), (62, 67), (28, 63), (43, 7), (41, 58), (54, 18), (52, 29), (36, 4), (15, 17), (52, 32), (40, 60), (33, 48), (56, 51), (1, 45), (6, 29), (23, 39), (62, 22), (37, 54), (66, 32), (35, 7), (48, 39), (63, 41), (24, 17), (38, 56), (17, 52), (4, 14), (42, 16), (3, 21), (42, 13), (49, 47), (50, 50), (65, 36), (65, 30), (42, 24), (0, 38), (5, 9), (40, 6), (61, 24), (51, 67), (64, 66), (16, 49), (8, 23), (35, 41), (63, 61), (45, 31), (22, 13), (37, 47), (40, 62), (35, 1), (61, 15), (26, 27), (24, 59), (41, 13), (6, 3), (18, 55), (20, 1), (44, 56), (60, 60), (14, 6), (31, 42), (23, 0), (26, 18), (11, 47), (27, 59), (49, 19), (59, 64), (23, 64), (32, 39), (30, 16), (9, 58), (59, 15), (66, 6), (18, 15), (24, 64), (36, 16), (8, 50), (53, 56), (15, 55), (21, 47), (13, 46), (50, 67), (57, 25), (24, 62), (1, 61), (43, 60), (19, 58), (44, 34), (37, 38), (28, 57), (52, 44), (26, 40), (28, 19), (35, 0), (61, 11), (3, 43), (23, 16), (47, 64), (57, 51), (20, 60), (39, 53), (32, 13), (49, 51), (41, 14), (60, 51), (58, 28), (18, 67), (38, 58), (55, 39), (28, 27), (19, 5), (61, 10), (54, 66), (56, 67), (51, 64), (37, 52), (27, 21), (18, 45), (35, 35), (14, 41), (0, 57), (29, 2), (21, 11), (15, 31), (47, 49), (54, 0), (50, 8), (39, 38), (25, 35), (23, 56), (10, 53), (11, 41), (53, 51), (14, 61), (54, 9), (43, 62), (4, 65), (51, 63), (30, 62), (47, 9), (2, 56), (43, 59), (65, 51), (49, 41), (38, 42), (67, 9), (11, 2), (31, 58), (20, 36), (23, 62), (16, 61), (6, 50), (18, 34), (57, 32), (49, 29), (27, 44), (33, 27), (20, 57), (42, 15), (39, 66), (35, 56), (54, 32), (32, 7), (26, 1), (19, 6), (20, 54), (40, 67), (14, 19), (61, 45), (13, 19), (10, 51), (1, 4), (11, 15), (43, 5), (12, 59), (53, 17), (23, 5), (18, 13), (52, 37), (22, 34), (21, 58), (28, 17), (16, 39), (42, 49), (61, 0), (2, 5), (60, 47), (1, 37), (1, 32), (28, 44), (36, 45), (67, 12), (5, 55), (60, 2), (52, 11), (58, 26), (6, 54), (57, 17), (16, 53), (61, 53), (3, 61), (5, 33), (47, 65), (33, 46), (13, 63), (57, 58), (51, 5), (4, 49), (57, 59), (62, 38), (41, 46), (1, 17), (61, 51), (49, 58), (56, 17), (66, 55), (24, 42), (28, 36), (45, 20), (26, 37), (11, 17), (4, 43), (20, 59), (26, 51), (22, 9), (6, 47), (3, 66), (17, 64), (44, 47), (6, 35), (5, 58), (16, 59), (67, 58), (64, 59), (28, 41), (36, 47), (14, 60), (53, 20), (17, 27), (49, 10), (51, 56), (61, 18), (0, 21), (18, 65), (23, 67), (20, 31), (27, 42), (55, 34), (50, 3), (62, 66), (11, 24), (27, 60), (8, 55), (34, 16), (62, 3), (54, 59), (21, 49), (44, 28), (34, 36), (65, 21), (42, 12), (47, 47), (67, 51), (58, 11), (33, 39), (32, 30), (13, 8), (64, 17), (9, 21), (66, 64), (12, 35), (21, 67), (8, 31), (34, 43), (57, 7), (48, 51), (66, 52), (21, 51), (11, 22), (1, 50), (45, 50), (29, 4), (9, 52), (54, 20), (23, 6), (37, 30), (66, 49), (39, 11), (12, 26), (7, 21), (58, 47), (5, 52), (29, 19), (1, 20), (62, 44), (54, 38), (25, 19), (8, 36), (41, 53), (3, 57), (8, 61), (40, 22), (63, 36), (0, 11), (23, 53), (47, 44), (22, 7), (5, 56), (10, 64), (4, 12), (5, 48), (34, 11), (38, 5), (37, 27), (54, 67), (36, 54), (22, 54)], 47, [(46, 38)], 'Big lists'), ] for data in test_data: # test data agents = data[0] n = data[1] expected = data[2] message = data[3] # test log print_log(agents=agents, n=n, expected=expected, message=message) print_map(agents, n, expected) # assertion self.assertEqual(expected, sorted(advice(agents=agents, n=n)), message)