Area-weighted venn-diagrams for Python/matplotlib

Overview

Venn diagram plotting routines for Python/Matplotlib

https://travis-ci.org/konstantint/matplotlib-venn.png?branch=master

Routines for plotting area-weighted two- and three-circle venn diagrams.

Installation

The simplest way to install the package is via easy_install or pip:

$ easy_install matplotlib-venn

Dependencies

  • numpy,
  • scipy,
  • matplotlib.

Usage

The package provides four main functions: venn2, venn2_circles, venn3 and venn3_circles.

The functions venn2 and venn2_circles accept as their only required argument a 3-element list (Ab, aB, AB) of subset sizes, e.g.:

venn2(subsets = (3, 2, 1))

and draw a two-circle venn diagram with respective region areas. In the particular example, the region, corresponding to subset A and not B will be three times larger in area than the region, corresponding to subset A and B. Alternatively, you can simply provide a list of two set or Counter (i.e. multi-set) objects instead (new in version 0.7), e.g.:

venn2([set(['A', 'B', 'C', 'D']), set(['D', 'E', 'F'])])

Similarly, the functions venn3 and venn3_circles take a 7-element list of subset sizes (Abc, aBc, ABc, abC, AbC, aBC, ABC), and draw a three-circle area-weighted venn diagram. Alternatively, you can provide a list of three set or Counter objects (rather than counting sizes for all 7 subsets).

The functions venn2_circles and venn3_circles draw just the circles, whereas the functions venn2 and venn3 draw the diagrams as a collection of colored patches, annotated with text labels. In addition (version 0.7+), functions venn2_unweighted and venn3_unweighted draw the Venn diagrams without area-weighting.

Note that for a three-circle venn diagram it is not in general possible to achieve exact correspondence between the required set sizes and region areas, however in most cases the picture will still provide a decent indication.

The functions venn2_circles and venn3_circles return the list of matplotlib.patch.Circle objects that may be tuned further to your liking. The functions venn2 and venn3 return an object of class VennDiagram, which gives access to constituent patches, text elements, and (since version 0.7) the information about the centers and radii of the circles.

Basic Example:

from matplotlib_venn import venn2
venn2(subsets = (3, 2, 1))

For the three-circle case:

from matplotlib_venn import venn3
venn3(subsets = (1, 1, 1, 2, 1, 2, 2), set_labels = ('Set1', 'Set2', 'Set3'))

A more elaborate example:

from matplotlib import pyplot as plt
import numpy as np
from matplotlib_venn import venn3, venn3_circles
plt.figure(figsize=(4,4))
v = venn3(subsets=(1, 1, 1, 1, 1, 1, 1), set_labels = ('A', 'B', 'C'))
v.get_patch_by_id('100').set_alpha(1.0)
v.get_patch_by_id('100').set_color('white')
v.get_label_by_id('100').set_text('Unknown')
v.get_label_by_id('A').set_text('Set "A"')
c = venn3_circles(subsets=(1, 1, 1, 1, 1, 1, 1), linestyle='dashed')
c[0].set_lw(1.0)
c[0].set_ls('dotted')
plt.title("Sample Venn diagram")
plt.annotate('Unknown set', xy=v.get_label_by_id('100').get_position() - np.array([0, 0.05]), xytext=(-70,-70),
             ha='center', textcoords='offset points', bbox=dict(boxstyle='round,pad=0.5', fc='gray', alpha=0.1),
             arrowprops=dict(arrowstyle='->', connectionstyle='arc3,rad=0.5',color='gray'))
plt.show()

An example with multiple subplots (new in version 0.6):

from matplotlib_venn import venn2, venn2_circles
figure, axes = plt.subplots(2, 2)
venn2(subsets={'10': 1, '01': 1, '11': 1}, set_labels = ('A', 'B'), ax=axes[0][0])
venn2_circles((1, 2, 3), ax=axes[0][1])
venn3(subsets=(1, 1, 1, 1, 1, 1, 1), set_labels = ('A', 'B', 'C'), ax=axes[1][0])
venn3_circles({'001': 10, '100': 20, '010': 21, '110': 13, '011': 14}, ax=axes[1][1])
plt.show()

Perhaps the most common use case is generating a Venn diagram given three sets of objects:

set1 = set(['A', 'B', 'C', 'D'])
set2 = set(['B', 'C', 'D', 'E'])
set3 = set(['C', 'D',' E', 'F', 'G'])

venn3([set1, set2, set3], ('Set1', 'Set2', 'Set3'))
plt.show()

Questions

  • If you ask your questions at StackOverflow and tag them matplotlib-venn, chances are high you'll get an answer from the maintainer of this package.

See also

