diff --git a/7.hs b/7.hs index b809752..cd98c6a 100644 --- a/7.hs +++ b/7.hs @@ -1,6 +1,6 @@ import Data.HashMap (Map, fromList, toList, delete, findWithDefault) import Data.List.Split -import Data.Tree (Tree, unfoldTree, drawTree) +import Data.Tree (Tree(..), unfoldTree, drawTree) type Weight = Int type Program = String @@ -30,6 +30,33 @@ getBottom m l = bottomName mapToTree :: Map Program (Weight, Programs) -> Program -> Tree Weight mapToTree m = unfoldTree (\s -> findWithDefault undefined s m) +cumulate :: Tree Int -> Tree (Int, Int) +cumulate (Node root forest) = + let newForest = map cumulate forest + cumulativeWeight = foldr (\(Node (_, subWeight) _) weight -> weight + subWeight) 0 newForest + in Node { rootLabel = (root, cumulativeWeight + root), subForest = newForest } + +findUnbalanced :: Tree (Int, Int) -> Int +findUnbalanced (Node _ forest) = + let (diff, notMedian) = getDiffMedian $ fmap (\(Node (_, subWeight) _) -> subWeight) forest + unbalanced = diff + foldr (\(Node (subRoot, subWeight) _) acc -> if subWeight == notMedian then subRoot else acc) 0 forest + subUnbalanced = sum $ map findUnbalanced forest + in minOrZero unbalanced subUnbalanced + +minOrZero :: Int -> Int -> Int +minOrZero 0 0 = 0 +minOrZero x 0 = x +minOrZero 0 y = y +minOrZero x y = min x y + +getDiffMedian :: [Int] -> (Int, Int) +getDiffMedian ns = + let diffs = filter (/= 0) $ map (+ (- head ns)) ns + in case length diffs of + 0 -> (0, -1) + 1 -> (- head diffs, head ns + head diffs) + _ -> ( head diffs, head ns) + main :: IO () main = do input <- readFile "7.txt" @@ -37,5 +64,9 @@ main = do programsMap = fromList programsList bottomName = getBottom programsMap programsList programsTree = mapToTree programsMap bottomName + cumulateTree = cumulate programsTree + unbalanced = findUnbalanced cumulateTree print $ bottomName - writeFile "7_tree.txt" $ drawTree $ fmap show programsTree \ No newline at end of file + writeFile "7_tree.txt" $ drawTree $ fmap show programsTree + writeFile "7_cumulate.txt" $ drawTree $ fmap show cumulateTree + print $ unbalanced \ No newline at end of file diff --git a/7_cumulate.txt b/7_cumulate.txt new file mode 100644 index 0000000..c6ffd23 --- /dev/null +++ b/7_cumulate.txt @@ -0,0 +1,2195 @@ +(69,551402) +| ++- (91947,137832) +| | +| +- (35,15295) +| | | +| | +- (1136,2180) +| | | | +| | | +- (261,261) +| | | | +| | | +- (261,261) +| | | | +| | | +- (93,261) +| | | | | +| | | | +- (84,84) +| | | | | +| | | | `- (84,84) +| | | | +| | | `- (173,261) +| | | | +| | | +- (22,22) +| | | | +| | | +- (22,22) +| | | | +| | | +- (22,22) +| | | | +| | | `- (22,22) +| | | +| | +- (94,2180) +| | | | +| | | +- (298,298) +| | | | +| | | +- (192,298) +| | | | | +| | | | +- (53,53) +| | | | | +| | | | `- (53,53) +| | | | +| | | +- (90,298) +| | | | | +| | | | +- (52,52) +| | | | | +| | | | +- (52,52) +| | | | | +| | | | +- (52,52) +| | | | | +| | | | `- (52,52) +| | | | +| | | +- (282,298) +| | | | | +| | | | +- (8,8) +| | | | | +| | | | `- (8,8) +| | | | +| | | +- (172,298) +| | | | | +| | | | +- (63,63) +| | | | | +| | | | `- (63,63) +| | | | +| | | +- (170,298) +| | | | | +| | | | +- (64,64) +| | | | | +| | | | `- (64,64) +| | | | +| | | `- (112,298) +| | | | +| | | +- (93,93) +| | | | +| | | `- (93,93) +| | | +| | +- (808,2180) +| | | | +| | | +- (261,343) +| | | | | +| | | | +- (41,41) +| | | | | +| | | | `- (41,41) +| | | | +| | | +- (289,343) +| | | | | +| | | | +- (27,27) +| | | | | +| | | | `- (27,27) +| | | | +| | | +- (73,343) +| | | | | +| | | | +- (90,90) +| | | | | +| | | | +- (90,90) +| | | | | +| | | | `- (90,90) +| | | | +| | | `- (313,343) +| | | | +| | | +- (15,15) +| | | | +| | | `- (15,15) +| | | +| | +- (568,2180) +| | | | +| | | +- (157,403) +| | | | | +| | | | +- (82,82) +| | | | | +| | | | +- (82,82) +| | | | | +| | | | `- (82,82) +| | | | +| | | +- (377,403) +| | | | | +| | | | +- (13,13) +| | | | | +| | | | `- (13,13) +| | | | +| | | +- (250,403) +| | | | | +| | | | +- (51,51) +| | | | | +| | | | +- (51,51) +| | | | | +| | | | `- (51,51) +| | | | +| | | `- (67,403) +| | | | +| | | +- (84,84) +| | | | +| | | +- (84,84) +| | | | +| | | +- (84,84) +| | | | +| | | `- (84,84) +| | | +| | +- (970,2180) +| | | | +| | | +- (50,242) +| | | | | +| | | | +- (96,96) +| | | | | +| | | | `- (96,96) +| | | | +| | | +- (142,242) +| | | | | +| | | | +- (50,50) +| | | | | +| | | | `- (50,50) +| | | | +| | | +- (173,242) +| | | | | +| | | | +- (23,23) +| | | | | +| | | | +- (23,23) +| | | | | +| | | | `- (23,23) +| | | | +| | | +- (132,242) +| | | | | +| | | | +- (55,55) +| | | | | +| | | | `- (55,55) +| | | | +| | | `- (142,242) +| | | | +| | | +- (50,50) +| | | | +| | | `- (50,50) +| | | +| | +- (1428,2180) +| | | | +| | | +- (188,188) +| | | | +| | | +- (80,188) +| | | | | +| | | | +- (36,36) +| | | | | +| | | | +- (36,36) +| | | | | +| | | | `- (36,36) +| | | | +| | | +- (44,188) +| | | | | +| | | | +- (48,48) +| | | | | +| | | | +- (48,48) +| | | | | +| | | | `- (48,48) +| | | | +| | | `- (56,188) +| | | | +| | | +- (66,66) +| | | | +| | | `- (66,66) +| | | +| | `- (761,2180) +| | | +| | +- (93,473) +| | | | +| | | +- (95,95) +| | | | +| | | +- (95,95) +| | | | +| | | +- (95,95) +| | | | +| | | `- (95,95) +| | | +| | +- (395,473) +| | | | +| | | +- (39,39) +| | | | +| | | `- (39,39) +| | | +| | `- (425,473) +| | | +| | +- (12,12) +| | | +| | +- (12,12) +| | | +| | +- (12,12) +| | | +| | `- (12,12) +| | +| +- (7991,15295) +| | | +| | +- (1046,1826) +| | | | +| | | +- (124,156) +| | | | | +| | | | +- (16,16) +| | | | | +| | | | `- (16,16) +| | | | +| | | +- (156,156) +| | | | +| | | +- (88,156) +| | | | | +| | | | +- (34,34) +| | | | | +| | | | `- (34,34) +| | | | +| | | +- (62,156) +| | | | | +| | | | +- (47,47) +| | | | | +| | | | `- (47,47) +| | | | +| | | `- (54,156) +| | | | +| | | +- (51,51) +| | | | +| | | `- (51,51) +| | | +| | +- (629,1826) +| | | | +| | | +- (305,399) +| | | | | +| | | | +- (47,47) +| | | | | +| | | | `- (47,47) +| | | | +| | | +- (47,399) +| | | | | +| | | | +- (88,88) +| | | | | +| | | | +- (88,88) +| | | | | +| | | | +- (88,88) +| | | | | +| | | | `- (88,88) +| | | | +| | | `- (399,399) +| | | +| | +- (81,1826) +| | | | +| | | +- (25,349) +| | | | | +| | | | +- (81,81) +| | | | | +| | | | +- (81,81) +| | | | | +| | | | +- (81,81) +| | | | | +| | | | `- (81,81) +| | | | +| | | +- (349,349) +| | | | +| | | +- (199,349) +| | | | | +| | | | +- (75,75) +| | | | | +| | | | `- (75,75) +| | | | +| | | +- (178,349) +| | | | | +| | | | +- (57,57) +| | | | | +| | | | +- (57,57) +| | | | | +| | | | `- (57,57) +| | | | +| | | `- (255,349) +| | | | +| | | +- (47,47) +| | | | +| | | `- (47,47) +| | | +| | `- (989,1826) +| | | +| | +- (279,279) +| | | +| | +- (63,279) +| | | | +| | | +- (72,72) +| | | | +| | | +- (72,72) +| | | | +| | | `- (72,72) +| | | +| | `- (167,279) +| | | +| | +- (56,56) +| | | +| | `- (56,56) +| | +| `- (14779,15295) +| | +| +- (129,129) +| | +| +- (115,129) +| | | +| | +- (7,7) +| | | +| | `- (7,7) +| | +| +- (13,129) +| | | +| | +- (29,29) +| | | +| | +- (29,29) +| | | +| | +- (29,29) +| | | +| | `- (29,29) +| | +| `- (59,129) +| | +| +- (35,35) +| | +| `- (35,35) +| ++- (65882,137837) +| | +| +- (5411,14390) +| | | +| | +- (46,2993) +| | | | +| | | +- (334,421) +| | | | | +| | | | +- (29,29) +| | | | | +| | | | +- (29,29) +| | | | | +| | | | `- (29,29) +| | | | +| | | +- (233,421) +| | | | | +| | | | +- (94,94) +| | | | | +| | | | `- (94,94) +| | | | +| | | +- (33,421) +| | | | | +| | | | +- (97,97) +| | | | | +| | | | +- (97,97) +| | | | | +| | | | +- (97,97) +| | | | | +| | | | `- (97,97) +| | | | +| | | +- (391,421) +| | | | | +| | | | +- (15,15) +| | | | | +| | | | `- (15,15) +| | | | +| | | +- (357,421) +| | | | | +| | | | +- (32,32) +| | | | | +| | | | `- (32,32) +| | | | +| | | +- (421,421) +| | | | +| | | `- (265,421) +| | | | +| | | +- (78,78) +| | | | +| | | `- (78,78) +| | | +| | +- (539,2993) +| | | | +| | | +- (365,409) +| | | | | +| | | | +- (22,22) +| | | | | +| | | | `- (22,22) +| | | | +| | | +- (285,409) +| | | | | +| | | | +- (62,62) +| | | | | +| | | | `- (62,62) +| | | | +| | | +- (393,409) +| | | | | +| | | | +- (8,8) +| | | | | +| | | | `- (8,8) +| | | | +| | | +- (37,409) +| | | | | +| | | | +- (93,93) +| | | | | +| | | | +- (93,93) +| | | | | +| | | | +- (93,93) +| | | | | +| | | | `- (93,93) +| | | | +| | | +- (409,409) +| | | | +| | | `- (211,409) +| | | | +| | | +- (66,66) +| | | | +| | | +- (66,66) +| | | | +| | | `- (66,66) +| | | +| | `- (2803,2993) +| | | +| | +- (95,95) +| | | +| | `- (95,95) +| | +| +- (11651,14395) +| | | +| | +- (10,913) +| | | | +| | | +- (58,301) +| | | | | +| | | | +- (81,81) +| | | | | +| | | | +- (81,81) +| | | | | +| | | | `- (81,81) +| | | | +| | | +- (213,301) +| | | | | +| | | | +- (22,22) +| | | | | +| | | | +- (22,22) +| | | | | +| | | | +- (22,22) +| | | | | +| | | | `- (22,22) +| | | | +| | | `- (28,301) +| | | | +| | | +- (91,91) +| | | | +| | | +- (91,91) +| | | | +| | | `- (91,91) +| | | +| | +- (396,918) +| | | | +| | | +- (135,174) +| | | | | +| | | | +- (13,13) +| | | | | +| | | | +- (13,13) +| | | | | +| | | | `- (13,13) +| | | | +| | | +- (174,174) +| | | | +| | | `- (38,174) +| | | | +| | | +- (34,34) +| | | | +| | | +- (34,34) +| | | | +| | | +- (34,34) +| | | | +| | | `- (34,34) +| | | +| | `- (785,913) +| | | +| | +- (64,64) +| | | +| | `- (64,64) +| | +| +- (7374,14390) +| | | +| | +- (522,1754) +| | | | +| | | +- (28,176) +| | | | | +| | | | +- (74,74) +| | | | | +| | | | `- (74,74) +| | | | +| | | +- (176,176) +| | | | +| | | +- (84,176) +| | | | | +| | | | +- (46,46) +| | | | | +| | | | `- (46,46) +| | | | +| | | +- (164,176) +| | | | | +| | | | +- (6,6) +| | | | | +| | | | `- (6,6) +| | | | +| | | +- (30,176) +| | | | | +| | | | +- (73,73) +| | | | | +| | | | `- (73,73) +| | | | +| | | +- (76,176) +| | | | | +| | | | +- (50,50) +| | | | | +| | | | `- (50,50) +| | | | +| | | `- (53,176) +| | | | +| | | +- (41,41) +| | | | +| | | +- (41,41) +| | | | +| | | `- (41,41) +| | | +| | +- (20,1754) +| | | | +| | | +- (275,289) +| | | | | +| | | | +- (7,7) +| | | | | +| | | | `- (7,7) +| | | | +| | | +- (203,289) +| | | | | +| | | | +- (43,43) +| | | | | +| | | | `- (43,43) +| | | | +| | | +- (141,289) +| | | | | +| | | | +- (37,37) +| | | | | +| | | | +- (37,37) +| | | | | +| | | | +- (37,37) +| | | | | +| | | | `- (37,37) +| | | | +| | | +- (175,289) +| | | | | +| | | | +- (38,38) +| | | | | +| | | | +- (38,38) +| | | | | +| | | | `- (38,38) +| | | | +| | | +- (139,289) +| | | | | +| | | | +- (75,75) +| | | | | +| | | | `- (75,75) +| | | | +| | | `- (10,289) +| | | | +| | | +- (93,93) +| | | | +| | | +- (93,93) +| | | | +| | | `- (93,93) +| | | +| | +- (542,1754) +| | | | +| | | +- (340,404) +| | | | | +| | | | +- (16,16) +| | | | | +| | | | +- (16,16) +| | | | | +| | | | +- (16,16) +| | | | | +| | | | `- (16,16) +| | | | +| | | +- (266,404) +| | | | | +| | | | +- (69,69) +| | | | | +| | | | `- (69,69) +| | | | +| | | `- (84,404) +| | | | +| | | +- (80,80) +| | | | +| | | +- (80,80) +| | | | +| | | +- (80,80) +| | | | +| | | `- (80,80) +| | | +| | `- (1175,1754) +| | | +| | +- (41,193) +| | | | +| | | +- (76,76) +| | | | +| | | `- (76,76) +| | | +| | +- (193,193) +| | | +| | `- (49,193) +| | | +| | +- (72,72) +| | | +| | `- (72,72) +| | +| +- (9470,14390) +| | | +| | +- (806,1640) +| | | | +| | | +- (82,278) +| | | | | +| | | | +- (98,98) +| | | | | +| | | | `- (98,98) +| | | | +| | | +- (23,278) +| | | | | +| | | | +- (85,85) +| | | | | +| | | | +- (85,85) +| | | | | +| | | | `- (85,85) +| | | | +| | | `- (210,278) +| | | | +| | | +- (34,34) +| | | | +| | | `- (34,34) +| | | +| | +- (92,1640) +| | | | +| | | +- (234,258) +| | | | | +| | | | +- (12,12) +| | | | | +| | | | `- (12,12) +| | | | +| | | +- (258,258) +| | | | +| | | +- (196,258) +| | | | | +| | | | +- (31,31) +| | | | | +| | | | `- (31,31) +| | | | +| | | +- (190,258) +| | | | | +| | | | +- (17,17) +| | | | | +| | | | +- (17,17) +| | | | | +| | | | +- (17,17) +| | | | | +| | | | `- (17,17) +| | | | +| | | +- (258,258) +| | | | +| | | `- (21,258) +| | | | +| | | +- (79,79) +| | | | +| | | +- (79,79) +| | | | +| | | `- (79,79) +| | | +| | `- (1364,1640) +| | | +| | +- (40,92) +| | | | +| | | +- (26,26) +| | | | +| | | `- (26,26) +| | | +| | +- (34,92) +| | | | +| | | +- (29,29) +| | | | +| | | `- (29,29) +| | | +| | `- (14,92) +| | | +| | +- (39,39) +| | | +| | `- (39,39) +| | +| `- (80,14390) +| | +| +- (2334,2862) +| | | +| | +- (104,176) +| | | | +| | | +- (36,36) +| | | | +| | | `- (36,36) +| | | +| | +- (32,176) +| | | | +| | | +- (72,72) +| | | | +| | | `- (72,72) +| | | +| | `- (176,176) +| | +| +- (1917,2862) +| | | +| | +- (59,189) +| | | | +| | | +- (65,65) +| | | | +| | | `- (65,65) +| | | +| | +- (61,189) +| | | | +| | | +- (64,64) +| | | | +| | | `- (64,64) +| | | +| | +- (161,189) +| | | | +| | | +- (14,14) +| | | | +| | | `- (14,14) +| | | +| | +- (37,189) +| | | | +| | | +- (76,76) +| | | | +| | | `- (76,76) +| | | +| | `- (132,189) +| | | +| | +- (19,19) +| | | +| | +- (19,19) +| | | +| | `- (19,19) +| | +| +- (84,2862) +| | | +| | +- (87,463) +| | | | +| | | +- (94,94) +| | | | +| | | +- (94,94) +| | | | +| | | +- (94,94) +| | | | +| | | `- (94,94) +| | | +| | +- (313,463) +| | | | +| | | +- (75,75) +| | | | +| | | `- (75,75) +| | | +| | +- (285,463) +| | | | +| | | +- (89,89) +| | | | +| | | `- (89,89) +| | | +| | +- (367,463) +| | | | +| | | +- (48,48) +| | | | +| | | `- (48,48) +| | | +| | +- (445,463) +| | | | +| | | +- (9,9) +| | | | +| | | `- (9,9) +| | | +| | `- (367,463) +| | | +| | +- (48,48) +| | | +| | `- (48,48) +| | +| +- (2583,2862) +| | | +| | +- (93,93) +| | | +| | +- (27,93) +| | | | +| | | +- (22,22) +| | | | +| | | +- (22,22) +| | | | +| | | `- (22,22) +| | | +| | `- (45,93) +| | | +| | +- (24,24) +| | | +| | `- (24,24) +| | +| `- (2340,2862) +| | +| +- (96,174) +| | | +| | +- (39,39) +| | | +| | `- (39,39) +| | +| +- (70,174) +| | | +| | +- (52,52) +| | | +| | `- (52,52) +| | +| `- (100,174) +| | +| +- (37,37) +| | +| `- (37,37) +| ++- (87306,137832) +| | +| +- (10194,16842) +| | | +| | +- (831,2216) +| | | | +| | | +- (251,277) +| | | | | +| | | | +- (13,13) +| | | | | +| | | | `- (13,13) +| | | | +| | | +- (238,277) +| | | | | +| | | | +- (13,13) +| | | | | +| | | | +- (13,13) +| | | | | +| | | | `- (13,13) +| | | | +| | | +- (173,277) +| | | | | +| | | | +- (52,52) +| | | | | +| | | | `- (52,52) +| | | | +| | | +- (87,277) +| | | | | +| | | | +- (95,95) +| | | | | +| | | | `- (95,95) +| | | | +| | | `- (159,277) +| | | | +| | | +- (59,59) +| | | | +| | | `- (59,59) +| | | +| | +- (14,2216) +| | | | +| | | +- (237,367) +| | | | | +| | | | +- (65,65) +| | | | | +| | | | `- (65,65) +| | | | +| | | +- (11,367) +| | | | | +| | | | +- (89,89) +| | | | | +| | | | +- (89,89) +| | | | | +| | | | +- (89,89) +| | | | | +| | | | `- (89,89) +| | | | +| | | +- (205,367) +| | | | | +| | | | +- (81,81) +| | | | | +| | | | `- (81,81) +| | | | +| | | +- (106,367) +| | | | | +| | | | +- (87,87) +| | | | | +| | | | +- (87,87) +| | | | | +| | | | `- (87,87) +| | | | +| | | +- (223,367) +| | | | | +| | | | +- (72,72) +| | | | | +| | | | `- (72,72) +| | | | +| | | `- (271,367) +| | | | +| | | +- (48,48) +| | | | +| | | `- (48,48) +| | | +| | `- (936,2216) +| | | +| | +- (320,320) +| | | +| | +- (71,320) +| | | | +| | | +- (83,83) +| | | | +| | | +- (83,83) +| | | | +| | | `- (83,83) +| | | +| | +- (284,320) +| | | | +| | | +- (12,12) +| | | | +| | | +- (12,12) +| | | | +| | | `- (12,12) +| | | +| | `- (280,320) +| | | +| | +- (20,20) +| | | +| | `- (20,20) +| | +| +- (7554,16842) +| | | +| | +- (756,1548) +| | | | +| | | +- (114,264) +| | | | | +| | | | +- (75,75) +| | | | | +| | | | `- (75,75) +| | | | +| | | +- (60,264) +| | | | | +| | | | +- (68,68) +| | | | | +| | | | +- (68,68) +| | | | | +| | | | `- (68,68) +| | | | +| | | `- (224,264) +| | | | +| | | +- (20,20) +| | | | +| | | `- (20,20) +| | | +| | +- (18,1548) +| | | | +| | | +- (235,255) +| | | | | +| | | | +- (10,10) +| | | | | +| | | | `- (10,10) +| | | | +| | | +- (163,255) +| | | | | +| | | | +- (23,23) +| | | | | +| | | | +- (23,23) +| | | | | +| | | | +- (23,23) +| | | | | +| | | | `- (23,23) +| | | | +| | | +- (150,255) +| | | | | +| | | | +- (35,35) +| | | | | +| | | | +- (35,35) +| | | | | +| | | | `- (35,35) +| | | | +| | | +- (65,255) +| | | | | +| | | | +- (95,95) +| | | | | +| | | | `- (95,95) +| | | | +| | | +- (138,255) +| | | | | +| | | | +- (39,39) +| | | | | +| | | | +- (39,39) +| | | | | +| | | | `- (39,39) +| | | | +| | | `- (117,255) +| | | | +| | | +- (69,69) +| | | | +| | | `- (69,69) +| | | +| | +- (498,1548) +| | | | +| | | +- (148,210) +| | | | | +| | | | +- (31,31) +| | | | | +| | | | `- (31,31) +| | | | +| | | +- (48,210) +| | | | | +| | | | +- (81,81) +| | | | | +| | | | `- (81,81) +| | | | +| | | +- (98,210) +| | | | | +| | | | +- (28,28) +| | | | | +| | | | +- (28,28) +| | | | | +| | | | +- (28,28) +| | | | | +| | | | `- (28,28) +| | | | +| | | +- (142,210) +| | | | | +| | | | +- (34,34) +| | | | | +| | | | `- (34,34) +| | | | +| | | `- (196,210) +| | | | +| | | +- (7,7) +| | | | +| | | `- (7,7) +| | | +| | +- (543,1548) +| | | | +| | | +- (223,335) +| | | | | +| | | | +- (56,56) +| | | | | +| | | | `- (56,56) +| | | | +| | | +- (195,335) +| | | | | +| | | | +- (35,35) +| | | | | +| | | | +- (35,35) +| | | | | +| | | | +- (35,35) +| | | | | +| | | | `- (35,35) +| | | | +| | | `- (91,335) +| | | | +| | | +- (61,61) +| | | | +| | | +- (61,61) +| | | | +| | | +- (61,61) +| | | | +| | | `- (61,61) +| | | +| | +- (584,1548) +| | | | +| | | +- (85,241) +| | | | | +| | | | +- (52,52) +| | | | | +| | | | +- (52,52) +| | | | | +| | | | `- (52,52) +| | | | +| | | +- (149,241) +| | | | | +| | | | +- (46,46) +| | | | | +| | | | `- (46,46) +| | | | +| | | +- (166,241) +| | | | | +| | | | +- (25,25) +| | | | | +| | | | +- (25,25) +| | | | | +| | | | `- (25,25) +| | | | +| | | `- (75,241) +| | | | +| | | +- (83,83) +| | | | +| | | `- (83,83) +| | | +| | `- (476,1548) +| | | +| | +- (214,268) +| | | | +| | | +- (27,27) +| | | | +| | | `- (27,27) +| | | +| | +- (180,268) +| | | | +| | | +- (44,44) +| | | | +| | | `- (44,44) +| | | +| | +- (19,268) +| | | | +| | | +- (83,83) +| | | | +| | | +- (83,83) +| | | | +| | | `- (83,83) +| | | +| | `- (150,268) +| | | +| | +- (59,59) +| | | +| | `- (59,59) +| | +| `- (90,16842) +| | +| +- (782,2792) +| | | +| | +- (90,402) +| | | | +| | | +- (78,78) +| | | | +| | | +- (78,78) +| | | | +| | | +- (78,78) +| | | | +| | | `- (78,78) +| | | +| | +- (129,402) +| | | | +| | | +- (91,91) +| | | | +| | | +- (91,91) +| | | | +| | | `- (91,91) +| | | +| | +- (90,402) +| | | | +| | | +- (78,78) +| | | | +| | | +- (78,78) +| | | | +| | | +- (78,78) +| | | | +| | | `- (78,78) +| | | +| | +- (402,402) +| | | +| | `- (298,402) +| | | +| | +- (52,52) +| | | +| | `- (52,52) +| | +| +- (1180,2792) +| | | +| | +- (376,403) +| | | | +| | | +- (9,9) +| | | | +| | | +- (9,9) +| | | | +| | | `- (9,9) +| | | +| | +- (207,403) +| | | | +| | | +- (98,98) +| | | | +| | | `- (98,98) +| | | +| | +- (235,403) +| | | | +| | | +- (84,84) +| | | | +| | | `- (84,84) +| | | +| | `- (83,403) +| | | +| | +- (80,80) +| | | +| | +- (80,80) +| | | +| | +- (80,80) +| | | +| | `- (80,80) +| | +| +- (97,2792) +| | | +| | +- (385,385) +| | | +| | +- (385,385) +| | | +| | +- (213,385) +| | | | +| | | +- (43,43) +| | | | +| | | +- (43,43) +| | | | +| | | +- (43,43) +| | | | +| | | `- (43,43) +| | | +| | +- (184,385) +| | | | +| | | +- (67,67) +| | | | +| | | +- (67,67) +| | | | +| | | `- (67,67) +| | | +| | +- (293,385) +| | | | +| | | +- (46,46) +| | | | +| | | `- (46,46) +| | | +| | +- (365,385) +| | | | +| | | +- (10,10) +| | | | +| | | `- (10,10) +| | | +| | `- (29,385) +| | | +| | +- (89,89) +| | | +| | +- (89,89) +| | | +| | +- (89,89) +| | | +| | `- (89,89) +| | +| +- (2288,2792) +| | | +| | +- (80,168) +| | | | +| | | +- (44,44) +| | | | +| | | `- (44,44) +| | | +| | +- (38,168) +| | | | +| | | +- (65,65) +| | | | +| | | `- (65,65) +| | | +| | `- (106,168) +| | | +| | +- (31,31) +| | | +| | `- (31,31) +| | +| +- (839,2792) +| | | +| | +- (95,279) +| | | | +| | | +- (46,46) +| | | | +| | | +- (46,46) +| | | | +| | | +- (46,46) +| | | | +| | | `- (46,46) +| | | +| | +- (247,279) +| | | | +| | | +- (16,16) +| | | | +| | | `- (16,16) +| | | +| | +- (54,279) +| | | | +| | | +- (75,75) +| | | | +| | | +- (75,75) +| | | | +| | | `- (75,75) +| | | +| | +- (259,279) +| | | | +| | | +- (10,10) +| | | | +| | | `- (10,10) +| | | +| | +- (279,279) +| | | +| | +- (18,279) +| | | | +| | | +- (87,87) +| | | | +| | | +- (87,87) +| | | | +| | | `- (87,87) +| | | +| | `- (231,279) +| | | +| | +- (12,12) +| | | +| | +- (12,12) +| | | +| | +- (12,12) +| | | +| | `- (12,12) +| | +| `- (2393,2792) +| | +| +- (133,133) +| | +| +- (13,133) +| | | +| | +- (40,40) +| | | +| | +- (40,40) +| | | +| | `- (40,40) +| | +| `- (133,133) +| +`- (30,137832) + | + +- (13659,19686) + | | + | +- (54,2009) + | | | + | | +- (370,391) + | | | | + | | | +- (7,7) + | | | | + | | | +- (7,7) + | | | | + | | | `- (7,7) + | | | + | | +- (347,391) + | | | | + | | | +- (22,22) + | | | | + | | | `- (22,22) + | | | + | | +- (235,391) + | | | | + | | | +- (78,78) + | | | | + | | | `- (78,78) + | | | + | | +- (97,391) + | | | | + | | | +- (98,98) + | | | | + | | | +- (98,98) + | | | | + | | | `- (98,98) + | | | + | | `- (343,391) + | | | + | | +- (24,24) + | | | + | | `- (24,24) + | | + | +- (857,2009) + | | | + | | +- (36,192) + | | | | + | | | +- (78,78) + | | | | + | | | `- (78,78) + | | | + | | +- (92,192) + | | | | + | | | +- (50,50) + | | | | + | | | `- (50,50) + | | | + | | +- (16,192) + | | | | + | | | +- (88,88) + | | | | + | | | `- (88,88) + | | | + | | +- (114,192) + | | | | + | | | +- (39,39) + | | | | + | | | `- (39,39) + | | | + | | +- (92,192) + | | | | + | | | +- (50,50) + | | | | + | | | `- (50,50) + | | | + | | `- (180,192) + | | | + | | +- (6,6) + | | | + | | `- (6,6) + | | + | `- (1837,2009) + | | + | +- (86,86) + | | + | `- (86,86) + | + +- (10456,19686) + | | + | +- (96,1846) + | | | + | | +- (46,350) + | | | | + | | | +- (76,76) + | | | | + | | | +- (76,76) + | | | | + | | | +- (76,76) + | | | | + | | | `- (76,76) + | | | + | | +- (264,350) + | | | | + | | | +- (43,43) + | | | | + | | | `- (43,43) + | | | + | | +- (300,350) + | | | | + | | | +- (25,25) + | | | | + | | | `- (25,25) + | | | + | | +- (254,350) + | | | | + | | | +- (48,48) + | | | | + | | | `- (48,48) + | | | + | | `- (230,350) + | | | + | | +- (40,40) + | | | + | | +- (40,40) + | | | + | | `- (40,40) + | | + | +- (1774,1846) + | | | + | | +- (36,36) + | | | + | | `- (36,36) + | | + | +- (186,1846) + | | | + | | +- (119,332) + | | | | + | | | +- (71,71) + | | | | + | | | +- (71,71) + | | | | + | | | `- (71,71) + | | | + | | +- (152,332) + | | | | + | | | +- (60,60) + | | | | + | | | +- (60,60) + | | | | + | | | `- (60,60) + | | | + | | +- (149,332) + | | | | + | | | +- (61,61) + | | | | + | | | +- (61,61) + | | | | + | | | `- (61,61) + | | | + | | +- (86,332) + | | | | + | | | +- (82,82) + | | | | + | | | +- (82,82) + | | | | + | | | `- (82,82) + | | | + | | `- (24,332) + | | | + | | +- (77,77) + | | | + | | +- (77,77) + | | | + | | +- (77,77) + | | | + | | `- (77,77) + | | + | +- (536,1846) + | | | + | | +- (198,262) + | | | | + | | | +- (32,32) + | | | | + | | | `- (32,32) + | | | + | | +- (240,262) + | | | | + | | | +- (11,11) + | | | | + | | | `- (11,11) + | | | + | | +- (88,262) + | | | | + | | | +- (87,87) + | | | | + | | | `- (87,87) + | | | + | | +- (142,262) + | | | | + | | | +- (30,30) + | | | | + | | | +- (30,30) + | | | | + | | | +- (30,30) + | | | | + | | | `- (30,30) + | | | + | | `- (19,262) + | | | + | | +- (81,81) + | | | + | | +- (81,81) + | | | + | | `- (81,81) + | | + | `- (424,1846) + | | + | +- (183,237) + | | | + | | +- (27,27) + | | | + | | `- (27,27) + | | + | +- (165,237) + | | | + | | +- (36,36) + | | | + | | `- (36,36) + | | + | +- (53,237) + | | | + | | +- (92,92) + | | | + | | `- (92,92) + | | + | +- (237,237) + | | + | +- (216,237) + | | | + | | +- (7,7) + | | | + | | +- (7,7) + | | | + | | `- (7,7) + | | + | `- (61,237) + | | + | +- (88,88) + | | + | `- (88,88) + | + +- (12966,19686) + | | + | +- (38,2240) + | | | + | | +- (217,367) + | | | | + | | | +- (50,50) + | | | | + | | | +- (50,50) + | | | | + | | | `- (50,50) + | | | + | | +- (99,367) + | | | | + | | | +- (67,67) + | | | | + | | | +- (67,67) + | | | | + | | | +- (67,67) + | | | | + | | | `- (67,67) + | | | + | | +- (313,367) + | | | | + | | | +- (27,27) + | | | | + | | | `- (27,27) + | | | + | | +- (175,367) + | | | | + | | | +- (96,96) + | | | | + | | | `- (96,96) + | | | + | | +- (283,367) + | | | | + | | | +- (42,42) + | | | | + | | | `- (42,42) + | | | + | | `- (154,367) + | | | + | | +- (71,71) + | | | + | | +- (71,71) + | | | + | | `- (71,71) + | | + | +- (1852,2240) + | | | + | | +- (97,97) + | | | + | | +- (97,97) + | | | + | | +- (97,97) + | | | + | | `- (97,97) + | | + | `- (2222,2240) + | | + | +- (6,6) + | | + | +- (6,6) + | | + | `- (6,6) + | + +- (30,19686) + | | + | +- (1763,2808) + | | | + | | +- (175,209) + | | | | + | | | +- (17,17) + | | | | + | | | `- (17,17) + | | | + | | +- (141,209) + | | | | + | | | +- (34,34) + | | | | + | | | `- (34,34) + | | | + | | +- (179,209) + | | | | + | | | +- (15,15) + | | | | + | | | `- (15,15) + | | | + | | +- (41,209) + | | | | + | | | +- (84,84) + | | | | + | | | `- (84,84) + | | | + | | `- (163,209) + | | | + | | +- (23,23) + | | | + | | `- (23,23) + | | + | +- (2380,2808) + | | | + | | +- (107,107) + | | | + | | +- (15,107) + | | | | + | | | +- (46,46) + | | | | + | | | `- (46,46) + | | | + | | +- (73,107) + | | | | + | | | +- (17,17) + | | | | + | | | `- (17,17) + | | | + | | `- (107,107) + | | + | +- (57,2808) + | | | + | | +- (21,393) + | | | | + | | | +- (93,93) + | | | | + | | | +- (93,93) + | | | | + | | | +- (93,93) + | | | | + | | | `- (93,93) + | | | + | | +- (231,393) + | | | | + | | | +- (54,54) + | | | | + | | | +- (54,54) + | | | | + | | | `- (54,54) + | | | + | | +- (373,393) + | | | | + | | | +- (10,10) + | | | | + | | | `- (10,10) + | | | + | | +- (301,393) + | | | | + | | | +- (23,23) + | | | | + | | | +- (23,23) + | | | | + | | | +- (23,23) + | | | | + | | | `- (23,23) + | | | + | | +- (225,393) + | | | | + | | | +- (84,84) + | | | | + | | | `- (84,84) + | | | + | | +- (13,393) + | | | | + | | | +- (95,95) + | | | | + | | | +- (95,95) + | | | | + | | | +- (95,95) + | | | | + | | | `- (95,95) + | | | + | | `- (359,393) + | | | + | | +- (17,17) + | | | + | | `- (17,17) + | | + | +- (1362,2808) + | | | + | | +- (241,241) + | | | + | | +- (67,241) + | | | | + | | | +- (87,87) + | | | | + | | | `- (87,87) + | | | + | | +- (49,241) + | | | | + | | | +- (96,96) + | | | | + | | | `- (96,96) + | | | + | | +- (93,241) + | | | | + | | | +- (74,74) + | | | | + | | | `- (74,74) + | | | + | | +- (61,241) + | | | | + | | | +- (60,60) + | | | | + | | | +- (60,60) + | | | | + | | | `- (60,60) + | | | + | | `- (241,241) + | | + | +- (918,2808) + | | | + | | +- (38,378) + | | | | + | | | +- (85,85) + | | | | + | | | +- (85,85) + | | | | + | | | +- (85,85) + | | | | + | | | `- (85,85) + | | | + | | +- (327,378) + | | | | + | | | +- (17,17) + | | | | + | | | +- (17,17) + | | | | + | | | `- (17,17) + | | | + | | +- (242,378) + | | | | + | | | +- (68,68) + | | | | + | | | `- (68,68) + | | | + | | +- (224,378) + | | | | + | | | +- (77,77) + | | | | + | | | `- (77,77) + | | | + | | `- (254,378) + | | | + | | +- (62,62) + | | | + | | `- (62,62) + | | + | +- (648,2808) + | | | + | | +- (80,432) + | | | | + | | | +- (88,88) + | | | | + | | | +- (88,88) + | | | | + | | | +- (88,88) + | | | | + | | | `- (88,88) + | | | + | | +- (388,432) + | | | | + | | | +- (22,22) + | | | | + | | | `- (22,22) + | | | + | | +- (432,432) + | | | + | | +- (40,432) + | | | | + | | | +- (98,98) + | | | | + | | | +- (98,98) + | | | | + | | | +- (98,98) + | | | | + | | | `- (98,98) + | | | + | | `- (108,432) + | | | + | | +- (81,81) + | | | + | | +- (81,81) + | | | + | | +- (81,81) + | | | + | | `- (81,81) + | | + | `- (1158,2808) + | | + | +- (275,275) + | | + | +- (77,275) + | | | + | | +- (99,99) + | | | + | | `- (99,99) + | | + | +- (227,275) + | | | + | | +- (16,16) + | | | + | | +- (16,16) + | | | + | | `- (16,16) + | | + | +- (95,275) + | | | + | | +- (90,90) + | | | + | | `- (90,90) + | | + | +- (275,275) + | | + | `- (223,275) + | | + | +- (26,26) + | | + | `- (26,26) + | + +- (11994,19686) + | | + | +- (33,1923) + | | | + | | +- (250,378) + | | | | + | | | +- (32,32) + | | | | + | | | +- (32,32) + | | | | + | | | +- (32,32) + | | | | + | | | `- (32,32) + | | | + | | +- (180,378) + | | | | + | | | +- (99,99) + | | | | + | | | `- (99,99) + | | | + | | +- (342,378) + | | | | + | | | +- (18,18) + | | | | + | | | `- (18,18) + | | | + | | +- (66,378) + | | | | + | | | +- (78,78) + | | | | + | | | +- (78,78) + | | | | + | | | +- (78,78) + | | | | + | | | `- (78,78) + | | | + | | `- (296,378) + | | | + | | +- (41,41) + | | | + | | `- (41,41) + | | + | +- (923,1923) + | | | + | | +- (112,250) + | | | | + | | | +- (69,69) + | | | | + | | | `- (69,69) + | | | + | | +- (208,250) + | | | | + | | | +- (14,14) + | | | | + | | | +- (14,14) + | | | | + | | | `- (14,14) + | | | + | | +- (70,250) + | | | | + | | | +- (60,60) + | | | | + | | | +- (60,60) + | | | | + | | | `- (60,60) + | | | + | | `- (250,250) + | | + | +- (1431,1923) + | | | + | | +- (19,123) + | | | | + | | | +- (52,52) + | | | | + | | | `- (52,52) + | | | + | | +- (123,123) + | | | + | | +- (123,123) + | | | + | | `- (79,123) + | | | + | | +- (22,22) + | | | + | | `- (22,22) + | | + | `- (1467,1923) + | | + | +- (90,152) + | | | + | | +- (31,31) + | | | + | | `- (31,31) + | | + | +- (68,152) + | | | + | | +- (42,42) + | | | + | | `- (42,42) + | | + | `- (98,152) + | | + | +- (27,27) + | | + | `- (27,27) + | + +- (16122,19686) + | | + | +- (18,891) + | | | + | | +- (67,291) + | | | | + | | | +- (56,56) + | | | | + | | | +- (56,56) + | | | | + | | | +- (56,56) + | | | | + | | | `- (56,56) + | | | + | | +- (137,291) + | | | | + | | | +- (77,77) + | | | | + | | | `- (77,77) + | | | + | | `- (217,291) + | | | + | | +- (37,37) + | | | + | | `- (37,37) + | | + | +- (23,891) + | | | + | | +- (169,217) + | | | | + | | | +- (24,24) + | | | | + | | | `- (24,24) + | | | + | | +- (203,217) + | | | | + | | | +- (7,7) + | | | | + | | | `- (7,7) + | | | + | | +- (37,217) + | | | | + | | | +- (90,90) + | | | | + | | | `- (90,90) + | | | + | | `- (217,217) + | | + | +- (151,891) + | | | + | | +- (29,185) + | | | | + | | | +- (78,78) + | | | | + | | | `- (78,78) + | | | + | | +- (185,185) + | | | + | | +- (125,185) + | | | | + | | | +- (30,30) + | | | | + | | | `- (30,30) + | | | + | | `- (65,185) + | | | + | | +- (60,60) + | | | + | | `- (60,60) + | | + | `- (793,891) + | | + | +- (49,49) + | | + | `- (49,49) + | + `- (14760,19686) + | + +- (386,1642) + | | + | +- (86,314) + | | | + | | +- (76,76) + | | | + | | +- (76,76) + | | | + | | `- (76,76) + | | + | +- (210,314) + | | | + | | +- (52,52) + | | | + | | `- (52,52) + | | + | +- (152,314) + | | | + | | +- (81,81) + | | | + | | `- (81,81) + | | + | `- (126,314) + | | + | +- (94,94) + | | + | `- (94,94) + | + +- (52,1642) + | | + | +- (79,265) + | | | + | | +- (93,93) + | | | + | | `- (93,93) + | | + | +- (67,265) + | | | + | | +- (99,99) + | | | + | | `- (99,99) + | | + | +- (145,265) + | | | + | | +- (60,60) + | | | + | | `- (60,60) + | | + | +- (229,265) + | | | + | | +- (9,9) + | | | + | | +- (9,9) + | | | + | | +- (9,9) + | | | + | | `- (9,9) + | | + | +- (265,265) + | | + | `- (125,265) + | | + | +- (35,35) + | | + | +- (35,35) + | | + | +- (35,35) + | | + | `- (35,35) + | + `- (784,1642) + | + +- (64,286) + | | + | +- (74,74) + | | + | +- (74,74) + | | + | `- (74,74) + | + +- (256,286) + | | + | +- (15,15) + | | + | `- (15,15) + | + `- (264,286) + | + +- (11,11) + | + `- (11,11)