kgr/lego/lego_graph.ipynb

14349 lines
203 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"id": "747b245f",
"metadata": {},
"source": [
"Build the Lego Knowledge Graph using the sources in `/data`."
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "90209948",
"metadata": {},
"outputs": [],
"source": [
"from rdflib import Graph, Namespace, XSD, OWL, RDF, RDFS, SKOS, URIRef, Literal\n",
"import pandas as pd"
]
},
{
"cell_type": "markdown",
"id": "fe91fa67",
"metadata": {},
"source": [
"Setup the requirements for building a knowledge graph"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "8e573135",
"metadata": {},
"outputs": [],
"source": [
"g = Graph()\n",
"thm = Namespace(\"https://thm.de/\")\n",
"THM = Namespace(\"https://thm.de/ont/\")"
]
},
{
"cell_type": "markdown",
"id": "d56199d5",
"metadata": {},
"source": [
"# Rebrickable"
]
},
{
"cell_type": "markdown",
"id": "d1e1abb0",
"metadata": {},
"source": [
"![Rebrickable](\\data\\rebrickable\\downloads_schema_v3.png)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "d8a1fe84",
"metadata": {},
"outputs": [],
"source": [
"re_colors = pd.read_csv(\"data/rebrickable/colors.csv\")\n",
"re_elements = pd.read_csv(\"data/rebrickable/elements.csv\")\n",
"re_inventories = pd.read_csv(\"data/rebrickable/inventories.csv\")\n",
"re_inventory_minifigs = pd.read_csv(\"data/rebrickable/inventory_minifigs.csv\")\n",
"re_inventory_parts = pd.read_csv(\"data/rebrickable/inventory_parts.csv\")\n",
"re_inventory_sets = pd.read_csv(\"data/rebrickable/inventory_sets.csv\")\n",
"re_minifigs = pd.read_csv(\"data/rebrickable/minifigs.csv\")\n",
"re_part_categories = pd.read_csv(\"data/rebrickable/part_categories.csv\")\n",
"re_part_relationships = pd.read_csv(\"data/rebrickable/part_relationships.csv\")\n",
"re_parts = pd.read_csv(\"data/rebrickable/parts.csv\")\n",
"re_sets = pd.read_csv(\"data/rebrickable/sets.csv\")\n",
"re_themes = pd.read_csv(\"data/rebrickable/themes.csv\")"
]
},
{
"cell_type": "markdown",
"id": "f3677416",
"metadata": {},
"source": [
"Colors"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "ae505704",
"metadata": {},
"outputs": [],
"source": [
"for color in re_colors.itertuples(index=False):\n",
" color_ref = thm[f\"color/{color.id}\"]\n",
"\n",
" g.add((color_ref, RDF.type, THM.Color ))\n",
" g.add((color_ref, RDFS.label, Literal(color.name, lang=\"en\")))\n",
" g.add((color_ref, THM.rgbcolor, Literal(color.rgb)))\n",
" g.add((color_ref, THM.is_transparent, Literal(color.is_trans, datatype=XSD.boolean)))\n",
" \n",
" if not pd.isna(color.y1):\n",
" # First appearance\n",
" g.add((color_ref, THM.first_year, Literal(int(color.y1), datatype=XSD.integer)))\n",
" if not pd.isna(color.y2):\n",
" # Last appearance\n",
" g.add((color_ref, THM.last_year, Literal(int(color.y2), datatype=XSD.integer)))\n"
]
},
{
"cell_type": "markdown",
"id": "e27b2bc4",
"metadata": {},
"source": [
"Part Categories"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "fb9e17d6",
"metadata": {},
"outputs": [],
"source": [
"for part_category in re_part_categories.itertuples(index=False):\n",
" part_category_ref = thm[f\"part_category/{part_category.id}\"]\n",
"\n",
" g.add((part_category_ref, RDF.type, THM.PartCategory ))\n",
" g.add((part_category_ref, RDFS.label, Literal(part_category_ref, lang=\"en\")))"
]
},
{
"cell_type": "markdown",
"id": "ea32849b",
"metadata": {},
"source": [
"Parts"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "8fdb080e",
"metadata": {},
"outputs": [],
"source": [
"for part in re_parts.itertuples(index=False):\n",
" part_ref = thm[f\"part/{part.part_num}\"]\n",
"\n",
" g.add((part_ref, RDF.type, THM.Part))\n",
" g.add((part_ref, RDFS.label, Literal(part.name, lang=\"en\")))\n",
" g.add((part_ref, THM.part_category, thm[f\"part_category/{part.part_cat_id}\"]))\n",
" g.add((part_ref, THM.part_material, Literal(part.part_material)))"
]
},
{
"cell_type": "markdown",
"id": "fcaadd84",
"metadata": {},
"source": [
"Elements"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "579b1d67",
"metadata": {},
"outputs": [],
"source": [
"for element in re_elements.itertuples(index=False):\n",
" element_ref = thm[f\"element/{element.element_id}\"]\n",
" part_ref = thm[f\"part/{element.part_num}\"]\n",
" color_ref = thm[f\"color/{element.color_id}\"]\n",
"\n",
" g.add((element_ref, RDF.type, RDF.Property))\n",
" g.add((element_ref, RDF.type, THM.Element))\n",
"\n",
" g.add((element_ref, RDFS.domain, THM.Part))\n",
" g.add((element_ref, RDFS.range, THM.Color))\n",
"\n",
" g.add((element_ref, THM.color, color_ref))\n",
" g.add((part_ref, THM.part, part_ref))"
]
},
{
"cell_type": "markdown",
"id": "44dae336",
"metadata": {},
"source": [
"Part Relationships"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "00db079a",
"metadata": {},
"outputs": [],
"source": [
"for part_relationship in re_part_relationships.itertuples(index=False):\n",
" part_ref_parent = thm[f\"part/{part_relationship.parent_part_num}\"]\n",
" part_ref_child = thm[f\"part/{part_relationship.child_part_num}\"]\n",
"\n",
" g.add((part_ref_parent, THM.has_child, part_ref_child))\n",
" g.add((part_ref_child, THM.has_parent, part_ref_parent))"
]
},
{
"cell_type": "markdown",
"id": "19dc64b8",
"metadata": {},
"source": [
"Themes"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "1a529aae",
"metadata": {},
"outputs": [],
"source": [
"for theme in re_themes.itertuples(index=False):\n",
" theme_ref = thm[f\"theme/{int(theme.id)}\"]\n",
"\n",
" g.add((theme_ref, RDF.type, THM.Theme))\n",
" g.add((theme_ref, RDFS.label, Literal(theme.name, lang=\"en\")))\n",
"\n",
" if not pd.isna(theme.parent_id):\n",
" g.add((theme_ref, THM.parent_theme, thm[f\"theme/{int(theme.parent_id)}\"]))"
]
},
{
"cell_type": "markdown",
"id": "3f72c2e9",
"metadata": {},
"source": [
"Sets"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "29b357ef",
"metadata": {},
"outputs": [],
"source": [
"for lego_set in re_sets.itertuples(index=False):\n",
" set_ref = thm[f\"set/lego/{lego_set.set_num}\"]\n",
"\n",
" g.add((set_ref, RDF.type, THM.Set))\n",
" g.add((set_ref, RDFS.label, Literal(lego_set.name, lang=\"en\")))\n",
" g.add((set_ref, THM.year, Literal(int(lego_set.year), datatype=XSD.integer)))\n",
" g.add((set_ref, THM.theme, thm[f\"theme/{int(lego_set.theme_id)}\"]))\n",
" g.add((set_ref, THM.num_parts, Literal(int(lego_set.num_parts), datatype=XSD.integer)))\n",
" g.add((set_ref, THM.brand, Literal(\"Lego\")))"
]
},
{
"cell_type": "markdown",
"id": "d2616476",
"metadata": {},
"source": [
"Minifigures"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "a67b3e70",
"metadata": {},
"outputs": [],
"source": [
"for minifig in re_minifigs.itertuples(index=False):\n",
" minifig_ref = thm[f\"minifig/{minifig.fig_num}\"]\n",
"\n",
" g.add((minifig_ref, RDF.type, THM.Minifig))\n",
" g.add((minifig_ref, RDFS.label, Literal(minifig.name, lang=\"en\")))\n",
" g.add((minifig_ref, THM.num_parts, Literal(int(minifig.num_parts), datatype=XSD.integer)))"
]
},
{
"cell_type": "markdown",
"id": "2e9baff1",
"metadata": {},
"source": [
"Now the ugly part: Inventories"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "0c97dc4d",
"metadata": {},
"outputs": [],
"source": [
"for inventory in re_inventories.itertuples(index=False):\n",
" inventory_ref = thm[f\"inventory/{inventory.id}\"]\n",
"\n",
" g.add((inventory_ref, RDF.type, THM.Inventory))\n",
" g.add((inventory_ref, THM.set, thm[f\"set/lego/{inventory.set_num}\"]))"
]
},
{
"cell_type": "markdown",
"id": "7c962cf0",
"metadata": {},
"source": [
"Inventories relate sets, minifigures and parts to each other, creating a kind of \"top level set\" \n",
"(this takes a lot of time)"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "dc2ba03e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'\\nfor inventory_part in re_inventory_parts.itertuples(index=False):\\n inventory_part_ref = thm[f\"inventory_part/{inventory_part.inventory_id}/{inventory_part.part_num}\"]\\n\\n inventory_ref = thm[f\"inventory/{inventory_part.inventory_id}\"]\\n part_ref = thm[f\"part/{inventory_part.part_num}\"]\\n\\n g.add((inventory_part_ref, RDF.type, THM.PartInv))\\n g.add((inventory_part_ref, RDF.type, RDF.Property))\\n\\n g.add((inventory_part_ref, RDFS.domain, THM.Inventory))\\n g.add((inventory_part_ref, RDFS.range, THM.Part))\\n\\n g.add((inventory_ref, THM.contains, inventory_part_ref))\\n g.add((part_ref, THM.belongs, inventory_part_ref))\\n\\n g.add((inventory_part_ref, THM.quantity, Literal(int(inventory_part.quantity), datatype=XSD.integer)))\\n g.add((inventory_part_ref, THM.is_spare, Literal(inventory_part.is_spare, datatype=XSD.boolean)))\\n g.add((inventory_part_ref, THM.color, thm[f\"color/{inventory_part.color_id}\"]))\\n'"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"\"\"\n",
"for inventory_part in re_inventory_parts.itertuples(index=False):\n",
" inventory_part_ref = thm[f\"inventory_part/{inventory_part.inventory_id}/{inventory_part.part_num}\"]\n",
" \n",
" inventory_ref = thm[f\"inventory/{inventory_part.inventory_id}\"]\n",
" part_ref = thm[f\"part/{inventory_part.part_num}\"]\n",
"\n",
" g.add((inventory_part_ref, RDF.type, THM.PartInv))\n",
" g.add((inventory_part_ref, RDF.type, RDF.Property))\n",
"\n",
" g.add((inventory_part_ref, RDFS.domain, THM.Inventory))\n",
" g.add((inventory_part_ref, RDFS.range, THM.Part))\n",
" \n",
" g.add((inventory_ref, THM.contains, inventory_part_ref))\n",
" g.add((part_ref, THM.belongs, inventory_part_ref))\n",
"\n",
" g.add((inventory_part_ref, THM.quantity, Literal(int(inventory_part.quantity), datatype=XSD.integer)))\n",
" g.add((inventory_part_ref, THM.is_spare, Literal(inventory_part.is_spare, datatype=XSD.boolean)))\n",
" g.add((inventory_part_ref, THM.color, thm[f\"color/{inventory_part.color_id}\"]))\n",
"\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "8715a1cf",
"metadata": {},
"outputs": [],
"source": [
"for inventory_set in re_inventory_sets.itertuples(index=False):\n",
" inventory_set_ref = thm[f\"inventory_set/{inventory_set.inventory_id}/{inventory_set.set_num}\"]\n",
"\n",
" inventory_ref = thm[f\"inventory/{inventory_set.inventory_id}\"]\n",
" set_ref = thm[f\"set/lego/{inventory_set.set_num}\"]\n",
"\n",
" g.add((inventory_set_ref, RDF.type, THM.SetInv))\n",
" g.add((inventory_set_ref, RDF.type, RDF.Property))\n",
"\n",
" g.add((inventory_set_ref, RDFS.domain, THM.Inventory))\n",
" g.add((inventory_set_ref, RDFS.range, THM.Set))\n",
"\n",
" g.add((inventory_ref, THM.contains, inventory_set_ref))\n",
" g.add((set_ref, THM.belongs, inventory_set_ref))\n",
" \n",
" g.add((inventory_set_ref, THM.quantity, Literal(int(inventory_set.quantity), datatype=XSD.integer)))"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "08c2c580",
"metadata": {},
"outputs": [],
"source": [
"for inventory_minifig in re_inventory_minifigs.itertuples(index=False):\n",
" inventory_minifig_ref = thm[f\"inventory_minifig/{inventory_minifig.inventory_id}/{inventory_minifig.fig_num}\"]\n",
"\n",
" inventory_ref = thm[f\"inventory/{inventory_minifig.inventory_id}\"]\n",
" minifig_ref = thm[f\"minifig/{inventory_minifig.fig_num}\"]\n",
"\n",
" g.add((inventory_minifig_ref, RDF.type, THM.MinifigInv))\n",
" g.add((inventory_minifig_ref, RDF.type, RDF.Property))\n",
"\n",
" g.add((inventory_minifig_ref, RDFS.domain, THM.Inventory))\n",
" g.add((inventory_minifig_ref, RDFS.range, THM.Minifig))\n",
"\n",
" g.add((inventory_ref, THM.contains, inventory_minifig_ref))\n",
" g.add((minifig_ref, THM.belongs, inventory_minifig_ref))\n",
" \n",
" g.add((inventory_minifig_ref, THM.quantity, Literal(int(inventory_minifig.quantity), datatype=XSD.integer)))"
]
},
{
"cell_type": "markdown",
"id": "dcbab237",
"metadata": {},
"source": [
"# Brickset"
]
},
{
"cell_type": "markdown",
"id": "d8fb5374",
"metadata": {},
"source": [
"add for prices"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "1e0ac437",
"metadata": {},
"outputs": [],
"source": [
"bs_sets = pd.read_csv(\"./data/brickset/sets.csv\")\n",
"bs_parts = pd.read_csv(\"./data/brickset/parts.csv\")"
]
},
{
"cell_type": "markdown",
"id": "d120c079",
"metadata": {},
"source": [
"Add Set prices"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "fd944ccb",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2\n",
"9\n",
"9\n",
"14\n",
"24\n",
"39\n",
"3\n",
"6\n",
"13\n",
"14\n",
"12\n",
"24\n",
"3\n",
"6\n",
"9\n",
"14\n",
"24\n",
"40\n",
"2\n",
"2\n",
"2\n",
"10\n",
"15\n",
"20\n",
"30\n",
"50\n",
"50\n",
"12\n",
"14\n",
"35\n",
"199\n",
"39\n",
"149\n",
"99\n",
"34\n",
"49\n",
"75\n",
"102\n",
"49\n",
"49\n",
"146\n",
"88\n",
"88\n",
"99\n",
"78\n",
"199\n",
"59\n",
"69\n",
"179\n",
"99\n",
"44\n",
"142\n",
"132\n",
"81\n",
"219\n",
"50\n",
"119\n",
"91\n",
"84\n",
"49\n",
"149\n",
"79\n",
"89\n",
"81\n",
"2\n",
"2\n",
"2\n",
"20\n",
"8\n",
"20\n",
"4\n",
"4\n",
"4\n",
"2\n",
"2\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"20\n",
"6\n",
"6\n",
"6\n",
"14\n",
"20\n",
"12\n",
"8\n",
"20\n",
"30\n",
"20\n",
"30\n",
"50\n",
"50\n",
"50\n",
"80\n",
"80\n",
"80\n",
"2\n",
"5\n",
"7\n",
"7\n",
"7\n",
"14\n",
"14\n",
"14\n",
"24\n",
"39\n",
"69\n",
"5\n",
"1\n",
"1\n",
"1\n",
"21\n",
"8\n",
"15\n",
"31\n",
"41\n",
"73\n",
"34\n",
"48\n",
"8\n",
"15\n",
"21\n",
"31\n",
"41\n",
"3\n",
"9\n",
"17\n",
"24\n",
"39\n",
"49\n",
"29\n",
"19\n",
"7\n",
"14\n",
"2\n",
"4\n",
"7\n",
"14\n",
"24\n",
"39\n",
"7\n",
"7\n",
"1\n",
"1\n",
"1\n",
"2\n",
"4\n",
"7\n",
"14\n",
"24\n",
"49\n",
"35\n",
"12\n",
"17\n",
"24\n",
"34\n",
"64\n",
"31\n",
"69\n",
"8\n",
"24\n",
"34\n",
"74\n",
"79\n",
"17\n",
"3\n",
"6\n",
"14\n",
"19\n",
"34\n",
"49\n",
"19\n",
"3\n",
"10\n",
"2\n",
"20\n",
"15\n",
"25\n",
"40\n",
"7\n",
"3\n",
"10\n",
"4\n",
"3\n",
"3\n",
"8\n",
"10\n",
"12\n",
"20\n",
"22\n",
"35\n",
"33\n",
"50\n",
"50\n",
"89\n",
"70\n",
"90\n",
"17\n",
"17\n",
"19\n",
"19\n",
"19\n",
"34\n",
"74\n",
"39\n",
"34\n",
"22\n",
"54\n",
"169\n",
"34\n",
"34\n",
"24\n",
"59\n",
"29\n",
"29\n",
"99\n",
"49\n",
"29\n",
"39\n",
"24\n",
"34\n",
"49\n",
"24\n",
"24\n",
"44\n",
"44\n",
"84\n",
"39\n",
"29\n",
"39\n",
"34\n",
"64\n",
"29\n",
"44\n",
"39\n",
"54\n",
"44\n",
"89\n",
"44\n",
"44\n",
"79\n",
"89\n",
"34\n",
"159\n",
"54\n",
"54\n",
"89\n",
"39\n",
"104\n",
"54\n",
"119\n",
"139\n",
"199\n",
"139\n",
"239\n",
"69\n",
"104\n",
"114\n",
"114\n",
"114\n",
"114\n",
"104\n",
"104\n",
"214\n",
"104\n",
"104\n",
"129\n",
"59\n",
"89\n",
"169\n",
"44\n",
"44\n",
"169\n",
"89\n",
"69\n",
"169\n",
"104\n",
"54\n",
"99\n",
"179\n",
"10\n",
"8\n",
"7\n",
"12\n",
"10\n",
"3\n",
"8\n",
"18\n",
"25\n",
"49\n",
"4\n",
"7\n",
"13\n",
"12\n",
"20\n",
"24\n",
"2\n",
"2\n",
"39\n",
"19\n",
"40\n",
"81\n",
"24\n",
"39\n",
"3\n",
"2\n",
"39\n",
"49\n",
"89\n",
"129\n",
"19\n",
"29\n",
"49\n",
"69\n",
"89\n",
"3\n",
"6\n",
"10\n",
"13\n",
"6\n",
"10\n",
"10\n",
"8\n",
"6\n",
"6\n",
"13\n",
"20\n",
"10\n",
"15\n",
"6\n",
"8\n",
"3\n",
"10\n",
"2\n",
"12\n",
"14\n",
"2\n",
"3\n",
"2\n",
"4\n",
"6\n",
"12\n",
"4\n",
"7\n",
"14\n",
"12\n",
"2\n",
"7\n",
"7\n",
"7\n",
"3\n",
"6\n",
"2\n",
"29\n",
"1\n",
"6\n",
"10\n",
"15\n",
"18\n",
"0\n",
"9\n",
"26\n",
"38\n",
"26\n",
"4\n",
"5\n",
"10\n",
"5\n",
"2\n",
"45\n",
"19\n",
"20\n",
"39\n",
"59\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"26\n",
"4\n",
"3\n",
"7\n",
"9\n",
"12\n",
"5\n",
"4\n",
"2\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"18\n",
"9\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"8\n",
"0\n",
"1\n",
"1\n",
"1\n",
"1\n",
"3\n",
"15\n",
"20\n",
"49\n",
"20\n",
"15\n",
"1\n",
"20\n",
"2\n",
"10\n",
"20\n",
"20\n",
"0\n",
"0\n",
"0\n",
"0\n",
"30\n",
"10\n",
"30\n",
"7\n",
"14\n",
"24\n",
"39\n",
"79\n",
"49\n",
"59\n",
"29\n",
"39\n",
"9\n",
"19\n",
"29\n",
"39\n",
"9\n",
"3\n",
"7\n",
"10\n",
"24\n",
"30\n",
"60\n",
"5\n",
"7\n",
"7\n",
"6\n",
"8\n",
"13\n",
"17\n",
"27\n",
"11\n",
"4\n",
"7\n",
"14\n",
"39\n",
"3\n",
"6\n",
"9\n",
"19\n",
"14\n",
"24\n",
"5\n",
"11\n",
"44\n",
"49\n",
"5\n",
"17\n",
"44\n",
"5\n",
"25\n",
"19\n",
"32\n",
"42\n",
"30\n",
"29\n",
"54\n",
"99\n",
"39\n",
"29\n",
"14\n",
"7\n",
"4\n",
"49\n",
"9\n",
"9\n",
"9\n",
"4\n",
"59\n",
"29\n",
"5\n",
"7\n",
"29\n",
"39\n",
"10\n",
"35\n",
"61\n",
"15\n",
"12\n",
"12\n",
"12\n",
"12\n",
"12\n",
"12\n",
"12\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"14\n",
"20\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"2\n",
"1\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"10\n",
"44\n",
"69\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"9\n",
"22\n",
"29\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"12\n",
"24\n",
"49\n",
"1\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"2\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"14\n",
"14\n",
"14\n",
"19\n",
"2\n",
"2\n",
"1\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"1\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"14\n",
"14\n",
"14\n",
"29\n",
"14\n",
"19\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"14\n",
"14\n",
"19\n",
"20\n",
"20\n",
"1\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"14\n",
"14\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"1\n",
"14\n",
"14\n",
"19\n",
"29\n",
"49\n",
"14\n",
"5\n",
"5\n",
"24\n",
"40\n",
"9\n",
"19\n",
"29\n",
"49\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"14\n",
"14\n",
"24\n",
"19\n",
"29\n",
"39\n",
"3\n",
"3\n",
"3\n",
"3\n",
"1\n",
"14\n",
"14\n",
"24\n",
"29\n",
"39\n",
"39\n",
"48\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"9\n",
"14\n",
"29\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"14\n",
"14\n",
"14\n",
"19\n",
"29\n",
"44\n",
"59\n",
"29\n",
"12\n",
"34\n",
"34\n",
"29\n",
"29\n",
"4\n",
"9\n",
"8\n",
"8\n",
"8\n",
"8\n",
"30\n",
"18\n",
"17\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"12\n",
"12\n",
"12\n",
"14\n",
"14\n",
"14\n",
"12\n",
"12\n",
"12\n",
"12\n",
"12\n",
"24\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"9\n",
"9\n",
"9\n",
"14\n",
"14\n",
"14\n",
"19\n",
"9\n",
"9\n",
"9\n",
"9\n",
"17\n",
"3\n",
"0\n",
"17\n",
"24\n",
"59\n",
"3\n",
"13\n",
"10\n",
"15\n",
"19\n",
"20\n",
"28\n",
"34\n",
"30\n",
"44\n",
"52\n",
"1\n",
"2\n",
"3\n",
"4\n",
"20\n",
"20\n",
"20\n",
"8\n",
"8\n",
"2\n",
"5\n",
"4\n",
"9\n",
"9\n",
"69\n",
"9\n",
"54\n",
"24\n",
"13\n",
"13\n",
"24\n",
"129\n",
"14\n",
"59\n",
"9\n",
"8\n",
"8\n",
"29\n",
"8\n",
"8\n",
"149\n",
"54\n",
"24\n",
"24\n",
"94\n",
"24\n",
"54\n",
"17\n",
"59\n",
"54\n",
"54\n",
"54\n",
"54\n",
"79\n",
"49\n",
"17\n",
"12\n",
"24\n",
"44\n",
"3\n",
"12\n",
"12\n",
"12\n",
"59\n",
"14\n",
"14\n",
"14\n",
"14\n",
"14\n",
"14\n",
"14\n",
"14\n",
"9\n",
"9\n",
"9\n",
"9\n",
"17\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"17\n",
"9\n",
"9\n",
"9\n",
"13\n",
"9\n",
"9\n",
"9\n",
"11\n",
"11\n",
"17\n",
"17\n",
"9\n",
"9\n",
"9\n",
"13\n",
"13\n",
"13\n",
"13\n",
"17\n",
"9\n",
"21\n",
"13\n",
"13\n",
"13\n",
"13\n",
"25\n",
"9\n",
"21\n",
"21\n",
"9\n",
"9\n",
"17\n",
"17\n",
"13\n",
"13\n",
"13\n",
"13\n",
"17\n",
"44\n",
"17\n",
"17\n",
"9\n",
"17\n",
"17\n",
"17\n",
"39\n",
"9\n",
"17\n",
"17\n",
"17\n",
"17\n",
"17\n",
"17\n",
"39\n",
"39\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"13\n",
"17\n",
"17\n",
"17\n",
"9\n",
"9\n",
"9\n",
"17\n",
"9\n",
"10\n",
"9\n",
"49\n",
"44\n",
"24\n",
"19\n",
"17\n",
"17\n",
"19\n",
"9\n",
"44\n",
"9\n",
"13\n",
"17\n",
"10\n",
"44\n",
"10\n",
"9\n",
"9\n",
"9\n",
"34\n",
"19\n",
"19\n",
"19\n",
"34\n",
"19\n",
"34\n",
"34\n",
"19\n",
"19\n",
"10\n",
"9\n",
"9\n",
"9\n",
"9\n",
"19\n",
"39\n",
"39\n",
"39\n",
"39\n",
"39\n",
"39\n",
"39\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"25\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"17\n",
"17\n",
"17\n",
"17\n",
"17\n",
"14\n",
"9\n",
"9\n",
"14\n",
"9\n",
"9\n",
"17\n",
"17\n",
"17\n",
"9\n",
"9\n",
"14\n",
"14\n",
"9\n",
"9\n",
"17\n",
"17\n",
"17\n",
"14\n",
"14\n",
"9\n",
"9\n",
"17\n",
"17\n",
"132\n",
"299\n",
"132\n",
"149\n",
"245\n",
"132\n",
"99\n",
"99\n",
"169\n",
"49\n",
"39\n",
"61\n",
"219\n",
"179\n",
"44\n",
"299\n",
"39\n",
"119\n",
"259\n",
"189\n",
"229\n",
"169\n",
"159\n",
"69\n",
"189\n",
"189\n",
"159\n",
"44\n",
"239\n",
"249\n",
"249\n",
"199\n",
"149\n",
"199\n",
"169\n",
"299\n",
"129\n",
"189\n",
"49\n",
"299\n",
"199\n",
"269\n",
"69\n",
"199\n",
"239\n",
"319\n",
"249\n",
"99\n",
"179\n",
"34\n",
"4\n",
"2\n",
"12\n",
"12\n",
"19\n",
"24\n",
"7\n",
"7\n",
"21\n",
"29\n",
"35\n",
"49\n",
"19\n",
"13\n",
"19\n",
"20\n",
"25\n",
"29\n",
"6\n",
"8\n",
"12\n",
"24\n",
"17\n",
"13\n",
"13\n",
"48\n",
"15\n",
"25\n",
"8\n",
"8\n",
"8\n",
"8\n",
"9\n",
"19\n",
"40\n",
"10\n",
"10\n",
"10\n",
"40\n",
"20\n",
"9\n",
"17\n",
"7\n",
"7\n",
"6\n",
"20\n",
"14\n",
"6\n",
"9\n",
"19\n",
"19\n",
"6\n",
"19\n",
"39\n",
"49\n",
"24\n",
"34\n",
"1\n",
"1\n",
"1\n",
"2\n",
"1\n",
"1\n",
"2\n",
"2\n",
"5\n",
"5\n",
"8\n",
"8\n",
"9\n",
"10\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"6\n",
"7\n",
"7\n",
"6\n",
"6\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"6\n",
"6\n",
"5\n",
"6\n",
"6\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"9\n",
"9\n",
"8\n",
"5\n",
"5\n",
"5\n",
"4\n",
"5\n",
"5\n",
"7\n",
"7\n",
"7\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"9\n",
"6\n",
"6\n",
"6\n",
"7\n",
"7\n",
"9\n",
"4\n",
"6\n",
"5\n",
"7\n",
"7\n",
"15\n",
"7\n",
"4\n",
"6\n",
"7\n",
"7\n",
"7\n",
"8\n",
"5\n",
"6\n",
"7\n",
"7\n",
"7\n",
"5\n",
"8\n",
"5\n",
"4\n",
"4\n",
"5\n",
"3\n",
"6\n",
"7\n",
"13\n",
"7\n",
"5\n",
"8\n",
"6\n",
"6\n",
"7\n",
"6\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"4\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"8\n",
"6\n",
"6\n",
"8\n",
"8\n",
"6\n",
"7\n",
"5\n",
"7\n",
"4\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"4\n",
"4\n",
"6\n",
"6\n",
"9\n",
"4\n",
"4\n",
"4\n",
"13\n",
"13\n",
"13\n",
"18\n",
"25\n",
"30\n",
"49\n",
"45\n",
"69\n",
"25\n",
"25\n",
"81\n",
"4\n",
"4\n",
"4\n",
"4\n",
"14\n",
"19\n",
"24\n",
"49\n",
"3\n",
"2\n",
"2\n",
"2\n",
"3\n",
"2\n",
"4\n",
"4\n",
"8\n",
"2\n",
"2\n",
"2\n",
"8\n",
"20\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"12\n",
"15\n",
"30\n",
"40\n",
"5\n",
"29\n",
"2\n",
"6\n",
"3\n",
"1\n",
"2\n",
"5\n",
"5\n",
"5\n",
"5\n",
"1\n",
"1\n",
"2\n",
"1\n",
"4\n",
"3\n",
"3\n",
"3\n",
"2\n",
"3\n",
"4\n",
"2\n",
"4\n",
"4\n",
"5\n",
"5\n",
"3\n",
"6\n",
"5\n",
"6\n",
"2\n",
"6\n",
"6\n",
"6\n",
"6\n",
"7\n",
"5\n",
"8\n",
"8\n",
"8\n",
"8\n",
"9\n",
"12\n",
"12\n",
"16\n",
"13\n",
"24\n",
"26\n",
"11\n",
"17\n",
"20\n",
"16\n",
"22\n",
"22\n",
"17\n",
"19\n",
"23\n",
"19\n",
"28\n",
"27\n",
"25\n",
"29\n",
"48\n",
"43\n",
"5\n",
"37\n",
"30\n",
"50\n",
"19\n",
"58\n",
"64\n",
"16\n",
"20\n",
"68\n",
"85\n",
"44\n",
"30\n",
"50\n",
"95\n",
"90\n",
"90\n",
"15\n",
"20\n",
"50\n",
"80\n",
"90\n",
"20\n",
"5\n",
"3\n",
"6\n",
"9\n",
"5\n",
"49\n",
"41\n",
"26\n",
"13\n",
"6\n",
"29\n",
"48\n",
"13\n",
"26\n",
"3\n",
"6\n",
"14\n",
"39\n",
"73\n",
"74\n",
"18\n",
"35\n",
"66\n",
"81\n",
"45\n",
"19\n",
"9\n",
"4\n",
"24\n",
"2\n",
"2\n",
"12\n",
"12\n",
"12\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"4\n",
"14\n",
"24\n",
"39\n",
"69\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"7\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"20\n",
"20\n",
"10\n",
"27\n",
"12\n",
"19\n",
"29\n",
"4\n",
"14\n",
"14\n",
"29\n",
"69\n",
"25\n",
"40\n",
"99\n",
"71\n",
"99\n",
"3\n",
"30\n",
"30\n",
"14\n",
"14\n",
"7\n",
"17\n",
"24\n",
"34\n",
"79\n",
"9\n",
"10\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"24\n",
"3\n",
"8\n",
"9\n",
"14\n",
"35\n",
"81\n",
"29\n",
"19\n",
"3\n",
"13\n",
"26\n",
"49\n",
"18\n",
"26\n",
"41\n",
"139\n",
"7\n",
"12\n",
"19\n",
"24\n",
"69\n",
"34\n",
"24\n",
"79\n",
"17\n",
"39\n",
"43\n",
"3\n",
"19\n",
"34\n",
"39\n",
"14\n",
"17\n",
"17\n",
"14\n",
"14\n",
"7\n",
"12\n",
"34\n",
"34\n",
"59\n",
"19\n",
"15\n",
"17\n",
"3\n",
"13\n",
"19\n",
"41\n",
"71\n",
"2\n",
"2\n",
"1\n",
"2\n",
"2\n",
"2\n",
"2\n",
"19\n",
"39\n",
"61\n",
"31\n",
"3\n",
"4\n",
"4\n",
"39\n",
"7\n",
"14\n",
"19\n",
"3\n",
"4\n",
"24\n",
"14\n",
"9\n",
"2\n",
"9\n",
"34\n",
"8\n",
"9\n",
"9\n",
"8\n",
"13\n",
"19\n",
"41\n",
"12\n",
"12\n",
"71\n",
"15\n",
"17\n",
"2\n",
"2\n",
"9\n",
"14\n",
"44\n",
"69\n",
"8\n",
"14\n",
"34\n",
"61\n",
"9\n",
"14\n",
"49\n",
"69\n",
"26\n",
"19\n",
"19\n",
"19\n",
"34\n",
"14\n",
"17\n",
"4\n",
"7\n",
"19\n",
"34\n",
"3\n",
"8\n",
"36\n",
"48\n",
"9\n",
"39\n",
"69\n",
"24\n",
"41\n",
"44\n",
"5\n",
"9\n",
"29\n",
"34\n",
"69\n",
"15\n",
"9\n",
"73\n",
"102\n",
"14\n",
"14\n",
"2\n",
"3\n",
"14\n",
"12\n",
"39\n",
"34\n",
"12\n",
"15\n",
"35\n",
"102\n",
"129\n",
"9\n",
"24\n",
"44\n",
"13\n",
"13\n",
"14\n",
"29\n",
"58\n",
"14\n",
"31\n",
"34\n",
"2\n",
"7\n",
"7\n",
"29\n",
"81\n",
"24\n",
"0\n",
"2\n",
"2\n",
"3\n",
"3\n",
"4\n",
"3\n",
"3\n",
"4\n",
"3\n",
"4\n",
"3\n",
"4\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"4\n",
"3\n",
"3\n",
"4\n",
"4\n",
"3\n",
"4\n",
"3\n",
"10\n",
"7\n",
"10\n",
"11\n",
"11\n",
"4\n",
"7\n",
"14\n",
"24\n",
"69\n",
"24\n",
"4\n",
"19\n",
"49\n",
"39\n",
"4\n",
"9\n",
"24\n",
"59\n",
"34\n",
"17\n",
"17\n",
"17\n",
"9\n",
"24\n",
"34\n",
"69\n",
"19\n",
"19\n",
"24\n",
"79\n",
"24\n",
"4\n",
"9\n",
"24\n",
"34\n",
"69\n",
"4\n",
"12\n",
"17\n",
"29\n",
"39\n",
"49\n",
"79\n",
"24\n",
"34\n",
"49\n",
"109\n",
"149\n",
"7\n",
"7\n",
"7\n",
"17\n",
"17\n",
"17\n",
"17\n",
"24\n",
"24\n",
"79\n",
"19\n",
"49\n",
"4\n",
"8\n",
"24\n",
"39\n",
"59\n",
"24\n",
"34\n",
"8\n",
"17\n",
"24\n",
"34\n",
"59\n",
"8\n",
"17\n",
"39\n",
"69\n",
"17\n",
"17\n",
"17\n",
"17\n",
"24\n",
"19\n",
"8\n",
"4\n",
"8\n",
"24\n",
"39\n",
"79\n",
"69\n",
"149\n",
"149\n",
"19\n",
"8\n",
"17\n",
"44\n",
"74\n",
"84\n",
"4\n",
"8\n",
"17\n",
"24\n",
"64\n",
"84\n",
"29\n",
"34\n",
"7\n",
"7\n",
"17\n",
"17\n",
"17\n",
"17\n",
"24\n",
"8\n",
"14\n",
"24\n",
"44\n",
"84\n",
"109\n",
"4\n",
"8\n",
"17\n",
"39\n",
"74\n",
"24\n",
"64\n",
"19\n",
"34\n",
"4\n",
"8\n",
"17\n",
"24\n",
"39\n",
"59\n",
"84\n",
"12\n",
"39\n",
"7\n",
"7\n",
"7\n",
"17\n",
"17\n",
"17\n",
"14\n",
"24\n",
"24\n",
"34\n",
"39\n",
"19\n",
"4\n",
"8\n",
"15\n",
"24\n",
"39\n",
"84\n",
"109\n",
"8\n",
"15\n",
"19\n",
"39\n",
"84\n",
"19\n",
"64\n",
"4\n",
"9\n",
"24\n",
"39\n",
"69\n",
"39\n",
"12\n",
"7\n",
"7\n",
"17\n",
"14\n",
"17\n",
"24\n",
"24\n",
"9\n",
"12\n",
"39\n",
"79\n",
"4\n",
"9\n",
"15\n",
"24\n",
"39\n",
"84\n",
"59\n",
"114\n",
"169\n",
"119\n",
"19\n",
"34\n",
"74\n",
"69\n",
"17\n",
"7\n",
"17\n",
"24\n",
"44\n",
"69\n",
"7\n",
"14\n",
"24\n",
"59\n",
"89\n",
"34\n",
"9\n",
"9\n",
"14\n",
"17\n",
"17\n",
"24\n",
"9\n",
"17\n",
"24\n",
"44\n",
"89\n",
"119\n",
"34\n",
"17\n",
"34\n",
"79\n",
"34\n",
"19\n",
"9\n",
"9\n",
"15\n",
"9\n",
"9\n",
"8\n",
"17\n",
"24\n",
"39\n",
"44\n",
"89\n",
"8\n",
"17\n",
"8\n",
"8\n",
"8\n",
"17\n",
"17\n",
"24\n",
"8\n",
"17\n",
"44\n",
"89\n",
"24\n",
"44\n",
"89\n",
"8\n",
"24\n",
"54\n",
"124\n",
"17\n",
"19\n",
"34\n",
"169\n",
"17\n",
"17\n",
"17\n",
"8\n",
"17\n",
"44\n",
"8\n",
"17\n",
"24\n",
"54\n",
"17\n",
"8\n",
"8\n",
"8\n",
"17\n",
"17\n",
"24\n",
"24\n",
"44\n",
"89\n",
"24\n",
"54\n",
"89\n",
"6\n",
"6\n",
"6\n",
"17\n",
"8\n",
"39\n",
"79\n",
"19\n",
"17\n",
"24\n",
"59\n",
"89\n",
"34\n",
"6\n",
"6\n",
"6\n",
"8\n",
"39\n",
"24\n",
"39\n",
"59\n",
"89\n",
"8\n",
"24\n",
"54\n",
"89\n",
"8\n",
"8\n",
"39\n",
"17\n",
"12\n",
"24\n",
"24\n",
"54\n",
"89\n",
"6\n",
"6\n",
"6\n",
"69\n",
"159\n",
"139\n",
"49\n",
"129\n",
"17\n",
"17\n",
"17\n",
"24\n",
"8\n",
"24\n",
"44\n",
"54\n",
"29\n",
"54\n",
"89\n",
"129\n",
"21\n",
"24\n",
"24\n",
"24\n",
"6\n",
"44\n",
"6\n",
"17\n",
"29\n",
"79\n",
"17\n",
"29\n",
"49\n",
"74\n",
"94\n",
"89\n",
"129\n",
"17\n",
"29\n",
"59\n",
"79\n",
"17\n",
"49\n",
"29\n",
"8\n",
"24\n",
"62\n",
"94\n",
"179\n",
"19\n",
"8\n",
"8\n",
"17\n",
"17\n",
"29\n",
"24\n",
"39\n",
"44\n",
"8\n",
"44\n",
"8\n",
"8\n",
"8\n",
"24\n",
"24\n",
"24\n",
"46\n",
"8\n",
"8\n",
"8\n",
"12\n",
"17\n",
"17\n",
"17\n",
"24\n",
"24\n",
"89\n",
"94\n",
"8\n",
"8\n",
"24\n",
"54\n",
"69\n",
"17\n",
"24\n",
"49\n",
"89\n",
"49\n",
"89\n",
"94\n",
"79\n",
"8\n",
"19\n",
"24\n",
"8\n",
"17\n",
"17\n",
"24\n",
"59\n",
"89\n",
"124\n",
"17\n",
"19\n",
"89\n",
"17\n",
"34\n",
"89\n",
"24\n",
"10\n",
"24\n",
"69\n",
"89\n",
"69\n",
"17\n",
"8\n",
"34\n",
"12\n",
"17\n",
"17\n",
"19\n",
"24\n",
"8\n",
"24\n",
"44\n",
"8\n",
"8\n",
"44\n",
"17\n",
"54\n",
"17\n",
"17\n",
"44\n",
"54\n",
"74\n",
"79\n",
"179\n",
"99\n",
"69\n",
"179\n",
"24\n",
"19\n",
"34\n",
"17\n",
"7\n",
"7\n",
"7\n",
"7\n",
"8\n",
"8\n",
"12\n",
"17\n",
"24\n",
"19\n",
"17\n",
"39\n",
"34\n",
"17\n",
"59\n",
"24\n",
"89\n",
"54\n",
"99\n",
"59\n",
"179\n",
"25\n",
"29\n",
"74\n",
"49\n",
"109\n",
"24\n",
"24\n",
"89\n",
"9\n",
"9\n",
"10\n",
"9\n",
"10\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"0\n",
"14\n",
"37\n",
"20\n",
"20\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"2\n",
"2\n",
"4\n",
"6\n",
"10\n",
"40\n",
"30\n",
"4\n",
"8\n",
"14\n",
"24\n",
"44\n",
"49\n",
"12\n",
"17\n",
"17\n",
"19\n",
"24\n",
"49\n",
"44\n",
"6\n",
"7\n",
"12\n",
"19\n",
"19\n",
"29\n",
"39\n",
"4\n",
"4\n",
"4\n",
"4\n",
"17\n",
"17\n",
"7\n",
"19\n",
"49\n",
"8\n",
"17\n",
"24\n",
"24\n",
"29\n",
"4\n",
"4\n",
"17\n",
"24\n",
"7\n",
"54\n",
"4\n",
"29\n",
"39\n",
"44\n",
"44\n",
"8\n",
"17\n",
"29\n",
"89\n",
"44\n",
"69\n",
"7\n",
"12\n",
"7\n",
"7\n",
"17\n",
"17\n",
"44\n",
"54\n",
"8\n",
"62\n",
"79\n",
"29\n",
"49\n",
"49\n",
"24\n",
"44\n",
"8\n",
"17\n",
"29\n",
"34\n",
"24\n",
"44\n",
"59\n",
"3\n",
"1\n",
"1\n",
"1\n",
"1\n",
"2\n",
"2\n",
"2\n",
"1\n",
"1\n",
"1\n",
"6\n",
"6\n",
"6\n",
"12\n",
"12\n",
"12\n",
"29\n",
"6\n",
"6\n",
"6\n",
"9\n",
"9\n",
"9\n",
"19\n",
"12\n",
"19\n",
"2\n",
"4\n",
"4\n",
"4\n",
"12\n",
"9\n",
"9\n",
"9\n",
"19\n",
"24\n",
"6\n",
"6\n",
"6\n",
"7\n",
"9\n",
"24\n",
"6\n",
"6\n",
"12\n",
"6\n",
"6\n",
"7\n",
"12\n",
"2\n",
"2\n",
"1\n",
"1\n",
"1\n",
"12\n",
"11\n",
"4\n",
"4\n",
"4\n",
"5\n",
"5\n",
"5\n",
"24\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"31\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"31\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"31\n",
"119\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"31\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"31\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"31\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"31\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"31\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"10\n",
"11\n",
"29\n",
"29\n",
"29\n",
"29\n",
"29\n",
"29\n",
"29\n",
"29\n",
"29\n",
"29\n",
"29\n",
"29\n",
"29\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"3\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"3\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"3\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"3\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"3\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"3\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"3\n",
"2\n",
"2\n",
"2\n",
"2\n",
"3\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"2\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"2\n",
"3\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"3\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"3\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"3\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"20\n",
"20\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"9\n",
"12\n",
"9\n",
"9\n",
"14\n",
"129\n",
"79\n",
"249\n",
"79\n",
"109\n",
"79\n",
"142\n",
"119\n",
"59\n",
"142\n",
"159\n",
"74\n",
"64\n",
"129\n",
"74\n",
"179\n",
"74\n",
"259\n",
"299\n",
"159\n",
"109\n",
"69\n",
"129\n",
"299\n",
"129\n",
"84\n",
"159\n",
"149\n",
"89\n",
"84\n",
"159\n",
"84\n",
"169\n",
"69\n",
"244\n",
"74\n",
"0\n",
"39\n",
"27\n",
"2\n",
"2\n",
"2\n",
"2\n",
"3\n",
"14\n",
"3\n",
"3\n",
"9\n",
"10\n",
"30\n",
"30\n",
"12\n",
"19\n",
"24\n",
"39\n",
"9\n",
"9\n",
"9\n",
"14\n",
"14\n",
"24\n",
"5\n",
"5\n",
"9\n",
"9\n",
"20\n",
"6\n",
"8\n",
"10\n",
"15\n",
"30\n",
"11\n",
"20\n",
"20\n",
"15\n",
"2\n",
"3\n",
"5\n",
"11\n",
"17\n",
"25\n",
"30\n",
"29\n",
"29\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"20\n",
"5\n",
"29\n",
"34\n",
"44\n",
"24\n",
"14\n",
"9\n",
"9\n",
"3\n",
"9\n",
"2\n",
"2\n",
"2\n",
"2\n",
"12\n",
"12\n",
"19\n",
"19\n",
"20\n",
"5\n",
"14\n",
"24\n",
"34\n",
"15\n",
"6\n",
"20\n",
"8\n",
"8\n",
"5\n",
"3\n",
"3\n",
"3\n",
"7\n",
"7\n",
"14\n",
"24\n",
"24\n",
"34\n",
"9\n",
"14\n",
"19\n",
"24\n",
"39\n",
"34\n",
"3\n",
"3\n",
"3\n",
"3\n",
"19\n",
"12\n",
"7\n",
"19\n",
"44\n",
"19\n",
"36\n",
"48\n",
"68\n",
"39\n",
"8\n",
"15\n",
"24\n",
"51\n",
"36\n",
"20\n",
"4\n",
"4\n",
"9\n",
"13\n",
"18\n",
"25\n",
"35\n",
"39\n",
"49\n",
"4\n",
"4\n",
"9\n",
"18\n",
"29\n",
"40\n",
"45\n",
"71\n",
"7\n",
"14\n",
"4\n",
"4\n",
"9\n",
"18\n",
"15\n",
"34\n",
"44\n",
"69\n",
"59\n",
"4\n",
"4\n",
"9\n",
"9\n",
"12\n",
"10\n",
"17\n",
"17\n",
"24\n",
"34\n",
"59\n",
"9\n",
"7\n",
"5\n",
"7\n",
"15\n",
"9\n",
"3\n",
"4\n",
"4\n",
"3\n",
"3\n",
"3\n",
"4\n",
"4\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"4\n",
"3\n",
"3\n",
"3\n",
"2\n",
"4\n",
"4\n",
"3\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"3\n",
"4\n",
"3\n",
"4\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"4\n",
"9\n",
"9\n",
"9\n",
"12\n",
"14\n",
"14\n",
"14\n",
"19\n",
"24\n",
"49\n",
"59\n",
"4\n",
"4\n",
"4\n",
"9\n",
"9\n",
"17\n",
"12\n",
"17\n",
"17\n",
"19\n",
"19\n",
"34\n",
"64\n",
"4\n",
"4\n",
"9\n",
"9\n",
"12\n",
"12\n",
"17\n",
"17\n",
"19\n",
"34\n",
"17\n",
"39\n",
"49\n",
"4\n",
"4\n",
"9\n",
"9\n",
"12\n",
"12\n",
"17\n",
"17\n",
"19\n",
"19\n",
"27\n",
"44\n",
"54\n",
"24\n",
"4\n",
"4\n",
"9\n",
"9\n",
"12\n",
"17\n",
"17\n",
"17\n",
"19\n",
"19\n",
"44\n",
"24\n",
"19\n",
"27\n",
"44\n",
"49\n",
"9\n",
"9\n",
"12\n",
"17\n",
"17\n",
"17\n",
"34\n",
"29\n",
"24\n",
"24\n",
"34\n",
"44\n",
"69\n",
"44\n",
"14\n",
"12\n",
"12\n",
"17\n",
"17\n",
"24\n",
"9\n",
"24\n",
"24\n",
"44\n",
"44\n",
"74\n",
"24\n",
"8\n",
"8\n",
"12\n",
"17\n",
"19\n",
"44\n",
"39\n",
"39\n",
"69\n",
"114\n",
"8\n",
"12\n",
"19\n",
"17\n",
"21\n",
"24\n",
"39\n",
"44\n",
"79\n",
"89\n",
"24\n",
"24\n",
"12\n",
"8\n",
"12\n",
"17\n",
"17\n",
"8\n",
"44\n",
"24\n",
"39\n",
"104\n",
"17\n",
"8\n",
"12\n",
"19\n",
"24\n",
"44\n",
"54\n",
"8\n",
"124\n",
"94\n",
"24\n",
"19\n",
"8\n",
"17\n",
"17\n",
"24\n",
"24\n",
"59\n",
"54\n",
"44\n",
"89\n",
"44\n",
"24\n",
"24\n",
"17\n",
"24\n",
"10\n",
"12\n",
"54\n",
"17\n",
"19\n",
"19\n",
"34\n",
"44\n",
"79\n",
"109\n",
"24\n",
"19\n",
"54\n",
"24\n",
"12\n",
"24\n",
"34\n",
"8\n",
"8\n",
"29\n",
"19\n",
"17\n",
"29\n",
"24\n",
"24\n",
"44\n",
"4\n",
"4\n",
"4\n",
"4\n",
"8\n",
"11\n",
"19\n",
"8\n",
"8\n",
"8\n",
"8\n",
"17\n",
"13\n",
"13\n",
"13\n",
"12\n",
"13\n",
"13\n",
"13\n",
"19\n",
"13\n",
"12\n",
"14\n",
"13\n",
"17\n",
"12\n",
"20\n",
"19\n",
"39\n",
"44\n",
"64\n",
"44\n",
"12\n",
"12\n",
"42\n",
"32\n",
"26\n",
"48\n",
"7\n",
"75\n",
"15\n",
"80\n",
"36\n",
"38\n",
"54\n",
"22\n",
"14\n",
"7\n",
"140\n",
"191\n",
"235\n",
"22\n",
"18\n",
"30\n",
"76\n",
"28\n",
"38\n",
"105\n",
"23\n",
"22\n",
"25\n",
"34\n",
"21\n",
"59\n",
"31\n",
"57\n",
"69\n",
"63\n",
"89\n",
"73\n",
"36\n",
"12\n",
"15\n",
"15\n",
"32\n",
"15\n",
"80\n",
"92\n",
"52\n",
"69\n",
"150\n",
"221\n",
"100\n",
"13\n",
"8\n",
"25\n",
"12\n",
"7\n",
"6\n",
"10\n",
"10\n",
"10\n",
"39\n",
"11\n",
"69\n",
"19\n",
"34\n",
"49\n",
"129\n",
"4\n",
"4\n",
"4\n",
"3\n",
"4\n",
"3\n",
"3\n",
"4\n",
"3\n",
"13\n",
"49\n",
"19\n",
"39\n",
"11\n",
"39\n",
"19\n",
"11\n",
"19\n",
"29\n",
"49\n",
"159\n",
"19\n",
"49\n",
"39\n",
"59\n",
"29\n",
"89\n",
"24\n",
"11\n",
"29\n",
"54\n",
"239\n",
"19\n",
"59\n",
"74\n",
"29\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"29\n",
"19\n",
"49\n",
"99\n",
"8\n",
"8\n",
"8\n",
"29\n",
"19\n",
"34\n",
"29\n",
"19\n",
"29\n",
"89\n",
"19\n",
"34\n",
"19\n",
"24\n",
"48\n",
"94\n",
"8\n",
"34\n",
"219\n",
"34\n",
"8\n",
"44\n",
"79\n",
"174\n",
"12\n",
"24\n",
"24\n",
"54\n",
"59\n",
"29\n",
"9\n",
"42\n",
"54\n",
"34\n",
"229\n",
"344\n",
"31\n",
"20\n",
"31\n",
"12\n",
"259\n",
"29\n",
"64\n",
"54\n",
"269\n",
"17\n",
"12\n",
"54\n",
"89\n",
"129\n",
"69\n",
"24\n",
"24\n",
"24\n",
"39\n",
"10\n",
"0\n",
"149\n",
"4\n",
"19\n",
"24\n",
"74\n",
"11\n",
"11\n",
"19\n",
"19\n",
"39\n",
"54\n",
"99\n",
"3\n",
"4\n",
"13\n",
"17\n",
"29\n",
"17\n",
"34\n",
"44\n",
"19\n",
"34\n",
"49\n",
"89\n",
"89\n",
"99\n",
"99\n",
"89\n",
"89\n",
"29\n",
"29\n",
"29\n",
"29\n",
"24\n",
"24\n",
"24\n",
"14\n",
"14\n",
"14\n",
"14\n",
"14\n",
"14\n",
"14\n",
"14\n",
"14\n",
"14\n",
"14\n",
"14\n",
"14\n",
"14\n",
"14\n",
"14\n",
"29\n",
"24\n",
"14\n",
"14\n",
"14\n",
"14\n",
"14\n",
"24\n",
"14\n",
"14\n",
"14\n",
"11\n",
"11\n",
"11\n",
"39\n",
"29\n",
"29\n",
"24\n",
"24\n",
"29\n",
"11\n",
"39\n",
"24\n",
"24\n",
"11\n",
"11\n",
"39\n",
"14\n",
"29\n",
"11\n",
"14\n",
"14\n",
"14\n",
"14\n",
"24\n",
"14\n",
"14\n",
"2\n",
"7\n",
"14\n",
"29\n",
"49\n",
"4\n",
"10\n",
"20\n",
"40\n",
"70\n",
"8\n",
"17\n",
"24\n",
"39\n",
"49\n",
"79\n",
"29\n",
"7\n",
"7\n",
"7\n",
"7\n",
"2\n",
"2\n",
"2\n",
"2\n",
"9\n",
"14\n",
"24\n",
"49\n",
"69\n",
"40\n",
"8\n",
"15\n",
"19\n",
"29\n",
"44\n",
"15\n",
"8\n",
"17\n",
"17\n",
"24\n",
"39\n",
"17\n",
"24\n",
"44\n",
"3\n",
"3\n",
"4\n",
"4\n",
"4\n",
"3\n",
"8\n",
"8\n",
"34\n",
"34\n",
"39\n",
"34\n",
"34\n",
"11\n",
"17\n",
"24\n",
"24\n",
"34\n",
"59\n",
"11\n",
"19\n",
"34\n",
"49\n",
"19\n",
"24\n",
"49\n",
"54\n",
"5\n",
"8\n",
"8\n",
"19\n",
"4\n",
"8\n",
"24\n",
"39\n",
"19\n",
"64\n",
"24\n",
"39\n",
"12\n",
"29\n",
"44\n",
"69\n",
"17\n",
"17\n",
"34\n",
"8\n",
"17\n",
"21\n",
"24\n",
"39\n",
"8\n",
"44\n",
"17\n",
"24\n",
"74\n",
"34\n",
"12\n",
"8\n",
"64\n",
"8\n",
"17\n",
"17\n",
"17\n",
"17\n",
"24\n",
"159\n",
"44\n",
"74\n",
"24\n",
"24\n",
"27\n",
"44\n",
"11\n",
"59\n",
"34\n",
"17\n",
"24\n",
"34\n",
"21\n",
"39\n",
"44\n",
"89\n",
"189\n",
"8\n",
"8\n",
"17\n",
"17\n",
"44\n",
"59\n",
"29\n",
"89\n",
"74\n",
"89\n",
"39\n",
"12\n",
"29\n",
"39\n",
"34\n",
"17\n",
"8\n",
"149\n",
"59\n",
"49\n",
"18\n",
"29\n",
"17\n",
"49\n",
"344\n",
"18\n",
"84\n",
"139\n",
"42\n",
"124\n",
"42\n",
"89\n",
"46\n",
"57\n",
"12\n",
"12\n",
"12\n",
"39\n",
"39\n",
"24\n",
"59\n",
"74\n",
"189\n",
"17\n",
"89\n",
"139\n",
"89\n",
"114\n",
"29\n",
"59\n",
"34\n",
"39\n",
"29\n",
"24\n",
"34\n",
"59\n",
"89\n",
"8\n",
"17\n",
"17\n",
"59\n",
"239\n",
"34\n",
"24\n",
"34\n",
"109\n",
"79\n",
"129\n",
"54\n",
"19\n",
"34\n",
"29\n",
"34\n",
"69\n",
"39\n",
"44\n",
"44\n",
"59\n",
"44\n",
"8\n",
"17\n",
"34\n",
"44\n",
"44\n",
"54\n",
"34\n",
"139\n",
"139\n",
"8\n",
"34\n",
"34\n",
"54\n",
"309\n",
"299\n",
"17\n",
"29\n",
"44\n",
"3\n",
"4\n",
"5\n",
"5\n",
"3\n",
"19\n",
"44\n",
"24\n",
"12\n",
"17\n",
"39\n",
"4\n",
"4\n",
"4\n",
"4\n",
"12\n",
"12\n",
"17\n",
"17\n",
"3\n",
"5\n",
"5\n",
"4\n",
"4\n",
"19\n",
"17\n",
"17\n",
"3\n",
"4\n",
"5\n",
"4\n",
"3\n",
"4\n",
"5\n",
"17\n",
"12\n",
"21\n",
"5\n",
"5\n",
"5\n",
"5\n",
"3\n",
"3\n",
"4\n",
"5\n",
"17\n",
"17\n",
"24\n",
"34\n",
"5\n",
"5\n",
"5\n",
"5\n",
"12\n",
"12\n",
"3\n",
"24\n",
"17\n",
"24\n",
"17\n",
"17\n",
"34\n",
"5\n",
"5\n",
"5\n",
"24\n",
"24\n",
"3\n",
"17\n",
"19\n",
"59\n",
"39\n",
"5\n",
"39\n",
"3\n",
"25\n",
"18\n",
"18\n",
"31\n",
"42\n",
"46\n",
"57\n",
"74\n",
"84\n",
"94\n",
"119\n",
"8\n",
"12\n",
"24\n",
"44\n",
"79\n",
"89\n",
"17\n",
"24\n",
"34\n",
"39\n",
"69\n",
"114\n",
"169\n",
"8\n",
"8\n",
"17\n",
"17\n",
"44\n",
"44\n",
"24\n",
"24\n",
"89\n",
"89\n",
"129\n",
"69\n",
"59\n",
"44\n",
"89\n",
"129\n",
"1\n",
"2\n",
"1\n",
"1\n",
"1\n",
"1\n",
"2\n",
"3\n",
"1\n",
"20\n",
"5\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"0\n",
"20\n",
"5\n",
"10\n",
"12\n",
"18\n",
"6\n",
"18\n",
"24\n",
"4\n",
"20\n",
"15\n",
"30\n",
"6\n",
"7\n",
"5\n",
"5\n",
"12\n",
"10\n",
"12\n",
"14\n",
"10\n",
"15\n",
"5\n",
"13\n",
"30\n",
"35\n",
"6\n",
"7\n",
"13\n",
"25\n",
"7\n",
"18\n",
"20\n",
"70\n",
"40\n",
"8\n",
"6\n",
"4\n",
"3\n",
"9\n",
"1\n",
"13\n",
"15\n",
"29\n",
"12\n",
"14\n",
"20\n",
"35\n",
"8\n",
"42\n",
"60\n",
"8\n",
"5\n",
"15\n",
"35\n",
"74\n",
"13\n",
"7\n",
"10\n",
"13\n",
"52\n",
"46\n",
"8\n",
"18\n",
"49\n",
"5\n",
"13\n",
"16\n",
"66\n",
"44\n",
"4\n",
"4\n",
"7\n",
"9\n",
"85\n",
"15\n",
"43\n",
"20\n",
"4\n",
"4\n",
"12\n",
"9\n",
"17\n",
"6\n",
"10\n",
"100\n",
"4\n",
"15\n",
"20\n",
"27\n",
"69\n",
"6\n",
"8\n",
"9\n",
"15\n",
"22\n",
"50\n",
"84\n",
"22\n",
"10\n",
"3\n",
"10\n",
"18\n",
"50\n",
"30\n",
"5\n",
"25\n",
"25\n",
"30\n",
"10\n",
"25\n",
"10\n",
"10\n",
"10\n",
"20\n",
"40\n",
"6\n",
"12\n",
"25\n",
"10\n",
"17\n",
"15\n",
"20\n",
"25\n",
"25\n",
"30\n",
"15\n",
"50\n",
"100\n",
"30\n",
"9\n",
"15\n",
"45\n",
"70\n",
"50\n",
"6\n",
"7\n",
"7\n",
"9\n",
"29\n",
"12\n",
"15\n",
"20\n",
"3\n",
"6\n",
"8\n",
"10\n",
"15\n",
"18\n",
"30\n",
"20\n",
"20\n",
"8\n",
"10\n",
"20\n",
"10\n",
"20\n",
"15\n",
"9\n",
"20\n",
"3\n",
"9\n",
"15\n",
"15\n",
"4\n",
"9\n",
"17\n",
"40\n",
"20\n",
"14\n",
"6\n",
"6\n",
"12\n",
"15\n",
"10\n",
"5\n",
"9\n",
"14\n",
"17\n",
"19\n",
"29\n",
"4\n",
"4\n",
"4\n",
"20\n",
"24\n",
"14\n",
"24\n",
"4\n",
"7\n",
"12\n",
"12\n",
"17\n",
"29\n",
"9\n",
"19\n",
"9\n",
"19\n",
"12\n",
"24\n",
"19\n",
"12\n",
"15\n",
"22\n",
"29\n",
"7\n",
"34\n",
"59\n",
"6\n",
"19\n",
"6\n",
"19\n",
"14\n",
"10\n",
"9\n",
"12\n",
"12\n",
"19\n",
"39\n",
"19\n",
"7\n",
"1\n",
"7\n",
"3\n",
"10\n",
"19\n",
"29\n",
"51\n",
"2\n",
"13\n",
"3\n",
"4\n",
"7\n",
"19\n",
"7\n",
"17\n",
"19\n",
"10\n",
"29\n",
"2\n",
"7\n",
"29\n",
"6\n",
"24\n",
"49\n",
"19\n",
"3\n",
"8\n",
"89\n",
"53\n",
"12\n",
"6\n",
"7\n",
"19\n",
"34\n",
"19\n",
"9\n",
"19\n",
"54\n",
"49\n",
"12\n",
"9\n",
"7\n",
"14\n",
"29\n",
"29\n",
"9\n",
"29\n",
"2\n",
"18\n",
"7\n",
"17\n",
"24\n",
"29\n",
"12\n",
"17\n",
"9\n",
"12\n",
"19\n",
"29\n",
"48\n",
"7\n",
"18\n",
"14\n",
"20\n",
"20\n",
"19\n",
"9\n",
"9\n",
"19\n",
"13\n",
"34\n",
"24\n",
"14\n",
"24\n",
"21\n",
"29\n",
"24\n",
"7\n",
"7\n",
"25\n",
"35\n",
"10\n",
"49\n",
"29\n",
"14\n",
"19\n",
"17\n",
"39\n",
"17\n",
"22\n",
"24\n",
"20\n",
"19\n",
"29\n",
"14\n",
"9\n",
"29\n",
"8\n",
"12\n",
"18\n",
"12\n",
"48\n",
"14\n",
"39\n",
"34\n",
"69\n",
"7\n",
"14\n",
"34\n",
"49\n",
"24\n",
"6\n",
"24\n",
"17\n",
"9\n",
"14\n",
"40\n",
"81\n",
"15\n",
"4\n",
"20\n",
"40\n",
"69\n",
"20\n",
"14\n",
"7\n",
"49\n",
"18\n",
"35\n",
"4\n",
"7\n",
"7\n",
"9\n",
"18\n",
"35\n",
"49\n",
"9\n",
"18\n",
"35\n",
"49\n",
"14\n",
"29\n",
"20\n",
"13\n",
"19\n",
"34\n",
"3\n",
"8\n",
"19\n",
"49\n",
"24\n",
"20\n",
"25\n",
"3\n",
"39\n",
"49\n",
"20\n",
"25\n",
"7\n",
"18\n",
"82\n",
"13\n",
"19\n",
"25\n",
"45\n",
"13\n",
"19\n",
"25\n",
"39\n",
"49\n",
"39\n",
"9\n",
"8\n",
"18\n",
"29\n",
"24\n",
"40\n",
"40\n",
"12\n",
"19\n",
"29\n",
"19\n",
"14\n",
"19\n",
"19\n",
"24\n",
"9\n",
"12\n",
"19\n",
"39\n",
"49\n",
"79\n",
"29\n",
"39\n",
"7\n",
"29\n",
"19\n",
"7\n",
"19\n",
"19\n",
"9\n",
"9\n",
"9\n",
"17\n",
"19\n",
"24\n",
"14\n",
"29\n",
"49\n",
"19\n",
"6\n",
"29\n",
"14\n",
"29\n",
"59\n",
"29\n",
"9\n",
"4\n",
"69\n",
"69\n",
"17\n",
"8\n",
"24\n",
"24\n",
"49\n",
"17\n",
"27\n",
"17\n",
"17\n",
"34\n",
"59\n",
"49\n",
"17\n",
"17\n",
"34\n",
"69\n",
"124\n",
"17\n",
"24\n",
"39\n",
"59\n",
"79\n",
"17\n",
"44\n",
"17\n",
"24\n",
"8\n",
"24\n",
"17\n",
"39\n",
"69\n",
"17\n",
"29\n",
"34\n",
"34\n",
"59\n",
"17\n",
"44\n",
"17\n",
"54\n",
"24\n",
"17\n",
"24\n",
"59\n",
"10\n",
"74\n",
"17\n",
"44\n",
"39\n",
"59\n",
"17\n",
"69\n",
"8\n",
"24\n",
"17\n",
"19\n",
"79\n",
"8\n",
"59\n",
"24\n",
"3\n",
"24\n",
"14\n",
"34\n",
"49\n",
"15\n",
"40\n",
"99\n",
"14\n",
"19\n",
"29\n",
"9\n",
"19\n",
"39\n",
"19\n",
"14\n",
"9\n",
"14\n",
"15\n",
"15\n",
"5\n",
"8\n",
"16\n",
"54\n",
"19\n",
"12\n",
"17\n",
"12\n",
"34\n",
"19\n",
"25\n",
"19\n",
"29\n",
"14\n",
"24\n",
"39\n",
"19\n",
"14\n",
"14\n",
"9\n",
"14\n",
"19\n",
"39\n",
"49\n",
"12\n",
"9\n",
"9\n",
"17\n",
"34\n",
"19\n",
"17\n",
"8\n",
"24\n",
"14\n",
"24\n",
"24\n",
"12\n",
"12\n",
"24\n",
"5\n",
"49\n",
"12\n",
"39\n",
"9\n",
"16\n",
"19\n",
"54\n",
"8\n",
"12\n",
"17\n",
"12\n",
"16\n",
"12\n",
"19\n",
"44\n",
"19\n",
"39\n",
"34\n",
"19\n",
"29\n",
"20\n",
"14\n",
"24\n",
"12\n",
"16\n",
"16\n",
"19\n",
"12\n",
"24\n",
"9\n",
"14\n",
"14\n",
"19\n",
"49\n",
"14\n",
"9\n",
"16\n",
"24\n",
"44\n",
"84\n",
"12\n",
"16\n",
"9\n",
"12\n",
"24\n",
"12\n",
"16\n",
"49\n",
"16\n",
"8\n",
"14\n",
"19\n",
"16\n",
"16\n",
"29\n",
"24\n",
"24\n",
"17\n",
"19\n",
"29\n",
"29\n",
"19\n",
"16\n",
"16\n",
"9\n",
"11\n",
"15\n",
"24\n",
"39\n",
"54\n",
"24\n",
"8\n",
"15\n",
"69\n",
"39\n",
"44\n",
"12\n",
"39\n",
"19\n",
"39\n",
"12\n",
"17\n",
"3\n",
"3\n",
"3\n",
"3\n",
"19\n",
"29\n",
"29\n",
"16\n",
"29\n",
"9\n",
"3\n",
"3\n",
"17\n",
"14\n",
"24\n",
"39\n",
"19\n",
"17\n",
"24\n",
"54\n",
"9\n",
"17\n",
"19\n",
"17\n",
"59\n",
"114\n",
"24\n",
"17\n",
"24\n",
"17\n",
"24\n",
"24\n",
"17\n",
"7\n",
"12\n",
"12\n",
"14\n",
"29\n",
"44\n",
"17\n",
"17\n",
"24\n",
"8\n",
"8\n",
"44\n",
"9\n",
"17\n",
"24\n",
"39\n",
"9\n",
"54\n",
"89\n",
"8\n",
"17\n",
"17\n",
"24\n",
"44\n",
"24\n",
"4\n",
"4\n",
"29\n",
"17\n",
"24\n",
"24\n",
"24\n",
"12\n",
"12\n",
"9\n",
"34\n",
"54\n",
"8\n",
"17\n",
"54\n",
"114\n",
"54\n",
"44\n",
"17\n",
"24\n",
"24\n",
"29\n",
"44\n",
"89\n",
"17\n",
"17\n",
"24\n",
"44\n",
"89\n",
"8\n",
"17\n",
"24\n",
"59\n",
"8\n",
"17\n",
"17\n",
"109\n",
"8\n",
"49\n",
"44\n",
"17\n",
"24\n",
"29\n",
"54\n",
"8\n",
"17\n",
"39\n",
"8\n",
"17\n",
"24\n",
"89\n",
"8\n",
"17\n",
"44\n",
"89\n",
"114\n",
"29\n",
"39\n",
"39\n",
"54\n",
"12\n",
"8\n",
"17\n",
"24\n",
"39\n",
"8\n",
"17\n",
"17\n",
"17\n",
"37\n",
"59\n",
"46\n",
"42\n",
"79\n",
"124\n",
"19\n",
"29\n",
"46\n",
"89\n",
"2\n",
"4\n",
"3\n",
"4\n",
"3\n",
"5\n",
"4\n",
"70\n",
"50\n",
"39\n",
"24\n",
"24\n",
"24\n",
"79\n",
"69\n",
"69\n",
"159\n",
"99\n",
"159\n",
"79\n",
"24\n",
"19\n",
"19\n",
"43\n",
"41\n",
"201\n",
"66\n",
"79\n",
"30\n",
"90\n",
"116\n",
"90\n",
"40\n",
"71\n",
"24\n",
"78\n",
"91\n",
"44\n",
"95\n",
"72\n",
"55\n",
"105\n",
"39\n",
"36\n",
"62\n",
"69\n",
"64\n",
"89\n",
"26\n",
"26\n",
"39\n",
"36\n",
"36\n",
"21\n",
"25\n",
"118\n",
"88\n",
"29\n",
"149\n",
"71\n",
"121\n",
"39\n",
"39\n",
"39\n",
"199\n",
"28\n",
"64\n",
"62\n",
"57\n",
"57\n",
"56\n",
"56\n",
"42\n",
"69\n",
"48\n",
"130\n",
"49\n",
"174\n",
"35\n",
"55\n",
"59\n",
"55\n",
"55\n",
"169\n",
"16\n",
"16\n",
"250\n",
"145\n",
"170\n",
"189\n",
"99\n",
"59\n",
"21\n",
"99\n",
"110\n",
"26\n",
"127\n",
"127\n",
"200\n",
"200\n",
"98\n",
"250\n",
"159\n",
"35\n",
"15\n",
"59\n",
"89\n",
"249\n",
"149\n",
"99\n",
"34\n",
"59\n",
"94\n",
"234\n",
"259\n",
"174\n",
"309\n",
"119\n",
"24\n",
"115\n",
"44\n",
"44\n",
"89\n",
"89\n",
"59\n",
"179\n",
"12\n",
"359\n",
"154\n",
"154\n",
"81\n",
"15\n",
"339\n",
"99\n",
"32\n",
"244\n",
"79\n",
"329\n",
"399\n",
"499\n",
"399\n",
"104\n",
"144\n",
"249\n",
"6\n",
"12\n",
"12\n",
"12\n",
"12\n",
"9\n",
"17\n",
"24\n",
"24\n",
"39\n",
"12\n",
"34\n",
"74\n",
"8\n",
"17\n",
"17\n",
"24\n",
"39\n",
"49\n",
"24\n",
"34\n",
"64\n",
"79\n",
"8\n",
"17\n",
"24\n",
"39\n",
"54\n",
"17\n",
"39\n",
"64\n",
"12\n",
"19\n",
"24\n",
"34\n",
"54\n",
"44\n",
"69\n",
"3\n",
"1\n",
"9\n",
"9\n",
"9\n",
"9\n",
"14\n",
"19\n",
"19\n",
"34\n",
"3\n",
"69\n",
"3\n",
"14\n",
"34\n",
"19\n",
"34\n",
"4\n",
"4\n",
"9\n",
"9\n",
"9\n",
"9\n",
"19\n",
"34\n",
"59\n",
"4\n",
"4\n",
"9\n",
"9\n",
"9\n",
"14\n",
"19\n",
"19\n",
"4\n",
"4\n",
"4\n",
"89\n",
"24\n",
"24\n",
"12\n",
"49\n",
"22\n",
"24\n",
"24\n",
"29\n",
"8\n",
"8\n",
"19\n",
"8\n",
"7\n",
"8\n",
"12\n",
"19\n",
"2\n",
"2\n",
"2\n",
"5\n",
"9\n",
"14\n",
"20\n",
"20\n",
"4\n",
"4\n",
"4\n",
"17\n",
"4\n",
"4\n",
"9\n",
"20\n",
"17\n",
"25\n",
"30\n",
"20\n",
"20\n",
"50\n",
"50\n",
"49\n",
"25\n",
"4\n",
"9\n",
"14\n",
"9\n",
"24\n",
"37\n",
"5\n",
"5\n",
"5\n",
"8\n",
"14\n",
"9\n",
"9\n",
"5\n",
"5\n",
"10\n",
"9\n",
"9\n",
"9\n",
"19\n",
"29\n",
"12\n",
"20\n",
"14\n",
"14\n",
"2\n",
"2\n",
"3\n",
"10\n",
"2\n",
"10\n",
"10\n",
"14\n",
"3\n",
"3\n",
"4\n",
"6\n",
"6\n",
"17\n",
"2\n",
"3\n",
"4\n",
"7\n",
"7\n",
"12\n",
"9\n",
"9\n",
"19\n",
"29\n",
"4\n",
"9\n",
"14\n",
"19\n",
"29\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"19\n",
"19\n",
"4\n",
"4\n",
"55\n",
"3\n",
"5\n",
"5\n",
"5\n",
"6\n",
"6\n",
"6\n",
"10\n",
"11\n",
"17\n",
"20\n",
"22\n",
"20\n",
"14\n",
"26\n",
"33\n",
"39\n",
"1\n",
"1\n",
"2\n",
"2\n",
"2\n",
"2\n",
"3\n",
"3\n",
"3\n",
"3\n",
"24\n",
"43\n",
"130\n",
"100\n",
"48\n",
"48\n",
"48\n",
"42\n",
"11\n",
"11\n",
"11\n",
"12\n",
"34\n",
"89\n",
"89\n",
"17\n",
"54\n",
"89\n",
"209\n",
"20\n",
"10\n",
"20\n",
"10\n",
"10\n",
"2\n",
"4\n",
"16\n",
"20\n",
"10\n",
"15\n",
"23\n",
"8\n",
"22\n",
"33\n",
"15\n",
"20\n",
"3\n",
"13\n",
"20\n",
"38\n",
"1\n",
"6\n",
"20\n",
"25\n",
"45\n",
"2\n",
"2\n",
"15\n",
"25\n",
"35\n",
"6\n",
"3\n",
"29\n",
"19\n",
"19\n",
"14\n",
"29\n",
"89\n",
"19\n",
"24\n",
"39\n",
"49\n",
"69\n",
"19\n",
"4\n",
"4\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"19\n",
"4\n",
"3\n",
"3\n",
"3\n",
"4\n",
"4\n",
"4\n",
"3\n",
"3\n",
"4\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"4\n",
"4\n",
"3\n",
"3\n",
"10\n",
"10\n",
"10\n",
"12\n",
"10\n",
"7\n",
"5\n",
"8\n",
"4\n",
"9\n",
"9\n",
"9\n",
"17\n",
"49\n",
"24\n",
"29\n",
"39\n",
"9\n",
"9\n",
"9\n",
"12\n",
"59\n",
"19\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"17\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"12\n",
"17\n",
"19\n",
"24\n",
"24\n",
"39\n",
"44\n",
"59\n",
"19\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"19\n",
"34\n",
"79\n",
"24\n",
"17\n",
"9\n",
"3\n",
"3\n",
"3\n",
"9\n",
"12\n",
"9\n",
"24\n",
"39\n",
"59\n",
"24\n",
"9\n",
"17\n",
"19\n",
"109\n",
"19\n",
"12\n",
"24\n",
"34\n",
"49\n",
"19\n",
"34\n",
"74\n",
"17\n",
"8\n",
"3\n",
"3\n",
"3\n",
"8\n",
"12\n",
"17\n",
"29\n",
"39\n",
"8\n",
"24\n",
"59\n",
"8\n",
"24\n",
"39\n",
"54\n",
"12\n",
"17\n",
"24\n",
"99\n",
"19\n",
"24\n",
"39\n",
"74\n",
"49\n",
"17\n",
"12\n",
"3\n",
"3\n",
"3\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"17\n",
"24\n",
"39\n",
"49\n",
"64\n",
"17\n",
"24\n",
"64\n",
"84\n",
"19\n",
"39\n",
"12\n",
"24\n",
"39\n",
"54\n",
"39\n",
"19\n",
"8\n",
"8\n",
"12\n",
"12\n",
"17\n",
"14\n",
"19\n",
"24\n",
"29\n",
"24\n",
"39\n",
"49\n",
"59\n",
"8\n",
"12\n",
"29\n",
"24\n",
"54\n",
"44\n",
"89\n",
"14\n",
"24\n",
"24\n",
"39\n",
"49\n",
"22\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"14\n",
"7\n",
"14\n",
"24\n",
"12\n",
"17\n",
"19\n",
"24\n",
"34\n",
"44\n",
"59\n",
"24\n",
"24\n",
"34\n",
"44\n",
"119\n",
"17\n",
"34\n",
"54\n",
"54\n",
"84\n",
"22\n",
"8\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"8\n",
"17\n",
"17\n",
"24\n",
"34\n",
"49\n",
"59\n",
"8\n",
"17\n",
"34\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"19\n",
"17\n",
"24\n",
"34\n",
"74\n",
"8\n",
"17\n",
"24\n",
"44\n",
"59\n",
"89\n",
"34\n",
"54\n",
"74\n",
"7\n",
"9\n",
"7\n",
"7\n",
"8\n",
"14\n",
"24\n",
"8\n",
"12\n",
"24\n",
"27\n",
"34\n",
"34\n",
"44\n",
"59\n",
"89\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"24\n",
"44\n",
"59\n",
"59\n",
"89\n",
"89\n",
"17\n",
"24\n",
"39\n",
"54\n",
"19\n",
"17\n",
"17\n",
"59\n",
"8\n",
"17\n",
"8\n",
"8\n",
"17\n",
"24\n",
"34\n",
"44\n",
"64\n",
"69\n",
"139\n",
"12\n",
"21\n",
"24\n",
"54\n",
"59\n",
"24\n",
"59\n",
"17\n",
"59\n",
"89\n",
"17\n",
"39\n",
"44\n",
"59\n",
"8\n",
"49\n",
"89\n",
"89\n",
"8\n",
"39\n",
"8\n",
"19\n",
"54\n",
"24\n",
"79\n",
"59\n",
"89\n",
"139\n",
"8\n",
"74\n",
"59\n",
"44\n",
"89\n",
"8\n",
"17\n",
"17\n",
"24\n",
"24\n",
"39\n",
"84\n",
"57\n",
"24\n",
"62\n",
"129\n",
"24\n",
"44\n",
"17\n",
"8\n",
"17\n",
"17\n",
"74\n",
"74\n",
"19\n",
"49\n",
"44\n",
"17\n",
"44\n",
"24\n",
"104\n",
"79\n",
"8\n",
"8\n",
"8\n",
"12\n",
"17\n",
"8\n",
"29\n",
"34\n",
"39\n",
"59\n",
"49\n",
"24\n",
"74\n",
"89\n",
"89\n",
"12\n",
"8\n",
"39\n",
"17\n",
"59\n",
"69\n",
"114\n",
"24\n",
"17\n",
"17\n",
"8\n",
"44\n",
"19\n",
"89\n",
"169\n",
"8\n",
"12\n",
"12\n",
"8\n",
"17\n",
"14\n",
"17\n",
"17\n",
"24\n",
"24\n",
"34\n",
"44\n",
"59\n",
"44\n",
"59\n",
"69\n",
"89\n",
"8\n",
"17\n",
"34\n",
"39\n",
"54\n",
"69\n",
"8\n",
"24\n",
"19\n",
"89\n",
"149\n",
"79\n",
"24\n",
"119\n",
"79\n",
"8\n",
"24\n",
"17\n",
"19\n",
"17\n",
"8\n",
"34\n",
"44\n",
"54\n",
"59\n",
"69\n",
"79\n",
"119\n",
"8\n",
"24\n",
"24\n",
"44\n",
"24\n",
"4\n",
"4\n",
"6\n",
"4\n",
"9\n",
"4\n",
"10\n",
"8\n",
"24\n",
"10\n",
"20\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"8\n",
"4\n",
"57\n",
"6\n",
"35\n",
"34\n",
"34\n",
"34\n",
"34\n",
"8\n",
"18\n",
"24\n",
"69\n",
"12\n",
"34\n",
"44\n",
"17\n",
"44\n",
"44\n",
"7\n",
"7\n",
"7\n",
"9\n",
"9\n",
"24\n",
"39\n",
"7\n",
"14\n",
"9\n",
"7\n",
"14\n",
"19\n",
"7\n",
"9\n",
"4\n",
"7\n",
"9\n",
"9\n",
"9\n",
"9\n",
"17\n",
"19\n",
"19\n",
"24\n",
"7\n",
"7\n",
"9\n",
"9\n",
"17\n",
"17\n",
"19\n",
"7\n",
"7\n",
"9\n",
"9\n",
"17\n",
"9\n",
"14\n",
"14\n",
"19\n",
"24\n",
"24\n",
"7\n",
"9\n",
"14\n",
"24\n",
"14\n",
"24\n",
"19\n",
"29\n",
"14\n",
"29\n",
"3\n",
"3\n",
"6\n",
"3\n",
"2\n",
"4\n",
"3\n",
"3\n",
"2\n",
"4\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"4\n",
"2\n",
"3\n",
"3\n",
"2\n",
"3\n",
"3\n",
"50\n",
"45\n",
"60\n",
"35\n",
"30\n",
"249\n",
"5\n",
"4\n",
"10\n",
"10\n",
"20\n",
"20\n",
"25\n",
"10\n",
"20\n",
"30\n",
"30\n",
"20\n",
"10\n",
"30\n",
"30\n",
"30\n",
"30\n",
"19\n",
"19\n",
"19\n",
"29\n",
"29\n",
"29\n",
"39\n",
"34\n",
"30\n",
"20\n",
"20\n",
"20\n",
"20\n",
"20\n",
"20\n",
"20\n",
"9\n",
"9\n",
"9\n",
"9\n",
"4\n",
"4\n",
"4\n",
"4\n",
"262\n",
"12\n",
"115\n",
"75\n",
"19\n",
"39\n",
"19\n",
"39\n",
"3\n",
"15\n",
"15\n",
"15\n",
"14\n",
"119\n",
"119\n",
"139\n",
"69\n",
"8\n",
"3\n",
"9\n",
"24\n",
"5\n",
"29\n",
"29\n",
"44\n",
"3\n",
"4\n",
"4\n",
"2\n",
"2\n",
"4\n",
"2\n",
"2\n",
"14\n",
"7\n",
"2\n",
"2\n",
"3\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"14\n",
"3\n",
"3\n",
"4\n",
"17\n",
"4\n",
"3\n",
"2\n",
"2\n",
"2\n",
"9\n",
"2\n",
"9\n",
"10\n",
"6\n",
"4\n",
"3\n",
"1\n",
"2\n",
"2\n",
"4\n",
"3\n",
"4\n",
"3\n",
"2\n",
"11\n",
"2\n",
"4\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"4\n",
"2\n",
"2\n",
"4\n",
"3\n",
"3\n",
"2\n",
"3\n",
"2\n",
"2\n",
"4\n",
"2\n",
"2\n",
"4\n",
"2\n",
"2\n",
"4\n",
"4\n",
"7\n",
"4\n",
"1\n",
"7\n",
"7\n",
"7\n",
"2\n",
"5\n",
"3\n",
"7\n",
"2\n",
"6\n",
"6\n",
"4\n",
"4\n",
"2\n",
"3\n",
"1\n",
"6\n",
"3\n",
"3\n",
"3\n",
"1\n",
"2\n",
"3\n",
"3\n",
"2\n",
"6\n",
"10\n",
"2\n",
"2\n",
"5\n",
"5\n",
"10\n",
"3\n",
"3\n",
"3\n",
"3\n",
"6\n",
"13\n",
"3\n",
"4\n",
"4\n",
"4\n",
"3\n",
"3\n",
"4\n",
"4\n",
"2\n",
"4\n",
"1\n",
"5\n",
"6\n",
"11\n",
"2\n",
"2\n",
"2\n",
"3\n",
"2\n",
"2\n",
"12\n",
"4\n",
"2\n",
"10\n",
"8\n",
"6\n",
"8\n",
"3\n",
"6\n",
"6\n",
"5\n",
"10\n",
"10\n",
"3\n",
"4\n",
"2\n",
"3\n",
"2\n",
"1\n",
"1\n",
"3\n",
"4\n",
"3\n",
"7\n",
"8\n",
"6\n",
"3\n",
"1\n",
"6\n",
"2\n",
"2\n",
"2\n",
"29\n",
"4\n",
"3\n",
"4\n",
"2\n",
"2\n",
"3\n",
"19\n",
"2\n",
"8\n",
"7\n",
"4\n",
"2\n",
"2\n",
"6\n",
"4\n",
"6\n",
"2\n",
"1\n",
"2\n",
"2\n",
"2\n",
"7\n",
"3\n",
"2\n",
"2\n",
"4\n",
"2\n",
"2\n",
"2\n",
"14\n",
"4\n",
"12\n",
"2\n",
"2\n",
"1\n",
"7\n",
"2\n",
"7\n",
"29\n",
"7\n",
"3\n",
"9\n",
"12\n",
"3\n",
"9\n",
"4\n",
"8\n",
"6\n",
"5\n",
"3\n",
"4\n",
"6\n",
"7\n",
"13\n",
"4\n",
"14\n",
"7\n",
"12\n",
"3\n",
"3\n",
"7\n",
"34\n",
"9\n",
"3\n",
"3\n",
"3\n",
"5\n",
"2\n",
"2\n",
"7\n",
"14\n",
"5\n",
"9\n",
"3\n",
"6\n",
"6\n",
"1\n",
"3\n",
"3\n",
"3\n",
"3\n",
"7\n",
"5\n",
"3\n",
"2\n",
"2\n",
"29\n",
"4\n",
"5\n",
"4\n",
"5\n",
"14\n",
"5\n",
"4\n",
"5\n",
"6\n",
"1\n",
"7\n",
"9\n",
"24\n",
"2\n",
"6\n",
"7\n",
"2\n",
"2\n",
"7\n",
"7\n",
"7\n",
"14\n",
"7\n",
"2\n",
"2\n",
"3\n",
"2\n",
"1\n",
"2\n",
"2\n",
"2\n",
"5\n",
"5\n",
"5\n",
"4\n",
"4\n",
"3\n",
"6\n",
"2\n",
"2\n",
"2\n",
"9\n",
"9\n",
"2\n",
"2\n",
"2\n",
"9\n",
"11\n",
"11\n",
"2\n",
"4\n",
"11\n",
"14\n",
"3\n",
"3\n",
"9\n",
"13\n",
"2\n",
"6\n",
"2\n",
"2\n",
"2\n",
"13\n",
"4\n",
"4\n",
"4\n",
"3\n",
"4\n",
"2\n",
"4\n",
"2\n",
"4\n",
"8\n",
"4\n",
"136\n",
"5\n",
"2\n",
"2\n",
"6\n",
"2\n",
"3\n",
"13\n",
"14\n",
"5\n",
"5\n",
"2\n",
"4\n",
"7\n",
"2\n",
"13\n",
"10\n",
"13\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"4\n",
"2\n",
"1\n",
"1\n",
"2\n",
"3\n",
"2\n",
"9\n",
"4\n",
"1\n",
"1\n",
"3\n",
"5\n",
"9\n",
"9\n",
"2\n",
"11\n",
"4\n",
"12\n",
"14\n",
"9\n",
"11\n",
"8\n",
"2\n",
"2\n",
"16\n",
"7\n",
"4\n",
"2\n",
"9\n",
"13\n",
"14\n",
"14\n",
"4\n",
"16\n",
"14\n",
"19\n",
"19\n",
"6\n",
"17\n",
"7\n",
"2\n",
"9\n",
"8\n",
"2\n",
"2\n",
"2\n",
"8\n",
"9\n",
"8\n",
"9\n",
"9\n",
"3\n",
"2\n",
"17\n",
"24\n",
"2\n",
"8\n",
"2\n",
"3\n",
"9\n",
"8\n",
"8\n",
"1\n",
"17\n",
"19\n",
"8\n",
"2\n",
"8\n",
"2\n",
"2\n",
"2\n",
"8\n",
"4\n",
"13\n",
"4\n",
"14\n",
"6\n",
"2\n",
"6\n",
"14\n",
"2\n",
"14\n",
"49\n",
"6\n",
"1\n",
"16\n",
"16\n",
"16\n",
"6\n",
"6\n",
"2\n",
"2\n",
"2\n",
"7\n",
"5\n",
"14\n",
"5\n",
"5\n",
"5\n",
"2\n",
"2\n",
"11\n",
"2\n",
"9\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"8\n",
"8\n",
"8\n",
"11\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"14\n",
"14\n",
"2\n",
"2\n",
"2\n",
"9\n",
"2\n",
"2\n",
"2\n",
"9\n",
"9\n",
"9\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"9\n",
"9\n",
"1\n",
"2\n",
"2\n",
"3\n",
"7\n",
"5\n",
"9\n",
"29\n",
"5\n",
"9\n",
"2\n",
"2\n",
"1\n",
"2\n",
"2\n",
"2\n",
"9\n",
"2\n",
"2\n",
"2\n",
"9\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"9\n",
"9\n",
"2\n",
"5\n",
"2\n",
"2\n",
"2\n",
"9\n",
"2\n",
"2\n",
"9\n",
"9\n",
"9\n",
"3\n",
"3\n",
"1\n",
"5\n",
"1\n",
"2\n",
"2\n",
"9\n",
"14\n",
"2\n",
"2\n",
"2\n",
"9\n",
"2\n",
"2\n",
"5\n",
"1\n",
"6\n",
"1\n",
"14\n",
"9\n",
"7\n",
"1\n",
"24\n",
"39\n",
"2\n",
"2\n",
"2\n",
"4\n",
"2\n",
"2\n",
"2\n",
"9\n",
"7\n",
"3\n",
"14\n",
"9\n",
"2\n",
"2\n",
"9\n",
"9\n",
"9\n",
"3\n",
"3\n",
"9\n",
"9\n",
"4\n",
"8\n",
"6\n",
"4\n",
"12\n",
"6\n",
"4\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"2\n",
"3\n",
"6\n",
"8\n",
"3\n",
"3\n",
"4\n",
"3\n",
"3\n",
"2\n",
"3\n",
"8\n",
"4\n",
"6\n",
"8\n",
"12\n",
"12\n",
"19\n",
"19\n",
"6\n",
"6\n",
"6\n",
"3\n",
"3\n",
"2\n",
"3\n",
"2\n",
"6\n",
"14\n",
"10\n",
"19\n",
"5\n",
"4\n",
"3\n",
"5\n",
"3\n",
"3\n",
"4\n",
"4\n",
"4\n",
"6\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"10\n",
"6\n",
"2\n",
"8\n",
"4\n",
"3\n",
"4\n",
"12\n",
"12\n",
"4\n",
"4\n",
"4\n",
"4\n",
"5\n",
"4\n",
"4\n",
"3\n",
"4\n",
"12\n",
"3\n",
"4\n",
"4\n",
"4\n",
"4\n",
"7\n",
"12\n",
"6\n",
"6\n",
"7\n",
"7\n",
"7\n",
"10\n",
"6\n",
"4\n",
"10\n",
"20\n",
"20\n",
"3\n",
"20\n",
"6\n",
"20\n",
"7\n",
"3\n",
"6\n",
"4\n",
"3\n",
"6\n",
"4\n",
"7\n",
"10\n",
"7\n",
"12\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"6\n",
"7\n",
"4\n",
"20\n",
"20\n",
"4\n",
"3\n",
"3\n",
"4\n",
"4\n",
"3\n",
"7\n",
"15\n",
"3\n",
"3\n",
"4\n",
"3\n",
"4\n",
"3\n",
"8\n",
"8\n",
"21\n",
"8\n",
"8\n",
"4\n",
"4\n",
"12\n",
"6\n",
"10\n",
"21\n",
"21\n",
"4\n",
"4\n",
"3\n",
"3\n",
"4\n",
"3\n",
"8\n",
"3\n",
"3\n",
"6\n",
"10\n",
"3\n",
"3\n",
"3\n",
"3\n",
"25\n",
"10\n",
"21\n",
"4\n",
"4\n",
"3\n",
"3\n",
"3\n",
"13\n",
"6\n",
"9\n",
"8\n",
"3\n",
"6\n",
"11\n",
"11\n",
"21\n",
"21\n",
"4\n",
"3\n",
"3\n",
"21\n",
"6\n",
"8\n",
"12\n",
"8\n",
"3\n",
"3\n",
"6\n",
"6\n",
"4\n",
"3\n",
"4\n",
"3\n",
"7\n",
"13\n",
"8\n",
"8\n",
"8\n",
"8\n",
"6\n",
"14\n",
"3\n",
"14\n",
"13\n",
"4\n",
"3\n",
"4\n",
"3\n",
"4\n",
"4\n",
"4\n",
"3\n",
"3\n",
"3\n",
"4\n",
"3\n",
"13\n",
"109\n",
"154\n",
"4\n",
"3\n",
"3\n",
"6\n",
"8\n",
"17\n",
"4\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"4\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"8\n",
"9\n",
"8\n",
"4\n",
"9\n",
"3\n",
"8\n",
"21\n",
"8\n",
"3\n",
"3\n",
"3\n",
"4\n",
"4\n",
"4\n",
"3\n",
"4\n",
"8\n",
"19\n",
"4\n",
"4\n",
"3\n",
"4\n",
"4\n",
"4\n",
"4\n",
"3\n",
"3\n",
"8\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"8\n",
"19\n",
"3\n",
"3\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"25\n",
"8\n",
"8\n",
"8\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"8\n",
"8\n",
"8\n",
"21\n",
"16\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"1\n",
"1\n",
"19\n",
"9\n",
"20\n",
"9\n",
"9\n",
"9\n",
"9\n",
"14\n",
"24\n",
"24\n",
"24\n",
"14\n",
"14\n",
"14\n",
"24\n",
"24\n",
"15\n",
"14\n",
"14\n",
"7\n",
"34\n",
"19\n",
"39\n",
"39\n",
"39\n",
"39\n",
"29\n",
"39\n",
"29\n",
"19\n",
"14\n",
"39\n",
"29\n",
"44\n",
"44\n",
"24\n",
"29\n",
"44\n",
"39\n",
"44\n",
"24\n",
"14\n",
"24\n",
"24\n",
"24\n",
"24\n",
"11\n",
"39\n",
"39\n",
"39\n",
"29\n",
"29\n",
"29\n",
"19\n",
"24\n",
"39\n",
"14\n",
"29\n",
"29\n",
"44\n",
"29\n",
"29\n",
"39\n",
"44\n",
"15\n",
"15\n",
"15\n",
"20\n",
"20\n",
"25\n",
"25\n",
"25\n",
"25\n",
"24\n",
"2\n",
"5\n",
"4\n",
"3\n",
"13\n",
"4\n",
"2\n",
"2\n",
"7\n",
"3\n",
"5\n",
"6\n",
"4\n",
"3\n",
"9\n",
"24\n",
"14\n",
"14\n",
"29\n",
"24\n",
"20\n",
"20\n",
"20\n",
"24\n",
"24\n",
"44\n",
"44\n",
"24\n",
"39\n",
"29\n",
"39\n",
"14\n",
"39\n",
"24\n",
"20\n",
"7\n",
"19\n",
"34\n",
"29\n",
"24\n",
"39\n",
"39\n",
"29\n",
"39\n",
"19\n",
"44\n",
"17\n",
"13\n",
"13\n",
"17\n",
"14\n",
"9\n",
"9\n",
"39\n",
"6\n",
"6\n",
"9\n",
"9\n",
"29\n",
"29\n",
"29\n",
"29\n",
"29\n",
"24\n",
"29\n",
"19\n",
"29\n",
"19\n",
"19\n",
"24\n",
"15\n",
"3\n",
"24\n",
"41\n",
"34\n",
"29\n",
"39\n",
"34\n",
"39\n",
"29\n",
"24\n",
"34\n",
"14\n",
"44\n",
"19\n",
"14\n",
"9\n",
"19\n",
"19\n",
"24\n",
"24\n",
"19\n",
"19\n",
"19\n",
"29\n",
"29\n",
"29\n",
"24\n",
"29\n",
"14\n",
"6\n",
"9\n",
"12\n",
"7\n",
"24\n",
"24\n",
"19\n",
"19\n",
"19\n",
"19\n",
"14\n",
"14\n",
"18\n",
"21\n",
"24\n",
"25\n",
"24\n",
"31\n",
"29\n",
"19\n",
"29\n",
"19\n",
"29\n",
"39\n",
"39\n",
"39\n",
"7\n",
"7\n",
"19\n",
"19\n",
"6\n",
"9\n",
"9\n",
"9\n",
"9\n",
"19\n",
"24\n",
"17\n",
"17\n",
"20\n",
"20\n",
"19\n",
"24\n",
"24\n",
"29\n",
"59\n",
"49\n",
"29\n",
"49\n",
"49\n",
"59\n",
"14\n",
"39\n",
"14\n",
"39\n",
"11\n",
"19\n",
"17\n",
"11\n",
"17\n",
"17\n",
"11\n",
"11\n",
"24\n",
"24\n",
"24\n",
"11\n",
"14\n",
"99\n",
"19\n",
"174\n",
"29\n",
"99\n",
"14\n",
"19\n",
"94\n",
"29\n",
"19\n",
"24\n",
"9\n",
"29\n",
"49\n",
"59\n",
"29\n",
"49\n",
"49\n",
"59\n",
"24\n",
"29\n",
"29\n",
"29\n",
"39\n",
"12\n",
"12\n",
"12\n",
"9\n",
"9\n",
"4\n",
"4\n",
"7\n",
"11\n",
"13\n",
"13\n",
"13\n",
"13\n",
"14\n",
"29\n",
"29\n",
"49\n",
"59\n",
"59\n",
"15\n",
"24\n",
"24\n",
"19\n",
"14\n",
"29\n",
"24\n",
"24\n",
"24\n",
"24\n",
"24\n",
"24\n",
"24\n",
"24\n",
"24\n",
"24\n",
"24\n",
"29\n",
"29\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"29\n",
"49\n",
"49\n",
"49\n",
"19\n",
"14\n",
"18\n",
"19\n",
"15\n",
"34\n",
"24\n",
"24\n",
"9\n",
"9\n",
"19\n",
"22\n",
"17\n",
"12\n",
"17\n",
"4\n",
"19\n",
"39\n",
"39\n",
"39\n",
"19\n",
"12\n",
"5\n",
"12\n",
"9\n",
"8\n",
"5\n",
"29\n",
"24\n",
"29\n",
"24\n",
"29\n",
"29\n",
"24\n",
"24\n",
"29\n",
"24\n",
"59\n",
"49\n",
"59\n",
"69\n",
"59\n",
"49\n",
"19\n",
"39\n",
"24\n",
"19\n",
"12\n",
"155\n",
"24\n",
"59\n",
"59\n",
"59\n",
"9\n",
"18\n",
"17\n",
"14\n",
"29\n",
"24\n",
"24\n",
"24\n",
"29\n",
"29\n",
"24\n",
"29\n",
"24\n",
"29\n",
"29\n",
"5\n",
"7\n",
"2\n",
"7\n",
"4\n",
"13\n",
"12\n",
"13\n",
"12\n",
"12\n",
"69\n",
"69\n",
"24\n",
"20\n",
"13\n",
"13\n",
"19\n",
"17\n",
"14\n",
"14\n",
"49\n",
"59\n",
"59\n",
"29\n",
"24\n",
"24\n",
"24\n",
"24\n",
"29\n",
"59\n",
"31\n",
"9\n",
"9\n",
"9\n",
"12\n",
"12\n",
"12\n",
"9\n",
"44\n",
"29\n",
"14\n",
"14\n",
"35\n",
"12\n",
"12\n",
"9\n",
"9\n",
"9\n",
"9\n",
"12\n",
"9\n",
"9\n",
"9\n",
"59\n",
"59\n",
"59\n",
"19\n",
"24\n",
"24\n",
"19\n",
"14\n",
"24\n",
"49\n",
"16\n",
"49\n",
"34\n",
"24\n",
"16\n",
"49\n",
"8\n",
"8\n",
"39\n",
"26\n",
"2\n",
"2\n",
"6\n",
"1\n",
"6\n",
"24\n",
"24\n",
"24\n",
"19\n",
"24\n",
"19\n",
"5\n",
"5\n",
"4\n",
"1\n",
"19\n",
"24\n",
"26\n",
"13\n",
"13\n",
"24\n",
"24\n",
"19\n",
"19\n",
"24\n",
"24\n",
"19\n",
"19\n",
"19\n",
"13\n",
"13\n",
"5\n",
"5\n",
"5\n",
"5\n",
"29\n",
"3\n",
"9\n",
"9\n",
"9\n",
"24\n",
"24\n",
"19\n",
"4\n",
"14\n",
"29\n",
"49\n",
"18\n",
"5\n",
"5\n",
"8\n",
"9\n",
"24\n",
"19\n",
"8\n",
"5\n",
"5\n",
"15\n",
"5\n",
"5\n",
"19\n",
"19\n",
"24\n",
"15\n",
"59\n",
"59\n",
"39\n",
"26\n",
"15\n",
"5\n",
"11\n",
"11\n",
"11\n",
"6\n",
"2\n",
"6\n",
"13\n",
"39\n",
"39\n",
"39\n",
"6\n",
"6\n",
"6\n",
"44\n",
"9\n",
"17\n",
"5\n",
"5\n",
"19\n",
"34\n",
"34\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"14\n",
"19\n",
"39\n",
"39\n",
"15\n",
"7\n",
"15\n",
"14\n",
"11\n",
"14\n",
"19\n",
"8\n",
"9\n",
"15\n",
"10\n",
"8\n",
"8\n",
"17\n",
"24\n",
"8\n",
"19\n",
"14\n",
"14\n",
"14\n",
"8\n",
"6\n",
"5\n",
"5\n",
"12\n",
"11\n",
"4\n",
"9\n",
"14\n",
"13\n",
"59\n",
"24\n",
"39\n",
"29\n",
"9\n",
"13\n",
"6\n",
"6\n",
"6\n",
"10\n",
"6\n",
"19\n",
"44\n",
"19\n",
"19\n",
"19\n",
"39\n",
"39\n",
"58\n",
"32\n",
"58\n",
"28\n",
"58\n",
"52\n",
"52\n",
"12\n",
"12\n",
"17\n",
"12\n",
"11\n",
"11\n",
"11\n",
"13\n",
"56\n",
"29\n",
"19\n",
"26\n",
"24\n",
"24\n",
"33\n",
"34\n",
"26\n",
"13\n",
"8\n",
"9\n",
"11\n",
"14\n",
"14\n",
"39\n",
"9\n",
"24\n",
"24\n",
"10\n",
"15\n",
"24\n",
"21\n",
"7\n",
"7\n",
"15\n",
"59\n",
"59\n",
"54\n",
"54\n",
"104\n",
"54\n",
"69\n",
"54\n",
"69\n",
"104\n",
"24\n",
"24\n",
"8\n",
"14\n",
"12\n",
"19\n",
"19\n",
"19\n",
"19\n",
"19\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"11\n",
"8\n",
"8\n",
"8\n",
"17\n",
"17\n",
"13\n",
"14\n",
"14\n",
"14\n",
"7\n",
"15\n",
"13\n",
"12\n",
"13\n",
"69\n",
"69\n",
"69\n",
"69\n",
"24\n",
"49\n",
"24\n",
"24\n",
"24\n",
"26\n",
"31\n",
"32\n",
"32\n",
"30\n",
"30\n",
"30\n",
"30\n",
"8\n",
"8\n",
"20\n",
"39\n",
"39\n",
"26\n",
"26\n",
"24\n",
"34\n",
"13\n",
"44\n",
"19\n",
"27\n",
"19\n",
"19\n",
"27\n",
"19\n",
"19\n",
"8\n",
"13\n",
"13\n",
"13\n",
"39\n",
"42\n",
"42\n",
"42\n",
"59\n",
"59\n",
"59\n",
"3\n",
"14\n",
"16\n",
"16\n",
"15\n",
"21\n",
"21\n",
"21\n",
"21\n",
"10\n",
"29\n",
"35\n",
"21\n",
"21\n",
"10\n",
"14\n",
"26\n",
"7\n",
"7\n",
"7\n",
"7\n",
"10\n",
"12\n",
"12\n",
"16\n",
"12\n",
"12\n",
"12\n",
"86\n",
"86\n",
"86\n",
"99\n",
"27\n",
"27\n",
"27\n",
"27\n",
"27\n",
"13\n",
"24\n",
"19\n",
"8\n",
"21\n",
"21\n",
"10\n",
"10\n",
"9\n",
"9\n",
"9\n",
"8\n",
"8\n",
"8\n",
"13\n",
"8\n",
"8\n",
"8\n",
"5\n",
"8\n",
"8\n",
"21\n",
"8\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"16\n",
"9\n",
"8\n",
"8\n",
"13\n",
"11\n",
"14\n",
"19\n",
"24\n",
"25\n",
"8\n",
"25\n",
"14\n",
"24\n",
"45\n",
"45\n",
"35\n",
"17\n",
"47\n",
"33\n",
"33\n",
"17\n",
"38\n",
"40\n",
"22\n",
"14\n",
"14\n",
"60\n",
"17\n",
"20\n",
"20\n",
"20\n",
"20\n",
"20\n",
"14\n",
"16\n",
"6\n",
"6\n",
"14\n",
"15\n",
"17\n",
"9\n",
"29\n",
"25\n",
"16\n",
"16\n",
"13\n",
"8\n",
"8\n",
"13\n",
"13\n",
"22\n",
"15\n",
"16\n",
"24\n",
"14\n",
"14\n",
"14\n",
"14\n",
"15\n",
"14\n",
"13\n",
"31\n",
"19\n",
"19\n",
"19\n",
"42\n",
"42\n",
"42\n",
"21\n",
"29\n",
"29\n",
"21\n",
"21\n",
"32\n",
"27\n",
"24\n",
"22\n",
"32\n",
"39\n",
"49\n",
"32\n",
"16\n",
"16\n",
"49\n",
"19\n",
"14\n",
"46\n",
"69\n",
"69\n",
"79\n",
"84\n",
"94\n",
"129\n",
"42\n",
"42\n",
"79\n",
"69\n",
"34\n",
"34\n",
"54\n",
"54\n",
"42\n",
"42\n",
"42\n",
"42\n",
"27\n",
"27\n",
"24\n",
"24\n",
"14\n",
"13\n",
"21\n",
"26\n",
"12\n",
"12\n",
"12\n",
"12\n",
"19\n",
"13\n",
"12\n",
"13\n",
"17\n",
"12\n",
"12\n",
"12\n",
"12\n",
"13\n",
"13\n",
"13\n",
"13\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"14\n",
"7\n",
"8\n",
"8\n",
"21\n",
"21\n",
"12\n",
"12\n",
"39\n",
"49\n",
"47\n",
"18\n",
"4\n",
"4\n",
"5\n",
"5\n",
"39\n",
"22\n",
"8\n",
"59\n",
"14\n",
"40\n",
"34\n",
"13\n",
"17\n",
"16\n",
"24\n",
"24\n",
"14\n",
"24\n",
"109\n",
"39\n",
"39\n",
"13\n",
"21\n",
"12\n",
"11\n",
"15\n",
"14\n",
"14\n",
"21\n",
"21\n",
"12\n",
"12\n",
"39\n",
"24\n",
"17\n",
"19\n",
"89\n",
"79\n",
"59\n",
"17\n",
"29\n",
"42\n",
"42\n",
"34\n",
"9\n",
"49\n",
"17\n",
"17\n",
"39\n",
"22\n",
"24\n",
"49\n",
"19\n",
"24\n",
"44\n",
"49\n",
"29\n",
"97\n",
"117\n",
"59\n",
"79\n",
"54\n",
"54\n",
"59\n",
"79\n",
"84\n",
"114\n",
"24\n",
"24\n",
"13\n",
"8\n",
"8\n",
"8\n",
"29\n",
"149\n",
"59\n",
"79\n",
"79\n",
"89\n",
"89\n",
"22\n",
"18\n",
"59\n",
"59\n",
"59\n",
"36\n",
"36\n",
"36\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"24\n",
"24\n",
"24\n",
"12\n",
"8\n",
"12\n",
"9\n",
"284\n",
"54\n",
"4\n",
"8\n",
"16\n",
"16\n",
"24\n",
"24\n",
"39\n",
"79\n",
"2\n",
"8\n",
"24\n",
"8\n",
"19\n",
"8\n",
"8\n",
"8\n",
"11\n",
"17\n",
"24\n",
"44\n",
"59\n",
"5\n",
"17\n",
"8\n",
"10\n",
"19\n",
"39\n",
"5\n",
"8\n",
"17\n",
"17\n",
"19\n",
"19\n",
"39\n",
"79\n",
"34\n",
"14\n",
"29\n",
"29\n",
"39\n",
"59\n",
"79\n",
"102\n",
"10\n",
"29\n",
"49\n",
"69\n",
"89\n",
"132\n",
"4\n",
"3\n",
"3\n",
"4\n",
"24\n",
"3\n",
"3\n",
"13\n",
"13\n",
"409\n",
"19\n",
"29\n",
"49\n",
"89\n",
"12\n",
"19\n",
"44\n",
"59\n",
"89\n",
"79\n",
"34\n",
"34\n",
"44\n",
"24\n",
"19\n",
"17\n",
"24\n",
"69\n",
"89\n",
"389\n",
"34\n",
"89\n",
"24\n",
"24\n",
"24\n",
"27\n",
"24\n",
"17\n",
"34\n",
"79\n",
"129\n",
"24\n",
"259\n",
"59\n",
"114\n",
"34\n",
"24\n",
"24\n",
"24\n",
"44\n",
"59\n",
"17\n",
"44\n",
"79\n",
"89\n",
"29\n",
"429\n",
"44\n",
"79\n",
"114\n",
"29\n",
"29\n",
"29\n",
"29\n",
"44\n",
"62\n",
"74\n",
"62\n",
"369\n",
"29\n",
"149\n",
"39\n",
"24\n",
"84\n",
"114\n",
"12\n",
"17\n",
"31\n",
"54\n",
"64\n",
"89\n",
"39\n",
"34\n",
"24\n",
"59\n",
"17\n",
"169\n",
"219\n",
"29\n",
"79\n",
"124\n",
"19\n",
"17\n",
"44\n",
"169\n",
"44\n",
"44\n",
"69\n",
"17\n",
"54\n",
"89\n",
"79\n",
"89\n",
"129\n",
"229\n",
"29\n",
"349\n",
"59\n",
"17\n",
"12\n",
"24\n",
"89\n",
"54\n",
"139\n",
"89\n",
"69\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"17\n",
"17\n",
"21\n",
"25\n",
"6\n",
"6\n",
"9\n",
"14\n",
"6\n",
"6\n",
"9\n",
"6\n",
"9\n",
"9\n",
"9\n",
"6\n",
"6\n",
"24\n",
"24\n",
"6\n",
"9\n",
"9\n",
"14\n",
"9\n",
"9\n",
"9\n",
"9\n",
"19\n",
"34\n",
"14\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"19\n",
"9\n",
"4\n",
"14\n",
"9\n",
"7\n",
"7\n",
"7\n",
"9\n",
"7\n",
"9\n",
"9\n",
"17\n",
"9\n",
"9\n",
"7\n",
"7\n",
"24\n",
"8\n",
"8\n",
"12\n",
"12\n",
"12\n",
"12\n",
"17\n",
"19\n",
"8\n",
"8\n",
"12\n",
"12\n",
"12\n",
"24\n",
"34\n",
"4\n",
"3\n",
"12\n",
"12\n",
"17\n",
"24\n",
"24\n",
"34\n",
"44\n",
"54\n",
"69\n",
"109\n",
"17\n",
"17\n",
"24\n",
"24\n",
"44\n",
"44\n",
"17\n",
"24\n",
"34\n",
"59\n",
"89\n",
"2\n",
"3\n",
"3\n",
"9\n",
"9\n",
"12\n",
"19\n",
"29\n",
"44\n",
"1\n",
"1\n",
"2\n",
"2\n",
"1\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"4\n",
"39\n",
"259\n",
"209\n",
"79\n",
"474\n",
"89\n",
"169\n",
"139\n",
"54\n",
"44\n",
"79\n",
"79\n",
"169\n",
"289\n",
"89\n",
"114\n",
"89\n",
"159\n",
"89\n",
"589\n",
"149\n",
"199\n",
"89\n",
"344\n",
"169\n",
"159\n",
"344\n",
"149\n",
"344\n",
"209\n",
"554\n",
"89\n",
"44\n",
"44\n",
"199\n",
"54\n",
"44\n",
"94\n",
"429\n",
"209\n",
"169\n",
"189\n",
"129\n",
"229\n",
"89\n",
"259\n",
"149\n",
"54\n",
"44\n",
"69\n",
"44\n",
"199\n",
"399\n",
"89\n",
"229\n",
"159\n",
"79\n",
"89\n",
"89\n",
"219\n",
"199\n",
"109\n",
"179\n",
"69\n",
"229\n",
"89\n",
"349\n",
"139\n",
"159\n",
"89\n",
"199\n",
"109\n",
"69\n",
"49\n",
"299\n",
"399\n",
"109\n",
"24\n",
"24\n",
"44\n",
"59\n",
"94\n",
"89\n",
"249\n",
"229\n",
"99\n",
"64\n",
"79\n",
"119\n",
"199\n",
"129\n",
"99\n",
"30\n",
"10\n",
"79\n",
"44\n",
"34\n",
"34\n",
"24\n",
"44\n",
"29\n",
"15\n",
"39\n",
"49\n",
"39\n",
"49\n",
"59\n",
"54\n",
"74\n",
"44\n",
"109\n",
"139\n",
"159\n",
"19\n",
"69\n",
"29\n",
"59\n",
"54\n",
"79\n",
"214\n",
"59\n",
"54\n",
"59\n",
"179\n",
"344\n",
"104\n",
"159\n",
"89\n",
"214\n",
"69\n",
"104\n",
"259\n",
"69\n",
"199\n",
"149\n",
"89\n",
"259\n",
"104\n",
"214\n",
"159\n",
"89\n",
"44\n",
"199\n",
"69\n",
"124\n",
"259\n",
"69\n",
"79\n",
"99\n",
"314\n",
"89\n",
"129\n",
"169\n",
"89\n",
"289\n",
"189\n",
"69\n",
"289\n",
"59\n",
"149\n",
"249\n",
"199\n",
"89\n",
"54\n",
"269\n",
"44\n",
"99\n",
"139\n",
"69\n",
"89\n",
"104\n",
"69\n",
"9\n",
"18\n",
"29\n",
"47\n",
"74\n",
"8\n",
"17\n",
"26\n",
"46\n",
"8\n",
"18\n",
"31\n",
"73\n",
"41\n",
"26\n",
"41\n",
"29\n",
"34\n",
"129\n",
"49\n",
"1\n",
"1\n",
"1\n",
"4\n",
"7\n",
"9\n",
"9\n",
"14\n",
"24\n",
"39\n",
"2\n",
"2\n",
"5\n",
"5\n",
"7\n",
"9\n",
"14\n",
"14\n",
"24\n",
"39\n",
"54\n",
"1\n",
"1\n",
"1\n",
"2\n",
"5\n",
"9\n",
"14\n",
"24\n",
"54\n",
"9\n",
"14\n",
"11\n",
"9\n",
"14\n",
"14\n",
"17\n",
"15\n",
"29\n",
"24\n",
"24\n",
"24\n",
"34\n",
"9\n",
"9\n",
"15\n",
"15\n",
"19\n",
"19\n",
"24\n",
"29\n",
"8\n",
"11\n",
"12\n",
"12\n",
"19\n",
"24\n",
"8\n",
"17\n",
"24\n",
"19\n",
"7\n",
"7\n",
"7\n",
"7\n",
"24\n",
"14\n",
"19\n",
"12\n",
"12\n",
"15\n",
"17\n",
"15\n",
"19\n",
"29\n",
"44\n",
"17\n",
"24\n",
"8\n",
"17\n",
"8\n",
"17\n",
"24\n",
"19\n",
"17\n",
"19\n",
"24\n",
"44\n",
"19\n",
"24\n",
"29\n",
"12\n",
"29\n",
"44\n",
"12\n",
"3\n",
"79\n",
"19\n",
"29\n",
"49\n",
"59\n",
"99\n",
"39\n",
"19\n",
"29\n",
"39\n",
"59\n",
"119\n",
"39\n",
"39\n",
"59\n",
"19\n",
"59\n",
"219\n",
"54\n",
"79\n",
"17\n",
"49\n",
"89\n",
"24\n",
"34\n",
"24\n",
"44\n",
"69\n",
"17\n",
"44\n",
"17\n",
"29\n",
"44\n",
"89\n",
"119\n",
"44\n",
"44\n",
"89\n",
"31\n",
"19\n",
"46\n",
"74\n",
"114\n",
"19\n",
"34\n",
"34\n",
"59\n",
"79\n",
"19\n",
"219\n",
"39\n",
"19\n",
"29\n",
"89\n",
"54\n",
"44\n",
"139\n",
"19\n",
"24\n",
"39\n",
"59\n",
"89\n",
"179\n",
"89\n",
"3\n",
"3\n",
"3\n",
"4\n",
"109\n",
"7\n",
"12\n",
"17\n",
"29\n",
"29\n",
"39\n",
"69\n",
"19\n",
"49\n",
"59\n",
"99\n",
"34\n",
"39\n",
"39\n",
"69\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"14\n",
"14\n",
"19\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"12\n",
"17\n",
"17\n",
"24\n",
"34\n",
"34\n",
"49\n",
"34\n",
"9\n",
"9\n",
"9\n",
"9\n",
"14\n",
"17\n",
"24\n",
"34\n",
"39\n",
"69\n",
"89\n",
"59\n",
"9\n",
"9\n",
"9\n",
"9\n",
"14\n",
"10\n",
"10\n",
"10\n",
"10\n",
"10\n",
"10\n",
"12\n",
"12\n",
"12\n",
"12\n",
"12\n",
"17\n",
"17\n",
"12\n",
"17\n",
"29\n",
"39\n",
"59\n",
"34\n",
"49\n",
"69\n",
"34\n",
"7\n",
"7\n",
"7\n",
"7\n",
"4\n",
"10\n",
"6\n",
"6\n",
"0\n",
"0\n",
"7\n",
"1\n",
"1\n",
"1\n",
"0\n",
"1\n",
"1\n",
"2\n",
"1\n",
"2\n",
"2\n",
"4\n",
"2\n",
"3\n",
"8\n",
"8\n",
"3\n",
"0\n",
"0\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"5\n",
"1\n",
"1\n",
"1\n",
"1\n",
"15\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"14\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"1\n",
"1\n",
"1\n",
"5\n",
"2\n",
"29\n",
"29\n",
"9\n",
"9\n",
"10\n",
"19\n",
"39\n",
"20\n",
"9\n",
"5\n",
"9\n",
"24\n",
"24\n",
"40\n",
"30\n",
"11\n",
"14\n",
"14\n",
"14\n",
"12\n",
"8\n",
"13\n",
"19\n",
"25\n",
"34\n",
"14\n",
"29\n",
"10\n",
"10\n",
"10\n",
"11\n",
"19\n",
"19\n",
"49\n",
"69\n",
"29\n",
"8\n",
"17\n",
"24\n",
"44\n",
"8\n",
"29\n",
"44\n",
"8\n",
"17\n",
"49\n",
"17\n",
"24\n",
"49\n",
"8\n",
"29\n",
"44\n",
"4\n",
"4\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"3\n",
"3\n",
"19\n",
"12\n",
"13\n",
"13\n",
"13\n",
"29\n",
"19\n",
"39\n",
"19\n",
"34\n",
"11\n",
"11\n",
"19\n",
"44\n",
"19\n",
"49\n",
"19\n",
"39\n",
"69\n",
"44\n",
"11\n",
"19\n",
"29\n",
"69\n",
"11\n",
"39\n",
"59\n",
"19\n",
"49\n",
"279\n",
"29\n",
"29\n",
"49\n",
"19\n",
"74\n",
"99\n",
"19\n",
"39\n",
"29\n",
"8\n",
"8\n",
"8\n",
"29\n",
"8\n",
"8\n",
"8\n",
"19\n",
"29\n",
"54\n",
"19\n",
"29\n",
"44\n",
"19\n",
"39\n",
"49\n",
"54\n",
"8\n",
"8\n",
"8\n",
"19\n",
"29\n",
"11\n",
"19\n",
"34\n",
"29\n",
"119\n",
"69\n",
"89\n",
"19\n",
"19\n",
"34\n",
"44\n",
"19\n",
"29\n",
"54\n",
"74\n",
"24\n",
"24\n",
"34\n",
"54\n",
"89\n",
"8\n",
"24\n",
"8\n",
"8\n",
"19\n",
"34\n",
"54\n",
"8\n",
"8\n",
"19\n",
"19\n",
"29\n",
"29\n",
"74\n",
"54\n",
"109\n",
"17\n",
"59\n",
"89\n",
"24\n",
"24\n",
"34\n",
"54\n",
"79\n",
"24\n",
"8\n",
"8\n",
"17\n",
"8\n",
"8\n",
"17\n",
"39\n",
"69\n",
"24\n",
"34\n",
"299\n",
"17\n",
"34\n",
"17\n",
"59\n",
"8\n",
"34\n",
"79\n",
"69\n",
"139\n",
"29\n",
"17\n",
"24\n",
"17\n",
"54\n",
"24\n",
"24\n",
"8\n",
"8\n",
"8\n",
"24\n",
"39\n",
"17\n",
"54\n",
"99\n",
"474\n",
"44\n",
"8\n",
"29\n",
"79\n",
"299\n",
"79\n",
"44\n",
"214\n",
"17\n",
"59\n",
"24\n",
"24\n",
"24\n",
"29\n",
"84\n",
"34\n",
"12\n",
"12\n",
"12\n",
"19\n",
"29\n",
"44\n",
"89\n",
"46\n",
"64\n",
"69\n",
"8\n",
"29\n",
"89\n",
"29\n",
"31\n",
"31\n",
"12\n",
"94\n",
"179\n",
"20\n",
"94\n",
"29\n",
"429\n",
"8\n",
"12\n",
"12\n",
"31\n",
"24\n",
"31\n",
"74\n",
"54\n",
"31\n",
"59\n",
"159\n",
"12\n",
"19\n",
"24\n",
"44\n",
"89\n",
"49\n",
"29\n",
"289\n",
"69\n",
"29\n",
"39\n",
"29\n",
"12\n",
"12\n",
"24\n",
"24\n",
"44\n",
"24\n",
"89\n",
"89\n",
"49\n",
"54\n",
"44\n",
"29\n",
"17\n",
"44\n",
"44\n",
"89\n",
"119\n",
"109\n",
"54\n",
"54\n",
"59\n",
"19\n",
"8\n",
"17\n",
"12\n",
"24\n",
"54\n",
"99\n",
"44\n",
"119\n",
"89\n",
"44\n",
"79\n",
"329\n",
"39\n",
"4\n",
"4\n",
"39\n",
"39\n",
"29\n",
"79\n",
"79\n",
"49\n",
"79\n",
"9\n",
"16\n",
"19\n",
"39\n",
"24\n",
"49\n",
"50\n",
"25\n",
"159\n",
"20\n",
"179\n",
"8\n",
"8\n",
"234\n",
"110\n",
"25\n",
"200\n",
"50\n",
"100\n",
"50\n",
"150\n",
"50\n",
"19\n",
"200\n",
"100\n",
"100\n",
"24\n",
"15\n",
"11\n",
"19\n",
"31\n",
"13\n",
"139\n",
"21\n",
"15\n",
"15\n",
"22\n",
"28\n",
"28\n",
"24\n",
"10\n",
"49\n",
"107\n",
"299\n",
"17\n",
"199\n",
"25\n",
"20\n",
"29\n",
"25\n",
"25\n",
"15\n",
"22\n",
"25\n",
"24\n",
"314\n",
"49\n",
"39\n",
"49\n",
"39\n",
"39\n",
"19\n",
"36\n",
"36\n",
"36\n",
"39\n",
"49\n",
"39\n",
"39\n",
"24\n",
"29\n",
"29\n",
"29\n",
"19\n",
"24\n",
"39\n",
"49\n",
"59\n",
"89\n",
"19\n",
"39\n",
"59\n",
"74\n",
"19\n",
"54\n",
"69\n",
"29\n",
"99\n",
"179\n",
"19\n",
"29\n",
"39\n",
"49\n",
"59\n",
"69\n",
"59\n",
"119\n",
"249\n",
"12\n",
"12\n",
"19\n",
"19\n",
"29\n",
"39\n",
"49\n",
"19\n",
"39\n",
"79\n",
"12\n",
"12\n",
"12\n",
"19\n",
"39\n",
"19\n",
"29\n",
"79\n",
"12\n",
"12\n",
"17\n",
"29\n",
"59\n",
"69\n",
"8\n",
"39\n",
"8\n",
"17\n",
"19\n",
"19\n",
"24\n",
"54\n",
"44\n",
"17\n",
"24\n",
"54\n",
"104\n",
"34\n",
"8\n",
"17\n",
"17\n",
"19\n",
"29\n",
"59\n",
"19\n",
"29\n",
"44\n",
"89\n",
"114\n",
"24\n",
"44\n",
"8\n",
"17\n",
"19\n",
"29\n",
"39\n",
"44\n",
"59\n",
"20\n",
"31\n",
"64\n",
"94\n",
"8\n",
"17\n",
"17\n",
"20\n",
"31\n",
"49\n",
"39\n",
"12\n",
"22\n",
"29\n",
"49\n",
"54\n",
"69\n",
"79\n",
"8\n",
"12\n",
"17\n",
"24\n",
"44\n",
"34\n",
"44\n",
"59\n",
"17\n",
"24\n",
"34\n",
"49\n",
"74\n",
"89\n",
"29\n",
"17\n",
"59\n",
"8\n",
"12\n",
"17\n",
"17\n",
"24\n",
"39\n",
"54\n",
"59\n",
"3\n",
"4\n",
"4\n",
"4\n",
"3\n",
"44\n",
"44\n",
"84\n",
"10\n",
"10\n",
"1\n",
"4\n",
"4\n",
"3\n",
"0\n",
"12\n",
"10\n",
"10\n",
"29\n",
"6\n",
"15\n",
"13\n",
"54\n",
"69\n",
"10\n",
"8\n",
"34\n",
"14\n",
"13\n",
"11\n",
"14\n",
"89\n",
"54\n",
"79\n",
"79\n",
"21\n",
"12\n",
"12\n",
"64\n",
"79\n",
"79\n",
"79\n",
"34\n",
"24\n",
"12\n",
"54\n",
"54\n",
"139\n",
"129\n",
"89\n",
"19\n",
"14\n",
"24\n",
"18\n",
"76\n",
"9\n",
"9\n",
"11\n",
"9\n",
"14\n",
"7\n",
"11\n",
"11\n",
"11\n",
"11\n",
"11\n",
"9\n",
"6\n",
"9\n",
"3\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"36\n",
"50\n",
"39\n",
"40\n",
"49\n",
"88\n",
"80\n",
"139\n",
"79\n",
"80\n",
"110\n",
"26\n",
"11\n",
"24\n",
"39\n",
"44\n",
"54\n",
"74\n",
"89\n",
"114\n",
"149\n",
"44\n",
"54\n",
"119\n",
"17\n",
"24\n",
"34\n",
"59\n",
"89\n",
"114\n",
"149\n",
"39\n",
"44\n",
"89\n",
"29\n",
"34\n",
"44\n",
"59\n",
"69\n",
"89\n",
"119\n",
"54\n",
"89\n",
"159\n",
"17\n",
"17\n",
"59\n",
"89\n",
"119\n",
"42\n",
"46\n",
"64\n",
"169\n",
"29\n",
"39\n",
"74\n",
"159\n",
"59\n",
"74\n",
"94\n",
"124\n",
"69\n",
"54\n",
"4\n",
"8\n",
"17\n",
"24\n",
"34\n",
"39\n",
"59\n",
"79\n",
"149\n",
"3\n",
"3\n",
"7\n",
"7\n",
"17\n",
"17\n",
"24\n",
"29\n",
"39\n",
"84\n",
"7\n",
"17\n",
"29\n",
"39\n",
"59\n",
"109\n",
"19\n",
"19\n",
"39\n",
"29\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"7\n",
"14\n",
"14\n",
"24\n",
"44\n",
"84\n",
"29\n",
"29\n",
"49\n",
"59\n",
"109\n",
"19\n",
"19\n",
"12\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"2\n",
"2\n",
"19\n",
"19\n",
"29\n",
"39\n",
"49\n",
"59\n",
"10\n",
"10\n",
"10\n",
"10\n",
"89\n",
"59\n",
"34\n",
"89\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"14\n",
"7\n",
"7\n",
"12\n",
"6\n",
"13\n",
"19\n",
"26\n",
"30\n",
"49\n",
"45\n",
"91\n",
"14\n",
"30\n",
"3\n",
"19\n",
"26\n",
"35\n",
"61\n",
"5\n",
"12\n",
"19\n",
"24\n",
"29\n",
"39\n",
"59\n",
"19\n",
"29\n",
"59\n",
"89\n",
"19\n",
"34\n",
"49\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"14\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"12\n",
"7\n",
"12\n",
"3\n",
"4\n",
"3\n",
"4\n",
"4\n",
"3\n",
"4\n",
"4\n",
"3\n",
"10\n",
"11\n",
"7\n",
"17\n",
"17\n",
"24\n",
"29\n",
"59\n",
"24\n",
"39\n",
"49\n",
"17\n",
"39\n",
"44\n",
"59\n",
"84\n",
"109\n",
"7\n",
"17\n",
"17\n",
"24\n",
"24\n",
"44\n",
"74\n",
"8\n",
"14\n",
"24\n",
"24\n",
"39\n",
"59\n",
"74\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"14\n",
"24\n",
"39\n",
"34\n",
"44\n",
"59\n",
"12\n",
"12\n",
"12\n",
"12\n",
"12\n",
"17\n",
"17\n",
"34\n",
"59\n",
"89\n",
"119\n",
"44\n",
"8\n",
"8\n",
"8\n",
"8\n",
"15\n",
"15\n",
"14\n",
"17\n",
"24\n",
"34\n",
"44\n",
"77\n",
"12\n",
"17\n",
"24\n",
"39\n",
"44\n",
"64\n",
"119\n",
"89\n",
"79\n",
"8\n",
"8\n",
"8\n",
"8\n",
"17\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"9\n",
"17\n",
"17\n",
"24\n",
"49\n",
"69\n",
"24\n",
"34\n",
"89\n",
"24\n",
"29\n",
"89\n",
"17\n",
"34\n",
"39\n",
"59\n",
"39\n",
"99\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"7\n",
"17\n",
"24\n",
"24\n",
"34\n",
"39\n",
"59\n",
"179\n",
"5\n",
"7\n",
"12\n",
"17\n",
"19\n",
"44\n",
"8\n",
"17\n",
"34\n",
"24\n",
"34\n",
"124\n",
"8\n",
"17\n",
"29\n",
"24\n",
"34\n",
"44\n",
"69\n",
"24\n",
"8\n",
"8\n",
"8\n",
"24\n",
"17\n",
"44\n",
"64\n",
"74\n",
"89\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"24\n",
"34\n",
"44\n",
"59\n",
"79\n",
"17\n",
"299\n",
"24\n",
"17\n",
"34\n",
"44\n",
"59\n",
"34\n",
"17\n",
"34\n",
"44\n",
"69\n",
"99\n",
"129\n",
"8\n",
"39\n",
"17\n",
"8\n",
"24\n",
"24\n",
"34\n",
"89\n",
"59\n",
"89\n",
"17\n",
"39\n",
"24\n",
"69\n",
"59\n",
"89\n",
"129\n",
"104\n",
"44\n",
"8\n",
"8\n",
"8\n",
"8\n",
"17\n",
"29\n",
"39\n",
"8\n",
"69\n",
"89\n",
"54\n",
"8\n",
"18\n",
"18\n",
"29\n",
"42\n",
"46\n",
"74\n",
"84\n",
"94\n",
"129\n",
"26\n",
"319\n",
"17\n",
"8\n",
"8\n",
"8\n",
"12\n",
"8\n",
"17\n",
"17\n",
"24\n",
"59\n",
"12\n",
"44\n",
"59\n",
"104\n",
"219\n",
"31\n",
"8\n",
"17\n",
"44\n",
"104\n",
"79\n",
"89\n",
"129\n",
"8\n",
"8\n",
"17\n",
"8\n",
"19\n",
"17\n",
"44\n",
"34\n",
"64\n",
"44\n",
"89\n",
"89\n",
"219\n",
"8\n",
"17\n",
"17\n",
"34\n",
"39\n",
"59\n",
"79\n",
"89\n",
"109\n",
"139\n",
"179\n",
"8\n",
"8\n",
"8\n",
"17\n",
"24\n",
"39\n",
"44\n",
"69\n",
"89\n",
"89\n",
"119\n",
"269\n",
"34\n",
"69\n",
"12\n",
"10\n",
"10\n",
"19\n",
"10\n",
"10\n",
"7\n",
"7\n",
"11\n",
"7\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"14\n",
"5\n",
"42\n",
"24\n",
"44\n",
"74\n",
"119\n",
"269\n",
"24\n",
"54\n",
"59\n",
"69\n",
"89\n",
"149\n",
"59\n",
"12\n",
"19\n",
"29\n",
"34\n",
"49\n",
"79\n",
"17\n",
"44\n",
"22\n",
"3\n",
"8\n",
"14\n",
"25\n",
"40\n",
"71\n",
"9\n",
"19\n",
"26\n",
"39\n",
"84\n",
"10\n",
"19\n",
"46\n",
"71\n",
"102\n",
"2\n",
"179\n",
"9\n",
"2\n",
"22\n",
"2\n",
"6\n",
"3\n",
"3\n",
"3\n",
"4\n",
"3\n",
"4\n",
"8\n",
"17\n",
"39\n",
"59\n",
"8\n",
"4\n",
"7\n",
"4\n",
"12\n",
"22\n",
"33\n",
"6\n",
"7\n",
"26\n",
"15\n",
"12\n",
"8\n",
"9\n",
"8\n",
"12\n",
"13\n",
"21\n",
"27\n",
"29\n",
"15\n",
"17\n",
"29\n",
"39\n",
"37\n",
"50\n",
"66\n",
"54\n",
"66\n",
"85\n",
"66\n",
"53\n",
"50\n",
"73\n",
"110\n",
"126\n",
"99\n",
"99\n",
"50\n",
"70\n",
"29\n",
"15\n",
"2\n",
"2\n",
"90\n",
"45\n",
"8\n",
"17\n",
"17\n",
"29\n",
"79\n",
"10\n",
"8\n",
"54\n",
"179\n",
"579\n",
"29\n",
"9\n",
"4\n",
"5\n",
"3\n",
"42\n",
"10\n",
"5\n",
"7\n",
"5\n",
"11\n",
"7\n",
"2\n",
"19\n",
"11\n",
"11\n",
"11\n",
"20\n",
"6\n",
"17\n",
"24\n",
"34\n",
"26\n",
"34\n",
"51\n",
"3\n",
"6\n",
"8\n",
"15\n",
"21\n",
"41\n",
"14\n",
"24\n",
"59\n",
"8\n",
"69\n",
"12\n",
"14\n",
"44\n",
"19\n",
"12\n",
"69\n",
"29\n",
"29\n",
"29\n",
"209\n",
"29\n",
"24\n",
"29\n",
"29\n",
"24\n",
"20\n",
"1\n",
"7\n",
"20\n",
"13\n",
"30\n",
"20\n",
"15\n",
"30\n",
"4\n",
"15\n",
"7\n",
"4\n",
"8\n",
"10\n",
"15\n",
"20\n",
"5\n",
"9\n",
"10\n",
"10\n",
"15\n",
"10\n",
"5\n",
"18\n",
"25\n",
"8\n",
"9\n",
"14\n",
"29\n",
"39\n",
"69\n",
"0\n",
"59\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"4\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"12\n",
"0\n",
"16\n",
"19\n",
"19\n",
"19\n",
"19\n",
"9\n",
"8\n",
"21\n",
"19\n",
"5\n",
"19\n",
"74\n",
"17\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"12\n",
"39\n",
"34\n",
"69\n",
"30\n",
"29\n",
"24\n",
"25\n",
"47\n",
"0\n",
"9\n",
"14\n",
"0\n",
"59\n",
"0\n",
"14\n",
"9\n",
"4\n",
"5\n",
"12\n",
"15\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"11\n",
"6\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"19\n",
"7\n",
"15\n",
"18\n",
"29\n",
"12\n",
"25\n",
"7\n",
"7\n",
"1\n",
"3\n",
"3\n",
"3\n",
"2\n",
"3\n",
"3\n",
"3\n",
"2\n",
"2\n",
"3\n",
"2\n",
"2\n",
"3\n",
"14\n",
"2\n",
"2\n",
"7\n",
"7\n",
"14\n",
"29\n",
"39\n",
"49\n",
"2\n",
"2\n",
"2\n",
"4\n",
"4\n",
"7\n",
"9\n",
"80\n",
"80\n",
"8\n",
"2\n",
"9\n",
"9\n",
"9\n",
"9\n",
"3\n",
"3\n",
"3\n",
"3\n",
"9\n",
"9\n",
"9\n",
"9\n",
"2\n",
"2\n",
"2\n",
"2\n",
"12\n",
"29\n",
"6\n",
"6\n",
"6\n",
"6\n",
"12\n",
"12\n",
"14\n",
"34\n",
"49\n",
"79\n",
"39\n",
"34\n",
"2\n",
"2\n",
"2\n",
"2\n",
"7\n",
"15\n",
"34\n",
"24\n",
"31\n",
"73\n",
"7\n",
"7\n",
"7\n",
"7\n",
"14\n",
"15\n",
"15\n",
"59\n",
"31\n",
"24\n",
"36\n",
"59\n",
"49\n",
"4\n",
"4\n",
"4\n",
"4\n",
"12\n",
"12\n",
"12\n",
"12\n",
"29\n",
"49\n",
"9\n",
"9\n",
"9\n",
"9\n",
"4\n",
"4\n",
"4\n",
"4\n",
"2\n",
"14\n",
"7\n",
"7\n",
"9\n",
"9\n",
"2\n",
"2\n",
"2\n",
"9\n",
"29\n",
"69\n",
"59\n",
"79\n",
"89\n",
"40\n",
"7\n",
"7\n",
"9\n",
"19\n",
"80\n",
"29\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"49\n",
"4\n",
"99\n",
"4\n",
"7\n",
"9\n",
"14\n",
"49\n",
"39\n",
"79\n",
"6\n",
"6\n",
"6\n",
"6\n",
"19\n",
"24\n",
"29\n",
"2\n",
"2\n",
"2\n",
"2\n",
"6\n",
"6\n",
"6\n",
"6\n",
"34\n",
"14\n",
"17\n",
"29\n",
"79\n",
"49\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"6\n",
"6\n",
"6\n",
"6\n",
"29\n",
"39\n",
"14\n",
"99\n",
"99\n",
"39\n",
"29\n",
"39\n",
"7\n",
"7\n",
"7\n",
"7\n",
"10\n",
"2\n",
"3\n",
"4\n",
"6\n",
"15\n",
"20\n",
"30\n",
"50\n",
"80\n",
"4\n",
"1\n",
"4\n",
"17\n",
"2\n",
"19\n",
"10\n",
"2\n",
"9\n",
"3\n",
"4\n",
"4\n",
"3\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"12\n",
"1\n",
"25\n",
"2\n",
"4\n",
"6\n",
"9\n",
"12\n",
"14\n",
"10\n",
"20\n",
"19\n",
"2\n",
"4\n",
"4\n",
"0\n",
"5\n",
"0\n",
"4\n",
"1\n",
"8\n",
"6\n",
"12\n",
"14\n",
"3\n",
"3\n",
"12\n",
"8\n",
"10\n",
"15\n",
"16\n",
"25\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"0\n",
"18\n",
"100\n",
"0\n",
"1\n",
"7\n",
"7\n",
"4\n",
"7\n",
"13\n",
"38\n",
"54\n",
"96\n",
"5\n",
"9\n",
"14\n",
"39\n",
"8\n",
"41\n",
"17\n",
"38\n",
"100\n",
"8\n",
"15\n",
"15\n",
"9\n",
"5\n",
"5\n",
"9\n",
"5\n",
"16\n",
"22\n",
"26\n",
"76\n",
"11\n",
"19\n",
"29\n",
"39\n",
"69\n",
"14\n",
"14\n",
"3\n",
"7\n",
"2\n",
"2\n",
"1\n",
"1\n",
"1\n",
"1\n",
"2\n",
"6\n",
"1\n",
"1\n",
"2\n",
"2\n",
"6\n",
"2\n",
"2\n",
"2\n",
"2\n",
"4\n",
"2\n",
"2\n",
"2\n",
"4\n",
"1\n",
"1\n",
"1\n",
"2\n",
"2\n",
"2\n",
"2\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"3\n",
"3\n",
"3\n",
"6\n",
"3\n",
"3\n",
"3\n",
"6\n",
"6\n",
"6\n",
"6\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"6\n",
"9\n",
"4\n",
"8\n",
"8\n",
"5\n",
"5\n",
"8\n",
"8\n",
"9\n",
"8\n",
"9\n",
"9\n",
"8\n",
"8\n",
"9\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"11\n",
"11\n",
"20\n",
"17\n",
"11\n",
"11\n",
"34\n",
"13\n",
"13\n",
"9\n",
"8\n",
"13\n",
"13\n",
"39\n",
"11\n",
"11\n",
"11\n",
"11\n",
"8\n",
"39\n",
"8\n",
"10\n",
"10\n",
"10\n",
"13\n",
"10\n",
"17\n",
"8\n",
"21\n",
"26\n",
"10\n",
"10\n",
"12\n",
"39\n",
"10\n",
"17\n",
"17\n",
"10\n",
"34\n",
"12\n",
"10\n",
"24\n",
"12\n",
"17\n",
"54\n",
"12\n",
"12\n",
"29\n",
"34\n",
"12\n",
"24\n",
"17\n",
"17\n",
"34\n",
"39\n",
"269\n",
"15\n",
"44\n",
"64\n",
"89\n",
"59\n",
"89\n",
"59\n",
"89\n",
"69\n",
"89\n",
"69\n",
"89\n",
"89\n",
"69\n",
"69\n",
"89\n",
"2\n",
"3\n",
"6\n",
"7\n",
"7\n",
"6\n",
"6\n",
"6\n",
"6\n",
"3\n",
"6\n",
"6\n",
"4\n",
"14\n",
"5\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"3\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"8\n",
"8\n",
"14\n",
"47\n",
"3\n",
"3\n",
"2\n",
"314\n",
"314\n",
"21\n",
"614\n",
"489\n",
"5\n",
"13\n",
"16\n",
"14\n",
"2\n",
"7\n",
"5\n",
"27\n",
"3\n",
"5\n",
"12\n",
"5\n",
"6\n",
"5\n",
"2\n",
"2\n",
"4\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"3\n",
"2\n",
"3\n",
"2\n",
"12\n",
"12\n",
"12\n",
"2\n",
"2\n",
"8\n",
"12\n",
"2\n",
"2\n",
"2\n",
"2\n",
"3\n",
"3\n",
"3\n",
"3\n",
"10\n",
"4\n",
"16\n",
"11\n",
"3\n",
"4\n",
"10\n",
"5\n",
"4\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"3\n",
"5\n",
"5\n",
"3\n",
"3\n",
"3\n",
"6\n",
"6\n",
"3\n",
"3\n",
"2\n",
"3\n",
"3\n",
"3\n",
"2\n",
"2\n",
"2\n",
"3\n",
"2\n",
"2\n",
"2\n",
"6\n",
"6\n",
"3\n",
"4\n",
"4\n",
"5\n",
"4\n",
"4\n",
"5\n",
"5\n",
"5\n",
"15\n",
"4\n",
"3\n",
"4\n",
"4\n",
"2\n",
"2\n",
"4\n",
"3\n",
"2\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"3\n",
"2\n",
"5\n",
"4\n",
"4\n",
"4\n",
"3\n",
"3\n",
"4\n",
"4\n",
"4\n",
"4\n",
"3\n",
"4\n",
"6\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"3\n",
"3\n",
"12\n",
"4\n",
"25\n",
"3\n",
"2\n",
"3\n",
"3\n",
"6\n",
"3\n",
"5\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"4\n",
"4\n",
"4\n",
"3\n",
"4\n",
"3\n",
"3\n",
"3\n",
"4\n",
"4\n",
"5\n",
"5\n",
"3\n",
"4\n",
"3\n",
"4\n",
"4\n",
"4\n",
"4\n",
"3\n",
"24\n",
"37\n",
"46\n",
"57\n",
"94\n",
"18\n",
"29\n",
"49\n",
"29\n",
"69\n",
"59\n",
"17\n",
"24\n",
"39\n",
"34\n",
"59\n",
"8\n",
"34\n",
"5\n",
"10\n",
"32\n",
"4\n",
"14\n",
"2\n",
"10\n",
"2\n",
"1\n",
"20\n",
"10\n",
"18\n",
"27\n",
"2\n",
"12\n",
"20\n",
"30\n",
"36\n",
"2\n",
"6\n",
"8\n",
"1\n",
"1\n",
"2\n",
"4\n",
"9\n",
"17\n",
"24\n",
"39\n",
"64\n",
"29\n",
"34\n",
"7\n",
"17\n",
"24\n",
"34\n",
"59\n",
"5\n",
"6\n",
"4\n",
"28\n",
"50\n",
"0\n",
"1\n",
"1\n",
"2\n",
"3\n",
"3\n",
"3\n",
"3\n",
"2\n",
"4\n",
"3\n",
"2\n",
"6\n",
"3\n",
"3\n",
"4\n",
"4\n",
"4\n",
"8\n",
"4\n",
"6\n",
"6\n",
"8\n",
"4\n",
"6\n",
"8\n",
"8\n",
"7\n",
"9\n",
"12\n",
"7\n",
"12\n",
"11\n",
"15\n",
"10\n",
"21\n",
"15\n",
"15\n",
"22\n",
"2\n",
"3\n",
"15\n",
"22\n",
"20\n",
"30\n",
"35\n",
"34\n",
"24\n",
"14\n",
"15\n",
"25\n",
"24\n",
"27\n",
"36\n",
"36\n",
"30\n",
"29\n",
"26\n",
"36\n",
"36\n",
"40\n",
"36\n",
"50\n",
"37\n",
"45\n",
"60\n",
"80\n",
"80\n",
"80\n",
"60\n",
"60\n",
"50\n",
"80\n",
"60\n",
"155\n",
"178\n",
"20\n",
"3\n",
"8\n",
"18\n",
"25\n",
"49\n",
"76\n",
"30\n",
"3\n",
"3\n",
"3\n",
"2\n",
"4\n",
"8\n",
"17\n",
"17\n",
"24\n",
"39\n",
"69\n",
"53\n",
"39\n",
"19\n",
"14\n",
"7\n",
"48\n",
"68\n",
"39\n",
"29\n",
"14\n",
"7\n",
"3\n",
"19\n",
"39\n",
"1\n",
"1\n",
"3\n",
"3\n",
"7\n",
"17\n",
"24\n",
"34\n",
"49\n",
"59\n",
"17\n",
"34\n",
"49\n",
"79\n",
"8\n",
"9\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"269\n",
"12\n",
"12\n",
"12\n",
"12\n",
"29\n",
"44\n",
"69\n",
"12\n",
"12\n",
"12\n",
"12\n",
"29\n",
"44\n",
"84\n",
"12\n",
"12\n",
"12\n",
"12\n",
"29\n",
"89\n",
"12\n",
"12\n",
"12\n",
"29\n",
"44\n",
"12\n",
"12\n",
"12\n",
"12\n",
"12\n",
"29\n",
"39\n",
"79\n",
"17\n",
"17\n",
"17\n",
"29\n",
"49\n",
"19\n",
"19\n",
"17\n",
"29\n",
"49\n",
"44\n",
"19\n",
"19\n",
"19\n",
"34\n",
"39\n",
"19\n",
"19\n",
"19\n",
"19\n",
"19\n",
"19\n",
"34\n",
"20\n",
"20\n",
"20\n",
"44\n",
"20\n",
"44\n",
"44\n",
"20\n",
"20\n",
"22\n",
"44\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"22\n",
"12\n",
"12\n",
"24\n",
"34\n",
"17\n",
"24\n",
"44\n",
"7\n",
"17\n",
"29\n",
"39\n",
"17\n",
"13\n",
"18\n",
"24\n",
"49\n",
"19\n",
"24\n",
"34\n",
"18\n",
"26\n",
"24\n",
"24\n",
"39\n",
"24\n",
"37\n",
"6\n",
"10\n",
"15\n",
"20\n",
"20\n",
"20\n",
"20\n",
"30\n",
"50\n",
"15\n",
"20\n",
"5\n",
"5\n",
"5\n",
"9\n",
"39\n",
"24\n",
"14\n",
"7\n",
"4\n",
"69\n",
"20\n",
"4\n",
"7\n",
"9\n",
"9\n",
"14\n",
"39\n",
"69\n",
"20\n",
"7\n",
"9\n",
"14\n",
"19\n",
"4\n",
"4\n",
"4\n",
"4\n",
"14\n",
"14\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"29\n",
"20\n",
"29\n",
"12\n",
"5\n",
"39\n",
"0\n",
"0\n",
"0\n",
"5\n",
"4\n",
"40\n",
"20\n",
"59\n",
"59\n",
"59\n",
"59\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"5\n",
"12\n",
"19\n",
"27\n",
"27\n",
"44\n",
"64\n",
"89\n",
"3\n",
"3\n",
"3\n",
"3\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"19\n",
"27\n",
"49\n",
"99\n",
"7\n",
"17\n",
"9\n",
"24\n",
"39\n",
"59\n",
"79\n",
"45\n",
"5\n",
"4\n",
"6\n",
"8\n",
"6\n",
"6\n",
"6\n",
"6\n",
"8\n",
"10\n",
"8\n",
"10\n",
"10\n",
"10\n",
"8\n",
"10\n",
"20\n",
"15\n",
"27\n",
"15\n",
"10\n",
"30\n",
"20\n",
"30\n",
"17\n",
"20\n",
"17\n",
"50\n",
"30\n",
"50\n",
"44\n",
"20\n",
"25\n",
"50\n",
"79\n",
"27\n",
"90\n",
"30\n",
"100\n",
"50\n",
"39\n",
"100\n",
"150\n",
"79\n",
"5\n",
"5\n",
"5\n",
"5\n",
"6\n",
"4\n",
"9\n",
"14\n",
"14\n",
"24\n",
"24\n",
"29\n",
"39\n",
"69\n",
"69\n",
"50\n",
"14\n",
"44\n",
"50\n",
"8\n",
"8\n",
"19\n",
"19\n",
"39\n",
"48\n",
"29\n",
"48\n",
"78\n",
"24\n",
"39\n",
"69\n",
"39\n",
"9\n",
"9\n",
"19\n",
"19\n",
"39\n",
"48\n",
"39\n",
"48\n",
"69\n",
"84\n",
"24\n",
"48\n",
"68\n",
"21\n",
"24\n",
"24\n",
"31\n",
"39\n",
"34\n",
"89\n",
"34\n",
"35\n",
"35\n",
"40\n",
"89\n",
"11\n",
"11\n",
"19\n",
"24\n",
"40\n",
"49\n",
"24\n",
"24\n",
"24\n",
"29\n",
"59\n",
"81\n",
"102\n",
"132\n",
"20\n",
"30\n",
"50\n",
"29\n",
"29\n",
"17\n",
"34\n",
"29\n",
"29\n",
"9\n",
"9\n",
"19\n",
"29\n",
"39\n",
"49\n",
"4\n",
"3\n",
"3\n",
"29\n",
"49\n",
"84\n",
"102\n",
"9\n",
"9\n",
"21\n",
"24\n",
"39\n",
"49\n",
"35\n",
"29\n",
"24\n",
"24\n",
"45\n",
"59\n",
"79\n",
"102\n",
"34\n",
"45\n",
"91\n",
"11\n",
"11\n",
"19\n",
"19\n",
"49\n",
"49\n",
"34\n",
"49\n",
"24\n",
"39\n",
"29\n",
"54\n",
"79\n",
"24\n",
"99\n",
"119\n",
"49\n",
"59\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"149\n",
"200\n",
"39\n",
"249\n",
"100\n",
"130\n",
"64\n",
"109\n",
"249\n",
"107\n",
"58\n",
"79\n",
"89\n",
"342\n",
"63\n",
"274\n",
"183\n",
"122\n",
"245\n",
"94\n",
"349\n",
"149\n",
"169\n",
"199\n",
"169\n",
"4\n",
"4\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"3\n",
"4\n",
"4\n",
"4\n",
"4\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"4\n",
"4\n",
"3\n",
"3\n",
"3\n",
"14\n",
"13\n",
"13\n",
"25\n",
"34\n",
"54\n",
"40\n",
"50\n",
"60\n",
"84\n",
"109\n",
"97\n",
"69\n",
"47\n",
"49\n",
"44\n",
"204\n",
"11\n",
"11\n",
"19\n",
"24\n",
"39\n",
"59\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"9\n",
"24\n",
"49\n",
"39\n",
"19\n",
"29\n",
"39\n",
"59\n",
"79\n",
"99\n",
"109\n",
"24\n",
"24\n",
"39\n",
"89\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"11\n",
"11\n",
"11\n",
"14\n",
"19\n",
"19\n",
"19\n",
"19\n",
"44\n",
"59\n",
"29\n",
"39\n",
"49\n",
"19\n",
"29\n",
"49\n",
"59\n",
"64\n",
"69\n",
"109\n",
"119\n",
"24\n",
"89\n",
"249\n",
"179\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"11\n",
"11\n",
"24\n",
"24\n",
"39\n",
"49\n",
"59\n",
"19\n",
"39\n",
"39\n",
"11\n",
"11\n",
"19\n",
"29\n",
"49\n",
"69\n",
"79\n",
"179\n",
"84\n",
"24\n",
"229\n",
"19\n",
"39\n",
"64\n",
"69\n",
"79\n",
"109\n",
"139\n",
"99\n",
"14\n",
"14\n",
"19\n",
"19\n",
"24\n",
"29\n",
"14\n",
"14\n",
"19\n",
"19\n",
"19\n",
"19\n",
"19\n",
"19\n",
"19\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"8\n",
"11\n",
"11\n",
"11\n",
"11\n",
"19\n",
"19\n",
"19\n",
"19\n",
"54\n",
"59\n",
"19\n",
"29\n",
"169\n",
"29\n",
"24\n",
"49\n",
"54\n",
"79\n",
"79\n",
"109\n",
"29\n",
"39\n",
"64\n",
"74\n",
"84\n",
"109\n",
"109\n",
"409\n",
"8\n",
"8\n",
"8\n",
"8\n",
"11\n",
"11\n",
"11\n",
"11\n",
"19\n",
"19\n",
"29\n",
"49\n",
"59\n",
"19\n",
"29\n",
"39\n",
"29\n",
"49\n",
"49\n",
"74\n",
"79\n",
"169\n",
"19\n",
"19\n",
"24\n",
"64\n",
"84\n",
"84\n",
"99\n",
"129\n",
"129\n",
"89\n",
"734\n",
"8\n",
"8\n",
"16\n",
"16\n",
"12\n",
"12\n",
"25\n",
"25\n",
"39\n",
"74\n",
"29\n",
"29\n",
"39\n",
"12\n",
"12\n",
"25\n",
"25\n",
"39\n",
"64\n",
"149\n",
"24\n",
"19\n",
"25\n",
"64\n",
"79\n",
"79\n",
"89\n",
"109\n",
"79\n",
"299\n",
"8\n",
"8\n",
"12\n",
"12\n",
"39\n",
"17\n",
"24\n",
"59\n",
"49\n",
"59\n",
"24\n",
"17\n",
"17\n",
"24\n",
"24\n",
"64\n",
"54\n",
"44\n",
"109\n",
"179\n",
"24\n",
"17\n",
"11\n",
"24\n",
"59\n",
"39\n",
"119\n",
"614\n",
"179\n",
"49\n",
"99\n",
"99\n",
"149\n",
"24\n",
"34\n",
"24\n",
"19\n",
"8\n",
"8\n",
"17\n",
"12\n",
"12\n",
"17\n",
"19\n",
"24\n",
"24\n",
"64\n",
"89\n",
"54\n",
"179\n",
"54\n",
"54\n",
"64\n",
"24\n",
"24\n",
"24\n",
"34\n",
"64\n",
"74\n",
"149\n",
"344\n",
"89\n",
"119\n",
"89\n",
"39\n",
"8\n",
"59\n",
"17\n",
"17\n",
"24\n",
"39\n",
"44\n",
"69\n",
"69\n",
"44\n",
"59\n",
"24\n",
"209\n",
"344\n",
"17\n",
"34\n",
"44\n",
"734\n",
"89\n",
"139\n",
"59\n",
"79\n",
"24\n",
"17\n",
"8\n",
"44\n",
"149\n",
"29\n",
"59\n",
"89\n",
"59\n",
"59\n",
"59\n",
"79\n",
"519\n",
"29\n",
"29\n",
"44\n",
"89\n",
"89\n",
"119\n",
"69\n",
"79\n",
"29\n",
"209\n",
"39\n",
"59\n",
"8\n",
"17\n",
"29\n",
"59\n",
"89\n",
"59\n",
"59\n",
"59\n",
"89\n",
"69\n",
"129\n",
"209\n",
"59\n",
"149\n",
"37\n",
"18\n",
"29\n",
"46\n",
"64\n",
"12\n",
"94\n",
"149\n",
"29\n",
"559\n",
"12\n",
"12\n",
"12\n",
"179\n",
"24\n",
"19\n",
"124\n",
"74\n",
"69\n",
"46\n",
"24\n",
"89\n",
"69\n",
"59\n",
"199\n",
"59\n",
"46\n",
"49\n",
"34\n",
"49\n",
"34\n",
"159\n",
"12\n",
"11\n",
"89\n",
"94\n",
"149\n",
"29\n",
"69\n",
"429\n",
"124\n",
"59\n",
"12\n",
"39\n",
"59\n",
"89\n",
"44\n",
"59\n",
"59\n",
"59\n",
"69\n",
"259\n",
"24\n",
"12\n",
"17\n",
"139\n",
"44\n",
"59\n",
"94\n",
"179\n",
"29\n",
"899\n",
"34\n",
"59\n",
"59\n",
"79\n",
"44\n",
"69\n",
"89\n",
"139\n",
"119\n",
"69\n",
"109\n",
"34\n",
"59\n",
"59\n",
"79\n",
"139\n",
"8\n",
"24\n",
"34\n",
"44\n",
"59\n",
"69\n",
"229\n",
"17\n",
"39\n",
"64\n",
"119\n",
"139\n",
"12\n",
"17\n",
"79\n",
"59\n",
"8\n",
"19\n",
"19\n",
"19\n",
"19\n",
"19\n",
"19\n",
"24\n",
"19\n",
"49\n",
"25\n",
"34\n",
"24\n",
"24\n",
"25\n",
"39\n",
"3\n",
"3\n",
"2\n",
"0\n",
"0\n",
"4\n",
"3\n",
"0\n",
"75\n",
"75\n",
"49\n",
"49\n",
"49\n",
"49\n",
"49\n",
"49\n",
"50\n",
"50\n",
"40\n",
"39\n",
"179\n",
"180\n",
"60\n",
"24\n",
"14\n",
"10\n",
"7\n",
"2\n",
"1\n",
"3\n",
"3\n",
"3\n",
"3\n",
"14\n",
"24\n",
"4\n",
"14\n",
"24\n",
"7\n",
"14\n",
"39\n",
"2\n",
"0\n",
"7\n",
"4\n",
"4\n",
"3\n",
"54\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"3\n",
"44\n",
"17\n",
"17\n",
"24\n",
"24\n",
"24\n",
"69\n",
"89\n",
"8\n",
"8\n",
"8\n",
"8\n",
"229\n",
"34\n",
"44\n",
"49\n",
"19\n",
"24\n",
"34\n",
"8\n",
"8\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"54\n",
"24\n",
"34\n",
"59\n",
"89\n",
"8\n",
"8\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"169\n",
"8\n",
"21\n",
"24\n",
"34\n",
"54\n",
"69\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"54\n",
"8\n",
"19\n",
"29\n",
"59\n",
"114\n",
"59\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"229\n",
"39\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"12\n",
"19\n",
"29\n",
"59\n",
"54\n",
"44\n",
"8\n",
"20\n",
"31\n",
"94\n",
"57\n",
"94\n",
"57\n",
"74\n",
"8\n",
"17\n",
"17\n",
"24\n",
"39\n",
"12\n",
"49\n",
"59\n",
"64\n",
"104\n",
"114\n",
"44\n",
"44\n",
"44\n",
"12\n",
"17\n",
"29\n",
"24\n",
"34\n",
"69\n",
"149\n",
"44\n",
"89\n",
"12\n",
"24\n",
"89\n",
"44\n",
"44\n",
"17\n",
"54\n",
"159\n",
"19\n",
"99\n",
"109\n",
"264\n",
"2\n",
"1\n",
"22\n",
"2\n",
"7\n",
"1\n",
"7\n",
"70\n",
"20\n",
"28\n",
"30\n",
"12\n",
"40\n",
"17\n",
"10\n",
"15\n",
"26\n",
"45\n",
"38\n",
"142\n",
"9\n",
"15\n",
"20\n",
"25\n",
"49\n",
"35\n",
"49\n",
"76\n",
"34\n",
"68\n",
"63\n",
"55\n",
"8\n",
"15\n",
"20\n",
"34\n",
"49\n",
"99\n",
"40\n",
"49\n",
"99\n",
"71\n",
"154\n",
"7\n",
"7\n",
"8\n",
"20\n",
"10\n",
"8\n",
"10\n",
"13\n",
"22\n",
"22\n",
"25\n",
"30\n",
"6\n",
"10\n",
"18\n",
"9\n",
"6\n",
"14\n",
"33\n",
"30\n",
"4\n",
"6\n",
"33\n",
"49\n",
"8\n",
"20\n",
"16\n",
"15\n",
"14\n",
"50\n",
"129\n",
"9\n",
"9\n",
"19\n",
"29\n",
"39\n",
"59\n",
"74\n",
"70\n",
"15\n",
"40\n",
"7\n",
"13\n",
"19\n",
"34\n",
"48\n",
"97\n",
"40\n",
"70\n",
"55\n",
"6\n",
"12\n",
"19\n",
"39\n",
"89\n",
"84\n",
"24\n",
"34\n",
"49\n",
"4\n",
"18\n",
"51\n",
"41\n",
"61\n",
"13\n",
"99\n",
"50\n",
"11\n",
"30\n",
"90\n",
"30\n",
"29\n",
"30\n",
"14\n",
"39\n",
"30\n",
"4\n",
"14\n",
"29\n",
"89\n",
"33\n",
"49\n",
"59\n",
"35\n",
"85\n",
"9\n",
"24\n",
"34\n",
"59\n",
"54\n",
"85\n",
"70\n",
"54\n",
"4\n",
"59\n",
"30\n",
"40\n",
"60\n",
"130\n",
"14\n",
"14\n",
"49\n",
"69\n",
"74\n",
"100\n",
"170\n",
"82\n",
"99\n",
"122\n",
"30\n",
"70\n",
"29\n",
"79\n",
"164\n",
"158\n",
"219\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"2\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"6\n",
"2\n",
"20\n",
"6\n",
"6\n",
"15\n",
"8\n",
"9\n",
"36\n",
"40\n",
"8\n",
"10\n",
"13\n",
"25\n",
"10\n",
"21\n",
"29\n",
"47\n",
"29\n",
"59\n",
"25\n",
"20\n",
"49\n",
"69\n",
"69\n",
"59\n",
"139\n",
"82\n",
"130\n",
"6\n",
"14\n",
"17\n",
"24\n",
"29\n",
"49\n",
"69\n",
"99\n",
"139\n",
"3\n",
"4\n",
"3\n",
"3\n",
"3\n",
"139\n",
"79\n",
"7\n",
"12\n",
"17\n",
"34\n",
"49\n",
"24\n",
"99\n",
"149\n",
"14\n",
"14\n",
"7\n",
"14\n",
"29\n",
"49\n",
"59\n",
"109\n",
"17\n",
"17\n",
"34\n",
"69\n",
"169\n",
"7\n",
"14\n",
"17\n",
"17\n",
"24\n",
"29\n",
"44\n",
"59\n",
"99\n",
"44\n",
"59\n",
"109\n",
"179\n",
"7\n",
"14\n",
"17\n",
"17\n",
"24\n",
"29\n",
"54\n",
"109\n",
"74\n",
"129\n",
"189\n",
"259\n",
"14\n",
"17\n",
"17\n",
"19\n",
"24\n",
"49\n",
"49\n",
"74\n",
"74\n",
"109\n",
"79\n",
"129\n",
"219\n",
"14\n",
"17\n",
"17\n",
"24\n",
"34\n",
"59\n",
"89\n",
"139\n",
"49\n",
"119\n",
"109\n",
"229\n",
"319\n",
"8\n",
"8\n",
"14\n",
"17\n",
"17\n",
"24\n",
"39\n",
"54\n",
"69\n",
"169\n",
"79\n",
"139\n",
"199\n",
"399\n",
"8\n",
"8\n",
"17\n",
"17\n",
"34\n",
"44\n",
"59\n",
"89\n",
"124\n",
"174\n",
"104\n",
"89\n",
"124\n",
"229\n",
"389\n",
"8\n",
"8\n",
"17\n",
"17\n",
"24\n",
"34\n",
"44\n",
"44\n",
"114\n",
"169\n",
"99\n",
"89\n",
"159\n",
"284\n",
"214\n",
"429\n",
"8\n",
"8\n",
"17\n",
"17\n",
"24\n",
"44\n",
"44\n",
"79\n",
"129\n",
"169\n",
"389\n",
"104\n",
"179\n",
"579\n",
"8\n",
"8\n",
"17\n",
"17\n",
"44\n",
"94\n",
"44\n",
"104\n",
"49\n",
"169\n",
"169\n",
"84\n",
"199\n",
"149\n",
"46\n",
"44\n",
"8\n",
"12\n",
"20\n",
"20\n",
"29\n",
"37\n",
"46\n",
"69\n",
"189\n",
"389\n",
"46\n",
"104\n",
"169\n",
"149\n",
"219\n",
"29\n",
"69\n",
"129\n",
"89\n",
"189\n",
"46\n",
"46\n",
"8\n",
"22\n",
"22\n",
"22\n",
"34\n",
"169\n",
"44\n",
"54\n",
"54\n",
"199\n",
"199\n",
"54\n",
"89\n",
"129\n",
"89\n",
"54\n",
"54\n",
"159\n",
"349\n",
"54\n",
"8\n",
"24\n",
"24\n",
"54\n",
"59\n",
"64\n",
"129\n",
"8\n",
"59\n",
"59\n",
"199\n",
"89\n",
"3\n",
"4\n",
"9\n",
"24\n",
"19\n",
"49\n",
"59\n",
"39\n",
"39\n",
"69\n",
"79\n",
"11\n",
"19\n",
"29\n",
"59\n",
"49\n",
"11\n",
"19\n",
"29\n",
"39\n",
"59\n",
"79\n",
"4\n",
"4\n",
"4\n",
"9\n",
"24\n",
"49\n",
"59\n",
"39\n",
"79\n",
"19\n",
"29\n",
"49\n",
"69\n",
"11\n",
"29\n",
"59\n",
"99\n",
"39\n",
"259\n",
"99\n",
"3\n",
"3\n",
"44\n",
"11\n",
"19\n",
"19\n",
"29\n",
"29\n",
"54\n",
"49\n",
"64\n",
"79\n",
"99\n",
"19\n",
"29\n",
"139\n",
"11\n",
"49\n",
"49\n",
"89\n",
"129\n",
"19\n",
"29\n",
"29\n",
"49\n",
"249\n",
"69\n",
"15\n",
"10\n",
"3\n",
"14\n",
"3\n",
"3\n",
"4\n",
"3\n",
"44\n",
"17\n",
"8\n",
"12\n",
"17\n",
"34\n",
"24\n",
"24\n",
"79\n",
"44\n",
"59\n",
"54\n",
"24\n",
"24\n",
"54\n",
"109\n",
"17\n",
"59\n",
"94\n",
"139\n",
"279\n",
"8\n",
"24\n",
"8\n",
"17\n",
"44\n",
"11\n",
"7\n",
"7\n",
"4\n",
"11\n",
"11\n",
"24\n",
"17\n",
"24\n",
"24\n",
"24\n",
"29\n",
"44\n",
"59\n",
"169\n",
"24\n",
"34\n",
"59\n",
"49\n",
"69\n",
"79\n",
"9\n",
"14\n",
"24\n",
"2\n",
"8\n",
"14\n",
"24\n",
"24\n",
"24\n",
"29\n",
"44\n",
"59\n",
"59\n",
"59\n",
"79\n",
"79\n",
"109\n",
"259\n",
"9\n",
"14\n",
"49\n",
"79\n",
"79\n",
"199\n",
"15\n",
"3\n",
"11\n",
"19\n",
"29\n",
"39\n",
"69\n",
"79\n",
"11\n",
"19\n",
"29\n",
"49\n",
"69\n",
"99\n",
"39\n",
"169\n",
"3\n",
"4\n",
"11\n",
"29\n",
"59\n",
"89\n",
"0\n",
"6\n",
"17\n",
"29\n",
"189\n",
"179\n",
"9\n",
"4\n",
"21\n",
"43\n",
"63\n",
"9\n",
"21\n",
"38\n",
"9\n",
"4\n",
"5\n",
"3\n",
"2\n",
"17\n",
"3\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"1\n",
"7\n",
"6\n",
"13\n",
"13\n",
"20\n",
"3\n",
"3\n",
"10\n",
"12\n",
"8\n",
"2\n",
"10\n",
"15\n",
"50\n",
"16\n",
"2\n",
"10\n",
"15\n",
"24\n",
"11\n",
"23\n",
"27\n",
"7\n",
"28\n",
"11\n",
"19\n",
"2\n",
"2\n",
"2\n",
"15\n",
"2\n",
"6\n",
"6\n",
"5\n",
"5\n",
"10\n",
"10\n",
"10\n",
"4\n",
"4\n",
"4\n",
"4\n",
"5\n",
"3\n",
"2\n",
"6\n",
"5\n",
"3\n",
"3\n",
"5\n",
"7\n",
"1\n",
"2\n",
"2\n",
"4\n",
"4\n",
"6\n",
"6\n",
"6\n",
"6\n",
"3\n",
"4\n",
"6\n",
"10\n",
"15\n",
"25\n",
"49\n",
"16\n",
"60\n",
"20\n",
"30\n",
"16\n",
"40\n",
"49\n",
"66\n",
"20\n",
"13\n",
"17\n",
"21\n",
"34\n",
"38\n",
"34\n",
"33\n",
"15\n",
"19\n",
"19\n",
"15\n",
"14\n",
"15\n",
"17\n",
"13\n",
"12\n",
"12\n",
"12\n",
"12\n",
"17\n",
"20\n",
"23\n",
"25\n",
"25\n",
"26\n",
"29\n",
"23\n",
"25\n",
"30\n",
"43\n",
"35\n",
"52\n",
"40\n",
"43\n",
"52\n",
"52\n",
"58\n",
"58\n",
"69\n",
"52\n",
"73\n",
"140\n",
"6\n",
"7\n",
"13\n",
"8\n",
"16\n",
"2\n",
"5\n",
"21\n",
"25\n",
"29\n",
"33\n",
"38\n",
"4\n",
"42\n",
"46\n",
"2\n",
"8\n",
"5\n",
"20\n",
"4\n",
"30\n",
"6\n",
"2\n",
"13\n",
"25\n",
"4\n",
"22\n",
"30\n",
"50\n",
"66\n",
"3\n",
"3\n",
"27\n",
"60\n",
"20\n",
"20\n",
"8\n",
"20\n",
"3\n",
"6\n",
"20\n",
"30\n",
"79\n",
"2\n",
"3\n",
"15\n",
"25\n",
"4\n",
"76\n",
"10\n",
"7\n",
"10\n",
"2\n",
"5\n",
"50\n",
"35\n",
"6\n",
"20\n",
"50\n",
"60\n",
"20\n",
"27\n",
"35\n",
"48\n",
"49\n",
"10\n",
"6\n",
"13\n",
"15\n",
"2\n",
"1\n",
"2\n",
"3\n",
"3\n",
"7\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"5\n",
"29\n",
"1\n",
"2\n",
"4\n",
"4\n",
"3\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"4\n",
"42\n",
"44\n",
"63\n",
"85\n",
"38\n",
"26\n",
"4\n",
"27\n",
"24\n",
"30\n",
"4\n",
"26\n",
"29\n",
"12\n",
"44\n",
"4\n",
"8\n",
"22\n",
"30\n",
"44\n",
"79\n",
"26\n",
"24\n",
"27\n",
"7\n",
"16\n",
"15\n",
"3\n",
"30\n",
"10\n",
"55\n",
"6\n",
"15\n",
"60\n",
"2\n",
"5\n",
"12\n",
"13\n",
"30\n",
"50\n",
"3\n",
"10\n",
"12\n",
"13\n",
"12\n",
"109\n",
"66\n",
"10\n",
"80\n",
"10\n",
"9\n",
"8\n",
"20\n",
"50\n",
"2\n",
"6\n",
"2\n",
"65\n",
"7\n",
"6\n",
"15\n",
"6\n",
"6\n",
"7\n",
"6\n",
"6\n",
"7\n",
"7\n",
"7\n",
"7\n",
"9\n",
"9\n",
"9\n",
"8\n",
"9\n",
"7\n",
"8\n",
"7\n",
"6\n",
"5\n",
"6\n",
"30\n",
"15\n",
"20\n",
"23\n",
"49\n",
"8\n",
"69\n",
"9\n",
"14\n",
"19\n",
"20\n",
"29\n",
"40\n",
"9\n",
"49\n",
"79\n",
"35\n",
"49\n",
"15\n",
"2\n",
"3\n",
"19\n",
"7\n",
"0\n",
"2\n",
"1\n",
"2\n",
"2\n",
"2\n",
"2\n",
"1\n",
"69\n",
"73\n",
"29\n",
"1\n",
"66\n",
"9\n",
"12\n",
"6\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"6\n",
"44\n",
"11\n",
"7\n",
"11\n",
"10\n",
"27\n",
"24\n",
"9\n",
"160\n",
"170\n",
"15\n",
"23\n",
"25\n",
"13\n",
"22\n",
"18\n",
"10\n",
"37\n",
"41\n",
"52\n",
"38\n",
"30\n",
"72\n",
"66\n",
"46\n",
"30\n",
"149\n",
"130\n",
"130\n",
"120\n",
"134\n",
"140\n",
"68\n",
"70\n",
"25\n",
"44\n",
"18\n",
"149\n",
"37\n",
"17\n",
"15\n",
"19\n",
"20\n",
"20\n",
"26\n",
"26\n",
"26\n",
"24\n",
"7\n",
"24\n",
"22\n",
"40\n",
"80\n",
"3\n",
"19\n",
"19\n",
"29\n",
"24\n",
"34\n",
"44\n",
"34\n",
"54\n",
"9\n",
"17\n",
"24\n",
"34\n",
"49\n",
"79\n",
"9\n",
"17\n",
"24\n",
"39\n",
"59\n",
"19\n",
"69\n",
"99\n",
"3\n",
"14\n",
"9\n",
"9\n",
"19\n",
"29\n",
"39\n",
"39\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"1\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"7\n",
"16\n",
"19\n",
"40\n",
"2\n",
"2\n",
"3\n",
"3\n",
"2\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"17\n",
"17\n",
"17\n",
"17\n",
"17\n",
"17\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"17\n",
"17\n",
"24\n",
"24\n",
"44\n",
"59\n",
"89\n",
"3\n",
"5\n",
"12\n",
"34\n",
"49\n",
"17\n",
"24\n",
"44\n",
"79\n",
"19\n",
"74\n",
"89\n",
"0\n",
"6\n",
"4\n",
"4\n",
"8\n",
"8\n",
"20\n",
"40\n",
"25\n",
"40\n",
"100\n",
"70\n",
"30\n",
"50\n",
"60\n",
"85\n",
"2\n",
"2\n",
"10\n",
"24\n",
"49\n",
"59\n",
"89\n",
"139\n",
"19\n",
"34\n",
"74\n",
"59\n",
"109\n",
"69\n",
"99\n",
"39\n",
"14\n",
"2\n",
"7\n",
"9\n",
"14\n",
"24\n",
"39\n",
"2\n",
"5\n",
"14\n",
"24\n",
"24\n",
"39\n",
"12\n",
"49\n",
"39\n",
"19\n",
"19\n",
"49\n",
"76\n",
"8\n",
"18\n",
"25\n",
"35\n",
"3\n",
"3\n",
"2\n",
"2\n",
"2\n",
"2\n",
"2\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"3\n",
"6\n",
"6\n",
"6\n",
"4\n",
"7\n",
"7\n",
"1\n",
"10\n",
"20\n",
"20\n",
"20\n",
"30\n"
]
}
],
"source": [
"for bs_set in bs_sets.itertuples(index=False):\n",
" num = f\"{str(bs_set.Number).strip()}-{str(bs_set.Variant)}\" #Error for Set 853357\n",
" set_ref = thm[f\"set/lego/{num}\"]\n",
"\n",
" if (set_ref, None, None) in g:\n",
" #brickset prices already in euro\n",
" #choose the cheapest price since the usual customer wont choose the highest price\n",
" options = [bs_set.USRetailPrice, bs_set.DERetailPrice, bs_set.UKRetailPrice, bs_set.CARetailPrice]\n",
" options = [int(opt) for opt in options if not pd.isna(opt)]\n",
"\n",
" if len(options) >= 1:\n",
" cheapest = min(options)\n",
" g.add((set_ref, THM.price_new, Literal(cheapest, datatype=XSD.float)))\n",
" print(cheapest)"
]
},
{
"cell_type": "markdown",
"id": "cbd69fa6",
"metadata": {},
"source": [
"Only concrete elements (parts considering their shape, color and print) can have prices"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "307a3210",
"metadata": {},
"outputs": [],
"source": [
"\n",
"for bs_element in bs_parts.itertuples(index=False):\n",
" element_ref = thm[f\"element/{bs_element.ElementID}\"]\n",
" \n",
" if (element_ref, None, None) in g:\n",
" if not pd.isna(bs_element.BrickLinkSoldPriceNew):\n",
" g.add((element_ref, THM.price_new, Literal(bs_element.BrickLinkSoldPriceNew)))\n",
" if not pd.isna(bs_element.BrickLinkSoldPriceUsed):\n",
" g.add((element_ref, THM.price_used, Literal(bs_element.BrickLinkSoldPriceNew)))"
]
},
{
"cell_type": "markdown",
"id": "a16fd51a",
"metadata": {},
"source": [
"# Bricklink\n",
"\n",
"Add missing minifigs, parts and sets using bricklink data"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "a8beb593",
"metadata": {},
"outputs": [],
"source": [
"bl_minifigs = pd.read_csv(\"./data/bricklink/minifigs.csv\")\n",
"bl_sets = pd.read_csv(\"./data/bricklink/sets.csv\")\n",
"bl_parts = pd.read_csv(\"./data/bricklink/parts.csv\")"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "bbf5462b",
"metadata": {},
"outputs": [],
"source": [
"for bl_set in bl_sets.itertuples(index=False):\n",
" set_ref = thm[f\"set/lego/{bl_set.set_id}\"]\n",
"\n",
" if not (set_ref, None, None) in g:\n",
" g.add((set_ref, RDFS.label, Literal(lego_set.name, lang=\"en\")))\n",
" if not pd.isna(bl_set.year) and str(bl_set.year).isnumeric():\n",
" g.add((set_ref, THM.year, Literal(int(bl_set.year))))\n",
" if not pd.isna(bl_set.parts) and str(bl_set.parts).isnumeric():\n",
" g.add((set_ref, THM.num_parts, Literal(int(bl_set.parts), datatype=XSD.integer)))\n",
" g.add((set_ref, THM.brand, Literal(\"Lego\")))"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "ef52582e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'\\nfor bl_part in bl_parts.itertuples(index=False):\\n part_ref = thm[f\"part/{bl_part.part_id}\"]\\n\\n if not (part_ref, None, None) in g:\\n additional_entries += 1\\n g.add((part_ref, RDFS.label, Literal(bl_part.part_name, lang=\"en\")))\\n'"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"\"\"\n",
"for bl_part in bl_parts.itertuples(index=False):\n",
" part_ref = thm[f\"part/{bl_part.part_id}\"]\n",
"\n",
" if not (part_ref, None, None) in g:\n",
" additional_entries += 1\n",
" g.add((part_ref, RDFS.label, Literal(bl_part.part_name, lang=\"en\")))\n",
"\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "8bf0ffeb",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'\\nfor bl_minifig in bl_minifigs.itertuples(index=False):\\n minifig_ref = thm[f\"minfig/{bl_minifig.minifig_id}\"]\\n\\n if not (minifig_ref, None, None) in g:\\n additional_entries += 1\\n g.add((minifig_ref, RDFS.label, Literal(bl_minifig.minifig_name, lang=\"en\")))\\n'"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"\"\"\n",
"for bl_minifig in bl_minifigs.itertuples(index=False):\n",
" minifig_ref = thm[f\"minfig/{bl_minifig.minifig_id}\"]\n",
"\n",
" if not (minifig_ref, None, None) in g:\n",
" additional_entries += 1\n",
" g.add((minifig_ref, RDFS.label, Literal(bl_minifig.minifig_name, lang=\"en\")))\n",
"\"\"\""
]
},
{
"cell_type": "markdown",
"id": "bfab0c73",
"metadata": {},
"source": [
"Serialize the graph in turtle format"
]
},
{
"cell_type": "markdown",
"id": "2abd6894",
"metadata": {},
"source": [
"```\n",
" ___-------___\n",
" _-~~ ~~-_\n",
" _-~ /~-_\n",
" /^\\__/^\\ /~ \\ / \\\n",
" /| O|| O| / \\_______________/ \\\n",
"| |___||__| / / \\ \\\n",
"| \\ / / \\ \\\n",
"| (_______) /______/ \\_________ \\\n",
"| / / \\ / \\\n",
" \\ \\^\\\\ \\ / \\ /\n",
" \\ || \\______________/ _-_ //\\__//\n",
" \\ ||------_-~~-_ ------------- \\ --/~ ~\\ || __/\n",
" ~-----||====/~ |==================| |/~~~~~\n",
" (_(__/ ./ / \\_\\ \\.\n",
" (_(___/ \\_____)_)\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1a30bff8",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Graph identifier=Nb3936a013f1347efb5841b4fa2629acc (<class 'rdflib.graph.Graph'>)>"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"g.bind(\"thm\", THM)\n",
"\n",
"#g.serialize(\"lego_graph.ttl\", format=\"turtle\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "venv (3.12.3)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}