Comments
  • VennRegionException

    VennRegionException

    Hi!

    I'm using venn3 to plot 3 sets of names and the following exception appeared:

    /home/isentis/anaconda3/lib/python3.5/site-packages/matplotlib_venn/_venn3.py in venn3(subsets, set_labels, set_colors, alpha, normalize_to, ax)
        344     areas = compute_venn3_areas(subsets, normalize_to)
        345     centers, radii = solve_venn3_circles(areas)
    --> 346     regions = compute_venn3_regions(centers, radii)
        347     colors = compute_venn3_colors(set_colors)
        348 
    
    /home/isentis/anaconda3/lib/python3.5/site-packages/matplotlib_venn/_venn3.py in compute_venn3_regions(centers, radii)
        198     aB, _ = B.subtract_and_intersect_circle(A.center, A.radius)
        199     aBc, aBC = aB.subtract_and_intersect_circle(C.center, C.radius)
    --> 200     aC, _ = C.subtract_and_intersect_circle(A.center, A.radius)
        201     abC, _ = aC.subtract_and_intersect_circle(B.center, B.radius)
        202     return [Abc, aBc, ABc, abC, AbC, aBC, ABC]
    
    /home/isentis/anaconda3/lib/python3.5/site-packages/matplotlib_venn/_region.py in subtract_and_intersect_circle(self, center, radius)
        151 
        152             if intersections is None:
    --> 153                 raise VennRegionException("Invalid configuration of circular regions (holes are not supported).")
        154             elif np.all(abs(intersections[0] - intersections[1]) < tol) and self.radius < radius:
        155                 # There is a single intersection point (i.e. we are touching the circle),
    
    VennRegionException: Invalid configuration of circular regions (holes are not supported).
    
    

    I can't figure out what is exactly going on and whether there is something I can do to solve it. I bit of help would be appreciated. Thanks!

    opened by nesilin 9
  • Documentation?

    Documentation?

    Just a fairly generic question, but I haven't found anything at all.

    I want to do certain things with the diagram and I wanted to look at a list of all the functions/attributes/etc in the library I can fiddle with. ¿Is there such a thing? I've solved everything so far by looking at stackoverflow and guessing things from the examples in the readme but honestly, it takes too much time and I'd rather read a few pages of documentation and be done with it.

    I like libraries to have that kind of documentation (Saves LOTS of time), so let me know if I can help to get this done.

    opened by Achifaifa 9
  • Regarding of the previous issue I posted: Issue #44

    Regarding of the previous issue I posted: Issue #44

    https://github.com/konstantint/matplotlib-venn/issues/44#issuecomment-579228349 Regarding of the reply you posted in Issue #44,

    What do you mean about the external user input?

    Based on your reply, is it possible for me to produce an algorithm using asteval or pyparsing to convert a written formula to the output of the Venn diagram without creating a list of corresponding formulas and outputs? Or, am I necessary to create a list of the inputs to use either of the Python packages you mentioned above? I was not sure about this when I read your reply. Hopefully there is a Python package which I can convert a written formula to lists of Venn diagram sectors which should be shaded, (like the example I showed in Issue #44) but if it's not possible, then I may need to make a huge list of inputted formulas, which is unstable and also buggy.

    Also, if a directly-converting algorithm is possible with either asteval or pyparsing, could you please reply with a brief example so that I can get some understanding of how to create my code?

    Please don't directly close the issue as you would not receive any notifications anymore. I am kinda a beginner to this area and your help will be truly appreciated. If you have one, could you please actually link your email/discord account so that I may further ask you if I am completely stuck for something? I will try to create the code independently as possible, but I may meet huge barriers.

    Thanks a lot.

    opened by felixlee0530 8
  • Wrong count?

    Wrong count?

    I have 3 sets. I did one venn2 and one venn3:

    from matplotlib import pyplot as plt
    import numpy as np
    from matplotlib_venn import venn3, venn3_circles, venn2
    
    sids_3a = [13, 18, 20, 21, 24, 25, 28, 35, 37, 55, 59, 75, 83, 117, 123, 130, 137, 141, 157, 173, 184, 186, 188, 191, 192, 199, 205, 209, 210, 224, 234, 235, 239, 246, 249, 261, 263, 270, 271, 286, 294, 305, 309, 321, 323, 328, 342, 344, 345, 347, 352, 353, 354, 357, 359, 367, 370, 376, 378, 379, 382, 383, 389, 395, 402, 415, 427, 430, 445, 450, 452, 453, 454, 464, 482, 485, 489, 494, 501, 511, 518, 527, 532, 533, 539, 545, 558, 563, 564, 565, 569, 571, 584, 588, 609, 613, 622, 624, 626, 629, 630, 634, 635, 641, 642, 654, 666, 667, 671, 672, 689, 690, 702, 703, 708, 711, 715, 716, 720, 732, 741, 745, 747, 751, 756, 757, 765, 770, 772, 780, 787, 791, 794, 798, 806, 811, 816, 820, 824, 834, 835, 837, 846, 849, 864, 865, 876, 890, 894, 906, 914, 919, 921, 923, 924, 925, 929, 932, 940, 946, 947, 956, 963, 979, 984, 989, 992, 995, 998, 999, 1012, 1018, 1020, 1027, 1028, 1036, 1037, 1038, 1042, 1046, 1049, 1050, 1053, 1054, 1060, 1064, 1067, 1069, 1072, 1081, 1097, 1098, 1100, 1104, 1110, 1114, 1120, 1135, 1137, 1139, 1141, 1146, 1148, 1152, 1162, 1171, 1174, 1178, 1184, 1197, 1200, 1206, 1212, 1214, 1230, 1233, 1241, 1247, 1271, 1281, 1287, 1308, 1313, 1316, 1325, 1332, 1335, 1337, 1338, 1340, 1344, 1346, 1348, 1357, 1358, 1363, 1367, 1371, 1375, 1380, 1381, 1385, 1395, 1404, 1409, 1422, 1426, 1442, 1447, 1453, 1454, 1457, 1469, 1472, 1473, 1476, 1478, 1481, 1492, 1493, 1494, 1496, 1498, 1499, 1501, 1503, 1524, 1534, 1535, 1539, 1541, 1543, 1544, 1546, 1547, 1548, 1552, 1556, 1557, 1561, 1569, 1581, 1586, 1594, 1606, 1619, 1628, 1631, 1636, 1642, 1663, 1669, 1672, 1677, 1679, 1685, 1686, 1687, 1692, 1699, 1701, 1707, 1715, 1725, 1744, 1751, 1757, 1758, 1767, 1780, 1787, 1795, 1801, 1814, 1816, 1825, 1829, 1835, 1839, 1840, 1842, 1850, 1855, 1860, 1866, 1890, 1893, 1899, 1900, 1901, 1903, 1905, 1908, 1937, 1944, 1945, 1950, 1964, 1967, 1971, 1972, 1979, 1980, 1985, 1987, 1988, 1989, 1991, 1995, 1996, 1999, 2001, 2002, 2006, 2016, 2018, 2019, 2026, 2031, 2032, 2034, 2035, 2040, 2044, 2045, 2054, 2056, 2061, 2067, 2073, 2076, 2091, 2092, 2095, 2100, 2106, 2116, 2119, 2121, 2123, 2133, 2150, 2165, 2167, 2169, 2185, 2186, 2187, 2188, 2194, 2195, 2207, 2208, 2210, 2211, 2220, 2223, 2237, 2242, 2243, 2245, 2246, 2254, 2256, 2258, 2259, 2263, 2268, 2272, 2286, 2298, 2299, 2310, 2324, 2333, 2338, 2341, 2345, 2353, 2356, 2361, 2363, 2364, 2368, 2369, 2379, 2386, 2390, 2392, 2395, 2407, 2414, 2420, 2423, 2425, 2433, 2434, 2441, 2452, 2455, 2457, 2458, 2460, 2464, 2466, 2471, 2473, 2476, 2477, 2478, 2479, 2484, 2486, 2487, 2493, 2496, 2501, 2511, 2518, 2537, 2539, 2554, 2562, 2574, 2581, 2582, 2585, 2586, 2599, 2601, 2615, 2616, 2625, 2628, 2633, 2641, 2651, 2658, 2666, 2667, 2672, 2683, 2684, 2688, 2694, 2701, 2703, 2710, 2712, 2716, 2719, 2732, 2734, 2736, 2743, 2751, 2752, 2754, 2755, 2769, 2770, 2771, 2773, 2783, 2784, 2786, 2788, 2790, 2791, 2807, 2813, 2823, 2825, 2830, 2834, 2835, 2842, 2858, 2860, 2862, 2872, 2877, 2889, 2894, 2902, 2906, 2908, 2934, 2935, 2947, 2962, 2964, 2968, 2969, 2973, 2975, 2981, 2984, 2989, 2990, 3002, 3006, 3009, 3018, 3021, 3026, 3030, 3035, 3042, 3051, 3052, 3057, 3070, 3073, 3080, 3084, 3089, 3110, 3118, 3123, 3125, 3133, 3134, 3145, 3156, 3164, 3165, 3166, 3169, 3171, 3174, 3176, 3178, 3181, 3182, 3190, 3191, 3210, 3213, 3217, 3231, 3236, 3241, 3251, 3252, 3263, 3267, 3280, 3288, 3292, 3294, 3300, 3307, 3326, 3328, 3334, 3344, 3345, 3357, 3358, 3362, 3364, 3371, 3379, 3381, 3384, 3386, 3388, 3389, 3395, 3399, 3415, 3419, 3426, 3428, 3435, 3440, 3442, 3449, 3457, 3458, 3460, 3461, 3463, 3465, 3468, 3481, 3483, 3484, 3485, 3486, 3490, 3491, 3501, 3513, 3514, 3516, 3521, 3533, 3535, 3540, 3542, 3543, 3550, 3555, 3556, 3557, 3559, 3577, 3586, 3593, 3598, 3603, 3606, 3616, 3630, 3632, 3633, 3635, 3647, 3650, 3659, 3675, 3691, 3700, 3703, 3707, 3722, 3725, 3728, 3730, 3734, 3738, 3750, 3757, 3759, 3765, 3768, 3771, 3775, 3778, 3787, 3790, 3804, 3805, 3813, 3816, 3823, 3827, 3828, 3834, 3835, 3847, 3852, 3854, 3858, 3860, 3861, 3866, 3868, 3869, 3876, 3888, 3889, 3895, 3896, 3909, 3911, 3913, 3914, 3927, 3928, 3929, 3945, 3947, 3948, 3949, 3952, 3964, 3968, 3969, 3972, 3987, 4012, 4038, 4041, 4042, 4054, 4067, 4070, 4071, 4077, 4093, 4094, 4096, 4098, 4101, 4102, 4104, 4110, 4112, 4113, 4115, 4121, 4130, 4133, 4135, 4142, 4145, 4159, 4165, 4184, 4187, 4191, 4199, 4200, 4211, 4216, 4220, 4241, 4255, 4256, 4258, 4263, 4265, 4268, 4272, 4273, 4279, 4299, 4305, 4308, 4313, 4317, 4323, 4324, 4325, 4326, 4328, 4329, 4336, 4340, 4357, 4364, 4390, 4392, 4394, 4395, 4397, 4407, 4408, 4410, 4421, 4422, 4424, 4429, 4431, 4454, 4464, 4469, 4479, 4480, 4484, 4497, 4500, 4518, 4521, 4525, 4526, 4527, 4529, 4535, 4539, 4543, 4548, 4550, 4564, 4566, 4567, 4574, 4577, 4587, 4588, 4589, 4603, 4609, 4611, 4614, 4615, 4617, 4619, 4633, 4635, 4637, 4640, 4644, 4646, 4656, 4657, 4670, 4678, 4679, 4690, 4693, 4696, 4708, 4710, 4713, 4718, 4719, 4732, 4744, 4748, 4754, 4760, 4762, 4780, 4785, 4787, 4792, 4800, 4803, 4806, 4807, 4808, 4809, 4815, 4816, 4823, 4826, 4833, 4837, 4838, 4843, 4848, 4852, 4855, 4859, 4860, 4861, 4862, 4864, 4869, 4871, 4873, 4875, 4882, 4884, 4899, 4900, 4902, 4908, 4909, 4914, 4916, 4920, 4924, 4931, 4935, 4948, 4962, 4965, 4969, 4973, 4978, 4979, 4985, 4986, 4988, 4989, 5003, 5006, 5023, 5024, 5026, 5027, 5031, 5034, 5039, 5040, 5049, 5050, 5052, 5056, 5061, 5071, 5078, 5083, 5087, 5088, 5097, 5100, 5102, 5109, 5124, 5127, 5128, 5136, 5138, 5139, 5149, 5152, 5158, 5165, 5170, 5171, 5188, 5193, 5195, 5196, 5199, 5201, 5205, 5206, 5211, 5212, 5215, 5238, 5240, 5243, 5244, 5245, 5246, 5247, 5254, 5258, 5262, 5264, 5274, 5277, 5280, 5292, 5307, 5314, 5325, 5327, 5331, 5339, 5349, 5360, 5362, 5383, 5386, 5390, 5393, 5397, 5399, 5404, 5430, 5446, 5453, 5455, 5458, 5469, 5470, 5472, 5474, 5478, 5486, 5487, 5488, 5489, 5491, 5496, 5514, 5528, 5529, 5532, 5534, 5536, 5538, 5542, 5544, 5547, 5555, 5557, 5559, 5569, 5570, 5573, 5574, 5589, 5597, 5604, 5608, 5609, 5614, 5619, 5622, 5623, 5634, 5636, 5639, 5643, 5646, 5647, 5655, 5658, 5660, 5661, 5665, 5667, 5669, 5679, 5681, 5685, 5686, 5689, 5694, 5695, 5698, 5700, 5701, 5709, 5710, 5714, 5727, 5734, 5742, 5752, 5763, 5771, 5772, 5774, 5778, 5781, 5786, 5790, 5794, 5796, 5810, 5814, 5817, 5819, 5830, 5834, 5844, 5848, 5857, 5867, 5871, 5875, 5877, 5882, 5901, 5907, 5909, 5911, 5913, 5926, 5935, 5937, 5939, 5953, 5966, 5970, 5973, 5976, 5978, 5979, 5981, 5987, 5988, 6000, 6003, 6005, 6012, 6014, 6016, 6021, 6023, 6024, 6032, 6035, 6051, 6063, 6065, 6066, 6068, 6070, 6071, 6072, 6077, 6079, 6081, 6082, 6085, 6098, 6100, 6116, 6123, 6135, 6145, 6151, 6155, 6156, 6158, 6163, 6168, 6170, 6174, 6179, 6186, 6198, 6212, 6219, 6224, 6246, 6248, 6249, 6257, 6258, 6270, 6272, 6284, 6296, 6306, 6311, 6312, 6314, 6315, 6321, 6334, 6338, 6345, 6349, 6353, 6364, 6369, 6375, 6388, 6390, 6392, 6396, 6397, 6410, 6421, 6425, 6426, 6432, 6433, 6440, 6448, 6450, 6451, 6453, 6454, 6457, 6459, 6464, 6466, 6470, 6474, 6477, 6478, 6484, 6489, 6490, 6491, 6498, 6503, 6506, 6510, 6529, 6534, 6540, 6542, 6543, 6548, 6553, 6555, 6560, 6571, 6575, 6576, 6578, 6587, 6588, 6592, 6597, 6604, 6620, 6621, 6626, 6627, 6630, 6639, 6647, 6651, 6653, 6654, 6655, 6656, 6663, 6670, 6672, 6676, 6677, 6681, 6682, 6685, 6687, 6690, 6692, 6697, 6701, 6705, 6713, 6714, 6716, 6720, 6723, 6725, 6726, 6734, 6735, 6743, 6746, 6750, 6751, 6756, 6773, 6776, 6778, 6791, 6821, 6824, 6827, 6835, 6838, 6845, 6846, 6849, 6854, 6858, 6867, 6868, 6871, 6875, 6877, 6886, 6887, 6905, 6917, 6921, 6922, 6942, 6944, 6950, 6952, 6958, 6963, 6973, 6978, 6979, 6983, 6998, 7001, 7003, 7014, 7018, 7025, 7027, 7029, 7033, 7043, 7045, 7051, 7054, 7059, 7062, 7066, 7069, 7095, 7097, 7103, 7105, 7113, 7115, 7118, 7124, 7125, 7132, 7133, 7153, 7159, 7169, 7177, 7184, 7185, 7197, 7201, 7204, 7207, 7209, 7212, 7213, 7224, 7227, 7229, 7230, 7232, 7237, 7246, 7247, 7262, 7267, 7275, 7276, 7282, 7287, 7299, 7300, 7315, 7316, 7333, 7340, 7347, 7354, 7358, 7359, 7360, 7367, 7375, 7380, 7386, 7387, 7391, 7393, 7395, 7401, 7413, 7426, 7427, 7432, 7434, 7442, 7444, 7445, 7455, 7466, 7472, 7476, 7481, 7482, 7487, 7489, 7493, 7496, 7505, 7508, 7511, 7515, 7517, 7519, 7521, 7523, 7528, 7542, 7544, 7546, 7548, 7553, 7554, 7564, 7567, 7569, 7571, 7584, 7604, 7613, 7614, 7618, 7621, 7632, 7636, 7638, 7649, 7650, 7656, 7666, 7681, 7691, 7693, 7695, 7698, 7704, 7708, 7710, 7720, 7723, 7726, 7736, 7737, 7741, 7744, 7748, 7755, 7764, 7767, 7773, 7774, 7781, 7782, 7787, 7789, 7797, 7803, 7809, 7815, 7816, 7817, 7819, 7820, 7826, 7839, 7841, 7844, 7853, 7874, 7884, 7888, 7891, 7894, 7895, 7897, 7900, 7910, 7916, 7918, 7936, 7957, 7961, 7968, 7973, 7992, 7996, 8011, 8018, 8021, 8028, 8043, 8047, 8055, 8057, 8061, 8066, 8067, 8073, 8099, 8103, 8109, 8114, 8115, 8118, 8120, 8124, 8131, 8137, 8138, 8142, 8143, 8147, 8167, 8168, 8173, 8177, 8185, 8186, 8188, 8196, 8204, 8209, 8215, 8221, 8227, 8231, 8233, 8236, 8267, 8273, 8275, 8283, 8287, 8288, 8291, 8294, 8298, 8302, 8309, 8314, 8317, 8326, 8337, 8338, 8352, 8364, 8370, 8373, 8389, 8393, 8394, 8396, 8408, 8413, 8414, 8421, 8426, 8432, 8447, 8449, 8452, 8463, 8467, 8472, 8474, 8485, 8488, 8492, 8497, 8507, 8508, 8517, 8534, 8536, 8549, 8551, 8558, 8561, 8563, 8572, 8597, 8601, 8604, 8605, 8606, 8607, 8608, 8609, 8612, 8623, 8641, 8654, 8660, 8670, 8676, 8678, 8692, 8696, 8698, 8721, 8723, 8724, 8731, 8734, 8735, 8747, 8757, 8762, 8764, 8769, 8777, 8779, 8793, 8794, 8796, 8799, 8800, 8803, 8810, 8820, 8822, 8827, 8840, 8859, 8868, 8876, 8896, 8902, 8915, 8917, 8920, 8926, 8929, 8934, 8939, 8947, 8948, 8949, 8951, 8954, 8960, 8965, 8966, 8967, 8968, 8972, 8978, 8983, 8989, 9002, 9007, 9008, 9022, 9027, 9036, 9038, 9040, 9044, 9052, 9061, 9062, 9064, 9082, 9084, 9087, 9090, 9104, 9107, 9112, 9124, 9127, 9128, 9133, 9138, 9141, 9144, 9145, 9146, 9158, 9169, 9174, 9177, 9182, 9185, 9186, 9189, 9190, 9191, 9213, 9216, 9217, 9225, 9228, 9229, 9233, 9243, 9245, 9246, 9257, 9258, 9266, 9268, 9271, 9272, 9278, 9284, 9294, 9298, 9299, 9311, 9313, 9317, 9319, 9321, 9333, 9338, 9339, 9348, 9354, 9356, 9364, 9374, 9379, 9384, 9385, 9391, 9395, 9402, 9403, 9406, 9408, 9415, 9423, 9428, 9439, 9441, 9446, 9452, 9454, 9455, 9462, 9463, 9464, 9465, 9475, 9477, 9480, 9481, 9484, 9487, 9494, 9509, 9517, 9521, 9531, 9535, 9539, 9544, 9564, 9566, 9568, 9584, 9607, 9613, 9614, 9615, 9619, 9622, 9628, 9629, 9635, 9643, 9644, 9661, 9664, 9672, 9688, 9692, 9693, 9696, 9710, 9712, 9713, 9714, 9715, 9719, 9725, 9726, 9727, 9730, 9736, 9742, 9765, 9766, 9768, 9783, 9784, 9786, 9794, 9798, 9799, 9800, 9811, 9820, 9822, 9828, 9829, 9833, 9834, 9866, 9871, 9873, 9879, 9880, 9881, 9886, 9889, 9892, 9896, 9898, 9900, 9901, 9902, 9903, 9906, 9919, 9920, 9923, 9930, 9936, 9945, 9950, 9957, 9962, 9964, 9965, 9966, 9977, 9982, 9997, 10000, 10004, 10006, 10012, 10017, 10023, 10027, 10028, 10033, 10039, 10045, 10047, 10053, 10063, 10069, 10094, 10106, 10110, 10111, 10114, 10116, 10124, 10130, 10133, 10134, 10138, 10140, 10163, 10167, 10174, 10180, 10200, 10205, 10206, 10214, 10220, 10234, 10246, 10247, 10257, 10264, 10278, 10286, 10301, 10317, 10319, 10320, 10326, 10337, 10339, 10348, 10352, 10356, 10357, 10363, 10364, 10379, 10388, 10390, 10398, 10401, 10402, 10412, 10413, 10417, 10418, 10419, 10420, 10422, 10424, 10425, 10439, 10440, 10446, 10451, 10456, 10457, 10462, 10463, 10464, 10468, 10475, 10487, 10500, 10502, 10511, 10513, 10531, 10541, 10559, 10560, 10563, 10565, 10568, 10569, 10573, 10592, 10600, 10611, 10612, 10616, 10629, 10633, 10634, 10637, 10642, 10646, 10653, 10655, 10664, 10675, 10678, 10687, 10708, 10712, 10725, 10726, 10727, 10729, 10731, 10748, 10751, 10769, 10776, 10806, 10811, 10818, 10820, 10832, 10842, 10850, 10852, 10855, 10857, 10859, 10864, 10879, 10886, 10892, 10901, 10916, 10917, 10932, 10947, 10950, 10954, 10956, 10957, 10963, 10967, 10971, 10975, 10976, 10979, 11003, 11043, 11047, 11049, 11059, 11061, 11064, 11068, 11071, 11072, 11078, 11085, 11086, 11090, 11091, 11099, 11106, 11114, 11123, 11135, 11139, 11154, 11161, 11162, 11165, 11172, 11177, 11178, 11184, 11198, 11199, 11205, 11206, 11215, 11216, 11218, 11228, 11229, 11230, 11237, 11238, 11242, 11244, 11247, 11268, 11273, 11280, 11281, 11286, 11294, 11295, 11305, 11311, 11312, 11313, 11317, 11318, 11320, 11321, 11322, 11323, 11335, 11336, 11338, 11340, 11342, 11346, 11348, 11359, 11362, 11363, 11370, 11375, 11378, 11385, 11390, 11395, 11409, 11413, 11421, 11431, 11433, 11441, 11442, 11466, 11470, 11471, 11472, 11473, 11479, 11514, 11516, 11521, 11526, 11533, 11536, 11538, 11549, 11555, 11558, 11563, 11564, 11566, 11567, 11569, 11570, 11573, 11578, 11586, 11588, 11590, 11591, 11592, 11595, 11596, 11597, 11601, 11605, 11608, 11609, 11613, 11614, 11615, 11617, 11618, 11622, 11627, 11636, 11637, 11644, 11646, 11652, 11656, 11657, 11659, 11669, 11687, 11694, 11701, 11702, 11714, 11722, 11724, 11728, 11745, 11752, 11753, 11755, 11756, 11757, 11758, 11761, 11766, 11767, 11771, 11779, 11791, 11795, 11800, 11808, 11812, 11813, 11816, 11819, 11820, 11826, 11827, 11837, 11838, 11842, 11850, 11857, 11859, 11861, 11872, 11876, 11879, 11881, 11885, 11890, 11891, 11892, 11897, 11908, 11916, 11920, 11932, 11941, 11943, 11951, 11952, 11957, 11958, 11961, 11976, 11980, 11982, 11985, 11988, 11998, 12012, 12033, 12039, 12041, 12042, 12045, 12047, 12055, 12056, 12070, 12071, 12073, 12077, 12081, 12095, 12097, 12098, 12099, 12109, 12112, 12113, 12122, 12123, 12130, 12135, 12145, 12147, 12149, 12152, 12154, 12157, 12164, 12169, 12170, 12181, 12184, 12191, 12203, 12210, 12213, 12220, 12226, 12227, 12228, 12234, 12241, 12242, 12249, 12251, 12253, 12254, 12263, 12267, 12270, 12272, 12288, 12292, 12293, 12294, 12299, 12300, 12302, 12303, 12313, 12322, 12325, 12329, 12331, 12339, 12344, 12345, 12347, 12357, 12362, 12365, 12367, 12372, 12373, 12375, 12376, 12379, 12383, 12384, 12387, 12392, 12396, 12402, 12403, 12404, 12408, 12412, 12414, 12422, 12429, 12434, 12435, 12439, 12442, 12450, 12453, 12455, 12471, 12479, 12480, 12481, 12482, 12493, 12501, 12502, 12508, 12511, 12519, 12522, 12526, 12528, 12538, 12539, 12541, 12547, 12556, 12560, 12562, 12573, 12581, 12584, 12589, 12606, 12623, 12627, 12634, 12645, 12659, 12662, 12676, 12686, 12692, 12693, 12695, 12699, 12706, 12708, 12709, 12718, 12726, 12733, 12738, 12759, 12761, 12764, 12770, 12772, 12774, 12775, 12777, 12782, 12784, 12791, 12795, 12798, 12814, 12818, 12820, 12829, 12832, 12833, 12835, 12837, 12855, 12856, 12857, 12860, 12861, 12866, 12873, 12874, 12878, 12879, 12894, 12896, 12898, 12902, 12910, 12912, 12916, 12918, 12920, 12927, 12936, 12949, 12952, 12957, 12961, 12965, 12984, 12991, 12994, 12998, 13002, 13004, 13010, 13011, 13021, 13026, 13027, 13031, 13033, 13035, 13038, 13041, 13054, 13073, 13076, 13078, 13084, 13104, 13107, 13110, 13123, 13124, 13138, 13144, 13145, 13151, 13162, 13165, 13174, 13176, 13179, 13181, 13183, 13192, 13205, 13214, 13216, 13220, 13242, 13246, 13251, 13254, 13259, 13260, 13266, 13273, 13286, 13294, 13299, 13305, 13306, 13318, 13330, 13335, 13347, 13351, 13353, 13360, 13366, 13373, 13375, 13376, 13386, 13394, 13395, 13401, 13406, 13413, 13416, 13417, 13418, 13420, 13431, 13440, 13452, 13455, 13457, 13463, 13469, 13471, 13475, 13477, 13487, 13489, 13494, 13502, 13506, 13507, 13515, 13516, 13517, 13523, 13536, 13537, 13540, 13541, 13544, 13549, 13554, 13555, 13559, 13563, 13564, 13565, 13569, 13570, 13575, 13578, 13583, 13586, 13599, 13600, 13601, 13603, 13611, 13616, 13618, 13623, 13625, 13627, 13631, 13633, 13635, 13645, 13648, 13649, 13651, 13653, 13664, 13686, 13689, 13694, 13703, 13710, 13714, 13726, 13731, 13739, 13743, 13744, 13746, 13751, 13752, 13754, 13755, 13764, 13768, 13778, 13781, 13789, 13790, 13796, 13806, 13807, 13815, 13816, 13837, 13838, 13839, 13840, 13842, 13850, 13861, 13869, 13873, 13882, 13883, 13884, 13885, 13891, 13897, 13902, 13906, 13913, 13930, 13931, 13934, 13936, 13938, 13943, 13944, 13947, 13948, 13951, 13964, 13968, 13969, 13979, 13985, 13988, 13993, 14004, 14005, 14025, 14031, 14038, 14039, 14042, 14044, 14049, 14054, 14055, 14061, 14065, 14076, 14081, 14094, 14096, 14101, 14102, 14110, 14114, 14126, 14130, 14131, 14134, 14143, 14150, 14154, 14157, 14161, 14169, 14173, 14177, 14180, 14188, 14193, 14195, 14197, 14212, 14215, 14225, 14232, 14233, 14245, 14253, 14256, 14259, 14266, 14272, 14310, 14313, 14315, 14322, 14323, 14328, 14332, 14334, 14370, 14376, 14379, 14380, 14390, 14393, 14394, 14397, 14402, 14412, 14416, 14417, 14423, 14426, 14427, 14439, 14444, 14446, 14456, 14458, 14465, 14467, 14472, 14473, 14474, 14476, 14477, 14478, 14480, 14481, 14483, 14495, 14496, 14498, 14506, 14513, 14519, 14521, 14522, 14531, 14533, 14539, 14553, 14572, 14573, 14579, 14583, 14592, 14602, 14606, 14611, 14613, 14616, 14640, 14643, 14664, 14667, 14668, 14669, 14685, 14692, 14695, 14700, 14701, 14703, 14705, 14713, 14722, 14725, 14728, 14730, 14736, 14738, 14748, 14749, 14764, 14768, 14769, 14772, 14784, 14785, 14787, 14810, 14822, 14824, 14826, 14827, 14836, 14837, 14840, 14841, 14869, 14873, 14874, 14876, 14879, 14883, 14886, 14898, 14909, 14911, 14924, 14928, 14936, 14939, 14944, 14945, 14947, 14949, 14950, 14956, 14967, 14982, 14985, 14987, 14990, 15003, 15004, 15008, 15009, 15024, 15025, 15028, 15030, 15036, 15038, 15044, 15057, 15061, 15062, 15073, 15087, 15091, 15106, 15118, 15122, 15130, 15135, 15141, 15143, 15144, 15153, 15157, 15160, 15168, 15174, 15179, 15182, 15183, 15187, 15191, 15194, 15199, 15218, 15220, 15226, 15232, 15236, 15243, 15246, 15253, 15255, 15256, 15265, 15276, 15279, 15280, 15292, 15295, 15298, 15301, 15304, 15309, 15311, 15315, 15316, 15322, 15324, 15328, 15335, 15350, 15357, 15359, 15365, 15366, 15392, 15395, 15396, 15398, 15411, 15413, 15416, 15418, 15426, 15433, 15435, 15436, 15450, 15454, 15455, 15458, 15464, 15472, 15473, 15476, 15477, 15479, 15480, 15484, 15485, 15489, 15503, 15514, 15526, 15530, 15540, 15542, 15544, 15545, 15546, 15547, 15550, 15551, 15570, 15578, 15583, 15596, 15599, 15608, 15609, 15612, 15621, 15623, 15636, 15637, 15641, 15645, 15654, 15655, 15658, 15675, 15676, 15684, 15688, 15690, 15691, 15704, 15713, 15716, 15720, 15724, 15730, 15737, 15739, 15744, 15751, 15754, 15763, 15769, 15773, 15779, 15780, 15781, 15784, 15801, 15819, 15832, 15840, 15841, 15847, 15850, 15852, 15872, 15875, 15876, 15886, 15888, 15893, 15902, 15903, 15916, 15918, 15919, 15925, 15930, 15935, 15944, 15946, 15948, 15964, 15970, 15975, 15976, 15977, 15983, 15993, 15997, 16004, 16009, 16013, 16022, 16023, 16041, 16053, 16055, 16058, 16059, 16066, 16070, 16076, 16077, 16080, 16081, 16082, 16084, 16091, 16099, 16112, 16115, 16128, 16139, 16140, 16145, 16147, 16149, 16162, 16164, 16165, 16166, 16171, 16172, 16177, 16186, 16192, 16194, 16195, 16203, 16216, 16223, 16224, 16238, 16258, 16260, 16277, 16278, 16279, 16290, 16298, 16300, 16305, 16312, 16314, 16319, 16324, 16343, 16351, 16352, 16373, 16375, 16382, 16389, 16391, 16396, 16403, 16404, 16406, 16409, 16415, 16419, 16421, 16438, 16439, 16445, 16451, 16459, 16465, 16468, 16475, 16486, 16488, 16490, 16492, 16505, 16514, 16516, 16530, 16531, 16549, 16550, 16553, 16558, 16571, 16572, 16581, 16590, 16603, 16607, 16608, 16616, 16625, 16631, 16632, 16636, 16639, 16641, 16642, 16644, 16645, 16646, 16650, 16651, 16655, 16657, 16658, 16667, 16669, 16671, 16677, 16678, 16680, 16683, 16685, 16689, 16690, 16700, 16708, 16709, 16712, 16722, 16724, 16732, 16738, 16744, 16747, 16748, 16751, 16753, 16754, 16755, 16761, 16773, 16779, 16786, 16787, 16789, 16792, 16802, 16804, 16815, 16829, 16836, 16838, 16843, 16853, 16856, 16858, 16860, 16866, 16867, 16870, 16873, 16881, 16884, 16886, 16899, 16901, 16907, 16910, 16913, 16914, 16917, 16918, 16920, 16921, 16928, 16932, 16934, 16935, 16943, 16975, 16989, 16993, 16994, 16996, 16997, 16999, 17002, 17003, 17004, 17009, 17026, 17027, 17030, 17041, 17052, 17055, 17056, 17059, 17067, 17069, 17072, 17075, 17083, 17085, 17086, 17097, 17100, 17107, 17131, 17132, 17136, 17137, 17145, 17149, 17150, 17170, 17176, 17180, 17190, 17191, 17193, 17214, 17218, 17224, 17229, 17232, 17236, 17239, 17243, 17253, 17255, 17260, 17262, 17267, 17274, 17276, 17283, 17285, 17287, 17292, 17295, 17308, 17312, 17317, 17318, 17320, 17322, 17324, 17328, 17330, 17334, 17351, 17362, 17369, 17370, 17374, 17381, 17389, 17393, 17398, 17399, 17400, 17406, 17411, 17423, 17429, 17438, 17439, 17440, 17449, 17455, 17467, 17477, 17478, 17480, 17496, 17505, 17525, 17528, 17532, 17537, 17539, 17540, 17541, 17547, 17548, 17557, 17564, 17565, 17570, 17580, 17581, 17582, 17589, 17596, 17613, 17621, 17622, 17633, 17635, 17647, 17657, 17661, 17667, 17686, 17698, 17699, 17701, 17709, 17711, 17713, 17717, 17719, 17721, 17728, 17735, 17737, 17739, 17742, 17757, 17759, 17762, 17764, 17765, 17771, 17774, 17778, 17780, 17789, 17801, 17810, 17815, 17832, 17836, 17838, 17850, 17863, 17878, 17882, 17888, 17891, 17896, 17899, 17903, 17904, 17905, 17906, 17922, 17928, 17938, 17944, 17946, 17949, 17954, 17956, 17957, 17961, 17965, 17966, 17971, 17977, 17993, 17995, 17996, 17997, 18003, 18007, 18008, 18019, 18022, 18026, 18027, 18033, 18042, 18047, 18060, 18061, 18068, 18071, 18076, 18080, 18082, 18084, 18087, 18088, 18094, 18099, 18103, 18104, 18105, 18111, 18119, 18123, 18124, 18128, 18132, 18134, 18135, 18137, 18139, 18144, 18160, 18167, 18174, 18182, 18184, 18187, 18190, 18200, 18208, 18213, 18214, 18216, 18225, 18233, 18237, 18240, 18252, 18254, 18258, 18267, 18268, 18269, 18273, 18280, 18281, 18282, 18287, 18288, 18289, 18290, 18291, 18293, 18304, 18310, 18316, 18317, 18318, 18336, 18342, 18352, 18353, 18356, 18357, 18367, 18369, 18377, 18384, 18393, 18398, 18411, 18415, 18418, 18421, 18426, 18430, 18431, 18434, 18441, 18447, 18455, 18457, 18458, 18459, 18460, 18468, 18469, 18477, 18484, 18489, 18509, 18513, 18522, 18544, 18552, 18554, 18557, 18559, 18564, 18569, 18574, 18582, 18599, 18600, 18604, 18608, 18625, 18633, 18637, 18638, 18640, 18655, 18657, 18659, 18665, 18668, 18672, 18673, 18677, 18678, 18679, 18687, 18688, 18689, 18695, 18699, 18704, 18711, 18723, 18725, 18729, 18738, 18741, 18742, 18744, 18748, 18757, 18759, 18760, 18764, 18765, 18773, 18780, 18781, 18783, 18784, 18792, 18795, 18803, 18804, 18807, 18811, 18818, 18825, 18831, 18837, 18839, 18841, 18842, 18845, 18846, 18851, 18868, 18882, 18888, 18891, 18894, 18900, 18901, 18902, 18908, 18910, 18920, 18921, 18930, 18931, 18936, 18945, 18949, 18952, 18967, 18971, 18974, 18975, 18982, 18984, 18987, 18992, 18999, 19002, 19008, 19011, 19032, 19035, 19036, 19039, 19052, 19053, 19059, 19060, 19065, 19068, 19074, 19079, 19081, 19082, 19087, 19088, 19098, 19101, 19104, 19107, 19108, 19109, 19113, 19119, 19128, 19134, 19140, 19144, 19155, 19157, 19159, 19160, 19161, 19167, 19173, 19181, 19188, 19211, 19213, 19227, 19246, 19252, 19267, 19270, 19275, 19278, 19282, 19286, 19289, 19296, 19300, 19301, 19302, 19303, 19314, 19319, 19323, 19326, 19330, 19333, 19336, 19341, 19342, 19344, 19345, 19347, 19353, 19354, 19356, 19358, 19359, 19361, 19363, 19369, 19370, 19371, 19375, 19377, 19385, 19396, 19401, 19408, 19409, 19411, 19421, 19423, 19428, 19429, 19432, 19434, 19440, 19453, 19460, 19469, 19470, 19475, 19498, 19500, 19502, 19506, 19516, 19527, 19544, 19547, 19549, 19552, 19553, 19569, 19570, 19571, 19572, 19582, 19583, 19585, 19590, 19592, 19593, 19596, 19606, 19620, 19632, 19637, 19642, 19648, 19649, 19654, 19668, 19674, 19676, 19689, 19692, 19697, 19698, 19714, 19733, 19734, 19736, 19749, 19761, 19764, 19772, 19790, 19811, 19812, 19815, 19823, 19828, 19841, 19845, 19850, 19851, 19853, 19857, 19860, 19862, 19873, 19879, 19892, 19897, 19899, 19908, 19911, 19913, 19914, 19916, 19921, 19929, 19936, 19937, 19940, 19952, 19953, 19977, 19982, 19983, 19986, 19987, 19989, 19990, 19993, 19999, 20004, 20009, 20010, 20028, 20035, 20036, 20045, 20049, 20060, 20066, 20084, 20086, 20088, 20095, 20101, 20111, 20115, 20116, 20117, 20121, 20124, 20130, 20133, 20140, 20147, 20152, 20162, 20163, 20169, 20181, 20195, 20197, 20198, 20201, 20207, 20208, 20211, 20212, 20214, 20237, 20238, 20243, 20246, 20255, 20257, 20259, 20260, 20282, 20283, 20284, 20303, 20308, 20312, 20316, 20318, 20325, 20338, 20341, 20351, 20352, 20353, 20354, 20356, 20361, 20368, 20374, 20378, 20381, 20389, 20402, 20407, 20409, 20410, 20411, 20441, 20443, 20447, 20451, 20457, 20462, 20479, 20481, 20489, 20495, 20499, 20506, 20509, 20514, 20518, 20528, 20542, 20543, 20558, 20560, 20577, 20583, 20587, 20593, 20620, 20624, 20630, 20631, 20634, 20639, 20643, 20656, 20665, 20678, 20690, 20699, 20704, 20706, 20714, 20725, 20728, 20733, 20739, 20745, 20746, 20747, 20754, 20756, 20759, 20763, 20769, 20770, 20776, 20777, 20778, 20782, 20783, 20792, 20793, 20794, 20795, 20802, 20806, 20822, 20824, 20825, 20829, 20832, 20836, 20838, 20860, 20862, 20877, 20881, 20884, 20886, 20891, 20894, 20898, 20899, 20900, 20901, 20904, 20905, 20907, 20912, 20913, 20926, 20929, 20930, 20931, 20947, 20960, 20966, 20968, 20970, 20980, 20988, 20994, 21003, 21004, 21005, 21010, 21014, 21015, 21019, 21028, 21029, 21035, 21042, 21049, 21050, 21056, 21062, 21066, 21079, 21080, 21084, 21093, 21105, 21108, 21115, 21127, 21131, 21132, 21137, 21140, 21144, 21154, 21156, 21168, 21173, 21178, 21180, 21202, 21208, 21213, 21216, 21217, 21220, 21223, 21226, 21234, 21241, 21244, 21246, 21247, 21249, 21252, 21258, 21267, 21269, 21271, 21272, 21277, 21279, 21284, 21293, 21298, 21302, 21303, 21306, 21307, 21309, 21312, 21318, 21319, 21321, 21324, 21329, 21339, 21347, 21350, 21355, 21358, 21359, 21371, 21374, 21380, 21381, 21382, 21388, 21392, 21395, 21399, 21402, 21412, 21425, 21426, 21431, 21436, 21447, 21449, 21452, 21454, 21456, 21460, 21466, 21471, 21476, 21483, 21484, 21485, 21492, 21497, 21507, 21510, 21513, 21529, 21530, 21537, 21538, 21542, 21548, 21552, 21553, 21554, 21561, 21568, 21569, 21575, 21580, 21583, 21589, 21597, 21598, 21603, 21607, 21613, 21629, 21630, 21632, 21633, 21642, 21645, 21659, 21668, 21678, 21686, 21688, 21694, 21700, 21706, 21710, 21712, 21721, 21734, 21737, 21742, 21749, 21750, 21754, 21760, 21761, 21765, 21769, 21772, 21781, 21784, 21786, 21788, 21798, 21808, 21817, 21819, 21820, 21821, 21827, 21836, 21859, 21880, 21881, 21885, 21891, 21893, 21901, 21903, 21904, 21921, 21922, 21937, 21946, 21948, 21954, 21955, 21957, 21965, 21968, 21975, 21988, 21990, 21999, 22008, 22010, 22013, 22019, 22020, 22026, 22028, 22029, 22035, 22043, 22052, 22057, 22059, 22060, 22065, 22067, 22078, 22079, 22082, 22085, 22086, 22092, 22094, 22095, 22098, 22104, 22112, 22119, 22120, 22122, 22123, 22131, 22152, 22159, 22160, 22162, 22165, 22180, 22182, 22189, 22191, 22198, 22202, 22204, 22208, 22213, 22214, 22231, 22239, 22243, 22245, 22246, 22249, 22253, 22276, 22280, 22283, 22285, 22289, 22297, 22298, 22301, 22308, 22326, 22329, 22330, 22332, 22333, 22335, 22337, 22339, 22341, 22343, 22353, 22360, 22361, 22370, 22380, 22384, 22386, 22392, 22394, 22403, 22406, 22407, 22412, 22413, 22418, 22420, 22421, 22425, 22449, 22475, 22487, 22489, 22492, 22496, 22498, 22505, 22510, 22522, 22525, 22530, 22534, 22543, 22553, 22557, 22559, 22565, 22570, 22575, 22577, 22581, 22585, 22587, 22588, 22596, 22603, 22604, 22609, 22615, 22616, 22622, 22627, 22632, 22637, 22646, 22652, 22656, 22660, 22669, 22677, 22680, 22690, 22692, 22695, 22696, 22697, 22706, 22711, 22718, 22725, 22728, 22729, 22739, 22745, 22751, 22754, 22771, 22772, 22774, 22778, 22779, 22791, 22794, 22796, 22804, 22808, 22818, 22823, 22840, 22841, 22846, 22851, 22852, 22853, 22861, 22862, 22866, 22872, 22885, 22890, 22908, 22915, 22918, 22924, 22928, 22930, 22931, 22938, 22941, 22944, 22946, 22947, 22951, 22952, 22954, 22956, 22961, 22962, 22963, 22968, 22970, 22972, 22976, 22993, 23010, 23017, 23019, 23020, 23023, 23028, 23038, 23039, 23046, 23050, 23055, 23060, 23066, 23087, 23092, 23095, 23100, 23102, 23103, 23105, 23115, 23116, 23120, 23121, 23130, 23132, 23138, 23150, 23153, 23154, 23156, 23158, 23161, 23167, 23179, 23180, 23186, 23193, 23197, 23201, 23209, 23211, 23226, 23232, 23233, 23236, 23239, 23244, 23258, 23270, 23271, 23282, 23292, 23294, 23313, 23315, 23317, 23320, 23321, 23324, 23325, 23327, 23339, 23344, 23348, 23357, 23359, 23364, 23371, 23380, 23386, 23387, 23389, 23391, 23394, 23400, 23419, 23420, 23423, 23436, 23440, 23452, 23463, 23473, 23478, 23481, 23486, 23490, 23492, 23499, 23513, 23519, 23521, 23533, 23534, 23535, 23536, 23539, 23548, 23550, 23552, 23554, 23559, 23568, 23584, 23602, 23611, 23615, 23616, 23619, 23620, 23636, 23642, 23643, 23651, 23657, 23674, 23675, 23678, 23680, 23681, 23684, 23687, 23693, 23697, 23701, 23706, 23711, 23712, 23716, 23726, 23731, 23735, 23743, 23751, 23755, 23767, 23768, 23771, 23779, 23780, 23783, 23785, 23798, 23801, 23803, 23807, 23814, 23821, 23826, 23828, 23829, 23830, 23832, 23840, 23847, 23848, 23849, 23858, 23873, 23875, 23876, 23877, 23878, 23893, 23907, 23916, 23917, 23922, 23927, 23929, 23933, 23934, 23941, 23944, 23946, 23949, 23952, 23974, 23976, 23978, 23979, 23985, 23986, 23990, 23998, 23999, 24004, 24015, 24018, 24019, 24021, 24032, 24042, 24049, 24056, 24063, 24065, 24067, 24070, 24072, 24074, 24077, 24080, 24084, 24088, 24091, 24099, 24101, 24102, 24117, 24121, 24133, 24149, 24150, 24157, 24163, 24168, 24172, 24190, 24198, 24206, 24210, 24212, 24214, 24220, 24224, 24236, 24237, 24239, 24243, 24257, 24262, 24282, 24287, 24288, 24307, 24317, 24323, 24324, 24330, 24335, 24336, 24338, 24343, 24344, 24354, 24357, 24360, 24386, 24387, 24396, 24401, 24402, 24409, 24412, 24417, 24422, 24431, 24444, 24447, 24448, 24450, 24454, 24457, 24462, 24465, 24467, 24468, 24471, 24477, 24478, 24489, 24499, 24508, 24510, 24515, 24535, 24536, 24539, 24549, 24567, 24568, 24569, 24573, 24582, 24592, 24595, 24601, 24603, 24612, 24619, 24621, 24629, 24631, 24652, 24656, 24659, 24662, 24663, 24664, 24674, 24676, 24678, 24683, 24691, 24692, 24693, 24694, 24706, 24711, 24718, 24721, 24727, 24734, 24743, 24745, 24746, 24747, 24751, 24756, 24762, 24772, 24782, 24783, 24785, 24798, 24801, 24802, 24803, 24804, 24808, 24815, 24820, 24840, 24846, 24854, 24855, 24858, 24870, 24871, 24876, 24884, 24892, 24900, 24905, 24909, 24912, 24915, 24918, 24923, 24924, 24927, 24930, 24937, 24938, 24942, 24955, 24957, 24958, 24963, 24966, 24984, 24990, 24994, 24995, 25008, 25009, 25012, 25016, 25021, 25026, 25030, 25038, 25039, 25040, 25043, 25044, 25045, 25049, 25063, 25069, 25078, 25080, 25083, 25090, 25108, 25111, 25113, 25131, 25137, 25141, 25144, 25145, 25147, 25155, 25157, 25160, 25164, 25172, 25177, 25178, 25180, 25185, 25188, 25196, 25203, 25216, 25217, 25220, 25226, 25228, 25232, 25235, 25244, 25251, 25255, 25256, 25261, 25264, 25289, 25300, 25302, 25306, 25307, 25313, 25315, 25318, 25321, 25328, 25329, 25334, 25335, 25337, 25338, 25341, 25349, 25350, 25354, 25356, 25365, 25384, 25385, 25395, 25411, 25415, 25417, 25418, 25428, 25429, 25440, 25446, 25452, 25454, 25479, 25481, 25482, 25491, 25503, 25504, 25509, 25510, 25515, 25517, 25518, 25519, 25520, 25521, 25524, 25530, 25534, 25537, 25539, 25554, 25559, 25571, 25574, 25586, 25591, 25610, 25616, 25634, 25645, 25647, 25661, 25668, 25670, 25679, 25691, 25700, 25707, 25709, 25710, 25713, 25715, 25723, 25724, 25727, 25729, 25734, 25736, 25750, 25759, 25763, 25774, 25775, 25777, 25779, 25782, 25785, 25786, 25794, 25796, 25800, 25802, 25814, 25817, 25818, 25820, 25822, 25835, 25841, 25853, 25856, 25857, 25859, 25866, 25867, 25876, 25881, 25884, 25885, 25888, 25889, 25891, 25895, 25901, 25905, 25921, 25935, 25941, 25948, 25949, 25961, 25963, 25964, 25966, 25972, 25975, 25983, 25985, 25986, 25997, 26000, 26003, 26004, 26012, 26013, 26014, 26017, 26039, 26049, 26051, 26054, 26055, 26057, 26065, 26067, 26071, 26079, 26091, 26095, 26099, 26101, 26103, 26121, 26130, 26134, 26136, 26139, 26154, 26158, 26159, 26160, 26161, 26162, 26174, 26176, 26180, 26181, 26183, 26184, 26187, 26194, 26195, 26206, 26212, 26215, 26216, 26218, 26229, 26233, 26248, 26255, 26260, 26261, 26268, 26274, 26281, 26282, 26288, 26300, 26310, 26311, 26316, 26317, 26318, 26320, 26324, 26330, 26337, 26351, 26355, 26356, 26368, 26377, 26379, 26391, 26392, 26395, 26407, 26431, 26443, 26462, 26467, 26477, 26492, 26494, 26499, 26506, 26509, 26513, 26514, 26519, 26520, 26523, 26544, 26548, 26549, 26550, 26556, 26563, 26568, 26570, 26580, 26583, 26586, 26593, 26595, 26601, 26603, 26605, 26607, 26615, 26618, 26626, 26633, 26637, 26655, 26661, 26667, 26672, 26679, 26687, 26688, 26689, 26695, 26701, 26702, 26705, 26709, 26710, 26713, 26715, 26726, 26736, 26741, 26744, 26745, 26747, 26756, 26757, 26759, 26761, 26768, 26797, 26805, 26819, 26822, 26828, 26831, 26837, 26860, 26864, 26865, 26868, 26871, 26872, 26879, 26883, 26893, 26896, 26898, 26901, 26905, 26917, 26918, 26925, 26927, 26930, 26931, 26932, 26935, 26936, 26943, 26946, 26952, 26953, 26956, 26957, 26963, 26979, 26993, 26996, 26997, 27000, 27002, 27004, 27015, 27027, 27035, 27043, 27044, 27047, 27049, 27053, 27056, 27059, 27061, 27062, 27063, 27067, 27068, 27071, 27072, 27074, 27078, 27081, 27083, 27086, 27087, 27089, 27094, 27101, 27102, 27103, 27104, 27108, 27114, 27133, 27143, 27150, 27152, 27165, 27168, 27171, 27173, 27174, 27175, 27183, 27184, 27189, 27193, 27194, 27198, 27202, 27204, 27205, 27206, 27210, 27215, 27221, 27227, 27228, 27232, 27236, 27237, 27239, 27244, 27251, 27252, 27253, 27259, 27260, 27269, 27279, 27282, 27290, 27291, 27294, 27297, 27308, 27311, 27315, 27326, 27329, 27334, 27336, 27337, 27346, 27360, 27361, 27365, 27367, 27369, 27373, 27374, 27377, 27379, 27382, 27383, 27390, 27393, 27398, 27402, 27411, 27414, 27420, 27423, 27425, 27427, 27429, 27434, 27441, 27447, 27452, 27454, 27455, 27458, 27463, 27464, 27465, 27468, 27469, 27470, 27476, 27481, 27483, 27495, 27504, 27505, 27508, 27512, 27528, 27529, 27551, 27554, 27555, 27560, 27562, 27568, 27574, 27575, 27577, 27580, 27581, 27583, 27584, 27585, 27597, 27600, 27602, 27615, 27616, 27619, 27621, 27631, 27634, 27637, 27638, 27639, 27643, 27650, 27658, 27660, 27661, 27663, 27665, 27667, 27674, 27677, 27678, 27687, 27694, 27695, 27704, 27706, 27721, 27738, 27744, 27745, 27752, 27753, 27758, 27760, 27766, 27771, 27776, 27778, 27783, 27786, 27789, 27795, 27796, 27798, 27800, 27801, 27809, 27811, 27823, 27824, 27825, 27826, 27829, 27834, 27836, 27838, 27850, 27863, 27865, 27869, 27870, 27871, 27872, 27875, 27877, 27879, 27887, 27888, 27890, 27891, 27892, 27893, 27894, 27900, 27905, 27910, 27913, 27914, 27920, 27924, 27926, 27934, 27935, 27939, 27941, 27946, 27949, 27956, 27959, 27962, 27963, 27964, 27973, 27979, 27983, 27987, 28000, 28001, 28004, 28011, 28012, 28013, 28014, 28016, 28019, 28021, 28029, 28033, 28036, 28039, 28041, 28043, 28044, 28049, 28054, 28062, 28063, 28065, 28067, 28069, 28072, 28084, 28085, 28088, 28099, 28105, 28112, 28115, 28119, 28127, 28130, 28138, 28152, 28155, 28157, 28160, 28165, 28171, 28173, 28177, 28180, 28185, 28192, 28197, 28198, 28202, 28206, 28212, 28213, 28217, 28218, 28223, 28227, 28228, 28243, 28257, 28259, 28260, 28262, 28270, 28273, 28277, 28281, 28282, 28283, 28291, 28292, 28293, 28296, 28300, 28304, 28324, 28326, 28333, 28336, 28346, 28348, 28358, 28361, 28363, 28365, 28375, 28380, 28383, 28386, 28390, 28397, 28403, 28407, 28410, 28414, 28419, 28425, 28428, 28431, 28432, 28433, 28434, 28435, 28436, 28439, 28447, 28460, 28469, 28474, 28482, 28485, 28487, 28488, 28496, 28498, 28501, 28502, 28505, 28506, 28507, 28508, 28511, 28519, 28521, 28524, 28525, 28532, 28537, 28539, 28540, 28544, 28547, 28548, 28552, 28553, 28559, 28562, 28564, 28565, 28566, 28578, 28584, 28588, 28601, 28616, 28619, 28627, 28629, 28631, 28636, 28642, 28643, 28648, 28657, 28661, 28672, 28679, 28680, 28682, 28683, 28690, 28692, 28698, 28701, 28707, 28712, 28721, 28723, 28724, 28727, 28729, 28732, 28733, 28734, 28746, 28749, 28752, 28760, 28761, 28764, 28773, 28776, 28780, 28783, 28791, 28792, 28793, 28797, 28805, 28806, 28807, 28818, 28820, 28828, 28830, 28831, 28848, 28857, 28862, 28863, 28865, 28867, 28875, 28879, 28880, 28886, 28887, 28889, 28891, 28897, 28902, 28906, 28909, 28915, 28917, 28921, 28927, 28928, 28929, 28938, 28939, 28941, 28948, 28952, 28955, 28956, 28960, 28968, 28997, 29000, 29010, 29031, 29035, 29052, 29056, 29057, 29059, 29063, 29069, 29073, 29078, 29086, 29096, 29106, 29110, 29111, 29131, 29133, 29139, 29140, 29145, 29150, 29161, 29163, 29164, 29167, 29168, 29176, 29179, 29183, 29185, 29187, 29189, 29190, 29191, 29196, 29199, 29202, 29214, 29216, 29224, 29226, 29227, 29231, 29239, 29240, 29242, 29244, 29252, 29254, 29256, 29261, 29263, 29274, 29278, 29279, 29283, 29285, 29286, 29289, 29292, 29299, 29304, 29305, 29306, 29311, 29313, 29316, 29320, 29321, 29323, 29325, 29336, 29337, 29338, 29339, 29342, 29344, 29346, 29356, 29366, 29372, 29376, 29378, 29382, 29383, 29399, 29409, 29410, 29411, 29419, 29420, 29426, 29430, 29433, 29436, 29450, 29459, 29460, 29463, 29464, 29477, 29478, 29481, 29483, 29486, 29492, 29493, 29497, 29498, 29503, 29504, 29515, 29517, 29522, 29527, 29528, 29529, 29533, 29534, 29541, 29545, 29551, 29553, 29555, 29558, 29559, 29563, 29565, 29566, 29568, 29574, 29579, 29580, 29581, 29583, 29589, 29597, 29598, 29600, 29601, 29615, 29618, 29619, 29621, 29624, 29629, 29631, 29636, 29642, 29644, 29650, 29657, 29660, 29661, 29662, 29663, 29664, 29667, 29669, 29670, 29673, 29676, 29679, 29680, 29682, 29686, 29688, 29690, 29691, 29708, 29711, 29721, 29722, 29724, 29728, 29730, 29740, 29741, 29743, 29753, 29757, 29763, 29767, 29769, 29776, 29792, 29796, 29797, 29811, 29814, 29819, 29823, 29829, 29834, 29836, 29841, 29845, 29846, 29851, 29854, 29859, 29861, 29865, 29866, 29868, 29869, 29876, 29878, 29880, 29884, 29889, 29894, 29926, 29927, 29928, 29932, 29946, 29951, 29954, 29955, 29957, 29958, 29961, 29969, 29972, 29981, 29983, 29994, 30007, 30015, 30022, 30023, 30029, 30037, 30041, 30045, 30046, 30048, 30049, 30051, 30052, 30060, 30068, 30071, 30083, 30088, 30089, 30095, 30102, 30111, 30112, 30113, 30114, 30117, 30118, 30120, 30128, 30131, 30134, 30135, 30139, 30140, 30151, 30156, 30162, 30167, 30170, 30198, 30207, 30208, 30211, 30215, 30216, 30219, 30225, 30245, 30250, 30252, 30253, 30257, 30260, 30270, 30274, 30276, 30283, 30284, 30288, 30292, 30295, 30302, 30304, 30307, 30308, 30314, 30316, 30318, 30320, 30322, 30330, 30331, 30342, 30343, 30344, 30348, 30349, 30354, 30360, 30362, 30371, 30375, 30378, 30396, 30399, 30408, 30412, 30414, 30419, 30424, 30425, 30429, 30433, 30434, 30439, 30440, 30443, 30445, 30447, 30453, 30461, 30463, 30467, 30469, 30470, 30486, 30489, 30493, 30495, 30500, 30504, 30510, 30513, 30528, 30530, 30538, 30541, 30542, 30546, 30553, 30556, 30562, 30566, 30568, 30569, 30575, 30579, 30581, 30588, 30589, 30591, 30592, 30593, 30594, 30599, 30603, 30606, 30608, 30610, 30611, 30612, 30625, 30637, 30642, 30646, 30650, 30659, 30664, 30668, 30669, 30670, 30679, 30680, 30689, 30694, 30702, 30707, 30711, 30717, 30718, 30719, 30726, 30731, 30747, 30751, 30754, 30755, 30756, 30771, 30777, 30780, 30789, 30792, 30795, 30805, 30810, 30815, 30820, 30822, 30826, 30827, 30833, 30849, 30864, 30865, 30875, 30877, 30881, 30883, 30887, 30890, 30906, 30908, 30924, 30934, 30943, 30945, 30949, 30950, 30951, 30954, 30962, 30968, 30969, 30972, 30977, 30982, 30992, 30996, 30999, 31000, 31026, 31029, 31032, 31033, 31040, 31043, 31045, 31046, 31051, 31055, 31059, 31060, 31062, 31070, 31072, 31079, 31082, 31086, 31088, 31106, 31112, 31114, 31116, 31118, 31126, 31127, 31130, 31131, 31152, 31156, 31163, 31169, 31171, 31183, 31185, 31198, 31199, 31203, 31205, 31209, 31211, 31217, 31220, 31225, 31234, 31235, 31237, 31238, 31239, 31243, 31244, 31247, 31258, 31260, 31267, 31279, 31284, 31289, 31290, 31293, 31304, 31305, 31317, 31320, 31336, 31337, 31341, 31359, 31368, 31369, 31382, 31383, 31385, 31393, 31401, 31402, 31408, 31413, 31421, 31430, 31441, 31445, 31451, 31454, 31473, 31476, 31501, 31504, 31506, 31509, 31521, 31524, 31528, 31539, 31541, 31542, 31544, 31554, 31556, 31561, 31568, 31585, 31586, 31591, 31592, 31600, 31611, 31616, 31618, 31620, 31633, 31637, 31638, 31647, 31657, 31664, 31670, 31673, 31676, 31679, 31680, 31688, 31695, 31698, 31700, 31702, 31705, 31708, 31711, 31717, 31721, 31723, 31729, 31732, 31750, 31751, 31755, 31757, 31763, 31765, 31766, 31774, 31777, 31778, 31781, 31782, 31811, 31814, 31829, 31831, 31832, 31856, 31869, 31872, 31886, 31889, 31898, 31902, 31903, 31904, 31911, 31928, 31930, 31931, 31936, 31937, 31941, 31942, 31952, 31955, 31965, 31969, 31977, 31994, 31999, 32005, 32008, 32012, 32014, 32023, 32039, 32043, 32059, 32060, 32066, 32067, 32074, 32077, 32097, 32098, 32113, 32120, 32123, 32124, 32127, 32128, 32133, 32153, 32156, 32160, 32169, 32172, 32173, 32177, 32179, 32184, 32193, 32195, 32196, 32199, 32219, 32221, 32232, 32234, 32236, 32237, 32241, 32245, 32247, 32257, 32263, 32267, 32268, 32276, 32278, 32282, 32292, 32293, 32296, 32305, 32315, 32321, 32327, 32332, 32341, 32348, 32359, 32367, 32371, 32378, 32385, 32389, 32390, 32406, 32411, 32416, 32417, 32419, 32420, 32421, 32425, 32429, 32440, 32460, 32463, 32465, 32467, 32474, 32475, 32483, 32486, 32502, 32504, 32513, 32517, 32529, 32531, 32538, 32546, 32550, 32555, 32571, 32572, 32575, 32584, 32594, 32598, 32605, 32606, 32607, 32612, 32616, 32627, 32628, 32631, 32646, 32650, 32660, 32669, 32670, 32674, 32677, 32682, 32695, 32697, 32698, 32701, 32703, 32706, 32707, 32708, 32717, 32718, 32719, 32725, 32728, 32730, 32732, 32733, 32734, 32736, 32737, 32738, 32739, 32740, 32743, 32746, 32754, 32755, 32756, 32759, 32760, 32763, 32771, 32774, 32777, 32779, 32786, 32790, 32792, 32793, 32796, 32800, 32805, 32807, 33001, 33005, 33008, 33011, 33018, 33019, 33025, 33027, 33038, 33040, 33041, 33048, 33050, 33055, 33060, 33066, 33067, 33070, 33075, 33080, 33085, 33088, 33089, 33097, 33101, 33107, 33108, 33110, 33119, 33121, 33124, 33125, 33126, 33128, 33130, 33132, 33137, 33138, 33139, 33142, 33149, 33150, 33152, 33155, 33157, 33161, 33164, 33168, 33173, 33179, 33186, 33191, 33193, 33194, 33195, 33200, 33202, 33204, 33208, 33212, 33214, 33217, 33220, 33223, 33227, 33229, 33231, 33232, 33236, 33240, 33241, 33244, 33246, 33247, 33248, 33251, 33252, 33254, 33256, 33258, 33259, 33264, 33274, 33276, 33278, 33283, 33289, 33298, 33299, 33300, 33302, 33308, 33314, 33317, 33327, 33330, 33331, 33332, 33333, 33339, 33340, 33342, 33348, 33350, 33353, 33356, 33357, 33358, 33359, 33364, 33366, 33367, 33369, 33371, 33372, 33375, 33386, 33391, 33394, 33396, 33398, 33401, 33406, 33407, 33410, 33413, 33414, 33419, 33422, 33424, 33431, 33442, 33443, 33451, 33468, 33469, 33475, 33478, 33480, 33482, 33484, 33502, 33509, 33520, 33526, 33531, 33534, 33536, 33537, 33539, 33546, 33547, 33549, 33553, 33557, 33563, 33569, 33571, 33575, 33578, 33590, 33603, 33607, 33608, 33609, 33610, 33611, 33612, 33616, 33619, 33622, 33623, 33624, 33633, 33634, 33637, 33639, 33640, 33642, 33647, 33659, 33661, 33664, 33668, 33673, 33677, 33678, 33680, 33688, 33690, 33691, 33694, 33699, 33701, 33704, 33706, 33709, 33711, 33714, 33719, 33722, 33728, 33730, 33732, 33733, 33735, 33737, 33739, 33740, 33743, 33754, 33756, 33768, 33770, 33772, 33774, 33775, 33776, 33789, 33792, 33794, 33801, 33802, 33803, 33804, 33806, 33807, 33812, 33819, 33826, 33828, 33829, 33832, 33836, 33838, 33840, 33845, 33850, 33851, 33852, 33858, 33859, 33864, 33869, 33873, 33874, 33875, 33876, 33879, 33897, 33907, 33909, 33917, 33923, 33925, 33930, 33937, 33942, 33943, 33944, 33945, 33951, 33961, 33964, 33965, 33967, 33974, 33981, 33987, 33988, 33992, 33996, 34000, 34001, 34005, 34006, 34007, 34008, 34010, 34011, 34014, 34024, 34027, 34030, 34033, 34046, 34048, 34051, 34054, 34057, 34061, 34062, 34066, 34068, 34075, 34076, 34077, 34078, 34084, 34090, 34092, 34094, 34095, 34098, 34099, 34103, 34106, 34110, 34115, 34116, 34118, 34120, 34121, 34123, 34128, 34134, 34139, 34142, 34146, 34148, 34150, 34154, 34156, 34163, 34167, 34172, 34175, 34178, 34179, 34181, 34182, 34184, 34190, 34194, 34196, 34200, 34203, 34206, 34209, 34210, 34214, 34215, 34222, 34224, 34227, 34228, 34232, 34235, 34237, 34240, 34243, 34244, 34245, 34247, 34251, 34254, 34256, 34259, 34262, 34267, 34269, 34270, 34271, 34280, 34282, 34283, 34285, 34293, 34296, 34299, 34300, 34306, 34307, 34308, 34309, 34316, 34317, 34321, 34322, 34326, 34330, 34333, 34336, 34341, 34342, 34352, 34354, 34355, 34360, 34364, 34367, 34371, 34374, 34375, 34376, 34378, 34384, 34386, 34389, 34390, 34395, 34401, 34402, 34404, 34407, 34408, 34417, 34424, 34436, 34439, 34446, 34450, 34455, 34456, 34462, 34463, 34464, 34465, 34474, 34478, 34500, 34504, 34506, 34508, 34509, 34513, 34515, 34528, 34529, 34530, 34538, 34548, 34549, 34553, 34554, 34556, 34566, 34572, 34575, 34576, 34580, 34582, 34588, 34591, 34593, 34597, 34598, 34600, 34602, 34604, 34622, 34623, 34627, 34628, 34629, 34631, 34632, 34643, 34644, 34645, 34647, 34649, 34652, 34653, 34655, 34657, 34658, 34659, 34662, 34670, 34673, 34674, 34678, 34684, 34691, 34693, 34699, 34706, 34709, 34712, 34714, 34719, 34720, 34732, 34736, 34740, 34742, 34745, 34746, 34751, 34759, 34768, 34773, 34774, 34793, 34795, 34800, 34802, 34806, 34810, 34832, 34834, 34835, 34839, 34847, 34852, 34855, 34856, 34857, 34861, 34863, 34869, 34888, 34892, 34895, 34897, 34914, 34916, 34922, 34928, 34931, 34935, 34940, 34946, 34949, 34954, 34956, 34961, 34964, 34965, 34967, 34972, 34975, 34978, 34982, 34983, 34987, 34988, 34990, 34991, 34992, 34993, 34994, 34997, 35003, 35010, 35011, 35012, 35016, 35030, 35031, 35032, 35035, 35041, 35044, 35052, 35053, 35055, 35057, 35061, 35063, 35065, 35066, 35068, 35069, 35072, 35074, 35078, 35079, 35087, 35089, 35090, 35091, 35092, 35101, 35108, 35111, 35115, 35116, 35118, 35123, 35130, 35131, 35135, 35136, 35137, 35145, 35148, 35149, 35151, 35154, 35156, 35165, 35171, 35176, 35182, 35184, 35185, 35196, 35197, 35199, 35205, 35212, 35214, 35215, 35216, 35217, 35218, 35223, 35226, 35230, 35231, 35233, 35249, 35251, 35255, 35257, 35260, 35265, 35268, 35271, 35280, 35286, 35289, 35290, 35292, 35296, 35306, 35310, 35311, 35315, 35316, 35317, 35318, 35322, 35323, 35331, 35333, 35335, 35340, 35342, 35345, 35352, 35354, 35355, 35356, 35360, 35364, 35367, 35371, 35373, 35382, 35384, 35387, 35388, 35392, 35393, 35400, 35402, 35413, 35419, 35421, 35426, 35428, 35431, 35434, 35435, 35440, 35443, 35446, 35448, 35449, 35451, 35454, 35466, 35469, 35470, 35482, 35491, 35493, 35495, 35496, 35500, 35503, 35507, 35513, 35514, 35515, 35517, 35518, 35519, 35526, 35529, 35534, 35539, 35540, 35541, 35557, 35563, 35576, 35578, 35580, 35581, 35582, 35584, 35595, 35600, 35605, 35609, 35612, 35615, 35620, 35626, 35628, 35629, 35634, 35644, 35645, 35651, 35653, 35660, 35662, 35667, 35669, 35671, 35674, 35680, 35696, 35700, 35701, 35707, 35713, 35716, 35723, 35725, 35726, 35731, 35732, 35733, 35735, 35748, 35749, 35751, 35753, 35756, 35758, 35760, 35762, 35768, 35780, 35782, 35784, 35790, 35792, 35793, 35794, 35797, 35798, 35799, 35800, 35804, 35805, 35809, 35810, 35812, 35813, 35814, 35818, 35821, 35822, 35823, 35834, 35836, 35837, 35838, 35845, 35849, 35851, 35858, 35861, 35871, 35876, 35879, 35882, 35883, 35897, 35905, 35906, 35908, 35912, 35923, 35926, 35928, 35930, 35931, 35932, 35936, 35946, 35947, 35948, 35952, 35953, 35957, 35958, 35960, 35962, 35965, 35974, 35976, 35980, 35982, 35986, 35987, 35988, 35989, 35995, 35997, 36004, 36006, 36007, 36010, 36011, 36012, 36013, 36017, 36021, 36022, 36023, 36028, 36032, 36038, 36047, 36050, 36054, 36055, 36057, 36062, 36073, 36074, 36080, 36081, 36085, 36086, 36088, 36100, 36102, 36105, 36108, 36110, 36116, 36117, 36121, 36122, 36126, 36127, 36136, 36140, 36146, 36154, 36157, 36163, 36165, 36167, 36172, 36184, 36186, 36191, 36192, 36194, 36197, 36198, 36203, 36204, 36213, 36214, 36215, 36224, 36228, 36229, 36232, 36234, 36239, 36243, 36244, 36246, 36250, 36252, 36254, 36260, 36262, 36266, 36270, 36277, 36280, 36284, 36286, 36291, 36294, 36299, 36302, 36307, 36308, 36311, 36312, 36313, 36317, 36318, 36326, 36330, 36336, 36338, 36339, 36347, 36348, 36355, 36359, 36361, 36367, 36368, 36371, 36376, 36378, 36382, 36383, 36384, 36396, 36397, 36401, 36404, 36406, 36408, 36415, 36416, 36417, 36419, 36423, 36424, 36425, 36426, 36430, 36438, 36445, 36450, 36451, 36457, 36463, 36467, 36471, 36472, 36473, 36474, 36481, 36484, 36485, 36494, 36499, 36507, 36508, 36513, 36520, 36522, 36523, 36530, 36535, 36537, 36545, 36550, 36556, 36558, 36561, 36564, 36570, 36572, 36573, 36575, 36579, 36580, 36581, 36589, 36594, 36599, 36600, 36608, 36609, 36616, 36621, 36622, 36623, 36624, 36633, 36634, 36636, 36643, 36644, 36645, 36648, 36653, 36657, 36662, 36663, 36665, 36668, 36675, 36677, 36687, 36688, 36689, 36690, 36697, 36703, 36712, 36713, 36715, 36720, 36724, 36725, 36727, 36728, 36730, 36736, 36737, 36739, 36740, 36745, 36755, 36756, 36758, 36762, 36763, 36765, 36768, 36771, 36775, 36776, 36786, 36787, 36788, 36791, 36792, 36795, 36796, 36801, 36804, 36808, 36809, 36810, 36814, 36816, 36818, 36820, 36822, 36823, 36826, 36830, 36833, 36843, 36844, 36865, 36874, 36884, 36886, 36887, 36890, 36895, 36898, 36906, 36910, 36917, 36919, 36927, 36930, 36934, 36936, 36937, 36941, 36945, 36947, 36954, 36955, 36956, 36971, 36972, 36973, 36974, 36978, 36979, 36981, 36982, 36985, 36988, 36989, 36990, 36994, 36995, 36997, 37000, 37001, 37003, 37007, 37011, 37021, 37026, 37030, 37031, 37035, 37036, 37040, 37047, 37049, 37053, 37058, 37060, 37063, 37065, 37072, 37073, 37076, 37079, 37080, 37081, 37085, 37094, 37095, 37096, 37108, 37112, 37115, 37123, 37127, 37130, 37134, 37136, 37137, 37154, 37155, 37158, 37182, 37185, 37203, 37210, 37215, 37220, 37232, 37235, 37236, 37237, 37238, 37242, 37243, 37245, 37249, 37250, 37251, 37252, 37253, 37263, 37264, 37266, 37268, 37271, 37275, 37277, 37283, 37289, 37293, 37296, 37297, 37301, 37311, 37312, 37322, 37326, 37327, 37328, 37329, 37331, 37332, 37334, 37338, 37342, 37343, 37345, 37347, 37350, 37351, 37352, 37358, 37361, 37363, 37370, 37377, 37379, 37385, 37386, 37389, 37393, 37395, 37397, 37402, 37403, 37404, 37418, 37422, 37426, 37427, 37434, 37435, 37437, 37443, 37444, 37449, 37451, 37452, 37456, 37457, 37459, 37461, 37462, 37467, 37468, 37471, 37480, 37482, 37483, 37484, 37485, 37486, 37487, 37488, 37489, 37491, 37494, 37495, 37497, 37502, 37504, 37507, 37513, 37527, 37531, 37537, 37539, 37540, 37543, 37546, 37549, 37551, 37553, 37558, 37559, 37570, 37575, 37579, 37585, 37587, 37590, 37592, 37595, 37599, 37600, 37610, 37611, 37612, 37613, 37627, 37632, 37633, 37637, 37639, 37643, 37644, 37652, 37655, 37657, 37658, 37663, 37664, 37665, 37676, 37680, 37681, 37691, 37696, 37697, 37698, 37700, 37707, 37708, 37710, 37713, 37716, 37718, 37719, 37723, 37726, 37729, 37730, 37733, 37735, 37744, 37746, 37747, 37751, 37758, 37761, 37763, 37775, 37779, 37796, 37797, 37799, 37804, 37805, 37808, 37809, 37814, 37820, 37826, 37837, 37842, 37846, 37848, 37854, 37856, 37857, 37858, 37859, 37860, 37863, 37865, 37870, 37871, 37872, 37880, 37883, 37887, 37905, 37912, 37925, 37927, 37930, 37932, 37940, 37942, 37947, 37953, 37955, 37958, 37959, 37961, 37962, 37968, 37970, 37977, 37979, 37980, 37986, 37997, 37998, 38000, 38005, 38011, 38014, 38015, 38018, 38021, 38023, 38034, 38035, 38036, 38039, 38041, 38043, 38049, 38054, 38057, 38060, 38062, 38069, 38075, 38079, 38081, 38082, 38088, 38093, 38094, 38098, 38104, 38107, 38110, 38111, 38118, 38120, 38121, 38123, 38126, 38139, 38140, 38143, 38152, 38159, 38160, 38166, 38168, 38169, 38176, 38181, 38188, 38189, 38191, 38193, 38197, 38200, 38201, 38207, 38213, 38217, 38223, 38225, 38232, 38235, 38236, 38240, 38245, 38247, 38248, 38255, 38257, 38263, 38265, 38267, 38272, 38273, 38274, 38278, 38281, 38282, 38285, 38287, 38292, 38294, 38295, 38298, 38299, 38302, 38305, 38307, 38310, 38311, 38316, 38317, 38318, 38327, 38329, 38331, 38333, 38338, 38346, 38347, 38348, 38353, 38358, 38360, 38364, 38367, 38370, 38374, 38379, 38383, 38387, 38392, 38399, 38400, 38404, 38409, 38410, 38415, 38416, 38417, 38419, 38421, 38428, 38429, 38437, 38439, 38440, 38441, 38442, 38443, 38446, 38447, 38454, 38457, 38461, 38467, 38469, 38470, 38471, 38489, 38491, 38492, 38497, 38498, 38499, 38500, 38503, 38509, 38510, 38514, 38518, 38520, 38529, 38532, 38536, 38541, 38546, 38547, 38555, 38563, 38566, 38567, 38574, 38575, 38576, 38578, 38580, 38581, 38582, 38587, 38593, 38595, 38598, 38602, 38611, 38613, 38618, 38626, 38627, 38632, 38634, 38638, 38643, 38649, 38653, 38661, 38668, 38671, 38672, 38676, 38686, 38688, 38689, 38690, 38691, 38697, 38698, 38708, 38709, 38716, 38718, 38724, 38726, 38728, 38734, 38736, 38739, 38743, 38744, 38745, 38746, 38747, 38749, 38752, 38755, 38762, 38763, 38767, 38769, 38779, 38782, 38790, 38797, 38799, 38800, 38802, 38804, 38806, 38808, 38811, 38816, 38819, 38820, 38823, 38824, 38827, 38848, 38851, 38852, 38855, 38857, 38858, 38860, 38862, 38868, 38873, 38876, 38883, 38885, 38889, 38890, 38896, 38901, 38905, 38907, 38908, 38916, 38917, 38925, 38926, 38936, 38937, 38939, 38940, 38943, 38945, 38951, 38953, 38955, 38956, 38958, 38963, 38965, 38968, 38970, 38971, 38976, 38977, 38979, 38980, 38983, 38986, 38988, 38991, 38995, 38998, 39000, 39002, 39003, 39004, 39012, 39014, 39015, 39022, 39025, 39026, 39036, 39043, 39045, 39059, 39068, 39073, 39074, 39076, 39077, 39080, 39081, 39082, 39083, 39087, 39091, 39093, 39095, 39097, 39100, 39115, 39119, 39124, 39125, 39131, 39135, 39139, 39164, 39166, 39170, 39182, 39183, 39185, 39187, 39191, 39194, 39203, 39213, 39223, 39224, 39227, 39234, 39236, 39239, 39242, 39243, 39245, 39246, 39249, 39258, 39260, 39263, 39267, 39270, 39276, 39279, 39284, 39287, 39292, 39294, 39296, 39297, 39299, 39301, 39302, 39307, 39308, 39313, 39314, 39316, 39318, 39319, 39320, 39327, 39335, 39347, 39356, 39358, 39359, 39381, 39382, 39383, 39385, 39386, 39387, 39389, 39400, 39408, 39412, 39415, 39416, 39419, 39421, 39425, 39427, 39428, 39430, 39433, 39444, 39447, 39453, 39454, 39457, 39458, 39459, 39461, 39464, 39468, 39477, 39487, 39488, 39493, 39494, 39498, 39502, 39506, 39513, 39517, 39521, 39522, 39523, 39525, 39533, 39537, 39538, 39539, 39542, 39546, 39547, 39553, 39555, 39565, 39566, 39568, 39571, 39573, 39574, 39575, 39576, 39577, 39581, 39591, 39597, 39599, 39603, 39610, 39621, 39623, 39626, 39627, 39629, 39633, 39634, 39636, 39638, 39640, 39646, 39650, 39654, 39657, 39660, 39661, 39662, 39667, 39672, 39673, 39675, 39676, 39679, 39682, 39688, 39690, 39694, 39695, 39698, 39699, 39700, 39701, 39702, 39705, 39708, 39712, 39713, 39714, 39718, 39720, 39724, 39729, 39731, 39734, 39737, 39747, 39748, 39750, 39751, 39759, 39762, 39764, 39766, 39767, 39774, 39776, 39777, 39778, 39780, 39781, 39789, 39795, 39796, 39797, 39798, 39799, 39811, 39814, 39817, 39821, 39825, 39826, 39827, 39828, 39830, 39836, 39839, 39841, 39848, 39849, 39857, 39859, 39860, 39869, 39873, 39875, 39879, 39882, 39883, 39885, 39890, 39897, 39898, 39901, 39904, 39906, 39909, 39914, 39915, 39922, 39923, 39927, 39929, 39935, 39943, 39944, 39945, 39950, 39951, 39958, 39959, 39961, 39975, 39978, 39981, 39982, 39984, 39985, 39986, 39989, 39991, 39998, 40007, 40008, 40011, 40014, 40018, 40020, 40021, 40022, 40026, 40027, 40029, 40036, 40038, 40039, 40045, 40052, 40053, 40062, 40064, 40067, 40069, 40071, 40076, 40077, 40084, 40085, 40087, 40088, 40089, 40090, 40092, 40094, 40099, 40100, 40101, 40104, 40107, 40109, 40113, 40115, 40118, 40119, 40127, 40135, 40146, 40149, 40150, 40158, 40165, 40174, 40176, 40181, 40183, 40194, 40195, 40196, 40197, 40200, 40213, 40218, 40219, 40220, 40223, 40225, 40230, 40232, 40233, 40236, 40237, 40241, 40242, 40243, 40245, 40248, 40254, 40260, 40265, 40272, 40273, 40274, 40275, 40276, 40278, 40282, 40288, 40290, 40292, 40301, 40302, 40307, 40309, 40310, 40312, 40315, 40317, 40320, 40321, 40322, 40323, 40330, 40332, 40339, 40341, 40343, 40348, 40355, 40360, 40362, 40370, 40372, 40375, 40380, 40384, 40387, 40388, 40389, 40390, 40396, 40398, 40399, 40400, 40404, 40405, 40406, 40408, 40413, 40414, 40423, 40424, 40425, 40427, 40430, 40431, 40432, 40433, 40438, 40443, 40444, 40445, 40446, 40449, 40455, 40456, 40457, 40462, 40467, 40469, 40473, 40474, 40476, 40496, 40497, 40498, 40502, 40503, 40512, 40517, 40519, 40525, 40532, 40535, 40540, 40542, 40546, 40547, 40550, 40551, 40554, 40559, 40560, 40570, 40571, 40578, 40580, 40581, 40584, 40586, 40588, 40601, 40603, 40607, 40612, 40615, 40620, 40621, 40625, 40626, 40628, 40630, 40633, 40635, 40640, 40645, 40646, 40652, 40657, 40658, 40660, 40661, 40665, 40677, 40684, 40692, 40694, 40701, 40707, 40714, 40720, 40725, 40733, 40734, 40738, 40743, 40747, 40750, 40756, 40761, 40762, 40763, 40767, 40778, 40783, 40784, 40786, 40787, 40788, 40798, 40805, 40810, 40813, 40816, 40824, 40828, 40834, 40837, 40838, 40843, 40846, 40851, 40856, 40857, 40861, 40862, 40864, 40867, 40869, 40874, 40876, 40885, 40886, 40887, 40891, 40894, 40895, 40899, 40900, 40902, 40904, 40908, 40909, 40912, 40913, 40922, 40925, 40930, 40934, 40935, 40936, 40939, 40940, 40954, 40960, 40962, 40964, 40965, 40968, 40972, 40974, 40977, 40978, 40992, 40993, 40996, 40997, 41007, 41014, 41016, 41018, 41019, 41020, 41021, 41022, 41026, 41028, 41029, 41033, 41039, 41041, 41047, 41048, 41056, 41067, 41070, 41072, 41075, 41085, 41091, 41093, 41094, 41097, 41098, 41101, 41106, 41112, 41120, 41126, 41136, 41142, 41147, 41149, 41152, 41154, 41156, 41157, 41163, 41164, 41170, 41179, 41180, 41191, 41195, 41202, 41216, 41217, 41218, 41219, 41225, 41229, 41231, 41233, 41238, 41239, 41242, 41252, 41255, 41257, 41258, 41261, 41267, 41268, 41269, 41270, 41271, 41274, 41276, 41285, 41288, 41290, 41298, 41309, 41312, 41313, 41314, 41322, 41326, 41328, 41333, 41339, 41341, 41344, 41349, 41351, 41358, 41360, 41361, 41384, 41388, 41393, 41396, 41413, 41414, 41416, 41418, 41423, 41426, 41427, 41436, 41437, 41441, 41447, 41450, 41453, 41456, 41457, 41460, 41483, 41485, 41486, 41488, 41489, 41491, 41495, 41497, 41502, 41506, 41508, 41511, 41515, 41524, 41527, 41531, 41533, 41534, 41537, 41549, 41551, 41552, 41555, 41558, 41566, 41573, 41574, 41576, 41577, 41580, 41589, 41596, 41607, 41609, 41612, 41618, 41619, 41622, 41625, 41626, 41631, 41634, 41635, 41641, 41650, 41652, 41654, 41655, 41656, 41666, 41669, 41671, 41676, 41677, 41678, 41684, 41688, 41692, 41694, 41697, 41699, 41701, 41704, 41705, 41709, 41710, 41713, 41714, 41716, 41717, 41720, 41721, 41722, 41725, 41726, 41736, 41742, 41745, 41747, 41749, 41750, 41751, 41752, 41753, 41761, 41763, 41766, 41776, 41782, 41784, 41785, 41792, 41793, 41794, 41797, 41802, 41805, 41811, 41813, 41815, 41821, 41824, 41827, 41831, 41834, 41836, 41838, 41845, 41846, 41847, 41849, 41851, 41852, 41858, 41859, 41860, 41863, 41865, 41869, 41870, 41875, 41879, 41880, 41881, 41882, 41883, 41887, 41891, 41899, 41900, 41908, 41909, 41910, 41915, 41923, 41924, 41929, 41931, 41933, 41934, 41936, 41937, 41948, 41949, 41950, 41953, 41955, 41957, 41962, 41964, 41966, 41976, 41982, 41983, 41984, 41985, 41986, 41988, 41996, 42003, 42004, 42019, 42020, 42025, 42027, 42028, 42032, 42034, 42036, 42040, 42041, 42042, 42043, 42045, 42047, 42049, 42056, 42061, 42064, 42066, 42072, 42078, 42082, 42083, 42095, 42099, 42102, 42103, 42109, 42112, 42118, 42120, 42122, 42123, 42126, 42134, 42136, 42147, 42149, 42151, 42152, 42153, 42156, 42163, 42164, 42165, 42167, 42171, 42172, 42173, 42175, 42176, 42185, 42191, 42193, 42198, 42199, 42205, 42206, 42207, 42225, 42228, 42231, 42235, 42237, 42239, 42242, 42245, 42247, 42250, 42257, 42258, 42260, 42262, 42263, 42283, 42292, 42294, 42296, 42300, 42301, 42302, 42303, 42312, 42317, 42319, 42326, 42327, 42333, 42334, 42336, 42340, 42342, 42343, 42345, 42350, 42354, 42355, 42365, 42367, 42370, 42376, 42378, 42380, 42384, 42393, 42395, 42398, 42399, 42408, 42416, 42425, 42429, 42439, 42450, 42460, 42462, 42463, 42469, 42471, 42472, 42475, 42477, 42489, 42495, 42497, 42499, 42500, 42503, 42507, 42511, 42517, 42518, 42525, 42532, 42535, 42539, 42544, 42546, 42547, 42549, 42550, 42555, 42559, 42569, 42573, 42577, 42582, 42583, 42586, 42589, 42601, 42603, 42609, 42612, 42613, 42616, 42618, 42620, 42624, 42626, 42627, 42628, 42630, 42631, 42635, 42639, 42645, 42650, 42654, 42659, 42660, 42663, 42665, 42667, 42670, 42675, 42677, 42679, 42681, 42686, 42690, 42696, 42697, 42698, 42701, 42703, 42706, 42708, 42710, 42711, 42715, 42716, 42719, 42720, 42726, 42739, 42749, 42754, 42761, 42762, 42765, 42767, 42768, 42769, 42770, 42771, 42773, 42775, 42796, 42801, 42804, 42805, 42807, 42809, 42813, 42814, 42815, 42816, 42819, 42820, 42822, 42826, 42834, 42843, 42844, 42846, 42849, 42852, 42854, 42857, 42869, 42871, 42875, 42877, 42886, 42893, 42897, 42898, 42899, 42901, 42904, 42907, 42911, 42912, 42914, 42916, 42917, 42920, 42926, 42929, 42930, 42936, 42943, 42945, 42951, 42952, 42958, 42959, 42970, 42971, 42975, 42977, 42980, 42985, 42988, 42995, 42997, 43001, 43002, 43004, 43008, 43012, 43020, 43021, 43022, 43027, 43032, 43041, 43043, 43045, 43046, 43049, 43055, 43056, 43057, 43058, 43059, 43060, 43072, 43075, 43080, 43082, 43091, 43094, 43096, 43097, 43101, 43105, 43107, 43110, 43128, 43133, 43134, 43136, 43137, 43139, 43143, 43146, 43151, 43153, 43157, 43168, 43173, 43174, 43175, 43180, 43181, 43186, 43188, 43197, 43200, 43216, 43219, 43226, 43227, 43228, 43234, 43240, 43243, 43247, 43251, 43257, 43258, 43259, 43262, 43265, 43266, 43269, 43274, 43275, 43277, 43280, 43289, 43294, 43295, 43301, 43303, 43311, 43321, 43324, 43325, 43326, 43327, 43328, 43329, 43333, 43335, 43338, 43341, 43345, 43346, 43347, 43357, 43361, 43363, 43367, 43368, 43372, 43374, 43375, 43378, 43383, 43384, 43389, 43391, 43393, 43395, 43397, 43399, 43408, 43410, 43415, 43416, 43422, 43426, 43428, 43429, 43433, 43441, 43442, 43444, 43446, 43454, 43456, 43458, 43464, 43468, 43470, 43472, 43482, 43486, 43495, 43496, 43497, 43499, 43502, 43504, 43513, 43514, 43515, 43517, 43519, 43523, 43525, 43528, 43531, 43537, 43538, 43541, 43542, 43545, 43546, 43548, 43549, 43551, 43552, 43555, 43562, 43566, 43568, 43575, 43576, 43579, 43580, 43581, 43584, 43585, 43586, 43587, 43590, 43592, 43593, 43599, 43602, 43603, 43606, 43608, 43609, 43614, 43615, 43617, 43620, 43621, 43622, 43629, 43630, 43632, 43636, 43637, 43645, 43647, 43648, 43651, 43652, 43661, 43673, 43678, 43684, 43685, 43688, 43689, 43690, 43694, 43696, 43698, 43702, 43710, 43715, 43720, 43732, 43733, 43745, 43746, 43747, 43749, 43750, 43756, 43759, 43763, 43764, 43765, 43768, 43770, 43774, 43786, 43787, 43791, 43793, 43801, 43802, 43806, 43808, 43812, 43825, 43829, 43834, 43840, 43841, 43842, 43844, 43849, 43856, 43860, 43861, 43863, 43868, 43875, 43879, 43881, 43890, 43900, 43906, 43908, 43913, 43919, 43922, 43925, 43930, 43934, 43935, 43939, 43948, 43950, 43955, 43956, 43961, 43965, 43967, 43974, 43975, 43980, 43982, 43988, 43996, 43998, 44000, 44001, 44003, 44004, 44007, 44009, 44011, 44019, 44021, 44031, 44038, 44039, 44040, 44042, 44051, 44053, 44056, 44057, 44064, 44065, 44066, 44068, 44069, 44079, 44086, 44088, 44094, 44102, 44106, 44108, 44111, 44114, 44116, 44122, 44124, 44126, 44127, 44130, 44133, 44136, 44141, 44142, 44143, 44146, 44147, 44148, 44150, 44153, 44157, 44158, 44159, 44160, 44167, 44174, 44181, 44185, 44188, 44192, 44193, 44195, 44200, 44203, 44206, 44207, 44208, 44212, 44216, 44220, 44221, 44224, 44227, 44228, 44244, 44247, 44248, 44249, 44251, 44257, 44258, 44262, 44272, 44276, 44285, 44288, 44291, 44295, 44297, 44298, 44301, 44308, 44310, 44311, 44314, 44316, 44318, 44324, 44325, 44326, 44327, 44329, 44330, 44337, 44341, 44346, 44352, 44367, 44368, 44376, 44382, 44383, 44384, 44389, 44390, 44391, 44395, 44396, 44398, 44399, 44413, 44416, 44422, 44426, 44431, 44432, 44443, 44451, 44462, 44464, 44466, 44471, 44473, 44477, 44485, 44486, 44487, 44488, 44490, 44493, 44496, 44497, 44498, 44499, 44500, 44502, 44503, 44506, 44508, 44509, 44513, 44516, 44522, 44523, 44526, 44527, 44531, 44534, 44535, 44546, 44551, 44552, 44554, 44560, 44570, 44578, 44586, 44587, 44590, 44595, 44599, 44601, 44606, 44613, 44614, 44618, 44628, 44630, 44632, 44635, 44638, 44639, 44645, 44647, 44650, 44654, 44656, 44660, 44668, 44671, 44672, 44674, 44676, 44679, 44681, 44688, 44692, 44694, 44695, 44699, 44705, 44706, 44710, 44712, 44713, 44718, 44719, 44722, 44723, 44725, 44727, 44731, 44732, 44743, 44744, 44750, 44752, 44756, 44758, 44761, 44762, 44767, 44770, 44773, 44774, 44776, 44780, 44784, 44788, 44794, 44796, 44801, 44804, 44805, 44807, 44810, 44811, 44816, 44824, 44830, 44835, 44836, 44840, 44841, 44844, 44847, 44858, 44859, 44861, 44862, 44869, 44872, 44873, 44875, 44877, 44880, 44881, 44882, 44887, 44888, 44894, 44897, 44898, 44903, 44905, 44906, 44916, 44921, 44922, 44923, 44924, 44925, 44931, 44932, 44936, 44937, 44939, 44944, 44946, 44949, 44954, 44956, 44959, 44964, 44967, 44971, 44975, 44977, 44980, 44987, 44988, 44989, 44994, 44998, 45005, 45008, 45012, 45015, 45022, 45023, 45027, 45031, 45032, 45035, 45037, 45040, 45042, 45044, 45049, 45051, 45058, 45060, 45061, 45062, 45065, 45068, 45071, 45072, 45074, 45077, 45082, 45083, 45084, 45086, 45089, 45091, 45095, 45096, 45098, 45104, 45105, 45109, 45112, 45114, 45119, 45121, 45122, 45126, 45127, 45128, 45131, 45140, 45143, 45154, 45156, 45161, 45164, 45165, 45166, 45170, 45175, 45176, 45177, 45179, 45183, 45185, 45188, 45190, 45191, 45194, 45195, 45197, 45201, 45202, 45208, 45209, 45210, 45215, 45218, 45224, 45226, 45231, 45232, 45234, 45236, 45249, 45252, 45253, 45255, 45264, 45268, 45269, 45273, 45293, 45299, 45307, 45310, 45312, 45314, 45321, 45322, 45324, 45327, 45331, 45334, 45343, 45344, 45349, 45354, 45360, 45373, 45375, 45382, 45384, 45387, 45391, 45392, 45395, 45396, 45399, 45402, 45409, 45411, 45413, 45417, 45422, 45429, 45431, 45442, 45445, 45446, 45450, 45452, 45453, 45460, 45465, 45469, 45470, 45475, 45477, 45479, 45483, 45487, 45489, 45493, 45496, 45499, 45505, 45507, 45513, 45515, 45523, 45530, 45535, 45546, 45548, 45549, 45554, 45555, 45563, 45567, 45571, 45575, 45578, 45585, 45592, 45593, 45602, 45604, 45605, 45615, 45619, 45623, 45629, 45630, 45632, 45633, 45634, 45640, 45642, 45645, 45648, 45649, 45659, 45660, 45661, 45662, 45663, 45671, 45681, 45682, 45684, 45687, 45688, 45694, 45695, 45699, 45702, 45707, 45709, 45710, 45714, 45715, 45719, 45721, 45725, 45728, 45729, 45732, 45734, 45736, 45738, 45742, 45751, 45753, 45755, 45759, 45764, 45767, 45784, 45796, 45797, 45801, 45803, 45805, 45819, 45820, 45830, 45831, 45837, 45839, 45840, 45843, 45844, 45847, 45849, 45855, 45857, 45863, 45872, 45873, 45874, 45876, 45880, 45881, 45882, 45885, 45887, 45888, 45890, 45904, 45909, 45910, 45912, 45917, 45921, 45923, 45926, 45929, 45930, 45931, 45932, 45933, 45940, 45942, 45943, 45945, 45946, 45953, 45956, 45957, 45959, 45962, 45966, 45967, 45971, 45973, 45975, 45976, 45978, 45980, 45985, 45991, 45992, 45995, 45997, 46006, 46009, 46011, 46012, 46025, 46028, 46029, 46033, 46034, 46035, 46037, 46038, 46041, 46043, 46049, 46065, 46066, 46068, 46073, 46075, 46079, 46083, 46084, 46086, 46092, 46093, 46094, 46098, 46100, 46101, 46102, 46104, 46105, 46107, 46111, 46113, 46117, 46125, 46127, 46132, 46135, 46142, 46147, 46148, 46149, 46156, 46157, 46163, 46165, 46167, 46175, 46183, 46184, 46185, 46198, 46200, 46202, 46204, 46209, 46210, 46214, 46226, 46228, 46229, 46231, 46235, 46236, 46243, 46244, 46248, 46252, 46253, 46256, 46258, 46260, 46261, 46267, 46272, 46279, 46281, 46291, 46298, 46299, 46300, 46307, 46312, 46313, 46317, 46318, 46327, 46329, 46331, 46340, 46350, 46355, 46362, 46364, 46365, 46367, 46373, 46376, 46377, 46378, 46381, 46386, 46392, 46395, 46397, 46404, 46414, 46415, 46416, 46422, 46426, 46428, 46429, 46430, 46434, 46435, 46436, 46437, 46443, 46448, 46453, 46455, 46458, 46466, 46472, 46481, 46482, 46486, 46495, 46496, 46497, 46506, 46508, 46512, 46513, 46516, 46521, 46524, 46527, 46528, 46529, 46532, 46541, 46548, 46552, 46554, 46560, 46562, 46564, 46566, 46568, 46574, 46577, 46579, 46581, 46586, 46587, 46588, 46590, 46592, 46597, 46605, 46606, 46607, 46615, 46620, 46621, 46624, 46625, 46629, 46632, 46633, 46634, 46639, 46641, 46643, 46645, 46652, 46655, 46657, 46662, 46664, 46672, 46676, 46681, 46682, 46689, 46692, 46694, 46696, 46708, 46713, 46714, 46715, 46719, 46721, 46723, 46728, 46729, 46730, 46733, 46735, 46738, 46739, 46741, 46744, 46748, 46751, 46752, 46755, 46757, 46762, 46763, 46767, 46771, 46773, 46774, 46781, 46782, 46787, 46788, 46789, 46790, 46802, 46813, 46814, 46818, 46821, 46822, 46823, 46827, 46830, 46831, 46834, 46836, 46843, 46844, 46845, 46846, 46851, 46855, 46864, 46874, 46875, 46878, 46879, 46883, 46885, 46890, 46893, 46899, 46900, 46904, 46912, 46914, 46916, 46921, 46925, 46927, 46936, 46938, 46944, 46946, 46947, 46949, 46957, 46958, 46961, 46964, 46965, 46970, 46972, 46983, 46990, 46991, 46995, 46996, 47006, 47015, 47017, 47024, 47031, 47033, 47038, 47044, 47049, 47056, 47058, 47060, 47066, 47070, 47078, 47079, 47081, 47088, 47090, 47099, 47102, 47105, 47111, 47118, 47121, 47122, 47123, 47124, 47127, 47130, 47138, 47142, 47143, 47144, 47148, 47149, 47151, 47153, 47155, 47156, 47164, 47165, 47174, 47175, 47177, 47186, 47196, 47197, 47201, 47202, 47203, 47204, 47208, 47209, 47218, 47220, 47221, 47223, 47225, 47228, 47234, 47237, 47238, 47241, 47243, 47246, 47248, 47254, 47256, 47259, 47264, 47267, 47273, 47276, 47282, 47291, 47292, 47294, 47296, 47301, 47302, 47308, 47309, 47310, 47313, 47315, 47320, 47325, 47327, 47333, 47336, 47345, 47348, 47352, 47355, 47357, 47358, 47362, 47366, 47369, 47377, 47385, 47389, 47391, 47394, 47397, 47400, 47402, 47404, 47407, 47411, 47414, 47416, 47430, 47435, 47437, 47446, 47449, 47451, 47456, 47468, 47473, 47477, 47483, 47486, 47487, 47493, 47494, 47496, 47498, 47499, 47508, 47510, 47514, 47517, 47519, 47525, 47527, 47531, 47532, 47533, 47534, 47544, 47548, 47550, 47559, 47567, 47577, 47582, 47588, 47589, 47590, 47598, 47602, 47608, 47610, 47612, 47615, 47616, 47624, 47628, 47632, 47634, 47636, 47638, 47640, 47641, 47645, 47646, 47651, 47658, 47668, 47671, 47673, 47678, 47681, 47682, 47684, 47687, 47691, 47694, 47695, 47697, 47700, 47703, 47711, 47715, 47716, 47718, 47719, 47723, 47726, 47734, 47742, 47748, 47753, 47761, 47766, 47769, 47770, 47773, 47779, 47793, 47799, 47806, 47809, 47811, 47814, 47816, 47825, 47826, 47829, 47839, 47841, 47845, 47850, 47851, 47852, 47866, 47869, 47872, 47873, 47875, 47878, 47879, 47886, 47887, 47889, 47897, 47899, 47900, 47902, 47905, 47908, 47913, 47918, 47919, 47927, 47937, 47942, 47950, 47951, 47955, 47956, 47960, 47962, 47964, 47965, 47966, 47971, 47981, 47984, 47990, 47992, 48004, 48007, 48011, 48014, 48024, 48026, 48043, 48048, 48053, 48057, 48060, 48061, 48066, 48067, 48068, 48075, 48076, 48077, 48084, 48086, 48092, 48096, 48100, 48105, 48108, 48109, 48110, 48120, 48121, 48125, 48127, 48128, 48130, 48133, 48135, 48145, 48146, 48150, 48153, 48154, 48157, 48158, 48161, 48162, 48166, 48169, 48172, 48176, 48177, 48180, 48181, 48192, 48197, 48201, 48207, 48211, 48212, 48222, 48223, 48227, 48228, 48229, 48237, 48238, 48239, 48240, 48242, 48243, 48252, 48263, 48267, 48271, 48277, 48279, 48283, 48285, 48287, 48296, 48298, 48300, 48303, 48304, 48305, 48307, 48311, 48312, 48313, 48314, 48315, 48316, 48319, 48322, 48323, 48328, 48329, 48339, 48340, 48343, 48345, 48346, 48348, 48350, 48355, 48357, 48361, 48362, 48368, 48373, 48380, 48381, 48385, 48399, 48401, 48408, 48421, 48425, 48427, 48428, 48431, 48432, 48438, 48440, 48445, 48446, 48449, 48450, 48451, 48452, 48455, 48457, 48458, 48463, 48465, 48471, 48474, 48481]
    sids_3b = [21, 59, 107, 109, 112, 117, 188, 209, 234, 245, 256, 279, 307, 353, 361, 384, 390, 391, 423, 425, 433, 452, 453, 495, 497, 518, 521, 523, 565, 587, 588, 631, 634, 689, 690, 731, 732, 740, 824, 843, 890, 924, 998, 1000, 1028, 1042, 1047, 1114, 1137, 1193, 1197, 1244, 1320, 1325, 1337, 1351, 1369, 1371, 1380, 1399, 1427, 1439, 1470, 1521, 1524, 1535, 1544, 1569, 1571, 1575, 1636, 1663, 1679, 1692, 1699, 1701, 1702, 1709, 1754, 1758, 1780, 1785, 1787, 1791, 1795, 1813, 1849, 1855, 1860, 1869, 1900, 1905, 1944, 1967, 1987, 1988, 1995, 2025, 2035, 2040, 2061, 2136, 2207, 2222, 2225, 2229, 2240, 2268, 2286, 2330, 2333, 2341, 2371, 2392, 2397, 2401, 2452, 2476, 2477, 2498, 2512, 2530, 2553, 2682, 2683, 2747, 2755, 2769, 2779, 2786, 2802, 2842, 2889, 2897, 2900, 2921, 2925, 2944, 2962, 2973, 2990, 3026, 3028, 3042, 3052, 3078, 3132, 3151, 3165, 3193, 3263, 3267, 3361, 3362, 3386, 3417, 3456, 3506, 3570, 3575, 3586, 3593, 3619, 3673, 3734, 3746, 3780, 3841, 3852, 3860, 3866, 3891, 3913, 3920, 3927, 3929, 3932, 3952, 4012, 4064, 4104, 4110, 4113, 4196, 4277, 4282, 4292, 4313, 4392, 4394, 4395, 4465, 4474, 4479, 4500, 4521, 4557, 4566, 4576, 4577, 4587, 4589, 4599, 4635, 4655, 4657, 4678, 4685, 4690, 4696, 4759, 4760, 4787, 4794, 4798, 4833, 4869, 4883, 4894, 4902, 4910, 4927, 4949, 4954, 4962, 5031, 5034, 5056, 5090, 5091, 5104, 5126, 5205, 5243, 5247, 5251, 5263, 5265, 5308, 5400, 5406, 5430, 5453, 5458, 5472, 5474, 5478, 5481, 5489, 5495, 5496, 5521, 5525, 5555, 5557, 5570, 5573, 5597, 5598, 5604, 5626, 5646, 5661, 5677, 5684, 5689, 5727, 5738, 5763, 5768, 5771, 5824, 5849, 5906, 5909, 5911, 5937, 6000, 6035, 6090, 6098, 6115, 6160, 6198, 6204, 6255, 6258, 6262, 6292, 6309, 6315, 6334, 6375, 6392, 6428, 6470, 6503, 6510, 6594, 6613, 6643, 6654, 6696, 6718, 6725, 6756, 6767, 6809, 6822, 6832, 6865, 6873, 6893, 6908, 6933, 6955, 6958, 6996, 7018, 7047, 7062, 7095, 7164, 7181, 7223, 7241, 7260, 7271, 7275, 7354, 7360, 7381, 7416, 7432, 7440, 7466, 7487, 7495, 7514, 7546, 7554, 7585, 7613, 7614, 7621, 7655, 7663, 7666, 7676, 7681, 7726, 7766, 7778, 7789, 7918, 7930, 7964, 7985, 8006, 8081, 8084, 8109, 8145, 8156, 8185, 8188, 8231, 8296, 8309, 8337, 8364, 8396, 8426, 8444, 8447, 8452, 8492, 8507, 8579, 8591, 8619, 8698, 8705, 8714, 8734, 8781, 8790, 8796, 8857, 8868, 8892, 8902, 8915, 8917, 8920, 8929, 8960, 8983, 8990, 9040, 9043, 9044, 9052, 9090, 9104, 9110, 9148, 9210, 9248, 9251, 9256, 9266, 9308, 9363, 9368, 9380, 9391, 9393, 9395, 9402, 9434, 9467, 9469, 9477, 9478, 9601, 9619, 9628, 9708, 9727, 9768, 9773, 9800, 9827, 9828, 9870, 9889, 9900, 9909, 9942, 9951, 9980, 10000, 10006, 10019, 10029, 10059, 10117, 10126, 10134, 10248, 10272, 10337, 10366, 10412, 10424, 10425, 10443, 10465, 10471, 10478, 10511, 10567, 10584, 10594, 10612, 10655, 10675, 10679, 10718, 10721, 10731, 10769, 10791, 10859, 10878, 10881, 10884, 10906, 10941, 10947, 10954, 10957, 10973, 10976, 11003, 11019, 11066, 11106, 11135, 11146, 11164, 11165, 11167, 11207, 11216, 11233, 11280, 11338, 11342, 11346, 11362, 11390, 11404, 11425, 11486, 11516, 11554, 11581, 11590, 11596, 11609, 11623, 11659, 11720, 11723, 11756, 11765, 11812, 11819, 11827, 11832, 11838, 11860, 11876, 11877, 11879, 11897, 11906, 11923, 11980, 11984, 12026, 12028, 12049, 12091, 12097, 12174, 12184, 12203, 12237, 12245, 12272, 12287, 12302, 12303, 12355, 12365, 12403, 12408, 12411, 12435, 12479, 12487, 12508, 12530, 12533, 12540, 12564, 12619, 12706, 12733, 12782, 12792, 12810, 12829, 12856, 12909, 12957, 12961, 12976, 13033, 13035, 13110, 13123, 13171, 13185, 13192, 13207, 13221, 13238, 13263, 13265, 13288, 13329, 13355, 13361, 13373, 13413, 13451, 13455, 13495, 13507, 13536, 13538, 13542, 13549, 13584, 13593, 13632, 13695, 13705, 13731, 13739, 13740, 13752, 13761, 13790, 13837, 13846, 13849, 13882, 13897, 13922, 14109, 14126, 14131, 14168, 14191, 14205, 14207, 14254, 14263, 14266, 14267, 14313, 14316, 14330, 14334, 14346, 14388, 14394, 14405, 14416, 14417, 14458, 14485, 14520, 14533, 14575, 14600, 14624, 14633, 14634, 14654, 14670, 14709, 14714, 14723, 14764, 14768, 14788, 14793, 14810, 14814, 14815, 14873, 14919, 14936, 14999, 15009, 15012, 15119, 15124, 15127, 15148, 15194, 15232, 15254, 15282, 15357, 15366, 15367, 15407, 15524, 15538, 15542, 15545, 15547, 15557, 15558, 15630, 15646, 15672, 15763, 15776, 15812, 15829, 15841, 15902, 15914, 15919, 15952, 15974, 15977, 16014, 16048, 16073, 16076, 16112, 16127, 16156, 16186, 16278, 16351, 16362, 16371, 16382, 16406, 16465, 16490, 16516, 16558, 16585, 16605, 16617, 16631, 16646, 16655, 16680, 16682, 16684, 16687, 16691, 16700, 16729, 16775, 16776, 16789, 16830, 16840, 16847, 16855, 16856, 16881, 16916, 16917, 16949, 16994, 17051, 17075, 17083, 17086, 17096, 17133, 17134, 17136, 17149, 17190, 17191, 17232, 17330, 17344, 17384, 17417, 17423, 17436, 17477, 17488, 17496, 17526, 17564, 17574, 17586, 17617, 17657, 17666, 17670, 17682, 17686, 17711, 17722, 17742, 17758, 17771, 17775, 17802, 17808, 17850, 17863, 17888, 17924, 17928, 17973, 17977, 18060, 18071, 18084, 18094, 18161, 18174, 18183, 18184, 18187, 18217, 18250, 18252, 18254, 18255, 18275, 18280, 18291, 18312, 18317, 18318, 18320, 18338, 18353, 18356, 18368, 18384, 18402, 18403, 18459, 18463, 18513, 18516, 18559, 18568, 18590, 18600, 18633, 18681, 18711, 18723, 18738, 18739, 18744, 18791, 18795, 18846, 18848, 18889, 18902, 18910, 18921, 18936, 18952, 18954, 18974, 18984, 18996, 19038, 19079, 19080, 19113, 19177, 19191, 19213, 19255, 19262, 19270, 19310, 19326, 19330, 19344, 19408, 19450, 19458, 19460, 19518, 19552, 19583, 19592, 19596, 19620, 19632, 19677, 19714, 19764, 19769, 19799, 19830, 19841, 19851, 19854, 19879, 19911, 19922, 19953, 19991, 20009, 20028, 20062, 20066, 20071, 20089, 20124, 20133, 20238, 20279, 20320, 20330, 20353, 20376, 20400, 20402, 20407, 20456, 20515, 20577, 20587, 20628, 20639, 20656, 20678, 20679, 20747, 20779, 20790, 20832, 20854, 20855, 20856, 20899, 20913, 20920, 20944, 20968, 21003, 21042, 21100, 21102, 21115, 21132, 21135, 21154, 21163, 21249, 21280, 21302, 21307, 21309, 21319, 21321, 21329, 21405, 21413, 21431, 21447, 21458, 21460, 21506, 21523, 21530, 21538, 21557, 21569, 21574, 21575, 21589, 21607, 21611, 21678, 21685, 21688, 21689, 21700, 21721, 21730, 21734, 21881, 21898, 21900, 21927, 21948, 21965, 21968, 21975, 21990, 21995, 22004, 22010, 22029, 22064, 22065, 22077, 22094, 22120, 22134, 22182, 22202, 22208, 22213, 22216, 22239, 22256, 22260, 22289, 22298, 22326, 22330, 22394, 22481, 22537, 22549, 22568, 22575, 22588, 22600, 22664, 22700, 22723, 22724, 22751, 22772, 22835, 22846, 22856, 22866, 22888, 22931, 22951, 23020, 23039, 23056, 23100, 23147, 23150, 23156, 23157, 23179, 23249, 23273, 23317, 23412, 23427, 23469, 23510, 23538, 23577, 23596, 23657, 23691, 23697, 23736, 23748, 23755, 23761, 23814, 23829, 23847, 23872, 23924, 24032, 24049, 24067, 24084, 24086, 24095, 24096, 24099, 24128, 24175, 24198, 24256, 24317, 24334, 24386, 24387, 24432, 24447, 24465, 24470, 24494, 24549, 24573, 24586, 24601, 24603, 24623, 24656, 24694, 24712, 24745, 24746, 24774, 24785, 24797, 24803, 24837, 24841, 24852, 24856, 24892, 24896, 24900, 24912, 24922, 24926, 24955, 24956, 24984, 24995, 25004, 25030, 25047, 25131, 25140, 25157, 25185, 25189, 25213, 25221, 25225, 25283, 25317, 25326, 25329, 25332, 25337, 25341, 25430, 25437, 25446, 25449, 25454, 25498, 25526, 25571, 25612, 25634, 25668, 25693, 25708, 25713, 25727, 25736, 25746, 25750, 25779, 25841, 25857, 25874, 25880, 25905, 25946, 25949, 25952, 26004, 26042, 26136, 26139, 26145, 26161, 26174, 26212, 26219, 26241, 26248, 26261, 26274, 26308, 26339, 26368, 26387, 26412, 26422, 26483, 26490, 26494, 26502, 26519, 26532, 26550, 26563, 26601, 26620, 26688, 26744, 26762, 26771, 26820, 26829, 26837, 26838, 26868, 26895, 26901, 26914, 26925, 26953, 26978, 27000, 27024, 27029, 27063, 27065, 27077, 27109, 27120, 27162, 27172, 27193, 27194, 27195, 27215, 27260, 27266, 27282, 27311, 27338, 27355, 27362, 27365, 27374, 27379, 27427, 27446, 27463, 27505, 27515, 27529, 27553, 27562, 27621, 27622, 27640, 27642, 27645, 27652, 27665, 27682, 27694, 27711, 27726, 27766, 27771, 27824, 27834, 27853, 27860, 27944, 27955, 27963, 27980, 28004, 28019, 28021, 28039, 28041, 28072, 28075, 28169, 28174, 28178, 28180, 28192, 28200, 28206, 28222, 28228, 28268, 28270, 28292, 28293, 28325, 28336, 28457, 28487, 28488, 28493, 28508, 28516, 28544, 28553, 28566, 28611, 28680, 28683, 28689, 28707, 28712, 28776, 28827, 28902, 28944, 28959, 28972, 29035, 29050, 29052, 29054, 29091, 29137, 29142, 29163, 29231, 29242, 29294, 29311, 29332, 29338, 29350, 29397, 29430, 29466, 29467, 29485, 29514, 29533, 29536, 29553, 29556, 29558, 29579, 29595, 29621, 29668, 29682, 29691, 29721, 29722, 29750, 29765, 29827, 29844, 29859, 29866, 29872, 29887, 29968, 29969, 30015, 30019, 30026, 30029, 30088, 30101, 30135, 30139, 30162, 30183, 30184, 30193, 30268, 30282, 30300, 30304, 30314, 30317, 30348, 30414, 30473, 30518, 30542, 30576, 30594, 30646, 30650, 30659, 30667, 30679, 30697, 30707, 30754, 30757, 30777, 30785, 30866, 30875, 30887, 30944, 30962, 30998, 31000, 31062, 31120, 31133, 31150, 31172, 31251, 31252, 31260, 31270, 31294, 31323, 31341, 31413, 31442, 31454, 31466, 31491, 31493, 31502, 31514, 31519, 31568, 31683, 31684, 31712, 31717, 31755, 31813, 31858, 31904, 31928, 31931, 31935, 31994, 32080, 32103, 32118, 32122, 32125, 32135, 32193, 32195, 32232, 32247, 32286, 32296, 32348, 32361, 32389, 32401, 32410, 32421, 32429, 32436, 32446, 32475, 32476, 32481, 32504, 32522, 32529, 32591, 32628, 32670, 32679, 32725, 32742, 32759, 32788, 32797, 32804, 33027, 33031, 33040, 33048, 33055, 33065, 33088, 33132, 33143, 33160, 33168, 33173, 33195, 33213, 33241, 33271, 33274, 33317, 33351, 33352, 33424, 33520, 33523, 33538, 33567, 33571, 33612, 33640, 33644, 33652, 33673, 33689, 33711, 33724, 33759, 33766, 33825, 33834, 33864, 33888, 33993, 33996, 34016, 34022, 34054, 34076, 34077, 34091, 34123, 34125, 34142, 34143, 34149, 34152, 34165, 34172, 34183, 34184, 34210, 34212, 34237, 34245, 34260, 34266, 34342, 34367, 34407, 34417, 34430, 34443, 34462, 34537, 34549, 34572, 34575, 34582, 34616, 34652, 34719, 34728, 34774, 34831, 34834, 34839, 34873, 34902, 34954, 34961, 34966, 34978, 34982, 34994, 35024, 35038, 35041, 35047, 35075, 35091, 35109, 35127, 35150, 35172, 35186, 35188, 35197, 35220, 35227, 35277, 35286, 35290, 35291, 35312, 35325, 35341, 35402, 35421, 35426, 35446, 35453, 35469, 35562, 35586, 35611, 35612, 35619, 35655, 35688, 35732, 35749, 35836, 35871, 35915, 35936, 35947, 35960, 35970, 35988, 36002, 36006, 36030, 36064, 36071, 36090, 36108, 36125, 36146, 36203, 36219, 36228, 36236, 36259, 36286, 36291, 36298, 36315, 36318, 36335, 36376, 36423, 36434, 36459, 36538, 36559, 36606, 36622, 36675, 36768, 36769, 36791, 36807, 36843, 36887, 36911, 36987, 36990, 37018, 37026, 37050, 37067, 37083, 37125, 37184, 37185, 37222, 37232, 37240, 37276, 37327, 37352, 37353, 37437, 37453, 37487, 37494, 37495, 37525, 37539, 37564, 37637, 37680, 37735, 37737, 37752, 37793, 37805, 37823, 37837, 37880, 37905, 37912, 37917, 37927, 37977, 38018, 38023, 38034, 38105, 38128, 38130, 38131, 38193, 38197, 38221, 38230, 38240, 38246, 38282, 38305, 38326, 38333, 38424, 38446, 38465, 38469, 38510, 38528, 38543, 38661, 38672, 38708, 38774, 38797, 38827, 38851, 38873, 38891, 39049, 39069, 39080, 39082, 39086, 39186, 39195, 39198, 39228, 39237, 39249, 39270, 39272, 39278, 39287, 39308, 39365, 39390, 39432, 39492, 39498, 39522, 39574, 39628, 39638, 39651, 39659, 39724, 39812, 39815, 39826, 39839, 39859, 39871, 39901, 39912, 39913, 39958, 39966, 39969, 39985, 40048, 40057, 40072, 40080, 40096, 40139, 40153, 40184, 40232, 40274, 40280, 40292, 40323, 40358, 40374, 40378, 40389, 40437, 40441, 40520, 40528, 40530, 40542, 40630, 40654, 40660, 40665, 40689, 40723, 40727, 40774, 40784, 40813, 40858, 40862, 40869, 40882, 40892, 40894, 40895, 40901, 40960, 41019, 41039, 41044, 41094, 41162, 41203, 41207, 41218, 41227, 41233, 41236, 41261, 41268, 41310, 41313, 41314, 41415, 41470, 41483, 41500, 41534, 41556, 41650, 41695, 41704, 41757, 41763, 41770, 41784, 41834, 41838, 41849, 41851, 41859, 41884, 41910, 41916, 41921, 41938, 41944, 41964, 41982, 41986, 41994, 42004, 42010, 42028, 42084, 42144, 42148, 42191, 42201, 42204, 42235, 42257, 42258, 42266, 42301, 42345, 42365, 42429, 42484, 42513, 42573, 42581, 42612, 42655, 42686, 42698, 42724, 42728, 42768, 42773, 42788, 42803, 42805, 42835, 42840, 42849, 42877, 42914, 42922, 42929, 42939, 42977, 42995, 43043, 43072, 43103, 43126, 43143, 43152, 43157, 43181, 43191, 43222, 43237, 43260, 43286, 43295, 43309, 43345, 43363, 43415, 43465, 43576, 43583, 43592, 43593, 43621, 43622, 43625, 43637, 43653, 43760, 43770, 43790, 43799, 43841, 43857, 43860, 43895, 43906, 43940, 43967, 44062, 44064, 44065, 44068, 44101, 44127, 44133, 44147, 44178, 44182, 44193, 44218, 44236, 44243, 44262, 44272, 44279, 44289, 44415, 44559, 44595, 44622, 44692, 44703, 44711, 44719, 44764, 44784, 44838, 44841, 44875, 44879, 44887, 44899, 44920, 44925, 44936, 44989, 45010, 45022, 45023, 45032, 45038, 45056, 45086, 45105, 45114, 45126, 45143, 45166, 45191, 45212, 45238, 45249, 45285, 45310, 45322, 45344, 45413, 45442, 45554, 45576, 45602, 45621, 45656, 45662, 45704, 45753, 45783, 45804, 45829, 45833, 45837, 45847, 45863, 45871, 45874, 45908, 45970, 45982, 46013, 46040, 46049, 46067, 46102, 46141, 46153, 46168, 46170, 46191, 46194, 46199, 46225, 46232, 46233, 46258, 46272, 46337, 46390, 46416, 46424, 46427, 46436, 46441, 46446, 46455, 46480, 46551, 46572, 46596, 46597, 46598, 46650, 46675, 46695, 46697, 46721, 46735, 46765, 46808, 46831, 46845, 46916, 46944, 46949, 46996, 47017, 47105, 47111, 47112, 47144, 47168, 47201, 47220, 47227, 47228, 47238, 47239, 47362, 47367, 47408, 47414, 47456, 47457, 47533, 47550, 47610, 47628, 47643, 47651, 47685, 47693, 47695, 47699, 47700, 47703, 47704, 47734, 47770, 47779, 47785, 47788, 47799, 47806, 47824, 47827, 47852, 47859, 47860, 47866, 47868, 47872, 47873, 47904, 47910, 47966, 47998, 48054, 48070, 48084, 48095, 48102, 48128, 48173, 48180, 48190, 48235, 48240, 48275, 48285, 48297, 48304, 48332, 48337, 48339, 48381, 48385, 48423, 48475, 48481]
    sids_3c = [3, 4, 6, 13, 18, 20, 21, 24, 25, 26, 28, 34, 37, 52, 55, 57, 59, 61, 78, 83, 91, 93, 100, 107, 109, 115, 117, 123, 125, 130, 137, 141, 146, 154, 156, 157, 160, 163, 166, 170, 173, 175, 177, 182, 183, 184, 186, 188, 191, 192, 199, 205, 209, 210, 226, 228, 231, 234, 235, 236, 239, 240, 243, 246, 247, 249, 261, 263, 268, 270, 271, 272, 279, 286, 289, 291, 294, 296, 305, 307, 309, 318, 321, 323, 328, 329, 339, 342, 344, 345, 346, 347, 350, 351, 352, 353, 354, 357, 359, 360, 361, 366, 367, 368, 369, 370, 376, 378, 382, 383, 384, 386, 389, 391, 394, 395, 397, 398, 402, 405, 407, 415, 419, 421, 425, 426, 427, 433, 441, 445, 450, 452, 453, 454, 464, 468, 472, 477, 480, 482, 485, 489, 494, 497, 500, 501, 502, 510, 511, 518, 521, 523, 527, 532, 533, 539, 545, 546, 554, 558, 559, 563, 564, 565, 569, 571, 572, 580, 584, 587, 588, 591, 594, 605, 609, 614, 622, 624, 629, 630, 634, 635, 642, 652, 653, 654, 663, 667, 668, 669, 671, 672, 682, 689, 690, 698, 702, 703, 707, 708, 711, 715, 716, 718, 720, 731, 732, 736, 740, 741, 743, 745, 746, 747, 749, 751, 757, 765, 766, 770, 771, 772, 773, 776, 780, 787, 788, 791, 794, 798, 801, 806, 807, 811, 813, 816, 820, 822, 824, 832, 834, 835, 837, 843, 846, 849, 852, 864, 865, 871, 874, 876, 878, 885, 890, 893, 894, 900, 901, 904, 906, 907, 910, 914, 919, 921, 923, 924, 925, 929, 930, 932, 933, 940, 947, 952, 953, 956, 960, 961, 963, 969, 975, 977, 979, 981, 984, 989, 992, 995, 998, 999, 1000, 1002, 1003, 1004, 1006, 1012, 1018, 1020, 1027, 1028, 1030, 1036, 1037, 1038, 1042, 1046, 1047, 1050, 1053, 1054, 1060, 1067, 1072, 1084, 1093, 1095, 1097, 1098, 1100, 1104, 1106, 1114, 1117, 1124, 1135, 1136, 1137, 1139, 1140, 1148, 1152, 1160, 1161, 1162, 1163, 1167, 1171, 1174, 1178, 1180, 1184, 1192, 1193, 1197, 1198, 1200, 1205, 1206, 1212, 1214, 1228, 1230, 1233, 1234, 1241, 1244, 1247, 1249, 1252, 1254, 1256, 1257, 1258, 1260, 1266, 1271, 1280, 1281, 1287, 1299, 1308, 1309, 1313, 1320, 1325, 1332, 1337, 1338, 1339, 1340, 1344, 1346, 1348, 1351, 1355, 1356, 1357, 1358, 1363, 1367, 1369, 1371, 1375, 1377, 1380, 1381, 1385, 1390, 1395, 1398, 1399, 1404, 1408, 1409, 1422, 1426, 1427, 1430, 1433, 1438, 1439, 1442, 1446, 1447, 1453, 1454, 1457, 1469, 1470, 1471, 1472, 1473, 1474, 1476, 1478, 1488, 1492, 1493, 1494, 1496, 1498, 1501, 1503, 1509, 1516, 1517, 1521, 1524, 1532, 1534, 1535, 1537, 1539, 1541, 1542, 1543, 1544, 1546, 1552, 1556, 1557, 1561, 1566, 1569, 1571, 1574, 1575, 1581, 1590, 1593, 1594, 1602, 1604, 1613, 1619, 1620, 1627, 1631, 1636, 1637, 1642, 1653, 1658, 1660, 1663, 1672, 1673, 1677, 1679, 1684, 1685, 1686, 1687, 1692, 1699, 1701, 1707, 1709, 1712, 1715, 1729, 1744, 1752, 1754, 1757, 1758, 1766, 1767, 1771, 1777, 1780, 1785, 1786, 1787, 1791, 1794, 1795, 1796, 1797, 1801, 1809, 1811, 1813, 1814, 1815, 1816, 1819, 1823, 1825, 1827, 1829, 1835, 1840, 1847, 1848, 1849, 1850, 1855, 1860, 1866, 1869, 1890, 1893, 1895, 1899, 1900, 1903, 1905, 1908, 1915, 1937, 1944, 1945, 1949, 1950, 1964, 1965, 1967, 1971, 1973, 1979, 1980, 1985, 1986, 1987, 1988, 1989, 1991, 1992, 1995, 1996, 1997, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2011, 2015, 2016, 2018, 2019, 2022, 2025, 2029, 2031, 2034, 2035, 2040, 2042, 2044, 2045, 2049, 2054, 2056, 2061, 2064, 2067, 2070, 2076, 2078, 2080, 2091, 2092, 2100, 2102, 2111, 2116, 2119, 2121, 2122, 2123, 2127, 2132, 2133, 2136, 2150, 2151, 2158, 2165, 2166, 2169, 2171, 2185, 2186, 2187, 2188, 2195, 2207, 2208, 2210, 2211, 2214, 2215, 2220, 2223, 2229, 2240, 2243, 2245, 2246, 2247, 2253, 2254, 2258, 2259, 2262, 2265, 2268, 2272, 2282, 2286, 2298, 2299, 2304, 2309, 2310, 2318, 2322, 2324, 2326, 2330, 2333, 2338, 2340, 2341, 2345, 2346, 2353, 2356, 2361, 2363, 2364, 2368, 2369, 2371, 2378, 2379, 2381, 2385, 2386, 2392, 2394, 2395, 2397, 2411, 2414, 2417, 2420, 2423, 2425, 2433, 2434, 2441, 2444, 2452, 2455, 2457, 2460, 2463, 2471, 2473, 2476, 2477, 2479, 2484, 2486, 2487, 2488, 2491, 2492, 2493, 2496, 2497, 2498, 2506, 2511, 2512, 2518, 2522, 2530, 2536, 2537, 2538, 2539, 2547, 2550, 2553, 2554, 2562, 2563, 2574, 2581, 2582, 2585, 2586, 2589, 2592, 2593, 2598, 2599, 2601, 2610, 2614, 2616, 2617, 2625, 2628, 2638, 2641, 2642, 2644, 2651, 2652, 2658, 2664, 2666, 2667, 2672, 2673, 2683, 2684, 2688, 2694, 2701, 2703, 2704, 2711, 2712, 2714, 2718, 2719, 2726, 2732, 2734, 2736, 2743, 2744, 2750, 2752, 2754, 2755, 2769, 2771, 2773, 2775, 2777, 2779, 2783, 2784, 2786, 2788, 2791, 2802, 2813, 2822, 2823, 2825, 2827, 2830, 2834, 2835, 2842, 2860, 2862, 2872, 2877, 2887, 2894, 2897, 2900, 2902, 2906, 2908, 2915, 2921, 2925, 2934, 2939, 2941, 2944, 2947, 2953, 2962, 2964, 2968, 2969, 2972, 2973, 2975, 2981, 2984, 2989, 2990, 3002, 3006, 3007, 3009, 3010, 3011, 3013, 3018, 3021, 3024, 3026, 3030, 3035, 3040, 3042, 3048, 3049, 3051, 3052, 3053, 3055, 3056, 3057, 3064, 3070, 3073, 3078, 3080, 3084, 3089, 3100, 3116, 3118, 3123, 3125, 3127, 3132, 3133, 3134, 3139, 3140, 3145, 3147, 3151, 3156, 3165, 3166, 3169, 3174, 3176, 3178, 3181, 3182, 3183, 3186, 3190, 3191, 3192, 3193, 3203, 3204, 3210, 3217, 3222, 3231, 3232, 3235, 3236, 3238, 3241, 3243, 3249, 3250, 3252, 3254, 3261, 3263, 3265, 3266, 3267, 3277, 3280, 3283, 3287, 3288, 3292, 3294, 3295, 3300, 3302, 3306, 3307, 3311, 3321, 3326, 3328, 3334, 3337, 3344, 3345, 3354, 3357, 3358, 3360, 3361, 3362, 3364, 3366, 3371, 3379, 3384, 3386, 3388, 3395, 3397, 3401, 3404, 3425, 3426, 3435, 3437, 3441, 3442, 3445, 3448, 3449, 3457, 3458, 3460, 3461, 3463, 3465, 3468, 3469, 3471, 3473, 3480, 3481, 3482, 3483, 3484, 3485, 3486, 3490, 3491, 3501, 3506, 3508, 3510, 3513, 3514, 3516, 3521, 3533, 3534, 3538, 3539, 3540, 3542, 3543, 3550, 3554, 3555, 3556, 3557, 3559, 3561, 3570, 3575, 3577, 3586, 3588, 3593, 3597, 3598, 3600, 3603, 3604, 3606, 3616, 3619, 3622, 3630, 3632, 3633, 3637, 3647, 3650, 3659, 3673, 3674, 3675, 3676, 3700, 3703, 3704, 3707, 3722, 3725, 3727, 3728, 3729, 3732, 3734, 3735, 3738, 3743, 3745, 3748, 3750, 3754, 3757, 3759, 3764, 3765, 3768, 3771, 3775, 3778, 3780, 3781, 3787, 3790, 3792, 3804, 3805, 3810, 3812, 3813, 3816, 3819, 3827, 3828, 3830, 3832, 3834, 3835, 3841, 3847, 3850, 3852, 3854, 3860, 3861, 3862, 3863, 3865, 3866, 3868, 3869, 3874, 3876, 3879, 3882, 3883, 3886, 3888, 3889, 3891, 3893, 3895, 3896, 3909, 3911, 3913, 3914, 3918, 3920, 3927, 3928, 3929, 3941, 3945, 3948, 3949, 3952, 3954, 3964, 3969, 3972, 3977, 3978, 3987, 3989, 3995, 3999, 4004, 4005, 4012, 4022, 4038, 4040, 4041, 4042, 4045, 4052, 4054, 4058, 4064, 4066, 4067, 4070, 4071, 4079, 4082, 4093, 4094, 4096, 4098, 4101, 4102, 4104, 4110, 4112, 4113, 4115, 4128, 4130, 4133, 4138, 4145, 4147, 4152, 4165, 4169, 4175, 4180, 4184, 4187, 4188, 4191, 4196, 4199, 4211, 4216, 4217, 4220, 4223, 4232, 4235, 4241, 4245, 4255, 4258, 4260, 4263, 4265, 4268, 4271, 4273, 4279, 4282, 4292, 4294, 4299, 4305, 4307, 4308, 4313, 4323, 4325, 4326, 4328, 4329, 4330, 4334, 4346, 4348, 4357, 4363, 4390, 4392, 4394, 4395, 4397, 4398, 4401, 4406, 4407, 4408, 4410, 4419, 4421, 4424, 4429, 4430, 4431, 4436, 4453, 4454, 4458, 4464, 4465, 4469, 4474, 4477, 4479, 4480, 4481, 4484, 4500, 4502, 4518, 4521, 4525, 4527, 4529, 4535, 4537, 4539, 4543, 4544, 4548, 4549, 4550, 4557, 4564, 4566, 4577, 4587, 4588, 4589, 4599, 4600, 4609, 4611, 4614, 4615, 4619, 4631, 4633, 4635, 4637, 4640, 4641, 4644, 4646, 4655, 4656, 4657, 4661, 4664, 4668, 4670, 4674, 4678, 4679, 4685, 4690, 4693, 4694, 4696, 4708, 4710, 4713, 4718, 4719, 4727, 4732, 4748, 4754, 4759, 4760, 4762, 4766, 4771, 4776, 4778, 4780, 4785, 4787, 4792, 4793, 4795, 4797, 4798, 4800, 4803, 4806, 4807, 4808, 4809, 4812, 4813, 4816, 4817, 4822, 4823, 4826, 4833, 4837, 4838, 4843, 4848, 4852, 4853, 4859, 4860, 4861, 4862, 4864, 4866, 4868, 4869, 4871, 4872, 4873, 4875, 4877, 4882, 4883, 4884, 4894, 4899, 4900, 4902, 4903, 4904, 4908, 4909, 4910, 4911, 4914, 4916, 4918, 4920, 4923, 4924, 4927, 4929, 4931, 4935, 4948, 4949, 4950, 4954, 4962, 4965, 4969, 4970, 4973, 4976, 4978, 4979, 4985, 5003, 5004, 5006, 5010, 5016, 5021, 5023, 5024, 5026, 5027, 5029, 5030, 5031, 5034, 5037, 5039, 5040, 5046, 5049, 5050, 5052, 5056, 5057, 5060, 5061, 5065, 5067, 5069, 5070, 5071, 5077, 5078, 5081, 5083, 5087, 5088, 5090, 5091, 5093, 5095, 5097, 5100, 5102, 5104, 5109, 5113, 5124, 5125, 5126, 5127, 5128, 5134, 5136, 5138, 5139, 5144, 5147, 5149, 5152, 5158, 5169, 5170, 5171, 5188, 5193, 5195, 5196, 5197, 5199, 5201, 5205, 5211, 5212, 5215, 5224, 5238, 5239, 5240, 5243, 5244, 5245, 5246, 5247, 5251, 5259, 5262, 5264, 5274, 5277, 5280, 5282, 5292, 5307, 5308, 5314, 5324, 5325, 5327, 5330, 5331, 5339, 5343, 5348, 5349, 5351, 5358, 5360, 5362, 5373, 5382, 5383, 5385, 5386, 5387, 5390, 5392, 5393, 5394, 5395, 5397, 5406, 5417, 5430, 5431, 5446, 5453, 5454, 5458, 5459, 5460, 5469, 5472, 5474, 5476, 5478, 5481, 5487, 5488, 5489, 5491, 5493, 5495, 5496, 5498, 5518, 5521, 5525, 5527, 5528, 5529, 5532, 5534, 5535, 5536, 5538, 5542, 5544, 5545, 5547, 5554, 5555, 5557, 5558, 5559, 5569, 5570, 5573, 5574, 5583, 5593, 5597, 5598, 5601, 5604, 5606, 5608, 5609, 5614, 5618, 5619, 5622, 5623, 5626, 5634, 5636, 5639, 5643, 5646, 5647, 5658, 5659, 5661, 5662, 5665, 5667, 5669, 5670, 5675, 5677, 5679, 5680, 5685, 5686, 5689, 5691, 5692, 5694, 5695, 5696, 5697, 5698, 5700, 5701, 5709, 5710, 5714, 5727, 5734, 5737, 5738, 5741, 5742, 5750, 5752, 5760, 5761, 5763, 5768, 5771, 5772, 5774, 5778, 5781, 5786, 5790, 5794, 5796, 5806, 5810, 5814, 5817, 5819, 5824, 5828, 5830, 5832, 5838, 5841, 5844, 5846, 5848, 5849, 5857, 5865, 5867, 5871, 5875, 5882, 5888, 5901, 5906, 5909, 5910, 5911, 5913, 5917, 5932, 5933, 5935, 5937, 5939, 5950, 5953, 5954, 5958, 5967, 5970, 5973, 5976, 5978, 5979, 5981, 5987, 5988, 6000, 6003, 6005, 6010, 6012, 6014, 6016, 6023, 6024, 6027, 6032, 6035, 6039, 6042, 6061, 6063, 6065, 6066, 6068, 6069, 6070, 6071, 6072, 6075, 6077, 6079, 6082, 6085, 6092, 6110, 6115, 6116, 6123, 6128, 6131, 6134, 6135, 6145, 6151, 6155, 6156, 6158, 6160, 6163, 6166, 6168, 6170, 6174, 6176, 6179, 6180, 6186, 6189, 6195, 6198, 6204, 6212, 6214, 6215, 6218, 6219, 6224, 6239, 6246, 6248, 6252, 6253, 6255, 6258, 6262, 6270, 6272, 6284, 6288, 6291, 6292, 6294, 6306, 6309, 6311, 6312, 6314, 6315, 6317, 6321, 6322, 6334, 6338, 6345, 6349, 6353, 6364, 6365, 6367, 6369, 6373, 6375, 6378, 6388, 6392, 6396, 6397, 6398, 6401, 6411, 6421, 6426, 6428, 6440, 6448, 6450, 6451, 6452, 6453, 6454, 6459, 6464, 6466, 6470, 6474, 6477, 6478, 6481, 6482, 6484, 6485, 6489, 6490, 6491, 6497, 6498, 6505, 6510, 6522, 6525, 6529, 6533, 6534, 6535, 6540, 6542, 6543, 6553, 6555, 6569, 6571, 6575, 6576, 6578, 6588, 6594, 6597, 6598, 6604, 6605, 6613, 6620, 6621, 6627, 6630, 6632, 6633, 6638, 6639, 6643, 6647, 6649, 6651, 6654, 6655, 6663, 6668, 6670, 6672, 6676, 6682, 6685, 6687, 6690, 6692, 6696, 6697, 6698, 6700, 6701, 6705, 6708, 6709, 6713, 6714, 6716, 6720, 6723, 6725, 6726, 6731, 6735, 6741, 6746, 6749, 6750, 6751, 6756, 6763, 6767, 6773, 6776, 6783, 6791, 6803, 6809, 6821, 6822, 6827, 6828, 6832, 6838, 6845, 6846, 6850, 6854, 6868, 6871, 6872, 6873, 6875, 6877, 6883, 6884, 6886, 6887, 6889, 6891, 6893, 6904, 6908, 6912, 6917, 6920, 6921, 6922, 6924, 6930, 6933, 6940, 6942, 6943, 6950, 6952, 6955, 6958, 6960, 6963, 6972, 6973, 6978, 6979, 6983, 6996, 6998, 7001, 7003, 7009, 7013, 7014, 7018, 7025, 7029, 7033, 7043, 7045, 7047, 7051, 7053, 7054, 7059, 7062, 7066, 7069, 7075, 7088, 7089, 7095, 7098, 7101, 7102, 7103, 7105, 7113, 7115, 7118, 7124, 7125, 7132, 7133, 7134, 7138, 7143, 7148, 7153, 7159, 7161, 7163, 7164, 7169, 7172, 7181, 7184, 7185, 7197, 7201, 7204, 7207, 7209, 7212, 7213, 7223, 7224, 7225, 7227, 7229, 7232, 7237, 7241, 7246, 7247, 7250, 7260, 7262, 7267, 7271, 7272, 7275, 7282, 7291, 7294, 7299, 7306, 7315, 7316, 7326, 7333, 7339, 7340, 7347, 7354, 7358, 7359, 7360, 7362, 7363, 7367, 7374, 7375, 7381, 7383, 7386, 7391, 7393, 7396, 7401, 7402, 7405, 7410, 7413, 7415, 7416, 7426, 7427, 7432, 7434, 7440, 7442, 7445, 7452, 7455, 7456, 7466, 7472, 7476, 7482, 7487, 7489, 7493, 7494, 7495, 7496, 7505, 7508, 7511, 7515, 7517, 7519, 7521, 7523, 7524, 7525, 7528, 7537, 7542, 7543, 7544, 7546, 7548, 7552, 7554, 7565, 7567, 7569, 7576, 7584, 7599, 7600, 7604, 7605, 7613, 7614, 7616, 7618, 7621, 7629, 7632, 7638, 7648, 7650, 7655, 7656, 7663, 7664, 7666, 7676, 7681, 7683, 7684, 7688, 7689, 7691, 7693, 7695, 7698, 7699, 7703, 7704, 7705, 7708, 7709, 7710, 7715, 7720, 7726, 7735, 7736, 7737, 7741, 7744, 7748, 7751, 7752, 7755, 7756, 7757, 7758, 7761, 7764, 7766, 7767, 7773, 7774, 7775, 7778, 7781, 7782, 7784, 7785, 7786, 7787, 7789, 7792, 7798, 7803, 7809, 7815, 7816, 7817, 7819, 7820, 7826, 7839, 7841, 7844, 7845, 7846, 7847, 7853, 7860, 7866, 7874, 7887, 7888, 7891, 7894, 7895, 7897, 7900, 7908, 7909, 7910, 7911, 7916, 7918, 7923, 7929, 7930, 7936, 7939, 7949, 7952, 7958, 7961, 7964, 7966, 7968, 7971, 7973, 7974, 7979, 7985, 7992, 7994, 7996, 8005, 8006, 8011, 8013, 8020, 8021, 8028, 8036, 8047, 8054, 8055, 8057, 8061, 8063, 8066, 8070, 8072, 8073, 8081, 8084, 8087, 8099, 8103, 8104, 8105, 8109, 8112, 8114, 8115, 8117, 8118, 8120, 8124, 8131, 8135, 8137, 8138, 8139, 8141, 8143, 8145, 8156, 8161, 8163, 8167, 8168, 8173, 8177, 8178, 8185, 8186, 8188, 8193, 8196, 8199, 8204, 8207, 8209, 8215, 8221, 8224, 8227, 8229, 8231, 8233, 8236, 8244, 8245, 8254, 8255, 8258, 8273, 8275, 8280, 8283, 8287, 8288, 8291, 8293, 8294, 8296, 8297, 8298, 8302, 8309, 8314, 8317, 8326, 8336, 8337, 8339, 8340, 8352, 8359, 8364, 8370, 8373, 8380, 8386, 8389, 8394, 8396, 8405, 8406, 8408, 8409, 8411, 8413, 8414, 8421, 8426, 8427, 8432, 8440, 8444, 8447, 8449, 8451, 8452, 8459, 8463, 8466, 8467, 8472, 8475, 8483, 8485, 8488, 8489, 8492, 8495, 8497, 8498, 8499, 8505, 8507, 8508, 8509, 8511, 8517, 8533, 8534, 8535, 8548, 8549, 8551, 8558, 8561, 8567, 8569, 8570, 8571, 8572, 8573, 8579, 8580, 8591, 8597, 8601, 8604, 8605, 8608, 8609, 8612, 8618, 8623, 8631, 8641, 8652, 8654, 8660, 8670, 8674, 8675, 8678, 8682, 8690, 8692, 8698, 8705, 8714, 8721, 8723, 8724, 8726, 8727, 8730, 8731, 8734, 8735, 8746, 8747, 8757, 8762, 8764, 8766, 8769, 8772, 8777, 8779, 8781, 8784, 8790, 8793, 8794, 8796, 8799, 8800, 8803, 8810, 8815, 8817, 8820, 8822, 8827, 8832, 8835, 8840, 8845, 8857, 8859, 8868, 8874, 8876, 8879, 8895, 8896, 8898, 8902, 8904, 8915, 8917, 8920, 8921, 8926, 8929, 8931, 8932, 8934, 8940, 8945, 8947, 8948, 8954, 8956, 8957, 8960, 8966, 8967, 8968, 8972, 8978, 8981, 8983, 8984, 8989, 8990, 9001, 9002, 9007, 9008, 9013, 9022, 9027, 9030, 9036, 9038, 9040, 9043, 9044, 9052, 9053, 9057, 9058, 9061, 9062, 9064, 9076, 9078, 9082, 9084, 9087, 9090, 9094, 9104, 9105, 9107, 9110, 9112, 9124, 9127, 9128, 9130, 9133, 9137, 9141, 9143, 9144, 9146, 9148, 9158, 9163, 9165, 9169, 9170, 9172, 9177, 9182, 9185, 9189, 9190, 9191, 9200, 9210, 9213, 9216, 9217, 9224, 9225, 9228, 9231, 9233, 9236, 9239, 9241, 9243, 9246, 9248, 9250, 9251, 9256, 9257, 9258, 9259, 9261, 9263, 9266, 9268, 9271, 9272, 9278, 9284, 9294, 9299, 9303, 9310, 9311, 9313, 9317, 9319, 9321, 9324, 9332, 9333, 9338, 9339, 9341, 9348, 9351, 9354, 9356, 9359, 9363, 9364, 9377, 9378, 9379, 9380, 9382, 9384, 9385, 9391, 9395, 9398, 9402, 9403, 9406, 9408, 9412, 9413, 9415, 9423, 9427, 9428, 9430, 9434, 9441, 9443, 9446, 9452, 9454, 9455, 9457, 9461, 9463, 9464, 9465, 9468, 9475, 9477, 9478, 9480, 9481, 9482, 9484, 9487, 9494, 9498, 9517, 9521, 9522, 9523, 9531, 9533, 9537, 9539, 9544, 9545, 9564, 9566, 9571, 9579, 9584, 9602, 9605, 9607, 9611, 9615, 9619, 9622, 9626, 9628, 9635, 9642, 9643, 9644, 9647, 9653, 9661, 9662, 9664, 9668, 9672, 9686, 9688, 9692, 9693, 9696, 9698, 9702, 9708, 9710, 9712, 9713, 9714, 9715, 9719, 9725, 9726, 9727, 9730, 9736, 9741, 9742, 9765, 9766, 9768, 9783, 9784, 9786, 9794, 9798, 9799, 9800, 9804, 9805, 9811, 9815, 9818, 9819, 9820, 9822, 9825, 9827, 9828, 9829, 9833, 9834, 9849, 9852, 9856, 9862, 9866, 9871, 9873, 9877, 9879, 9881, 9882, 9886, 9889, 9892, 9898, 9900, 9901, 9902, 9903, 9906, 9909, 9912, 9914, 9920, 9921, 9923, 9930, 9932, 9933, 9936, 9937, 9942, 9945, 9950, 9951, 9957, 9962, 9965, 9966, 9968, 9970, 9973, 9977, 9978, 9981, 9982, 9989, 9997, 9999, 10000, 10004, 10006, 10012, 10017, 10027, 10028, 10029, 10033, 10037, 10038, 10039, 10041, 10043, 10044, 10047, 10056, 10060, 10061, 10063, 10070, 10076, 10080, 10083, 10088, 10091, 10093, 10094, 10103, 10104, 10106, 10110, 10111, 10114, 10116, 10117, 10124, 10130, 10132, 10133, 10134, 10138, 10140, 10144, 10160, 10163, 10165, 10167, 10168, 10174, 10180, 10184, 10187, 10188, 10198, 10200, 10205, 10206, 10214, 10220, 10234, 10238, 10246, 10247, 10248, 10250, 10255, 10257, 10264, 10272, 10277, 10278, 10283, 10286, 10301, 10302, 10303, 10306, 10314, 10317, 10319, 10320, 10322, 10326, 10328, 10330, 10331, 10332, 10335, 10337, 10339, 10342, 10348, 10350, 10352, 10356, 10357, 10360, 10363, 10364, 10366, 10375, 10379, 10385, 10386, 10388, 10390, 10398, 10401, 10402, 10403, 10408, 10412, 10413, 10414, 10417, 10419, 10420, 10422, 10423, 10424, 10425, 10434, 10439, 10440, 10443, 10444, 10446, 10451, 10455, 10459, 10462, 10463, 10464, 10465, 10468, 10469, 10475, 10478, 10483, 10485, 10487, 10489, 10498, 10500, 10501, 10502, 10505, 10506, 10511, 10513, 10514, 10515, 10518, 10531, 10532, 10535, 10541, 10542, 10545, 10552, 10559, 10563, 10564, 10565, 10567, 10568, 10569, 10573, 10584, 10588, 10589, 10594, 10600, 10604, 10606, 10611, 10612, 10616, 10628, 10629, 10631, 10633, 10634, 10635, 10637, 10638, 10646, 10653, 10654, 10655, 10659, 10664, 10674, 10675, 10676, 10678, 10679, 10686, 10687, 10701, 10702, 10712, 10715, 10718, 10721, 10725, 10726, 10727, 10729, 10731, 10742, 10748, 10751, 10757, 10769, 10774, 10776, 10791, 10799, 10806, 10807, 10811, 10818, 10820, 10822, 10830, 10832, 10833, 10835, 10842, 10847, 10850, 10852, 10853, 10855, 10856, 10857, 10859, 10864, 10872, 10878, 10879, 10881, 10884, 10886, 10891, 10899, 10906, 10916, 10917, 10932, 10941, 10945, 10947, 10948, 10950, 10954, 10956, 10957, 10963, 10967, 10971, 10973, 10975, 10976, 10979, 10992, 10997, 11003, 11007, 11018, 11019, 11026, 11028, 11037, 11040, 11043, 11047, 11049, 11050, 11059, 11061, 11063, 11064, 11065, 11066, 11067, 11068, 11071, 11072, 11078, 11080, 11085, 11086, 11089, 11090, 11091, 11095, 11097, 11099, 11100, 11106, 11109, 11114, 11122, 11123, 11135, 11137, 11138, 11139, 11141, 11144, 11147, 11154, 11161, 11162, 11164, 11165, 11171, 11172, 11176, 11177, 11178, 11183, 11184, 11195, 11197, 11199, 11200, 11201, 11205, 11206, 11207, 11212, 11215, 11216, 11218, 11228, 11229, 11233, 11234, 11236, 11238, 11242, 11244, 11247, 11265, 11273, 11279, 11280, 11281, 11286, 11292, 11295, 11305, 11311, 11312, 11313, 11317, 11318, 11320, 11321, 11322, 11323, 11331, 11332, 11335, 11336, 11338, 11340, 11341, 11342, 11346, 11347, 11348, 11353, 11359, 11362, 11363, 11370, 11372, 11375, 11378, 11385, 11390, 11395, 11404, 11421, 11425, 11426, 11441, 11442, 11446, 11460, 11466, 11470, 11471, 11472, 11473, 11477, 11479, 11486, 11489, 11493, 11514, 11516, 11521, 11526, 11533, 11536, 11538, 11543, 11549, 11552, 11554, 11555, 11559, 11563, 11564, 11565, 11566, 11567, 11568, 11569, 11570, 11577, 11578, 11580, 11581, 11583, 11585, 11586, 11587, 11590, 11591, 11592, 11595, 11596, 11597, 11601, 11605, 11606, 11608, 11609, 11613, 11615, 11617, 11618, 11619, 11622, 11626, 11627, 11631, 11636, 11637, 11643, 11644, 11646, 11656, 11657, 11658, 11659, 11663, 11664, 11667, 11669, 11672, 11687, 11694, 11701, 11702, 11712, 11716, 11719, 11720, 11722, 11723, 11724, 11727, 11728, 11741, 11745, 11748, 11752, 11753, 11755, 11756, 11757, 11758, 11764, 11765, 11771, 11779, 11787, 11788, 11791, 11795, 11796, 11798, 11800, 11803, 11805, 11812, 11813, 11816, 11817, 11819, 11825, 11826, 11827, 11832, 11837, 11838, 11842, 11844, 11850, 11851, 11852, 11853, 11857, 11859, 11860, 11861, 11865, 11870, 11876, 11877, 11879, 11885, 11890, 11891, 11892, 11897, 11906, 11908, 11912, 11916, 11917, 11918, 11920, 11923, 11926, 11932, 11934, 11938, 11941, 11950, 11951, 11952, 11953, 11957, 11958, 11961, 11962, 11964, 11976, 11980, 11982, 11984, 11985, 11988, 11997, 11998, 11999, 12000, 12012, 12017, 12020, 12026, 12033, 12038, 12039, 12041, 12042, 12045, 12047, 12049, 12055, 12056, 12061, 12064, 12070, 12071, 12073, 12077, 12079, 12087, 12088, 12089, 12095, 12097, 12098, 12099, 12108, 12109, 12112, 12113, 12122, 12123, 12130, 12135, 12136, 12145, 12147, 12149, 12152, 12154, 12157, 12164, 12167, 12169, 12170, 12174, 12175, 12178, 12181, 12183, 12184, 12185, 12191, 12203, 12206, 12209, 12210, 12220, 12223, 12226, 12227, 12228, 12233, 12234, 12237, 12241, 12242, 12245, 12248, 12249, 12250, 12251, 12253, 12254, 12259, 12260, 12263, 12267, 12272, 12281, 12287, 12288, 12289, 12292, 12293, 12299, 12300, 12302, 12303, 12306, 12313, 12314, 12322, 12325, 12327, 12329, 12330, 12331, 12337, 12343, 12344, 12345, 12347, 12355, 12356, 12357, 12362, 12365, 12367, 12372, 12375, 12376, 12379, 12383, 12384, 12387, 12391, 12392, 12395, 12396, 12401, 12402, 12403, 12408, 12410, 12411, 12412, 12413, 12414, 12419, 12424, 12426, 12429, 12434, 12435, 12439, 12440, 12445, 12450, 12453, 12470, 12471, 12479, 12480, 12481, 12482, 12487, 12489, 12492, 12499, 12501, 12502, 12508, 12511, 12519, 12522, 12524, 12525, 12526, 12528, 12530, 12533, 12536, 12537, 12539, 12541, 12544, 12547, 12553, 12556, 12564, 12567, 12573, 12577, 12581, 12588, 12589, 12597, 12603, 12611, 12613, 12619, 12620, 12623, 12627, 12632, 12634, 12640, 12650, 12651, 12659, 12661, 12666, 12673, 12676, 12679, 12686, 12688, 12692, 12693, 12695, 12706, 12708, 12709, 12712, 12718, 12726, 12727, 12733, 12738, 12741, 12746, 12752, 12759, 12764, 12765, 12770, 12772, 12774, 12775, 12777, 12782, 12784, 12791, 12792, 12795, 12798, 12799, 12803, 12806, 12810, 12813, 12814, 12818, 12820, 12829, 12832, 12833, 12835, 12837, 12839, 12847, 12849, 12856, 12857, 12858, 12860, 12861, 12865, 12869, 12873, 12874, 12878, 12879, 12894, 12896, 12902, 12909, 12912, 12915, 12916, 12920, 12927, 12928, 12936, 12940, 12947, 12949, 12952, 12954, 12957, 12961, 12968, 12970, 12976, 12982, 12984, 12991, 12998, 13002, 13004, 13010, 13011, 13015, 13021, 13026, 13027, 13031, 13033, 13035, 13038, 13041, 13054, 13072, 13073, 13076, 13078, 13084, 13086, 13103, 13107, 13108, 13110, 13117, 13123, 13124, 13127, 13138, 13144, 13145, 13151, 13153, 13162, 13165, 13168, 13171, 13174, 13176, 13179, 13181, 13183, 13185, 13192, 13203, 13205, 13207, 13210, 13213, 13214, 13216, 13219, 13220, 13236, 13238, 13242, 13251, 13254, 13256, 13259, 13260, 13263, 13265, 13266, 13273, 13274, 13276, 13286, 13288, 13294, 13299, 13302, 13305, 13306, 13316, 13318, 13320, 13329, 13330, 13335, 13340, 13345, 13347, 13351, 13353, 13360, 13361, 13366, 13373, 13374, 13376, 13386, 13391, 13394, 13396, 13401, 13406, 13413, 13417, 13418, 13420, 13422, 13431, 13437, 13440, 13451, 13452, 13455, 13463, 13465, 13469, 13475, 13477, 13486, 13487, 13489, 13494, 13496, 13498, 13502, 13506, 13507, 13508, 13515, 13516, 13517, 13523, 13526, 13528, 13532, 13536, 13537, 13538, 13540, 13541, 13542, 13544, 13549, 13554, 13555, 13557, 13559, 13563, 13564, 13569, 13570, 13575, 13577, 13578, 13579, 13581, 13583, 13584, 13585, 13586, 13587, 13593, 13599, 13601, 13602, 13603, 13606, 13611, 13616, 13625, 13627, 13631, 13633, 13635, 13636, 13637, 13638, 13644, 13646, 13648, 13649, 13651, 13653, 13654, 13660, 13661, 13664, 13666, 13669, 13681, 13686, 13689, 13694, 13695, 13705, 13710, 13711, 13714, 13716, 13719, 13725, 13730, 13731, 13736, 13737, 13739, 13740, 13743, 13744, 13751, 13752, 13754, 13755, 13761, 13764, 13778, 13781, 13783, 13789, 13790, 13793, 13794, 13796, 13800, 13802, 13805, 13806, 13807, 13815, 13816, 13828, 13837, 13838, 13839, 13840, 13842, 13843, 13845, 13847, 13849, 13850, 13852, 13854, 13855, 13861, 13867, 13868, 13869, 13873, 13877, 13882, 13884, 13885, 13891, 13895, 13897, 13902, 13906, 13913, 13917, 13919, 13920, 13922, 13930, 13931, 13934, 13936, 13942, 13943, 13944, 13947, 13948, 13951, 13964, 13968, 13969, 13973, 13979, 13985, 13988, 13990, 13993, 14005, 14010, 14012, 14016, 14019, 14024, 14025, 14026, 14031, 14038, 14039, 14042, 14044, 14049, 14054, 14055, 14059, 14060, 14061, 14065, 14076, 14081, 14087, 14094, 14096, 14098, 14101, 14102, 14104, 14106, 14109, 14110, 14112, 14119, 14123, 14126, 14130, 14131, 14134, 14135, 14139, 14140, 14143, 14149, 14150, 14152, 14154, 14157, 14161, 14168, 14169, 14172, 14173, 14177, 14178, 14179, 14180, 14186, 14191, 14193, 14195, 14197, 14205, 14212, 14215, 14225, 14226, 14233, 14245, 14253, 14256, 14259, 14266, 14267, 14269, 14272, 14285, 14286, 14299, 14310, 14311, 14312, 14313, 14314, 14315, 14316, 14323, 14328, 14330, 14332, 14334, 14342, 14346, 14347, 14348, 14354, 14363, 14370, 14376, 14379, 14380, 14386, 14390, 14391, 14393, 14394, 14397, 14398, 14402, 14405, 14412, 14416, 14417, 14423, 14425, 14427, 14432, 14444, 14452, 14457, 14458, 14465, 14467, 14472, 14473, 14474, 14476, 14477, 14478, 14480, 14481, 14485, 14486, 14495, 14496, 14497, 14505, 14506, 14510, 14513, 14515, 14519, 14520, 14521, 14522, 14524, 14531, 14533, 14539, 14542, 14545, 14553, 14555, 14567, 14571, 14572, 14573, 14575, 14578, 14579, 14583, 14584, 14592, 14600, 14602, 14604, 14606, 14607, 14611, 14613, 14617, 14621, 14622, 14624, 14633, 14640, 14643, 14651, 14654, 14664, 14667, 14668, 14669, 14670, 14674, 14676, 14679, 14683, 14688, 14689, 14691, 14692, 14695, 14699, 14701, 14703, 14705, 14709, 14711, 14713, 14714, 14719, 14722, 14723, 14725, 14727, 14728, 14730, 14736, 14738, 14741, 14747, 14748, 14749, 14755, 14762, 14764, 14765, 14768, 14769, 14774, 14776, 14779, 14780, 14784, 14785, 14787, 14788, 14793, 14798, 14802, 14808, 14810, 14815, 14818, 14821, 14822, 14824, 14826, 14827, 14836, 14837, 14840, 14841, 14853, 14855, 14862, 14863, 14866, 14869, 14873, 14874, 14879, 14883, 14886, 14892, 14898, 14903, 14904, 14905, 14909, 14911, 14919, 14924, 14928, 14932, 14935, 14936, 14939, 14942, 14944, 14945, 14946, 14947, 14950, 14953, 14956, 14957, 14958, 14964, 14965, 14967, 14975, 14985, 14987, 14988, 14990, 14998, 15003, 15004, 15008, 15009, 15011, 15012, 15013, 15017, 15019, 15023, 15024, 15025, 15028, 15030, 15036, 15038, 15044, 15046, 15050, 15052, 15055, 15057, 15061, 15062, 15071, 15084, 15087, 15091, 15098, 15100, 15106, 15107, 15119, 15122, 15124, 15127, 15130, 15134, 15135, 15138, 15141, 15143, 15144, 15147, 15148, 15153, 15157, 15160, 15166, 15170, 15174, 15179, 15182, 15183, 15185, 15187, 15191, 15194, 15205, 15220, 15226, 15227, 15232, 15234, 15236, 15243, 15246, 15253, 15254, 15255, 15256, 15258, 15264, 15265, 15276, 15279, 15280, 15284, 15292, 15294, 15298, 15301, 15303, 15304, 15309, 15311, 15315, 15316, 15320, 15322, 15324, 15325, 15328, 15333, 15337, 15343, 15357, 15358, 15359, 15365, 15366, 15367, 15374, 15375, 15377, 15380, 15382, 15392, 15394, 15395, 15398, 15407, 15409, 15411, 15412, 15413, 15415, 15416, 15418, 15426, 15430, 15433, 15435, 15439, 15440, 15441, 15450, 15454, 15455, 15458, 15461, 15464, 15466, 15472, 15473, 15474, 15476, 15479, 15480, 15484, 15485, 15487, 15489, 15503, 15504, 15505, 15509, 15526, 15530, 15531, 15537, 15542, 15545, 15546, 15547, 15548, 15551, 15557, 15558, 15562, 15563, 15566, 15570, 15573, 15578, 15583, 15595, 15596, 15599, 15608, 15609, 15612, 15621, 15623, 15630, 15631, 15632, 15636, 15637, 15640, 15641, 15644, 15645, 15646, 15654, 15655, 15658, 15666, 15669, 15672, 15675, 15676, 15684, 15688, 15690, 15700, 15703, 15704, 15713, 15716, 15720, 15724, 15727, 15729, 15730, 15734, 15737, 15739, 15744, 15748, 15751, 15754, 15763, 15769, 15770, 15773, 15776, 15779, 15780, 15784, 15786, 15794, 15801, 15811, 15812, 15819, 15824, 15829, 15832, 15841, 15842, 15843, 15847, 15850, 15852, 15853, 15854, 15872, 15875, 15876, 15881, 15883, 15886, 15888, 15893, 15898, 15900, 15902, 15903, 15904, 15914, 15916, 15918, 15919, 15925, 15929, 15930, 15935, 15944, 15946, 15948, 15952, 15961, 15963, 15964, 15969, 15970, 15974, 15975, 15977, 15983, 15984, 15991, 15993, 15997, 16000, 16009, 16011, 16013, 16014, 16016, 16022, 16023, 16025, 16044, 16053, 16055, 16058, 16060, 16061, 16066, 16074, 16076, 16077, 16078, 16080, 16081, 16082, 16084, 16085, 16088, 16091, 16099, 16111, 16112, 16115, 16119, 16122, 16127, 16128, 16139, 16145, 16147, 16148, 16153, 16156, 16159, 16162, 16164, 16165, 16166, 16171, 16172, 16174, 16177, 16178, 16186, 16192, 16194, 16195, 16199, 16200, 16203, 16216, 16223, 16224, 16232, 16238, 16249, 16258, 16260, 16271, 16275, 16277, 16278, 16279, 16295, 16296, 16298, 16301, 16302, 16305, 16308, 16311, 16312, 16314, 16319, 16324, 16330, 16334, 16336, 16337, 16338, 16342, 16343, 16344, 16351, 16352, 16359, 16362, 16366, 16367, 16371, 16373, 16375, 16382, 16389, 16391, 16396, 16404, 16406, 16409, 16412, 16415, 16419, 16421, 16436, 16438, 16439, 16445, 16451, 16454, 16459, 16465, 16468, 16475, 16478, 16483, 16486, 16487, 16488, 16490, 16492, 16498, 16504, 16505, 16516, 16518, 16523, 16531, 16540, 16543, 16549, 16550, 16552, 16553, 16555, 16558, 16560, 16567, 16571, 16572, 16575, 16577, 16581, 16585, 16590, 16592, 16595, 16605, 16607, 16608, 16611, 16616, 16617, 16621, 16625, 16629, 16630, 16631, 16632, 16636, 16639, 16641, 16642, 16644, 16646, 16650, 16651, 16655, 16657, 16658, 16667, 16671, 16674, 16675, 16677, 16678, 16679, 16680, 16682, 16683, 16684, 16685, 16687, 16689, 16690, 16691, 16695, 16696, 16700, 16708, 16709, 16712, 16722, 16724, 16727, 16728, 16729, 16732, 16738, 16744, 16745, 16747, 16748, 16751, 16753, 16754, 16755, 16757, 16761, 16765, 16775, 16779, 16784, 16786, 16787, 16789, 16791, 16792, 16797, 16802, 16804, 16811, 16815, 16822, 16829, 16830, 16836, 16838, 16843, 16847, 16848, 16850, 16853, 16855, 16856, 16858, 16860, 16865, 16866, 16867, 16873, 16881, 16884, 16886, 16899, 16901, 16905, 16907, 16910, 16913, 16914, 16916, 16917, 16920, 16921, 16924, 16928, 16932, 16934, 16935, 16943, 16947, 16949, 16961, 16963, 16975, 16976, 16985, 16989, 16990, 16993, 16994, 16996, 16997, 16999, 17001, 17002, 17003, 17026, 17027, 17028, 17029, 17030, 17041, 17047, 17052, 17054, 17055, 17058, 17059, 17061, 17065, 17067, 17068, 17069, 17072, 17075, 17083, 17085, 17086, 17096, 17097, 17103, 17107, 17110, 17131, 17132, 17133, 17135, 17136, 17137, 17145, 17146, 17149, 17150, 17165, 17169, 17170, 17176, 17180, 17182, 17190, 17191, 17193, 17194, 17205, 17214, 17218, 17224, 17229, 17232, 17234, 17236, 17239, 17243, 17253, 17255, 17260, 17262, 17263, 17267, 17268, 17274, 17276, 17283, 17284, 17292, 17308, 17310, 17312, 17313, 17317, 17318, 17320, 17322, 17324, 17328, 17330, 17334, 17344, 17351, 17355, 17366, 17367, 17369, 17370, 17374, 17384, 17386, 17389, 17393, 17398, 17399, 17400, 17406, 17411, 17412, 17417, 17423, 17429, 17430, 17432, 17436, 17438, 17439, 17440, 17444, 17447, 17449, 17452, 17455, 17462, 17467, 17478, 17488, 17496, 17497, 17505, 17513, 17516, 17521, 17526, 17528, 17532, 17537, 17539, 17541, 17546, 17547, 17548, 17556, 17557, 17564, 17565, 17570, 17574, 17578, 17580, 17581, 17582, 17589, 17595, 17596, 17609, 17613, 17614, 17621, 17622, 17631, 17634, 17635, 17638, 17647, 17657, 17661, 17664, 17665, 17666, 17667, 17673, 17675, 17677, 17680, 17686, 17690, 17693, 17698, 17699, 17711, 17713, 17717, 17718, 17720, 17721, 17722, 17727, 17728, 17735, 17738, 17739, 17742, 17743, 17748, 17754, 17757, 17758, 17764, 17765, 17767, 17771, 17773, 17774, 17778, 17780, 17781, 17789, 17797, 17801, 17802, 17807, 17808, 17810, 17811, 17814, 17815, 17820, 17822, 17832, 17835, 17836, 17837, 17838, 17839, 17846, 17850, 17858, 17863, 17868, 17878, 17882, 17888, 17891, 17896, 17899, 17903, 17904, 17905, 17906, 17922, 17928, 17936, 17938, 17944, 17946, 17949, 17954, 17955, 17956, 17957, 17961, 17964, 17966, 17969, 17977, 17979, 17983, 17987, 17993, 17995, 17996, 17997, 18000, 18007, 18008, 18012, 18013, 18019, 18022, 18026, 18027, 18028, 18033, 18036, 18037, 18038, 18041, 18042, 18047, 18055, 18060, 18067, 18068, 18071, 18076, 18080, 18082, 18084, 18087, 18088, 18094, 18099, 18100, 18103, 18104, 18105, 18111, 18115, 18119, 18121, 18123, 18124, 18126, 18128, 18134, 18135, 18137, 18144, 18155, 18160, 18161, 18167, 18168, 18172, 18174, 18179, 18180, 18183, 18184, 18185, 18187, 18190, 18194, 18200, 18208, 18213, 18214, 18216, 18217, 18219, 18223, 18225, 18232, 18233, 18237, 18240, 18248, 18250, 18251, 18252, 18254, 18255, 18258, 18265, 18266, 18267, 18268, 18273, 18274, 18275, 18280, 18281, 18282, 18287, 18288, 18290, 18291, 18293, 18294, 18299, 18304, 18308, 18309, 18312, 18316, 18317, 18318, 18320, 18336, 18342, 18353, 18356, 18357, 18358, 18366, 18367, 18368, 18369, 18370, 18373, 18377, 18379, 18384, 18393, 18398, 18402, 18403, 18411, 18413, 18415, 18418, 18421, 18426, 18430, 18431, 18434, 18435, 18447, 18455, 18457, 18458, 18459, 18460, 18463, 18468, 18469, 18473, 18477, 18484, 18489, 18504, 18509, 18511, 18513, 18516, 18518, 18524, 18529, 18531, 18535, 18542, 18544, 18546, 18552, 18554, 18556, 18557, 18559, 18564, 18568, 18570, 18572, 18573, 18574, 18582, 18584, 18586, 18591, 18595, 18596, 18597, 18598, 18599, 18600, 18601, 18602, 18608, 18610, 18614, 18617, 18618, 18619, 18621, 18622, 18628, 18633, 18637, 18638, 18643, 18654, 18655, 18657, 18659, 18665, 18668, 18671, 18672, 18673, 18674, 18676, 18677, 18678, 18679, 18681, 18684, 18689, 18695, 18699, 18704, 18711, 18721, 18723, 18725, 18729, 18738, 18739, 18740, 18741, 18742, 18744, 18748, 18752, 18756, 18757, 18758, 18759, 18760, 18764, 18765, 18772, 18773, 18774, 18780, 18781, 18783, 18784, 18786, 18788, 18791, 18792, 18795, 18803, 18804, 18805, 18807, 18811, 18815, 18818, 18825, 18831, 18835, 18837, 18839, 18841, 18842, 18845, 18846, 18848, 18851, 18853, 18865, 18868, 18872, 18877, 18881, 18888, 18889, 18891, 18892, 18894, 18900, 18901, 18902, 18908, 18910, 18920, 18921, 18930, 18931, 18936, 18945, 18949, 18952, 18954, 18966, 18967, 18971, 18974, 18975, 18976, 18982, 18983, 18984, 18987, 18992, 18996, 18999, 19002, 19011, 19016, 19024, 19029, 19035, 19036, 19038, 19039, 19046, 19048, 19050, 19051, 19052, 19053, 19055, 19059, 19060, 19064, 19065, 19069, 19074, 19075, 19078, 19079, 19080, 19081, 19082, 19087, 19095, 19098, 19099, 19101, 19104, 19105, 19107, 19110, 19113, 19117, 19119, 19128, 19133, 19134, 19144, 19151, 19153, 19155, 19157, 19160, 19161, 19167, 19172, 19177, 19181, 19186, 19188, 19190, 19207, 19211, 19213, 19218, 19220, 19221, 19227, 19234, 19239, 19241, 19246, 19248, 19252, 19255, 19265, 19267, 19270, 19275, 19277, 19279, 19282, 19286, 19289, 19294, 19296, 19300, 19301, 19302, 19303, 19305, 19309, 19314, 19316, 19319, 19323, 19325, 19326, 19330, 19333, 19336, 19338, 19341, 19342, 19344, 19345, 19347, 19351, 19352, 19353, 19354, 19356, 19358, 19359, 19361, 19363, 19369, 19371, 19375, 19377, 19382, 19385, 19396, 19401, 19403, 19408, 19411, 19412, 19418, 19423, 19424, 19426, 19428, 19434, 19440, 19441, 19450, 19451, 19453, 19458, 19460, 19469, 19470, 19475, 19492, 19493, 19494, 19499, 19500, 19502, 19504, 19506, 19507, 19512, 19516, 19518, 19526, 19527, 19530, 19533, 19536, 19538, 19544, 19546, 19547, 19549, 19552, 19553, 19556, 19563, 19568, 19569, 19570, 19571, 19582, 19583, 19585, 19588, 19590, 19592, 19593, 19596, 19610, 19620, 19621, 19632, 19635, 19641, 19648, 19649, 19654, 19667, 19668, 19674, 19677, 19683, 19684, 19689, 19692, 19693, 19697, 19698, 19700, 19714, 19726, 19729, 19733, 19734, 19736, 19744, 19749, 19754, 19761, 19764, 19769, 19772, 19781, 19790, 19794, 19797, 19798, 19811, 19812, 19815, 19823, 19828, 19830, 19833, 19834, 19837, 19839, 19841, 19845, 19851, 19854, 19857, 19862, 19866, 19879, 19891, 19892, 19897, 19899, 19901, 19908, 19911, 19913, 19914, 19916, 19929, 19933, 19936, 19937, 19940, 19948, 19952, 19953, 19977, 19983, 19986, 19987, 19990, 19993, 19998, 19999, 20004, 20009, 20010, 20013, 20023, 20028, 20035, 20036, 20042, 20049, 20060, 20062, 20066, 20071, 20072, 20079, 20084, 20086, 20088, 20091, 20095, 20098, 20101, 20111, 20115, 20116, 20117, 20121, 20124, 20127, 20130, 20131, 20132, 20133, 20134, 20140, 20147, 20152, 20154, 20162, 20163, 20166, 20169, 20178, 20181, 20195, 20197, 20198, 20201, 20204, 20207, 20210, 20212, 20213, 20214, 20226, 20237, 20238, 20243, 20246, 20253, 20255, 20257, 20259, 20260, 20263, 20279, 20282, 20283, 20303, 20304, 20308, 20312, 20316, 20318, 20325, 20327, 20328, 20330, 20336, 20338, 20339, 20341, 20351, 20352, 20353, 20354, 20355, 20356, 20361, 20363, 20367, 20368, 20373, 20374, 20376, 20378, 20381, 20383, 20384, 20389, 20400, 20402, 20407, 20409, 20410, 20411, 20414, 20421, 20424, 20425, 20435, 20437, 20441, 20443, 20447, 20449, 20452, 20457, 20462, 20463, 20471, 20479, 20481, 20489, 20495, 20499, 20506, 20509, 20514, 20515, 20518, 20528, 20542, 20543, 20548, 20551, 20558, 20560, 20567, 20577, 20578, 20584, 20587, 20592, 20598, 20600, 20616, 20620, 20624, 20628, 20629, 20630, 20631, 20634, 20639, 20643, 20644, 20646, 20651, 20654, 20656, 20658, 20665, 20678, 20679, 20690, 20698, 20699, 20703, 20704, 20706, 20707, 20708, 20710, 20711, 20714, 20725, 20728, 20733, 20739, 20740, 20745, 20746, 20747, 20754, 20756, 20759, 20763, 20769, 20770, 20776, 20777, 20778, 20779, 20782, 20783, 20790, 20792, 20793, 20794, 20795, 20796, 20804, 20805, 20806, 20812, 20813, 20824, 20825, 20829, 20832, 20835, 20836, 20838, 20855, 20856, 20860, 20862, 20865, 20867, 20874, 20877, 20881, 20886, 20891, 20894, 20899, 20900, 20901, 20904, 20905, 20906, 20907, 20910, 20913, 20920, 20922, 20923, 20926, 20929, 20931, 20942, 20944, 20947, 20960, 20966, 20968, 20969, 20970, 20972, 20979, 20980, 20984, 20986, 20988, 20990, 20994, 21003, 21004, 21005, 21009, 21010, 21014, 21015, 21017, 21019, 21028, 21029, 21033, 21035, 21043, 21049, 21050, 21053, 21056, 21066, 21068, 21079, 21082, 21084, 21088, 21090, 21093, 21098, 21102, 21105, 21108, 21109, 21115, 21127, 21129, 21130, 21132, 21135, 21138, 21139, 21140, 21144, 21146, 21152, 21156, 21160, 21163, 21168, 21173, 21175, 21178, 21180, 21193, 21202, 21210, 21213, 21215, 21216, 21217, 21220, 21223, 21228, 21231, 21234, 21241, 21242, 21244, 21246, 21247, 21249, 21252, 21255, 21256, 21258, 21267, 21269, 21271, 21272, 21274, 21275, 21277, 21279, 21280, 21284, 21293, 21298, 21302, 21303, 21304, 21305, 21306, 21307, 21309, 21312, 21318, 21319, 21321, 21324, 21326, 21329, 21339, 21347, 21349, 21350, 21354, 21355, 21357, 21358, 21359, 21362, 21371, 21374, 21375, 21380, 21381, 21382, 21388, 21389, 21395, 21399, 21405, 21412, 21413, 21422, 21425, 21426, 21431, 21435, 21438, 21445, 21447, 21451, 21452, 21454, 21456, 21458, 21460, 21466, 21471, 21476, 21480, 21483, 21484, 21485, 21497, 21504, 21506, 21507, 21508, 21510, 21513, 21514, 21529, 21530, 21534, 21537, 21538, 21546, 21547, 21548, 21552, 21553, 21554, 21558, 21561, 21568, 21569, 21574, 21575, 21580, 21581, 21583, 21597, 21598, 21603, 21607, 21613, 21617, 21618, 21627, 21628, 21629, 21630, 21632, 21633, 21635, 21642, 21645, 21659, 21660, 21663, 21668, 21675, 21678, 21686, 21688, 21689, 21690, 21693, 21694, 21700, 21706, 21709, 21710, 21712, 21730, 21731, 21734, 21737, 21740, 21742, 21749, 21750, 21752, 21754, 21760, 21761, 21765, 21766, 21769, 21771, 21772, 21773, 21775, 21781, 21784, 21786, 21788, 21798, 21808, 21817, 21819, 21820, 21827, 21830, 21835, 21836, 21858, 21859, 21860, 21880, 21885, 21888, 21890, 21891, 21892, 21893, 21900, 21901, 21903, 21904, 21912, 21921, 21922, 21927, 21937, 21940, 21946, 21948, 21954, 21955, 21957, 21963, 21965, 21966, 21967, 21968, 21972, 21975, 21987, 21988, 21990, 21995, 21999, 22004, 22008, 22010, 22013, 22019, 22020, 22024, 22025, 22026, 22028, 22029, 22035, 22039, 22043, 22052, 22057, 22059, 22060, 22062, 22064, 22065, 22066, 22067, 22070, 22071, 22077, 22078, 22079, 22085, 22086, 22091, 22092, 22094, 22095, 22096, 22098, 22104, 22110, 22112, 22118, 22119, 22120, 22122, 22123, 22126, 22131, 22152, 22159, 22162, 22163, 22165, 22180, 22182, 22187, 22191, 22201, 22202, 22208, 22213, 22214, 22216, 22229, 22231, 22234, 22239, 22242, 22243, 22245, 22246, 22247, 22249, 22253, 22256, 22260, 22266, 22269, 22276, 22277, 22280, 22285, 22289, 22297, 22298, 22301, 22308, 22326, 22329, 22330, 22332, 22333, 22335, 22337, 22338, 22339, 22341, 22350, 22353, 22360, 22361, 22364, 22365, 22370, 22379, 22380, 22384, 22386, 22387, 22392, 22393, 22394, 22403, 22406, 22412, 22413, 22418, 22420, 22421, 22425, 22432, 22442, 22449, 22453, 22475, 22481, 22485, 22487, 22489, 22492, 22493, 22495, 22496, 22498, 22500, 22501, 22503, 22505, 22506, 22510, 22517, 22520, 22522, 22525, 22527, 22530, 22534, 22538, 22543, 22544, 22549, 22553, 22557, 22559, 22563, 22565, 22575, 22577, 22578, 22581, 22583, 22585, 22587, 22588, 22596, 22600, 22603, 22604, 22609, 22610, 22615, 22616, 22622, 22627, 22632, 22636, 22637, 22638, 22639, 22646, 22651, 22652, 22656, 22663, 22664, 22669, 22673, 22677, 22680, 22683, 22686, 22690, 22695, 22696, 22697, 22700, 22706, 22711, 22712, 22718, 22723, 22728, 22729, 22735, 22739, 22745, 22751, 22754, 22763, 22771, 22772, 22774, 22778, 22788, 22791, 22794, 22795, 22800, 22801, 22804, 22808, 22809, 22811, 22815, 22818, 22823, 22825, 22835, 22840, 22841, 22844, 22846, 22851, 22852, 22853, 22855, 22862, 22863, 22866, 22874, 22878, 22885, 22890, 22908, 22915, 22918, 22924, 22930, 22931, 22933, 22938, 22941, 22944, 22945, 22949, 22951, 22954, 22961, 22962, 22963, 22968, 22969, 22970, 22972, 22976, 22977, 22979, 22983, 22984, 22990, 22993, 22998, 23000, 23003, 23010, 23015, 23017, 23019, 23020, 23021, 23023, 23028, 23029, 23038, 23039, 23041, 23045, 23046, 23047, 23049, 23050, 23055, 23056, 23057, 23060, 23082, 23084, 23087, 23090, 23092, 23097, 23100, 23102, 23103, 23105, 23115, 23116, 23120, 23121, 23123, 23127, 23130, 23132, 23137, 23147, 23150, 23153, 23154, 23156, 23157, 23161, 23164, 23167, 23171, 23179, 23180, 23182, 23193, 23194, 23197, 23201, 23202, 23209, 23211, 23219, 23226, 23232, 23233, 23236, 23239, 23244, 23249, 23258, 23261, 23264, 23270, 23282, 23292, 23294, 23298, 23304, 23309, 23313, 23315, 23316, 23317, 23318, 23320, 23321, 23324, 23325, 23327, 23339, 23341, 23348, 23359, 23363, 23364, 23368, 23371, 23380, 23386, 23387, 23389, 23391, 23394, 23400, 23412, 23413, 23419, 23420, 23422, 23427, 23434, 23436, 23440, 23450, 23452, 23463, 23469, 23474, 23475, 23476, 23478, 23481, 23483, 23486, 23487, 23494, 23499, 23502, 23503, 23507, 23510, 23513, 23519, 23521, 23524, 23526, 23530, 23532, 23533, 23534, 23535, 23536, 23539, 23546, 23547, 23548, 23549, 23550, 23554, 23559, 23568, 23577, 23579, 23582, 23583, 23584, 23588, 23596, 23615, 23616, 23618, 23619, 23620, 23636, 23642, 23651, 23657, 23659, 23673, 23674, 23675, 23678, 23680, 23684, 23687, 23693, 23697, 23698, 23701, 23706, 23707, 23710, 23711, 23716, 23720, 23726, 23731, 23734, 23735, 23738, 23739, 23743, 23744, 23748, 23751, 23754, 23755, 23761, 23766, 23767, 23768, 23771, 23779, 23780, 23782, 23783, 23785, 23788, 23798, 23799, 23801, 23802, 23803, 23808, 23814, 23819, 23821, 23825, 23826, 23829, 23830, 23840, 23844, 23847, 23848, 23849, 23858, 23872, 23873, 23875, 23876, 23877, 23878, 23883, 23884, 23888, 23893, 23895, 23897, 23907, 23916, 23917, 23920, 23922, 23924, 23927, 23929, 23933, 23934, 23936, 23944, 23946, 23948, 23949, 23952, 23969, 23971, 23974, 23976, 23978, 23979, 23983, 23985, 23986, 23990, 23999, 24004, 24018, 24019, 24021, 24032, 24042, 24048, 24049, 24053, 24056, 24057, 24063, 24065, 24067, 24069, 24070, 24072, 24073, 24074, 24077, 24079, 24080, 24084, 24086, 24088, 24091, 24096, 24098, 24099, 24100, 24101, 24102, 24109, 24117, 24121, 24123, 24124, 24128, 24129, 24133, 24143, 24149, 24163, 24164, 24168, 24170, 24172, 24173, 24174, 24182, 24190, 24197, 24198, 24210, 24211, 24216, 24218, 24223, 24236, 24237, 24239, 24241, 24243, 24244, 24253, 24255, 24256, 24257, 24262, 24268, 24269, 24271, 24276, 24279, 24282, 24283, 24286, 24287, 24288, 24307, 24317, 24323, 24324, 24330, 24334, 24335, 24336, 24338, 24339, 24343, 24344, 24357, 24360, 24361, 24372, 24373, 24374, 24376, 24378, 24386, 24387, 24394, 24396, 24400, 24401, 24402, 24409, 24411, 24412, 24417, 24428, 24431, 24432, 24444, 24447, 24448, 24450, 24451, 24454, 24457, 24459, 24462, 24465, 24468, 24469, 24470, 24471, 24477, 24478, 24480, 24483, 24489, 24499, 24506, 24510, 24515, 24519, 24524, 24535, 24536, 24539, 24548, 24552, 24559, 24562, 24567, 24568, 24569, 24571, 24572, 24573, 24577, 24581, 24582, 24586, 24587, 24590, 24592, 24594, 24595, 24597, 24601, 24603, 24607, 24609, 24612, 24615, 24616, 24619, 24622, 24623, 24625, 24629, 24631, 24643, 24652, 24656, 24659, 24662, 24663, 24664, 24672, 24674, 24675, 24676, 24678, 24683, 24691, 24692, 24693, 24694, 24695, 24697, 24711, 24712, 24718, 24721, 24727, 24734, 24737, 24740, 24743, 24745, 24746, 24747, 24751, 24756, 24762, 24772, 24773, 24785, 24797, 24798, 24801, 24802, 24803, 24804, 24808, 24815, 24820, 24825, 24828, 24837, 24840, 24841, 24843, 24846, 24847, 24851, 24852, 24854, 24858, 24860, 24865, 24869, 24870, 24871, 24876, 24884, 24892, 24900, 24901, 24905, 24909, 24912, 24915, 24922, 24923, 24924, 24926, 24927, 24930, 24937, 24938, 24942, 24948, 24950, 24951, 24953, 24955, 24957, 24958, 24963, 24966, 24967, 24968, 24978, 24979, 24984, 24990, 24994, 24995, 25003, 25004, 25008, 25009, 25012, 25016, 25019, 25021, 25026, 25027, 25029, 25030, 25034, 25038, 25039, 25040, 25043, 25044, 25045, 25049, 25055, 25056, 25060, 25063, 25064, 25065, 25069, 25073, 25076, 25080, 25083, 25084, 25090, 25099, 25104, 25108, 25110, 25111, 25113, 25115, 25116, 25117, 25118, 25120, 25131, 25137, 25140, 25141, 25143, 25144, 25145, 25147, 25148, 25152, 25155, 25157, 25160, 25164, 25172, 25173, 25177, 25178, 25180, 25184, 25188, 25189, 25196, 25197, 25203, 25206, 25212, 25213, 25214, 25216, 25217, 25220, 25221, 25222, 25223, 25225, 25226, 25228, 25232, 25234, 25235, 25244, 25251, 25255, 25256, 25258, 25261, 25264, 25283, 25289, 25299, 25300, 25302, 25306, 25307, 25311, 25313, 25317, 25318, 25320, 25321, 25326, 25328, 25329, 25332, 25334, 25337, 25338, 25341, 25345, 25348, 25349, 25350, 25351, 25354, 25356, 25361, 25365, 25383, 25384, 25395, 25404, 25411, 25415, 25416, 25417, 25418, 25421, 25428, 25429, 25430, 25437, 25445, 25446, 25449, 25452, 25454, 25473, 25481, 25490, 25491, 25492, 25498, 25504, 25506, 25509, 25510, 25511, 25515, 25517, 25518, 25519, 25520, 25521, 25523, 25524, 25526, 25534, 25536, 25537, 25538, 25539, 25547, 25550, 25551, 25553, 25554, 25555, 25557, 25559, 25571, 25574, 25581, 25585, 25586, 25590, 25591, 25603, 25610, 25612, 25616, 25634, 25639, 25658, 25659, 25661, 25668, 25670, 25679, 25691, 25693, 25694, 25696, 25697, 25708, 25710, 25711, 25713, 25721, 25723, 25724, 25727, 25729, 25734, 25736, 25737, 25739, 25746, 25750, 25757, 25759, 25760, 25763, 25766, 25769, 25774, 25775, 25779, 25782, 25785, 25786, 25794, 25796, 25800, 25802, 25806, 25809, 25814, 25815, 25817, 25818, 25820, 25822, 25825, 25829, 25835, 25840, 25841, 25847, 25853, 25856, 25857, 25861, 25866, 25867, 25874, 25876, 25884, 25885, 25888, 25889, 25891, 25895, 25901, 25905, 25912, 25917, 25919, 25921, 25925, 25929, 25935, 25941, 25946, 25948, 25949, 25952, 25957, 25961, 25963, 25964, 25965, 25966, 25969, 25972, 25975, 25983, 25985, 25986, 25988, 25989, 25993, 25997, 26000, 26003, 26004, 26006, 26010, 26012, 26013, 26014, 26017, 26027, 26031, 26039, 26040, 26042, 26048, 26051, 26054, 26055, 26057, 26063, 26066, 26067, 26071, 26074, 26079, 26087, 26091, 26092, 26095, 26099, 26101, 26105, 26107, 26121, 26124, 26130, 26134, 26135, 26136, 26137, 26139, 26145, 26156, 26157, 26158, 26159, 26160, 26161, 26162, 26169, 26174, 26176, 26179, 26181, 26183, 26184, 26187, 26197, 26198, 26208, 26212, 26215, 26216, 26219, 26220, 26234, 26236, 26241, 26248, 26258, 26260, 26261, 26263, 26268, 26274, 26281, 26282, 26288, 26298, 26300, 26301, 26308, 26310, 26311, 26316, 26317, 26318, 26320, 26324, 26325, 26331, 26334, 26337, 26339, 26344, 26351, 26355, 26356, 26361, 26365, 26368, 26371, 26373, 26377, 26379, 26387, 26391, 26392, 26395, 26398, 26407, 26412, 26413, 26418, 26422, 26427, 26429, 26431, 26443, 26459, 26467, 26483, 26485, 26487, 26492, 26494, 26498, 26499, 26506, 26509, 26513, 26514, 26517, 26519, 26520, 26523, 26532, 26533, 26538, 26544, 26549, 26550, 26555, 26556, 26563, 26565, 26568, 26583, 26586, 26592, 26593, 26601, 26603, 26607, 26612, 26615, 26617, 26620, 26626, 26629, 26632, 26633, 26636, 26637, 26645, 26648, 26655, 26660, 26661, 26667, 26668, 26672, 26673, 26679, 26685, 26688, 26693, 26695, 26700, 26701, 26702, 26705, 26708, 26709, 26710, 26715, 26721, 26723, 26724, 26726, 26728, 26734, 26736, 26737, 26740, 26741, 26744, 26747, 26756, 26757, 26759, 26763, 26768, 26769, 26771, 26780, 26781, 26782, 26783, 26785, 26789, 26795, 26797, 26805, 26808, 26814, 26819, 26820, 26822, 26828, 26829, 26833, 26837, 26851, 26860, 26864, 26865, 26868, 26871, 26872, 26875, 26876, 26879, 26883, 26889, 26890, 26891, 26893, 26895, 26896, 26898, 26901, 26905, 26911, 26917, 26918, 26925, 26926, 26927, 26928, 26930, 26931, 26932, 26935, 26936, 26942, 26943, 26946, 26949, 26952, 26953, 26956, 26959, 26963, 26964, 26968, 26978, 26979, 26984, 26991, 26993, 26996, 26997, 27000, 27002, 27015, 27017, 27022, 27027, 27029, 27035, 27036, 27043, 27044, 27045, 27046, 27047, 27049, 27053, 27056, 27059, 27061, 27062, 27063, 27065, 27067, 27068, 27072, 27074, 27077, 27078, 27081, 27082, 27083, 27086, 27087, 27088, 27089, 27092, 27094, 27102, 27103, 27104, 27105, 27108, 27112, 27114, 27117, 27118, 27119, 27120, 27121, 27132, 27133, 27137, 27143, 27144, 27147, 27148, 27150, 27152, 27158, 27161, 27162, 27165, 27168, 27171, 27172, 27173, 27174, 27175, 27177, 27183, 27184, 27189, 27192, 27193, 27194, 27202, 27204, 27205, 27206, 27210, 27213, 27215, 27221, 27224, 27227, 27228, 27229, 27232, 27237, 27239, 27242, 27244, 27245, 27246, 27251, 27252, 27253, 27259, 27260, 27266, 27269, 27275, 27279, 27282, 27290, 27291, 27292, 27294, 27296, 27297, 27302, 27308, 27311, 27314, 27318, 27326, 27329, 27334, 27335, 27336, 27337, 27338, 27343, 27346, 27354, 27355, 27360, 27361, 27362, 27365, 27366, 27367, 27371, 27373, 27374, 27379, 27382, 27383, 27385, 27389, 27390, 27393, 27394, 27396, 27398, 27402, 27403, 27411, 27412, 27414, 27415, 27416, 27420, 27423, 27425, 27427, 27429, 27434, 27438, 27441, 27446, 27447, 27452, 27455, 27458, 27463, 27464, 27465, 27468, 27469, 27470, 27472, 27476, 27477, 27481, 27484, 27486, 27495, 27500, 27504, 27505, 27506, 27512, 27515, 27527, 27528, 27529, 27542, 27545, 27551, 27553, 27554, 27555, 27560, 27561, 27562, 27568, 27573, 27574, 27575, 27577, 27580, 27581, 27583, 27584, 27585, 27592, 27594, 27597, 27598, 27600, 27602, 27603, 27607, 27608, 27615, 27616, 27617, 27619, 27621, 27628, 27631, 27633, 27634, 27637, 27638, 27639, 27642, 27643, 27652, 27654, 27657, 27658, 27661, 27662, 27663, 27665, 27667, 27668, 27674, 27677, 27678, 27680, 27682, 27687, 27688, 27689, 27694, 27695, 27700, 27704, 27708, 27711, 27721, 27726, 27727, 27736, 27738, 27744, 27745, 27750, 27753, 27754, 27758, 27760, 27764, 27766, 27767, 27771, 27774, 27776, 27778, 27781, 27786, 27789, 27790, 27795, 27796, 27798, 27800, 27801, 27809, 27825, 27826, 27829, 27834, 27836, 27838, 27840, 27842, 27860, 27863, 27865, 27866, 27869, 27870, 27871, 27872, 27875, 27878, 27879, 27888, 27890, 27891, 27892, 27893, 27894, 27899, 27900, 27905, 27910, 27912, 27913, 27914, 27920, 27926, 27928, 27934, 27935, 27939, 27941, 27944, 27946, 27955, 27959, 27960, 27962, 27963, 27964, 27972, 27973, 27975, 27976, 27977, 27980, 27981, 27984, 27987, 27996, 27999, 28000, 28004, 28011, 28012, 28013, 28014, 28016, 28019, 28021, 28029, 28033, 28036, 28039, 28041, 28043, 28044, 28048, 28049, 28054, 28055, 28062, 28063, 28064, 28065, 28067, 28069, 28071, 28072, 28073, 28075, 28076, 28083, 28084, 28085, 28088, 28090, 28093, 28094, 28095, 28099, 28103, 28105, 28112, 28115, 28116, 28118, 28119, 28126, 28127, 28128, 28130, 28138, 28152, 28155, 28156, 28160, 28165, 28166, 28169, 28172, 28173, 28174, 28175, 28178, 28180, 28185, 28190, 28192, 28193, 28197, 28198, 28200, 28202, 28206, 28212, 28213, 28215, 28217, 28222, 28223, 28227, 28228, 28240, 28244, 28256, 28259, 28260, 28262, 28265, 28268, 28270, 28271, 28272, 28273, 28277, 28278, 28281, 28282, 28283, 28291, 28292, 28293, 28296, 28300, 28304, 28305, 28309, 28317, 28325, 28326, 28336, 28337, 28343, 28346, 28348, 28358, 28361, 28363, 28364, 28365, 28375, 28377, 28380, 28383, 28386, 28388, 28389, 28390, 28402, 28403, 28407, 28410, 28419, 28423, 28424, 28425, 28426, 28428, 28434, 28435, 28436, 28439, 28443, 28445, 28447, 28454, 28457, 28458, 28460, 28469, 28474, 28477, 28485, 28487, 28488, 28493, 28496, 28498, 28501, 28502, 28505, 28506, 28507, 28508, 28511, 28521, 28524, 28525, 28531, 28532, 28535, 28538, 28539, 28540, 28544, 28547, 28548, 28552, 28553, 28555, 28559, 28562, 28564, 28565, 28566, 28573, 28578, 28584, 28588, 28595, 28597, 28599, 28601, 28603, 28610, 28611, 28616, 28617, 28619, 28627, 28629, 28631, 28636, 28637, 28642, 28643, 28644, 28648, 28650, 28651, 28653, 28655, 28657, 28660, 28661, 28668, 28669, 28670, 28672, 28674, 28676, 28677, 28679, 28680, 28681, 28683, 28689, 28690, 28692, 28693, 28698, 28700, 28701, 28707, 28712, 28716, 28721, 28722, 28723, 28724, 28726, 28727, 28729, 28733, 28734, 28741, 28742, 28743, 28744, 28746, 28749, 28752, 28754, 28756, 28760, 28761, 28762, 28764, 28773, 28776, 28780, 28783, 28789, 28791, 28792, 28793, 28797, 28801, 28805, 28806, 28807, 28811, 28813, 28814, 28818, 28819, 28820, 28827, 28828, 28830, 28831, 28843, 28857, 28858, 28862, 28863, 28865, 28866, 28870, 28875, 28880, 28886, 28887, 28889, 28891, 28895, 28897, 28902, 28906, 28909, 28914, 28915, 28917, 28920, 28921, 28927, 28929, 28933, 28939, 28940, 28941, 28944, 28948, 28951, 28952, 28956, 28959, 28960, 28961, 28968, 28972, 28974, 28997, 29000, 29006, 29007, 29028, 29031, 29035, 29041, 29043, 29050, 29052, 29054, 29056, 29057, 29059, 29063, 29066, 29069, 29073, 29077, 29078, 29083, 29086, 29091, 29092, 29096, 29102, 29105, 29106, 29110, 29111, 29115, 29120, 29124, 29131, 29133, 29137, 29138, 29140, 29141, 29142, 29144, 29145, 29150, 29161, 29162, 29163, 29164, 29167, 29168, 29179, 29185, 29187, 29190, 29191, 29196, 29202, 29203, 29210, 29214, 29216, 29218, 29224, 29226, 29227, 29231, 29239, 29240, 29242, 29244, 29252, 29254, 29256, 29261, 29263, 29270, 29274, 29278, 29279, 29283, 29284, 29286, 29288, 29289, 29294, 29299, 29304, 29305, 29306, 29311, 29313, 29316, 29317, 29320, 29321, 29325, 29326, 29330, 29332, 29333, 29336, 29337, 29338, 29339, 29342, 29343, 29344, 29346, 29348, 29350, 29351, 29360, 29364, 29366, 29370, 29371, 29376, 29377, 29378, 29382, 29383, 29388, 29397, 29399, 29409, 29410, 29411, 29419, 29420, 29426, 29430, 29431, 29436, 29444, 29445, 29450, 29452, 29455, 29457, 29459, 29460, 29463, 29464, 29466, 29474, 29477, 29478, 29481, 29483, 29485, 29486, 29487, 29492, 29493, 29495, 29497, 29498, 29501, 29503, 29504, 29511, 29512, 29514, 29515, 29516, 29517, 29518, 29520, 29521, 29522, 29524, 29527, 29528, 29529, 29531, 29533, 29534, 29535, 29536, 29541, 29544, 29545, 29552, 29553, 29556, 29558, 29559, 29561, 29563, 29565, 29566, 29568, 29570, 29573, 29574, 29578, 29579, 29580, 29581, 29583, 29584, 29588, 29595, 29597, 29598, 29600, 29601, 29612, 29615, 29617, 29618, 29620, 29621, 29623, 29624, 29626, 29629, 29631, 29636, 29642, 29644, 29650, 29657, 29660, 29661, 29662, 29663, 29664, 29667, 29668, 29669, 29670, 29672, 29676, 29679, 29682, 29686, 29688, 29690, 29691, 29695, 29704, 29708, 29711, 29721, 29722, 29724, 29728, 29730, 29731, 29740, 29741, 29744, 29750, 29757, 29763, 29765, 29767, 29769, 29774, 29779, 29790, 29792, 29793, 29795, 29796, 29797, 29798, 29799, 29805, 29810, 29811, 29817, 29819, 29823, 29825, 29827, 29829, 29834, 29836, 29838, 29839, 29841, 29844, 29845, 29846, 29851, 29854, 29856, 29859, 29861, 29865, 29866, 29869, 29872, 29876, 29877, 29878, 29884, 29887, 29889, 29891, 29894, 29913, 29926, 29927, 29928, 29932, 29946, 29949, 29951, 29954, 29955, 29957, 29958, 29961, 29968, 29969, 29972, 29981, 29983, 29991, 29994, 29995, 29999, 30007, 30009, 30011, 30015, 30017, 30018, 30019, 30020, 30022, 30023, 30026, 30027, 30029, 30041, 30045, 30046, 30047, 30048, 30049, 30051, 30054, 30060, 30063, 30065, 30068, 30071, 30078, 30083, 30084, 30088, 30089, 30093, 30101, 30102, 30110, 30112, 30113, 30114, 30117, 30120, 30123, 30124, 30128, 30131, 30132, 30134, 30139, 30140, 30141, 30151, 30154, 30156, 30162, 30170, 30180, 30183, 30184, 30198, 30199, 30202, 30207, 30208, 30210, 30211, 30215, 30216, 30217, 30219, 30225, 30226, 30244, 30245, 30252, 30253, 30256, 30257, 30260, 30268, 30269, 30270, 30274, 30276, 30278, 30280, 30284, 30291, 30292, 30293, 30295, 30300, 30302, 30304, 30307, 30310, 30314, 30316, 30317, 30318, 30320, 30322, 30331, 30336, 30342, 30343, 30344, 30345, 30348, 30349, 30352, 30354, 30360, 30361, 30362, 30371, 30378, 30396, 30403, 30408, 30409, 30412, 30414, 30419, 30420, 30424, 30425, 30433, 30434, 30439, 30440, 30441, 30443, 30445, 30447, 30449, 30450, 30453, 30460, 30461, 30463, 30464, 30467, 30469, 30476, 30477, 30486, 30488, 30492, 30493, 30495, 30500, 30504, 30506, 30507, 30510, 30513, 30518, 30522, 30528, 30530, 30536, 30538, 30541, 30542, 30546, 30550, 30553, 30556, 30561, 30565, 30566, 30568, 30569, 30575, 30576, 30579, 30582, 30588, 30589, 30591, 30592, 30593, 30594, 30595, 30599, 30601, 30603, 30606, 30608, 30610, 30612, 30617, 30618, 30621, 30625, 30633, 30636, 30637, 30642, 30646, 30647, 30650, 30651, 30659, 30660, 30661, 30663, 30664, 30667, 30668, 30669, 30670, 30677, 30678, 30679, 30680, 30682, 30685, 30689, 30694, 30697, 30707, 30711, 30715, 30716, 30717, 30718, 30719, 30726, 30731, 30733, 30747, 30750, 30754, 30755, 30756, 30757, 30758, 30767, 30771, 30775, 30777, 30780, 30784, 30785, 30786, 30789, 30790, 30792, 30795, 30799, 30805, 30810, 30811, 30815, 30820, 30822, 30826, 30827, 30829, 30832, 30833, 30864, 30866, 30875, 30877, 30881, 30882, 30883, 30887, 30890, 30900, 30902, 30908, 30919, 30924, 30934, 30942, 30943, 30949, 30950, 30954, 30962, 30964, 30968, 30969, 30972, 30977, 30979, 30982, 30985, 30992, 30995, 30996, 30998, 30999, 31000, 31002, 31003, 31013, 31015, 31022, 31026, 31029, 31033, 31040, 31041, 31043, 31045, 31046, 31051, 31052, 31056, 31060, 31062, 31064, 31070, 31072, 31074, 31079, 31086, 31088, 31093, 31106, 31112, 31114, 31115, 31116, 31118, 31120, 31126, 31127, 31130, 31131, 31132, 31133, 31134, 31135, 31141, 31153, 31156, 31163, 31167, 31171, 31172, 31183, 31185, 31197, 31198, 31199, 31203, 31205, 31209, 31211, 31216, 31217, 31221, 31229, 31234, 31235, 31237, 31238, 31239, 31243, 31244, 31247, 31249, 31250, 31251, 31252, 31258, 31260, 31269, 31270, 31276, 31279, 31284, 31289, 31290, 31293, 31294, 31297, 31304, 31305, 31319, 31320, 31321, 31322, 31323, 31334, 31337, 31341, 31348, 31366, 31368, 31369, 31382, 31383, 31385, 31391, 31393, 31398, 31399, 31402, 31403, 31404, 31408, 31413, 31422, 31425, 31430, 31438, 31441, 31442, 31445, 31451, 31454, 31470, 31473, 31476, 31489, 31491, 31493, 31501, 31502, 31504, 31506, 31507, 31509, 31514, 31519, 31520, 31521, 31524, 31526, 31528, 31544, 31552, 31556, 31561, 31566, 31568, 31570, 31585, 31586, 31591, 31592, 31603, 31610, 31611, 31619, 31620, 31622, 31628, 31633, 31637, 31638, 31639, 31640, 31647, 31650, 31657, 31658, 31664, 31672, 31673, 31676, 31677, 31679, 31680, 31681, 31683, 31684, 31685, 31688, 31690, 31691, 31692, 31695, 31698, 31700, 31702, 31703, 31705, 31711, 31712, 31716, 31717, 31721, 31723, 31729, 31730, 31732, 31750, 31751, 31755, 31757, 31763, 31765, 31766, 31774, 31777, 31778, 31781, 31782, 31792, 31803, 31808, 31811, 31813, 31814, 31822, 31823, 31829, 31831, 31832, 31833, 31839, 31842, 31851, 31854, 31856, 31857, 31858, 31869, 31872, 31875, 31881, 31886, 31889, 31898, 31902, 31903, 31904, 31909, 31910, 31911, 31925, 31928, 31930, 31931, 31935, 31936, 31941, 31942, 31951, 31952, 31955, 31965, 31969, 31974, 31977, 31982, 31985, 31994, 31999, 32005, 32008, 32012, 32014, 32016, 32018, 32023, 32026, 32027, 32034, 32037, 32039, 32053, 32054, 32059, 32060, 32063, 32067, 32074, 32077, 32079, 32080, 32091, 32097, 32098, 32099, 32103, 32113, 32120, 32122, 32125, 32127, 32128, 32130, 32133, 32134, 32135, 32137, 32153, 32154, 32155, 32156, 32160, 32163, 32168, 32169, 32172, 32173, 32174, 32177, 32179, 32181, 32184, 32193, 32194, 32195, 32196, 32199, 32219, 32221, 32226, 32232, 32234, 32236, 32237, 32239, 32241, 32247, 32249, 32253, 32262, 32267, 32269, 32277, 32278, 32282, 32285, 32286, 32287, 32292, 32293, 32296, 32303, 32305, 32315, 32327, 32328, 32332, 32333, 32340, 32341, 32348, 32354, 32359, 32360, 32361, 32367, 32371, 32377, 32380, 32383, 32385, 32387, 32389, 32393, 32399, 32401, 32406, 32410, 32411, 32412, 32414, 32416, 32417, 32419, 32420, 32421, 32425, 32429, 32434, 32436, 32440, 32441, 32446, 32447, 32460, 32463, 32464, 32465, 32467, 32471, 32474, 32475, 32476, 32483, 32486, 32488, 32497, 32502, 32504, 32506, 32511, 32513, 32515, 32522, 32526, 32527, 32529, 32531, 32550, 32551, 32555, 32559, 32568, 32571, 32572, 32574, 32575, 32584, 32594, 32598, 32599, 32600, 32605, 32606, 32607, 32611, 32612, 32613, 32616, 32618, 32623, 32627, 32628, 32629, 32631, 32632, 32639, 32646, 32649, 32657, 32658, 32660, 32667, 32669, 32670, 32674, 32675, 32677, 32679, 32684, 32685, 32695, 32697, 32698, 32701, 32702, 32703, 32706, 32707, 32708, 32712, 32713, 32716, 32717, 32718, 32719, 32725, 32726, 32730, 32731, 32732, 32733, 32734, 32736, 32737, 32738, 32739, 32740, 32742, 32743, 32746, 32749, 32754, 32755, 32759, 32763, 32766, 32771, 32775, 32779, 32786, 32788, 32790, 32793, 32797, 32800, 32804, 32805, 32807, 32809, 33001, 33004, 33005, 33007, 33008, 33011, 33014, 33015, 33018, 33019, 33025, 33027, 33031, 33032, 33033, 33038, 33040, 33042, 33045, 33048, 33050, 33051, 33055, 33056, 33060, 33064, 33065, 33066, 33067, 33070, 33072, 33073, 33074, 33075, 33079, 33081, 33083, 33084, 33085, 33088, 33089, 33097, 33100, 33101, 33107, 33108, 33109, 33110, 33111, 33115, 33118, 33119, 33121, 33123, 33124, 33125, 33126, 33128, 33129, 33130, 33132, 33133, 33134, 33137, 33138, 33139, 33143, 33149, 33150, 33152, 33153, 33155, 33156, 33157, 33158, 33159, 33160, 33161, 33162, 33164, 33168, 33169, 33173, 33177, 33179, 33184, 33186, 33191, 33194, 33195, 33197, 33200, 33202, 33203, 33205, 33208, 33212, 33214, 33217, 33219, 33220, 33223, 33225, 33226, 33229, 33231, 33233, 33236, 33240, 33241, 33242, 33243, 33244, 33245, 33246, 33247, 33248, 33251, 33252, 33254, 33255, 33256, 33258, 33259, 33263, 33264, 33266, 33271, 33274, 33276, 33278, 33281, 33282, 33283, 33285, 33286, 33289, 33295, 33299, 33300, 33303, 33305, 33306, 33308, 33309, 33310, 33313, 33315, 33317, 33321, 33325, 33326, 33327, 33330, 33331, 33332, 33333, 33336, 33337, 33340, 33342, 33343, 33346, 33348, 33350, 33351, 33352, 33353, 33355, 33356, 33357, 33358, 33359, 33361, 33363, 33364, 33366, 33367, 33368, 33369, 33370, 33371, 33372, 33374, 33375, 33381, 33384, 33386, 33391, 33392, 33394, 33395, 33396, 33398, 33401, 33403, 33405, 33406, 33407, 33410, 33413, 33414, 33419, 33422, 33424, 33425, 33427, 33428, 33431, 33436, 33441, 33442, 33443, 33451, 33458, 33461, 33462, 33463, 33469, 33471, 33475, 33478, 33480, 33481, 33484, 33485, 33488, 33489, 33491, 33494, 33497, 33502, 33507, 33508, 33509, 33510, 33518, 33520, 33523, 33525, 33526, 33531, 33534, 33535, 33536, 33537, 33538, 33539, 33545, 33546, 33547, 33553, 33559, 33563, 33567, 33569, 33570, 33571, 33574, 33575, 33578, 33581, 33582, 33584, 33585, 33590, 33595, 33596, 33600, 33603, 33607, 33608, 33609, 33610, 33611, 33612, 33613, 33615, 33616, 33619, 33620, 33622, 33623, 33624, 33630, 33633, 33634, 33637, 33639, 33640, 33641, 33642, 33644, 33647, 33649, 33652, 33654, 33660, 33661, 33662, 33664, 33668, 33670, 33673, 33674, 33677, 33678, 33679, 33680, 33684, 33685, 33688, 33689, 33690, 33691, 33692, 33694, 33699, 33701, 33702, 33704, 33706, 33709, 33711, 33713, 33714, 33717, 33719, 33720, 33722, 33726, 33728, 33730, 33732, 33733, 33735, 33736, 33737, 33739, 33740, 33743, 33752, 33754, 33756, 33759, 33760, 33761, 33766, 33768, 33771, 33772, 33774, 33776, 33780, 33781, 33782, 33789, 33792, 33793, 33794, 33801, 33802, 33803, 33804, 33806, 33812, 33814, 33817, 33819, 33825, 33828, 33829, 33830, 33834, 33835, 33838, 33840, 33845, 33849, 33850, 33852, 33858, 33859, 33863, 33864, 33868, 33869, 33873, 33874, 33876, 33878, 33879, 33882, 33885, 33886, 33888, 33897, 33900, 33905, 33907, 33909, 33917, 33918, 33923, 33925, 33927, 33930, 33934, 33937, 33939, 33942, 33943, 33945, 33949, 33951, 33953, 33958, 33960, 33961, 33964, 33965, 33966, 33967, 33973, 33974, 33981, 33983, 33984, 33987, 33988, 33992, 33998, 34000, 34001, 34002, 34003, 34005, 34006, 34007, 34008, 34010, 34011, 34014, 34020, 34021, 34022, 34024, 34025, 34027, 34030, 34031, 34033, 34037, 34044, 34046, 34048, 34054, 34056, 34057, 34059, 34061, 34065, 34066, 34068, 34074, 34076, 34077, 34078, 34083, 34084, 34091, 34092, 34094, 34095, 34098, 34099, 34100, 34102, 34103, 34106, 34108, 34110, 34115, 34116, 34117, 34118, 34119, 34120, 34121, 34123, 34128, 34134, 34135, 34139, 34142, 34143, 34146, 34148, 34149, 34150, 34152, 34154, 34156, 34158, 34159, 34163, 34165, 34167, 34172, 34175, 34176, 34178, 34179, 34181, 34182, 34183, 34184, 34190, 34191, 34192, 34194, 34195, 34197, 34200, 34203, 34206, 34209, 34210, 34212, 34214, 34215, 34218, 34221, 34222, 34223, 34224, 34227, 34228, 34229, 34235, 34237, 34239, 34240, 34242, 34243, 34245, 34247, 34250, 34251, 34256, 34259, 34260, 34263, 34266, 34267, 34269, 34271, 34277, 34279, 34280, 34281, 34282, 34283, 34285, 34287, 34289, 34292, 34294, 34295, 34296, 34299, 34300, 34301, 34305, 34306, 34307, 34308, 34309, 34312, 34315, 34316, 34317, 34321, 34322, 34324, 34325, 34326, 34336, 34338, 34341, 34342, 34350, 34352, 34354, 34355, 34360, 34363, 34364, 34367, 34371, 34373, 34374, 34375, 34376, 34378, 34384, 34386, 34389, 34390, 34392, 34395, 34398, 34400, 34401, 34402, 34404, 34407, 34408, 34409, 34413, 34417, 34419, 34420, 34424, 34430, 34436, 34439, 34443, 34446, 34447, 34455, 34462, 34463, 34464, 34465, 34466, 34468, 34473, 34474, 34477, 34478, 34484, 34485, 34487, 34495, 34498, 34500, 34501, 34504, 34506, 34508, 34509, 34513, 34515, 34518, 34526, 34528, 34530, 34532, 34533, 34536, 34537, 34538, 34543, 34548, 34549, 34553, 34554, 34556, 34561, 34563, 34566, 34568, 34570, 34572, 34573, 34575, 34576, 34580, 34582, 34585, 34588, 34591, 34592, 34597, 34600, 34602, 34604, 34616, 34622, 34623, 34624, 34626, 34627, 34628, 34629, 34631, 34634, 34635, 34643, 34644, 34645, 34647, 34649, 34652, 34653, 34654, 34657, 34658, 34659, 34662, 34663, 34664, 34670, 34671, 34672, 34673, 34674, 34678, 34684, 34689, 34691, 34693, 34698, 34699, 34701, 34706, 34709, 34712, 34714, 34717, 34719, 34720, 34724, 34726, 34727, 34731, 34732, 34734, 34736, 34739, 34740, 34742, 34745, 34746, 34751, 34755, 34756, 34757, 34758, 34759, 34764, 34768, 34773, 34774, 34775, 34777, 34778, 34781, 34783, 34791, 34793, 34795, 34800, 34802, 34806, 34810, 34818, 34831, 34832, 34834, 34835, 34837, 34838, 34839, 34844, 34847, 34852, 34855, 34856, 34857, 34858, 34859, 34861, 34863, 34867, 34873, 34876, 34882, 34884, 34888, 34892, 34894, 34895, 34897, 34901, 34902, 34904, 34908, 34909, 34912, 34913, 34914, 34916, 34922, 34928, 34931, 34935, 34936, 34937, 34938, 34940, 34946, 34948, 34949, 34953, 34954, 34955, 34956, 34961, 34964, 34965, 34966, 34967, 34969, 34972, 34974, 34975, 34977, 34978, 34982, 34983, 34984, 34987, 34988, 34990, 34991, 34992, 34993, 34994, 34997, 35001, 35003, 35004, 35008, 35010, 35011, 35012, 35013, 35016, 35017, 35024, 35030, 35031, 35032, 35033, 35034, 35035, 35036, 35038, 35041, 35044, 35047, 35050, 35052, 35053, 35055, 35057, 35058, 35063, 35064, 35065, 35066, 35068, 35069, 35072, 35074, 35075, 35078, 35079, 35080, 35086, 35090, 35091, 35092, 35094, 35101, 35106, 35108, 35111, 35115, 35116, 35118, 35121, 35122, 35123, 35125, 35127, 35130, 35131, 35133, 35135, 35140, 35145, 35147, 35148, 35149, 35150, 35151, 35154, 35156, 35159, 35162, 35171, 35172, 35174, 35176, 35177, 35180, 35182, 35183, 35184, 35185, 35188, 35192, 35193, 35196, 35197, 35198, 35199, 35205, 35206, 35211, 35212, 35214, 35215, 35216, 35217, 35218, 35220, 35223, 35224, 35226, 35230, 35231, 35232, 35233, 35246, 35248, 35249, 35251, 35253, 35254, 35255, 35257, 35260, 35262, 35264, 35265, 35269, 35271, 35278, 35280, 35286, 35289, 35290, 35291, 35292, 35295, 35296, 35301, 35304, 35306, 35310, 35311, 35312, 35315, 35316, 35317, 35318, 35323, 35331, 35333, 35334, 35339, 35340, 35341, 35342, 35345, 35346, 35352, 35354, 35355, 35356, 35357, 35359, 35360, 35364, 35366, 35367, 35368, 35371, 35373, 35378, 35380, 35381, 35384, 35385, 35387, 35388, 35392, 35393, 35399, 35400, 35402, 35413, 35419, 35420, 35421, 35423, 35426, 35428, 35431, 35434, 35435, 35440, 35443, 35446, 35447, 35448, 35451, 35454, 35458, 35460, 35463, 35469, 35470, 35471, 35474, 35479, 35487, 35491, 35493, 35495, 35496, 35500, 35502, 35503, 35507, 35513, 35514, 35515, 35517, 35518, 35519, 35521, 35527, 35529, 35533, 35534, 35539, 35540, 35541, 35542, 35547, 35548, 35552, 35555, 35556, 35557, 35563, 35566, 35571, 35574, 35576, 35578, 35581, 35582, 35584, 35586, 35587, 35589, 35595, 35600, 35603, 35605, 35609, 35612, 35615, 35619, 35620, 35626, 35628, 35629, 35630, 35631, 35636, 35644, 35645, 35651, 35653, 35655, 35656, 35660, 35662, 35667, 35669, 35671, 35673, 35674, 35680, 35685, 35686, 35687, 35688, 35691, 35699, 35700, 35701, 35702, 35707, 35709, 35710, 35713, 35716, 35717, 35718, 35721, 35723, 35725, 35726, 35729, 35731, 35732, 35733, 35735, 35736, 35737, 35739, 35740, 35748, 35749, 35751, 35753, 35756, 35757, 35758, 35760, 35762, 35763, 35767, 35768, 35775, 35780, 35782, 35784, 35790, 35792, 35793, 35794, 35797, 35798, 35800, 35804, 35805, 35808, 35810, 35812, 35813, 35814, 35816, 35818, 35821, 35822, 35823, 35825, 35826, 35829, 35834, 35836, 35837, 35838, 35842, 35845, 35846, 35849, 35851, 35858, 35861, 35862, 35867, 35870, 35871, 35872, 35876, 35879, 35882, 35883, 35887, 35897, 35898, 35902, 35905, 35906, 35908, 35912, 35915, 35921, 35923, 35925, 35926, 35928, 35931, 35932, 35934, 35936, 35937, 35946, 35947, 35948, 35951, 35952, 35953, 35957, 35958, 35960, 35962, 35965, 35970, 35974, 35976, 35979, 35980, 35981, 35982, 35984, 35986, 35987, 35988, 35989, 35991, 35994, 35995, 35996, 35998, 36002, 36004, 36006, 36007, 36008, 36010, 36011, 36012, 36013, 36016, 36017, 36021, 36022, 36023, 36025, 36027, 36028, 36032, 36037, 36038, 36040, 36041, 36043, 36045, 36047, 36048, 36050, 36054, 36057, 36060, 36062, 36064, 36072, 36073, 36074, 36075, 36076, 36080, 36085, 36086, 36088, 36090, 36095, 36096, 36100, 36102, 36104, 36105, 36108, 36110, 36112, 36116, 36117, 36118, 36121, 36122, 36123, 36124, 36125, 36126, 36127, 36136, 36140, 36141, 36145, 36146, 36150, 36151, 36154, 36157, 36160, 36163, 36164, 36167, 36170, 36172, 36176, 36179, 36181, 36185, 36186, 36191, 36192, 36194, 36198, 36203, 36204, 36207, 36208, 36210, 36212, 36213, 36214, 36215, 36224, 36228, 36229, 36232, 36234, 36235, 36236, 36239, 36241, 36242, 36243, 36244, 36246, 36247, 36250, 36252, 36254, 36259, 36260, 36261, 36262, 36265, 36266, 36267, 36270, 36275, 36276, 36277, 36280, 36284, 36286, 36291, 36294, 36297, 36299, 36302, 36305, 36307, 36308, 36311, 36312, 36313, 36314, 36315, 36317, 36318, 36321, 36326, 36329, 36330, 36331, 36335, 36336, 36338, 36339, 36342, 36347, 36348, 36349, 36350, 36354, 36355, 36356, 36359, 36361, 36362, 36367, 36368, 36371, 36373, 36376, 36378, 36382, 36383, 36384, 36385, 36386, 36396, 36397, 36398, 36401, 36404, 36405, 36406, 36407, 36408, 36415, 36416, 36417, 36419, 36423, 36424, 36425, 36426, 36429, 36430, 36432, 36438, 36439, 36442, 36445, 36450, 36451, 36453, 36454, 36457, 36459, 36461, 36463, 36464, 36467, 36471, 36472, 36473, 36474, 36476, 36477, 36478, 36481, 36483, 36484, 36485, 36491, 36494, 36499, 36501, 36507, 36508, 36513, 36520, 36521, 36522, 36523, 36524, 36525, 36526, 36529, 36530, 36535, 36537, 36546, 36548, 36550, 36552, 36554, 36556, 36558, 36559, 36560, 36561, 36563, 36564, 36570, 36572, 36573, 36575, 36578, 36579, 36580, 36581, 36585, 36587, 36589, 36590, 36593, 36594, 36598, 36599, 36600, 36604, 36605, 36606, 36608, 36609, 36611, 36615, 36616, 36620, 36621, 36622, 36624, 36625, 36628, 36632, 36633, 36634, 36636, 36639, 36641, 36643, 36645, 36648, 36649, 36653, 36654, 36657, 36659, 36662, 36663, 36665, 36668, 36670, 36675, 36677, 36679, 36686, 36689, 36690, 36696, 36697, 36703, 36705, 36706, 36710, 36712, 36713, 36715, 36716, 36717, 36718, 36720, 36724, 36725, 36727, 36728, 36730, 36731, 36736, 36737, 36738, 36739, 36740, 36741, 36745, 36753, 36755, 36756, 36758, 36762, 36763, 36765, 36768, 36770, 36774, 36775, 36776, 36779, 36786, 36787, 36788, 36790, 36791, 36792, 36795, 36796, 36797, 36799, 36801, 36802, 36804, 36807, 36808, 36809, 36810, 36814, 36816, 36818, 36820, 36822, 36823, 36825, 36830, 36833, 36840, 36841, 36843, 36844, 36845, 36848, 36860, 36865, 36874, 36876, 36880, 36881, 36883, 36884, 36886, 36887, 36889, 36890, 36891, 36895, 36896, 36898, 36901, 36906, 36909, 36911, 36913, 36915, 36917, 36919, 36924, 36927, 36929, 36930, 36934, 36936, 36937, 36942, 36945, 36947, 36948, 36954, 36955, 36956, 36959, 36964, 36968, 36971, 36972, 36973, 36974, 36978, 36979, 36981, 36982, 36985, 36987, 36988, 36989, 36990, 36994, 36996, 36997, 37000, 37001, 37003, 37004, 37007, 37008, 37011, 37021, 37022, 37025, 37026, 37028, 37030, 37031, 37032, 37033, 37035, 37036, 37039, 37040, 37042, 37043, 37045, 37047, 37049, 37050, 37053, 37058, 37060, 37062, 37063, 37065, 37066, 37067, 37068, 37069, 37072, 37074, 37076, 37079, 37080, 37081, 37083, 37085, 37086, 37094, 37095, 37096, 37100, 37101, 37103, 37104, 37105, 37108, 37112, 37115, 37116, 37122, 37123, 37125, 37127, 37130, 37131, 37134, 37135, 37136, 37137, 37142, 37148, 37152, 37154, 37155, 37158, 37168, 37171, 37173, 37175, 37182, 37184, 37185, 37194, 37196, 37202, 37203, 37207, 37208, 37209, 37210, 37212, 37215, 37218, 37220, 37223, 37232, 37234, 37235, 37236, 37237, 37238, 37240, 37242, 37243, 37247, 37248, 37249, 37250, 37251, 37253, 37263, 37266, 37271, 37273, 37275, 37276, 37277, 37283, 37286, 37288, 37289, 37290, 37293, 37294, 37296, 37297, 37301, 37306, 37307, 37311, 37312, 37326, 37327, 37328, 37331, 37332, 37334, 37335, 37338, 37340, 37342, 37343, 37345, 37347, 37349, 37350, 37351, 37352, 37353, 37357, 37358, 37359, 37360, 37361, 37363, 37365, 37370, 37372, 37377, 37379, 37383, 37386, 37389, 37390, 37393, 37395, 37397, 37402, 37403, 37404, 37405, 37406, 37409, 37412, 37413, 37418, 37419, 37422, 37424, 37426, 37427, 37433, 37434, 37437, 37439, 37443, 37444, 37449, 37452, 37453, 37456, 37457, 37459, 37461, 37462, 37463, 37464, 37466, 37467, 37468, 37469, 37471, 37477, 37480, 37482, 37483, 37484, 37485, 37486, 37487, 37488, 37489, 37490, 37494, 37497, 37499, 37500, 37502, 37504, 37507, 37513, 37514, 37516, 37519, 37522, 37531, 37535, 37537, 37539, 37540, 37543, 37546, 37549, 37550, 37551, 37553, 37554, 37558, 37559, 37564, 37568, 37570, 37573, 37575, 37585, 37586, 37587, 37588, 37590, 37592, 37595, 37599, 37600, 37604, 37606, 37610, 37611, 37612, 37613, 37619, 37627, 37630, 37632, 37633, 37637, 37641, 37643, 37644, 37646, 37652, 37655, 37657, 37658, 37659, 37660, 37663, 37664, 37665, 37666, 37674, 37675, 37676, 37678, 37680, 37681, 37684, 37685, 37691, 37693, 37696, 37697, 37698, 37700, 37705, 37707, 37708, 37709, 37710, 37711, 37713, 37715, 37716, 37718, 37719, 37721, 37722, 37723, 37726, 37727, 37729, 37730, 37733, 37735, 37737, 37738, 37739, 37742, 37744, 37746, 37747, 37749, 37751, 37752, 37758, 37760, 37761, 37763, 37770, 37774, 37775, 37778, 37779, 37786, 37787, 37790, 37795, 37796, 37797, 37799, 37802, 37804, 37805, 37806, 37808, 37809, 37811, 37813, 37814, 37819, 37820, 37822, 37823, 37824, 37826, 37832, 37836, 37837, 37838, 37842, 37844, 37846, 37848, 37849, 37853, 37854, 37856, 37857, 37858, 37859, 37860, 37861, 37864, 37865, 37866, 37870, 37871, 37872, 37874, 37880, 37886, 37887, 37890, 37893, 37894, 37901, 37903, 37905, 37906, 37907, 37909, 37912, 37916, 37917, 37919, 37925, 37927, 37928, 37930, 37937, 37940, 37942, 37943, 37947, 37948, 37953, 37959, 37960, 37962, 37963, 37968, 37970, 37974, 37975, 37976, 37977, 37978, 37979, 37980, 37986, 37988, 37992, 37997, 37998, 38000, 38005, 38008, 38009, 38010, 38011, 38014, 38015, 38018, 38021, 38023, 38026, 38034, 38035, 38036, 38039, 38041, 38042, 38043, 38048, 38049, 38060, 38062, 38063, 38064, 38066, 38069, 38075, 38076, 38077, 38079, 38081, 38083, 38086, 38088, 38093, 38094, 38095, 38098, 38101, 38104, 38105, 38107, 38108, 38110, 38111, 38113, 38114, 38116, 38120, 38121, 38123, 38124, 38126, 38128, 38130, 38131, 38134, 38135, 38138, 38139, 38140, 38142, 38143, 38144, 38151, 38152, 38158, 38159, 38160, 38161, 38164, 38166, 38167, 38168, 38169, 38173, 38176, 38178, 38181, 38188, 38189, 38191, 38192, 38193, 38195, 38196, 38197, 38199, 38200, 38201, 38206, 38207, 38211, 38213, 38214, 38221, 38223, 38224, 38225, 38232, 38235, 38236, 38237, 38239, 38240, 38243, 38245, 38246, 38247, 38248, 38249, 38252, 38255, 38257, 38260, 38263, 38265, 38267, 38269, 38272, 38273, 38275, 38277, 38278, 38281, 38282, 38285, 38286, 38287, 38291, 38294, 38295, 38298, 38299, 38301, 38302, 38305, 38307, 38309, 38310, 38311, 38315, 38316, 38317, 38318, 38323, 38324, 38329, 38331, 38333, 38338, 38339, 38341, 38345, 38346, 38348, 38353, 38354, 38355, 38356, 38358, 38360, 38361, 38366, 38367, 38370, 38374, 38379, 38380, 38381, 38383, 38387, 38392, 38399, 38400, 38404, 38409, 38410, 38412, 38415, 38416, 38417, 38419, 38421, 38424, 38425, 38429, 38432, 38434, 38437, 38439, 38440, 38441, 38442, 38443, 38445, 38446, 38447, 38450, 38451, 38452, 38454, 38455, 38457, 38459, 38461, 38465, 38466, 38467, 38469, 38470, 38471, 38472, 38473, 38475, 38478, 38487, 38489, 38491, 38492, 38497, 38498, 38499, 38500, 38501, 38503, 38505, 38507, 38509, 38510, 38511, 38514, 38517, 38518, 38519, 38520, 38522, 38526, 38528, 38529, 38536, 38538, 38540, 38541, 38542, 38543, 38544, 38546, 38547, 38551, 38563, 38566, 38567, 38574, 38575, 38576, 38578, 38580, 38581, 38582, 38587, 38593, 38595, 38597, 38598, 38602, 38606, 38609, 38611, 38613, 38618, 38626, 38627, 38628, 38632, 38633, 38634, 38637, 38638, 38642, 38643, 38647, 38649, 38651, 38653, 38654, 38656, 38658, 38660, 38661, 38663, 38668, 38671, 38672, 38674, 38675, 38676, 38686, 38688, 38689, 38690, 38691, 38692, 38696, 38697, 38698, 38703, 38704, 38708, 38709, 38710, 38712, 38716, 38717, 38718, 38719, 38723, 38724, 38726, 38728, 38734, 38736, 38739, 38744, 38745, 38746, 38747, 38749, 38751, 38752, 38755, 38759, 38762, 38763, 38767, 38769, 38771, 38785, 38788, 38790, 38792, 38797, 38800, 38802, 38804, 38806, 38808, 38811, 38816, 38819, 38820, 38823, 38824, 38828, 38836, 38842, 38843, 38844, 38850, 38851, 38852, 38855, 38857, 38859, 38860, 38862, 38863, 38865, 38869, 38870, 38873, 38876, 38880, 38881, 38883, 38884, 38885, 38889, 38890, 38895, 38896, 38901, 38905, 38906, 38907, 38908, 38910, 38914, 38916, 38917, 38918, 38921, 38925, 38926, 38931, 38932, 38936, 38937, 38939, 38940, 38943, 38945, 38951, 38953, 38955, 38956, 38958, 38963, 38965, 38967, 38968, 38969, 38970, 38971, 38973, 38975, 38976, 38977, 38979, 38980, 38981, 38983, 38984, 38986, 38991, 38995, 38998, 39000, 39002, 39003, 39004, 39011, 39012, 39014, 39015, 39017, 39018, 39021, 39022, 39025, 39026, 39034, 39035, 39036, 39041, 39043, 39045, 39048, 39050, 39059, 39060, 39062, 39064, 39068, 39069, 39070, 39072, 39073, 39074, 39076, 39077, 39079, 39080, 39081, 39082, 39083, 39086, 39087, 39089, 39091, 39093, 39095, 39096, 39097, 39100, 39110, 39111, 39115, 39119, 39123, 39124, 39125, 39131, 39134, 39135, 39138, 39139, 39143, 39145, 39147, 39148, 39150, 39154, 39158, 39160, 39161, 39164, 39166, 39170, 39174, 39182, 39183, 39185, 39187, 39192, 39194, 39195, 39198, 39201, 39202, 39203, 39213, 39217, 39223, 39224, 39227, 39230, 39234, 39236, 39237, 39239, 39242, 39243, 39245, 39246, 39249, 39250, 39253, 39256, 39258, 39260, 39263, 39264, 39265, 39267, 39268, 39270, 39276, 39278, 39279, 39284, 39287, 39292, 39294, 39296, 39297, 39298, 39299, 39300, 39301, 39302, 39303, 39304, 39305, 39307, 39308, 39309, 39311, 39314, 39316, 39318, 39319, 39320, 39328, 39331, 39333, 39335, 39338, 39339, 39340, 39341, 39343, 39344, 39347, 39350, 39352, 39356, 39357, 39358, 39359, 39361, 39365, 39369, 39376, 39379, 39381, 39382, 39383, 39385, 39386, 39387, 39388, 39389, 39390, 39393, 39400, 39404, 39406, 39408, 39412, 39413, 39415, 39416, 39419, 39421, 39423, 39425, 39427, 39428, 39430, 39432, 39433, 39437, 39438, 39444, 39447, 39449, 39453, 39454, 39457, 39458, 39459, 39460, 39461, 39462, 39464, 39468, 39469, 39475, 39477, 39479, 39485, 39486, 39487, 39491, 39492, 39493, 39494, 39495, 39498, 39502, 39504, 39506, 39508, 39509, 39510, 39513, 39517, 39518, 39521, 39522, 39523, 39525, 39532, 39533, 39537, 39538, 39539, 39542, 39543, 39546, 39553, 39555, 39558, 39559, 39560, 39565, 39566, 39567, 39568, 39571, 39572, 39573, 39574, 39575, 39577, 39578, 39581, 39583, 39586, 39587, 39591, 39597, 39599, 39603, 39604, 39610, 39614, 39620, 39621, 39623, 39626, 39627, 39628, 39629, 39633, 39634, 39636, 39638, 39639, 39640, 39650, 39651, 39654, 39655, 39657, 39659, 39660, 39661, 39662, 39666, 39667, 39668, 39672, 39673, 39675, 39676, 39677, 39686, 39688, 39690, 39695, 39698, 39699, 39700, 39701, 39702, 39703, 39704, 39705, 39712, 39713, 39714, 39715, 39717, 39718, 39720, 39723, 39724, 39728, 39729, 39730, 39731, 39734, 39735, 39736, 39737, 39741, 39744, 39747, 39748, 39750, 39751, 39754, 39755, 39759, 39762, 39764, 39766, 39767, 39768, 39771, 39773, 39774, 39776, 39777, 39778, 39779, 39780, 39783, 39784, 39786, 39789, 39793, 39795, 39796, 39797, 39798, 39799, 39809, 39811, 39814, 39815, 39817, 39821, 39824, 39825, 39826, 39827, 39828, 39830, 39834, 39835, 39836, 39839, 39841, 39848, 39849, 39850, 39855, 39857, 39859, 39860, 39861, 39867, 39871, 39873, 39875, 39877, 39879, 39881, 39882, 39883, 39884, 39885, 39890, 39891, 39893, 39894, 39896, 39897, 39898, 39901, 39904, 39906, 39908, 39909, 39910, 39911, 39912, 39913, 39914, 39915, 39917, 39918, 39919, 39922, 39924, 39925, 39927, 39929, 39931, 39935, 39938, 39942, 39943, 39944, 39945, 39949, 39950, 39952, 39954, 39956, 39958, 39959, 39961, 39966, 39969, 39970, 39971, 39975, 39978, 39979, 39981, 39982, 39984, 39985, 39986, 39989, 39991, 39993, 39998, 39999, 40000, 40007, 40008, 40014, 40018, 40019, 40020, 40021, 40022, 40024, 40026, 40027, 40029, 40031, 40032, 40036, 40038, 40039, 40041, 40043, 40045, 40048, 40051, 40052, 40053, 40062, 40064, 40066, 40067, 40069, 40070, 40072, 40076, 40077, 40079, 40080, 40081, 40083, 40084, 40085, 40087, 40088, 40089, 40090, 40092, 40093, 40096, 40099, 40100, 40101, 40102, 40105, 40107, 40109, 40110, 40112, 40113, 40114, 40115, 40116, 40117, 40118, 40119, 40122, 40123, 40127, 40135, 40137, 40139, 40148, 40149, 40150, 40151, 40153, 40154, 40156, 40158, 40163, 40165, 40167, 40174, 40175, 40176, 40180, 40181, 40183, 40184, 40189, 40191, 40193, 40194, 40195, 40196, 40197, 40200, 40208, 40210, 40213, 40218, 40219, 40220, 40222, 40223, 40225, 40230, 40231, 40232, 40233, 40236, 40237, 40238, 40239, 40241, 40242, 40243, 40245, 40248, 40251, 40254, 40260, 40262, 40263, 40265, 40268, 40272, 40273, 40274, 40275, 40278, 40280, 40281, 40282, 40284, 40288, 40290, 40291, 40292, 40301, 40302, 40310, 40312, 40314, 40315, 40317, 40319, 40320, 40321, 40322, 40323, 40330, 40332, 40339, 40340, 40341, 40343, 40344, 40346, 40347, 40348, 40349, 40351, 40355, 40356, 40360, 40362, 40363, 40366, 40368, 40369, 40370, 40372, 40374, 40375, 40377, 40378, 40379, 40380, 40381, 40382, 40383, 40384, 40387, 40388, 40389, 40390, 40391, 40394, 40396, 40397, 40399, 40400, 40404, 40405, 40406, 40408, 40413, 40414, 40416, 40422, 40423, 40425, 40429, 40430, 40431, 40432, 40433, 40437, 40438, 40443, 40444, 40445, 40446, 40449, 40453, 40454, 40455, 40456, 40457, 40461, 40462, 40463, 40467, 40469, 40473, 40474, 40476, 40478, 40480, 40484, 40487, 40490, 40491, 40494, 40496, 40497, 40498, 40500, 40502, 40503, 40506, 40508, 40512, 40515, 40517, 40518, 40519, 40520, 40524, 40525, 40528, 40529, 40530, 40532, 40533, 40535, 40537, 40538, 40540, 40541, 40542, 40546, 40547, 40549, 40550, 40553, 40554, 40556, 40557, 40558, 40559, 40560, 40567, 40570, 40571, 40580, 40581, 40583, 40584, 40586, 40588, 40591, 40592, 40596, 40601, 40602, 40603, 40607, 40612, 40615, 40620, 40621, 40625, 40626, 40627, 40628, 40630, 40634, 40635, 40639, 40640, 40641, 40645, 40646, 40650, 40652, 40653, 40654, 40658, 40660, 40661, 40662, 40664, 40665, 40667, 40669, 40677, 40684, 40685, 40688, 40689, 40692, 40693, 40694, 40701, 40707, 40714, 40716, 40718, 40720, 40723, 40725, 40726, 40727, 40729, 40731, 40733, 40734, 40738, 40741, 40742, 40743, 40747, 40750, 40751, 40757, 40761, 40762, 40763, 40767, 40774, 40778, 40783, 40784, 40786, 40787, 40788, 40792, 40793, 40798, 40803, 40805, 40806, 40807, 40810, 40813, 40816, 40817, 40824, 40828, 40829, 40834, 40836, 40837, 40838, 40839, 40843, 40846, 40851, 40854, 40856, 40857, 40858, 40861, 40862, 40864, 40868, 40869, 40873, 40874, 40876, 40881, 40882, 40883, 40884, 40885, 40886, 40887, 40889, 40891, 40892, 40894, 40895, 40899, 40900, 40901, 40902, 40903, 40904, 40908, 40909, 40911, 40912, 40913, 40914, 40919, 40920, 40922, 40925, 40929, 40930, 40935, 40936, 40938, 40939, 40940, 40946, 40949, 40954, 40960, 40962, 40964, 40966, 40968, 40971, 40974, 40977, 40978, 40992, 40993, 40996, 40997, 41000, 41002, 41007, 41009, 41014, 41016, 41018, 41019, 41020, 41021, 41022, 41023, 41026, 41028, 41029, 41033, 41035, 41039, 41040, 41041, 41043, 41044, 41046, 41047, 41048, 41050, 41051, 41056, 41057, 41063, 41064, 41067, 41069, 41070, 41073, 41075, 41078, 41081, 41085, 41086, 41088, 41089, 41091, 41094, 41097, 41098, 41101, 41105, 41106, 41107, 41110, 41112, 41114, 41118, 41120, 41121, 41126, 41128, 41133, 41136, 41141, 41142, 41143, 41147, 41149, 41152, 41154, 41156, 41157, 41162, 41163, 41164, 41167, 41170, 41172, 41173, 41176, 41179, 41180, 41182, 41186, 41187, 41191, 41195, 41197, 41202, 41203, 41206, 41207, 41212, 41213, 41216, 41217, 41218, 41219, 41224, 41227, 41229, 41231, 41233, 41236, 41238, 41239, 41242, 41245, 41252, 41253, 41255, 41257, 41258, 41261, 41262, 41266, 41267, 41268, 41269, 41270, 41271, 41274, 41276, 41279, 41285, 41288, 41290, 41292, 41295, 41298, 41300, 41301, 41305, 41309, 41310, 41312, 41313, 41314, 41321, 41322, 41324, 41326, 41328, 41333, 41335, 41339, 41340, 41341, 41343, 41344, 41348, 41349, 41351, 41358, 41360, 41361, 41364, 41368, 41372, 41377, 41383, 41384, 41388, 41393, 41395, 41404, 41406, 41407, 41410, 41411, 41414, 41415, 41416, 41418, 41422, 41423, 41426, 41427, 41432, 41436, 41437, 41441, 41443, 41447, 41448, 41451, 41452, 41453, 41454, 41456, 41457, 41458, 41460, 41469, 41470, 41473, 41481, 41483, 41485, 41486, 41488, 41489, 41491, 41495, 41497, 41500, 41506, 41510, 41511, 41515, 41516, 41517, 41520, 41524, 41527, 41528, 41529, 41531, 41533, 41534, 41537, 41542, 41544, 41546, 41549, 41551, 41552, 41555, 41556, 41557, 41558, 41560, 41566, 41567, 41570, 41571, 41573, 41574, 41576, 41577, 41579, 41580, 41581, 41586, 41589, 41591, 41594, 41596, 41607, 41609, 41618, 41619, 41621, 41622, 41625, 41626, 41628, 41629, 41631, 41633, 41634, 41637, 41639, 41640, 41641, 41645, 41650, 41652, 41654, 41656, 41661, 41665, 41666, 41669, 41670, 41671, 41674, 41676, 41677, 41678, 41684, 41685, 41687, 41688, 41690, 41691, 41692, 41694, 41695, 41697, 41699, 41701, 41703, 41704, 41705, 41706, 41707, 41709, 41710, 41711, 41713, 41714, 41716, 41717, 41719, 41720, 41721, 41722, 41723, 41724, 41725, 41726, 41729, 41736, 41740, 41742, 41745, 41747, 41749, 41750, 41751, 41752, 41753, 41755, 41757, 41758, 41761, 41763, 41765, 41766, 41768, 41770, 41774, 41778, 41779, 41782, 41784, 41785, 41786, 41788, 41790, 41791, 41792, 41793, 41794, 41799, 41801, 41802, 41804, 41805, 41806, 41811, 41812, 41813, 41815, 41821, 41824, 41825, 41826, 41827, 41828, 41831, 41833, 41834, 41835, 41836, 41838, 41845, 41846, 41847, 41849, 41850, 41851, 41852, 41853, 41855, 41856, 41858, 41859, 41860, 41861, 41862, 41863, 41865, 41869, 41870, 41872, 41875, 41879, 41880, 41881, 41882, 41883, 41887, 41889, 41891, 41892, 41899, 41900, 41903, 41904, 41909, 41910, 41911, 41913, 41915, 41918, 41921, 41923, 41924, 41929, 41930, 41931, 41934, 41936, 41937, 41938, 41939, 41941, 41943, 41944, 41947, 41948, 41949, 41950, 41955, 41957, 41958, 41962, 41964, 41966, 41969, 41974, 41976, 41977, 41979, 41981, 41982, 41983, 41985, 41986, 41987, 41988, 41991, 41994, 41996, 41999, 42000, 42003, 42004, 42010, 42012, 42019, 42020, 42025, 42027, 42028, 42032, 42034, 42036, 42037, 42040, 42043, 42045, 42047, 42049, 42053, 42056, 42061, 42064, 42066, 42070, 42072, 42078, 42082, 42083, 42084, 42091, 42093, 42095, 42099, 42101, 42102, 42103, 42105, 42106, 42109, 42111, 42112, 42116, 42118, 42120, 42122, 42126, 42129, 42130, 42134, 42136, 42137, 42138, 42140, 42144, 42147, 42148, 42149, 42150, 42151, 42152, 42153, 42159, 42161, 42163, 42164, 42165, 42167, 42172, 42173, 42174, 42175, 42176, 42183, 42184, 42185, 42191, 42193, 42197, 42199, 42201, 42204, 42205, 42207, 42213, 42223, 42224, 42225, 42227, 42228, 42231, 42235, 42237, 42239, 42241, 42242, 42244, 42245, 42247, 42250, 42251, 42254, 42257, 42258, 42260, 42262, 42263, 42266, 42268, 42270, 42272, 42274, 42276, 42282, 42283, 42289, 42292, 42294, 42296, 42300, 42301, 42302, 42303, 42305, 42309, 42312, 42317, 42319, 42326, 42327, 42333, 42334, 42340, 42341, 42342, 42343, 42344, 42345, 42349, 42350, 42353, 42354, 42355, 42356, 42365, 42367, 42370, 42376, 42378, 42379, 42380, 42383, 42384, 42389, 42392, 42393, 42395, 42397, 42398, 42399, 42400, 42403, 42404, 42407, 42408, 42410, 42412, 42415, 42416, 42421, 42423, 42424, 42425, 42427, 42428, 42429, 42430, 42436, 42438, 42439, 42442, 42450, 42451, 42456, 42459, 42460, 42461, 42462, 42463, 42469, 42471, 42472, 42475, 42479, 42482, 42484, 42489, 42495, 42497, 42499, 42500, 42503, 42505, 42507, 42511, 42513, 42517, 42518, 42524, 42525, 42526, 42532, 42533, 42535, 42537, 42539, 42541, 42542, 42544, 42546, 42547, 42548, 42549, 42550, 42552, 42555, 42556, 42559, 42561, 42569, 42570, 42573, 42577, 42582, 42583, 42586, 42588, 42589, 42592, 42594, 42598, 42600, 42601, 42603, 42608, 42609, 42612, 42613, 42614, 42616, 42620, 42623, 42624, 42626, 42628, 42630, 42631, 42636, 42637, 42639, 42644, 42645, 42649, 42650, 42651, 42652, 42654, 42655, 42657, 42659, 42660, 42665, 42667, 42668, 42670, 42671, 42672, 42675, 42676, 42677, 42678, 42679, 42681, 42686, 42690, 42696, 42697, 42698, 42701, 42703, 42706, 42708, 42710, 42711, 42714, 42716, 42719, 42720, 42722, 42724, 42726, 42727, 42728, 42730, 42739, 42740, 42746, 42748, 42749, 42751, 42752, 42754, 42756, 42761, 42765, 42766, 42767, 42768, 42770, 42771, 42773, 42775, 42782, 42785, 42789, 42790, 42792, 42793, 42796, 42803, 42805, 42807, 42809, 42810, 42813, 42814, 42815, 42816, 42817, 42819, 42820, 42822, 42827, 42829, 42830, 42833, 42834, 42835, 42837, 42839, 42840, 42843, 42844, 42845, 42846, 42849, 42852, 42854, 42858, 42869, 42871, 42875, 42877, 42886, 42887, 42888, 42893, 42897, 42898, 42899, 42900, 42901, 42902, 42904, 42905, 42907, 42908, 42911, 42912, 42914, 42916, 42917, 42918, 42922, 42923, 42926, 42929, 42930, 42934, 42936, 42939, 42941, 42942, 42944, 42945, 42947, 42951, 42952, 42957, 42958, 42959, 42962, 42967, 42970, 42971, 42975, 42976, 42977, 42978, 42979, 42980, 42984, 42985, 42989, 42990, 42992, 42997, 42998, 43001, 43002, 43004, 43008, 43012, 43014, 43016, 43020, 43021, 43022, 43027, 43030, 43032, 43034, 43035, 43037, 43041, 43043, 43045, 43046, 43049, 43052, 43054, 43055, 43056, 43057, 43058, 43059, 43064, 43069, 43071, 43072, 43073, 43074, 43075, 43077, 43078, 43079, 43080, 43082, 43091, 43092, 43093, 43094, 43096, 43097, 43101, 43102, 43103, 43105, 43107, 43110, 43115, 43116, 43117, 43123, 43126, 43127, 43128, 43134, 43136, 43137, 43139, 43142, 43143, 43146, 43147, 43152, 43153, 43155, 43157, 43158, 43163, 43168, 43173, 43174, 43175, 43180, 43181, 43186, 43187, 43188, 43191, 43193, 43197, 43198, 43200, 43211, 43212, 43216, 43217, 43222, 43226, 43227, 43228, 43229, 43231, 43234, 43236, 43237, 43240, 43243, 43244, 43246, 43247, 43251, 43256, 43257, 43258, 43259, 43260, 43262, 43263, 43264, 43266, 43269, 43274, 43275, 43277, 43280, 43286, 43288, 43289, 43294, 43295, 43301, 43303, 43305, 43306, 43308, 43309, 43311, 43317, 43319, 43321, 43322, 43324, 43325, 43326, 43327, 43328, 43329, 43333, 43335, 43338, 43341, 43342, 43344, 43345, 43346, 43347, 43348, 43352, 43357, 43361, 43363, 43364, 43367, 43368, 43369, 43372, 43374, 43375, 43378, 43379, 43383, 43384, 43386, 43388, 43389, 43391, 43395, 43396, 43397, 43399, 43403, 43408, 43409, 43410, 43415, 43416, 43417, 43422, 43423, 43425, 43426, 43428, 43429, 43433, 43436, 43438, 43440, 43441, 43442, 43444, 43446, 43447, 43448, 43454, 43455, 43456, 43458, 43459, 43460, 43464, 43465, 43468, 43469, 43470, 43472, 43479, 43481, 43482, 43483, 43484, 43486, 43495, 43496, 43497, 43499, 43502, 43504, 43506, 43509, 43513, 43517, 43519, 43521, 43525, 43526, 43528, 43531, 43533, 43536, 43537, 43538, 43541, 43542, 43544, 43545, 43546, 43548, 43549, 43551, 43552, 43553, 43555, 43556, 43557, 43566, 43568, 43569, 43575, 43576, 43579, 43581, 43583, 43584, 43585, 43586, 43587, 43588, 43590, 43591, 43592, 43593, 43599, 43602, 43603, 43604, 43605, 43606, 43608, 43609, 43611, 43614, 43615, 43616, 43617, 43619, 43620, 43621, 43622, 43623, 43625, 43630, 43632, 43633, 43637, 43638, 43639, 43640, 43644, 43645, 43647, 43648, 43651, 43653, 43654, 43660, 43661, 43673, 43677, 43678, 43682, 43683, 43684, 43685, 43688, 43689, 43690, 43694, 43696, 43698, 43705, 43706, 43707, 43709, 43710, 43711, 43715, 43720, 43723, 43725, 43732, 43733, 43737, 43739, 43741, 43743, 43745, 43746, 43747, 43749, 43750, 43755, 43756, 43761, 43763, 43764, 43765, 43766, 43767, 43768, 43770, 43771, 43772, 43774, 43775, 43786, 43787, 43788, 43789, 43790, 43791, 43793, 43796, 43800, 43801, 43802, 43804, 43805, 43806, 43807, 43808, 43810, 43812, 43819, 43820, 43823, 43825, 43826, 43829, 43831, 43832, 43834, 43840, 43841, 43842, 43843, 43844, 43846, 43849, 43855, 43856, 43857, 43858, 43860, 43861, 43863, 43865, 43867, 43868, 43875, 43877, 43879, 43881, 43886, 43890, 43893, 43900, 43903, 43906, 43908, 43911, 43912, 43913, 43918, 43919, 43920, 43921, 43922, 43925, 43926, 43927, 43928, 43929, 43930, 43932, 43934, 43935, 43939, 43940, 43941, 43946, 43948, 43950, 43951, 43952, 43955, 43956, 43958, 43959, 43961, 43962, 43965, 43967, 43972, 43973, 43974, 43975, 43980, 43982, 43983, 43987, 43988, 43992, 43996, 43997, 43998, 44000, 44001, 44002, 44003, 44004, 44007, 44008, 44009, 44011, 44015, 44019, 44021, 44028, 44031, 44038, 44039, 44040, 44042, 44050, 44051, 44053, 44055, 44056, 44059, 44060, 44061, 44062, 44064, 44065, 44066, 44068, 44069, 44070, 44080, 44081, 44084, 44086, 44088, 44094, 44100, 44101, 44102, 44106, 44108, 44109, 44110, 44111, 44114, 44115, 44116, 44121, 44122, 44124, 44126, 44127, 44130, 44131, 44133, 44136, 44139, 44141, 44142, 44143, 44146, 44147, 44148, 44150, 44153, 44154, 44156, 44157, 44158, 44159, 44160, 44166, 44168, 44170, 44174, 44178, 44181, 44182, 44183, 44185, 44187, 44188, 44192, 44193, 44195, 44200, 44203, 44206, 44207, 44208, 44209, 44212, 44213, 44214, 44215, 44216, 44218, 44220, 44221, 44222, 44224, 44225, 44227, 44229, 44236, 44237, 44238, 44239, 44240, 44243, 44244, 44247, 44248, 44249, 44250, 44251, 44252, 44253, 44254, 44257, 44258, 44262, 44266, 44267, 44272, 44276, 44279, 44282, 44285, 44288, 44289, 44291, 44294, 44295, 44298, 44301, 44302, 44303, 44308, 44309, 44310, 44311, 44314, 44315, 44316, 44318, 44320, 44322, 44323, 44324, 44326, 44327, 44329, 44330, 44331, 44334, 44337, 44346, 44352, 44353, 44358, 44364, 44365, 44367, 44368, 44374, 44376, 44382, 44383, 44384, 44385, 44386, 44389, 44390, 44391, 44395, 44396, 44398, 44399, 44403, 44404, 44411, 44412, 44413, 44415, 44416, 44422, 44426, 44431, 44432, 44443, 44444, 44451, 44458, 44462, 44464, 44466, 44471, 44473, 44476, 44477, 44482, 44484, 44485, 44486, 44487, 44488, 44490, 44491, 44493, 44495, 44496, 44497, 44499, 44500, 44502, 44503, 44506, 44509, 44513, 44516, 44517, 44522, 44523, 44524, 44526, 44527, 44528, 44529, 44531, 44532, 44534, 44535, 44537, 44542, 44544, 44546, 44548, 44549, 44551, 44552, 44554, 44557, 44559, 44560, 44570, 44572, 44575, 44584, 44586, 44587, 44592, 44594, 44595, 44599, 44601, 44602, 44606, 44607, 44611, 44613, 44614, 44618, 44619, 44620, 44622, 44628, 44630, 44631, 44632, 44633, 44635, 44636, 44638, 44639, 44641, 44643, 44645, 44647, 44650, 44651, 44653, 44654, 44655, 44656, 44659, 44660, 44661, 44667, 44669, 44671, 44672, 44674, 44676, 44677, 44679, 44680, 44686, 44688, 44691, 44692, 44694, 44695, 44696, 44699, 44703, 44704, 44705, 44706, 44708, 44710, 44711, 44712, 44713, 44716, 44718, 44719, 44722, 44723, 44724, 44725, 44727, 44730, 44731, 44732, 44735, 44737, 44743, 44744, 44745, 44749, 44750, 44752, 44756, 44758, 44760, 44761, 44762, 44763, 44764, 44765, 44767, 44770, 44772, 44773, 44774, 44775, 44776, 44780, 44782, 44783, 44784, 44787, 44788, 44791, 44793, 44794, 44796, 44798, 44800, 44801, 44804, 44805, 44807, 44810, 44811, 44813, 44815, 44816, 44824, 44830, 44831, 44835, 44836, 44838, 44840, 44841, 44844, 44849, 44858, 44861, 44862, 44863, 44864, 44867, 44869, 44870, 44871, 44872, 44873, 44875, 44877, 44878, 44879, 44880, 44881, 44882, 44887, 44888, 44891, 44894, 44897, 44903, 44905, 44906, 44909, 44912, 44915, 44916, 44918, 44920, 44921, 44922, 44923, 44925, 44928, 44931, 44932, 44935, 44936, 44937, 44938, 44939, 44941, 44944, 44946, 44949, 44951, 44954, 44956, 44958, 44959, 44960, 44961, 44964, 44967, 44968, 44971, 44974, 44975, 44977, 44979, 44985, 44987, 44988, 44989, 44994, 44998, 45001, 45003, 45005, 45008, 45010, 45011, 45015, 45016, 45021, 45022, 45023, 45024, 45025, 45026, 45027, 45030, 45031, 45032, 45035, 45037, 45038, 45040, 45042, 45043, 45044, 45045, 45049, 45051, 45056, 45058, 45060, 45061, 45062, 45063, 45065, 45068, 45070, 45071, 45072, 45074, 45075, 45077, 45079, 45082, 45083, 45084, 45086, 45089, 45091, 45095, 45096, 45097, 45098, 45104, 45105, 45108, 45109, 45112, 45113, 45114, 45116, 45119, 45121, 45122, 45123, 45125, 45126, 45127, 45128, 45131, 45133, 45139, 45140, 45143, 45146, 45150, 45154, 45155, 45156, 45158, 45161, 45164, 45165, 45166, 45167, 45168, 45175, 45176, 45179, 45182, 45183, 45185, 45186, 45188, 45190, 45191, 45194, 45195, 45197, 45201, 45208, 45209, 45210, 45212, 45215, 45224, 45226, 45228, 45229, 45231, 45232, 45234, 45236, 45238, 45242, 45243, 45244, 45249, 45252, 45255, 45258, 45261, 45264, 45268, 45273, 45285, 45287, 45291, 45292, 45293, 45294, 45298, 45302, 45307, 45310, 45312, 45313, 45314, 45318, 45321, 45322, 45324, 45327, 45328, 45331, 45334, 45337, 45338, 45342, 45343, 45344, 45349, 45352, 45354, 45360, 45363, 45365, 45366, 45373, 45375, 45379, 45380, 45382, 45384, 45385, 45387, 45388, 45391, 45392, 45395, 45396, 45397, 45399, 45401, 45402, 45409, 45411, 45413, 45417, 45420, 45422, 45429, 45431, 45434, 45437, 45438, 45439, 45442, 45443, 45445, 45450, 45452, 45453, 45459, 45460, 45461, 45465, 45469, 45470, 45475, 45477, 45478, 45479, 45482, 45483, 45487, 45489, 45492, 45493, 45496, 45498, 45499, 45501, 45505, 45507, 45508, 45509, 45511, 45513, 45515, 45523, 45525, 45528, 45530, 45532, 45535, 45542, 45546, 45547, 45548, 45549, 45550, 45554, 45555, 45560, 45563, 45567, 45569, 45571, 45572, 45575, 45576, 45577, 45578, 45580, 45584, 45585, 45589, 45592, 45593, 45595, 45599, 45600, 45602, 45604, 45605, 45608, 45610, 45611, 45612, 45613, 45615, 45618, 45619, 45621, 45623, 45625, 45628, 45629, 45630, 45632, 45633, 45634, 45635, 45640, 45641, 45642, 45643, 45645, 45647, 45648, 45649, 45656, 45658, 45660, 45661, 45662, 45663, 45667, 45668, 45669, 45670, 45671, 45674, 45678, 45681, 45682, 45683, 45684, 45685, 45687, 45688, 45689, 45693, 45694, 45695, 45696, 45699, 45701, 45702, 45706, 45707, 45709, 45710, 45711, 45714, 45715, 45719, 45721, 45722, 45724, 45725, 45726, 45727, 45728, 45729, 45732, 45734, 45736, 45738, 45739, 45740, 45742, 45743, 45746, 45751, 45753, 45755, 45759, 45761, 45762, 45764, 45767, 45769, 45775, 45783, 45786, 45790, 45792, 45796, 45797, 45801, 45803, 45804, 45805, 45809, 45813, 45815, 45818, 45819, 45820, 45824, 45825, 45829, 45830, 45831, 45833, 45837, 45839, 45840, 45843, 45845, 45847, 45848, 45849, 45854, 45855, 45857, 45858, 45859, 45860, 45861, 45862, 45863, 45864, 45867, 45871, 45872, 45873, 45874, 45876, 45880, 45881, 45882, 45885, 45887, 45888, 45890, 45893, 45899, 45902, 45903, 45904, 45905, 45907, 45908, 45909, 45910, 45912, 45917, 45921, 45923, 45928, 45929, 45930, 45931, 45932, 45933, 45939, 45940, 45942, 45943, 45945, 45946, 45948, 45950, 45953, 45956, 45957, 45958, 45959, 45961, 45962, 45963, 45965, 45966, 45967, 45970, 45971, 45973, 45975, 45978, 45979, 45980, 45985, 45991, 45992, 45995, 45997, 46001, 46003, 46006, 46008, 46009, 46011, 46012, 46013, 46015, 46022, 46028, 46029, 46033, 46034, 46035, 46037, 46038, 46039, 46041, 46042, 46043, 46049, 46052, 46060, 46061, 46065, 46066, 46067, 46068, 46070, 46073, 46075, 46076, 46079, 46080, 46083, 46084, 46085, 46086, 46092, 46093, 46094, 46095, 46098, 46100, 46101, 46102, 46103, 46105, 46107, 46111, 46113, 46116, 46117, 46120, 46122, 46124, 46125, 46126, 46127, 46132, 46134, 46135, 46137, 46138, 46139, 46141, 46142, 46145, 46147, 46148, 46149, 46151, 46152, 46153, 46154, 46156, 46157, 46160, 46163, 46165, 46168, 46180, 46183, 46184, 46185, 46192, 46193, 46194, 46198, 46199, 46200, 46202, 46203, 46204, 46207, 46209, 46210, 46214, 46223, 46224, 46226, 46228, 46229, 46231, 46232, 46233, 46235, 46236, 46243, 46245, 46248, 46252, 46253, 46256, 46258, 46260, 46261, 46265, 46267, 46269, 46271, 46272, 46274, 46279, 46281, 46282, 46289, 46291, 46293, 46298, 46299, 46307, 46308, 46312, 46313, 46316, 46317, 46318, 46324, 46327, 46329, 46331, 46336, 46337, 46340, 46343, 46346, 46350, 46353, 46355, 46358, 46360, 46362, 46364, 46365, 46367, 46372, 46373, 46374, 46376, 46377, 46378, 46379, 46381, 46385, 46386, 46392, 46395, 46397, 46404, 46414, 46415, 46416, 46419, 46422, 46424, 46426, 46427, 46428, 46429, 46430, 46435, 46436, 46437, 46438, 46441, 46446, 46447, 46448, 46451, 46453, 46455, 46458, 46463, 46465, 46466, 46467, 46468, 46469, 46472, 46473, 46482, 46485, 46486, 46488, 46495, 46496, 46497, 46503, 46504, 46505, 46506, 46508, 46512, 46513, 46516, 46521, 46523, 46524, 46526, 46527, 46529, 46530, 46532, 46541, 46544, 46548, 46552, 46553, 46554, 46556, 46557, 46558, 46560, 46562, 46564, 46568, 46570, 46572, 46574, 46575, 46577, 46579, 46580, 46581, 46585, 46586, 46587, 46588, 46589, 46592, 46593, 46594, 46596, 46597, 46598, 46602, 46603, 46605, 46606, 46608, 46611, 46612, 46615, 46620, 46621, 46624, 46625, 46629, 46630, 46631, 46632, 46633, 46634, 46638, 46639, 46640, 46641, 46643, 46645, 46647, 46650, 46651, 46652, 46655, 46657, 46660, 46661, 46662, 46664, 46669, 46670, 46671, 46672, 46675, 46676, 46681, 46682, 46684, 46688, 46689, 46694, 46695, 46696, 46697, 46698, 46700, 46706, 46708, 46709, 46713, 46714, 46715, 46717, 46719, 46720, 46721, 46723, 46725, 46728, 46729, 46730, 46732, 46733, 46735, 46738, 46739, 46741, 46744, 46748, 46751, 46752, 46753, 46754, 46756, 46757, 46758, 46761, 46762, 46763, 46765, 46767, 46770, 46771, 46772, 46773, 46774, 46781, 46782, 46784, 46787, 46788, 46789, 46790, 46791, 46794, 46797, 46800, 46802, 46804, 46805, 46813, 46814, 46818, 46821, 46822, 46823, 46825, 46827, 46830, 46831, 46834, 46836, 46838, 46843, 46844, 46845, 46846, 46847, 46851, 46855, 46864, 46865, 46867, 46869, 46874, 46875, 46878, 46879, 46883, 46885, 46887, 46888, 46890, 46893, 46895, 46898, 46899, 46900, 46907, 46908, 46912, 46914, 46916, 46921, 46925, 46927, 46930, 46931, 46936, 46938, 46939, 46944, 46946, 46947, 46949, 46951, 46957, 46958, 46961, 46964, 46965, 46966, 46969, 46970, 46972, 46981, 46983, 46990, 46991, 46993, 46995, 46996, 47006, 47008, 47009, 47015, 47017, 47020, 47024, 47026, 47031, 47033, 47035, 47037, 47038, 47040, 47041, 47044, 47047, 47049, 47056, 47057, 47058, 47060, 47066, 47068, 47069, 47070, 47072, 47078, 47079, 47081, 47088, 47090, 47094, 47096, 47099, 47101, 47102, 47105, 47111, 47112, 47118, 47121, 47122, 47124, 47127, 47130, 47134, 47137, 47138, 47142, 47143, 47144, 47145, 47147, 47148, 47149, 47151, 47153, 47154, 47155, 47156, 47163, 47164, 47165, 47166, 47167, 47168, 47174, 47175, 47177, 47182, 47184, 47186, 47188, 47197, 47201, 47202, 47203, 47204, 47208, 47209, 47218, 47220, 47221, 47223, 47227, 47228, 47229, 47230, 47231, 47234, 47235, 47237, 47238, 47239, 47240, 47241, 47243, 47246, 47248, 47252, 47254, 47256, 47259, 47260, 47264, 47266, 47267, 47272, 47274, 47276, 47282, 47283, 47285, 47286, 47290, 47291, 47292, 47294, 47296, 47298, 47300, 47301, 47302, 47308, 47309, 47310, 47313, 47314, 47315, 47325, 47327, 47330, 47333, 47336, 47340, 47342, 47345, 47347, 47348, 47350, 47352, 47355, 47357, 47358, 47362, 47366, 47367, 47369, 47370, 47373, 47377, 47385, 47389, 47390, 47391, 47394, 47397, 47398, 47400, 47403, 47405, 47407, 47408, 47410, 47413, 47414, 47416, 47423, 47430, 47435, 47438, 47440, 47441, 47443, 47446, 47447, 47449, 47451, 47452, 47453, 47456, 47457, 47466, 47468, 47469, 47471, 47473, 47477, 47483, 47486, 47487, 47493, 47494, 47496, 47498, 47499, 47501, 47502, 47508, 47509, 47510, 47511, 47514, 47516, 47517, 47518, 47519, 47525, 47527, 47531, 47532, 47533, 47534, 47537, 47541, 47544, 47545, 47546, 47548, 47550, 47553, 47554, 47559, 47562, 47567, 47572, 47573, 47577, 47578, 47580, 47581, 47582, 47588, 47590, 47593, 47596, 47598, 47599, 47602, 47604, 47607, 47608, 47610, 47612, 47615, 47616, 47617, 47620, 47623, 47624, 47626, 47628, 47630, 47632, 47634, 47636, 47637, 47638, 47640, 47641, 47643, 47645, 47646, 47648, 47649, 47651, 47653, 47657, 47658, 47660, 47662, 47668, 47671, 47673, 47678, 47680, 47681, 47682, 47684, 47685, 47687, 47689, 47690, 47693, 47694, 47695, 47696, 47697, 47699, 47700, 47703, 47704, 47711, 47715, 47716, 47717, 47718, 47719, 47721, 47722, 47723, 47724, 47728, 47730, 47734, 47739, 47742, 47744, 47748, 47749, 47753, 47754, 47756, 47757, 47761, 47766, 47767, 47769, 47770, 47773, 47779, 47785, 47788, 47790, 47792, 47794, 47797, 47799, 47806, 47809, 47811, 47812, 47813, 47814, 47816, 47824, 47825, 47826, 47827, 47829, 47831, 47833, 47834, 47836, 47837, 47839, 47841, 47845, 47850, 47851, 47852, 47856, 47858, 47859, 47860, 47863, 47864, 47866, 47867, 47869, 47872, 47873, 47875, 47879, 47883, 47885, 47886, 47887, 47889, 47894, 47897, 47899, 47900, 47902, 47904, 47905, 47906, 47907, 47908, 47909, 47910, 47913, 47916, 47918, 47919, 47923, 47925, 47927, 47928, 47930, 47931, 47932, 47933, 47937, 47941, 47942, 47943, 47950, 47951, 47955, 47956, 47961, 47962, 47963, 47964, 47965, 47966, 47971, 47981, 47982, 47984, 47992, 47994, 47995, 47998, 48004, 48005, 48006, 48007, 48011, 48014, 48021, 48024, 48026, 48029, 48032, 48033, 48038, 48042, 48043, 48048, 48052, 48054, 48057, 48058, 48060, 48061, 48063, 48065, 48066, 48068, 48070, 48073, 48075, 48076, 48077, 48084, 48086, 48088, 48092, 48096, 48100, 48102, 48105, 48107, 48108, 48109, 48110, 48115, 48120, 48125, 48127, 48130, 48133, 48135, 48137, 48138, 48140, 48145, 48146, 48148, 48150, 48151, 48153, 48154, 48157, 48158, 48160, 48161, 48162, 48164, 48166, 48167, 48169, 48171, 48172, 48173, 48174, 48176, 48177, 48178, 48180, 48181, 48184, 48185, 48190, 48192, 48194, 48195, 48197, 48201, 48205, 48207, 48211, 48216, 48221, 48222, 48223, 48224, 48227, 48228, 48231, 48233, 48236, 48237, 48238, 48239, 48240, 48242, 48243, 48248, 48252, 48253, 48254, 48258, 48259, 48263, 48267, 48271, 48273, 48275, 48277, 48279, 48282, 48284, 48287, 48296, 48297, 48298, 48300, 48303, 48304, 48305, 48307, 48311, 48312, 48313, 48314, 48315, 48316, 48319, 48320, 48323, 48327, 48328, 48329, 48332, 48335, 48337, 48339, 48340, 48343, 48346, 48348, 48349, 48350, 48355, 48357, 48360, 48361, 48362, 48366, 48368, 48373, 48376, 48377, 48380, 48381, 48385, 48389, 48399, 48401, 48403, 48404, 48407, 48408, 48410, 48421, 48423, 48425, 48426, 48427, 48428, 48431, 48432, 48435, 48438, 48440, 48445, 48446, 48448, 48449, 48450, 48451, 48452, 48453, 48455, 48456, 48457, 48458, 48463, 48465, 48471, 48474, 48475, 48481]
    
    fig = plt.figure()
    venn3([set(sids_3a), set(sids_3b), set(sids_3c)], ('Diabetes (ICD9)', 'Hemo (ICD9+proc)', 'Diabetes or Hemo (notes)'))
    fig.savefig('venn3' + '.pdf', dpi=600, format='pdf', bbox_inches='tight')
    
    fig.clf()
    venn2([set(sids_3a), set(sids_3b)], ('Diabetes (ICD9)', 'Hemo (ICD9+proc)'))
    fig.savefig('venn2' + '.pdf', dpi=600, format='pdf', bbox_inches='tight')
    
    

    Venn 2: image

    Venn 3: image

    If you look at the circle representing the set Hemo (ICD9+proc), in Venn 2 it contains 1032+1059=2091 items, while in venn3 it contains 1013+862+197=2072 items.

    Did I miss something or is the count wrong in venn3? (the set Hemo (ICD9+proc) contains 2091 items)

    opened by Franck-Dernoncourt 7
  • Some set combinations produce bad location of numbers and different colors in venn3

    Some set combinations produce bad location of numbers and different colors in venn3

    This is matplotlib_venn vs 0.9 on MS Windows 7 64 bits. Same efffect in Windows XP 32 bits

    The following image is as expected for venn3([8, 74, 7, 50, 8, 433, 83]) :

    image

    but when using venn3([5, 35, 6, 81, 21, 621, 178]), I got different colors and wrong location of numbers:

    image

    btw, thanks for this nice app. I use it continously for my work.

    opened by joaquinabian 7
  • weighted venn

    weighted venn

    Hello, I just discovered this amazing tool, thank you very much !

    I was wondering if their was a way to weight the data that we pass to the function ?

    Imagine I have 2 sets of houses that i would like to compare (A & B). Each set has the same size. But, the house in the B set that are not in the A set are far bigger than the others. So, if i want to plot the venn diagram of my surfaces, it could show me that the B set cover far more space than the B set :)

    hope I was clear

    Have a nice day

    opened by vianmora 6
  • Venn diagrams with word clouds for set elements

    Venn diagrams with word clouds for set elements

    I made a thing. Super-derivative of your amazing work and the equally amazing wordcloud (https://github.com/amueller/word_cloud). Essentially, it plots the set elements as a word cloud on top of the corresponding subset patches.

    At the moment, the code can be found on my github: https://github.com/paulbrodersen/venn_wordcloud. However, to prevent the further balkanisation of python packages, I would love to properly integrate my code bits into your package -- if you are interested. It would essentially add two functions venn2_wordcloud and venn3_wordcloud, and one more dependency (wordcloud).

    opened by paulbrodersen 6
  • gdk_cursor_new_for_display errors in test phase

    gdk_cursor_new_for_display errors in test phase

    Hi, I am trying to run the package test suite, and for some reason it fails. Does it have anything to do with my cursor? o.0

    ============================================= test session starts ==============================================
    platform linux2 -- Python 2.7.10, pytest-2.8.1, py-1.4.30, pluggy-0.3.1
    rootdir: /var/tmp/portage/dev-python/matplotlib-venn-9999/work/matplotlib-venn-9999-python2_7/test/lib, inifile: 
    collected 1 items / 4 errors
    
    tests/issues_test.py F
    
    ==================================================== ERRORS ====================================================
    __________________________________ ERROR collecting tests/functional_test.py ___________________________________
    tests/functional_test.py:13: in <module>
        from tests.utils import exec_ipynb
    tests/utils.py:13: in <module>
        from matplotlib.pyplot import scatter
    /usr/lib64/python2.7/site-packages/matplotlib/pyplot.py:109: in <module>
        _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
    /usr/lib64/python2.7/site-packages/matplotlib/backends/__init__.py:32: in pylab_setup
        globals(),locals(),[backend_name],0)
    /usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk3agg.py:11: in <module>
        from . import backend_gtk3
    /usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk3.py:55: in <module>
        cursors.MOVE          : Gdk.Cursor.new(Gdk.CursorType.FLEUR),
    E   TypeError: constructor returned NULL
    ----------------------------------------------- Captured stderr ------------------------------------------------
    No protocol specified
    No protocol specified
    
    (py.test:22001): Gdk-CRITICAL **: gdk_cursor_new_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
    ____________________________________ ERROR collecting tests/region_test.py _____________________________________
    tests/region_test.py:15: in <module>
        from tests.utils import exec_ipynb
    tests/utils.py:13: in <module>
        from matplotlib.pyplot import scatter
    /usr/lib64/python2.7/site-packages/matplotlib/pyplot.py:109: in <module>
        _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
    /usr/lib64/python2.7/site-packages/matplotlib/backends/__init__.py:32: in pylab_setup
        globals(),locals(),[backend_name],0)
    /usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk3agg.py:11: in <module>
        from . import backend_gtk3
    /usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk3.py:55: in <module>
        cursors.MOVE          : Gdk.Cursor.new(Gdk.CursorType.FLEUR),
    E   TypeError: constructor returned NULL
    ----------------------------------------------- Captured stderr ------------------------------------------------
    
    (py.test:22001): Gdk-CRITICAL **: gdk_cursor_new_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
    _____________________________________ ERROR collecting tests/venn3_test.py _____________________________________
    tests/venn3_test.py:11: in <module>
        from matplotlib_venn._venn3 import *
    /var/tmp/portage/dev-python/matplotlib-venn-9999/work/matplotlib-venn-9999-python2_7/test/lib/matplotlib_venn-0.11-py2.7.egg/matplotlib_venn/__init__.py:55: in <module>
        ???
    /var/tmp/portage/dev-python/matplotlib-venn-9999/work/matplotlib-venn-9999-python2_7/test/lib/matplotlib_venn-0.11-py2.7.egg/matplotlib_venn/_venn2.py:21: in <module>
        ???
    /usr/lib64/python2.7/site-packages/matplotlib/pyplot.py:109: in <module>
        _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
    /usr/lib64/python2.7/site-packages/matplotlib/backends/__init__.py:32: in pylab_setup
        globals(),locals(),[backend_name],0)
    /usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk3agg.py:11: in <module>
        from . import backend_gtk3
    /usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk3.py:55: in <module>
        cursors.MOVE          : Gdk.Cursor.new(Gdk.CursorType.FLEUR),
    E   TypeError: constructor returned NULL
    ----------------------------------------------- Captured stderr ------------------------------------------------
    /usr/lib64/python2.7/site-packages/matplotlib/__init__.py:1318: UserWarning:  This call to matplotlib.use() has no effect
    because the backend has already been chosen;
    matplotlib.use() must be called *before* pylab, matplotlib.pyplot,
    or matplotlib.backends is imported for the first time.
    
      warnings.warn(_use_error_msg)
    
    (py.test:22001): Gdk-CRITICAL **: gdk_cursor_new_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
    __________________________________ ERROR collecting tests/venn_ax_kw_test.py ___________________________________
    tests/venn_ax_kw_test.py:11: in <module>
        from matplotlib_venn._venn2 import *
    /var/tmp/portage/dev-python/matplotlib-venn-9999/work/matplotlib-venn-9999-python2_7/test/lib/matplotlib_venn-0.11-py2.7.egg/matplotlib_venn/__init__.py:55: in <module>
        ???
    /var/tmp/portage/dev-python/matplotlib-venn-9999/work/matplotlib-venn-9999-python2_7/test/lib/matplotlib_venn-0.11-py2.7.egg/matplotlib_venn/_venn2.py:21: in <module>
        ???
    /usr/lib64/python2.7/site-packages/matplotlib/pyplot.py:109: in <module>
        _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
    /usr/lib64/python2.7/site-packages/matplotlib/backends/__init__.py:32: in pylab_setup
        globals(),locals(),[backend_name],0)
    /usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk3agg.py:11: in <module>
        from . import backend_gtk3
    /usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk3.py:55: in <module>
        cursors.MOVE          : Gdk.Cursor.new(Gdk.CursorType.FLEUR),
    E   TypeError: constructor returned NULL
    ----------------------------------------------- Captured stderr ------------------------------------------------
    
    (py.test:22001): Gdk-CRITICAL **: gdk_cursor_new_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
    =================================================== FAILURES ===================================================
    ________________________________________________ test_issue_17 _________________________________________________
    
        def test_issue_17():
    >       import matplotlib_venn as mv
    
    tests/issues_test.py:12: 
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    /var/tmp/portage/dev-python/matplotlib-venn-9999/work/matplotlib-venn-9999-python2_7/test/lib/matplotlib_venn-0.11-py2.7.egg/matplotlib_venn/__init__.py:55: in <module>
        ???
    /var/tmp/portage/dev-python/matplotlib-venn-9999/work/matplotlib-venn-9999-python2_7/test/lib/matplotlib_venn-0.11-py2.7.egg/matplotlib_venn/_venn2.py:21: in <module>
        ???
    /usr/lib64/python2.7/site-packages/matplotlib/pyplot.py:109: in <module>
        _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
    /usr/lib64/python2.7/site-packages/matplotlib/backends/__init__.py:32: in pylab_setup
        globals(),locals(),[backend_name],0)
    /usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk3agg.py:11: in <module>
        from . import backend_gtk3
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    
        from __future__ import (absolute_import, division, print_function,
                                unicode_literals)
    
        import six
    
        import os, sys
        def fn_name(): return sys._getframe(1).f_code.co_name
    
        try:
            import gi
        except ImportError:
            raise ImportError("Gtk3 backend requires pygobject to be installed.")
    
        try:
            gi.require_version("Gtk", "3.0")
        except AttributeError:
            raise ImportError(
                "pygobject version too old -- it must have require_version")
        except ValueError:
            raise ImportError(
                "Gtk3 backend requires the GObject introspection bindings for Gtk 3 "
                "to be installed.")
    
        try:
            from gi.repository import Gtk, Gdk, GObject, GLib
        except ImportError:
            raise ImportError("Gtk3 backend requires pygobject to be installed.")
    
        import matplotlib
        from matplotlib._pylab_helpers import Gcf
        from matplotlib.backend_bases import RendererBase, GraphicsContextBase, \
             FigureManagerBase, FigureCanvasBase, NavigationToolbar2, cursors, TimerBase
        from matplotlib.backend_bases import ShowBase
    
        from matplotlib.cbook import is_string_like, is_writable_file_like
        from matplotlib.colors import colorConverter
        from matplotlib.figure import Figure
        from matplotlib.widgets import SubplotTool
    
        from matplotlib import lines
        from matplotlib import cbook
        from matplotlib import verbose
        from matplotlib import rcParams
    
        backend_version = "%s.%s.%s" % (Gtk.get_major_version(), Gtk.get_micro_version(), Gtk.get_minor_version())
    
        _debug = False
        #_debug = True
    
        # the true dots per inch on the screen; should be display dependent
        # see http://groups.google.com/groups?q=screen+dpi+x11&hl=en&lr=&ie=UTF-8&oe=UTF-8&safe=off&selm=7077.26e81ad5%40swift.cs.tcd.ie&rnum=5 for some info about screen dpi
        PIXELS_PER_INCH = 96
    
        cursord = {
    >       cursors.MOVE          : Gdk.Cursor.new(Gdk.CursorType.FLEUR),
            cursors.HAND          : Gdk.Cursor.new(Gdk.CursorType.HAND2),
            cursors.POINTER       : Gdk.Cursor.new(Gdk.CursorType.LEFT_PTR),
            cursors.SELECT_REGION : Gdk.Cursor.new(Gdk.CursorType.TCROSS),
            }
    E   TypeError: constructor returned NULL
    
    /usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk3.py:55: TypeError
    --------------------------------------------- Captured stderr call ---------------------------------------------
    
    (py.test:22001): Gdk-CRITICAL **: gdk_cursor_new_for_display: assertion 'GDK_IS_DISPLAY (display)' failed
    
    opened by TheChymera 6
  • Have problem with representing the intersection

    Have problem with representing the intersection

    I used the

    venn3([A,B,C], ('AA', 'BB','CC'))

    where A and B and C are sets. But it does not show the len(A \interset B -C) I mean I have len(A \interset B -C)=35 but in venn give me nothing so len(A \interset B -C)=0? Could you please give me some help?

    opened by Sjok 6
  • added suggestion for nested Venn diagram using squares

    added suggestion for nested Venn diagram using squares

    Hi Konstantin,

    what do you think about adding this diagram? It's for consecutive sub-selection (subsets of subsets), and also area-proportional. I used rounded squares.

    call like so:

    venn_nested(sets, labels = [r'$\mathbf{%s}$ ($%d$)' % (string.ascii_uppercase[i], len(s)) for i, s in enumerate(sets)])
    

    Cheers, Johannes

    probselect

    opened by JohannesBuchner 5
  • plt is not defined

    plt is not defined

    I get this this error:

    NameError: name 'plt' is not defined
    

    With this code:

    import matplotlib_venn
    matplotlib_venn.venn2((set((1, 2, 3)), set((3, 4, 5))))
    plt.savefig('test.png')
    

    I also tried the given example:

    set1 = set(['A', 'B', 'C', 'D'])
    set2 = set(['B', 'C', 'D', 'E'])
    set3 = set(['C', 'D',' E', 'F', 'G'])
    
    venn3([set1, set2, set3], ('Set1', 'Set2', 'Set3'))
    plt.show()
    
    opened by tommycarstensen 4
  • Make imports in tests implicit

    Make imports in tests implicit

    opened by QuLogic 0
  • Add Venn Areas graphic

    Add Venn Areas graphic

    First of all, many thanks for this awesome package!

    Not knowing Venn Diagrams and having little math background, I was first confused by the syntax (Abc, aBc, ABc, abC, AbC, aBC, ABC) - looking at Inclusion–exclusion principle I thought e.g. aBc meant |B|.

    Anyway, what would really help would be to add a graphic to illustrate these areas. I created the following with the help of matplotlib-venn:

    venn

    v = venn3(
        subsets=(
            500,
            500, 
            100,
            500,
            100,
            100,
            10),
        set_labels = ('A', 'B', 'C'))
    v.get_label_by_id('100').set_text('Abc')
    v.get_label_by_id('010').set_text('aBc')
    v.get_label_by_id('001').set_text('abC')
    v.get_label_by_id('110').set_text('ABc')
    v.get_label_by_id('101').set_text('AbC')
    v.get_label_by_id('011').set_text('aBC')
    v.get_label_by_id('111').set_text('ABC')
    plt.show()
    

    Perhaps this could be added to the README.md?

    opened by Sieboldianus 0
  • Feature request: option to render elements of sets in corresponding Venn diagram regions

    Feature request: option to render elements of sets in corresponding Venn diagram regions

    It would be excellent if venn2 had an option to render Venn diagram regions with elements of the sets instead of the element count.

    matplotlib_venn.venn2([set([1, 2, 3, 4, 5, 6, 7]), set([4, 5, 7, 10, 11])])
    

    which produces this image

    Could have an option like this:

    matplotlib_venn.venn2([set([1, 2, 3, 4, 5, 6, 7]), set([4, 5, 7, 10, 11])], render_elements=True)
    

    which would instead produce this:

    image

    opened by jimmyocto 2
  • Consider using ellipses as basic shapes

    Consider using ellipses as basic shapes

    Ellipses provide more degrees of freedom, hence perhaps could be used to provide a more faithful representation of the data.

    The use of ellipses would require a complete remake of the internal "region-cutting" algorithm (which is made specifically for circles). Relying on an external package such as shapely could be an easy solution.

    opened by konstantint 0
  • Design a new layout algorithm

    Design a new layout algorithm

    ... along with a general system for pluggable layouts. This would address most of issues being reported here regularly (#30, #34).

    The main problem with current layout is that it sometimes results in circles positioned so that some of the 7 regions, corresponding to subsets simply is not present. The better layout should make sure each of the regions exists (even if it would misrepresent some of the other general patterns).

    There are several approaches for implementing such logic:

    • Applying the current layout, checking whether all the subset regions are present, increasing the weight of the missing regions and repeating until convergence.
    • Formulating the "loss function" of the layout so that it would account both for quality of representation and non-zeroeness of the set areas, and finding the layout using scipy.optimize.

    Internally the layout would probably be represented as a function, which, given subset sizes, returns the radii and centers of the circles. Externally the choice of the layout would be specified by the keyword parameter layout passed to the venn3/venn2 function. The value would be either None (default), string ('naive', 'optim', ...) or the function itself.

    opened by konstantint 0
  • 4-way venns?

    4-way venns?

    Hi,

    I love this package, it's fantastic. I was wondering if you had any plans to extend it to 4-way venns as well. (Or know of a good python package for that?) As far as I know, proportional 4-way venns are not possible with circles or elipses, but even non-proportional ones would be quite useful.

    Louis

    opened by lbergelson 10
Owner
Konstantin Tretyakov
Konstantin Tretyakov
erdantic is a simple tool for drawing entity relationship diagrams (ERDs) for Python data model classes

erdantic is a simple tool for drawing entity relationship diagrams (ERDs) for Python data model classes. Diagrams are rendered using the venerable Graphviz library.

DrivenData 129 Jan 4, 2023
Draw tree diagrams from indented text input

Draw tree diagrams This repository contains two very different scripts to produce hierarchical tree diagrams like this one: $ ./classtree.py collectio

Luciano Ramalho 8 Dec 14, 2022
A toolkit to generate MR sequence diagrams

mrsd: a toolkit to generate MR sequence diagrams mrsd is a Python toolkit to generate MR sequence diagrams, as shown below for the basic FLASH sequenc

Julien Lamy 3 Dec 25, 2021
Cartopy - a cartographic python library with matplotlib support

Cartopy is a Python package designed to make drawing maps for data analysis and visualisation easy. Table of contents Overview Get in touch License an

null 1.2k Jan 1, 2023
The windML framework provides an easy-to-use access to wind data sources within the Python world, building upon numpy, scipy, sklearn, and matplotlib. Renewable Wind Energy, Forecasting, Prediction

windml Build status : The importance of wind in smart grids with a large number of renewable energy resources is increasing. With the growing infrastr

Computational Intelligence Group 125 Dec 24, 2022
NorthPitch is a python soccer plotting library that sits on top of Matplotlib

NorthPitch is a python soccer plotting library that sits on top of Matplotlib.

Devin Pleuler 30 Feb 22, 2022
matplotlib: plotting with Python

Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. Check out our home page for more inform

Matplotlib Developers 16.7k Jan 8, 2023
:small_red_triangle: Ternary plotting library for python with matplotlib

python-ternary This is a plotting library for use with matplotlib to make ternary plots plots in the two dimensional simplex projected onto a two dime

Marc 611 Dec 29, 2022
Joyplots in Python with matplotlib & pandas :chart_with_upwards_trend:

JoyPy JoyPy is a one-function Python package based on matplotlib + pandas with a single purpose: drawing joyplots (a.k.a. ridgeline plots). The code f

Leonardo Taccari 462 Jan 2, 2023
A python package for animating plots build on matplotlib.

animatplot A python package for making interactive as well as animated plots with matplotlib. Requires Python >= 3.5 Matplotlib >= 2.2 (because slider

Tyler Makaro 394 Dec 18, 2022
matplotlib: plotting with Python

Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. Check out our home page for more inform

Matplotlib Developers 13.1k Feb 18, 2021
:small_red_triangle: Ternary plotting library for python with matplotlib

python-ternary This is a plotting library for use with matplotlib to make ternary plots plots in the two dimensional simplex projected onto a two dime

Marc 391 Feb 17, 2021
Joyplots in Python with matplotlib & pandas :chart_with_upwards_trend:

JoyPy JoyPy is a one-function Python package based on matplotlib + pandas with a single purpose: drawing joyplots (a.k.a. ridgeline plots). The code f

Leonardo Taccari 317 Feb 17, 2021
A python package for animating plots build on matplotlib.

animatplot A python package for making interactive as well as animated plots with matplotlib. Requires Python >= 3.5 Matplotlib >= 2.2 (because slider

Tyler Makaro 356 Feb 16, 2021
Easily convert matplotlib plots from Python into interactive Leaflet web maps.

mplleaflet mplleaflet is a Python library that converts a matplotlib plot into a webpage containing a pannable, zoomable Leaflet map. It can also embe

Jacob Wasserman 502 Dec 28, 2022
A Python library for plotting hockey rinks with Matplotlib.

Hockey Rink A Python library for plotting hockey rinks with Matplotlib. Installation pip install hockey_rink Current Rinks The following shows the cus

null 24 Jan 2, 2023
649 Pokémon palettes as CSVs, with a Python lib to turn names/IDs into palettes, or MatPlotLib compatible ListedColormaps.

PokePalette 649 Pokémon, broken down into CSVs of their RGB colour palettes. Complete with a Python library to convert names or Pokédex IDs into eithe

null 11 Dec 5, 2022
Some examples with MatPlotLib library in Python

MatPlotLib Example Some examples with MatPlotLib library in Python Point: Run files only in project's directory About me Full name: Matin Ardestani Ag

Matin Ardestani 4 Mar 29, 2022
Flexitext is a Python library that makes it easier to draw text with multiple styles in Matplotlib

Flexitext is a Python library that makes it easier to draw text with multiple styles in Matplotlib

Tomás Capretto 93 Dec 28, 2022