Initial commit

This commit is contained in:
Nils Blach
2023-08-21 03:33:46 +02:00
commit 41a0a6e67c
54 changed files with 25134 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
# Sorting
The use case in this directory sorts the provided list of
numbers containing numbers from 0 to 9 (duplicates allowed).
We provide implementations of five different approaches for
32, 64 and 128 elements:
- IO
- Chain-of-Thought (CoT)
- Tree of Thought (ToT):
- ToT: wider tree, meaning more branches per level
- ToT2: tree with more levels, but fewer branches per level
- Graph of Thoughts (GoT):
- GoT: split into subarrays / sort / merge
## Data
We provide input files with 100 precomputed samples for each list
length: `sorting_<number of elements>.csv`.
## Execution
The files to execute the use case are called
`sorting_<number of elements>.py`. In the main body, one can select the
specific samples to be run (variable sample) and the approaches
(variable approaches). It is also possible to set a budget in dollars
(variable budget).
The input filename for the samples is currently hardcoded to
`sorting_<number of elements>.csv`, but can be updated in the function
`run`.
The Python scripts will create the directory `result`, if it is not
already present. In the 'result' directory, another directory is created
for each run: `{name of LLM}_{list of approaches}_{day}_{start time}`.
Inside each execution specific directory two files (`config.json`,
`log.log`) and a separate directory for each selected approach are
created. `config.json` contains the configuration of the run: input data,
selected approaches, name of the LLM, and the budget. `log.log` contains
the prompts and responses of the LLM as well as additional debug data.
The approach directories contain a separate json file for every sample
and the file contains the Graph Reasoning State (GRS) for that sample.
## Plot Data
Change the results directory in line 171 of `plot.py` and update the
length parameter in the subsequent line and run `python3 plot.py` to
plot your data.
+186
View File
@@ -0,0 +1,186 @@
# Copyright (c) 2023 ETH Zurich.
# All rights reserved.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# main author: Nils Blach
# contributions: Robert Gerstenberger
import json
import os
import matplotlib.pyplot as plt
def get_complete_results(base_directory):
results_complete = {}
for folder_name in os.listdir(base_directory):
folder_path = os.path.join(base_directory, folder_name)
if os.path.isdir(folder_path):
results_complete[folder_name] = []
for file_name in os.listdir(folder_path):
if file_name.endswith(".json"):
file_path = os.path.join(folder_path, file_name)
with open(file_path, "r") as f:
data = json.load(f)
results_complete[folder_name].append(
{"key": int(file_name.split(".")[0]), "data": data}
)
for key in results_complete.keys():
results_complete[key] = sorted(
results_complete[key], key=lambda x: x["key"]
)
return results_complete
def get_final_scores(results_complete):
scores = {}
for method in results_complete.keys():
scores[method] = []
for result in results_complete[method]:
score = 100
solved = False
cost = 1
prompt_tokens = 0
completion_tokens = 0
for op in result["data"]:
if "operation" in op and op["operation"] == "ground_truth_evaluator":
try:
score = min(op["scores"])
solved = any(op["problem_solved"])
except:
continue
if "cost" in op:
cost = op["cost"]
prompt_tokens = op["prompt_tokens"]
completion_tokens = op["completion_tokens"]
scores[method].append(
[result["key"], score, solved, prompt_tokens, completion_tokens, cost]
)
scores[method] = sorted(scores[method], key=lambda x: x[0])
return scores
def get_plotting_data(base_directory):
results_complete = get_complete_results(base_directory)
scores = get_final_scores(results_complete)
results_plotting = {
method: {
"scores": [x[1] for x in scores[method]],
"solved": sum([1 for x in scores[method] if x[2]]),
"costs": [x[5] for x in scores[method]],
}
for method in scores.keys()
}
return results_plotting
def plot_results(
results,
methods_order=["io", "cot", "tot", "tot2", "got"],
model="GPT-3.5",
length=32,
y_lower=0,
cost_upper=0.0,
display_solved=True,
annotation_offset=0,
display_left_ylabel=False,
display_right_ylabel=False,
):
methods_order = [method for method in methods_order if method in results]
# Extract scores based on the order
scores_ordered = [
[
min(score, length)
for score in results[method]["scores"]
if score != 100 and score != 300
]
for method in methods_order
]
total_costs = [sum(results[method]["costs"]) for method in methods_order]
# Create figure and axis
fig, ax = plt.subplots(dpi=150, figsize=(2.5, 5))
# Create boxplots
positions = range(1, len(methods_order) + 1)
ax.boxplot(scores_ordered, positions=positions)
fig_fontsize = 12
# Set the ticks and labels
method_labels = ["IO", "CoT", "ToT", "ToT2", "GoT"]
plt.yticks(fontsize=fig_fontsize)
ax.set_xticks(range(1, len(methods_order) + 1))
ax.set_xticks(range(1, len(methods_order) + 1))
ax.set_xticklabels(method_labels, fontsize=fig_fontsize)
y_upper = length
range_increase = 1
if display_solved:
if length < 48:
range_increase = 2
elif length < 96:
range_increase = 4
else:
range_increase = 8
ax.set_ylim(y_lower, y_upper + range_increase)
ax1_yticks = range(
y_lower, y_upper + 1, 2 if length < 48 else (4 if length < 96 else 8)
)
ax.set_yticks(ax1_yticks)
if display_left_ylabel:
ax.set_ylabel(f"#incorrectly sorted elements; the lower the better")
ax.set_title(f"{length} elements")
ax2 = ax.twinx()
ax2.bar(positions, total_costs, alpha=0.5, color="blue", label="Total Cost ($)")
ax2.yaxis.set_tick_params(colors="#1919ff", labelsize=fig_fontsize)
if cost_upper > 0:
ax2.set_ylim(0, cost_upper)
number_of_ticks = len(ax.get_yticks())
tick_interval = cost_upper / (number_of_ticks)
ax2_ticks = [tick_interval * i for i in range(number_of_ticks)]
# Set custom tick positions for ax2
ax2.set_yticks(ax2_ticks)
if display_right_ylabel:
ax2.set_ylabel(
"Total Cost ($); the lower the better",
color="#1919ff",
fontsize=fig_fontsize,
)
if display_solved:
annotation_height = y_upper + annotation_offset
count = 1
for method in methods_order:
if method not in results:
continue
solved = results[method]["solved"]
ax.text(
count,
annotation_height,
f"{solved}",
ha="center",
va="bottom",
fontsize=fig_fontsize,
)
count += 1
model = model.replace(".", "").replace("-", "").lower()
fig.savefig(f"sorting_{model}_{length}.pdf", bbox_inches="tight")
plot_results(
get_plotting_data("results/"),
length=32,
display_solved=True,
model="GPT-3.5",
display_left_ylabel=True,
display_right_ylabel=True,
)
+101
View File
@@ -0,0 +1,101 @@
ID,Unsorted,Sorted
0,"[0, 0, 5, 9, 0, 7, 9, 9, 1, 2, 6, 1, 1, 9, 0, 1, 3, 5, 2, 3, 5, 6, 0, 2, 7, 4, 6, 2, 9, 7, 5, 9]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 9, 9, 9, 9, 9, 9]"
1,"[5, 6, 2, 3, 1, 4, 9, 0, 5, 7, 0, 7, 1, 3, 2, 4, 5, 5, 6, 6, 3, 6, 4, 4, 2, 3, 7, 1, 7, 0, 2, 5]","[0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 9]"
2,"[9, 6, 7, 0, 7, 7, 4, 7, 9, 3, 6, 5, 0, 8, 1, 8, 6, 1, 5, 3, 3, 5, 3, 4, 2, 2, 4, 5, 8, 6, 0, 3]","[0, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9]"
3,"[8, 7, 1, 1, 1, 1, 3, 3, 0, 9, 4, 1, 0, 2, 5, 1, 0, 5, 6, 7, 1, 4, 5, 9, 4, 6, 2, 5, 8, 6, 2, 6]","[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 8, 8, 9, 9]"
4,"[5, 3, 9, 6, 3, 2, 9, 8, 2, 4, 2, 1, 8, 1, 8, 0, 0, 3, 7, 4, 4, 9, 9, 5, 4, 6, 5, 4, 3, 4, 1, 1]","[0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 7, 8, 8, 8, 9, 9, 9, 9]"
5,"[4, 6, 9, 5, 8, 6, 5, 4, 0, 4, 2, 6, 3, 6, 8, 5, 5, 2, 3, 5, 0, 9, 8, 6, 5, 5, 5, 8, 1, 5, 8, 7]","[0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 8, 8, 8, 8, 8, 9, 9]"
6,"[9, 6, 4, 1, 9, 6, 3, 1, 1, 7, 3, 9, 2, 6, 2, 9, 9, 4, 2, 7, 4, 0, 2, 3, 1, 7, 9, 8, 3, 0, 7, 3]","[0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 6, 6, 6, 7, 7, 7, 7, 8, 9, 9, 9, 9, 9, 9]"
7,"[9, 2, 4, 7, 4, 8, 8, 4, 7, 5, 8, 9, 0, 1, 0, 0, 0, 0, 7, 3, 4, 7, 7, 7, 9, 8, 6, 3, 2, 6, 6, 8]","[0, 0, 0, 0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9]"
8,"[6, 6, 9, 1, 7, 3, 5, 9, 7, 9, 1, 4, 8, 2, 5, 7, 0, 8, 8, 8, 9, 8, 1, 0, 5, 6, 5, 9, 2, 1, 7, 7]","[0, 0, 1, 1, 1, 1, 2, 2, 3, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
9,"[0, 3, 5, 9, 3, 1, 0, 2, 9, 9, 8, 1, 7, 6, 8, 1, 7, 1, 7, 1, 3, 2, 4, 2, 8, 4, 6, 8, 3, 2, 7, 0]","[0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9]"
10,"[5, 2, 2, 3, 5, 5, 6, 2, 6, 9, 9, 9, 9, 7, 5, 1, 4, 5, 0, 4, 0, 3, 6, 6, 8, 1, 2, 2, 2, 3, 7, 2]","[0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 8, 9, 9, 9, 9]"
11,"[4, 1, 7, 1, 8, 8, 7, 5, 7, 1, 6, 1, 6, 1, 4, 4, 0, 0, 3, 3, 5, 6, 9, 3, 4, 9, 9, 2, 3, 0, 5, 5]","[0, 0, 0, 1, 1, 1, 1, 1, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9]"
12,"[6, 6, 5, 3, 1, 7, 2, 8, 7, 2, 0, 5, 4, 5, 0, 5, 8, 0, 4, 8, 5, 9, 0, 0, 2, 3, 4, 3, 2, 0, 4, 4]","[0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 7, 7, 8, 8, 8, 9]"
13,"[7, 0, 9, 2, 0, 6, 5, 9, 3, 5, 6, 2, 0, 1, 4, 7, 5, 7, 0, 9, 8, 2, 1, 3, 4, 4, 8, 4, 2, 7, 9, 7]","[0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9]"
14,"[3, 4, 7, 1, 9, 8, 3, 0, 6, 4, 4, 1, 9, 9, 9, 2, 8, 4, 7, 4, 7, 9, 7, 6, 9, 7, 2, 1, 4, 5, 3, 1]","[0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 6, 6, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9]"
15,"[8, 7, 0, 7, 8, 6, 3, 6, 6, 9, 8, 0, 3, 9, 3, 1, 7, 7, 4, 2, 5, 8, 2, 8, 7, 2, 1, 2, 6, 5, 5, 2]","[0, 0, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9]"
16,"[9, 7, 1, 8, 7, 9, 5, 0, 9, 0, 6, 4, 5, 7, 0, 9, 2, 5, 8, 4, 3, 9, 6, 4, 6, 1, 7, 2, 2, 5, 3, 0]","[0, 0, 0, 0, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9]"
17,"[7, 5, 1, 8, 1, 5, 9, 6, 0, 9, 8, 2, 1, 2, 7, 4, 5, 7, 3, 7, 8, 5, 1, 0, 4, 7, 8, 1, 4, 1, 4, 2]","[0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9]"
18,"[4, 3, 6, 3, 7, 8, 5, 6, 5, 6, 8, 3, 6, 5, 5, 6, 0, 8, 4, 9, 2, 0, 4, 3, 2, 2, 5, 0, 8, 5, 2, 6]","[0, 0, 0, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 8, 8, 8, 8, 9]"
19,"[9, 7, 8, 2, 6, 2, 9, 7, 6, 8, 1, 0, 6, 3, 5, 0, 3, 6, 2, 4, 2, 0, 6, 8, 3, 1, 9, 7, 7, 2, 6, 4]","[0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9]"
20,"[8, 7, 6, 4, 5, 6, 4, 0, 2, 1, 8, 0, 2, 0, 8, 1, 8, 4, 4, 9, 7, 6, 0, 9, 6, 6, 1, 2, 5, 4, 7, 3]","[0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 4, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9]"
21,"[6, 6, 4, 0, 7, 9, 5, 2, 0, 4, 2, 4, 8, 4, 0, 3, 7, 0, 4, 3, 1, 3, 0, 1, 9, 6, 7, 4, 9, 1, 3, 0]","[0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 6, 6, 6, 7, 7, 7, 8, 9, 9, 9]"
22,"[6, 8, 0, 2, 7, 7, 9, 7, 9, 0, 6, 6, 8, 9, 1, 4, 2, 9, 6, 6, 2, 0, 0, 7, 5, 2, 5, 1, 3, 5, 2, 6]","[0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 3, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9]"
23,"[8, 5, 0, 3, 6, 5, 6, 5, 4, 8, 0, 0, 7, 3, 9, 2, 9, 2, 0, 4, 1, 0, 5, 5, 8, 2, 8, 4, 4, 3, 5, 1]","[0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 7, 8, 8, 8, 8, 9, 9]"
24,"[8, 0, 5, 9, 3, 9, 2, 1, 7, 2, 1, 9, 7, 4, 8, 4, 2, 2, 9, 2, 1, 7, 3, 4, 4, 3, 3, 0, 8, 1, 8, 6]","[0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9]"
25,"[9, 8, 8, 9, 8, 1, 9, 6, 5, 8, 0, 8, 5, 5, 5, 4, 3, 5, 8, 4, 0, 3, 3, 6, 6, 1, 4, 7, 0, 7, 2, 8]","[0, 0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9]"
26,"[3, 0, 9, 6, 0, 7, 0, 2, 7, 8, 8, 9, 7, 5, 6, 0, 2, 3, 4, 9, 6, 4, 8, 9, 3, 5, 6, 2, 0, 1, 5, 3]","[0, 0, 0, 0, 0, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9]"
27,"[6, 4, 9, 0, 5, 9, 0, 8, 5, 5, 9, 2, 6, 4, 8, 1, 9, 1, 3, 9, 4, 6, 6, 9, 7, 8, 8, 8, 9, 1, 1, 4]","[0, 0, 1, 1, 1, 1, 2, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
28,"[3, 9, 6, 5, 2, 1, 2, 7, 6, 9, 6, 4, 7, 2, 9, 1, 6, 6, 1, 6, 4, 7, 1, 0, 5, 7, 6, 2, 2, 2, 4, 8]","[0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 4, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 9, 9, 9]"
29,"[3, 9, 5, 1, 3, 9, 0, 8, 0, 1, 9, 5, 8, 7, 3, 1, 6, 6, 2, 2, 0, 2, 7, 2, 5, 5, 5, 1, 6, 6, 9, 0]","[0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9]"
30,"[5, 1, 2, 2, 1, 9, 1, 7, 7, 1, 4, 1, 1, 3, 7, 0, 2, 0, 7, 8, 0, 1, 9, 2, 0, 4, 5, 6, 6, 1, 8, 9]","[0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 9]"
31,"[4, 2, 6, 4, 7, 2, 5, 2, 8, 4, 9, 5, 7, 7, 3, 2, 5, 5, 0, 2, 2, 8, 2, 8, 2, 6, 5, 3, 3, 5, 8, 4]","[0, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9]"
32,"[6, 6, 2, 2, 9, 8, 7, 2, 5, 3, 5, 7, 1, 3, 4, 0, 3, 6, 9, 1, 6, 1, 0, 4, 1, 2, 6, 7, 7, 6, 9, 1]","[0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 9, 9, 9]"
33,"[6, 3, 9, 8, 1, 4, 2, 1, 0, 0, 1, 3, 7, 9, 8, 1, 3, 1, 5, 3, 9, 7, 8, 9, 3, 9, 4, 0, 2, 7, 3, 9]","[0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 5, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9]"
34,"[2, 6, 4, 5, 8, 1, 9, 3, 6, 3, 9, 7, 3, 3, 8, 4, 6, 7, 2, 7, 3, 2, 3, 3, 5, 5, 6, 4, 1, 6, 6, 2]","[1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9]"
35,"[6, 6, 0, 8, 0, 6, 8, 4, 9, 8, 3, 8, 8, 1, 7, 1, 5, 0, 9, 1, 9, 9, 8, 1, 5, 3, 2, 2, 7, 0, 5, 6]","[0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]"
36,"[8, 9, 1, 5, 7, 4, 2, 6, 2, 8, 8, 9, 3, 0, 6, 7, 7, 8, 6, 5, 8, 3, 3, 0, 1, 6, 4, 0, 8, 8, 1, 7]","[0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9]"
37,"[9, 5, 1, 1, 3, 1, 0, 4, 4, 6, 1, 9, 4, 8, 0, 9, 4, 0, 5, 1, 9, 5, 6, 7, 9, 1, 2, 7, 1, 3, 9, 6]","[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 8, 9, 9, 9, 9, 9, 9]"
38,"[4, 1, 1, 8, 1, 7, 9, 1, 5, 5, 1, 9, 0, 8, 7, 7, 9, 0, 7, 0, 4, 9, 8, 5, 9, 6, 6, 2, 6, 5, 1, 1]","[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9]"
39,"[6, 1, 6, 5, 7, 1, 6, 3, 8, 7, 6, 1, 3, 8, 6, 9, 3, 1, 1, 9, 4, 8, 3, 1, 9, 4, 5, 9, 5, 4, 1, 8]","[1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9]"
40,"[2, 1, 6, 3, 9, 3, 8, 3, 2, 3, 9, 9, 5, 4, 3, 2, 1, 9, 3, 4, 3, 3, 5, 4, 4, 4, 9, 7, 8, 3, 0, 8]","[0, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, 8, 9, 9, 9, 9, 9]"
41,"[6, 5, 6, 4, 3, 7, 3, 0, 6, 9, 1, 0, 1, 7, 0, 1, 8, 6, 5, 9, 5, 9, 4, 2, 5, 3, 8, 8, 8, 0, 9, 7]","[0, 0, 0, 0, 1, 1, 1, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9]"
42,"[9, 2, 6, 8, 4, 0, 5, 0, 8, 6, 1, 6, 6, 6, 7, 6, 5, 2, 3, 4, 3, 9, 2, 9, 3, 2, 0, 0, 1, 4, 6, 6]","[0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 8, 8, 9, 9, 9]"
43,"[7, 7, 7, 8, 7, 9, 4, 3, 5, 5, 1, 7, 7, 4, 0, 5, 6, 2, 7, 3, 2, 2, 3, 2, 0, 8, 6, 7, 8, 4, 6, 4]","[0, 0, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 9]"
44,"[0, 1, 6, 5, 4, 6, 9, 3, 7, 0, 0, 1, 1, 6, 7, 1, 9, 9, 4, 5, 9, 1, 2, 2, 7, 5, 6, 1, 9, 1, 2, 4]","[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 9, 9, 9, 9, 9]"
45,"[1, 8, 6, 5, 0, 6, 2, 4, 2, 2, 0, 8, 7, 6, 1, 3, 1, 9, 7, 5, 9, 8, 1, 8, 2, 7, 7, 3, 7, 7, 8, 7]","[0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9]"
46,"[4, 7, 0, 6, 4, 5, 0, 3, 0, 3, 4, 6, 5, 2, 6, 5, 5, 9, 7, 1, 0, 8, 0, 4, 9, 1, 3, 5, 1, 7, 2, 0]","[0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 9, 9]"
47,"[9, 6, 0, 1, 8, 4, 9, 6, 3, 6, 0, 7, 0, 8, 9, 3, 6, 6, 9, 3, 2, 2, 2, 9, 4, 9, 3, 8, 1, 9, 6, 1]","[0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 6, 6, 6, 6, 6, 6, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
48,"[7, 3, 4, 8, 4, 2, 8, 3, 1, 0, 7, 3, 1, 9, 1, 8, 0, 1, 9, 8, 3, 2, 4, 1, 7, 3, 1, 3, 2, 0, 4, 0]","[0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 7, 7, 7, 8, 8, 8, 8, 9, 9]"
49,"[2, 3, 7, 6, 5, 7, 5, 2, 8, 6, 8, 3, 7, 2, 3, 8, 6, 5, 4, 5, 3, 6, 8, 3, 0, 9, 2, 1, 7, 5, 5, 8]","[0, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9]"
50,"[4, 0, 9, 1, 1, 6, 5, 0, 6, 4, 8, 1, 6, 9, 6, 1, 8, 1, 3, 1, 1, 5, 8, 3, 2, 2, 9, 8, 4, 6, 6, 9]","[0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 9, 9, 9, 9]"
51,"[1, 9, 8, 5, 8, 5, 2, 4, 1, 4, 8, 0, 7, 9, 0, 5, 0, 5, 6, 4, 6, 2, 2, 3, 4, 2, 8, 8, 6, 7, 8, 9]","[0, 0, 0, 1, 1, 2, 2, 2, 2, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9]"
52,"[3, 5, 2, 8, 8, 5, 4, 6, 0, 7, 2, 0, 2, 5, 2, 6, 0, 1, 8, 0, 9, 2, 8, 2, 8, 7, 3, 5, 6, 8, 0, 8]","[0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 3, 3, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9]"
53,"[2, 4, 1, 8, 9, 8, 2, 4, 0, 7, 9, 6, 1, 8, 1, 5, 6, 5, 8, 8, 7, 0, 4, 7, 2, 1, 9, 4, 4, 5, 5, 6]","[0, 0, 1, 1, 1, 1, 2, 2, 2, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9]"
54,"[4, 9, 4, 3, 2, 0, 9, 3, 9, 7, 7, 5, 9, 4, 3, 1, 6, 2, 5, 1, 9, 7, 2, 1, 9, 4, 6, 0, 7, 4, 9, 4]","[0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 9, 9, 9, 9, 9, 9, 9]"
55,"[2, 3, 6, 7, 2, 2, 1, 6, 4, 0, 0, 9, 1, 6, 9, 1, 1, 2, 5, 1, 8, 1, 7, 1, 2, 1, 6, 0, 1, 6, 4, 1]","[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 4, 4, 5, 6, 6, 6, 6, 6, 7, 7, 8, 9, 9]"
56,"[4, 7, 7, 5, 3, 5, 9, 9, 3, 1, 4, 7, 8, 3, 4, 7, 7, 3, 3, 7, 0, 0, 2, 9, 6, 5, 3, 7, 3, 0, 1, 1]","[0, 0, 0, 1, 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 7, 7, 7, 7, 7, 7, 7, 8, 9, 9, 9]"
57,"[0, 9, 8, 9, 1, 3, 8, 0, 5, 7, 8, 5, 3, 4, 2, 5, 7, 8, 9, 6, 5, 1, 4, 5, 1, 3, 1, 8, 9, 2, 6, 9]","[0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
58,"[6, 1, 5, 1, 3, 5, 4, 0, 1, 0, 6, 8, 9, 8, 1, 7, 6, 8, 7, 4, 6, 2, 9, 0, 8, 0, 7, 2, 6, 6, 7, 7]","[0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9]"
59,"[2, 4, 0, 5, 4, 0, 6, 6, 1, 7, 8, 1, 7, 3, 4, 0, 9, 2, 8, 8, 8, 1, 1, 1, 7, 3, 1, 6, 0, 9, 1, 3]","[0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9]"
60,"[3, 8, 0, 9, 5, 6, 6, 8, 5, 2, 9, 4, 8, 2, 3, 5, 7, 6, 1, 7, 1, 4, 3, 9, 4, 5, 9, 5, 1, 9, 9, 9]","[0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
61,"[8, 8, 0, 2, 4, 3, 1, 9, 2, 9, 1, 1, 3, 7, 9, 9, 9, 1, 5, 2, 1, 3, 1, 5, 7, 7, 8, 2, 8, 8, 8, 2]","[0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 5, 5, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
62,"[5, 0, 7, 6, 2, 6, 6, 7, 0, 5, 6, 3, 9, 5, 4, 9, 0, 0, 4, 9, 0, 3, 1, 4, 7, 5, 9, 8, 6, 0, 7, 3]","[0, 0, 0, 0, 0, 0, 1, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 9, 9, 9, 9]"
63,"[0, 0, 4, 5, 1, 1, 1, 0, 2, 2, 5, 2, 5, 0, 0, 2, 1, 4, 6, 2, 0, 8, 8, 0, 5, 4, 3, 6, 8, 1, 0, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 8, 8, 8]"
64,"[3, 7, 4, 1, 6, 1, 9, 8, 1, 9, 7, 8, 8, 4, 6, 4, 3, 0, 2, 0, 0, 7, 0, 8, 1, 5, 3, 5, 2, 2, 0, 6]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9]"
65,"[3, 3, 7, 3, 2, 5, 7, 1, 4, 7, 0, 7, 1, 2, 5, 9, 6, 9, 5, 5, 0, 3, 2, 4, 1, 2, 0, 5, 5, 0, 1, 8]","[0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5, 5, 6, 7, 7, 7, 7, 8, 9, 9]"
66,"[9, 1, 9, 1, 3, 4, 4, 5, 0, 1, 9, 8, 0, 7, 1, 8, 7, 7, 6, 0, 0, 6, 1, 4, 4, 5, 8, 5, 4, 4, 4, 8]","[0, 0, 0, 0, 1, 1, 1, 1, 1, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9]"
67,"[0, 7, 5, 5, 0, 3, 0, 7, 3, 9, 8, 3, 1, 2, 1, 5, 3, 6, 8, 7, 2, 9, 9, 6, 9, 2, 0, 1, 7, 9, 2, 0]","[0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 5, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9]"
68,"[1, 1, 6, 1, 1, 6, 0, 5, 0, 0, 8, 2, 5, 9, 6, 7, 1, 3, 9, 0, 9, 7, 0, 0, 3, 2, 2, 4, 0, 3, 6, 5]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 8, 9, 9, 9]"
69,"[3, 4, 2, 5, 5, 8, 4, 8, 5, 5, 8, 3, 4, 9, 9, 8, 4, 9, 9, 9, 9, 3, 9, 0, 5, 8, 3, 7, 8, 6, 1, 1]","[0, 1, 1, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
70,"[6, 4, 5, 0, 8, 3, 9, 7, 0, 2, 0, 2, 8, 5, 8, 2, 6, 2, 1, 9, 4, 5, 3, 3, 4, 0, 5, 7, 7, 2, 4, 0]","[0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9]"
71,"[0, 4, 8, 5, 2, 4, 6, 7, 2, 6, 2, 8, 3, 6, 6, 2, 0, 9, 7, 7, 5, 1, 0, 8, 6, 0, 7, 7, 0, 3, 2, 6]","[0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 9]"
72,"[5, 1, 7, 2, 4, 5, 0, 2, 7, 2, 2, 9, 7, 0, 5, 8, 5, 2, 2, 1, 2, 6, 9, 7, 8, 8, 4, 5, 1, 8, 2, 8]","[0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 5, 5, 5, 5, 5, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9]"
73,"[8, 9, 8, 8, 3, 5, 5, 3, 6, 1, 3, 2, 6, 3, 1, 3, 3, 5, 1, 7, 6, 0, 9, 6, 8, 1, 1, 0, 9, 5, 5, 6]","[0, 0, 1, 1, 1, 1, 1, 2, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 8, 8, 8, 8, 9, 9, 9]"
74,"[4, 3, 3, 0, 4, 7, 9, 4, 3, 5, 3, 5, 4, 2, 0, 2, 1, 5, 8, 8, 4, 4, 3, 4, 3, 0, 1, 6, 7, 3, 2, 8]","[0, 0, 0, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9]"
75,"[7, 1, 9, 4, 7, 4, 0, 5, 0, 7, 2, 0, 8, 5, 8, 4, 2, 2, 5, 9, 2, 3, 8, 2, 7, 4, 6, 6, 8, 6, 3, 3]","[0, 0, 0, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9]"
76,"[7, 3, 1, 7, 2, 0, 4, 5, 6, 5, 8, 3, 2, 8, 8, 2, 2, 5, 3, 9, 1, 3, 4, 9, 2, 7, 7, 3, 6, 8, 3, 7]","[0, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9]"
77,"[9, 4, 1, 3, 1, 3, 4, 8, 8, 8, 7, 2, 7, 9, 5, 0, 2, 6, 4, 8, 1, 3, 5, 4, 1, 8, 7, 4, 7, 7, 0, 8]","[0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9]"
78,"[3, 5, 5, 9, 6, 6, 6, 2, 9, 0, 3, 0, 2, 1, 2, 6, 5, 8, 4, 8, 5, 9, 9, 5, 7, 0, 6, 8, 9, 3, 3, 5]","[0, 0, 0, 1, 2, 2, 2, 3, 3, 3, 3, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 8, 8, 8, 9, 9, 9, 9, 9]"
79,"[9, 5, 9, 0, 4, 5, 6, 3, 0, 1, 4, 3, 1, 5, 9, 9, 3, 2, 9, 5, 5, 2, 9, 9, 9, 7, 8, 9, 8, 0, 2, 8]","[0, 0, 0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5, 6, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
80,"[9, 3, 1, 0, 5, 7, 6, 1, 8, 9, 5, 9, 1, 9, 9, 9, 9, 2, 2, 4, 3, 0, 6, 1, 9, 2, 1, 3, 5, 2, 5, 1]","[0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 5, 5, 5, 5, 6, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9]"
81,"[8, 1, 1, 3, 0, 2, 8, 0, 9, 5, 3, 7, 7, 6, 8, 5, 2, 9, 3, 2, 6, 4, 2, 1, 7, 9, 4, 0, 1, 9, 3, 0]","[0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9]"
82,"[0, 1, 4, 1, 5, 7, 4, 9, 3, 7, 5, 3, 6, 5, 1, 4, 1, 2, 2, 0, 0, 7, 5, 3, 5, 4, 6, 2, 1, 4, 1, 3]","[0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 7, 7, 7, 9]"
83,"[2, 2, 4, 0, 5, 7, 4, 5, 9, 5, 7, 5, 1, 5, 9, 5, 4, 1, 7, 9, 2, 4, 4, 1, 4, 3, 7, 9, 0, 6, 1, 1]","[0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 7, 7, 7, 7, 9, 9, 9, 9]"
84,"[2, 5, 4, 9, 4, 5, 3, 8, 1, 5, 0, 4, 5, 5, 7, 4, 6, 6, 7, 7, 1, 9, 6, 5, 8, 6, 3, 6, 8, 9, 0, 7]","[0, 0, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9]"
85,"[0, 4, 3, 0, 6, 1, 1, 9, 2, 1, 3, 6, 5, 1, 2, 3, 0, 1, 6, 7, 8, 4, 1, 0, 2, 1, 2, 3, 4, 5, 6, 1]","[0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 6, 6, 6, 6, 7, 8, 9]"
86,"[4, 6, 0, 6, 5, 1, 7, 7, 0, 8, 0, 4, 6, 0, 8, 5, 0, 1, 8, 8, 0, 1, 0, 9, 4, 5, 5, 3, 0, 1, 9, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9]"
87,"[6, 0, 1, 6, 6, 0, 7, 9, 2, 5, 8, 4, 5, 8, 1, 4, 8, 0, 6, 4, 0, 7, 1, 2, 3, 9, 4, 8, 7, 3, 8, 2]","[0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9]"
88,"[5, 1, 5, 3, 7, 6, 5, 0, 8, 6, 6, 4, 6, 7, 2, 0, 1, 9, 5, 2, 4, 1, 3, 0, 4, 6, 7, 8, 0, 7, 2, 8]","[0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9]"
89,"[5, 2, 2, 3, 8, 5, 0, 0, 6, 7, 3, 3, 7, 7, 6, 6, 8, 2, 0, 1, 6, 3, 3, 9, 9, 9, 1, 9, 5, 6, 4, 2]","[0, 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 9]"
90,"[3, 0, 3, 3, 0, 9, 8, 7, 3, 9, 7, 0, 4, 0, 9, 4, 3, 7, 5, 1, 9, 5, 6, 6, 6, 3, 6, 3, 2, 8, 6, 8]","[0, 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9]"
91,"[2, 4, 6, 0, 9, 4, 3, 5, 7, 4, 8, 8, 8, 1, 8, 5, 8, 0, 2, 6, 2, 9, 4, 0, 0, 8, 5, 0, 5, 1, 2, 8]","[0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9]"
92,"[6, 5, 3, 4, 8, 2, 5, 9, 1, 3, 9, 6, 7, 4, 4, 7, 9, 7, 2, 2, 2, 8, 5, 8, 6, 3, 8, 5, 0, 8, 9, 1]","[0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9]"
93,"[3, 8, 3, 9, 8, 4, 0, 7, 3, 9, 9, 2, 6, 0, 3, 5, 1, 3, 9, 3, 2, 0, 8, 8, 7, 3, 6, 1, 5, 4, 7, 7]","[0, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9]"
94,"[2, 7, 8, 3, 3, 8, 7, 9, 2, 8, 0, 6, 9, 5, 8, 4, 2, 8, 3, 6, 3, 4, 1, 4, 8, 5, 5, 6, 0, 0, 7, 6]","[0, 0, 0, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9]"
95,"[8, 1, 9, 6, 1, 7, 1, 2, 6, 9, 0, 6, 0, 6, 8, 2, 3, 5, 8, 7, 9, 0, 9, 1, 7, 5, 4, 3, 7, 1, 8, 8]","[0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9]"
96,"[3, 7, 6, 2, 0, 4, 8, 7, 1, 1, 1, 1, 8, 2, 4, 1, 4, 7, 4, 0, 8, 4, 9, 5, 0, 0, 6, 8, 3, 2, 1, 2]","[0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 4, 4, 4, 4, 5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9]"
97,"[3, 1, 2, 8, 6, 7, 0, 2, 3, 1, 6, 7, 9, 3, 1, 9, 7, 4, 5, 5, 0, 7, 8, 3, 3, 1, 4, 4, 2, 1, 1, 5]","[0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9]"
98,"[5, 7, 1, 7, 2, 4, 1, 8, 4, 6, 9, 2, 0, 2, 3, 9, 3, 9, 7, 8, 3, 1, 1, 3, 9, 8, 5, 0, 2, 7, 0, 2]","[0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9]"
99,"[9, 4, 4, 7, 2, 3, 9, 8, 8, 3, 9, 8, 7, 1, 7, 9, 5, 1, 6, 1, 6, 2, 0, 4, 7, 6, 4, 6, 3, 2, 6, 2]","[0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9]"
1 ID Unsorted Sorted
2 0 [0, 0, 5, 9, 0, 7, 9, 9, 1, 2, 6, 1, 1, 9, 0, 1, 3, 5, 2, 3, 5, 6, 0, 2, 7, 4, 6, 2, 9, 7, 5, 9] [0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 9, 9, 9, 9, 9, 9]
3 1 [5, 6, 2, 3, 1, 4, 9, 0, 5, 7, 0, 7, 1, 3, 2, 4, 5, 5, 6, 6, 3, 6, 4, 4, 2, 3, 7, 1, 7, 0, 2, 5] [0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 9]
4 2 [9, 6, 7, 0, 7, 7, 4, 7, 9, 3, 6, 5, 0, 8, 1, 8, 6, 1, 5, 3, 3, 5, 3, 4, 2, 2, 4, 5, 8, 6, 0, 3] [0, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9]
5 3 [8, 7, 1, 1, 1, 1, 3, 3, 0, 9, 4, 1, 0, 2, 5, 1, 0, 5, 6, 7, 1, 4, 5, 9, 4, 6, 2, 5, 8, 6, 2, 6] [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 8, 8, 9, 9]
6 4 [5, 3, 9, 6, 3, 2, 9, 8, 2, 4, 2, 1, 8, 1, 8, 0, 0, 3, 7, 4, 4, 9, 9, 5, 4, 6, 5, 4, 3, 4, 1, 1] [0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 7, 8, 8, 8, 9, 9, 9, 9]
7 5 [4, 6, 9, 5, 8, 6, 5, 4, 0, 4, 2, 6, 3, 6, 8, 5, 5, 2, 3, 5, 0, 9, 8, 6, 5, 5, 5, 8, 1, 5, 8, 7] [0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 8, 8, 8, 8, 8, 9, 9]
8 6 [9, 6, 4, 1, 9, 6, 3, 1, 1, 7, 3, 9, 2, 6, 2, 9, 9, 4, 2, 7, 4, 0, 2, 3, 1, 7, 9, 8, 3, 0, 7, 3] [0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 6, 6, 6, 7, 7, 7, 7, 8, 9, 9, 9, 9, 9, 9]
9 7 [9, 2, 4, 7, 4, 8, 8, 4, 7, 5, 8, 9, 0, 1, 0, 0, 0, 0, 7, 3, 4, 7, 7, 7, 9, 8, 6, 3, 2, 6, 6, 8] [0, 0, 0, 0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9]
10 8 [6, 6, 9, 1, 7, 3, 5, 9, 7, 9, 1, 4, 8, 2, 5, 7, 0, 8, 8, 8, 9, 8, 1, 0, 5, 6, 5, 9, 2, 1, 7, 7] [0, 0, 1, 1, 1, 1, 2, 2, 3, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
11 9 [0, 3, 5, 9, 3, 1, 0, 2, 9, 9, 8, 1, 7, 6, 8, 1, 7, 1, 7, 1, 3, 2, 4, 2, 8, 4, 6, 8, 3, 2, 7, 0] [0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9]
12 10 [5, 2, 2, 3, 5, 5, 6, 2, 6, 9, 9, 9, 9, 7, 5, 1, 4, 5, 0, 4, 0, 3, 6, 6, 8, 1, 2, 2, 2, 3, 7, 2] [0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 8, 9, 9, 9, 9]
13 11 [4, 1, 7, 1, 8, 8, 7, 5, 7, 1, 6, 1, 6, 1, 4, 4, 0, 0, 3, 3, 5, 6, 9, 3, 4, 9, 9, 2, 3, 0, 5, 5] [0, 0, 0, 1, 1, 1, 1, 1, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9]
14 12 [6, 6, 5, 3, 1, 7, 2, 8, 7, 2, 0, 5, 4, 5, 0, 5, 8, 0, 4, 8, 5, 9, 0, 0, 2, 3, 4, 3, 2, 0, 4, 4] [0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 7, 7, 8, 8, 8, 9]
15 13 [7, 0, 9, 2, 0, 6, 5, 9, 3, 5, 6, 2, 0, 1, 4, 7, 5, 7, 0, 9, 8, 2, 1, 3, 4, 4, 8, 4, 2, 7, 9, 7] [0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9]
16 14 [3, 4, 7, 1, 9, 8, 3, 0, 6, 4, 4, 1, 9, 9, 9, 2, 8, 4, 7, 4, 7, 9, 7, 6, 9, 7, 2, 1, 4, 5, 3, 1] [0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 6, 6, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9]
17 15 [8, 7, 0, 7, 8, 6, 3, 6, 6, 9, 8, 0, 3, 9, 3, 1, 7, 7, 4, 2, 5, 8, 2, 8, 7, 2, 1, 2, 6, 5, 5, 2] [0, 0, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9]
18 16 [9, 7, 1, 8, 7, 9, 5, 0, 9, 0, 6, 4, 5, 7, 0, 9, 2, 5, 8, 4, 3, 9, 6, 4, 6, 1, 7, 2, 2, 5, 3, 0] [0, 0, 0, 0, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9]
19 17 [7, 5, 1, 8, 1, 5, 9, 6, 0, 9, 8, 2, 1, 2, 7, 4, 5, 7, 3, 7, 8, 5, 1, 0, 4, 7, 8, 1, 4, 1, 4, 2] [0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9]
20 18 [4, 3, 6, 3, 7, 8, 5, 6, 5, 6, 8, 3, 6, 5, 5, 6, 0, 8, 4, 9, 2, 0, 4, 3, 2, 2, 5, 0, 8, 5, 2, 6] [0, 0, 0, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 8, 8, 8, 8, 9]
21 19 [9, 7, 8, 2, 6, 2, 9, 7, 6, 8, 1, 0, 6, 3, 5, 0, 3, 6, 2, 4, 2, 0, 6, 8, 3, 1, 9, 7, 7, 2, 6, 4] [0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9]
22 20 [8, 7, 6, 4, 5, 6, 4, 0, 2, 1, 8, 0, 2, 0, 8, 1, 8, 4, 4, 9, 7, 6, 0, 9, 6, 6, 1, 2, 5, 4, 7, 3] [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 4, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9]
23 21 [6, 6, 4, 0, 7, 9, 5, 2, 0, 4, 2, 4, 8, 4, 0, 3, 7, 0, 4, 3, 1, 3, 0, 1, 9, 6, 7, 4, 9, 1, 3, 0] [0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 6, 6, 6, 7, 7, 7, 8, 9, 9, 9]
24 22 [6, 8, 0, 2, 7, 7, 9, 7, 9, 0, 6, 6, 8, 9, 1, 4, 2, 9, 6, 6, 2, 0, 0, 7, 5, 2, 5, 1, 3, 5, 2, 6] [0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 3, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9]
25 23 [8, 5, 0, 3, 6, 5, 6, 5, 4, 8, 0, 0, 7, 3, 9, 2, 9, 2, 0, 4, 1, 0, 5, 5, 8, 2, 8, 4, 4, 3, 5, 1] [0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 7, 8, 8, 8, 8, 9, 9]
26 24 [8, 0, 5, 9, 3, 9, 2, 1, 7, 2, 1, 9, 7, 4, 8, 4, 2, 2, 9, 2, 1, 7, 3, 4, 4, 3, 3, 0, 8, 1, 8, 6] [0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9]
27 25 [9, 8, 8, 9, 8, 1, 9, 6, 5, 8, 0, 8, 5, 5, 5, 4, 3, 5, 8, 4, 0, 3, 3, 6, 6, 1, 4, 7, 0, 7, 2, 8] [0, 0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9]
28 26 [3, 0, 9, 6, 0, 7, 0, 2, 7, 8, 8, 9, 7, 5, 6, 0, 2, 3, 4, 9, 6, 4, 8, 9, 3, 5, 6, 2, 0, 1, 5, 3] [0, 0, 0, 0, 0, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9]
29 27 [6, 4, 9, 0, 5, 9, 0, 8, 5, 5, 9, 2, 6, 4, 8, 1, 9, 1, 3, 9, 4, 6, 6, 9, 7, 8, 8, 8, 9, 1, 1, 4] [0, 0, 1, 1, 1, 1, 2, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
30 28 [3, 9, 6, 5, 2, 1, 2, 7, 6, 9, 6, 4, 7, 2, 9, 1, 6, 6, 1, 6, 4, 7, 1, 0, 5, 7, 6, 2, 2, 2, 4, 8] [0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 4, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 9, 9, 9]
31 29 [3, 9, 5, 1, 3, 9, 0, 8, 0, 1, 9, 5, 8, 7, 3, 1, 6, 6, 2, 2, 0, 2, 7, 2, 5, 5, 5, 1, 6, 6, 9, 0] [0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9]
32 30 [5, 1, 2, 2, 1, 9, 1, 7, 7, 1, 4, 1, 1, 3, 7, 0, 2, 0, 7, 8, 0, 1, 9, 2, 0, 4, 5, 6, 6, 1, 8, 9] [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 9]
33 31 [4, 2, 6, 4, 7, 2, 5, 2, 8, 4, 9, 5, 7, 7, 3, 2, 5, 5, 0, 2, 2, 8, 2, 8, 2, 6, 5, 3, 3, 5, 8, 4] [0, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9]
34 32 [6, 6, 2, 2, 9, 8, 7, 2, 5, 3, 5, 7, 1, 3, 4, 0, 3, 6, 9, 1, 6, 1, 0, 4, 1, 2, 6, 7, 7, 6, 9, 1] [0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 9, 9, 9]
35 33 [6, 3, 9, 8, 1, 4, 2, 1, 0, 0, 1, 3, 7, 9, 8, 1, 3, 1, 5, 3, 9, 7, 8, 9, 3, 9, 4, 0, 2, 7, 3, 9] [0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 5, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9]
36 34 [2, 6, 4, 5, 8, 1, 9, 3, 6, 3, 9, 7, 3, 3, 8, 4, 6, 7, 2, 7, 3, 2, 3, 3, 5, 5, 6, 4, 1, 6, 6, 2] [1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9]
37 35 [6, 6, 0, 8, 0, 6, 8, 4, 9, 8, 3, 8, 8, 1, 7, 1, 5, 0, 9, 1, 9, 9, 8, 1, 5, 3, 2, 2, 7, 0, 5, 6] [0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]
38 36 [8, 9, 1, 5, 7, 4, 2, 6, 2, 8, 8, 9, 3, 0, 6, 7, 7, 8, 6, 5, 8, 3, 3, 0, 1, 6, 4, 0, 8, 8, 1, 7] [0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9]
39 37 [9, 5, 1, 1, 3, 1, 0, 4, 4, 6, 1, 9, 4, 8, 0, 9, 4, 0, 5, 1, 9, 5, 6, 7, 9, 1, 2, 7, 1, 3, 9, 6] [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 8, 9, 9, 9, 9, 9, 9]
40 38 [4, 1, 1, 8, 1, 7, 9, 1, 5, 5, 1, 9, 0, 8, 7, 7, 9, 0, 7, 0, 4, 9, 8, 5, 9, 6, 6, 2, 6, 5, 1, 1] [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9]
41 39 [6, 1, 6, 5, 7, 1, 6, 3, 8, 7, 6, 1, 3, 8, 6, 9, 3, 1, 1, 9, 4, 8, 3, 1, 9, 4, 5, 9, 5, 4, 1, 8] [1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9]
42 40 [2, 1, 6, 3, 9, 3, 8, 3, 2, 3, 9, 9, 5, 4, 3, 2, 1, 9, 3, 4, 3, 3, 5, 4, 4, 4, 9, 7, 8, 3, 0, 8] [0, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, 8, 9, 9, 9, 9, 9]
43 41 [6, 5, 6, 4, 3, 7, 3, 0, 6, 9, 1, 0, 1, 7, 0, 1, 8, 6, 5, 9, 5, 9, 4, 2, 5, 3, 8, 8, 8, 0, 9, 7] [0, 0, 0, 0, 1, 1, 1, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9]
44 42 [9, 2, 6, 8, 4, 0, 5, 0, 8, 6, 1, 6, 6, 6, 7, 6, 5, 2, 3, 4, 3, 9, 2, 9, 3, 2, 0, 0, 1, 4, 6, 6] [0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 8, 8, 9, 9, 9]
45 43 [7, 7, 7, 8, 7, 9, 4, 3, 5, 5, 1, 7, 7, 4, 0, 5, 6, 2, 7, 3, 2, 2, 3, 2, 0, 8, 6, 7, 8, 4, 6, 4] [0, 0, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 9]
46 44 [0, 1, 6, 5, 4, 6, 9, 3, 7, 0, 0, 1, 1, 6, 7, 1, 9, 9, 4, 5, 9, 1, 2, 2, 7, 5, 6, 1, 9, 1, 2, 4] [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 9, 9, 9, 9, 9]
47 45 [1, 8, 6, 5, 0, 6, 2, 4, 2, 2, 0, 8, 7, 6, 1, 3, 1, 9, 7, 5, 9, 8, 1, 8, 2, 7, 7, 3, 7, 7, 8, 7] [0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9]
48 46 [4, 7, 0, 6, 4, 5, 0, 3, 0, 3, 4, 6, 5, 2, 6, 5, 5, 9, 7, 1, 0, 8, 0, 4, 9, 1, 3, 5, 1, 7, 2, 0] [0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 9, 9]
49 47 [9, 6, 0, 1, 8, 4, 9, 6, 3, 6, 0, 7, 0, 8, 9, 3, 6, 6, 9, 3, 2, 2, 2, 9, 4, 9, 3, 8, 1, 9, 6, 1] [0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 6, 6, 6, 6, 6, 6, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
50 48 [7, 3, 4, 8, 4, 2, 8, 3, 1, 0, 7, 3, 1, 9, 1, 8, 0, 1, 9, 8, 3, 2, 4, 1, 7, 3, 1, 3, 2, 0, 4, 0] [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 7, 7, 7, 8, 8, 8, 8, 9, 9]
51 49 [2, 3, 7, 6, 5, 7, 5, 2, 8, 6, 8, 3, 7, 2, 3, 8, 6, 5, 4, 5, 3, 6, 8, 3, 0, 9, 2, 1, 7, 5, 5, 8] [0, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9]
52 50 [4, 0, 9, 1, 1, 6, 5, 0, 6, 4, 8, 1, 6, 9, 6, 1, 8, 1, 3, 1, 1, 5, 8, 3, 2, 2, 9, 8, 4, 6, 6, 9] [0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 9, 9, 9, 9]
53 51 [1, 9, 8, 5, 8, 5, 2, 4, 1, 4, 8, 0, 7, 9, 0, 5, 0, 5, 6, 4, 6, 2, 2, 3, 4, 2, 8, 8, 6, 7, 8, 9] [0, 0, 0, 1, 1, 2, 2, 2, 2, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9]
54 52 [3, 5, 2, 8, 8, 5, 4, 6, 0, 7, 2, 0, 2, 5, 2, 6, 0, 1, 8, 0, 9, 2, 8, 2, 8, 7, 3, 5, 6, 8, 0, 8] [0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 3, 3, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9]
55 53 [2, 4, 1, 8, 9, 8, 2, 4, 0, 7, 9, 6, 1, 8, 1, 5, 6, 5, 8, 8, 7, 0, 4, 7, 2, 1, 9, 4, 4, 5, 5, 6] [0, 0, 1, 1, 1, 1, 2, 2, 2, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9]
56 54 [4, 9, 4, 3, 2, 0, 9, 3, 9, 7, 7, 5, 9, 4, 3, 1, 6, 2, 5, 1, 9, 7, 2, 1, 9, 4, 6, 0, 7, 4, 9, 4] [0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 9, 9, 9, 9, 9, 9, 9]
57 55 [2, 3, 6, 7, 2, 2, 1, 6, 4, 0, 0, 9, 1, 6, 9, 1, 1, 2, 5, 1, 8, 1, 7, 1, 2, 1, 6, 0, 1, 6, 4, 1] [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 4, 4, 5, 6, 6, 6, 6, 6, 7, 7, 8, 9, 9]
58 56 [4, 7, 7, 5, 3, 5, 9, 9, 3, 1, 4, 7, 8, 3, 4, 7, 7, 3, 3, 7, 0, 0, 2, 9, 6, 5, 3, 7, 3, 0, 1, 1] [0, 0, 0, 1, 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 7, 7, 7, 7, 7, 7, 7, 8, 9, 9, 9]
59 57 [0, 9, 8, 9, 1, 3, 8, 0, 5, 7, 8, 5, 3, 4, 2, 5, 7, 8, 9, 6, 5, 1, 4, 5, 1, 3, 1, 8, 9, 2, 6, 9] [0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
60 58 [6, 1, 5, 1, 3, 5, 4, 0, 1, 0, 6, 8, 9, 8, 1, 7, 6, 8, 7, 4, 6, 2, 9, 0, 8, 0, 7, 2, 6, 6, 7, 7] [0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9]
61 59 [2, 4, 0, 5, 4, 0, 6, 6, 1, 7, 8, 1, 7, 3, 4, 0, 9, 2, 8, 8, 8, 1, 1, 1, 7, 3, 1, 6, 0, 9, 1, 3] [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9]
62 60 [3, 8, 0, 9, 5, 6, 6, 8, 5, 2, 9, 4, 8, 2, 3, 5, 7, 6, 1, 7, 1, 4, 3, 9, 4, 5, 9, 5, 1, 9, 9, 9] [0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
63 61 [8, 8, 0, 2, 4, 3, 1, 9, 2, 9, 1, 1, 3, 7, 9, 9, 9, 1, 5, 2, 1, 3, 1, 5, 7, 7, 8, 2, 8, 8, 8, 2] [0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 5, 5, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
64 62 [5, 0, 7, 6, 2, 6, 6, 7, 0, 5, 6, 3, 9, 5, 4, 9, 0, 0, 4, 9, 0, 3, 1, 4, 7, 5, 9, 8, 6, 0, 7, 3] [0, 0, 0, 0, 0, 0, 1, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 9, 9, 9, 9]
65 63 [0, 0, 4, 5, 1, 1, 1, 0, 2, 2, 5, 2, 5, 0, 0, 2, 1, 4, 6, 2, 0, 8, 8, 0, 5, 4, 3, 6, 8, 1, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 8, 8, 8]
66 64 [3, 7, 4, 1, 6, 1, 9, 8, 1, 9, 7, 8, 8, 4, 6, 4, 3, 0, 2, 0, 0, 7, 0, 8, 1, 5, 3, 5, 2, 2, 0, 6] [0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9]
67 65 [3, 3, 7, 3, 2, 5, 7, 1, 4, 7, 0, 7, 1, 2, 5, 9, 6, 9, 5, 5, 0, 3, 2, 4, 1, 2, 0, 5, 5, 0, 1, 8] [0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5, 5, 6, 7, 7, 7, 7, 8, 9, 9]
68 66 [9, 1, 9, 1, 3, 4, 4, 5, 0, 1, 9, 8, 0, 7, 1, 8, 7, 7, 6, 0, 0, 6, 1, 4, 4, 5, 8, 5, 4, 4, 4, 8] [0, 0, 0, 0, 1, 1, 1, 1, 1, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9]
69 67 [0, 7, 5, 5, 0, 3, 0, 7, 3, 9, 8, 3, 1, 2, 1, 5, 3, 6, 8, 7, 2, 9, 9, 6, 9, 2, 0, 1, 7, 9, 2, 0] [0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 5, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9]
70 68 [1, 1, 6, 1, 1, 6, 0, 5, 0, 0, 8, 2, 5, 9, 6, 7, 1, 3, 9, 0, 9, 7, 0, 0, 3, 2, 2, 4, 0, 3, 6, 5] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 8, 9, 9, 9]
71 69 [3, 4, 2, 5, 5, 8, 4, 8, 5, 5, 8, 3, 4, 9, 9, 8, 4, 9, 9, 9, 9, 3, 9, 0, 5, 8, 3, 7, 8, 6, 1, 1] [0, 1, 1, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
72 70 [6, 4, 5, 0, 8, 3, 9, 7, 0, 2, 0, 2, 8, 5, 8, 2, 6, 2, 1, 9, 4, 5, 3, 3, 4, 0, 5, 7, 7, 2, 4, 0] [0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9]
73 71 [0, 4, 8, 5, 2, 4, 6, 7, 2, 6, 2, 8, 3, 6, 6, 2, 0, 9, 7, 7, 5, 1, 0, 8, 6, 0, 7, 7, 0, 3, 2, 6] [0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 9]
74 72 [5, 1, 7, 2, 4, 5, 0, 2, 7, 2, 2, 9, 7, 0, 5, 8, 5, 2, 2, 1, 2, 6, 9, 7, 8, 8, 4, 5, 1, 8, 2, 8] [0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 5, 5, 5, 5, 5, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9]
75 73 [8, 9, 8, 8, 3, 5, 5, 3, 6, 1, 3, 2, 6, 3, 1, 3, 3, 5, 1, 7, 6, 0, 9, 6, 8, 1, 1, 0, 9, 5, 5, 6] [0, 0, 1, 1, 1, 1, 1, 2, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 8, 8, 8, 8, 9, 9, 9]
76 74 [4, 3, 3, 0, 4, 7, 9, 4, 3, 5, 3, 5, 4, 2, 0, 2, 1, 5, 8, 8, 4, 4, 3, 4, 3, 0, 1, 6, 7, 3, 2, 8] [0, 0, 0, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9]
77 75 [7, 1, 9, 4, 7, 4, 0, 5, 0, 7, 2, 0, 8, 5, 8, 4, 2, 2, 5, 9, 2, 3, 8, 2, 7, 4, 6, 6, 8, 6, 3, 3] [0, 0, 0, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9]
78 76 [7, 3, 1, 7, 2, 0, 4, 5, 6, 5, 8, 3, 2, 8, 8, 2, 2, 5, 3, 9, 1, 3, 4, 9, 2, 7, 7, 3, 6, 8, 3, 7] [0, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9]
79 77 [9, 4, 1, 3, 1, 3, 4, 8, 8, 8, 7, 2, 7, 9, 5, 0, 2, 6, 4, 8, 1, 3, 5, 4, 1, 8, 7, 4, 7, 7, 0, 8] [0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9]
80 78 [3, 5, 5, 9, 6, 6, 6, 2, 9, 0, 3, 0, 2, 1, 2, 6, 5, 8, 4, 8, 5, 9, 9, 5, 7, 0, 6, 8, 9, 3, 3, 5] [0, 0, 0, 1, 2, 2, 2, 3, 3, 3, 3, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 8, 8, 8, 9, 9, 9, 9, 9]
81 79 [9, 5, 9, 0, 4, 5, 6, 3, 0, 1, 4, 3, 1, 5, 9, 9, 3, 2, 9, 5, 5, 2, 9, 9, 9, 7, 8, 9, 8, 0, 2, 8] [0, 0, 0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5, 6, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
82 80 [9, 3, 1, 0, 5, 7, 6, 1, 8, 9, 5, 9, 1, 9, 9, 9, 9, 2, 2, 4, 3, 0, 6, 1, 9, 2, 1, 3, 5, 2, 5, 1] [0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 5, 5, 5, 5, 6, 6, 7, 8, 9, 9, 9, 9, 9, 9, 9, 9]
83 81 [8, 1, 1, 3, 0, 2, 8, 0, 9, 5, 3, 7, 7, 6, 8, 5, 2, 9, 3, 2, 6, 4, 2, 1, 7, 9, 4, 0, 1, 9, 3, 0] [0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9]
84 82 [0, 1, 4, 1, 5, 7, 4, 9, 3, 7, 5, 3, 6, 5, 1, 4, 1, 2, 2, 0, 0, 7, 5, 3, 5, 4, 6, 2, 1, 4, 1, 3] [0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 7, 7, 7, 9]
85 83 [2, 2, 4, 0, 5, 7, 4, 5, 9, 5, 7, 5, 1, 5, 9, 5, 4, 1, 7, 9, 2, 4, 4, 1, 4, 3, 7, 9, 0, 6, 1, 1] [0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 7, 7, 7, 7, 9, 9, 9, 9]
86 84 [2, 5, 4, 9, 4, 5, 3, 8, 1, 5, 0, 4, 5, 5, 7, 4, 6, 6, 7, 7, 1, 9, 6, 5, 8, 6, 3, 6, 8, 9, 0, 7] [0, 0, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9]
87 85 [0, 4, 3, 0, 6, 1, 1, 9, 2, 1, 3, 6, 5, 1, 2, 3, 0, 1, 6, 7, 8, 4, 1, 0, 2, 1, 2, 3, 4, 5, 6, 1] [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 6, 6, 6, 6, 7, 8, 9]
88 86 [4, 6, 0, 6, 5, 1, 7, 7, 0, 8, 0, 4, 6, 0, 8, 5, 0, 1, 8, 8, 0, 1, 0, 9, 4, 5, 5, 3, 0, 1, 9, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9]
89 87 [6, 0, 1, 6, 6, 0, 7, 9, 2, 5, 8, 4, 5, 8, 1, 4, 8, 0, 6, 4, 0, 7, 1, 2, 3, 9, 4, 8, 7, 3, 8, 2] [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9]
90 88 [5, 1, 5, 3, 7, 6, 5, 0, 8, 6, 6, 4, 6, 7, 2, 0, 1, 9, 5, 2, 4, 1, 3, 0, 4, 6, 7, 8, 0, 7, 2, 8] [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9]
91 89 [5, 2, 2, 3, 8, 5, 0, 0, 6, 7, 3, 3, 7, 7, 6, 6, 8, 2, 0, 1, 6, 3, 3, 9, 9, 9, 1, 9, 5, 6, 4, 2] [0, 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 9]
92 90 [3, 0, 3, 3, 0, 9, 8, 7, 3, 9, 7, 0, 4, 0, 9, 4, 3, 7, 5, 1, 9, 5, 6, 6, 6, 3, 6, 3, 2, 8, 6, 8] [0, 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9]
93 91 [2, 4, 6, 0, 9, 4, 3, 5, 7, 4, 8, 8, 8, 1, 8, 5, 8, 0, 2, 6, 2, 9, 4, 0, 0, 8, 5, 0, 5, 1, 2, 8] [0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9]
94 92 [6, 5, 3, 4, 8, 2, 5, 9, 1, 3, 9, 6, 7, 4, 4, 7, 9, 7, 2, 2, 2, 8, 5, 8, 6, 3, 8, 5, 0, 8, 9, 1] [0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9]
95 93 [3, 8, 3, 9, 8, 4, 0, 7, 3, 9, 9, 2, 6, 0, 3, 5, 1, 3, 9, 3, 2, 0, 8, 8, 7, 3, 6, 1, 5, 4, 7, 7] [0, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9]
96 94 [2, 7, 8, 3, 3, 8, 7, 9, 2, 8, 0, 6, 9, 5, 8, 4, 2, 8, 3, 6, 3, 4, 1, 4, 8, 5, 5, 6, 0, 0, 7, 6] [0, 0, 0, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9]
97 95 [8, 1, 9, 6, 1, 7, 1, 2, 6, 9, 0, 6, 0, 6, 8, 2, 3, 5, 8, 7, 9, 0, 9, 1, 7, 5, 4, 3, 7, 1, 8, 8] [0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9]
98 96 [3, 7, 6, 2, 0, 4, 8, 7, 1, 1, 1, 1, 8, 2, 4, 1, 4, 7, 4, 0, 8, 4, 9, 5, 0, 0, 6, 8, 3, 2, 1, 2] [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 4, 4, 4, 4, 5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9]
99 97 [3, 1, 2, 8, 6, 7, 0, 2, 3, 1, 6, 7, 9, 3, 1, 9, 7, 4, 5, 5, 0, 7, 8, 3, 3, 1, 4, 4, 2, 1, 1, 5] [0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9]
100 98 [5, 7, 1, 7, 2, 4, 1, 8, 4, 6, 9, 2, 0, 2, 3, 9, 3, 9, 7, 8, 3, 1, 1, 3, 9, 8, 5, 0, 2, 7, 0, 2] [0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9]
101 99 [9, 4, 4, 7, 2, 3, 9, 8, 8, 3, 9, 8, 7, 1, 7, 9, 5, 1, 6, 1, 6, 2, 0, 4, 7, 6, 4, 6, 3, 2, 6, 2] [0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9]
+726
View File
@@ -0,0 +1,726 @@
# Copyright (c) 2023 ETH Zurich.
# All rights reserved.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# main author: Nils Blach
import os
import logging
import datetime
import json
import csv
from typing import Dict, List, Callable, Union
from graph_of_thoughts import controller, operations, prompter, parser
from . import utils
class SortingPrompter(prompter.Prompter):
"""
SortingPrompter provides the generation of prompts specific to the sorting
example for the language models.
Inherits from the Prompter class and implements its abstract methods.
"""
sort_prompt = """<Instruction> Sort the following list of numbers in ascending order. Output only the sorted list of numbers, no additional text. </Instruction>
<Examples>
Input: [5, 1, 0, 1, 2, 0, 4, 8, 1, 9, 5, 1, 3, 3, 9, 7]
Output: [0, 0, 1, 1, 1, 1, 2, 3, 3, 4, 5, 5, 7, 8, 9, 9]
Input: [3, 7, 0, 2, 8, 1, 2, 2, 2, 4, 7, 8, 5, 5, 3, 9, 4, 3, 5, 6, 6, 4, 4, 5, 2, 0, 9, 3, 3, 9, 2, 1]
Output: [0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9]
Input: [4, 4, 9, 7, 9, 7, 0, 0, 4, 9, 1, 7, 9, 5, 8, 7, 5, 6, 3, 8, 6, 7, 5, 8, 5, 0, 6, 3, 7, 0, 5, 3, 7, 5, 2, 4, 4, 9, 0, 7, 8, 2, 7, 7, 7, 2, 1, 3, 9, 9, 7, 9, 6, 6, 4, 5, 4, 2, 0, 8, 9, 0, 2, 2]
Output: [0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
</Examples>
Input: {input}"""
sort_prompt_cot = """<Instruction> Sort the following list of numbers in ascending order. You can generate any intermediate lists, but the final output should be the sorted list of numbers, prefixed with "Output: ". </Instruction>
<Approach>
To sort the list of numbers follow these steps:
1. Split the list of numbers into two to four unsorted sublists, each containing an equal number of elements from the original list (make sure they don't overlap).
2. Sort each of the unsorted sublists.
3. Merge the sorted sublists into a single sorted list using the merging algorithm from merge sort.
</Approach>
<Examples>
Input: [4, 5, 3, 3, 7, 3, 0, 5, 0, 2, 8, 0, 2, 1, 6, 9]
Unsorted Subarrays:
[4, 5, 3, 3, 7, 3, 0, 5]
[0, 2, 8, 0, 2, 1, 6, 9]
Sorted Subarrays:
[0, 3, 3, 3, 4, 5, 5, 7]
[0, 0, 1, 2, 2, 6, 8, 9]
Output: [0, 0, 0, 1, 2, 2, 3, 3, 3, 4, 5, 5, 6, 7, 8, 9]
Input: [6, 4, 5, 7, 5, 6, 9, 7, 6, 9, 4, 6, 9, 8, 1, 9, 2, 4, 9, 0, 7, 6, 5, 6, 6, 2, 8, 3, 9, 5, 6, 1]
Unsorted Subarrays:
[6, 4, 5, 7, 5, 6, 9, 7, 6, 9, 4, 6, 9, 8, 1, 9]
[2, 4, 9, 0, 7, 6, 5, 6, 6, 2, 8, 3, 9, 5, 6, 1]
Sorted Subarrays:
[1, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 8, 9, 9, 9, 9]
[0, 1, 2, 2, 3, 4, 5, 5, 6, 6, 6, 6, 7, 8, 9, 9]
Output: [0, 1, 1, 2, 2, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9]
Input: [3, 7, 0, 2, 8, 1, 2, 2, 2, 4, 7, 8, 5, 5, 3, 9, 4, 3, 5, 6, 6, 4, 4, 5, 2, 0, 9, 3, 3, 9, 2, 1, 9, 3, 1, 8, 1, 8, 6, 0, 1, 6, 1, 7, 4, 4, 6, 3, 3, 7, 9, 3, 6, 0, 3, 4, 5, 6, 6, 9, 9, 9, 7, 3]
Unsorted Subarrays:
[3, 7, 0, 2, 8, 1, 2, 2, 2, 4, 7, 8, 5, 5, 3, 9]
[4, 3, 5, 6, 6, 4, 4, 5, 2, 0, 9, 3, 3, 9, 2, 1]
[9, 3, 1, 8, 1, 8, 6, 0, 1, 6, 1, 7, 4, 4, 6, 3]
[3, 7, 9, 3, 6, 0, 3, 4, 5, 6, 6, 9, 9, 9, 7, 3]
Sorted Subarrays:
[0, 1, 2, 2, 2, 2, 3, 3, 4, 5, 5, 7, 7, 8, 8, 9]
[0, 1, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 6, 9, 9]
[0, 1, 1, 1, 1, 3, 3, 4, 4, 6, 6, 6, 7, 8, 8, 9]
[0, 3, 3, 3, 3, 4, 5, 6, 6, 6, 7, 7, 9, 9, 9, 9]
Output: [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
</Examples>
Input: {input}"""
tot_improve_prompt = """<Instruction> The following two lists represent an unsorted list of numbers and a sorted variant of that list. The sorted variant is not correct. Fix the sorted variant so that it is correct.
Make sure that the output list is sorted in ascending order, has the same number of elements as the input list ({length}), and contains the same elements as the input list. </Instruction>
<Approach>
To fix the incorrectly sorted list follow these steps:
1. For each number from 0 to 9, compare the frequency of that number in the incorrectly sorted list to the frequency of that number in the input list.
2. Iterate through the incorrectly sorted list and add or remove numbers as needed to make the frequency of each number in the incorrectly sorted list match the frequency of that number in the input list.
</Approach>
<Examples>
Input: [3, 7, 0, 2, 8, 1, 2, 2, 2, 4, 7, 8, 5, 5, 3, 9]
Incorrectly Sorted: [0, 0, 0, 0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 7, 7, 8, 8, 9, 9, 9, 9]
Reason: The incorrectly sorted list contains four extra 0s, two extra 4s and three extra 9s and is missing two 2s.
Output: [0, 1, 2, 2, 2, 2, 3, 3, 4, 5, 5, 7, 7, 8, 8, 9]
Input: [6, 4, 5, 7, 5, 6, 9, 7, 6, 9, 4, 6, 9, 8, 1, 9, 2, 4, 9, 0, 7, 6, 5, 6, 6, 2, 8, 3, 9, 5, 6, 1]
Incorrectly Sorted: [0, 1, 1, 2, 2, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9]
Reason: The incorrectly sorted list contains two extra 4s and is missing two 6s and one 9.
Output: [0, 1, 1, 2, 2, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9]
Input: [4, 4, 9, 7, 9, 7, 0, 0, 4, 9, 1, 7, 9, 5, 8, 7, 5, 6, 3, 8, 6, 7, 5, 8, 5, 0, 6, 3, 7, 0, 5, 3, 7, 5, 2, 4, 4, 9, 0, 7, 8, 2, 7, 7, 7, 2, 1, 3, 9, 9, 7, 9, 6, 6, 4, 5, 4, 2, 0, 8, 9, 0, 2, 2]
Incorrectly Sorted: [0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
Reason: The incorrectly sorted list contains one extra 8 and is missing two 2s, one 3, three 4s, two 5s, one 6, six 7s and one 9.
Output: [0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
</Examples>
Input: {input}
Incorrectly Sorted: {incorrectly_sorted}
"""
got_split_prompt = """<Instruction> Split the following list of 32 numbers into 2 lists of 16 numbers each, the first list should contain the first 16 numbers and the second list the second 16 numbers.
Only output the final 4 lists in the following format without any additional text or thoughts!:
{{
"List 1": [3, 4, 3, 5, 7, 8, 1, ...],
"List 2": [2, 9, 2, 4, 7, 1, 5, ...]
}} </Instruction>
<Example>
Input: [9, 6, 7, 7, 2, 0, 2, 2, 3, 5, 0, 9, 2, 2, 4, 4, 5, 2, 5, 1, 2, 8, 3, 8, 3, 9, 6, 0, 4, 2, 2, 3]
Output:
{{
"List 1": [9, 6, 7, 7, 2, 0, 2, 2, 3, 5, 0, 9, 2, 2, 4, 4],
"List 2": [5, 2, 5, 1, 2, 8, 3, 8, 3, 9, 6, 0, 4, 2, 2, 3]
}}
</Example>
Input: {input}"""
got_merge_prompt = """<Instruction> Merge the following 2 sorted lists of length {length1} each, into one sorted list of length {length2} using a merge sort style approach.
Only output the final merged list without any additional text or thoughts!:</Instruction>
<Approach>
To merge the two lists in a merge-sort style approach, foloow these steps:
1. Compare the first element of both lists.
2. Append the smaller element to the merged list and move to the next element in the list from which the smaller element came.
3. Repeat steps 1 and 2 until one of the lists is empty.
4. Append the remaining elements of the non-empty list to the merged list.
</Approach>
Merge the following two lists into one sorted list:
1: {input1}
2: {input2}
Merged list:
"""
def aggregation_prompt(self, state_dicts: List[Dict], **kwargs) -> str:
"""
Generate an aggregation prompt for the language model.
:param state_dicts: The thought states that should be aggregated.
:type state_dicts: List[Dict]
:param kwargs: Additional keyword arguments.
:return: The aggregation prompt.
:rtype: str
:raise AssertionError: If not exactly two thought states are provided.
"""
assert len(state_dicts) == 2, "Expected two states for aggregation prompt."
len_input1 = len(utils.string_to_list(state_dicts[0]["current"]))
len_input2 = len(utils.string_to_list(state_dicts[1]["current"]))
if len_input1 == len_input2:
length = len_input1
elif len_input1 + len_input2 - 32 <= 16:
length = 16
else:
length = 32
return self.got_merge_prompt.format(
input1=state_dicts[0]["current"],
input2=state_dicts[1]["current"],
length1=length,
length2=length * 2,
)
def generate_prompt(
self, num_branches: int, original: str, current: str, method: str, **kwargs
) -> str:
"""
Generate a generate prompt for the language model.
:param num_branches: The number of responses the prompt should ask the LM to generate.
:type num_branches: int
:param original: Input list of numbers.
:type original: str
:param current: Intermediate solution.
:type current: str
:param method: Method for which the generate prompt is generated.
:type method: str
:param kwargs: Additional keyword arguments.
:return: The generate prompt.
:rtype: str
:raise AssertionError: If the requested number of branches is not one.
"""
if current is None or current == "":
input = original
else:
input = current
if method.startswith("io"):
return self.sort_prompt.format(input=input)
elif method.startswith("cot"):
return self.sort_prompt_cot.format(input=input)
elif method.startswith("tot"):
if current is None or current == "":
return self.sort_prompt.format(input=input)
return self.tot_improve_prompt.format(
input=original,
incorrectly_sorted=current,
length=len(utils.string_to_list(original)),
)
elif method.startswith("got"):
if current is None or current == "":
return self.got_split_prompt.format(input=input)
# if current is just a sublist of the original input, return the split prompt
if kwargs["phase"] == 1:
return self.sort_prompt.format(input=current)
if (
"unsorted_sublist" in kwargs
and kwargs["unsorted_sublist"] != ""
and len(kwargs["unsorted_sublist"]) < len(original) - 5
):
original = kwargs["unsorted_sublist"]
return self.tot_improve_prompt.format(
input=original,
incorrectly_sorted=current,
length=len(utils.string_to_list(original)),
)
def improve_prompt(self, **kwargs) -> str:
"""
Generate an improve prompt for the language model.
:param kwargs: Additional keyword arguments.
:return: The improve prompt.
:rtype: str
"""
pass
def validation_prompt(self, **kwargs) -> str:
"""
Generate a validation prompt for the language model.
:param kwargs: Additional keyword arguments.
:return: The validation prompt.
:rtype: str
"""
pass
def score_prompt(self, state_dicts: List[Dict], **kwargs) -> str:
"""
Generate a score prompt for the language model.
:param state_dicts: The thought states that should be scored,
if more than one, they should be scored together.
:type state_dicts: List[Dict]
:param kwargs: Additional keyword arguments.
:return: The score prompt.
:rtype: str
"""
pass
class SortingParser(parser.Parser):
"""
SortingParser provides the parsing of language model reponses specific to
the sorting example.
Inherits from the Parser class and implements its abstract methods.
"""
def __init__(self) -> None:
"""
Inits the response cache.
"""
self.cache = {}
def parse_aggregation_answer(
self, states: List[Dict], texts: List[str]
) -> Union[Dict, List[Dict]]:
"""
Parse the response from the language model for an aggregation prompt.
:param states: The thought states used to generate the prompt.
:type states: List[Dict]
:param texts: The responses to the prompt from the language model.
:type texts: List[str]
:return: The new thought states after parsing the respones from the language model.
:rtype: Union[Dict, List[Dict]]
:raise AssertionError: If not exactly two thought states are provided.
"""
assert len(states) == 2, "Expected two states for aggregation answer."
new_states = []
for text in texts:
answers = text.strip().split("\n")
if any(["Output" in answer for answer in answers]):
# cut elements until last output is found
for answer in reversed(answers):
if "Output" in answer:
answers = answers[answers.index(answer) :]
break
answers_stripped = [
answer for answer in answers if "[" in answer and "]" in answer
]
if len(answers_stripped) == 0:
for answer in answers:
answer = "[" + answer + "]"
try:
answer_converted = utils.string_to_list(answer)
if len(answer_converted) > 0:
answers_stripped.append(answer)
except:
pass
if len(answers_stripped) == 0:
logging.warning(
f"Could not parse aggregation answer: {text}. Returning empty list."
)
answer = "[]"
else:
answer = [
answer[answer.index("[") : answer.index("]") + 1]
for answer in answers_stripped
][0]
states = sorted(states, key=lambda x: x["part"])
merged_unsorted_sublists = (
states[0]["unsorted_sublist"][:-1]
+ ", "
+ states[1]["unsorted_sublist"][1:]
)
new_state = states[0].copy()
new_state["current"] = answer
new_state["unsorted_sublist"] = merged_unsorted_sublists
new_states.append(new_state)
return new_states
def parse_generate_answer(self, state: Dict, texts: List[str]) -> List[Dict]:
"""
Parse the response from the language model for a generate prompt.
:param state: The thought state used to generate the prompt.
:type state: Dict
:param texts: The responses to the prompt from the language model.
:type texts: List[str]
:return: The new thought states after parsing the respones from the language model.
:rtype: List[Dict]
"""
new_states = []
for text in texts:
if state["method"] == "got" and state["current"] == "":
# We expect a json which contains the four lists named "List 1" to "List 4"
# cut everything until the opening bracket and everything after the closing bracket
try:
text = text[text.index("{") : text.index("}") + 1]
json_dict = json.loads(text)
if len(json_dict.keys()) != 2:
logging.warning(
f"Expected 2 lists in json, but found {len(json_dict.keys())}."
)
for key, value in json_dict.items():
if "List" not in key:
logging.warning(
f"Expected key to contain 'List', but found {key}."
)
continue
if not isinstance(value, list):
value = utils.string_to_list(value)
new_state = state.copy()
new_state["current"] = str(value)
new_state["unsorted_sublist"] = str(value)
new_state["phase"] = 1
new_state["part"] = key
new_states.append(new_state)
except Exception as e:
logging.error(
f"Could not parse step answer: {text}. Encountered exception: {e}"
)
else:
answers = text.strip().split("\n")
answers = [
answer for answer in answers if "[" in answer and "]" in answer
]
if any(["Output" in answer for answer in answers]):
# cut elements until last output is found
for answer in reversed(answers):
if "Output" in answer:
answers = answers[answers.index(answer) :]
break
answers = [
answer[answer.index("[") : answer.index("]") + 1]
for answer in answers
]
if len(answers) == 0:
logging.warning(
f"Could not parse step answer: {text}. Returning empty list."
)
answer = "[]"
else:
if len(answers) > 1:
logging.warning(
f"Multiple answers found for step answer: {text}. Using the first one."
)
answer = answers[0]
new_state = state.copy()
new_state["current"] = answer
new_state["phase"] = 2
new_states.append(new_state)
return new_states
def parse_improve_answer(self, state: Dict, texts: List[str]) -> Dict:
"""
Parse the response from the language model for an improve prompt.
:param state: The thought state used to generate the prompt.
:type state: Dict
:param texts: The responses to the prompt from the language model.
:type texts: List[str]
:return: The new thought state after parsing the responses from the language model.
:rtype: Dict
"""
pass
def parse_validation_answer(self, state: Dict, texts: List[str]) -> bool:
"""
Parse the response from the language model for a validation prompt.
:param state: The thought state used to generate the prompt.
:type state: Dict
:param texts: The responses to the prompt from the language model.
:type texts: List[str]
:return: Whether the thought state is valid or not.
:rtype: bool
"""
pass
def parse_score_answer(self, states: List[Dict], texts: List[str]) -> List[float]:
"""
Parse the response from the language model for a score prompt.
:param states: The thought states used to generate the prompt.
:type states: List[Dict]
:param texts: The responses to the prompt from the language model.
:type texts: List[str]
:return: The scores for the thought states.
:rtype: List[float]
"""
pass
def io() -> operations.GraphOfOperations:
"""
Generates the Graph of Operations for the IO method.
:return: Graph of Operations
:rtype: GraphOfOperations
"""
operations_graph = operations.GraphOfOperations()
operations_graph.append_operation(operations.Generate(1, 1))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
operations_graph.append_operation(operations.GroundTruth(utils.test_sorting))
return operations_graph
def cot() -> operations.GraphOfOperations:
"""
Generates the Graph of Operations for the CoT method.
:return: Graph of Operations
:rtype: GraphOfOperations
"""
operations_graph = operations.GraphOfOperations()
operations_graph.append_operation(operations.Generate(1, 1))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
operations_graph.append_operation(operations.GroundTruth(utils.test_sorting))
return operations_graph
def tot() -> operations.GraphOfOperations:
"""
Generates the Graph of Operations for the ToT method.
ToT uses a wider tree, where on each level there are more branches.
:return: Graph of Operations
:rtype: GraphOfOperations
"""
operations_graph = operations.GraphOfOperations()
operations_graph.append_operation(operations.Generate(1, 20))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
keep_best_1 = operations.KeepBestN(1, False)
operations_graph.append_operation(keep_best_1)
for _ in range(1):
operations_graph.append_operation(operations.Generate(1, 20))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
keep_best_2 = operations.KeepBestN(1, False)
keep_best_2.add_predecessor(keep_best_1)
operations_graph.append_operation(keep_best_2)
keep_best_1 = keep_best_2
operations_graph.append_operation(operations.KeepBestN(1, False))
operations_graph.append_operation(operations.GroundTruth(utils.test_sorting))
return operations_graph
def tot2() -> operations.GraphOfOperations:
"""
Generates the Graph of Operations for the ToT2 method.
ToT2 uses a tree with more levels, but with fewer branches per level.
:return: Graph of Operations
:rtype: GraphOfOperations
"""
operations_graph = operations.GraphOfOperations()
operations_graph.append_operation(operations.Generate(1, 10))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
keep_best_1 = operations.KeepBestN(1, False)
operations_graph.append_operation(keep_best_1)
for _ in range(2):
operations_graph.append_operation(operations.Generate(1, 10))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
keep_best_2 = operations.KeepBestN(1, False)
keep_best_2.add_predecessor(keep_best_1)
operations_graph.append_operation(keep_best_2)
keep_best_1 = keep_best_2
operations_graph.append_operation(operations.KeepBestN(1, False))
operations_graph.append_operation(operations.GroundTruth(utils.test_sorting))
return operations_graph
def got() -> operations.GraphOfOperations:
"""
Generates the Graph of Operations for the GoT method.
:return: Graph of Operations
:rtype: GraphOfOperations
"""
operations_graph = operations.GraphOfOperations()
plans = operations.Generate(2, 1)
operations_graph.append_operation(plans) # generate the sublists
for i in range(1, 3):
list_id = f"List {i}"
sub_list = operations.Selector(
lambda thoughts, list_id=list_id: [
thought for thought in thoughts if thought.state["part"] == list_id
]
)
sub_list.add_predecessor(plans)
operations_graph.add_operation(sub_list)
sort_sub_list = operations.Generate(1, 5)
sort_sub_list.add_predecessor(sub_list)
operations_graph.add_operation(sort_sub_list)
score_sub_list = operations.Score(1, False, utils.num_errors)
score_sub_list.add_predecessor(sort_sub_list)
operations_graph.add_operation(score_sub_list)
keep_best_sub_list = operations.KeepBestN(1, False)
keep_best_sub_list.add_predecessor(score_sub_list)
operations_graph.add_operation(keep_best_sub_list)
final_aggregate = operations.Aggregate(10)
operations_graph.append_operation(final_aggregate)
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
keep_best_aggregate_final = operations.KeepBestN(1, False)
operations_graph.append_operation(keep_best_aggregate_final)
operations_graph.append_operation(operations.Generate(1, 10))
score_aggr_3 = operations.Score(1, False, utils.num_errors)
score_aggr_3.add_predecessor(keep_best_aggregate_final)
operations_graph.append_operation(score_aggr_3)
operations_graph.append_operation(operations.KeepBestN(1, False))
operations_graph.append_operation(operations.GroundTruth(utils.test_sorting))
return operations_graph
def run(
data_ids: List[int],
methods: List[Callable[[], operations.GraphOfOperations]],
budget: float,
lm_name: str,
) -> float:
"""
Controller function that executes each specified method for each specified
sample while the budget is not exhausted.
:param data_ids: Indices of the sample to be run.
:type data_ids: List[int]
:param methods: List of functions to generate Graphs of Operations.
:type methods: Each function generates a Graph of Operation.
:param budget: Language model budget for the execution in dollars.
:type budget: float
:param lm_name: Name of the language model to be used.
:type lm_name: str
:return: Spent budget in dollars.
:rtype: float
"""
orig_budget = budget
path = os.path.join(os.path.dirname(__file__), "sorting_032.csv")
data = []
with open(path, "r") as f:
reader = csv.reader(f)
next(reader)
for row in reader:
data.append([int(row[0]), row[1], row[2]])
if data_ids is None or len(data_ids) == 0:
data_ids = list(range(len(data)))
selected_data = [data[i] for i in data_ids]
if not os.path.exists(os.path.join(os.path.dirname(__file__), "results")):
os.makedirs(os.path.join(os.path.dirname(__file__), "results"))
timestamp = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
extra_info = f"{lm_name}_{'-'.join([method.__name__ for method in methods])}"
folder_name = f"results/{extra_info}_{timestamp}"
os.makedirs(os.path.join(os.path.dirname(__file__), folder_name))
config = {
"data": selected_data,
"methods": [method.__name__ for method in methods],
"lm": lm_name,
"budget": budget,
}
with open(
os.path.join(os.path.dirname(__file__), folder_name, "config.json"), "w"
) as f:
json.dump(config, f)
logging.basicConfig(
filename=f"{folder_name}/log.log",
filemode="w",
format="%(name)s - %(levelname)s - %(message)s",
level=logging.DEBUG,
)
for method in methods:
os.makedirs(
os.path.join(os.path.dirname(__file__), folder_name, method.__name__)
)
for data in selected_data:
logging.info(f"Running data {data[0]}: {data[1]}")
if budget <= 0.0:
logging.error(
f"Budget has been depleted, stopping. Data {data[0]} has not been run."
)
break
for method in methods:
logging.info(f"Running method {method.__name__}")
logging.info(f"Budget left: {budget}")
if budget <= 0.0:
logging.error(
f"Budget has been depleted, stopping. Method {method.__name__} has not been run."
)
break
lm = controller.ChatGPT(
"../../graph_of_thoughts/controller/config.json",
model_name=lm_name,
cache=True,
)
operations_graph = method()
executor = controller.Controller(
lm,
operations_graph,
SortingPrompter(),
SortingParser(),
{
"original": data[1],
"current": "",
"phase": 0,
"method": method.__name__,
},
)
try:
executor.run()
except Exception as e:
logging.error(f"Exception: {e}")
path = os.path.join(
os.path.dirname(__file__),
folder_name,
method.__name__,
f"{data[0]}.json",
)
executor.output_graph(path)
budget -= lm.cost
return orig_budget - budget
if __name__ == "__main__":
"""
Input (x) : an unordered list of 32 numbers between 0 and 9 (inclusive)
Output (y) : a sorted list of 32 numbers between 0 and 9 (inclusive)
Correct : y == sorted(x)
Input Example:
[0, 1, 9, 4, 2, 2, 0, 5, 1...]
Output Example:
[0, 0, 0, 0, 1, 1, 1, 1, 2...]
"""
budget = 30
samples = [item for item in range(0, 100)]
approaches = [io, cot, tot, tot2, got]
spent = run(samples, approaches, budget, "chatgpt")
logging.info(f"Spent {spent} out of {budget} budget.")
+101
View File
@@ -0,0 +1,101 @@
ID,Unsorted,Sorted
0,"[6, 3, 6, 5, 1, 2, 4, 3, 8, 0, 7, 8, 6, 4, 9, 5, 2, 4, 8, 4, 4, 4, 5, 6, 8, 4, 7, 7, 8, 9, 4, 9, 5, 4, 8, 4, 0, 5, 6, 9, 1, 2, 3, 6, 2, 0, 8, 1, 0, 7, 1, 2, 0, 7, 6, 9, 9, 9, 5, 6, 8, 3, 9, 0]","[0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]"
1,"[9, 1, 5, 7, 8, 5, 2, 5, 6, 9, 0, 3, 6, 9, 9, 5, 6, 5, 8, 6, 0, 1, 1, 8, 5, 3, 7, 9, 0, 2, 7, 2, 8, 1, 2, 5, 9, 3, 5, 0, 0, 3, 7, 5, 1, 1, 1, 8, 1, 2, 0, 8, 0, 7, 8, 1, 8, 2, 1, 0, 4, 7, 5, 2]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]"
2,"[6, 7, 0, 6, 8, 3, 0, 6, 1, 7, 8, 5, 5, 6, 1, 9, 6, 7, 2, 7, 2, 3, 3, 2, 0, 8, 4, 7, 1, 7, 2, 1, 4, 8, 6, 6, 6, 8, 9, 6, 0, 2, 9, 4, 8, 3, 3, 7, 9, 7, 6, 0, 3, 5, 9, 9, 2, 3, 2, 2, 3, 5, 6, 8]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]"
3,"[3, 4, 6, 1, 4, 2, 2, 2, 3, 0, 4, 3, 9, 9, 3, 8, 7, 2, 0, 6, 9, 0, 7, 5, 0, 6, 4, 7, 3, 5, 0, 3, 4, 0, 7, 1, 5, 1, 1, 2, 3, 9, 5, 4, 1, 6, 2, 0, 5, 7, 7, 0, 1, 6, 0, 5, 5, 7, 1, 4, 5, 7, 0, 8]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9]"
4,"[3, 5, 5, 8, 7, 3, 0, 2, 0, 1, 6, 3, 5, 6, 8, 2, 3, 7, 5, 1, 3, 6, 5, 8, 6, 7, 6, 5, 9, 8, 3, 9, 8, 1, 6, 1, 3, 3, 6, 9, 3, 8, 2, 6, 4, 2, 4, 4, 4, 1, 6, 2, 0, 0, 8, 0, 6, 4, 7, 9, 0, 5, 1, 4]","[0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]"
5,"[9, 2, 1, 2, 4, 9, 5, 4, 3, 5, 3, 9, 9, 9, 5, 1, 2, 4, 8, 7, 5, 8, 6, 8, 1, 7, 6, 4, 7, 7, 1, 1, 4, 9, 3, 2, 4, 5, 2, 6, 0, 5, 6, 8, 0, 3, 1, 4, 3, 9, 0, 8, 7, 3, 1, 0, 9, 3, 0, 3, 8, 6, 1, 4]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]"
6,"[5, 1, 6, 6, 3, 2, 9, 3, 5, 3, 9, 5, 1, 1, 2, 0, 2, 4, 9, 8, 9, 6, 0, 9, 2, 9, 8, 9, 5, 1, 1, 5, 5, 9, 9, 5, 7, 8, 3, 2, 0, 5, 4, 1, 7, 3, 8, 9, 2, 2, 3, 1, 8, 8, 4, 7, 8, 8, 3, 1, 5, 9, 0, 9]","[0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
7,"[7, 0, 5, 9, 3, 1, 9, 1, 5, 8, 9, 4, 6, 5, 3, 4, 3, 3, 6, 9, 9, 0, 5, 2, 5, 8, 2, 4, 4, 6, 8, 1, 6, 5, 5, 4, 9, 0, 5, 6, 4, 7, 4, 5, 7, 5, 2, 2, 5, 9, 3, 5, 9, 4, 6, 8, 4, 1, 1, 1, 6, 0, 8, 5]","[0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]"
8,"[7, 4, 9, 1, 0, 7, 1, 4, 3, 8, 3, 0, 8, 4, 7, 7, 0, 7, 3, 9, 7, 9, 6, 4, 4, 1, 5, 0, 5, 5, 8, 9, 9, 6, 9, 9, 9, 5, 6, 6, 3, 4, 0, 7, 7, 5, 4, 0, 6, 7, 3, 3, 6, 9, 4, 2, 5, 8, 2, 5, 1, 5, 6, 8]","[0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
9,"[2, 4, 9, 1, 8, 0, 6, 4, 5, 5, 3, 4, 8, 2, 1, 2, 2, 7, 4, 8, 0, 0, 8, 3, 9, 3, 2, 5, 5, 1, 6, 3, 5, 0, 5, 5, 4, 2, 9, 7, 5, 1, 5, 6, 2, 0, 5, 4, 9, 1, 9, 4, 3, 3, 1, 2, 6, 9, 6, 0, 9, 0, 4, 6]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
10,"[3, 4, 8, 8, 7, 9, 2, 3, 7, 2, 7, 2, 9, 0, 6, 3, 3, 6, 1, 1, 2, 1, 3, 4, 4, 6, 7, 6, 7, 5, 5, 1, 1, 7, 3, 5, 1, 0, 0, 6, 5, 8, 2, 6, 9, 9, 1, 3, 4, 3, 9, 7, 2, 5, 8, 4, 7, 2, 0, 6, 0, 4, 3, 3]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
11,"[1, 5, 0, 4, 9, 1, 0, 1, 7, 9, 4, 8, 1, 0, 0, 8, 2, 2, 6, 0, 7, 7, 2, 5, 2, 7, 5, 0, 5, 9, 0, 5, 6, 3, 5, 2, 6, 1, 4, 2, 0, 3, 7, 3, 7, 8, 6, 4, 7, 4, 4, 0, 3, 1, 2, 0, 9, 2, 0, 8, 8, 0, 3, 8]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]"
12,"[2, 6, 5, 0, 0, 6, 7, 8, 5, 6, 1, 8, 1, 6, 1, 3, 8, 3, 4, 3, 5, 6, 6, 2, 6, 4, 5, 8, 2, 3, 4, 4, 2, 5, 8, 4, 9, 6, 3, 8, 4, 4, 9, 5, 6, 6, 6, 0, 8, 5, 5, 0, 8, 4, 4, 5, 6, 8, 8, 4, 8, 7, 7, 5]","[0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9]"
13,"[5, 8, 0, 2, 3, 1, 7, 3, 4, 8, 8, 8, 7, 0, 0, 9, 4, 1, 7, 3, 3, 2, 4, 8, 8, 3, 0, 5, 1, 8, 8, 2, 0, 6, 8, 4, 9, 3, 7, 9, 8, 4, 8, 4, 6, 4, 0, 2, 7, 5, 5, 6, 8, 9, 3, 6, 6, 6, 9, 6, 0, 8, 5, 8]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
14,"[7, 0, 2, 5, 2, 9, 7, 1, 4, 9, 1, 6, 5, 4, 3, 1, 7, 2, 3, 5, 6, 4, 4, 6, 4, 8, 8, 1, 2, 7, 2, 9, 0, 3, 4, 9, 7, 2, 1, 9, 0, 0, 7, 8, 8, 6, 9, 5, 9, 5, 7, 5, 0, 2, 6, 0, 2, 2, 2, 9, 9, 4, 0, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
15,"[0, 8, 0, 4, 5, 9, 8, 6, 2, 8, 9, 5, 0, 1, 4, 2, 8, 5, 0, 2, 8, 2, 0, 2, 7, 6, 7, 0, 5, 2, 2, 9, 9, 7, 1, 9, 3, 6, 7, 8, 0, 5, 1, 6, 9, 9, 2, 8, 2, 1, 0, 8, 2, 8, 4, 5, 7, 1, 0, 7, 1, 6, 5, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
16,"[3, 5, 0, 6, 4, 2, 0, 3, 9, 3, 3, 6, 7, 1, 4, 8, 6, 8, 1, 3, 6, 3, 5, 5, 6, 4, 6, 1, 9, 8, 0, 9, 8, 1, 9, 9, 0, 4, 5, 6, 2, 6, 4, 0, 9, 3, 1, 7, 8, 9, 8, 8, 2, 5, 0, 7, 1, 2, 7, 0, 4, 0, 3, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
17,"[0, 5, 7, 5, 1, 0, 5, 5, 6, 5, 4, 4, 9, 9, 3, 3, 4, 9, 4, 6, 7, 6, 8, 9, 8, 0, 4, 6, 6, 5, 3, 7, 2, 2, 5, 4, 9, 2, 5, 1, 7, 4, 7, 1, 9, 4, 2, 0, 1, 2, 7, 3, 7, 5, 9, 9, 9, 0, 6, 3, 4, 3, 3, 2]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
18,"[1, 4, 0, 5, 8, 1, 4, 0, 1, 1, 1, 5, 5, 5, 9, 0, 4, 5, 1, 8, 0, 4, 7, 0, 3, 5, 7, 7, 9, 6, 1, 3, 4, 6, 3, 5, 6, 6, 1, 1, 3, 5, 2, 0, 3, 4, 2, 0, 3, 1, 3, 9, 5, 2, 6, 4, 8, 9, 7, 0, 1, 6, 6, 8]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9]"
19,"[1, 4, 5, 6, 7, 7, 1, 5, 5, 5, 5, 3, 0, 8, 3, 8, 1, 5, 1, 1, 6, 5, 3, 9, 0, 1, 5, 6, 1, 2, 4, 6, 4, 3, 1, 6, 9, 4, 6, 8, 4, 7, 9, 0, 9, 1, 2, 3, 8, 0, 3, 3, 2, 0, 0, 8, 9, 7, 8, 2, 0, 2, 2, 5]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
20,"[5, 5, 1, 5, 4, 7, 8, 4, 1, 7, 2, 5, 9, 7, 2, 6, 3, 5, 2, 4, 2, 1, 3, 8, 9, 6, 3, 9, 5, 4, 8, 1, 6, 6, 7, 3, 5, 4, 9, 6, 3, 4, 6, 7, 4, 4, 0, 4, 5, 3, 7, 9, 7, 8, 6, 8, 3, 6, 8, 3, 5, 1, 3, 7]","[0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
21,"[8, 2, 7, 1, 2, 9, 0, 3, 5, 2, 2, 5, 3, 7, 6, 1, 2, 0, 6, 3, 2, 5, 5, 4, 2, 6, 7, 8, 4, 7, 1, 2, 8, 3, 2, 1, 6, 7, 5, 9, 9, 8, 8, 0, 4, 8, 6, 3, 6, 1, 9, 0, 2, 8, 6, 7, 3, 5, 7, 8, 7, 6, 5, 8]","[0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]"
22,"[3, 1, 6, 6, 1, 8, 0, 3, 1, 7, 8, 1, 9, 1, 3, 9, 3, 7, 9, 0, 4, 4, 6, 1, 0, 5, 8, 3, 0, 9, 2, 2, 0, 1, 0, 8, 6, 8, 6, 9, 1, 5, 2, 8, 9, 4, 3, 6, 4, 8, 3, 3, 9, 3, 9, 0, 9, 7, 2, 0, 0, 8, 9, 2]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
23,"[8, 2, 4, 6, 0, 6, 2, 2, 5, 0, 0, 3, 6, 7, 8, 4, 7, 6, 6, 6, 2, 9, 8, 4, 2, 3, 2, 2, 1, 3, 2, 5, 9, 7, 5, 2, 8, 3, 0, 5, 0, 4, 4, 8, 1, 6, 2, 4, 3, 7, 0, 1, 6, 2, 0, 7, 6, 4, 8, 4, 9, 9, 9, 3]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
24,"[5, 1, 2, 8, 8, 2, 9, 8, 7, 0, 3, 7, 2, 3, 3, 5, 4, 8, 4, 4, 1, 6, 5, 2, 3, 9, 5, 8, 8, 1, 9, 3, 6, 3, 1, 1, 6, 3, 7, 5, 5, 4, 0, 8, 4, 6, 4, 5, 3, 6, 9, 9, 9, 8, 1, 0, 1, 7, 7, 9, 9, 6, 0, 9]","[0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
25,"[8, 4, 5, 0, 8, 0, 2, 0, 2, 8, 0, 4, 1, 7, 9, 5, 5, 1, 5, 8, 2, 1, 1, 6, 9, 9, 4, 8, 7, 9, 1, 8, 6, 1, 2, 1, 5, 7, 3, 9, 9, 7, 0, 8, 8, 8, 3, 8, 7, 9, 7, 6, 9, 5, 2, 3, 1, 9, 5, 8, 7, 5, 9, 9]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
26,"[8, 3, 6, 9, 6, 7, 3, 9, 6, 2, 8, 4, 1, 8, 3, 4, 0, 2, 0, 6, 0, 1, 9, 4, 5, 9, 3, 2, 1, 9, 8, 5, 2, 9, 8, 8, 7, 6, 3, 0, 5, 3, 8, 5, 3, 3, 6, 6, 7, 1, 7, 6, 1, 4, 1, 7, 4, 7, 5, 9, 4, 5, 4, 0]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
27,"[5, 0, 7, 7, 9, 3, 3, 6, 7, 9, 7, 5, 9, 2, 9, 5, 3, 9, 5, 7, 0, 2, 7, 6, 9, 4, 0, 3, 0, 0, 7, 1, 2, 2, 1, 8, 7, 9, 3, 1, 3, 3, 0, 3, 2, 2, 1, 8, 9, 8, 9, 4, 7, 0, 6, 9, 5, 2, 9, 2, 4, 2, 0, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
28,"[6, 4, 7, 5, 8, 1, 7, 9, 6, 3, 5, 4, 4, 7, 9, 5, 6, 9, 7, 1, 0, 8, 0, 8, 5, 7, 3, 0, 4, 2, 8, 9, 0, 9, 2, 1, 7, 8, 1, 0, 3, 6, 5, 2, 2, 0, 8, 5, 5, 0, 9, 1, 4, 4, 7, 5, 2, 5, 1, 7, 5, 4, 5, 6]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]"
29,"[2, 1, 1, 7, 3, 3, 7, 3, 3, 7, 3, 1, 0, 6, 0, 3, 0, 2, 1, 8, 9, 5, 5, 1, 1, 5, 4, 8, 9, 3, 9, 3, 6, 7, 0, 1, 3, 8, 7, 8, 8, 2, 6, 7, 4, 7, 2, 9, 0, 7, 9, 4, 0, 1, 8, 9, 0, 3, 5, 3, 1, 9, 4, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
30,"[4, 2, 0, 8, 4, 7, 6, 6, 3, 9, 6, 0, 0, 7, 7, 5, 6, 3, 3, 7, 6, 9, 1, 4, 2, 7, 0, 6, 5, 9, 8, 6, 4, 6, 4, 9, 3, 2, 3, 0, 1, 5, 5, 4, 2, 7, 8, 2, 8, 1, 3, 6, 9, 6, 6, 5, 5, 4, 6, 6, 7, 8, 3, 7]","[0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
31,"[9, 4, 6, 8, 3, 9, 0, 3, 4, 6, 8, 9, 4, 9, 0, 6, 4, 8, 9, 2, 0, 4, 5, 3, 4, 3, 1, 3, 2, 4, 3, 7, 5, 4, 5, 6, 5, 4, 3, 0, 6, 1, 9, 7, 5, 7, 0, 1, 4, 1, 4, 2, 6, 9, 0, 3, 0, 8, 3, 5, 7, 6, 6, 3]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
32,"[9, 2, 3, 5, 3, 6, 0, 9, 2, 0, 7, 9, 7, 7, 5, 6, 5, 5, 5, 5, 3, 8, 0, 0, 1, 9, 8, 9, 5, 0, 0, 6, 5, 2, 0, 8, 7, 3, 3, 6, 7, 4, 2, 7, 1, 7, 6, 9, 4, 5, 8, 0, 8, 6, 5, 1, 3, 5, 2, 3, 4, 3, 6, 5]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]"
33,"[4, 8, 5, 4, 6, 2, 7, 7, 4, 1, 5, 5, 6, 0, 1, 1, 1, 3, 9, 3, 9, 6, 6, 5, 8, 2, 1, 3, 4, 2, 3, 8, 4, 5, 0, 6, 0, 4, 1, 5, 5, 2, 7, 0, 4, 8, 9, 5, 9, 4, 0, 5, 5, 8, 2, 7, 6, 2, 7, 1, 7, 9, 5, 3]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
34,"[2, 3, 7, 7, 9, 4, 0, 7, 7, 6, 5, 8, 7, 2, 2, 8, 6, 6, 5, 5, 4, 6, 5, 0, 8, 4, 1, 7, 4, 4, 3, 0, 8, 7, 3, 3, 5, 8, 1, 9, 1, 3, 3, 6, 7, 1, 4, 4, 6, 6, 1, 0, 5, 2, 0, 6, 4, 4, 8, 9, 5, 9, 4, 7]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]"
35,"[9, 7, 8, 8, 4, 3, 0, 9, 1, 4, 4, 8, 1, 8, 7, 9, 6, 4, 7, 9, 0, 4, 0, 7, 8, 9, 9, 7, 8, 0, 4, 5, 8, 8, 0, 3, 2, 0, 3, 9, 7, 4, 2, 4, 5, 1, 9, 3, 0, 5, 2, 5, 2, 5, 4, 4, 9, 6, 0, 4, 9, 4, 0, 9]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
36,"[6, 5, 5, 1, 2, 2, 4, 3, 3, 5, 7, 3, 5, 7, 3, 2, 9, 1, 8, 2, 6, 2, 7, 6, 6, 2, 6, 0, 2, 2, 2, 0, 2, 7, 4, 9, 1, 9, 4, 4, 2, 4, 4, 4, 7, 3, 1, 6, 4, 2, 0, 6, 7, 5, 7, 9, 2, 1, 6, 7, 9, 3, 2, 5]","[0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 9, 9, 9, 9, 9]"
37,"[9, 3, 0, 1, 9, 0, 2, 7, 0, 5, 1, 7, 6, 2, 4, 4, 1, 6, 6, 7, 4, 8, 9, 3, 7, 3, 4, 0, 2, 5, 4, 6, 7, 3, 4, 2, 7, 0, 9, 7, 0, 7, 6, 5, 1, 3, 3, 4, 8, 0, 0, 7, 7, 0, 2, 0, 4, 2, 1, 4, 5, 5, 8, 2]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9]"
38,"[0, 7, 3, 0, 9, 2, 1, 9, 0, 5, 7, 0, 3, 0, 6, 5, 7, 5, 3, 4, 5, 9, 6, 1, 6, 8, 2, 2, 9, 3, 1, 6, 6, 7, 2, 9, 8, 9, 9, 9, 9, 2, 4, 1, 4, 2, 6, 0, 3, 8, 0, 3, 5, 0, 5, 1, 8, 0, 1, 2, 5, 8, 1, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
39,"[1, 8, 8, 5, 4, 1, 1, 8, 7, 5, 6, 5, 7, 8, 3, 0, 1, 5, 7, 9, 3, 9, 6, 6, 2, 3, 3, 1, 5, 8, 9, 6, 4, 5, 7, 0, 2, 7, 2, 5, 3, 2, 3, 8, 1, 9, 0, 6, 7, 4, 6, 7, 4, 3, 6, 1, 7, 9, 6, 6, 0, 1, 4, 1]","[0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
40,"[0, 7, 3, 9, 5, 8, 0, 4, 4, 8, 1, 9, 9, 4, 4, 2, 9, 3, 0, 0, 1, 2, 2, 2, 3, 8, 4, 6, 1, 0, 9, 9, 8, 1, 4, 2, 5, 9, 6, 6, 3, 2, 7, 5, 5, 7, 1, 3, 0, 6, 6, 4, 1, 2, 4, 9, 4, 7, 7, 2, 5, 5, 5, 6]","[0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]"
41,"[4, 6, 1, 2, 3, 0, 4, 6, 7, 3, 6, 8, 1, 2, 1, 8, 1, 5, 9, 8, 1, 7, 0, 6, 2, 7, 6, 2, 4, 3, 1, 6, 1, 3, 8, 5, 9, 5, 8, 6, 0, 3, 9, 4, 4, 2, 3, 0, 4, 3, 5, 3, 5, 9, 7, 0, 6, 5, 7, 4, 0, 1, 9, 6]","[0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
42,"[3, 0, 2, 6, 0, 6, 6, 0, 7, 1, 5, 7, 6, 6, 6, 1, 3, 0, 9, 7, 6, 7, 8, 3, 0, 7, 5, 5, 6, 4, 4, 6, 0, 6, 7, 2, 8, 5, 4, 4, 5, 1, 1, 1, 6, 1, 0, 4, 1, 6, 4, 8, 7, 3, 6, 3, 1, 8, 7, 6, 0, 5, 2, 9]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9]"
43,"[0, 4, 5, 8, 2, 5, 0, 5, 9, 0, 0, 3, 3, 3, 9, 0, 0, 4, 6, 1, 9, 8, 5, 0, 3, 7, 7, 4, 5, 6, 6, 0, 0, 7, 0, 9, 9, 3, 3, 0, 6, 7, 0, 4, 0, 4, 6, 0, 7, 8, 8, 0, 5, 2, 9, 3, 5, 0, 5, 7, 2, 1, 9, 1]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
44,"[1, 9, 9, 2, 0, 7, 9, 6, 2, 6, 7, 0, 6, 0, 3, 0, 6, 1, 8, 7, 3, 1, 5, 8, 4, 5, 5, 0, 9, 1, 4, 8, 0, 7, 2, 4, 6, 1, 8, 8, 2, 3, 2, 4, 4, 6, 0, 9, 5, 5, 6, 6, 5, 2, 2, 7, 1, 8, 6, 2, 3, 0, 1, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
45,"[8, 5, 9, 6, 7, 7, 6, 8, 7, 6, 2, 0, 2, 1, 4, 4, 3, 9, 5, 4, 1, 6, 8, 9, 6, 6, 0, 1, 7, 5, 4, 0, 1, 3, 8, 9, 5, 1, 7, 6, 0, 8, 0, 1, 5, 4, 1, 6, 0, 7, 1, 6, 3, 2, 3, 0, 0, 2, 0, 5, 7, 7, 2, 1]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9]"
46,"[8, 7, 0, 8, 5, 3, 1, 3, 7, 0, 4, 8, 5, 1, 5, 7, 9, 9, 1, 1, 5, 0, 1, 6, 1, 3, 8, 8, 1, 5, 0, 1, 5, 7, 9, 9, 5, 4, 3, 7, 1, 3, 4, 6, 5, 6, 6, 8, 6, 4, 8, 3, 8, 6, 3, 5, 0, 6, 0, 0, 6, 7, 6, 1]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]"
47,"[8, 4, 7, 3, 0, 3, 3, 1, 7, 8, 6, 3, 4, 6, 5, 1, 3, 8, 6, 7, 7, 8, 2, 1, 7, 0, 9, 3, 1, 0, 8, 1, 0, 6, 4, 0, 1, 9, 4, 6, 8, 4, 0, 7, 7, 3, 3, 7, 2, 8, 3, 8, 3, 3, 1, 9, 9, 1, 2, 8, 5, 0, 5, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]"
48,"[5, 3, 2, 2, 5, 7, 3, 4, 8, 5, 8, 0, 1, 9, 6, 8, 9, 1, 2, 0, 0, 9, 0, 7, 7, 3, 8, 2, 4, 5, 0, 9, 9, 9, 8, 4, 5, 0, 9, 7, 1, 6, 6, 5, 1, 8, 5, 0, 5, 9, 0, 1, 0, 1, 4, 6, 0, 3, 6, 6, 6, 7, 6, 4]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]"
49,"[3, 1, 4, 7, 0, 5, 8, 5, 2, 9, 1, 4, 1, 0, 4, 1, 8, 6, 5, 1, 1, 6, 1, 0, 3, 0, 1, 3, 7, 8, 0, 9, 2, 3, 8, 3, 9, 0, 7, 3, 6, 2, 6, 1, 0, 5, 1, 9, 5, 3, 9, 6, 1, 2, 5, 0, 2, 1, 5, 9, 0, 4, 3, 3]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]"
50,"[8, 2, 2, 5, 3, 1, 8, 8, 6, 3, 9, 9, 9, 8, 9, 4, 9, 4, 5, 7, 9, 1, 7, 4, 1, 5, 9, 6, 2, 6, 7, 1, 3, 2, 7, 5, 4, 3, 5, 2, 1, 7, 5, 2, 3, 1, 1, 3, 2, 8, 1, 3, 8, 5, 1, 6, 4, 5, 0, 1, 5, 1, 1, 8]","[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
51,"[3, 1, 9, 1, 7, 9, 6, 7, 4, 6, 2, 9, 9, 7, 2, 2, 5, 0, 0, 0, 3, 6, 6, 5, 7, 0, 0, 8, 4, 1, 1, 3, 4, 8, 6, 0, 0, 2, 7, 8, 7, 1, 3, 4, 8, 5, 2, 7, 9, 9, 5, 6, 9, 5, 7, 3, 8, 2, 8, 4, 1, 6, 8, 1]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
52,"[8, 9, 0, 0, 6, 9, 9, 9, 5, 0, 9, 6, 1, 4, 6, 6, 0, 9, 9, 3, 1, 4, 1, 1, 8, 8, 6, 0, 0, 3, 1, 9, 9, 6, 4, 1, 4, 1, 8, 5, 9, 0, 2, 9, 8, 2, 9, 2, 2, 1, 0, 0, 1, 4, 2, 1, 6, 5, 7, 2, 6, 0, 6, 4]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
53,"[2, 7, 6, 3, 6, 2, 8, 2, 6, 6, 1, 0, 5, 7, 1, 2, 4, 2, 8, 1, 4, 2, 5, 8, 3, 1, 8, 7, 9, 6, 0, 2, 4, 5, 7, 7, 7, 1, 8, 9, 6, 0, 0, 5, 8, 1, 3, 5, 7, 0, 4, 1, 2, 0, 4, 0, 4, 4, 9, 2, 2, 6, 2, 9]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]"
54,"[8, 7, 8, 9, 6, 6, 8, 2, 5, 2, 2, 1, 9, 5, 6, 1, 2, 5, 3, 4, 7, 8, 2, 9, 3, 0, 6, 9, 5, 0, 4, 1, 0, 2, 5, 5, 9, 0, 9, 8, 4, 2, 5, 6, 1, 2, 8, 4, 3, 1, 3, 6, 7, 0, 7, 8, 3, 7, 6, 6, 3, 1, 7, 5]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]"
55,"[4, 5, 9, 0, 5, 2, 9, 0, 4, 1, 2, 7, 7, 1, 2, 7, 1, 6, 9, 9, 2, 7, 2, 1, 5, 7, 9, 8, 8, 0, 1, 9, 1, 4, 8, 7, 9, 7, 0, 6, 8, 8, 5, 7, 6, 0, 4, 6, 2, 5, 4, 4, 9, 0, 9, 9, 4, 6, 9, 0, 6, 5, 7, 4]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
56,"[0, 4, 3, 7, 2, 8, 2, 6, 1, 1, 6, 2, 0, 4, 4, 3, 0, 5, 0, 8, 1, 6, 4, 2, 0, 6, 4, 4, 3, 8, 7, 9, 1, 5, 8, 9, 3, 8, 3, 8, 6, 1, 5, 7, 1, 3, 6, 8, 2, 1, 2, 6, 4, 3, 7, 8, 3, 0, 9, 0, 1, 8, 5, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9]"
57,"[1, 5, 8, 0, 6, 2, 0, 3, 4, 1, 4, 1, 7, 9, 5, 6, 3, 2, 7, 5, 0, 2, 4, 8, 0, 3, 1, 8, 8, 1, 7, 1, 8, 0, 0, 1, 5, 1, 5, 6, 9, 2, 1, 4, 5, 4, 8, 7, 3, 3, 8, 6, 0, 3, 1, 4, 3, 3, 2, 3, 2, 9, 7, 1]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9]"
58,"[6, 5, 9, 8, 9, 9, 1, 5, 8, 3, 9, 4, 0, 7, 2, 6, 5, 4, 9, 2, 7, 0, 4, 8, 1, 8, 7, 0, 9, 5, 7, 2, 5, 4, 6, 9, 7, 8, 9, 4, 6, 6, 7, 6, 5, 6, 4, 8, 7, 8, 6, 4, 7, 4, 9, 4, 6, 4, 7, 4, 4, 7, 9, 4]","[0, 0, 0, 1, 1, 2, 2, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
59,"[3, 1, 0, 7, 6, 4, 0, 3, 0, 9, 7, 8, 9, 2, 6, 2, 3, 1, 1, 6, 9, 1, 1, 8, 0, 7, 7, 3, 5, 6, 6, 3, 3, 5, 1, 2, 3, 7, 3, 8, 1, 6, 7, 8, 8, 7, 7, 1, 3, 2, 4, 6, 4, 5, 3, 4, 0, 4, 1, 3, 1, 3, 6, 3]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9]"
60,"[6, 3, 3, 5, 2, 7, 1, 9, 5, 7, 3, 4, 0, 8, 1, 0, 7, 4, 0, 3, 5, 7, 2, 9, 7, 3, 8, 1, 6, 5, 8, 4, 2, 1, 5, 3, 0, 2, 2, 3, 9, 5, 6, 9, 0, 5, 1, 4, 3, 1, 8, 4, 5, 3, 8, 8, 9, 4, 6, 5, 7, 6, 1, 6]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
61,"[1, 8, 5, 3, 9, 7, 4, 0, 9, 2, 6, 6, 8, 1, 0, 5, 2, 2, 0, 5, 2, 9, 6, 6, 2, 9, 1, 8, 7, 7, 0, 2, 8, 2, 8, 1, 5, 5, 9, 0, 1, 5, 3, 8, 3, 0, 3, 9, 7, 4, 1, 4, 8, 7, 7, 0, 6, 8, 8, 3, 8, 4, 1, 9]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
62,"[6, 0, 1, 8, 9, 2, 9, 8, 5, 1, 2, 1, 9, 5, 7, 0, 2, 3, 4, 9, 9, 5, 5, 3, 0, 4, 9, 8, 3, 5, 5, 3, 6, 9, 6, 8, 9, 3, 0, 6, 4, 3, 0, 3, 4, 6, 7, 8, 5, 6, 2, 8, 7, 3, 6, 1, 4, 5, 5, 2, 2, 4, 6, 3]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]"
63,"[9, 2, 7, 0, 4, 3, 4, 7, 5, 7, 3, 4, 9, 0, 0, 4, 9, 7, 3, 5, 3, 8, 4, 3, 0, 1, 3, 8, 7, 8, 6, 0, 7, 9, 8, 8, 2, 4, 6, 4, 9, 1, 8, 5, 8, 3, 3, 6, 3, 1, 4, 3, 3, 5, 3, 1, 5, 9, 6, 8, 3, 5, 9, 1]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
64,"[4, 7, 1, 9, 9, 6, 9, 2, 5, 1, 1, 4, 9, 2, 1, 5, 2, 5, 8, 2, 6, 0, 4, 4, 2, 3, 3, 3, 6, 7, 7, 9, 1, 8, 8, 7, 8, 9, 7, 1, 5, 4, 8, 3, 6, 4, 7, 7, 0, 7, 1, 4, 1, 2, 2, 9, 9, 6, 6, 5, 9, 1, 0, 1]","[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
65,"[3, 3, 2, 9, 6, 1, 3, 3, 1, 1, 1, 6, 6, 0, 6, 3, 0, 0, 6, 6, 4, 7, 7, 1, 4, 2, 8, 4, 3, 2, 0, 6, 9, 4, 0, 5, 8, 6, 0, 6, 6, 4, 7, 8, 3, 3, 3, 8, 5, 9, 6, 7, 5, 0, 8, 9, 6, 0, 3, 3, 4, 7, 7, 1]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9]"
66,"[4, 8, 5, 9, 2, 7, 0, 1, 5, 7, 4, 4, 2, 6, 0, 4, 6, 1, 3, 7, 0, 1, 5, 4, 7, 1, 0, 3, 0, 5, 8, 4, 7, 6, 0, 9, 6, 0, 9, 4, 0, 1, 1, 5, 2, 4, 6, 7, 0, 6, 5, 6, 0, 0, 5, 9, 3, 5, 9, 1, 4, 2, 7, 9]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9]"
67,"[6, 0, 3, 8, 4, 6, 5, 1, 8, 8, 3, 2, 8, 8, 8, 9, 2, 2, 3, 8, 3, 5, 7, 1, 8, 9, 5, 6, 7, 8, 4, 2, 7, 4, 2, 7, 8, 1, 4, 4, 0, 1, 2, 6, 9, 1, 7, 1, 0, 9, 6, 2, 3, 0, 3, 4, 1, 0, 8, 6, 5, 2, 3, 2]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]"
68,"[5, 6, 8, 0, 1, 2, 1, 8, 4, 8, 2, 4, 0, 0, 5, 0, 2, 4, 6, 3, 3, 1, 2, 0, 1, 7, 6, 0, 1, 2, 8, 0, 7, 1, 8, 9, 1, 8, 2, 0, 8, 4, 1, 2, 3, 2, 9, 6, 4, 8, 7, 0, 9, 0, 8, 8, 8, 7, 9, 6, 3, 3, 7, 4]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]"
69,"[1, 3, 4, 2, 7, 2, 8, 2, 9, 5, 2, 5, 7, 0, 4, 8, 1, 6, 7, 1, 7, 1, 6, 4, 5, 7, 9, 7, 5, 3, 9, 2, 4, 2, 0, 8, 2, 3, 2, 4, 5, 7, 6, 2, 5, 2, 6, 7, 7, 0, 0, 3, 6, 7, 9, 3, 3, 6, 0, 8, 4, 9, 1, 4]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
70,"[1, 8, 4, 6, 5, 4, 2, 8, 4, 2, 2, 7, 3, 0, 5, 9, 4, 9, 4, 5, 9, 8, 3, 8, 0, 8, 9, 5, 2, 4, 0, 2, 7, 0, 7, 6, 3, 7, 1, 8, 2, 3, 7, 4, 1, 3, 1, 4, 6, 6, 0, 4, 4, 8, 5, 6, 5, 3, 7, 5, 7, 6, 9, 1]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
71,"[9, 7, 2, 0, 0, 4, 1, 6, 9, 7, 1, 0, 5, 2, 9, 0, 5, 7, 1, 2, 0, 8, 8, 1, 3, 1, 9, 4, 8, 8, 3, 6, 5, 5, 4, 4, 3, 1, 0, 0, 2, 5, 2, 9, 9, 7, 3, 0, 4, 3, 1, 1, 1, 6, 4, 2, 0, 7, 4, 6, 3, 7, 9, 4]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
72,"[7, 1, 0, 2, 8, 6, 6, 8, 5, 9, 9, 5, 8, 2, 7, 2, 4, 1, 8, 7, 7, 0, 8, 4, 7, 6, 6, 0, 0, 8, 5, 3, 8, 6, 4, 0, 4, 3, 0, 6, 2, 0, 4, 4, 8, 1, 7, 1, 5, 7, 9, 5, 0, 8, 6, 1, 3, 4, 9, 8, 5, 4, 5, 2]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]"
73,"[1, 3, 6, 7, 4, 8, 7, 7, 5, 9, 0, 8, 4, 4, 6, 1, 2, 7, 2, 8, 1, 9, 7, 3, 7, 5, 0, 2, 3, 8, 1, 4, 1, 8, 2, 7, 6, 9, 9, 6, 3, 6, 3, 1, 0, 1, 0, 1, 1, 5, 8, 0, 3, 0, 4, 1, 1, 6, 2, 0, 7, 7, 3, 5]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]"
74,"[2, 7, 3, 7, 0, 1, 8, 4, 7, 1, 8, 4, 0, 1, 5, 6, 3, 6, 7, 6, 2, 7, 6, 6, 2, 7, 0, 5, 2, 8, 7, 0, 8, 9, 2, 4, 4, 3, 9, 9, 4, 0, 5, 2, 8, 1, 5, 4, 0, 6, 2, 4, 2, 7, 5, 5, 6, 5, 0, 8, 8, 0, 3, 9]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]"
75,"[9, 9, 1, 3, 6, 8, 9, 9, 8, 2, 8, 2, 0, 7, 7, 2, 6, 9, 4, 6, 9, 0, 5, 5, 5, 3, 7, 4, 3, 8, 1, 6, 9, 9, 6, 7, 0, 5, 3, 2, 0, 5, 6, 8, 8, 3, 8, 6, 5, 3, 4, 3, 7, 5, 2, 5, 6, 9, 8, 4, 6, 7, 2, 0]","[0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
76,"[8, 5, 7, 6, 7, 0, 5, 9, 2, 8, 3, 8, 7, 5, 5, 6, 8, 6, 7, 9, 3, 2, 9, 2, 0, 8, 0, 3, 1, 4, 2, 4, 0, 2, 1, 1, 8, 9, 1, 3, 3, 6, 2, 8, 1, 5, 7, 3, 9, 2, 2, 8, 3, 8, 7, 8, 4, 9, 9, 6, 1, 5, 7, 3]","[0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
77,"[6, 0, 7, 6, 5, 5, 8, 7, 3, 1, 8, 6, 4, 6, 3, 5, 9, 3, 0, 5, 2, 6, 7, 0, 7, 0, 3, 8, 9, 7, 9, 3, 3, 1, 2, 9, 0, 2, 8, 5, 0, 7, 2, 7, 1, 9, 2, 0, 5, 6, 3, 7, 0, 6, 8, 2, 8, 4, 5, 4, 3, 8, 1, 8]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
78,"[1, 8, 1, 1, 1, 4, 5, 8, 1, 0, 3, 3, 4, 0, 6, 5, 5, 1, 6, 1, 6, 0, 6, 6, 8, 9, 3, 8, 7, 3, 5, 3, 4, 8, 4, 1, 0, 4, 2, 3, 0, 1, 2, 0, 7, 9, 3, 6, 8, 8, 3, 2, 5, 5, 1, 9, 4, 7, 8, 2, 1, 9, 6, 9]","[0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
79,"[1, 4, 4, 0, 8, 2, 9, 3, 9, 4, 2, 0, 5, 7, 9, 3, 1, 8, 0, 1, 5, 4, 2, 8, 2, 3, 8, 5, 7, 9, 0, 6, 5, 4, 5, 1, 6, 1, 4, 0, 0, 3, 2, 8, 4, 7, 8, 6, 0, 5, 4, 8, 7, 7, 9, 2, 8, 9, 2, 8, 9, 3, 3, 9]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]"
80,"[4, 5, 0, 0, 5, 2, 4, 6, 1, 6, 1, 0, 6, 1, 6, 3, 5, 4, 3, 5, 9, 6, 0, 8, 3, 8, 3, 8, 1, 5, 7, 4, 1, 8, 5, 0, 1, 9, 9, 0, 9, 3, 8, 6, 7, 7, 8, 0, 9, 4, 6, 7, 1, 3, 1, 3, 7, 3, 1, 6, 8, 4, 1, 3]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
81,"[7, 9, 4, 5, 4, 3, 6, 4, 6, 2, 5, 1, 4, 1, 8, 9, 4, 0, 5, 4, 8, 3, 4, 1, 3, 6, 1, 3, 7, 3, 0, 2, 7, 6, 3, 5, 1, 2, 1, 9, 9, 1, 0, 0, 5, 0, 6, 4, 5, 2, 4, 8, 3, 5, 0, 2, 6, 7, 1, 3, 5, 4, 4, 8]","[0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9]"
82,"[5, 5, 6, 7, 3, 4, 4, 1, 6, 2, 7, 6, 1, 0, 2, 7, 7, 6, 8, 6, 3, 3, 5, 4, 1, 2, 9, 9, 0, 9, 0, 3, 3, 8, 1, 4, 5, 3, 9, 0, 7, 0, 5, 6, 9, 7, 9, 3, 2, 5, 3, 7, 1, 3, 0, 0, 6, 1, 4, 8, 0, 5, 6, 6]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9]"
83,"[6, 4, 9, 2, 4, 8, 7, 3, 2, 2, 1, 0, 0, 2, 7, 6, 0, 6, 1, 4, 0, 1, 4, 4, 6, 1, 1, 6, 9, 8, 1, 7, 3, 5, 6, 7, 8, 1, 2, 0, 9, 5, 0, 7, 6, 8, 7, 0, 1, 5, 9, 6, 4, 3, 1, 9, 7, 4, 4, 4, 6, 9, 9, 2]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
84,"[6, 6, 3, 3, 6, 2, 8, 0, 2, 8, 4, 2, 1, 7, 0, 1, 8, 0, 2, 5, 7, 8, 0, 4, 0, 5, 0, 5, 2, 3, 9, 0, 8, 6, 1, 0, 8, 2, 5, 9, 6, 6, 6, 3, 7, 5, 7, 8, 5, 5, 2, 8, 0, 6, 0, 7, 7, 8, 2, 0, 5, 7, 0, 1]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9]"
85,"[0, 0, 3, 4, 5, 3, 6, 8, 9, 9, 2, 0, 7, 8, 1, 0, 2, 0, 6, 4, 3, 7, 4, 0, 8, 5, 4, 7, 9, 2, 7, 7, 6, 1, 8, 0, 1, 7, 3, 0, 8, 4, 8, 0, 0, 1, 7, 9, 6, 9, 9, 9, 3, 9, 0, 7, 0, 7, 4, 6, 9, 3, 8, 5]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
86,"[7, 0, 8, 1, 8, 3, 8, 3, 7, 2, 3, 9, 6, 1, 8, 4, 3, 3, 6, 2, 6, 8, 6, 3, 3, 6, 4, 6, 7, 1, 6, 1, 1, 7, 4, 7, 1, 1, 8, 5, 7, 9, 8, 3, 2, 4, 7, 6, 4, 5, 9, 4, 2, 5, 7, 7, 4, 6, 2, 2, 0, 5, 8, 6]","[0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9]"
87,"[3, 7, 2, 5, 8, 9, 5, 9, 5, 4, 2, 1, 4, 3, 1, 7, 4, 6, 6, 6, 2, 9, 2, 7, 9, 6, 4, 1, 1, 0, 9, 5, 1, 1, 9, 2, 1, 0, 2, 2, 3, 7, 7, 1, 1, 9, 7, 6, 0, 5, 5, 7, 3, 4, 8, 5, 8, 5, 9, 3, 7, 3, 1, 6]","[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]"
88,"[1, 7, 0, 5, 1, 9, 3, 8, 5, 5, 5, 0, 8, 4, 0, 4, 5, 4, 0, 4, 3, 8, 8, 7, 1, 8, 2, 5, 1, 9, 7, 8, 9, 9, 1, 2, 9, 4, 6, 2, 9, 5, 3, 7, 0, 6, 3, 2, 2, 0, 0, 5, 8, 5, 2, 1, 5, 0, 9, 7, 7, 6, 3, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
89,"[4, 9, 2, 8, 8, 4, 7, 7, 9, 4, 8, 0, 2, 8, 2, 0, 2, 1, 8, 3, 1, 8, 7, 1, 3, 8, 9, 9, 7, 8, 9, 4, 4, 1, 7, 9, 9, 0, 4, 2, 8, 1, 4, 4, 5, 6, 0, 7, 5, 9, 1, 8, 6, 7, 0, 7, 3, 1, 0, 3, 1, 7, 8, 4]","[0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]"
90,"[5, 4, 9, 0, 2, 8, 3, 8, 2, 5, 7, 6, 3, 6, 2, 4, 0, 9, 0, 1, 7, 6, 1, 6, 6, 9, 2, 8, 9, 5, 9, 1, 0, 9, 7, 1, 6, 8, 2, 4, 6, 7, 1, 6, 8, 5, 5, 7, 5, 9, 9, 1, 5, 5, 0, 4, 3, 9, 6, 4, 0, 5, 4, 7]","[0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
91,"[5, 2, 3, 3, 2, 4, 8, 2, 8, 5, 4, 3, 4, 2, 1, 4, 5, 2, 1, 7, 4, 1, 2, 8, 9, 3, 2, 9, 9, 7, 9, 4, 7, 8, 4, 7, 4, 7, 3, 8, 2, 1, 6, 9, 9, 7, 3, 3, 2, 7, 8, 6, 5, 5, 5, 5, 5, 2, 9, 5, 5, 0, 7, 8]","[0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
92,"[9, 1, 8, 8, 4, 1, 2, 2, 8, 9, 4, 3, 2, 4, 3, 8, 2, 4, 3, 6, 6, 1, 8, 0, 2, 0, 0, 9, 6, 5, 8, 5, 1, 2, 7, 2, 2, 7, 5, 8, 1, 0, 9, 5, 1, 6, 1, 5, 3, 9, 0, 7, 4, 9, 2, 8, 2, 6, 2, 4, 2, 7, 5, 2]","[0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]"
93,"[1, 6, 4, 9, 3, 8, 7, 4, 4, 8, 5, 8, 6, 4, 0, 6, 9, 2, 6, 6, 3, 5, 2, 5, 4, 1, 5, 6, 2, 5, 8, 0, 8, 2, 9, 0, 9, 2, 5, 2, 6, 8, 9, 2, 2, 4, 4, 7, 6, 9, 5, 9, 5, 6, 0, 8, 4, 8, 5, 2, 4, 2, 5, 9]","[0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]"
94,"[1, 8, 1, 7, 3, 2, 5, 2, 1, 7, 2, 7, 0, 5, 4, 1, 8, 5, 7, 2, 5, 5, 2, 3, 9, 9, 0, 6, 6, 3, 6, 7, 8, 9, 3, 7, 0, 8, 9, 3, 4, 5, 3, 4, 7, 6, 6, 3, 3, 4, 1, 8, 5, 4, 0, 0, 9, 9, 7, 0, 8, 8, 0, 4]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]"
95,"[1, 0, 0, 5, 2, 5, 6, 2, 7, 6, 3, 8, 4, 2, 2, 9, 2, 4, 3, 2, 3, 3, 6, 6, 2, 3, 7, 4, 0, 2, 5, 6, 7, 3, 6, 7, 4, 9, 6, 6, 2, 9, 9, 5, 2, 5, 2, 2, 1, 9, 5, 0, 7, 5, 4, 7, 9, 1, 3, 3, 9, 1, 2, 1]","[0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 9, 9, 9, 9, 9, 9, 9]"
96,"[9, 0, 9, 7, 7, 6, 4, 6, 0, 4, 4, 3, 9, 2, 1, 8, 8, 3, 7, 1, 6, 3, 6, 6, 4, 4, 3, 4, 8, 9, 6, 6, 6, 2, 2, 0, 1, 6, 0, 1, 3, 0, 6, 7, 6, 5, 5, 9, 3, 5, 0, 8, 6, 1, 7, 0, 1, 7, 4, 0, 5, 7, 4, 3]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9]"
97,"[3, 3, 7, 0, 0, 8, 4, 0, 5, 8, 0, 9, 3, 5, 9, 7, 8, 3, 3, 2, 1, 8, 7, 0, 3, 3, 3, 8, 4, 4, 0, 1, 0, 0, 2, 3, 5, 8, 7, 0, 0, 3, 9, 5, 7, 3, 7, 7, 6, 4, 7, 5, 5, 1, 3, 8, 8, 1, 2, 0, 5, 6, 3, 5]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9]"
98,"[4, 7, 8, 4, 8, 0, 7, 7, 8, 4, 5, 2, 1, 7, 4, 3, 6, 1, 4, 5, 6, 0, 3, 6, 5, 7, 6, 3, 6, 6, 1, 8, 4, 3, 4, 0, 1, 3, 0, 3, 4, 5, 4, 2, 2, 9, 0, 9, 1, 3, 9, 6, 5, 4, 0, 5, 3, 2, 1, 6, 2, 8, 5, 7]","[0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9]"
99,"[0, 5, 6, 5, 0, 0, 2, 6, 3, 2, 0, 6, 7, 4, 7, 9, 2, 7, 8, 0, 5, 5, 8, 8, 0, 9, 0, 8, 5, 3, 7, 9, 9, 2, 0, 6, 9, 2, 4, 1, 0, 5, 6, 4, 6, 4, 4, 0, 2, 2, 9, 1, 3, 0, 0, 0, 3, 4, 6, 3, 8, 1, 5, 5]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]"
1 ID Unsorted Sorted
2 0 [6, 3, 6, 5, 1, 2, 4, 3, 8, 0, 7, 8, 6, 4, 9, 5, 2, 4, 8, 4, 4, 4, 5, 6, 8, 4, 7, 7, 8, 9, 4, 9, 5, 4, 8, 4, 0, 5, 6, 9, 1, 2, 3, 6, 2, 0, 8, 1, 0, 7, 1, 2, 0, 7, 6, 9, 9, 9, 5, 6, 8, 3, 9, 0] [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
3 1 [9, 1, 5, 7, 8, 5, 2, 5, 6, 9, 0, 3, 6, 9, 9, 5, 6, 5, 8, 6, 0, 1, 1, 8, 5, 3, 7, 9, 0, 2, 7, 2, 8, 1, 2, 5, 9, 3, 5, 0, 0, 3, 7, 5, 1, 1, 1, 8, 1, 2, 0, 8, 0, 7, 8, 1, 8, 2, 1, 0, 4, 7, 5, 2] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]
4 2 [6, 7, 0, 6, 8, 3, 0, 6, 1, 7, 8, 5, 5, 6, 1, 9, 6, 7, 2, 7, 2, 3, 3, 2, 0, 8, 4, 7, 1, 7, 2, 1, 4, 8, 6, 6, 6, 8, 9, 6, 0, 2, 9, 4, 8, 3, 3, 7, 9, 7, 6, 0, 3, 5, 9, 9, 2, 3, 2, 2, 3, 5, 6, 8] [0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]
5 3 [3, 4, 6, 1, 4, 2, 2, 2, 3, 0, 4, 3, 9, 9, 3, 8, 7, 2, 0, 6, 9, 0, 7, 5, 0, 6, 4, 7, 3, 5, 0, 3, 4, 0, 7, 1, 5, 1, 1, 2, 3, 9, 5, 4, 1, 6, 2, 0, 5, 7, 7, 0, 1, 6, 0, 5, 5, 7, 1, 4, 5, 7, 0, 8] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9]
6 4 [3, 5, 5, 8, 7, 3, 0, 2, 0, 1, 6, 3, 5, 6, 8, 2, 3, 7, 5, 1, 3, 6, 5, 8, 6, 7, 6, 5, 9, 8, 3, 9, 8, 1, 6, 1, 3, 3, 6, 9, 3, 8, 2, 6, 4, 2, 4, 4, 4, 1, 6, 2, 0, 0, 8, 0, 6, 4, 7, 9, 0, 5, 1, 4] [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]
7 5 [9, 2, 1, 2, 4, 9, 5, 4, 3, 5, 3, 9, 9, 9, 5, 1, 2, 4, 8, 7, 5, 8, 6, 8, 1, 7, 6, 4, 7, 7, 1, 1, 4, 9, 3, 2, 4, 5, 2, 6, 0, 5, 6, 8, 0, 3, 1, 4, 3, 9, 0, 8, 7, 3, 1, 0, 9, 3, 0, 3, 8, 6, 1, 4] [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
8 6 [5, 1, 6, 6, 3, 2, 9, 3, 5, 3, 9, 5, 1, 1, 2, 0, 2, 4, 9, 8, 9, 6, 0, 9, 2, 9, 8, 9, 5, 1, 1, 5, 5, 9, 9, 5, 7, 8, 3, 2, 0, 5, 4, 1, 7, 3, 8, 9, 2, 2, 3, 1, 8, 8, 4, 7, 8, 8, 3, 1, 5, 9, 0, 9] [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
9 7 [7, 0, 5, 9, 3, 1, 9, 1, 5, 8, 9, 4, 6, 5, 3, 4, 3, 3, 6, 9, 9, 0, 5, 2, 5, 8, 2, 4, 4, 6, 8, 1, 6, 5, 5, 4, 9, 0, 5, 6, 4, 7, 4, 5, 7, 5, 2, 2, 5, 9, 3, 5, 9, 4, 6, 8, 4, 1, 1, 1, 6, 0, 8, 5] [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
10 8 [7, 4, 9, 1, 0, 7, 1, 4, 3, 8, 3, 0, 8, 4, 7, 7, 0, 7, 3, 9, 7, 9, 6, 4, 4, 1, 5, 0, 5, 5, 8, 9, 9, 6, 9, 9, 9, 5, 6, 6, 3, 4, 0, 7, 7, 5, 4, 0, 6, 7, 3, 3, 6, 9, 4, 2, 5, 8, 2, 5, 1, 5, 6, 8] [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
11 9 [2, 4, 9, 1, 8, 0, 6, 4, 5, 5, 3, 4, 8, 2, 1, 2, 2, 7, 4, 8, 0, 0, 8, 3, 9, 3, 2, 5, 5, 1, 6, 3, 5, 0, 5, 5, 4, 2, 9, 7, 5, 1, 5, 6, 2, 0, 5, 4, 9, 1, 9, 4, 3, 3, 1, 2, 6, 9, 6, 0, 9, 0, 4, 6] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
12 10 [3, 4, 8, 8, 7, 9, 2, 3, 7, 2, 7, 2, 9, 0, 6, 3, 3, 6, 1, 1, 2, 1, 3, 4, 4, 6, 7, 6, 7, 5, 5, 1, 1, 7, 3, 5, 1, 0, 0, 6, 5, 8, 2, 6, 9, 9, 1, 3, 4, 3, 9, 7, 2, 5, 8, 4, 7, 2, 0, 6, 0, 4, 3, 3] [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9]
13 11 [1, 5, 0, 4, 9, 1, 0, 1, 7, 9, 4, 8, 1, 0, 0, 8, 2, 2, 6, 0, 7, 7, 2, 5, 2, 7, 5, 0, 5, 9, 0, 5, 6, 3, 5, 2, 6, 1, 4, 2, 0, 3, 7, 3, 7, 8, 6, 4, 7, 4, 4, 0, 3, 1, 2, 0, 9, 2, 0, 8, 8, 0, 3, 8] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]
14 12 [2, 6, 5, 0, 0, 6, 7, 8, 5, 6, 1, 8, 1, 6, 1, 3, 8, 3, 4, 3, 5, 6, 6, 2, 6, 4, 5, 8, 2, 3, 4, 4, 2, 5, 8, 4, 9, 6, 3, 8, 4, 4, 9, 5, 6, 6, 6, 0, 8, 5, 5, 0, 8, 4, 4, 5, 6, 8, 8, 4, 8, 7, 7, 5] [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9]
15 13 [5, 8, 0, 2, 3, 1, 7, 3, 4, 8, 8, 8, 7, 0, 0, 9, 4, 1, 7, 3, 3, 2, 4, 8, 8, 3, 0, 5, 1, 8, 8, 2, 0, 6, 8, 4, 9, 3, 7, 9, 8, 4, 8, 4, 6, 4, 0, 2, 7, 5, 5, 6, 8, 9, 3, 6, 6, 6, 9, 6, 0, 8, 5, 8] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
16 14 [7, 0, 2, 5, 2, 9, 7, 1, 4, 9, 1, 6, 5, 4, 3, 1, 7, 2, 3, 5, 6, 4, 4, 6, 4, 8, 8, 1, 2, 7, 2, 9, 0, 3, 4, 9, 7, 2, 1, 9, 0, 0, 7, 8, 8, 6, 9, 5, 9, 5, 7, 5, 0, 2, 6, 0, 2, 2, 2, 9, 9, 4, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
17 15 [0, 8, 0, 4, 5, 9, 8, 6, 2, 8, 9, 5, 0, 1, 4, 2, 8, 5, 0, 2, 8, 2, 0, 2, 7, 6, 7, 0, 5, 2, 2, 9, 9, 7, 1, 9, 3, 6, 7, 8, 0, 5, 1, 6, 9, 9, 2, 8, 2, 1, 0, 8, 2, 8, 4, 5, 7, 1, 0, 7, 1, 6, 5, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
18 16 [3, 5, 0, 6, 4, 2, 0, 3, 9, 3, 3, 6, 7, 1, 4, 8, 6, 8, 1, 3, 6, 3, 5, 5, 6, 4, 6, 1, 9, 8, 0, 9, 8, 1, 9, 9, 0, 4, 5, 6, 2, 6, 4, 0, 9, 3, 1, 7, 8, 9, 8, 8, 2, 5, 0, 7, 1, 2, 7, 0, 4, 0, 3, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
19 17 [0, 5, 7, 5, 1, 0, 5, 5, 6, 5, 4, 4, 9, 9, 3, 3, 4, 9, 4, 6, 7, 6, 8, 9, 8, 0, 4, 6, 6, 5, 3, 7, 2, 2, 5, 4, 9, 2, 5, 1, 7, 4, 7, 1, 9, 4, 2, 0, 1, 2, 7, 3, 7, 5, 9, 9, 9, 0, 6, 3, 4, 3, 3, 2] [0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
20 18 [1, 4, 0, 5, 8, 1, 4, 0, 1, 1, 1, 5, 5, 5, 9, 0, 4, 5, 1, 8, 0, 4, 7, 0, 3, 5, 7, 7, 9, 6, 1, 3, 4, 6, 3, 5, 6, 6, 1, 1, 3, 5, 2, 0, 3, 4, 2, 0, 3, 1, 3, 9, 5, 2, 6, 4, 8, 9, 7, 0, 1, 6, 6, 8] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9]
21 19 [1, 4, 5, 6, 7, 7, 1, 5, 5, 5, 5, 3, 0, 8, 3, 8, 1, 5, 1, 1, 6, 5, 3, 9, 0, 1, 5, 6, 1, 2, 4, 6, 4, 3, 1, 6, 9, 4, 6, 8, 4, 7, 9, 0, 9, 1, 2, 3, 8, 0, 3, 3, 2, 0, 0, 8, 9, 7, 8, 2, 0, 2, 2, 5] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
22 20 [5, 5, 1, 5, 4, 7, 8, 4, 1, 7, 2, 5, 9, 7, 2, 6, 3, 5, 2, 4, 2, 1, 3, 8, 9, 6, 3, 9, 5, 4, 8, 1, 6, 6, 7, 3, 5, 4, 9, 6, 3, 4, 6, 7, 4, 4, 0, 4, 5, 3, 7, 9, 7, 8, 6, 8, 3, 6, 8, 3, 5, 1, 3, 7] [0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
23 21 [8, 2, 7, 1, 2, 9, 0, 3, 5, 2, 2, 5, 3, 7, 6, 1, 2, 0, 6, 3, 2, 5, 5, 4, 2, 6, 7, 8, 4, 7, 1, 2, 8, 3, 2, 1, 6, 7, 5, 9, 9, 8, 8, 0, 4, 8, 6, 3, 6, 1, 9, 0, 2, 8, 6, 7, 3, 5, 7, 8, 7, 6, 5, 8] [0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]
24 22 [3, 1, 6, 6, 1, 8, 0, 3, 1, 7, 8, 1, 9, 1, 3, 9, 3, 7, 9, 0, 4, 4, 6, 1, 0, 5, 8, 3, 0, 9, 2, 2, 0, 1, 0, 8, 6, 8, 6, 9, 1, 5, 2, 8, 9, 4, 3, 6, 4, 8, 3, 3, 9, 3, 9, 0, 9, 7, 2, 0, 0, 8, 9, 2] [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
25 23 [8, 2, 4, 6, 0, 6, 2, 2, 5, 0, 0, 3, 6, 7, 8, 4, 7, 6, 6, 6, 2, 9, 8, 4, 2, 3, 2, 2, 1, 3, 2, 5, 9, 7, 5, 2, 8, 3, 0, 5, 0, 4, 4, 8, 1, 6, 2, 4, 3, 7, 0, 1, 6, 2, 0, 7, 6, 4, 8, 4, 9, 9, 9, 3] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
26 24 [5, 1, 2, 8, 8, 2, 9, 8, 7, 0, 3, 7, 2, 3, 3, 5, 4, 8, 4, 4, 1, 6, 5, 2, 3, 9, 5, 8, 8, 1, 9, 3, 6, 3, 1, 1, 6, 3, 7, 5, 5, 4, 0, 8, 4, 6, 4, 5, 3, 6, 9, 9, 9, 8, 1, 0, 1, 7, 7, 9, 9, 6, 0, 9] [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
27 25 [8, 4, 5, 0, 8, 0, 2, 0, 2, 8, 0, 4, 1, 7, 9, 5, 5, 1, 5, 8, 2, 1, 1, 6, 9, 9, 4, 8, 7, 9, 1, 8, 6, 1, 2, 1, 5, 7, 3, 9, 9, 7, 0, 8, 8, 8, 3, 8, 7, 9, 7, 6, 9, 5, 2, 3, 1, 9, 5, 8, 7, 5, 9, 9] [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
28 26 [8, 3, 6, 9, 6, 7, 3, 9, 6, 2, 8, 4, 1, 8, 3, 4, 0, 2, 0, 6, 0, 1, 9, 4, 5, 9, 3, 2, 1, 9, 8, 5, 2, 9, 8, 8, 7, 6, 3, 0, 5, 3, 8, 5, 3, 3, 6, 6, 7, 1, 7, 6, 1, 4, 1, 7, 4, 7, 5, 9, 4, 5, 4, 0] [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
29 27 [5, 0, 7, 7, 9, 3, 3, 6, 7, 9, 7, 5, 9, 2, 9, 5, 3, 9, 5, 7, 0, 2, 7, 6, 9, 4, 0, 3, 0, 0, 7, 1, 2, 2, 1, 8, 7, 9, 3, 1, 3, 3, 0, 3, 2, 2, 1, 8, 9, 8, 9, 4, 7, 0, 6, 9, 5, 2, 9, 2, 4, 2, 0, 7] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
30 28 [6, 4, 7, 5, 8, 1, 7, 9, 6, 3, 5, 4, 4, 7, 9, 5, 6, 9, 7, 1, 0, 8, 0, 8, 5, 7, 3, 0, 4, 2, 8, 9, 0, 9, 2, 1, 7, 8, 1, 0, 3, 6, 5, 2, 2, 0, 8, 5, 5, 0, 9, 1, 4, 4, 7, 5, 2, 5, 1, 7, 5, 4, 5, 6] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]
31 29 [2, 1, 1, 7, 3, 3, 7, 3, 3, 7, 3, 1, 0, 6, 0, 3, 0, 2, 1, 8, 9, 5, 5, 1, 1, 5, 4, 8, 9, 3, 9, 3, 6, 7, 0, 1, 3, 8, 7, 8, 8, 2, 6, 7, 4, 7, 2, 9, 0, 7, 9, 4, 0, 1, 8, 9, 0, 3, 5, 3, 1, 9, 4, 0] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
32 30 [4, 2, 0, 8, 4, 7, 6, 6, 3, 9, 6, 0, 0, 7, 7, 5, 6, 3, 3, 7, 6, 9, 1, 4, 2, 7, 0, 6, 5, 9, 8, 6, 4, 6, 4, 9, 3, 2, 3, 0, 1, 5, 5, 4, 2, 7, 8, 2, 8, 1, 3, 6, 9, 6, 6, 5, 5, 4, 6, 6, 7, 8, 3, 7] [0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
33 31 [9, 4, 6, 8, 3, 9, 0, 3, 4, 6, 8, 9, 4, 9, 0, 6, 4, 8, 9, 2, 0, 4, 5, 3, 4, 3, 1, 3, 2, 4, 3, 7, 5, 4, 5, 6, 5, 4, 3, 0, 6, 1, 9, 7, 5, 7, 0, 1, 4, 1, 4, 2, 6, 9, 0, 3, 0, 8, 3, 5, 7, 6, 6, 3] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
34 32 [9, 2, 3, 5, 3, 6, 0, 9, 2, 0, 7, 9, 7, 7, 5, 6, 5, 5, 5, 5, 3, 8, 0, 0, 1, 9, 8, 9, 5, 0, 0, 6, 5, 2, 0, 8, 7, 3, 3, 6, 7, 4, 2, 7, 1, 7, 6, 9, 4, 5, 8, 0, 8, 6, 5, 1, 3, 5, 2, 3, 4, 3, 6, 5] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]
35 33 [4, 8, 5, 4, 6, 2, 7, 7, 4, 1, 5, 5, 6, 0, 1, 1, 1, 3, 9, 3, 9, 6, 6, 5, 8, 2, 1, 3, 4, 2, 3, 8, 4, 5, 0, 6, 0, 4, 1, 5, 5, 2, 7, 0, 4, 8, 9, 5, 9, 4, 0, 5, 5, 8, 2, 7, 6, 2, 7, 1, 7, 9, 5, 3] [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
36 34 [2, 3, 7, 7, 9, 4, 0, 7, 7, 6, 5, 8, 7, 2, 2, 8, 6, 6, 5, 5, 4, 6, 5, 0, 8, 4, 1, 7, 4, 4, 3, 0, 8, 7, 3, 3, 5, 8, 1, 9, 1, 3, 3, 6, 7, 1, 4, 4, 6, 6, 1, 0, 5, 2, 0, 6, 4, 4, 8, 9, 5, 9, 4, 7] [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]
37 35 [9, 7, 8, 8, 4, 3, 0, 9, 1, 4, 4, 8, 1, 8, 7, 9, 6, 4, 7, 9, 0, 4, 0, 7, 8, 9, 9, 7, 8, 0, 4, 5, 8, 8, 0, 3, 2, 0, 3, 9, 7, 4, 2, 4, 5, 1, 9, 3, 0, 5, 2, 5, 2, 5, 4, 4, 9, 6, 0, 4, 9, 4, 0, 9] [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
38 36 [6, 5, 5, 1, 2, 2, 4, 3, 3, 5, 7, 3, 5, 7, 3, 2, 9, 1, 8, 2, 6, 2, 7, 6, 6, 2, 6, 0, 2, 2, 2, 0, 2, 7, 4, 9, 1, 9, 4, 4, 2, 4, 4, 4, 7, 3, 1, 6, 4, 2, 0, 6, 7, 5, 7, 9, 2, 1, 6, 7, 9, 3, 2, 5] [0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 9, 9, 9, 9, 9]
39 37 [9, 3, 0, 1, 9, 0, 2, 7, 0, 5, 1, 7, 6, 2, 4, 4, 1, 6, 6, 7, 4, 8, 9, 3, 7, 3, 4, 0, 2, 5, 4, 6, 7, 3, 4, 2, 7, 0, 9, 7, 0, 7, 6, 5, 1, 3, 3, 4, 8, 0, 0, 7, 7, 0, 2, 0, 4, 2, 1, 4, 5, 5, 8, 2] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9]
40 38 [0, 7, 3, 0, 9, 2, 1, 9, 0, 5, 7, 0, 3, 0, 6, 5, 7, 5, 3, 4, 5, 9, 6, 1, 6, 8, 2, 2, 9, 3, 1, 6, 6, 7, 2, 9, 8, 9, 9, 9, 9, 2, 4, 1, 4, 2, 6, 0, 3, 8, 0, 3, 5, 0, 5, 1, 8, 0, 1, 2, 5, 8, 1, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
41 39 [1, 8, 8, 5, 4, 1, 1, 8, 7, 5, 6, 5, 7, 8, 3, 0, 1, 5, 7, 9, 3, 9, 6, 6, 2, 3, 3, 1, 5, 8, 9, 6, 4, 5, 7, 0, 2, 7, 2, 5, 3, 2, 3, 8, 1, 9, 0, 6, 7, 4, 6, 7, 4, 3, 6, 1, 7, 9, 6, 6, 0, 1, 4, 1] [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
42 40 [0, 7, 3, 9, 5, 8, 0, 4, 4, 8, 1, 9, 9, 4, 4, 2, 9, 3, 0, 0, 1, 2, 2, 2, 3, 8, 4, 6, 1, 0, 9, 9, 8, 1, 4, 2, 5, 9, 6, 6, 3, 2, 7, 5, 5, 7, 1, 3, 0, 6, 6, 4, 1, 2, 4, 9, 4, 7, 7, 2, 5, 5, 5, 6] [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
43 41 [4, 6, 1, 2, 3, 0, 4, 6, 7, 3, 6, 8, 1, 2, 1, 8, 1, 5, 9, 8, 1, 7, 0, 6, 2, 7, 6, 2, 4, 3, 1, 6, 1, 3, 8, 5, 9, 5, 8, 6, 0, 3, 9, 4, 4, 2, 3, 0, 4, 3, 5, 3, 5, 9, 7, 0, 6, 5, 7, 4, 0, 1, 9, 6] [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
44 42 [3, 0, 2, 6, 0, 6, 6, 0, 7, 1, 5, 7, 6, 6, 6, 1, 3, 0, 9, 7, 6, 7, 8, 3, 0, 7, 5, 5, 6, 4, 4, 6, 0, 6, 7, 2, 8, 5, 4, 4, 5, 1, 1, 1, 6, 1, 0, 4, 1, 6, 4, 8, 7, 3, 6, 3, 1, 8, 7, 6, 0, 5, 2, 9] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9]
45 43 [0, 4, 5, 8, 2, 5, 0, 5, 9, 0, 0, 3, 3, 3, 9, 0, 0, 4, 6, 1, 9, 8, 5, 0, 3, 7, 7, 4, 5, 6, 6, 0, 0, 7, 0, 9, 9, 3, 3, 0, 6, 7, 0, 4, 0, 4, 6, 0, 7, 8, 8, 0, 5, 2, 9, 3, 5, 0, 5, 7, 2, 1, 9, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
46 44 [1, 9, 9, 2, 0, 7, 9, 6, 2, 6, 7, 0, 6, 0, 3, 0, 6, 1, 8, 7, 3, 1, 5, 8, 4, 5, 5, 0, 9, 1, 4, 8, 0, 7, 2, 4, 6, 1, 8, 8, 2, 3, 2, 4, 4, 6, 0, 9, 5, 5, 6, 6, 5, 2, 2, 7, 1, 8, 6, 2, 3, 0, 1, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
47 45 [8, 5, 9, 6, 7, 7, 6, 8, 7, 6, 2, 0, 2, 1, 4, 4, 3, 9, 5, 4, 1, 6, 8, 9, 6, 6, 0, 1, 7, 5, 4, 0, 1, 3, 8, 9, 5, 1, 7, 6, 0, 8, 0, 1, 5, 4, 1, 6, 0, 7, 1, 6, 3, 2, 3, 0, 0, 2, 0, 5, 7, 7, 2, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9]
48 46 [8, 7, 0, 8, 5, 3, 1, 3, 7, 0, 4, 8, 5, 1, 5, 7, 9, 9, 1, 1, 5, 0, 1, 6, 1, 3, 8, 8, 1, 5, 0, 1, 5, 7, 9, 9, 5, 4, 3, 7, 1, 3, 4, 6, 5, 6, 6, 8, 6, 4, 8, 3, 8, 6, 3, 5, 0, 6, 0, 0, 6, 7, 6, 1] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]
49 47 [8, 4, 7, 3, 0, 3, 3, 1, 7, 8, 6, 3, 4, 6, 5, 1, 3, 8, 6, 7, 7, 8, 2, 1, 7, 0, 9, 3, 1, 0, 8, 1, 0, 6, 4, 0, 1, 9, 4, 6, 8, 4, 0, 7, 7, 3, 3, 7, 2, 8, 3, 8, 3, 3, 1, 9, 9, 1, 2, 8, 5, 0, 5, 0] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]
50 48 [5, 3, 2, 2, 5, 7, 3, 4, 8, 5, 8, 0, 1, 9, 6, 8, 9, 1, 2, 0, 0, 9, 0, 7, 7, 3, 8, 2, 4, 5, 0, 9, 9, 9, 8, 4, 5, 0, 9, 7, 1, 6, 6, 5, 1, 8, 5, 0, 5, 9, 0, 1, 0, 1, 4, 6, 0, 3, 6, 6, 6, 7, 6, 4] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
51 49 [3, 1, 4, 7, 0, 5, 8, 5, 2, 9, 1, 4, 1, 0, 4, 1, 8, 6, 5, 1, 1, 6, 1, 0, 3, 0, 1, 3, 7, 8, 0, 9, 2, 3, 8, 3, 9, 0, 7, 3, 6, 2, 6, 1, 0, 5, 1, 9, 5, 3, 9, 6, 1, 2, 5, 0, 2, 1, 5, 9, 0, 4, 3, 3] [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]
52 50 [8, 2, 2, 5, 3, 1, 8, 8, 6, 3, 9, 9, 9, 8, 9, 4, 9, 4, 5, 7, 9, 1, 7, 4, 1, 5, 9, 6, 2, 6, 7, 1, 3, 2, 7, 5, 4, 3, 5, 2, 1, 7, 5, 2, 3, 1, 1, 3, 2, 8, 1, 3, 8, 5, 1, 6, 4, 5, 0, 1, 5, 1, 1, 8] [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
53 51 [3, 1, 9, 1, 7, 9, 6, 7, 4, 6, 2, 9, 9, 7, 2, 2, 5, 0, 0, 0, 3, 6, 6, 5, 7, 0, 0, 8, 4, 1, 1, 3, 4, 8, 6, 0, 0, 2, 7, 8, 7, 1, 3, 4, 8, 5, 2, 7, 9, 9, 5, 6, 9, 5, 7, 3, 8, 2, 8, 4, 1, 6, 8, 1] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
54 52 [8, 9, 0, 0, 6, 9, 9, 9, 5, 0, 9, 6, 1, 4, 6, 6, 0, 9, 9, 3, 1, 4, 1, 1, 8, 8, 6, 0, 0, 3, 1, 9, 9, 6, 4, 1, 4, 1, 8, 5, 9, 0, 2, 9, 8, 2, 9, 2, 2, 1, 0, 0, 1, 4, 2, 1, 6, 5, 7, 2, 6, 0, 6, 4] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
55 53 [2, 7, 6, 3, 6, 2, 8, 2, 6, 6, 1, 0, 5, 7, 1, 2, 4, 2, 8, 1, 4, 2, 5, 8, 3, 1, 8, 7, 9, 6, 0, 2, 4, 5, 7, 7, 7, 1, 8, 9, 6, 0, 0, 5, 8, 1, 3, 5, 7, 0, 4, 1, 2, 0, 4, 0, 4, 4, 9, 2, 2, 6, 2, 9] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]
56 54 [8, 7, 8, 9, 6, 6, 8, 2, 5, 2, 2, 1, 9, 5, 6, 1, 2, 5, 3, 4, 7, 8, 2, 9, 3, 0, 6, 9, 5, 0, 4, 1, 0, 2, 5, 5, 9, 0, 9, 8, 4, 2, 5, 6, 1, 2, 8, 4, 3, 1, 3, 6, 7, 0, 7, 8, 3, 7, 6, 6, 3, 1, 7, 5] [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]
57 55 [4, 5, 9, 0, 5, 2, 9, 0, 4, 1, 2, 7, 7, 1, 2, 7, 1, 6, 9, 9, 2, 7, 2, 1, 5, 7, 9, 8, 8, 0, 1, 9, 1, 4, 8, 7, 9, 7, 0, 6, 8, 8, 5, 7, 6, 0, 4, 6, 2, 5, 4, 4, 9, 0, 9, 9, 4, 6, 9, 0, 6, 5, 7, 4] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
58 56 [0, 4, 3, 7, 2, 8, 2, 6, 1, 1, 6, 2, 0, 4, 4, 3, 0, 5, 0, 8, 1, 6, 4, 2, 0, 6, 4, 4, 3, 8, 7, 9, 1, 5, 8, 9, 3, 8, 3, 8, 6, 1, 5, 7, 1, 3, 6, 8, 2, 1, 2, 6, 4, 3, 7, 8, 3, 0, 9, 0, 1, 8, 5, 0] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9]
59 57 [1, 5, 8, 0, 6, 2, 0, 3, 4, 1, 4, 1, 7, 9, 5, 6, 3, 2, 7, 5, 0, 2, 4, 8, 0, 3, 1, 8, 8, 1, 7, 1, 8, 0, 0, 1, 5, 1, 5, 6, 9, 2, 1, 4, 5, 4, 8, 7, 3, 3, 8, 6, 0, 3, 1, 4, 3, 3, 2, 3, 2, 9, 7, 1] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9]
60 58 [6, 5, 9, 8, 9, 9, 1, 5, 8, 3, 9, 4, 0, 7, 2, 6, 5, 4, 9, 2, 7, 0, 4, 8, 1, 8, 7, 0, 9, 5, 7, 2, 5, 4, 6, 9, 7, 8, 9, 4, 6, 6, 7, 6, 5, 6, 4, 8, 7, 8, 6, 4, 7, 4, 9, 4, 6, 4, 7, 4, 4, 7, 9, 4] [0, 0, 0, 1, 1, 2, 2, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
61 59 [3, 1, 0, 7, 6, 4, 0, 3, 0, 9, 7, 8, 9, 2, 6, 2, 3, 1, 1, 6, 9, 1, 1, 8, 0, 7, 7, 3, 5, 6, 6, 3, 3, 5, 1, 2, 3, 7, 3, 8, 1, 6, 7, 8, 8, 7, 7, 1, 3, 2, 4, 6, 4, 5, 3, 4, 0, 4, 1, 3, 1, 3, 6, 3] [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9]
62 60 [6, 3, 3, 5, 2, 7, 1, 9, 5, 7, 3, 4, 0, 8, 1, 0, 7, 4, 0, 3, 5, 7, 2, 9, 7, 3, 8, 1, 6, 5, 8, 4, 2, 1, 5, 3, 0, 2, 2, 3, 9, 5, 6, 9, 0, 5, 1, 4, 3, 1, 8, 4, 5, 3, 8, 8, 9, 4, 6, 5, 7, 6, 1, 6] [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
63 61 [1, 8, 5, 3, 9, 7, 4, 0, 9, 2, 6, 6, 8, 1, 0, 5, 2, 2, 0, 5, 2, 9, 6, 6, 2, 9, 1, 8, 7, 7, 0, 2, 8, 2, 8, 1, 5, 5, 9, 0, 1, 5, 3, 8, 3, 0, 3, 9, 7, 4, 1, 4, 8, 7, 7, 0, 6, 8, 8, 3, 8, 4, 1, 9] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
64 62 [6, 0, 1, 8, 9, 2, 9, 8, 5, 1, 2, 1, 9, 5, 7, 0, 2, 3, 4, 9, 9, 5, 5, 3, 0, 4, 9, 8, 3, 5, 5, 3, 6, 9, 6, 8, 9, 3, 0, 6, 4, 3, 0, 3, 4, 6, 7, 8, 5, 6, 2, 8, 7, 3, 6, 1, 4, 5, 5, 2, 2, 4, 6, 3] [0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
65 63 [9, 2, 7, 0, 4, 3, 4, 7, 5, 7, 3, 4, 9, 0, 0, 4, 9, 7, 3, 5, 3, 8, 4, 3, 0, 1, 3, 8, 7, 8, 6, 0, 7, 9, 8, 8, 2, 4, 6, 4, 9, 1, 8, 5, 8, 3, 3, 6, 3, 1, 4, 3, 3, 5, 3, 1, 5, 9, 6, 8, 3, 5, 9, 1] [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
66 64 [4, 7, 1, 9, 9, 6, 9, 2, 5, 1, 1, 4, 9, 2, 1, 5, 2, 5, 8, 2, 6, 0, 4, 4, 2, 3, 3, 3, 6, 7, 7, 9, 1, 8, 8, 7, 8, 9, 7, 1, 5, 4, 8, 3, 6, 4, 7, 7, 0, 7, 1, 4, 1, 2, 2, 9, 9, 6, 6, 5, 9, 1, 0, 1] [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
67 65 [3, 3, 2, 9, 6, 1, 3, 3, 1, 1, 1, 6, 6, 0, 6, 3, 0, 0, 6, 6, 4, 7, 7, 1, 4, 2, 8, 4, 3, 2, 0, 6, 9, 4, 0, 5, 8, 6, 0, 6, 6, 4, 7, 8, 3, 3, 3, 8, 5, 9, 6, 7, 5, 0, 8, 9, 6, 0, 3, 3, 4, 7, 7, 1] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9]
68 66 [4, 8, 5, 9, 2, 7, 0, 1, 5, 7, 4, 4, 2, 6, 0, 4, 6, 1, 3, 7, 0, 1, 5, 4, 7, 1, 0, 3, 0, 5, 8, 4, 7, 6, 0, 9, 6, 0, 9, 4, 0, 1, 1, 5, 2, 4, 6, 7, 0, 6, 5, 6, 0, 0, 5, 9, 3, 5, 9, 1, 4, 2, 7, 9] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9]
69 67 [6, 0, 3, 8, 4, 6, 5, 1, 8, 8, 3, 2, 8, 8, 8, 9, 2, 2, 3, 8, 3, 5, 7, 1, 8, 9, 5, 6, 7, 8, 4, 2, 7, 4, 2, 7, 8, 1, 4, 4, 0, 1, 2, 6, 9, 1, 7, 1, 0, 9, 6, 2, 3, 0, 3, 4, 1, 0, 8, 6, 5, 2, 3, 2] [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]
70 68 [5, 6, 8, 0, 1, 2, 1, 8, 4, 8, 2, 4, 0, 0, 5, 0, 2, 4, 6, 3, 3, 1, 2, 0, 1, 7, 6, 0, 1, 2, 8, 0, 7, 1, 8, 9, 1, 8, 2, 0, 8, 4, 1, 2, 3, 2, 9, 6, 4, 8, 7, 0, 9, 0, 8, 8, 8, 7, 9, 6, 3, 3, 7, 4] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]
71 69 [1, 3, 4, 2, 7, 2, 8, 2, 9, 5, 2, 5, 7, 0, 4, 8, 1, 6, 7, 1, 7, 1, 6, 4, 5, 7, 9, 7, 5, 3, 9, 2, 4, 2, 0, 8, 2, 3, 2, 4, 5, 7, 6, 2, 5, 2, 6, 7, 7, 0, 0, 3, 6, 7, 9, 3, 3, 6, 0, 8, 4, 9, 1, 4] [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9]
72 70 [1, 8, 4, 6, 5, 4, 2, 8, 4, 2, 2, 7, 3, 0, 5, 9, 4, 9, 4, 5, 9, 8, 3, 8, 0, 8, 9, 5, 2, 4, 0, 2, 7, 0, 7, 6, 3, 7, 1, 8, 2, 3, 7, 4, 1, 3, 1, 4, 6, 6, 0, 4, 4, 8, 5, 6, 5, 3, 7, 5, 7, 6, 9, 1] [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
73 71 [9, 7, 2, 0, 0, 4, 1, 6, 9, 7, 1, 0, 5, 2, 9, 0, 5, 7, 1, 2, 0, 8, 8, 1, 3, 1, 9, 4, 8, 8, 3, 6, 5, 5, 4, 4, 3, 1, 0, 0, 2, 5, 2, 9, 9, 7, 3, 0, 4, 3, 1, 1, 1, 6, 4, 2, 0, 7, 4, 6, 3, 7, 9, 4] [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
74 72 [7, 1, 0, 2, 8, 6, 6, 8, 5, 9, 9, 5, 8, 2, 7, 2, 4, 1, 8, 7, 7, 0, 8, 4, 7, 6, 6, 0, 0, 8, 5, 3, 8, 6, 4, 0, 4, 3, 0, 6, 2, 0, 4, 4, 8, 1, 7, 1, 5, 7, 9, 5, 0, 8, 6, 1, 3, 4, 9, 8, 5, 4, 5, 2] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]
75 73 [1, 3, 6, 7, 4, 8, 7, 7, 5, 9, 0, 8, 4, 4, 6, 1, 2, 7, 2, 8, 1, 9, 7, 3, 7, 5, 0, 2, 3, 8, 1, 4, 1, 8, 2, 7, 6, 9, 9, 6, 3, 6, 3, 1, 0, 1, 0, 1, 1, 5, 8, 0, 3, 0, 4, 1, 1, 6, 2, 0, 7, 7, 3, 5] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]
76 74 [2, 7, 3, 7, 0, 1, 8, 4, 7, 1, 8, 4, 0, 1, 5, 6, 3, 6, 7, 6, 2, 7, 6, 6, 2, 7, 0, 5, 2, 8, 7, 0, 8, 9, 2, 4, 4, 3, 9, 9, 4, 0, 5, 2, 8, 1, 5, 4, 0, 6, 2, 4, 2, 7, 5, 5, 6, 5, 0, 8, 8, 0, 3, 9] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9]
77 75 [9, 9, 1, 3, 6, 8, 9, 9, 8, 2, 8, 2, 0, 7, 7, 2, 6, 9, 4, 6, 9, 0, 5, 5, 5, 3, 7, 4, 3, 8, 1, 6, 9, 9, 6, 7, 0, 5, 3, 2, 0, 5, 6, 8, 8, 3, 8, 6, 5, 3, 4, 3, 7, 5, 2, 5, 6, 9, 8, 4, 6, 7, 2, 0] [0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
78 76 [8, 5, 7, 6, 7, 0, 5, 9, 2, 8, 3, 8, 7, 5, 5, 6, 8, 6, 7, 9, 3, 2, 9, 2, 0, 8, 0, 3, 1, 4, 2, 4, 0, 2, 1, 1, 8, 9, 1, 3, 3, 6, 2, 8, 1, 5, 7, 3, 9, 2, 2, 8, 3, 8, 7, 8, 4, 9, 9, 6, 1, 5, 7, 3] [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
79 77 [6, 0, 7, 6, 5, 5, 8, 7, 3, 1, 8, 6, 4, 6, 3, 5, 9, 3, 0, 5, 2, 6, 7, 0, 7, 0, 3, 8, 9, 7, 9, 3, 3, 1, 2, 9, 0, 2, 8, 5, 0, 7, 2, 7, 1, 9, 2, 0, 5, 6, 3, 7, 0, 6, 8, 2, 8, 4, 5, 4, 3, 8, 1, 8] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
80 78 [1, 8, 1, 1, 1, 4, 5, 8, 1, 0, 3, 3, 4, 0, 6, 5, 5, 1, 6, 1, 6, 0, 6, 6, 8, 9, 3, 8, 7, 3, 5, 3, 4, 8, 4, 1, 0, 4, 2, 3, 0, 1, 2, 0, 7, 9, 3, 6, 8, 8, 3, 2, 5, 5, 1, 9, 4, 7, 8, 2, 1, 9, 6, 9] [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
81 79 [1, 4, 4, 0, 8, 2, 9, 3, 9, 4, 2, 0, 5, 7, 9, 3, 1, 8, 0, 1, 5, 4, 2, 8, 2, 3, 8, 5, 7, 9, 0, 6, 5, 4, 5, 1, 6, 1, 4, 0, 0, 3, 2, 8, 4, 7, 8, 6, 0, 5, 4, 8, 7, 7, 9, 2, 8, 9, 2, 8, 9, 3, 3, 9] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
82 80 [4, 5, 0, 0, 5, 2, 4, 6, 1, 6, 1, 0, 6, 1, 6, 3, 5, 4, 3, 5, 9, 6, 0, 8, 3, 8, 3, 8, 1, 5, 7, 4, 1, 8, 5, 0, 1, 9, 9, 0, 9, 3, 8, 6, 7, 7, 8, 0, 9, 4, 6, 7, 1, 3, 1, 3, 7, 3, 1, 6, 8, 4, 1, 3] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9]
83 81 [7, 9, 4, 5, 4, 3, 6, 4, 6, 2, 5, 1, 4, 1, 8, 9, 4, 0, 5, 4, 8, 3, 4, 1, 3, 6, 1, 3, 7, 3, 0, 2, 7, 6, 3, 5, 1, 2, 1, 9, 9, 1, 0, 0, 5, 0, 6, 4, 5, 2, 4, 8, 3, 5, 0, 2, 6, 7, 1, 3, 5, 4, 4, 8] [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9]
84 82 [5, 5, 6, 7, 3, 4, 4, 1, 6, 2, 7, 6, 1, 0, 2, 7, 7, 6, 8, 6, 3, 3, 5, 4, 1, 2, 9, 9, 0, 9, 0, 3, 3, 8, 1, 4, 5, 3, 9, 0, 7, 0, 5, 6, 9, 7, 9, 3, 2, 5, 3, 7, 1, 3, 0, 0, 6, 1, 4, 8, 0, 5, 6, 6] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9]
85 83 [6, 4, 9, 2, 4, 8, 7, 3, 2, 2, 1, 0, 0, 2, 7, 6, 0, 6, 1, 4, 0, 1, 4, 4, 6, 1, 1, 6, 9, 8, 1, 7, 3, 5, 6, 7, 8, 1, 2, 0, 9, 5, 0, 7, 6, 8, 7, 0, 1, 5, 9, 6, 4, 3, 1, 9, 7, 4, 4, 4, 6, 9, 9, 2] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
86 84 [6, 6, 3, 3, 6, 2, 8, 0, 2, 8, 4, 2, 1, 7, 0, 1, 8, 0, 2, 5, 7, 8, 0, 4, 0, 5, 0, 5, 2, 3, 9, 0, 8, 6, 1, 0, 8, 2, 5, 9, 6, 6, 6, 3, 7, 5, 7, 8, 5, 5, 2, 8, 0, 6, 0, 7, 7, 8, 2, 0, 5, 7, 0, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9]
87 85 [0, 0, 3, 4, 5, 3, 6, 8, 9, 9, 2, 0, 7, 8, 1, 0, 2, 0, 6, 4, 3, 7, 4, 0, 8, 5, 4, 7, 9, 2, 7, 7, 6, 1, 8, 0, 1, 7, 3, 0, 8, 4, 8, 0, 0, 1, 7, 9, 6, 9, 9, 9, 3, 9, 0, 7, 0, 7, 4, 6, 9, 3, 8, 5] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
88 86 [7, 0, 8, 1, 8, 3, 8, 3, 7, 2, 3, 9, 6, 1, 8, 4, 3, 3, 6, 2, 6, 8, 6, 3, 3, 6, 4, 6, 7, 1, 6, 1, 1, 7, 4, 7, 1, 1, 8, 5, 7, 9, 8, 3, 2, 4, 7, 6, 4, 5, 9, 4, 2, 5, 7, 7, 4, 6, 2, 2, 0, 5, 8, 6] [0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9]
89 87 [3, 7, 2, 5, 8, 9, 5, 9, 5, 4, 2, 1, 4, 3, 1, 7, 4, 6, 6, 6, 2, 9, 2, 7, 9, 6, 4, 1, 1, 0, 9, 5, 1, 1, 9, 2, 1, 0, 2, 2, 3, 7, 7, 1, 1, 9, 7, 6, 0, 5, 5, 7, 3, 4, 8, 5, 8, 5, 9, 3, 7, 3, 1, 6] [0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
90 88 [1, 7, 0, 5, 1, 9, 3, 8, 5, 5, 5, 0, 8, 4, 0, 4, 5, 4, 0, 4, 3, 8, 8, 7, 1, 8, 2, 5, 1, 9, 7, 8, 9, 9, 1, 2, 9, 4, 6, 2, 9, 5, 3, 7, 0, 6, 3, 2, 2, 0, 0, 5, 8, 5, 2, 1, 5, 0, 9, 7, 7, 6, 3, 7] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
91 89 [4, 9, 2, 8, 8, 4, 7, 7, 9, 4, 8, 0, 2, 8, 2, 0, 2, 1, 8, 3, 1, 8, 7, 1, 3, 8, 9, 9, 7, 8, 9, 4, 4, 1, 7, 9, 9, 0, 4, 2, 8, 1, 4, 4, 5, 6, 0, 7, 5, 9, 1, 8, 6, 7, 0, 7, 3, 1, 0, 3, 1, 7, 8, 4] [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
92 90 [5, 4, 9, 0, 2, 8, 3, 8, 2, 5, 7, 6, 3, 6, 2, 4, 0, 9, 0, 1, 7, 6, 1, 6, 6, 9, 2, 8, 9, 5, 9, 1, 0, 9, 7, 1, 6, 8, 2, 4, 6, 7, 1, 6, 8, 5, 5, 7, 5, 9, 9, 1, 5, 5, 0, 4, 3, 9, 6, 4, 0, 5, 4, 7] [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
93 91 [5, 2, 3, 3, 2, 4, 8, 2, 8, 5, 4, 3, 4, 2, 1, 4, 5, 2, 1, 7, 4, 1, 2, 8, 9, 3, 2, 9, 9, 7, 9, 4, 7, 8, 4, 7, 4, 7, 3, 8, 2, 1, 6, 9, 9, 7, 3, 3, 2, 7, 8, 6, 5, 5, 5, 5, 5, 2, 9, 5, 5, 0, 7, 8] [0, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
94 92 [9, 1, 8, 8, 4, 1, 2, 2, 8, 9, 4, 3, 2, 4, 3, 8, 2, 4, 3, 6, 6, 1, 8, 0, 2, 0, 0, 9, 6, 5, 8, 5, 1, 2, 7, 2, 2, 7, 5, 8, 1, 0, 9, 5, 1, 6, 1, 5, 3, 9, 0, 7, 4, 9, 2, 8, 2, 6, 2, 4, 2, 7, 5, 2] [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]
95 93 [1, 6, 4, 9, 3, 8, 7, 4, 4, 8, 5, 8, 6, 4, 0, 6, 9, 2, 6, 6, 3, 5, 2, 5, 4, 1, 5, 6, 2, 5, 8, 0, 8, 2, 9, 0, 9, 2, 5, 2, 6, 8, 9, 2, 2, 4, 4, 7, 6, 9, 5, 9, 5, 6, 0, 8, 4, 8, 5, 2, 4, 2, 5, 9] [0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
96 94 [1, 8, 1, 7, 3, 2, 5, 2, 1, 7, 2, 7, 0, 5, 4, 1, 8, 5, 7, 2, 5, 5, 2, 3, 9, 9, 0, 6, 6, 3, 6, 7, 8, 9, 3, 7, 0, 8, 9, 3, 4, 5, 3, 4, 7, 6, 6, 3, 3, 4, 1, 8, 5, 4, 0, 0, 9, 9, 7, 0, 8, 8, 0, 4] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]
97 95 [1, 0, 0, 5, 2, 5, 6, 2, 7, 6, 3, 8, 4, 2, 2, 9, 2, 4, 3, 2, 3, 3, 6, 6, 2, 3, 7, 4, 0, 2, 5, 6, 7, 3, 6, 7, 4, 9, 6, 6, 2, 9, 9, 5, 2, 5, 2, 2, 1, 9, 5, 0, 7, 5, 4, 7, 9, 1, 3, 3, 9, 1, 2, 1] [0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 9, 9, 9, 9, 9, 9, 9]
98 96 [9, 0, 9, 7, 7, 6, 4, 6, 0, 4, 4, 3, 9, 2, 1, 8, 8, 3, 7, 1, 6, 3, 6, 6, 4, 4, 3, 4, 8, 9, 6, 6, 6, 2, 2, 0, 1, 6, 0, 1, 3, 0, 6, 7, 6, 5, 5, 9, 3, 5, 0, 8, 6, 1, 7, 0, 1, 7, 4, 0, 5, 7, 4, 3] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9]
99 97 [3, 3, 7, 0, 0, 8, 4, 0, 5, 8, 0, 9, 3, 5, 9, 7, 8, 3, 3, 2, 1, 8, 7, 0, 3, 3, 3, 8, 4, 4, 0, 1, 0, 0, 2, 3, 5, 8, 7, 0, 0, 3, 9, 5, 7, 3, 7, 7, 6, 4, 7, 5, 5, 1, 3, 8, 8, 1, 2, 0, 5, 6, 3, 5] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9]
100 98 [4, 7, 8, 4, 8, 0, 7, 7, 8, 4, 5, 2, 1, 7, 4, 3, 6, 1, 4, 5, 6, 0, 3, 6, 5, 7, 6, 3, 6, 6, 1, 8, 4, 3, 4, 0, 1, 3, 0, 3, 4, 5, 4, 2, 2, 9, 0, 9, 1, 3, 9, 6, 5, 4, 0, 5, 3, 2, 1, 6, 2, 8, 5, 7] [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9]
101 99 [0, 5, 6, 5, 0, 0, 2, 6, 3, 2, 0, 6, 7, 4, 7, 9, 2, 7, 8, 0, 5, 5, 8, 8, 0, 9, 0, 8, 5, 3, 7, 9, 9, 2, 0, 6, 9, 2, 4, 1, 0, 5, 6, 4, 6, 4, 4, 0, 2, 2, 9, 1, 3, 0, 0, 0, 3, 4, 6, 3, 8, 1, 5, 5] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]
+785
View File
@@ -0,0 +1,785 @@
# Copyright (c) 2023 ETH Zurich.
# All rights reserved.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# main author: Nils Blach
import os
import logging
import datetime
import json
import csv
from typing import Dict, List, Callable, Union
from graph_of_thoughts import controller, operations, prompter, parser
from . import utils
class SortingPrompter(prompter.Prompter):
"""
SortingPrompter provides the generation of prompts specific to the sorting
example for the language models.
Inherits from the Prompter class and implements its abstract methods.
"""
sort_prompt = """<Instruction> Sort the following list of numbers in ascending order. Output only the sorted list of numbers, no additional text. </Instruction>
<Examples>
Input: [5, 1, 0, 1, 2, 0, 4, 8, 1, 9, 5, 1, 3, 3, 9, 7]
Output: [0, 0, 1, 1, 1, 1, 2, 3, 3, 4, 5, 5, 7, 8, 9, 9]
Input: [3, 7, 0, 2, 8, 1, 2, 2, 2, 4, 7, 8, 5, 5, 3, 9, 4, 3, 5, 6, 6, 4, 4, 5, 2, 0, 9, 3, 3, 9, 2, 1]
Output: [0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9]
Input: [4, 4, 9, 7, 9, 7, 0, 0, 4, 9, 1, 7, 9, 5, 8, 7, 5, 6, 3, 8, 6, 7, 5, 8, 5, 0, 6, 3, 7, 0, 5, 3, 7, 5, 2, 4, 4, 9, 0, 7, 8, 2, 7, 7, 7, 2, 1, 3, 9, 9, 7, 9, 6, 6, 4, 5, 4, 2, 0, 8, 9, 0, 2, 2]
Output: [0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
</Examples>
Input: {input}"""
sort_prompt_cot = """<Instruction> Sort the following list of numbers in ascending order. You can generate any intermediate lists, but the final output should be the sorted list of numbers, prefixed with "Output: ". </Instruction>
<Approach>
To sort the list of numbers follow these steps:
1. Split the list of numbers into two to four unsorted sublists, each containing an equal number of elements from the original list (make sure they don't overlap).
2. Sort each of the unsorted sublists.
3. Merge the sorted sublists into a single sorted list using the merging algorithm from merge sort.
</Approach>
<Examples>
Input: [4, 5, 3, 3, 7, 3, 0, 5, 0, 2, 8, 0, 2, 1, 6, 9]
Unsorted Subarrays:
[4, 5, 3, 3, 7, 3, 0, 5]
[0, 2, 8, 0, 2, 1, 6, 9]
Sorted Subarrays:
[0, 3, 3, 3, 4, 5, 5, 7]
[0, 0, 1, 2, 2, 6, 8, 9]
Output: [0, 0, 0, 1, 2, 2, 3, 3, 3, 4, 5, 5, 6, 7, 8, 9]
Input: [6, 4, 5, 7, 5, 6, 9, 7, 6, 9, 4, 6, 9, 8, 1, 9, 2, 4, 9, 0, 7, 6, 5, 6, 6, 2, 8, 3, 9, 5, 6, 1]
Unsorted Subarrays:
[6, 4, 5, 7, 5, 6, 9, 7, 6, 9, 4, 6, 9, 8, 1, 9]
[2, 4, 9, 0, 7, 6, 5, 6, 6, 2, 8, 3, 9, 5, 6, 1]
Sorted Subarrays:
[1, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 8, 9, 9, 9, 9]
[0, 1, 2, 2, 3, 4, 5, 5, 6, 6, 6, 6, 7, 8, 9, 9]
Output: [0, 1, 1, 2, 2, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9]
Input: [3, 7, 0, 2, 8, 1, 2, 2, 2, 4, 7, 8, 5, 5, 3, 9, 4, 3, 5, 6, 6, 4, 4, 5, 2, 0, 9, 3, 3, 9, 2, 1, 9, 3, 1, 8, 1, 8, 6, 0, 1, 6, 1, 7, 4, 4, 6, 3, 3, 7, 9, 3, 6, 0, 3, 4, 5, 6, 6, 9, 9, 9, 7, 3]
Unsorted Subarrays:
[3, 7, 0, 2, 8, 1, 2, 2, 2, 4, 7, 8, 5, 5, 3, 9]
[4, 3, 5, 6, 6, 4, 4, 5, 2, 0, 9, 3, 3, 9, 2, 1]
[9, 3, 1, 8, 1, 8, 6, 0, 1, 6, 1, 7, 4, 4, 6, 3]
[3, 7, 9, 3, 6, 0, 3, 4, 5, 6, 6, 9, 9, 9, 7, 3]
Sorted Subarrays:
[0, 1, 2, 2, 2, 2, 3, 3, 4, 5, 5, 7, 7, 8, 8, 9]
[0, 1, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 6, 9, 9]
[0, 1, 1, 1, 1, 3, 3, 4, 4, 6, 6, 6, 7, 8, 8, 9]
[0, 3, 3, 3, 3, 4, 5, 6, 6, 6, 7, 7, 9, 9, 9, 9]
Output: [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
</Examples>
Input: {input}"""
tot_improve_prompt = """<Instruction> The following two lists represent an unsorted list of numbers and a sorted variant of that list. The sorted variant is not correct. Fix the sorted variant so that it is correct.
Make sure that the output list is sorted in ascending order, has the same number of elements as the input list ({length}), and contains the same elements as the input list. </Instruction>
<Approach>
To fix the incorrectly sorted list follow these steps:
1. For each number from 0 to 9, compare the frequency of that number in the incorrectly sorted list to the frequency of that number in the input list.
2. Iterate through the incorrectly sorted list and add or remove numbers as needed to make the frequency of each number in the incorrectly sorted list match the frequency of that number in the input list.
</Approach>
<Examples>
Input: [3, 7, 0, 2, 8, 1, 2, 2, 2, 4, 7, 8, 5, 5, 3, 9]
Incorrectly Sorted: [0, 0, 0, 0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 7, 7, 8, 8, 9, 9, 9, 9]
Reason: The incorrectly sorted list contains four extra 0s, two extra 4s and three extra 9s and is missing two 2s.
Output: [0, 1, 2, 2, 2, 2, 3, 3, 4, 5, 5, 7, 7, 8, 8, 9]
Input: [6, 4, 5, 7, 5, 6, 9, 7, 6, 9, 4, 6, 9, 8, 1, 9, 2, 4, 9, 0, 7, 6, 5, 6, 6, 2, 8, 3, 9, 5, 6, 1]
Incorrectly Sorted: [0, 1, 1, 2, 2, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9]
Reason: The incorrectly sorted list contains two extra 4s and is missing two 6s and one 9.
Output: [0, 1, 1, 2, 2, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9]
Input: [4, 4, 9, 7, 9, 7, 0, 0, 4, 9, 1, 7, 9, 5, 8, 7, 5, 6, 3, 8, 6, 7, 5, 8, 5, 0, 6, 3, 7, 0, 5, 3, 7, 5, 2, 4, 4, 9, 0, 7, 8, 2, 7, 7, 7, 2, 1, 3, 9, 9, 7, 9, 6, 6, 4, 5, 4, 2, 0, 8, 9, 0, 2, 2]
Incorrectly Sorted: [0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
Reason: The incorrectly sorted list contains one extra 8 and is missing two 2s, one 3, three 4s, two 5s, one 6, six 7s and one 9.
Output: [0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
</Examples>
Input: {input}
Incorrectly Sorted: {incorrectly_sorted}
"""
got_split_prompt = """<Instruction> Split the following list of 64 numbers into 4 lists of 16 numbers each, the first list should contain the first 16 numbers, the second list the second 16 numbers, the third list the third 16 numbers and the fourth list the fourth 16 numbers.
Only output the final 4 lists in the following format without any additional text or thoughts!:
{{
"List 1": [3, 4, 3, 5, 7, 8, 1, ...],
"List 2": [2, 9, 2, 4, 7, 1, 5, ...],
"List 3": [6, 9, 8, 1, 9, 2, 4, ...],
"List 4": [9, 0, 7, 6, 5, 6, 6, ...]
}} </Instruction>
<Example>
Input: [3, 1, 9, 3, 7, 5, 5, 4, 8, 1, 5, 3, 3, 2, 3, 0, 9, 7, 2, 2, 4, 4, 8, 5, 0, 8, 7, 3, 3, 8, 7, 0, 9, 5, 1, 6, 7, 6, 8, 9, 0, 3, 0, 6, 3, 4, 8, 0, 6, 9, 8, 4, 1, 2, 9, 0, 4, 8, 8, 9, 9, 8, 5, 9]
Output:
{{
"List 1": [3, 1, 9, 3, 7, 5, 5, 4, 8, 1, 5, 3, 3, 2, 3, 0],
"List 2": [9, 7, 2, 2, 4, 4, 8, 5, 0, 8, 7, 3, 3, 8, 7, 0],
"List 3": [9, 5, 1, 6, 7, 6, 8, 9, 0, 3, 0, 6, 3, 4, 8, 0],
"List 4": [6, 9, 8, 4, 1, 2, 9, 0, 4, 8, 8, 9, 9, 8, 5, 9]
}}
</Example>
Input: {input}"""
got_merge_prompt = """<Instruction> Merge the following 2 sorted lists of length {length1} each, into one sorted list of length {length2} using a merge sort style approach.
Only output the final merged list without any additional text or thoughts!:</Instruction>
<Approach>
To merge the two lists in a merge-sort style approach, foloow these steps:
1. Compare the first element of both lists.
2. Append the smaller element to the merged list and move to the next element in the list from which the smaller element came.
3. Repeat steps 1 and 2 until one of the lists is empty.
4. Append the remaining elements of the non-empty list to the merged list.
</Approach>
Merge the following two lists into one sorted list:
1: {input1}
2: {input2}
Merged list:
"""
def aggregation_prompt(self, state_dicts: List[Dict], **kwargs) -> str:
"""
Generate an aggregation prompt for the language model.
:param state_dicts: The thought states that should be aggregated.
:type state_dicts: List[Dict]
:param kwargs: Additional keyword arguments.
:return: The aggregation prompt.
:rtype: str
:raise AssertionError: If not exactly two thought states are provided.
"""
assert len(state_dicts) == 2, "Expected two states for aggregation prompt."
len_input1 = len(utils.string_to_list(state_dicts[0]["current"]))
len_input2 = len(utils.string_to_list(state_dicts[1]["current"]))
if len_input1 == len_input2:
length = len_input1
elif len_input1 + len_input2 - 32 <= 16:
length = 16
else:
length = 32
return self.got_merge_prompt.format(
input1=state_dicts[0]["current"],
input2=state_dicts[1]["current"],
length1=length,
length2=length * 2,
)
def generate_prompt(
self, num_branches: int, original: str, current: str, method: str, **kwargs
) -> str:
"""
Generate a generate prompt for the language model.
:param num_branches: The number of responses the prompt should ask the LM to generate.
:type num_branches: int
:param original: Input list of numbers.
:type original: str
:param current: Intermediate solution.
:type current: str
:param method: Method for which the generate prompt is generated.
:type method: str
:param kwargs: Additional keyword arguments.
:return: The generate prompt.
:rtype: str
:raise AssertionError: If the requested number of branches is not one.
"""
assert num_branches == 1, "Branching should be done via multiple requests."
if current is None or current == "":
input = original
else:
input = current
if method.startswith("io"):
return self.sort_prompt.format(input=input)
elif method.startswith("cot"):
return self.sort_prompt_cot.format(input=input)
elif method.startswith("tot"):
if current is None or current == "":
return self.sort_prompt.format(input=input)
return self.tot_improve_prompt.format(
input=original,
incorrectly_sorted=current,
length=len(utils.string_to_list(original)),
)
elif method.startswith("got"):
if current is None or current == "":
return self.got_split_prompt.format(input=input)
# if current is just a sublist of the original input, return the split prompt
if kwargs["phase"] == 1:
return self.sort_prompt.format(input=current)
if (
"unsorted_sublist" in kwargs
and kwargs["unsorted_sublist"] != ""
and len(kwargs["unsorted_sublist"]) < len(original) - 5
):
original = kwargs["unsorted_sublist"]
return self.tot_improve_prompt.format(
input=original,
incorrectly_sorted=current,
length=len(utils.string_to_list(original)),
)
def improve_prompt(self, **kwargs) -> str:
"""
Generate an improve prompt for the language model.
:param kwargs: Additional keyword arguments.
:return: The improve prompt.
:rtype: str
"""
pass
def validation_prompt(self, **kwargs) -> str:
"""
Generate a validation prompt for the language model.
:param kwargs: Additional keyword arguments.
:return: The validation prompt.
:rtype: str
"""
pass
def score_prompt(self, state_dicts: List[Dict], **kwargs) -> str:
"""
Generate a score prompt for the language model.
:param state_dicts: The thought states that should be scored,
if more than one, they should be scored together.
:type state_dicts: List[Dict]
:param kwargs: Additional keyword arguments.
:return: The score prompt.
:rtype: str
"""
pass
class SortingParser(parser.Parser):
"""
SortingParser provides the parsing of language model reponses specific to
the sorting example.
Inherits from the Parser class and implements its abstract methods.
"""
def __init__(self) -> None:
"""
Inits the response cache.
"""
self.cache = {}
def parse_aggregation_answer(
self, states: List[Dict], texts: List[str]
) -> Union[Dict, List[Dict]]:
"""
Parse the response from the language model for an aggregation prompt.
:param states: The thought states used to generate the prompt.
:type states: List[Dict]
:param texts: The responses to the prompt from the language model.
:type texts: List[str]
:return: The new thought states after parsing the respones from the language model.
:rtype: Union[Dict, List[Dict]]
:raise AssertionError: If not exactly two thought states are provided.
"""
assert len(states) == 2, "Expected two states for aggregation answer."
new_states = []
for text in texts:
answers = text.strip().split("\n")
if any(["Output" in answer for answer in answers]):
# cut elements until last output is found
for answer in reversed(answers):
if "Output" in answer:
answers = answers[answers.index(answer) :]
break
answers_stripped = [
answer for answer in answers if "[" in answer and "]" in answer
]
if len(answers_stripped) == 0:
for answer in answers:
answer = "[" + answer + "]"
try:
answer_converted = utils.string_to_list(answer)
if len(answer_converted) > 0:
answers_stripped.append(answer)
except:
pass
if len(answers_stripped) == 0:
logging.warning(
f"Could not parse aggregation answer: {text}. Returning empty list."
)
answer = "[]"
else:
answer = [
answer[answer.index("[") : answer.index("]") + 1]
for answer in answers_stripped
][0]
states = sorted(states, key=lambda x: x["part"])
merged_unsorted_sublists = (
states[0]["unsorted_sublist"][:-1]
+ ", "
+ states[1]["unsorted_sublist"][1:]
)
new_state = states[0].copy()
new_state["current"] = answer
new_state["unsorted_sublist"] = merged_unsorted_sublists
new_states.append(new_state)
return new_states
def parse_generate_answer(self, state: Dict, texts: List[str]) -> List[Dict]:
"""
Parse the response from the language model for a generate prompt.
:param state: The thought state used to generate the prompt.
:type state: Dict
:param texts: The responses to the prompt from the language model.
:type texts: List[str]
:return: The new thought states after parsing the respones from the language model.
:rtype: List[Dict]
"""
new_states = []
for text in texts:
if state["method"] == "got" and state["current"] == "":
# We expect a json which contains the four lists named "List 1" to "List 4"
# cut everything until the opening bracket and everything after the closing bracket
try:
text = text[text.index("{") : text.index("}") + 1]
json_dict = json.loads(text)
if len(json_dict.keys()) != 4:
logging.warning(
f"Expected 4 lists in json, but found {len(json_dict.keys())}."
)
for key, value in json_dict.items():
if "List" not in key:
logging.warning(
f"Expected key to contain 'List', but found {key}."
)
continue
if not isinstance(value, list):
value = utils.string_to_list(value)
new_state = state.copy()
new_state["current"] = str(value)
new_state["unsorted_sublist"] = str(value)
new_state["phase"] = 1
new_state["part"] = key
new_states.append(new_state)
except Exception as e:
logging.error(
f"Could not parse step answer: {text}. Encountered exception: {e}"
)
else:
answers = text.strip().split("\n")
answers = [
answer for answer in answers if "[" in answer and "]" in answer
]
if any(["Output" in answer for answer in answers]):
# cut elements until last output is found
for answer in reversed(answers):
if "Output" in answer:
answers = answers[answers.index(answer) :]
break
answers = [
answer[answer.index("[") : answer.index("]") + 1]
for answer in answers
]
if len(answers) == 0:
logging.warning(
f"Could not parse step answer: {text}. Returning empty list."
)
answer = "[]"
else:
if len(answers) > 1:
logging.warning(
f"Multiple answers found for step answer: {text}. Using the first one."
)
answer = answers[0]
new_state = state.copy()
new_state["current"] = answer
new_state["phase"] = 2
new_states.append(new_state)
return new_states
def parse_improve_answer(self, state: Dict, texts: List[str]) -> Dict:
"""
Parse the response from the language model for an improve prompt.
:param state: The thought state used to generate the prompt.
:type state: Dict
:param texts: The responses to the prompt from the language model.
:type texts: List[str]
:return: The new thought state after parsing the responses from the language model.
:rtype: Dict
"""
pass
def parse_validation_answer(self, state: Dict, texts: List[str]) -> bool:
"""
Parse the response from the language model for a validation prompt.
:param state: The thought state used to generate the prompt.
:type state: Dict
:param texts: The responses to the prompt from the language model.
:type texts: List[str]
:return: Whether the thought state is valid or not.
:rtype: bool
"""
pass
def parse_score_answer(self, states: List[Dict], texts: List[str]) -> List[float]:
"""
Parse the response from the language model for a score prompt.
:param states: The thought states used to generate the prompt.
:type states: List[Dict]
:param texts: The responses to the prompt from the language model.
:type texts: List[str]
:return: The scores for the thought states.
:rtype: List[float]
"""
pass
def io() -> operations.GraphOfOperations:
"""
Generates the Graph of Operations for the IO method.
:return: Graph of Operations
:rtype: GraphOfOperations
"""
operations_graph = operations.GraphOfOperations()
operations_graph.append_operation(operations.Generate(1, 1))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
operations_graph.append_operation(operations.GroundTruth(utils.test_sorting))
return operations_graph
def cot() -> operations.GraphOfOperations:
"""
Generates the Graph of Operations for the CoT method.
:return: Graph of Operations
:rtype: GraphOfOperations
"""
operations_graph = operations.GraphOfOperations()
operations_graph.append_operation(operations.Generate(1, 1))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
operations_graph.append_operation(operations.GroundTruth(utils.test_sorting))
return operations_graph
def tot() -> operations.GraphOfOperations:
"""
Generates the Graph of Operations for the ToT method.
ToT uses a wider tree, where on each level there are more branches.
:return: Graph of Operations
:rtype: GraphOfOperations
"""
operations_graph = operations.GraphOfOperations()
operations_graph.append_operation(operations.Generate(1, 20))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
keep_best_1 = operations.KeepBestN(1, False)
operations_graph.append_operation(keep_best_1)
for _ in range(3):
operations_graph.append_operation(operations.Generate(1, 20))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
keep_best_2 = operations.KeepBestN(1, False)
keep_best_2.add_predecessor(keep_best_1)
operations_graph.append_operation(keep_best_2)
keep_best_1 = keep_best_2
operations_graph.append_operation(operations.KeepBestN(1, False))
operations_graph.append_operation(operations.GroundTruth(utils.test_sorting))
return operations_graph
def tot2() -> operations.GraphOfOperations:
"""
Generates the Graph of Operations for the ToT2 method.
ToT2 uses a tree with more levels, but with fewer branches per level.
:return: Graph of Operations
:rtype: GraphOfOperations
"""
operations_graph = operations.GraphOfOperations()
operations_graph.append_operation(operations.Generate(1, 10))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
keep_best_1 = operations.KeepBestN(1, False)
operations_graph.append_operation(keep_best_1)
for _ in range(6):
operations_graph.append_operation(operations.Generate(1, 10))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
keep_best_2 = operations.KeepBestN(1, False)
keep_best_2.add_predecessor(keep_best_1)
operations_graph.append_operation(keep_best_2)
keep_best_1 = keep_best_2
operations_graph.append_operation(operations.KeepBestN(1, False))
operations_graph.append_operation(operations.KeepBestN(1, False))
operations_graph.append_operation(operations.KeepBestN(1, False))
operations_graph.append_operation(operations.GroundTruth(utils.test_sorting))
return operations_graph
def got() -> operations.GraphOfOperations:
"""
Generates the Graph of Operations for the GoT method.
:return: Graph of Operations
:rtype: GraphOfOperations
"""
operations_graph = operations.GraphOfOperations()
plans = operations.Generate(1, 1)
operations_graph.append_operation(plans) # generate the sublists
sorted_sublists = []
for i in range(1, 5):
list_id = f"List {i}"
sub_list = operations.Selector(
lambda thoughts, list_id=list_id: [
thought for thought in thoughts if thought.state["part"] == list_id
]
)
sub_list.add_predecessor(plans)
operations_graph.add_operation(sub_list)
sort_sub_list = operations.Generate(1, 5)
sort_sub_list.add_predecessor(sub_list)
operations_graph.add_operation(sort_sub_list)
score_sub_list = operations.Score(1, False, utils.num_errors)
score_sub_list.add_predecessor(sort_sub_list)
operations_graph.add_operation(score_sub_list)
keep_best_sub_list = operations.KeepBestN(1, False)
keep_best_sub_list.add_predecessor(score_sub_list)
operations_graph.add_operation(keep_best_sub_list)
sorted_sublists.append(keep_best_sub_list)
aggregate_1 = operations.Aggregate(10)
aggregate_1.add_predecessor(sorted_sublists[0])
aggregate_1.add_predecessor(sorted_sublists[1])
operations_graph.add_operation(aggregate_1)
score_aggregate_1 = operations.Score(1, False, utils.num_errors)
score_aggregate_1.add_predecessor(aggregate_1)
operations_graph.add_operation(score_aggregate_1)
keep_best_aggregate_1 = operations.KeepBestN(1, False)
keep_best_aggregate_1.add_predecessor(score_aggregate_1)
operations_graph.add_operation(keep_best_aggregate_1)
improve_aggregate_1 = operations.Generate(1, 5)
improve_aggregate_1.add_predecessor(keep_best_aggregate_1)
operations_graph.add_operation(improve_aggregate_1)
improve_score_aggregate_1 = operations.Score(1, False, utils.num_errors)
improve_score_aggregate_1.add_predecessor(improve_aggregate_1)
improve_score_aggregate_1.add_predecessor(keep_best_aggregate_1)
operations_graph.add_operation(improve_score_aggregate_1)
improve_keep_best_aggregate_1 = operations.KeepBestN(1, False)
improve_keep_best_aggregate_1.add_predecessor(improve_score_aggregate_1)
operations_graph.add_operation(improve_keep_best_aggregate_1)
aggregate_2 = operations.Aggregate(10)
aggregate_2.add_predecessor(sorted_sublists[2])
aggregate_2.add_predecessor(sorted_sublists[3])
operations_graph.add_operation(aggregate_2)
score_aggregate_2 = operations.Score(1, False, utils.num_errors)
score_aggregate_2.add_predecessor(aggregate_2)
operations_graph.add_operation(score_aggregate_2)
keep_best_aggregate_2 = operations.KeepBestN(1, False)
keep_best_aggregate_2.add_predecessor(score_aggregate_2)
operations_graph.add_operation(keep_best_aggregate_2)
improve_aggregate_2 = operations.Generate(1, 5)
improve_aggregate_2.add_predecessor(keep_best_aggregate_2)
operations_graph.add_operation(improve_aggregate_2)
improve_score_aggregate_2 = operations.Score(1, False, utils.num_errors)
improve_score_aggregate_2.add_predecessor(improve_aggregate_2)
improve_score_aggregate_2.add_predecessor(keep_best_aggregate_2)
operations_graph.add_operation(improve_score_aggregate_2)
improve_keep_best_aggregate_2 = operations.KeepBestN(1, False)
improve_keep_best_aggregate_2.add_predecessor(improve_score_aggregate_2)
operations_graph.add_operation(improve_keep_best_aggregate_2)
final_aggregate = operations.Aggregate(10)
operations_graph.append_operation(final_aggregate)
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
keep_best_aggregate_final = operations.KeepBestN(1, False)
operations_graph.append_operation(keep_best_aggregate_final)
operations_graph.append_operation(operations.Generate(1, 10))
score_aggr_3 = operations.Score(1, False, utils.num_errors)
score_aggr_3.add_predecessor(keep_best_aggregate_final)
operations_graph.append_operation(score_aggr_3)
operations_graph.append_operation(operations.KeepBestN(1, False))
operations_graph.append_operation(operations.GroundTruth(utils.test_sorting))
return operations_graph
def run(
data_ids: List[int],
methods: List[Callable[[], operations.GraphOfOperations]],
budget: float,
lm_name: str,
) -> float:
"""
Controller function that executes each specified method for each specified
sample while the budget is not exhausted.
:param data_ids: Indices of the sample to be run.
:type data_ids: List[int]
:param methods: List of functions to generate Graphs of Operations.
:type methods: Each function generates a Graph of Operation.
:param budget: Language model budget for the execution in dollars.
:type budget: float
:param lm_name: Name of the language model to be used.
:type lm_name: str
:return: Spent budget in dollars.
:rtype: float
"""
orig_budget = budget
path = os.path.join(os.path.dirname(__file__), "sorting_064.csv")
data = []
with open(path, "r") as f:
reader = csv.reader(f)
next(reader)
for row in reader:
data.append([int(row[0]), row[1], row[2]])
if data_ids is None or len(data_ids) == 0:
data_ids = list(range(len(data)))
selected_data = [data[i] for i in data_ids]
if not os.path.exists(os.path.join(os.path.dirname(__file__), "results")):
os.makedirs(os.path.join(os.path.dirname(__file__), "results"))
timestamp = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
extra_info = f"{lm_name}_{'-'.join([method.__name__ for method in methods])}"
folder_name = f"results/{extra_info}_{timestamp}"
os.makedirs(os.path.join(os.path.dirname(__file__), folder_name))
config = {
"data": selected_data,
"methods": [method.__name__ for method in methods],
"lm": lm_name,
"budget": budget,
}
with open(
os.path.join(os.path.dirname(__file__), folder_name, "config.json"), "w"
) as f:
json.dump(config, f)
logging.basicConfig(
filename=f"{folder_name}/log.log",
filemode="w",
format="%(name)s - %(levelname)s - %(message)s",
level=logging.DEBUG,
)
for method in methods:
# create a results directory for the method
os.makedirs(
os.path.join(os.path.dirname(__file__), folder_name, method.__name__)
)
for data in selected_data:
logging.info(f"Running data {data[0]}: {data[1]}")
if budget <= 0.0:
logging.error(
f"Budget has been depleted, stopping. Data {data[0]} has not been run."
)
break
for method in methods:
logging.info(f"Running method {method.__name__}")
logging.info(f"Budget left: {budget}")
if budget <= 0.0:
logging.error(
f"Budget has been depleted, stopping. Method {method.__name__} has not been run."
)
break
lm = controller.ChatGPT(
"../../graph_of_thoughts/controller/config.json",
model_name=lm_name,
cache=True,
)
operations_graph = method()
executor = controller.Controller(
lm,
operations_graph,
SortingPrompter(),
SortingParser(),
{
"original": data[1],
"current": "",
"phase": 0,
"method": method.__name__,
},
)
try:
executor.run()
except Exception as e:
logging.error(f"Exception: {e}")
path = os.path.join(
os.path.dirname(__file__),
folder_name,
method.__name__,
f"{data[0]}.json",
)
executor.output_graph(path)
budget -= lm.cost
return orig_budget - budget
if __name__ == "__main__":
"""
Input (x) : an unordered list of 64 numbers between 0 and 9 (inclusive)
Output (y) : a sorted list of 64 numbers between 0 and 9 (inclusive)
Correct : y == sorted(x)
Input Example:
[0, 1, 9, 4, 2, 2, 0, 5, 1...]
Output Example:
[0, 0, 0, 0, 1, 1, 1, 1, 2...]
"""
budget = 30
samples = [item for item in range(0, 100)]
approaches = [io, cot, tot, tot2, got]
spent = run(samples, approaches, budget, "chatgpt")
logging.info(f"Spent {spent} out of {budget} budget.")
+101
View File
@@ -0,0 +1,101 @@
ID,Unsorted,Sorted
0,"[2, 9, 0, 0, 4, 2, 1, 2, 7, 7, 7, 2, 7, 8, 1, 3, 1, 5, 9, 1, 2, 8, 5, 0, 1, 8, 8, 3, 1, 9, 6, 9, 1, 4, 8, 0, 3, 5, 8, 5, 9, 4, 9, 8, 6, 1, 9, 6, 4, 9, 2, 6, 2, 9, 6, 3, 4, 0, 7, 4, 7, 5, 9, 6, 3, 5, 3, 9, 7, 2, 8, 7, 3, 4, 2, 9, 9, 9, 7, 0, 0, 9, 3, 7, 5, 9, 8, 4, 4, 5, 2, 3, 9, 4, 5, 8, 3, 7, 1, 4, 3, 0, 1, 6, 2, 3, 2, 1, 2, 1, 9, 3, 5, 8, 8, 1, 6, 0, 9, 6, 6, 7, 4, 7, 6, 9, 1, 6]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
1,"[4, 9, 9, 7, 9, 9, 4, 7, 4, 6, 2, 4, 7, 8, 0, 1, 9, 4, 5, 2, 7, 2, 0, 4, 3, 1, 6, 1, 6, 9, 8, 4, 6, 1, 0, 5, 2, 5, 4, 3, 2, 1, 3, 9, 5, 5, 3, 6, 9, 1, 2, 6, 4, 3, 7, 8, 7, 9, 8, 8, 6, 4, 6, 2, 1, 2, 4, 5, 6, 9, 9, 6, 6, 2, 8, 4, 2, 5, 5, 0, 0, 5, 7, 1, 4, 7, 8, 7, 6, 1, 9, 0, 7, 6, 8, 8, 6, 1, 7, 6, 2, 5, 4, 1, 7, 4, 8, 8, 2, 4, 7, 7, 6, 9, 8, 9, 9, 9, 1, 4, 2, 6, 0, 7, 6, 6, 4, 3]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
2,"[1, 9, 2, 1, 8, 2, 1, 0, 8, 7, 6, 7, 4, 2, 0, 9, 0, 2, 3, 3, 7, 9, 7, 2, 1, 5, 3, 8, 7, 1, 1, 9, 0, 8, 6, 0, 9, 1, 6, 0, 4, 7, 9, 9, 4, 3, 8, 1, 5, 2, 3, 4, 3, 5, 8, 7, 5, 8, 9, 9, 4, 3, 5, 3, 6, 5, 6, 4, 9, 4, 2, 7, 4, 1, 0, 5, 3, 2, 6, 1, 7, 5, 3, 6, 0, 5, 6, 9, 9, 2, 0, 2, 9, 0, 7, 1, 4, 7, 6, 0, 5, 3, 6, 9, 4, 4, 7, 5, 4, 5, 1, 6, 6, 4, 4, 8, 6, 6, 6, 7, 0, 8, 5, 3, 6, 9, 2, 4]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
3,"[7, 1, 9, 5, 7, 0, 3, 9, 8, 5, 8, 2, 0, 3, 3, 0, 6, 4, 8, 6, 8, 1, 8, 9, 7, 4, 8, 6, 7, 5, 6, 6, 2, 1, 6, 5, 1, 4, 8, 4, 1, 7, 9, 6, 9, 2, 2, 5, 0, 3, 5, 1, 9, 6, 0, 0, 8, 6, 7, 7, 1, 7, 5, 1, 5, 5, 8, 9, 1, 0, 3, 6, 0, 0, 5, 4, 4, 4, 0, 7, 9, 8, 3, 3, 5, 7, 2, 0, 6, 4, 9, 5, 6, 3, 7, 3, 3, 0, 4, 3, 9, 4, 0, 8, 9, 5, 8, 7, 0, 9, 4, 3, 2, 2, 4, 6, 9, 9, 8, 9, 2, 4, 8, 1, 2, 5, 7, 6]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
4,"[7, 8, 2, 4, 1, 1, 3, 0, 0, 8, 4, 3, 0, 3, 4, 1, 6, 3, 4, 0, 7, 1, 6, 5, 8, 0, 8, 3, 6, 1, 2, 4, 5, 2, 2, 9, 0, 7, 3, 3, 6, 2, 0, 7, 8, 8, 1, 5, 9, 5, 0, 8, 0, 2, 0, 9, 7, 1, 6, 4, 5, 3, 7, 1, 2, 2, 9, 1, 5, 0, 1, 8, 9, 5, 8, 3, 2, 0, 4, 0, 5, 8, 7, 5, 9, 5, 7, 7, 0, 3, 3, 7, 2, 8, 8, 1, 3, 0, 5, 5, 0, 0, 0, 0, 1, 0, 1, 6, 2, 6, 5, 6, 3, 4, 9, 7, 5, 3, 0, 1, 4, 6, 7, 9, 6, 3, 9, 6]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
5,"[9, 8, 1, 2, 7, 7, 6, 0, 6, 1, 8, 2, 8, 9, 4, 8, 2, 3, 0, 5, 4, 1, 0, 3, 0, 7, 0, 1, 0, 2, 0, 9, 4, 2, 2, 7, 7, 7, 6, 1, 3, 8, 7, 2, 7, 9, 8, 1, 0, 3, 7, 2, 0, 4, 8, 5, 1, 6, 3, 4, 9, 4, 3, 3, 2, 2, 7, 7, 6, 1, 1, 7, 8, 6, 4, 6, 7, 6, 8, 3, 4, 8, 2, 5, 4, 8, 1, 3, 0, 8, 4, 3, 1, 3, 1, 2, 9, 8, 4, 2, 2, 8, 1, 5, 5, 3, 7, 4, 6, 3, 1, 0, 0, 4, 1, 0, 4, 7, 4, 9, 2, 1, 9, 0, 8, 0, 1, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]"
6,"[8, 4, 8, 3, 6, 1, 4, 4, 8, 7, 5, 8, 9, 4, 5, 6, 5, 6, 1, 3, 7, 0, 7, 3, 2, 3, 8, 5, 8, 5, 3, 7, 3, 4, 1, 3, 1, 6, 5, 2, 6, 7, 7, 5, 3, 7, 3, 6, 4, 4, 6, 9, 9, 6, 4, 6, 4, 7, 4, 0, 1, 2, 9, 6, 2, 5, 2, 3, 0, 3, 8, 2, 1, 0, 5, 8, 1, 4, 6, 5, 2, 8, 3, 3, 8, 1, 2, 1, 6, 3, 7, 4, 4, 9, 9, 5, 5, 6, 1, 9, 7, 7, 5, 9, 6, 2, 6, 7, 3, 2, 5, 4, 4, 1, 2, 5, 0, 1, 5, 5, 5, 6, 0, 1, 1, 7, 7, 5]","[0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]"
7,"[3, 8, 0, 5, 5, 7, 4, 2, 9, 2, 8, 4, 2, 1, 9, 4, 6, 5, 2, 9, 1, 2, 1, 4, 0, 7, 4, 9, 6, 3, 8, 1, 8, 6, 4, 8, 3, 8, 2, 0, 4, 2, 7, 8, 2, 1, 6, 4, 3, 7, 5, 0, 5, 2, 0, 7, 7, 0, 2, 8, 0, 7, 0, 4, 2, 6, 3, 0, 0, 3, 0, 7, 3, 4, 9, 6, 7, 4, 5, 1, 7, 3, 1, 8, 4, 3, 5, 1, 8, 9, 8, 8, 4, 4, 9, 5, 9, 4, 9, 1, 9, 3, 3, 0, 5, 3, 8, 3, 3, 7, 6, 5, 4, 6, 1, 0, 1, 3, 7, 8, 4, 8, 5, 4, 4, 2, 9, 5]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
8,"[6, 2, 6, 9, 5, 4, 5, 2, 7, 3, 4, 0, 7, 8, 5, 2, 5, 0, 7, 7, 5, 5, 9, 9, 1, 8, 9, 1, 0, 3, 4, 6, 2, 6, 0, 6, 0, 2, 2, 3, 5, 9, 5, 7, 4, 2, 4, 5, 2, 2, 5, 0, 9, 7, 2, 6, 1, 6, 2, 0, 9, 7, 4, 3, 6, 5, 9, 0, 5, 6, 2, 9, 7, 7, 7, 7, 2, 9, 7, 0, 5, 5, 2, 3, 1, 8, 9, 1, 0, 1, 3, 6, 8, 1, 8, 1, 1, 9, 7, 7, 7, 4, 9, 7, 9, 4, 8, 0, 7, 3, 6, 8, 6, 6, 8, 5, 5, 5, 8, 2, 7, 1, 1, 5, 0, 7, 2, 3]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
9,"[3, 7, 3, 8, 0, 7, 7, 7, 6, 5, 3, 8, 4, 0, 2, 1, 1, 2, 0, 7, 2, 5, 9, 3, 0, 7, 1, 2, 7, 1, 2, 2, 5, 6, 2, 3, 4, 8, 5, 8, 6, 4, 5, 9, 4, 6, 2, 3, 2, 5, 0, 0, 3, 6, 9, 4, 8, 4, 3, 6, 4, 2, 0, 3, 9, 3, 2, 2, 5, 6, 0, 1, 4, 0, 3, 3, 7, 9, 8, 6, 9, 6, 7, 1, 2, 6, 5, 9, 6, 9, 0, 2, 9, 6, 2, 3, 6, 0, 5, 1, 2, 0, 4, 0, 8, 3, 9, 4, 3, 6, 0, 3, 9, 7, 3, 6, 1, 0, 6, 0, 4, 4, 5, 8, 4, 9, 8, 4]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
10,"[3, 5, 9, 2, 0, 5, 0, 6, 6, 4, 8, 0, 2, 7, 8, 9, 3, 6, 7, 8, 6, 1, 3, 5, 8, 8, 0, 5, 7, 2, 7, 0, 9, 1, 4, 8, 9, 3, 7, 3, 4, 7, 3, 1, 3, 3, 3, 0, 3, 2, 5, 6, 0, 6, 5, 8, 7, 5, 9, 7, 4, 8, 3, 1, 5, 0, 5, 0, 8, 5, 1, 3, 8, 9, 1, 6, 2, 2, 8, 4, 9, 2, 2, 2, 8, 4, 9, 8, 0, 7, 5, 3, 9, 7, 9, 1, 7, 3, 7, 7, 6, 2, 3, 6, 8, 4, 8, 9, 6, 4, 2, 2, 0, 1, 7, 5, 4, 7, 3, 6, 6, 6, 9, 9, 2, 4, 6, 8]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
11,"[6, 6, 7, 8, 6, 9, 0, 9, 4, 2, 9, 0, 0, 3, 8, 3, 2, 3, 1, 7, 9, 8, 8, 5, 4, 7, 2, 6, 4, 3, 4, 0, 2, 6, 4, 5, 6, 6, 1, 3, 1, 0, 9, 6, 1, 5, 1, 5, 3, 5, 6, 9, 5, 1, 8, 8, 0, 9, 1, 5, 5, 7, 2, 3, 9, 1, 2, 5, 4, 4, 8, 2, 1, 2, 4, 6, 4, 5, 3, 3, 7, 4, 8, 4, 2, 2, 3, 7, 2, 9, 4, 8, 2, 3, 3, 0, 1, 5, 3, 8, 1, 9, 9, 0, 9, 0, 5, 8, 3, 2, 5, 8, 4, 9, 0, 9, 4, 8, 6, 0, 4, 3, 2, 2, 1, 0, 2, 2]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
12,"[6, 5, 3, 7, 0, 7, 6, 1, 8, 8, 3, 3, 3, 2, 8, 9, 6, 9, 6, 2, 0, 4, 6, 5, 5, 9, 5, 6, 0, 6, 8, 6, 8, 1, 0, 5, 5, 7, 7, 6, 9, 9, 2, 5, 8, 1, 9, 9, 7, 9, 7, 0, 8, 1, 6, 8, 4, 7, 0, 8, 6, 8, 9, 1, 2, 0, 1, 0, 1, 7, 5, 7, 0, 5, 3, 2, 5, 6, 1, 4, 2, 4, 7, 0, 8, 3, 1, 6, 4, 5, 2, 6, 5, 2, 4, 7, 1, 3, 4, 5, 5, 9, 3, 0, 3, 0, 0, 1, 3, 7, 0, 0, 2, 2, 1, 2, 7, 9, 2, 0, 2, 2, 8, 1, 4, 4, 6, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
13,"[7, 2, 7, 8, 3, 6, 5, 1, 6, 3, 5, 8, 6, 1, 7, 7, 0, 0, 2, 6, 3, 9, 6, 1, 9, 7, 0, 3, 0, 8, 4, 6, 2, 1, 1, 8, 9, 3, 6, 0, 5, 6, 8, 7, 6, 0, 3, 7, 6, 4, 3, 4, 2, 4, 3, 7, 9, 2, 3, 4, 3, 3, 9, 1, 8, 1, 9, 8, 6, 2, 6, 5, 2, 9, 5, 4, 6, 6, 8, 3, 4, 1, 0, 8, 5, 8, 1, 0, 7, 0, 8, 3, 5, 7, 9, 9, 4, 7, 5, 8, 5, 8, 5, 9, 4, 5, 4, 1, 8, 0, 8, 7, 8, 8, 0, 7, 4, 9, 5, 5, 7, 3, 4, 9, 7, 2, 1, 8]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
14,"[2, 2, 1, 1, 6, 3, 1, 7, 8, 2, 8, 9, 4, 0, 6, 9, 7, 0, 8, 4, 4, 6, 4, 6, 4, 3, 4, 8, 7, 7, 5, 2, 4, 4, 7, 0, 1, 7, 5, 2, 7, 6, 6, 0, 0, 8, 2, 2, 5, 0, 1, 6, 6, 1, 1, 4, 6, 7, 5, 2, 1, 4, 8, 4, 6, 0, 7, 2, 5, 9, 6, 3, 9, 8, 3, 2, 1, 1, 4, 5, 7, 4, 1, 8, 9, 2, 3, 6, 8, 4, 5, 3, 4, 0, 3, 1, 4, 5, 5, 5, 2, 1, 8, 3, 7, 3, 9, 8, 3, 5, 5, 9, 6, 3, 5, 0, 6, 6, 3, 0, 9, 0, 8, 6, 8, 7, 8, 4]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]"
15,"[7, 8, 9, 1, 0, 4, 1, 9, 0, 5, 3, 4, 0, 1, 9, 4, 7, 0, 6, 7, 8, 2, 1, 5, 9, 0, 5, 5, 7, 7, 6, 6, 6, 4, 6, 7, 4, 2, 3, 5, 8, 7, 3, 5, 7, 0, 1, 7, 8, 4, 8, 2, 1, 5, 0, 2, 4, 3, 1, 6, 5, 6, 0, 0, 8, 3, 0, 9, 0, 5, 7, 2, 6, 5, 9, 7, 3, 0, 2, 6, 0, 8, 7, 9, 5, 0, 8, 8, 4, 3, 4, 6, 1, 1, 5, 3, 8, 9, 9, 0, 9, 1, 4, 0, 4, 2, 6, 2, 4, 6, 6, 3, 9, 7, 4, 1, 9, 9, 7, 6, 9, 2, 4, 9, 7, 6, 8, 8]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
16,"[6, 4, 5, 9, 2, 7, 5, 7, 6, 5, 0, 0, 2, 0, 7, 9, 5, 7, 5, 7, 9, 0, 4, 7, 4, 3, 8, 8, 0, 5, 4, 6, 6, 9, 4, 1, 2, 0, 7, 2, 8, 0, 4, 2, 0, 0, 9, 9, 0, 2, 3, 9, 3, 4, 7, 0, 9, 1, 0, 5, 5, 8, 2, 6, 1, 6, 3, 3, 8, 8, 6, 5, 4, 0, 7, 2, 4, 9, 6, 4, 3, 9, 4, 9, 9, 4, 4, 7, 5, 1, 8, 8, 3, 6, 0, 9, 6, 0, 1, 4, 0, 4, 3, 6, 0, 8, 5, 4, 7, 6, 1, 5, 2, 2, 3, 4, 5, 2, 4, 3, 3, 1, 9, 8, 6, 7, 7, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
17,"[8, 3, 0, 2, 5, 3, 6, 1, 9, 9, 6, 6, 7, 7, 6, 4, 1, 9, 9, 9, 2, 5, 1, 4, 8, 0, 7, 6, 4, 2, 0, 0, 4, 1, 1, 2, 3, 2, 6, 7, 1, 1, 2, 1, 0, 9, 1, 0, 5, 2, 0, 2, 7, 7, 8, 1, 3, 8, 5, 0, 1, 4, 5, 5, 4, 4, 6, 1, 0, 7, 5, 4, 6, 0, 2, 9, 1, 7, 5, 5, 3, 2, 4, 2, 4, 5, 7, 1, 8, 4, 1, 2, 0, 5, 8, 7, 3, 2, 3, 6, 7, 0, 2, 9, 1, 8, 5, 5, 3, 5, 1, 0, 7, 0, 4, 3, 5, 4, 5, 5, 5, 7, 9, 0, 9, 0, 4, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
18,"[5, 0, 0, 0, 3, 6, 0, 8, 0, 9, 2, 8, 4, 1, 8, 7, 3, 3, 5, 6, 7, 1, 7, 7, 0, 1, 8, 4, 8, 7, 6, 6, 0, 6, 3, 9, 0, 3, 4, 4, 5, 4, 5, 8, 2, 7, 6, 3, 9, 6, 1, 9, 3, 0, 3, 5, 9, 2, 1, 7, 1, 9, 2, 9, 8, 6, 7, 1, 3, 3, 5, 8, 8, 8, 9, 6, 8, 2, 1, 6, 5, 3, 4, 8, 5, 6, 0, 9, 5, 0, 0, 1, 0, 4, 7, 4, 3, 4, 5, 3, 3, 0, 9, 0, 5, 3, 2, 3, 7, 9, 2, 9, 4, 4, 6, 1, 3, 6, 1, 4, 0, 0, 5, 2, 0, 7, 8, 4]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
19,"[7, 3, 7, 6, 5, 5, 4, 3, 6, 2, 9, 8, 9, 5, 9, 1, 9, 1, 5, 2, 4, 8, 8, 6, 8, 5, 5, 0, 1, 6, 2, 8, 0, 1, 8, 4, 6, 6, 6, 3, 0, 6, 4, 4, 4, 2, 8, 4, 8, 9, 8, 7, 0, 9, 2, 5, 5, 6, 2, 2, 1, 3, 4, 3, 0, 7, 5, 6, 3, 8, 8, 1, 2, 2, 6, 8, 9, 9, 8, 8, 5, 7, 9, 1, 3, 4, 5, 1, 0, 1, 9, 3, 7, 5, 1, 2, 7, 7, 2, 2, 1, 8, 3, 4, 5, 6, 1, 0, 2, 9, 6, 3, 3, 7, 1, 0, 9, 6, 8, 3, 8, 3, 5, 5, 6, 6, 5, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
20,"[0, 1, 1, 4, 0, 1, 8, 4, 1, 3, 2, 7, 9, 8, 2, 9, 7, 2, 4, 5, 4, 7, 9, 4, 6, 9, 1, 5, 9, 6, 7, 6, 1, 5, 0, 5, 4, 3, 6, 9, 0, 9, 3, 8, 9, 2, 7, 3, 1, 5, 0, 5, 6, 7, 5, 2, 2, 2, 8, 1, 3, 8, 0, 2, 3, 0, 0, 9, 7, 4, 2, 8, 3, 5, 3, 0, 6, 8, 2, 0, 1, 9, 9, 7, 7, 3, 2, 7, 9, 5, 9, 7, 6, 4, 1, 6, 8, 5, 8, 8, 3, 1, 9, 2, 3, 5, 4, 5, 6, 5, 2, 6, 6, 6, 6, 5, 2, 9, 1, 7, 3, 8, 8, 1, 1, 8, 5, 9]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
21,"[0, 1, 3, 2, 6, 4, 7, 5, 8, 7, 1, 1, 0, 1, 3, 2, 0, 1, 4, 2, 9, 8, 8, 8, 7, 8, 8, 4, 3, 1, 8, 1, 7, 0, 0, 2, 7, 1, 3, 2, 8, 2, 6, 4, 7, 7, 9, 6, 3, 6, 1, 8, 2, 2, 1, 1, 7, 4, 9, 9, 1, 5, 9, 3, 6, 5, 7, 3, 1, 1, 3, 6, 8, 5, 5, 0, 5, 7, 4, 0, 9, 3, 4, 5, 2, 8, 6, 0, 2, 6, 1, 7, 6, 5, 0, 2, 9, 5, 4, 4, 8, 3, 7, 6, 4, 3, 8, 6, 8, 4, 2, 6, 3, 5, 5, 5, 9, 6, 8, 9, 2, 1, 0, 8, 6, 7, 0, 4]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
22,"[2, 1, 3, 2, 7, 6, 6, 9, 1, 9, 2, 3, 4, 1, 3, 6, 7, 6, 5, 2, 0, 9, 3, 5, 4, 5, 7, 7, 1, 8, 6, 2, 8, 3, 1, 4, 7, 8, 0, 5, 8, 0, 9, 0, 0, 2, 9, 2, 3, 1, 6, 0, 9, 3, 2, 2, 7, 0, 5, 8, 2, 3, 7, 2, 4, 5, 4, 1, 9, 5, 8, 6, 6, 6, 4, 7, 7, 0, 9, 5, 1, 3, 9, 8, 5, 6, 7, 7, 1, 4, 2, 0, 2, 7, 5, 0, 2, 5, 8, 5, 6, 8, 7, 7, 1, 7, 2, 8, 3, 7, 9, 1, 6, 3, 5, 2, 9, 5, 5, 4, 7, 4, 2, 8, 1, 1, 9, 9]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
23,"[2, 6, 6, 7, 3, 1, 6, 0, 1, 8, 8, 9, 8, 6, 7, 0, 3, 0, 6, 8, 3, 5, 0, 0, 8, 7, 6, 0, 6, 6, 1, 9, 4, 2, 3, 3, 1, 2, 5, 9, 1, 0, 1, 5, 0, 6, 3, 1, 3, 7, 5, 2, 1, 8, 0, 5, 3, 4, 8, 3, 5, 4, 9, 5, 1, 2, 7, 7, 3, 6, 2, 5, 7, 4, 5, 4, 2, 6, 6, 9, 4, 9, 1, 1, 0, 6, 4, 4, 4, 4, 8, 3, 6, 1, 0, 2, 5, 1, 5, 3, 0, 8, 2, 2, 7, 0, 9, 6, 1, 5, 7, 1, 6, 7, 5, 6, 0, 8, 9, 2, 7, 2, 9, 2, 3, 2, 9, 6]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
24,"[3, 6, 6, 1, 3, 0, 7, 7, 8, 0, 2, 0, 3, 0, 6, 0, 9, 8, 5, 3, 4, 3, 9, 6, 2, 4, 8, 9, 3, 1, 3, 9, 9, 0, 0, 9, 8, 9, 4, 9, 6, 6, 9, 0, 0, 0, 0, 1, 1, 1, 2, 5, 7, 2, 5, 2, 6, 9, 4, 8, 9, 2, 4, 7, 1, 9, 9, 2, 8, 3, 0, 6, 6, 4, 6, 7, 4, 0, 3, 5, 8, 8, 0, 1, 4, 7, 6, 3, 6, 2, 3, 4, 0, 1, 6, 9, 4, 6, 3, 5, 5, 1, 1, 9, 7, 8, 4, 8, 6, 9, 4, 6, 0, 5, 6, 3, 4, 3, 4, 3, 0, 6, 3, 6, 1, 7, 6, 9]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
25,"[8, 0, 1, 9, 8, 5, 3, 2, 1, 6, 0, 2, 1, 7, 0, 7, 2, 9, 0, 1, 3, 5, 3, 6, 8, 2, 9, 3, 1, 7, 9, 0, 0, 2, 9, 7, 9, 8, 7, 9, 3, 3, 9, 5, 3, 8, 0, 3, 3, 5, 0, 6, 3, 0, 9, 6, 4, 3, 4, 4, 9, 4, 7, 0, 2, 6, 3, 4, 6, 0, 7, 5, 1, 9, 3, 1, 2, 5, 0, 9, 6, 5, 0, 7, 6, 6, 9, 9, 0, 6, 4, 8, 9, 0, 8, 3, 1, 1, 6, 9, 3, 0, 4, 8, 5, 1, 5, 9, 2, 1, 2, 6, 2, 1, 2, 2, 1, 9, 9, 3, 6, 5, 6, 1, 1, 7, 1, 5]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
26,"[1, 8, 6, 7, 7, 5, 0, 5, 5, 8, 8, 3, 8, 4, 4, 7, 8, 3, 0, 0, 8, 4, 8, 5, 9, 6, 3, 4, 1, 5, 1, 1, 7, 2, 6, 6, 0, 4, 0, 4, 6, 6, 1, 8, 0, 4, 5, 3, 6, 7, 1, 7, 5, 5, 3, 9, 8, 3, 7, 6, 3, 1, 0, 6, 0, 6, 9, 9, 3, 6, 0, 1, 4, 8, 0, 8, 4, 8, 8, 0, 1, 0, 6, 6, 8, 6, 1, 8, 2, 8, 4, 0, 6, 0, 0, 4, 7, 4, 3, 8, 7, 1, 4, 6, 7, 6, 2, 7, 5, 3, 8, 7, 3, 0, 5, 0, 9, 2, 6, 3, 4, 9, 3, 0, 2, 3, 2, 9]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
27,"[2, 9, 2, 1, 4, 1, 3, 7, 5, 4, 3, 7, 4, 6, 0, 5, 8, 5, 6, 8, 5, 7, 5, 9, 5, 4, 4, 2, 2, 3, 8, 3, 4, 6, 1, 7, 3, 4, 4, 2, 6, 2, 1, 4, 7, 2, 6, 1, 5, 3, 2, 0, 0, 1, 6, 3, 8, 7, 2, 4, 5, 5, 5, 5, 9, 4, 5, 0, 2, 2, 8, 7, 7, 7, 8, 2, 6, 4, 7, 8, 4, 8, 8, 2, 0, 6, 9, 6, 9, 9, 8, 0, 2, 4, 3, 4, 5, 2, 3, 7, 5, 8, 7, 8, 7, 5, 5, 1, 4, 7, 0, 2, 2, 6, 0, 0, 4, 1, 7, 0, 5, 4, 9, 6, 3, 3, 8, 9]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]"
28,"[5, 2, 5, 3, 0, 1, 7, 3, 5, 8, 6, 9, 3, 0, 6, 9, 6, 0, 5, 0, 2, 1, 4, 5, 2, 4, 7, 4, 3, 6, 8, 6, 5, 8, 9, 1, 6, 9, 5, 3, 1, 9, 9, 1, 0, 1, 4, 9, 8, 8, 0, 2, 8, 6, 9, 3, 3, 0, 7, 2, 8, 4, 0, 0, 0, 3, 2, 2, 5, 6, 6, 4, 6, 9, 9, 3, 8, 5, 4, 7, 2, 3, 6, 0, 5, 1, 2, 9, 9, 8, 6, 1, 4, 7, 7, 4, 7, 6, 1, 3, 7, 9, 4, 2, 4, 2, 0, 3, 8, 2, 9, 8, 8, 5, 7, 5, 6, 5, 4, 3, 5, 6, 0, 5, 1, 8, 6, 4]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
29,"[1, 9, 2, 4, 6, 8, 4, 3, 0, 9, 5, 5, 2, 7, 4, 8, 4, 2, 7, 7, 0, 5, 4, 8, 4, 9, 5, 9, 8, 1, 2, 7, 0, 3, 7, 6, 2, 5, 4, 6, 8, 5, 2, 3, 3, 6, 5, 4, 6, 6, 1, 7, 0, 8, 2, 9, 5, 5, 2, 8, 1, 9, 7, 6, 5, 1, 9, 3, 8, 7, 4, 9, 0, 4, 0, 1, 8, 1, 0, 8, 9, 8, 2, 7, 1, 9, 4, 9, 4, 4, 1, 2, 7, 6, 1, 2, 5, 3, 1, 0, 7, 6, 2, 5, 8, 4, 6, 4, 4, 7, 2, 5, 0, 6, 3, 5, 9, 2, 0, 4, 7, 1, 3, 5, 3, 9, 9, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
30,"[5, 7, 0, 3, 2, 8, 8, 1, 8, 3, 0, 7, 7, 6, 2, 9, 2, 2, 3, 5, 3, 8, 0, 7, 8, 7, 6, 1, 7, 0, 7, 1, 2, 1, 5, 0, 6, 4, 6, 9, 5, 4, 1, 2, 2, 7, 8, 3, 0, 1, 5, 7, 2, 7, 2, 6, 7, 2, 9, 3, 5, 2, 7, 8, 8, 8, 4, 7, 1, 3, 8, 5, 4, 3, 8, 3, 8, 9, 2, 7, 6, 4, 2, 5, 7, 9, 8, 4, 1, 9, 4, 1, 0, 0, 1, 5, 0, 6, 0, 2, 1, 7, 6, 4, 0, 5, 4, 2, 3, 9, 1, 9, 7, 0, 4, 5, 2, 5, 7, 6, 3, 3, 4, 9, 9, 1, 7, 4]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
31,"[8, 9, 6, 2, 7, 7, 8, 6, 9, 9, 2, 6, 0, 8, 4, 1, 5, 6, 6, 3, 9, 9, 5, 7, 4, 1, 2, 4, 0, 4, 7, 2, 0, 0, 3, 5, 0, 4, 0, 3, 7, 3, 9, 8, 2, 5, 4, 0, 2, 5, 3, 3, 7, 5, 8, 1, 6, 7, 0, 0, 9, 0, 5, 0, 6, 6, 5, 1, 6, 9, 6, 6, 1, 8, 7, 3, 7, 2, 2, 0, 7, 9, 2, 7, 9, 5, 4, 3, 2, 3, 0, 7, 9, 4, 1, 6, 8, 4, 2, 6, 9, 6, 4, 8, 0, 0, 4, 9, 3, 4, 7, 2, 1, 7, 2, 9, 0, 1, 2, 5, 8, 4, 1, 4, 0, 5, 5, 5]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
32,"[5, 6, 8, 1, 2, 0, 6, 1, 5, 7, 5, 4, 2, 9, 6, 6, 7, 0, 5, 3, 5, 7, 2, 5, 8, 2, 4, 5, 7, 5, 1, 0, 9, 9, 6, 8, 2, 0, 8, 4, 9, 3, 4, 2, 1, 1, 2, 7, 6, 1, 0, 2, 8, 9, 9, 4, 7, 5, 3, 6, 4, 6, 1, 4, 9, 2, 3, 0, 9, 2, 1, 5, 6, 9, 1, 2, 3, 0, 3, 4, 4, 4, 8, 9, 2, 3, 5, 5, 4, 8, 8, 6, 7, 9, 3, 1, 1, 8, 0, 4, 9, 9, 3, 1, 4, 6, 2, 1, 7, 1, 8, 9, 5, 3, 2, 1, 7, 8, 7, 1, 0, 5, 4, 6, 1, 1, 9, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
33,"[2, 8, 6, 1, 4, 7, 1, 1, 9, 7, 2, 6, 3, 3, 5, 5, 7, 3, 5, 6, 7, 6, 7, 9, 3, 4, 3, 4, 5, 9, 5, 1, 5, 1, 1, 7, 1, 1, 7, 1, 2, 6, 8, 1, 0, 6, 1, 7, 5, 9, 5, 5, 4, 1, 7, 1, 4, 0, 0, 5, 4, 1, 5, 9, 7, 7, 4, 9, 9, 0, 9, 7, 0, 8, 9, 9, 3, 5, 8, 3, 6, 5, 2, 8, 6, 1, 5, 2, 4, 3, 4, 1, 3, 7, 7, 2, 2, 9, 0, 8, 3, 0, 0, 4, 7, 4, 5, 1, 6, 3, 2, 9, 7, 5, 1, 7, 7, 5, 5, 9, 9, 6, 9, 2, 9, 7, 1, 3]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
34,"[8, 4, 4, 5, 8, 1, 9, 7, 1, 8, 7, 5, 4, 5, 9, 4, 3, 7, 3, 1, 5, 1, 9, 7, 8, 2, 4, 1, 8, 1, 4, 9, 4, 8, 4, 7, 8, 1, 3, 0, 4, 8, 5, 0, 4, 2, 5, 4, 5, 2, 3, 6, 3, 2, 5, 9, 6, 9, 7, 7, 2, 3, 1, 8, 2, 1, 2, 0, 1, 2, 0, 7, 8, 3, 5, 1, 4, 3, 0, 9, 7, 4, 6, 2, 1, 2, 1, 5, 4, 8, 2, 6, 7, 9, 8, 9, 0, 4, 9, 2, 5, 4, 1, 7, 5, 5, 1, 7, 5, 9, 0, 9, 1, 4, 4, 6, 5, 9, 4, 2, 6, 8, 8, 1, 3, 7, 5, 5]","[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
35,"[2, 5, 8, 2, 7, 2, 1, 3, 3, 6, 9, 2, 3, 1, 4, 9, 0, 5, 3, 2, 7, 2, 9, 9, 9, 0, 4, 8, 0, 9, 3, 5, 4, 7, 9, 2, 0, 0, 3, 3, 5, 1, 6, 5, 7, 2, 8, 1, 6, 5, 5, 0, 7, 4, 8, 0, 8, 2, 8, 4, 8, 3, 8, 9, 8, 7, 2, 5, 8, 4, 0, 7, 0, 1, 6, 4, 7, 0, 6, 9, 5, 3, 8, 9, 4, 8, 6, 5, 7, 7, 4, 0, 4, 3, 8, 1, 5, 7, 2, 5, 3, 5, 5, 4, 8, 1, 9, 2, 8, 7, 6, 0, 8, 4, 8, 1, 1, 1, 0, 0, 8, 0, 2, 7, 9, 7, 6, 5]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
36,"[7, 7, 5, 9, 4, 9, 5, 3, 5, 1, 9, 7, 3, 7, 7, 2, 1, 0, 2, 6, 3, 3, 4, 0, 7, 7, 2, 5, 0, 3, 4, 0, 6, 5, 5, 1, 8, 4, 4, 8, 7, 3, 1, 8, 0, 8, 1, 6, 9, 7, 5, 6, 5, 4, 2, 1, 8, 2, 6, 6, 1, 6, 9, 7, 5, 9, 5, 7, 8, 4, 3, 9, 5, 0, 8, 6, 0, 3, 6, 3, 8, 4, 9, 8, 8, 1, 6, 5, 3, 7, 1, 0, 7, 5, 0, 4, 0, 6, 4, 2, 9, 8, 4, 1, 3, 5, 7, 3, 7, 7, 3, 9, 1, 6, 9, 1, 9, 9, 7, 2, 8, 2, 6, 5, 6, 4, 3, 5]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
37,"[1, 0, 9, 2, 1, 0, 3, 4, 1, 6, 3, 6, 0, 0, 9, 2, 9, 0, 3, 3, 6, 6, 8, 8, 0, 4, 6, 5, 4, 1, 8, 5, 1, 2, 0, 7, 2, 0, 5, 8, 8, 0, 3, 7, 5, 7, 6, 4, 1, 5, 0, 9, 4, 9, 1, 7, 9, 4, 1, 1, 3, 8, 7, 5, 7, 0, 9, 5, 9, 9, 6, 3, 4, 2, 4, 9, 4, 8, 2, 5, 5, 9, 7, 9, 7, 8, 6, 6, 0, 9, 7, 1, 6, 0, 9, 3, 2, 0, 4, 1, 8, 8, 7, 4, 1, 7, 3, 0, 4, 1, 8, 7, 8, 9, 0, 7, 6, 7, 3, 6, 6, 4, 7, 1, 1, 6, 5, 9]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
38,"[1, 7, 0, 4, 9, 9, 0, 8, 1, 0, 3, 8, 1, 3, 5, 5, 6, 5, 1, 7, 3, 0, 0, 9, 5, 3, 9, 9, 6, 6, 2, 5, 1, 1, 9, 3, 0, 2, 8, 4, 9, 2, 5, 9, 4, 0, 6, 2, 6, 6, 1, 9, 6, 3, 0, 7, 8, 5, 3, 4, 1, 3, 3, 9, 7, 3, 5, 7, 3, 9, 7, 7, 2, 5, 1, 9, 0, 9, 3, 0, 3, 1, 3, 1, 7, 4, 1, 0, 7, 1, 4, 7, 1, 8, 7, 8, 6, 5, 2, 7, 3, 8, 2, 7, 3, 4, 3, 1, 5, 0, 1, 4, 9, 2, 9, 3, 3, 6, 6, 5, 8, 5, 1, 9, 1, 3, 2, 6]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
39,"[8, 6, 2, 4, 6, 7, 8, 4, 0, 4, 6, 7, 8, 5, 5, 7, 6, 4, 3, 6, 3, 7, 9, 7, 4, 2, 4, 8, 1, 3, 6, 9, 8, 4, 2, 2, 2, 0, 5, 8, 4, 3, 1, 3, 1, 7, 7, 0, 6, 6, 0, 5, 1, 0, 1, 0, 5, 8, 4, 6, 7, 3, 0, 9, 2, 6, 6, 3, 0, 1, 1, 5, 3, 8, 8, 8, 4, 0, 6, 1, 6, 6, 3, 5, 0, 8, 6, 0, 2, 9, 4, 2, 7, 5, 2, 6, 2, 6, 0, 9, 0, 6, 0, 0, 5, 6, 3, 7, 4, 3, 1, 4, 0, 3, 3, 2, 2, 5, 7, 6, 0, 0, 2, 5, 0, 5, 9, 6]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]"
40,"[8, 6, 0, 6, 5, 8, 9, 7, 9, 3, 8, 8, 0, 8, 0, 7, 7, 4, 5, 1, 7, 7, 4, 9, 0, 7, 5, 8, 3, 5, 8, 7, 2, 9, 9, 0, 1, 8, 0, 6, 5, 3, 3, 8, 0, 6, 7, 2, 6, 4, 9, 5, 0, 4, 1, 5, 2, 0, 5, 5, 7, 6, 7, 5, 0, 8, 9, 0, 1, 9, 3, 1, 8, 6, 2, 5, 7, 1, 1, 0, 3, 7, 3, 1, 3, 5, 6, 4, 5, 8, 7, 4, 0, 1, 9, 2, 8, 5, 7, 7, 7, 6, 7, 0, 0, 0, 7, 0, 4, 6, 2, 6, 5, 9, 8, 4, 8, 8, 1, 0, 7, 8, 7, 9, 9, 2, 0, 8]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
41,"[5, 1, 8, 2, 8, 4, 4, 5, 0, 7, 5, 3, 3, 6, 1, 1, 5, 9, 4, 7, 3, 1, 0, 0, 4, 9, 8, 5, 0, 8, 8, 7, 9, 0, 3, 4, 8, 4, 7, 4, 2, 4, 1, 9, 4, 8, 5, 8, 6, 0, 1, 8, 6, 3, 4, 5, 0, 2, 8, 0, 4, 4, 9, 5, 2, 8, 7, 4, 9, 6, 2, 3, 8, 7, 1, 0, 8, 0, 1, 1, 0, 0, 2, 1, 1, 2, 8, 8, 0, 1, 3, 5, 0, 5, 5, 1, 1, 5, 3, 4, 3, 7, 3, 0, 0, 1, 3, 4, 1, 9, 4, 6, 7, 1, 8, 3, 4, 7, 0, 3, 3, 2, 7, 5, 7, 2, 7, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
42,"[5, 0, 6, 3, 6, 5, 5, 1, 0, 8, 1, 8, 8, 0, 0, 6, 5, 9, 1, 6, 5, 8, 1, 9, 7, 2, 5, 5, 4, 0, 7, 9, 3, 5, 1, 5, 9, 6, 8, 4, 3, 1, 6, 4, 5, 0, 2, 2, 9, 9, 0, 1, 6, 6, 8, 6, 0, 2, 9, 7, 7, 0, 2, 7, 0, 0, 1, 3, 0, 3, 7, 4, 6, 6, 6, 5, 0, 0, 5, 3, 9, 6, 3, 5, 3, 3, 9, 0, 4, 4, 2, 4, 0, 3, 9, 5, 8, 7, 4, 0, 7, 6, 4, 7, 1, 6, 3, 3, 2, 4, 5, 0, 1, 5, 7, 3, 4, 3, 8, 6, 5, 8, 9, 7, 2, 3, 2, 5]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
43,"[4, 1, 0, 8, 1, 0, 4, 2, 0, 8, 8, 7, 8, 0, 2, 6, 6, 8, 3, 3, 6, 0, 5, 5, 3, 0, 9, 9, 6, 7, 8, 4, 2, 8, 5, 0, 9, 4, 4, 5, 8, 6, 4, 1, 1, 6, 5, 4, 6, 9, 6, 4, 3, 2, 5, 4, 3, 8, 1, 7, 5, 9, 4, 2, 0, 5, 9, 0, 3, 6, 1, 3, 6, 8, 5, 4, 4, 6, 6, 1, 7, 1, 5, 1, 1, 0, 5, 5, 3, 8, 7, 8, 8, 5, 3, 2, 1, 1, 7, 7, 4, 0, 8, 7, 6, 2, 9, 2, 6, 8, 8, 1, 6, 8, 3, 2, 2, 1, 3, 2, 9, 5, 1, 8, 8, 0, 4, 2]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]"
44,"[6, 2, 0, 8, 6, 4, 3, 8, 9, 4, 7, 0, 7, 7, 6, 5, 1, 0, 4, 1, 5, 9, 5, 2, 1, 6, 9, 9, 1, 3, 6, 0, 2, 7, 4, 8, 8, 7, 1, 2, 5, 4, 8, 8, 8, 1, 2, 7, 1, 4, 8, 5, 8, 4, 0, 7, 5, 8, 6, 9, 6, 6, 1, 6, 0, 0, 7, 9, 2, 1, 0, 2, 9, 4, 3, 9, 8, 5, 0, 3, 1, 5, 6, 0, 2, 4, 1, 7, 1, 9, 0, 6, 9, 7, 9, 2, 9, 1, 1, 8, 4, 1, 7, 9, 6, 0, 9, 3, 8, 0, 7, 3, 1, 0, 2, 0, 7, 9, 3, 6, 4, 2, 3, 1, 3, 0, 5, 1]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
45,"[3, 9, 5, 4, 8, 0, 0, 9, 5, 7, 3, 2, 7, 1, 3, 8, 4, 9, 9, 3, 2, 1, 5, 6, 2, 1, 8, 2, 6, 6, 6, 4, 0, 8, 5, 0, 8, 2, 2, 5, 6, 3, 2, 5, 2, 1, 9, 6, 0, 8, 1, 0, 7, 6, 9, 2, 7, 8, 6, 1, 2, 3, 1, 8, 7, 1, 8, 3, 6, 7, 1, 8, 1, 3, 6, 3, 1, 3, 6, 8, 7, 4, 7, 2, 7, 2, 1, 6, 9, 0, 2, 6, 9, 2, 0, 7, 6, 5, 8, 6, 2, 5, 2, 9, 7, 7, 6, 1, 4, 3, 3, 4, 3, 1, 0, 2, 6, 8, 4, 4, 2, 2, 6, 3, 4, 8, 2, 3]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
46,"[1, 6, 0, 4, 0, 8, 3, 5, 4, 9, 5, 9, 2, 0, 9, 5, 5, 0, 1, 3, 6, 7, 6, 6, 5, 0, 3, 0, 4, 3, 1, 1, 3, 6, 4, 2, 0, 2, 5, 1, 2, 5, 0, 9, 9, 3, 0, 5, 8, 3, 2, 0, 3, 3, 2, 9, 9, 0, 5, 5, 5, 7, 0, 5, 0, 9, 8, 8, 9, 5, 7, 1, 5, 8, 4, 0, 8, 2, 9, 0, 7, 9, 6, 6, 1, 6, 4, 1, 6, 8, 2, 3, 0, 2, 6, 9, 3, 2, 5, 3, 9, 0, 9, 4, 5, 7, 8, 4, 5, 4, 6, 6, 2, 8, 2, 3, 8, 1, 5, 1, 3, 4, 8, 2, 0, 6, 7, 6]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
47,"[2, 4, 2, 5, 1, 5, 7, 3, 0, 5, 5, 2, 0, 5, 1, 7, 5, 8, 5, 5, 1, 4, 9, 9, 7, 7, 7, 4, 5, 9, 3, 8, 6, 8, 7, 2, 8, 3, 6, 9, 1, 2, 1, 2, 7, 7, 6, 7, 2, 2, 1, 8, 7, 3, 7, 3, 8, 0, 6, 3, 9, 0, 1, 4, 7, 5, 4, 8, 5, 4, 5, 1, 7, 4, 7, 4, 0, 5, 8, 8, 5, 0, 2, 5, 8, 9, 6, 6, 9, 7, 5, 7, 8, 4, 6, 6, 5, 2, 4, 8, 9, 2, 6, 0, 0, 3, 2, 4, 0, 9, 1, 5, 9, 8, 3, 8, 7, 0, 3, 2, 6, 5, 2, 3, 4, 4, 3, 2]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
48,"[0, 1, 4, 3, 2, 6, 2, 7, 6, 4, 4, 9, 6, 8, 6, 2, 7, 8, 6, 4, 1, 0, 2, 4, 7, 3, 9, 4, 7, 0, 9, 3, 4, 5, 2, 6, 4, 0, 9, 1, 1, 6, 5, 4, 9, 8, 3, 8, 6, 9, 3, 6, 0, 3, 5, 5, 5, 9, 0, 3, 9, 2, 3, 5, 5, 7, 1, 7, 2, 7, 1, 0, 6, 8, 4, 1, 1, 8, 5, 5, 1, 2, 0, 6, 5, 0, 4, 2, 6, 8, 3, 3, 8, 9, 8, 6, 4, 3, 5, 3, 1, 1, 2, 6, 5, 5, 8, 1, 3, 1, 0, 2, 0, 4, 9, 4, 3, 5, 7, 4, 7, 9, 4, 1, 3, 4, 4, 3]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
49,"[2, 2, 0, 6, 0, 1, 9, 3, 8, 4, 7, 2, 6, 1, 5, 7, 5, 9, 7, 1, 3, 3, 3, 1, 1, 7, 4, 0, 7, 9, 1, 4, 9, 6, 3, 1, 1, 6, 3, 7, 1, 1, 9, 4, 0, 7, 1, 1, 1, 2, 3, 8, 4, 9, 7, 1, 8, 2, 7, 1, 2, 1, 6, 0, 7, 5, 8, 1, 8, 5, 2, 5, 3, 8, 0, 1, 0, 9, 5, 7, 1, 8, 7, 1, 9, 5, 3, 7, 0, 4, 0, 5, 9, 6, 7, 1, 2, 2, 0, 8, 2, 3, 7, 1, 9, 4, 4, 6, 9, 0, 6, 4, 3, 9, 3, 8, 6, 5, 3, 3, 6, 7, 2, 8, 4, 2, 8, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
50,"[4, 3, 5, 1, 3, 9, 0, 5, 0, 1, 2, 4, 4, 0, 5, 3, 1, 1, 0, 0, 6, 8, 3, 9, 0, 8, 8, 4, 8, 3, 2, 6, 7, 9, 0, 4, 9, 5, 6, 0, 7, 8, 0, 3, 6, 5, 4, 0, 7, 1, 7, 5, 5, 6, 2, 3, 7, 4, 2, 3, 6, 0, 8, 2, 6, 2, 0, 4, 1, 4, 8, 9, 7, 0, 6, 2, 6, 6, 9, 2, 0, 6, 8, 1, 6, 8, 7, 1, 9, 5, 0, 3, 8, 5, 8, 8, 4, 0, 4, 1, 1, 0, 5, 9, 0, 7, 7, 7, 8, 6, 8, 9, 2, 8, 1, 5, 0, 0, 3, 9, 2, 3, 7, 6, 6, 8, 9, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
51,"[7, 3, 0, 3, 5, 8, 5, 1, 4, 8, 1, 2, 4, 7, 9, 3, 9, 2, 2, 0, 6, 2, 1, 0, 8, 2, 8, 2, 1, 5, 1, 8, 0, 9, 7, 9, 1, 7, 9, 9, 2, 4, 2, 1, 8, 6, 1, 3, 5, 4, 8, 6, 5, 7, 4, 3, 4, 4, 7, 9, 9, 4, 1, 6, 7, 6, 5, 1, 5, 1, 0, 5, 9, 8, 2, 1, 4, 1, 2, 7, 1, 8, 5, 7, 9, 5, 8, 5, 6, 7, 7, 4, 3, 7, 1, 4, 4, 5, 7, 4, 0, 7, 9, 6, 0, 4, 5, 4, 1, 9, 1, 1, 8, 4, 1, 3, 5, 3, 1, 5, 0, 2, 3, 8, 1, 7, 5, 1]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
52,"[6, 0, 1, 9, 9, 9, 6, 1, 2, 1, 1, 8, 2, 3, 2, 8, 8, 1, 7, 5, 3, 5, 0, 7, 8, 5, 3, 5, 1, 8, 0, 9, 0, 3, 4, 3, 4, 0, 6, 5, 0, 0, 1, 0, 4, 6, 3, 3, 5, 3, 5, 6, 0, 4, 7, 1, 1, 5, 0, 9, 7, 8, 2, 6, 8, 5, 6, 6, 3, 5, 1, 3, 8, 3, 3, 4, 7, 6, 4, 4, 2, 6, 2, 3, 0, 3, 4, 7, 4, 2, 7, 6, 9, 4, 5, 7, 8, 7, 5, 6, 6, 3, 3, 5, 0, 8, 3, 1, 1, 9, 7, 7, 8, 5, 4, 3, 0, 3, 1, 6, 1, 3, 1, 1, 5, 5, 2, 4]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]"
53,"[9, 1, 7, 4, 1, 4, 1, 6, 7, 5, 4, 0, 4, 2, 5, 9, 6, 0, 4, 2, 1, 7, 5, 1, 8, 9, 1, 7, 3, 3, 4, 4, 7, 4, 2, 6, 5, 2, 6, 5, 3, 4, 9, 7, 5, 7, 5, 9, 4, 2, 7, 3, 2, 8, 3, 4, 6, 6, 0, 7, 7, 1, 2, 8, 9, 6, 4, 0, 4, 4, 7, 5, 6, 4, 4, 2, 2, 4, 8, 0, 7, 3, 4, 0, 3, 7, 0, 1, 4, 7, 0, 8, 5, 3, 2, 7, 2, 3, 2, 6, 8, 9, 1, 8, 0, 2, 5, 5, 8, 6, 8, 7, 2, 9, 7, 6, 1, 1, 2, 3, 2, 8, 9, 4, 2, 5, 5, 2]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
54,"[4, 2, 7, 0, 0, 1, 6, 5, 3, 4, 7, 8, 5, 9, 6, 3, 4, 5, 1, 2, 0, 9, 7, 7, 9, 4, 3, 8, 1, 2, 0, 3, 0, 8, 1, 1, 8, 1, 7, 2, 9, 2, 8, 5, 6, 9, 2, 7, 7, 5, 1, 6, 0, 7, 6, 8, 2, 0, 1, 7, 3, 4, 5, 6, 0, 3, 4, 4, 9, 0, 5, 7, 2, 4, 7, 7, 5, 4, 1, 8, 0, 7, 6, 4, 4, 1, 7, 9, 3, 4, 3, 3, 1, 0, 2, 6, 0, 6, 2, 2, 4, 5, 8, 4, 2, 7, 2, 5, 9, 0, 9, 1, 7, 7, 7, 3, 2, 8, 2, 5, 5, 9, 8, 7, 8, 2, 7, 1]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
55,"[5, 9, 3, 4, 4, 4, 2, 8, 1, 5, 0, 4, 9, 3, 7, 0, 6, 9, 8, 6, 9, 6, 5, 2, 3, 8, 9, 3, 0, 3, 8, 7, 2, 0, 8, 9, 1, 9, 6, 2, 7, 9, 9, 7, 8, 4, 3, 4, 3, 9, 9, 2, 9, 4, 7, 1, 7, 1, 4, 9, 0, 8, 9, 2, 9, 1, 6, 8, 7, 9, 5, 1, 3, 3, 6, 4, 2, 9, 4, 6, 1, 6, 1, 5, 6, 8, 8, 7, 4, 7, 3, 8, 2, 7, 7, 2, 2, 3, 8, 5, 4, 7, 2, 8, 6, 0, 4, 0, 5, 3, 2, 9, 2, 2, 9, 7, 2, 6, 0, 0, 5, 3, 1, 1, 5, 3, 4, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
56,"[9, 8, 8, 8, 3, 4, 0, 1, 5, 7, 1, 6, 2, 4, 6, 4, 8, 5, 8, 7, 3, 8, 7, 4, 4, 2, 0, 8, 6, 7, 3, 0, 4, 8, 3, 8, 6, 9, 5, 6, 2, 4, 7, 4, 1, 0, 5, 0, 5, 7, 5, 7, 4, 1, 6, 1, 3, 4, 0, 7, 4, 5, 2, 2, 5, 7, 4, 3, 7, 9, 5, 6, 3, 4, 5, 7, 1, 8, 0, 9, 0, 6, 5, 5, 1, 0, 4, 0, 3, 6, 6, 5, 9, 0, 9, 0, 4, 7, 3, 7, 0, 9, 3, 0, 8, 1, 8, 7, 8, 8, 3, 9, 0, 2, 3, 7, 7, 6, 5, 9, 2, 0, 9, 1, 3, 0, 4, 9]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
57,"[6, 1, 5, 5, 1, 7, 0, 1, 8, 7, 9, 7, 2, 3, 3, 1, 9, 9, 3, 3, 1, 9, 1, 0, 0, 0, 3, 4, 2, 8, 6, 1, 3, 5, 8, 5, 2, 1, 0, 4, 8, 3, 7, 9, 4, 6, 9, 1, 5, 3, 6, 7, 0, 7, 0, 3, 3, 8, 2, 4, 9, 9, 5, 1, 3, 2, 4, 8, 3, 3, 4, 8, 4, 1, 4, 9, 2, 5, 2, 9, 2, 8, 2, 0, 7, 0, 2, 7, 9, 2, 5, 2, 6, 9, 4, 8, 7, 1, 0, 9, 4, 4, 3, 3, 7, 4, 7, 4, 6, 7, 5, 3, 7, 9, 7, 5, 1, 3, 1, 5, 4, 0, 5, 5, 5, 5, 3, 5]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
58,"[9, 3, 1, 5, 4, 9, 5, 7, 1, 7, 3, 8, 0, 2, 3, 1, 1, 9, 4, 9, 2, 6, 2, 2, 4, 2, 5, 1, 7, 1, 2, 5, 1, 6, 8, 4, 8, 2, 6, 0, 9, 8, 0, 7, 9, 5, 1, 7, 5, 7, 4, 4, 1, 9, 6, 9, 6, 3, 3, 0, 7, 2, 9, 0, 7, 6, 7, 4, 2, 7, 4, 0, 7, 9, 1, 2, 5, 9, 0, 8, 5, 5, 6, 7, 2, 1, 0, 6, 8, 4, 5, 7, 7, 2, 4, 3, 0, 4, 4, 0, 6, 0, 4, 5, 6, 4, 3, 7, 7, 9, 2, 4, 4, 1, 8, 6, 7, 4, 6, 4, 6, 5, 7, 8, 5, 0, 0, 3]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
59,"[3, 7, 5, 6, 3, 5, 4, 0, 6, 2, 8, 9, 6, 2, 8, 0, 5, 5, 8, 6, 6, 6, 2, 8, 3, 8, 7, 9, 5, 9, 2, 1, 1, 4, 5, 4, 1, 6, 5, 7, 3, 9, 8, 0, 5, 8, 1, 0, 0, 2, 2, 9, 8, 7, 0, 4, 8, 4, 7, 9, 0, 9, 1, 2, 5, 9, 4, 6, 4, 6, 8, 5, 9, 6, 0, 8, 7, 9, 6, 3, 5, 3, 6, 1, 9, 7, 9, 5, 0, 2, 8, 8, 4, 5, 0, 7, 3, 8, 6, 7, 8, 1, 3, 1, 8, 9, 4, 6, 0, 4, 2, 3, 6, 3, 5, 7, 3, 7, 7, 9, 1, 7, 6, 1, 7, 4, 7, 8]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
60,"[8, 8, 1, 2, 5, 9, 6, 6, 6, 3, 6, 0, 7, 4, 2, 5, 6, 9, 2, 8, 1, 5, 1, 3, 1, 6, 9, 4, 0, 8, 7, 4, 2, 8, 7, 4, 4, 2, 3, 0, 7, 7, 2, 5, 4, 3, 1, 9, 6, 3, 0, 4, 8, 1, 8, 2, 9, 1, 7, 1, 7, 2, 1, 9, 4, 7, 4, 3, 3, 9, 0, 4, 6, 6, 2, 0, 2, 0, 2, 3, 0, 7, 6, 2, 7, 8, 2, 6, 0, 7, 6, 5, 4, 0, 0, 8, 9, 6, 2, 7, 1, 6, 8, 7, 1, 8, 0, 7, 5, 8, 9, 4, 1, 1, 7, 1, 5, 3, 4, 8, 7, 9, 6, 4, 8, 5, 2, 3]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
61,"[6, 4, 6, 9, 7, 7, 5, 2, 7, 9, 7, 7, 0, 8, 4, 9, 2, 4, 4, 7, 0, 3, 4, 3, 2, 0, 3, 3, 6, 4, 3, 0, 3, 6, 5, 1, 6, 2, 4, 0, 2, 0, 8, 4, 7, 7, 9, 1, 3, 0, 3, 3, 9, 7, 1, 5, 7, 1, 9, 3, 9, 2, 2, 7, 8, 6, 9, 6, 9, 3, 3, 0, 5, 5, 3, 7, 8, 8, 3, 7, 6, 3, 9, 4, 6, 5, 2, 6, 9, 5, 4, 3, 9, 6, 7, 0, 9, 6, 3, 0, 6, 5, 1, 9, 8, 7, 7, 6, 0, 0, 4, 5, 0, 7, 2, 8, 2, 5, 3, 0, 2, 1, 2, 4, 4, 2, 4, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
62,"[2, 7, 2, 5, 9, 8, 8, 2, 4, 6, 1, 2, 7, 3, 9, 3, 7, 0, 4, 3, 6, 5, 7, 3, 3, 5, 7, 2, 3, 9, 1, 8, 5, 6, 0, 5, 5, 3, 7, 0, 9, 3, 4, 6, 1, 5, 5, 9, 5, 2, 3, 3, 1, 0, 3, 8, 8, 3, 2, 0, 5, 0, 8, 8, 9, 7, 3, 5, 9, 9, 4, 1, 4, 7, 7, 2, 0, 3, 2, 9, 8, 4, 2, 8, 0, 9, 8, 7, 9, 0, 1, 1, 7, 2, 0, 1, 3, 2, 9, 9, 8, 9, 0, 2, 2, 3, 5, 7, 3, 0, 4, 2, 4, 6, 4, 0, 7, 7, 4, 0, 3, 4, 3, 0, 2, 8, 9, 6]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
63,"[9, 5, 9, 9, 5, 8, 1, 7, 0, 4, 4, 7, 7, 9, 0, 4, 8, 4, 7, 9, 9, 9, 2, 1, 6, 4, 5, 9, 9, 0, 8, 3, 0, 8, 0, 5, 1, 4, 3, 9, 5, 4, 2, 1, 4, 0, 2, 3, 4, 7, 3, 5, 2, 3, 1, 7, 3, 2, 6, 1, 6, 5, 4, 7, 4, 4, 1, 3, 3, 7, 9, 5, 0, 9, 3, 3, 7, 0, 5, 1, 3, 4, 0, 4, 0, 9, 5, 9, 2, 3, 6, 4, 0, 7, 2, 3, 8, 1, 0, 1, 0, 1, 6, 2, 5, 0, 9, 8, 5, 2, 4, 1, 5, 4, 7, 5, 6, 8, 2, 5, 6, 0, 5, 3, 1, 8, 3, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
64,"[4, 7, 5, 0, 4, 3, 6, 0, 7, 2, 7, 1, 2, 5, 1, 3, 3, 2, 9, 4, 9, 3, 9, 5, 4, 6, 3, 3, 3, 8, 2, 2, 3, 4, 0, 4, 2, 5, 1, 3, 5, 7, 7, 0, 6, 7, 2, 3, 4, 8, 9, 5, 0, 6, 3, 7, 6, 2, 3, 5, 2, 4, 2, 6, 8, 8, 1, 6, 5, 8, 7, 3, 3, 8, 6, 1, 4, 1, 5, 2, 7, 5, 5, 7, 1, 5, 5, 7, 6, 8, 7, 3, 1, 7, 2, 4, 2, 3, 8, 0, 4, 9, 3, 7, 4, 0, 0, 3, 2, 8, 8, 8, 0, 6, 4, 0, 3, 7, 2, 1, 5, 7, 1, 1, 5, 1, 5, 9]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]"
65,"[1, 3, 2, 4, 6, 2, 0, 1, 2, 5, 8, 2, 1, 9, 2, 7, 4, 4, 3, 3, 3, 9, 9, 9, 8, 1, 0, 1, 5, 1, 2, 0, 4, 6, 2, 4, 6, 6, 5, 7, 3, 4, 5, 4, 6, 6, 8, 2, 4, 4, 4, 5, 5, 5, 9, 0, 6, 6, 7, 5, 3, 7, 1, 0, 7, 4, 9, 2, 5, 9, 8, 4, 6, 5, 2, 3, 2, 2, 8, 8, 4, 1, 2, 9, 2, 2, 6, 8, 4, 9, 3, 7, 9, 8, 7, 1, 8, 3, 5, 8, 1, 6, 0, 5, 6, 4, 6, 4, 0, 2, 1, 7, 6, 4, 0, 5, 4, 3, 5, 3, 0, 4, 2, 0, 8, 5, 8, 3]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
66,"[7, 0, 7, 4, 0, 7, 7, 4, 6, 2, 4, 8, 0, 3, 9, 3, 8, 1, 4, 1, 7, 6, 5, 7, 9, 7, 2, 5, 4, 1, 8, 5, 4, 2, 7, 0, 8, 0, 7, 2, 7, 9, 1, 8, 5, 4, 8, 0, 6, 9, 4, 7, 4, 7, 9, 4, 7, 9, 3, 5, 1, 6, 7, 6, 0, 8, 4, 3, 7, 0, 9, 6, 2, 2, 6, 4, 4, 1, 1, 8, 9, 5, 7, 9, 8, 1, 5, 0, 4, 0, 3, 8, 7, 5, 0, 7, 2, 6, 1, 6, 2, 9, 8, 2, 1, 5, 8, 4, 3, 0, 8, 7, 2, 5, 5, 7, 1, 8, 0, 1, 2, 6, 7, 0, 5, 5, 9, 2]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
67,"[7, 5, 3, 2, 5, 1, 8, 9, 3, 8, 8, 4, 0, 1, 5, 8, 4, 9, 4, 7, 1, 1, 0, 7, 0, 1, 8, 7, 2, 6, 3, 9, 3, 1, 3, 4, 3, 2, 3, 8, 9, 0, 8, 3, 2, 4, 7, 4, 3, 3, 9, 4, 8, 9, 0, 3, 3, 6, 9, 8, 2, 7, 6, 7, 8, 5, 5, 1, 1, 4, 2, 2, 6, 7, 3, 6, 6, 6, 8, 4, 9, 7, 8, 5, 3, 2, 2, 7, 7, 0, 8, 5, 9, 1, 6, 5, 9, 0, 0, 4, 9, 1, 9, 5, 7, 7, 3, 0, 3, 5, 6, 8, 5, 9, 9, 8, 9, 6, 6, 9, 6, 4, 8, 9, 6, 1, 0, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
68,"[3, 4, 1, 6, 5, 7, 0, 6, 3, 7, 3, 8, 8, 6, 2, 9, 4, 1, 4, 7, 4, 0, 7, 4, 9, 5, 8, 3, 1, 7, 5, 3, 7, 9, 5, 5, 9, 2, 9, 8, 8, 0, 6, 0, 6, 1, 0, 0, 5, 8, 0, 4, 1, 8, 7, 9, 8, 8, 2, 7, 6, 8, 5, 3, 6, 3, 2, 7, 8, 6, 3, 1, 9, 4, 1, 0, 1, 7, 7, 9, 3, 7, 2, 6, 6, 9, 4, 5, 1, 0, 1, 5, 5, 3, 5, 4, 5, 9, 4, 8, 8, 2, 0, 0, 9, 4, 7, 0, 0, 8, 9, 8, 5, 7, 3, 3, 2, 4, 8, 1, 8, 0, 2, 0, 9, 8, 8, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
69,"[3, 2, 9, 2, 2, 2, 3, 5, 1, 2, 3, 6, 3, 7, 0, 8, 8, 1, 4, 1, 2, 1, 7, 9, 0, 9, 3, 2, 6, 5, 8, 7, 5, 3, 1, 6, 8, 2, 5, 4, 0, 8, 8, 1, 5, 4, 6, 1, 4, 6, 2, 6, 7, 4, 0, 2, 1, 9, 6, 4, 9, 2, 9, 1, 1, 3, 9, 0, 2, 7, 8, 3, 5, 0, 3, 1, 8, 2, 0, 5, 3, 5, 4, 6, 5, 2, 9, 8, 4, 7, 3, 0, 6, 5, 3, 2, 5, 1, 6, 3, 3, 4, 9, 1, 5, 2, 3, 8, 4, 7, 9, 5, 0, 6, 8, 7, 5, 5, 0, 9, 3, 7, 7, 4, 1, 4, 0, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
70,"[2, 8, 9, 7, 7, 8, 0, 0, 5, 4, 4, 3, 6, 5, 9, 9, 2, 2, 5, 1, 4, 4, 0, 2, 2, 5, 2, 0, 6, 3, 1, 9, 1, 7, 4, 1, 0, 2, 9, 3, 7, 3, 5, 1, 3, 8, 2, 4, 9, 2, 6, 9, 8, 1, 2, 9, 7, 6, 4, 2, 6, 8, 5, 6, 1, 8, 7, 0, 5, 2, 2, 9, 1, 8, 7, 4, 2, 2, 8, 6, 9, 2, 3, 4, 9, 7, 9, 3, 6, 5, 1, 1, 5, 8, 0, 6, 0, 2, 5, 9, 3, 6, 4, 1, 3, 3, 7, 2, 6, 5, 2, 8, 3, 9, 2, 6, 5, 3, 4, 0, 0, 2, 4, 8, 0, 0, 2, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
71,"[5, 9, 6, 8, 2, 1, 9, 5, 5, 9, 2, 7, 9, 4, 3, 2, 8, 1, 6, 1, 0, 4, 5, 2, 7, 9, 2, 9, 8, 7, 2, 4, 2, 4, 4, 2, 1, 1, 9, 2, 4, 7, 0, 0, 3, 0, 4, 0, 5, 7, 4, 0, 3, 8, 3, 3, 9, 4, 8, 4, 2, 6, 9, 2, 0, 1, 2, 7, 1, 6, 7, 6, 2, 5, 5, 9, 7, 2, 1, 0, 9, 2, 2, 7, 0, 5, 5, 7, 6, 7, 0, 0, 3, 3, 1, 2, 6, 1, 2, 8, 5, 3, 6, 4, 8, 1, 6, 5, 3, 5, 6, 7, 5, 0, 5, 4, 1, 9, 5, 9, 1, 4, 7, 2, 2, 8, 7, 1]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
72,"[1, 5, 4, 6, 6, 1, 0, 0, 9, 9, 8, 7, 5, 9, 3, 8, 4, 7, 0, 1, 5, 0, 5, 4, 5, 0, 6, 9, 3, 6, 3, 8, 1, 8, 2, 9, 7, 7, 3, 7, 4, 4, 8, 4, 9, 2, 8, 6, 5, 7, 2, 6, 1, 8, 3, 9, 0, 6, 9, 0, 6, 2, 4, 9, 9, 8, 5, 6, 7, 3, 5, 8, 4, 3, 0, 7, 1, 3, 5, 6, 8, 4, 8, 0, 9, 2, 9, 6, 9, 9, 6, 7, 0, 9, 5, 9, 8, 9, 0, 1, 5, 6, 9, 8, 0, 6, 7, 5, 9, 5, 4, 9, 1, 2, 4, 6, 1, 4, 7, 0, 5, 4, 9, 2, 9, 7, 0, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
73,"[3, 4, 8, 9, 2, 5, 9, 2, 1, 5, 1, 9, 1, 9, 2, 0, 8, 7, 9, 3, 4, 6, 7, 0, 8, 4, 8, 0, 3, 6, 6, 6, 1, 9, 3, 3, 3, 7, 6, 1, 1, 8, 4, 2, 0, 4, 4, 4, 3, 9, 7, 3, 4, 1, 7, 9, 7, 2, 9, 5, 5, 5, 6, 8, 5, 7, 7, 3, 0, 6, 5, 0, 5, 3, 0, 3, 7, 5, 1, 0, 3, 2, 9, 5, 1, 2, 3, 2, 3, 1, 2, 3, 7, 1, 2, 7, 1, 4, 1, 6, 2, 4, 2, 1, 6, 4, 9, 6, 1, 5, 8, 9, 9, 3, 1, 1, 6, 6, 4, 8, 2, 4, 8, 5, 4, 2, 6, 9]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
74,"[5, 7, 5, 0, 3, 9, 2, 3, 2, 5, 6, 9, 2, 5, 6, 3, 0, 7, 7, 8, 4, 2, 5, 9, 5, 1, 7, 6, 1, 3, 6, 8, 5, 8, 0, 0, 1, 9, 0, 8, 0, 6, 8, 9, 3, 7, 0, 7, 0, 7, 2, 4, 8, 5, 9, 1, 0, 4, 3, 6, 7, 7, 1, 0, 6, 0, 6, 0, 4, 9, 7, 6, 7, 4, 8, 4, 7, 8, 1, 6, 6, 7, 2, 6, 4, 2, 1, 1, 4, 9, 4, 8, 8, 5, 2, 1, 2, 1, 0, 4, 6, 2, 3, 6, 0, 1, 8, 0, 2, 0, 5, 2, 8, 9, 8, 4, 1, 1, 2, 6, 1, 7, 3, 4, 6, 9, 2, 1]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
75,"[7, 5, 4, 5, 0, 9, 1, 4, 5, 3, 1, 1, 5, 6, 1, 1, 8, 6, 9, 8, 2, 7, 6, 7, 5, 7, 4, 3, 9, 6, 5, 5, 0, 2, 5, 0, 8, 8, 9, 0, 2, 5, 9, 5, 0, 4, 2, 7, 0, 8, 1, 8, 0, 3, 9, 3, 2, 3, 8, 8, 3, 9, 4, 8, 2, 1, 6, 6, 6, 1, 1, 9, 0, 3, 3, 7, 7, 9, 0, 9, 8, 4, 3, 1, 4, 0, 3, 5, 8, 0, 3, 6, 5, 4, 5, 4, 4, 3, 8, 3, 3, 8, 8, 7, 5, 3, 9, 4, 8, 9, 9, 9, 6, 5, 2, 0, 1, 9, 7, 5, 2, 9, 1, 0, 5, 1, 7, 9]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
76,"[7, 1, 9, 9, 9, 0, 1, 2, 8, 5, 0, 9, 1, 6, 1, 6, 2, 3, 9, 8, 4, 8, 2, 4, 2, 8, 9, 5, 2, 8, 2, 7, 5, 2, 8, 8, 9, 8, 8, 3, 5, 1, 5, 8, 9, 1, 1, 5, 0, 0, 1, 4, 2, 4, 9, 5, 9, 5, 7, 1, 9, 7, 8, 2, 5, 7, 0, 3, 5, 0, 4, 1, 2, 4, 6, 0, 0, 2, 2, 7, 8, 9, 4, 6, 6, 1, 7, 7, 6, 3, 4, 0, 0, 5, 3, 3, 3, 8, 1, 9, 5, 5, 9, 0, 0, 3, 7, 8, 1, 5, 5, 9, 6, 9, 5, 0, 7, 0, 9, 6, 4, 6, 5, 3, 9, 4, 2, 1]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
77,"[6, 1, 3, 7, 9, 2, 5, 6, 5, 0, 6, 2, 3, 1, 9, 0, 2, 5, 7, 8, 2, 1, 0, 0, 1, 6, 9, 1, 5, 3, 2, 5, 7, 9, 7, 2, 0, 5, 5, 6, 2, 8, 3, 6, 4, 4, 9, 6, 2, 0, 4, 2, 9, 1, 1, 3, 2, 2, 1, 0, 4, 1, 5, 9, 0, 6, 4, 2, 3, 0, 7, 4, 0, 7, 4, 9, 6, 8, 4, 6, 1, 5, 8, 0, 5, 0, 9, 6, 6, 8, 0, 3, 9, 0, 2, 2, 2, 7, 8, 8, 1, 0, 5, 0, 9, 1, 7, 3, 4, 5, 8, 1, 3, 0, 6, 2, 9, 0, 9, 0, 5, 1, 4, 2, 7, 8, 1, 9]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
78,"[3, 9, 0, 9, 2, 1, 6, 7, 0, 8, 7, 2, 0, 1, 7, 7, 2, 0, 8, 7, 7, 4, 1, 3, 4, 2, 6, 8, 6, 8, 3, 9, 6, 8, 2, 1, 7, 7, 7, 4, 6, 4, 0, 6, 0, 4, 0, 4, 2, 7, 6, 3, 0, 3, 4, 1, 1, 5, 9, 2, 3, 4, 9, 4, 4, 7, 4, 0, 4, 4, 1, 0, 1, 5, 7, 0, 8, 9, 7, 0, 0, 7, 3, 5, 3, 2, 2, 2, 1, 1, 0, 8, 4, 2, 2, 8, 5, 2, 8, 0, 7, 8, 4, 3, 1, 6, 7, 4, 5, 0, 9, 5, 9, 1, 4, 5, 0, 7, 6, 7, 6, 2, 7, 0, 6, 9, 6, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
79,"[8, 6, 1, 7, 1, 8, 3, 3, 5, 7, 1, 5, 5, 7, 5, 1, 1, 1, 2, 4, 0, 1, 1, 9, 3, 9, 7, 8, 8, 5, 2, 0, 8, 4, 7, 5, 1, 9, 0, 6, 0, 6, 1, 5, 2, 2, 7, 9, 5, 9, 9, 5, 6, 3, 8, 7, 3, 4, 9, 9, 3, 1, 0, 1, 0, 9, 7, 6, 4, 9, 4, 3, 0, 1, 1, 6, 1, 0, 8, 0, 2, 3, 1, 9, 2, 8, 2, 1, 2, 3, 9, 3, 6, 7, 3, 9, 1, 3, 2, 1, 4, 4, 1, 4, 7, 2, 5, 5, 0, 4, 5, 8, 7, 9, 9, 9, 3, 4, 5, 5, 2, 0, 1, 1, 6, 3, 7, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
80,"[2, 2, 0, 9, 1, 3, 6, 6, 8, 2, 5, 1, 7, 2, 2, 2, 9, 0, 7, 2, 0, 4, 9, 1, 5, 5, 2, 5, 3, 0, 9, 9, 4, 3, 1, 5, 2, 8, 7, 6, 0, 6, 5, 1, 7, 2, 2, 7, 9, 7, 5, 7, 3, 8, 9, 1, 7, 5, 0, 1, 5, 2, 2, 7, 6, 4, 7, 2, 8, 5, 5, 0, 8, 4, 7, 9, 6, 2, 7, 9, 9, 4, 8, 2, 3, 2, 8, 8, 3, 9, 7, 6, 6, 1, 6, 1, 7, 0, 7, 9, 1, 5, 1, 6, 9, 2, 7, 2, 1, 7, 5, 7, 0, 4, 6, 0, 3, 4, 0, 8, 2, 8, 9, 1, 2, 8, 8, 6]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
81,"[4, 1, 2, 5, 6, 5, 7, 2, 2, 0, 6, 8, 2, 6, 2, 7, 1, 4, 6, 3, 3, 7, 4, 3, 9, 7, 2, 4, 2, 0, 6, 8, 9, 0, 2, 0, 9, 1, 1, 2, 2, 8, 0, 9, 0, 2, 0, 9, 6, 8, 6, 4, 0, 5, 3, 6, 4, 3, 3, 7, 4, 8, 8, 2, 8, 2, 6, 3, 6, 6, 3, 9, 1, 0, 5, 4, 0, 7, 3, 2, 7, 3, 2, 2, 3, 6, 0, 7, 5, 1, 4, 2, 4, 6, 8, 2, 5, 5, 3, 2, 3, 2, 7, 0, 3, 6, 9, 6, 7, 4, 9, 3, 7, 3, 5, 2, 0, 1, 8, 0, 9, 1, 9, 2, 4, 5, 9, 6]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
82,"[0, 2, 8, 3, 5, 5, 5, 0, 1, 8, 8, 3, 8, 2, 5, 5, 2, 0, 9, 9, 7, 5, 7, 0, 3, 7, 8, 4, 0, 0, 7, 8, 6, 8, 4, 8, 5, 2, 5, 7, 6, 8, 8, 4, 8, 1, 1, 2, 0, 6, 9, 8, 5, 9, 7, 6, 2, 9, 9, 4, 0, 6, 8, 9, 6, 3, 4, 6, 2, 6, 7, 1, 2, 1, 2, 8, 4, 0, 1, 3, 4, 5, 6, 7, 0, 8, 4, 3, 1, 8, 9, 9, 5, 3, 2, 8, 4, 6, 2, 6, 5, 1, 6, 9, 1, 3, 3, 2, 8, 6, 9, 0, 4, 7, 7, 5, 0, 4, 1, 7, 9, 2, 4, 1, 4, 7, 9, 4]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
83,"[1, 3, 9, 2, 0, 8, 1, 9, 8, 2, 4, 5, 6, 3, 4, 0, 7, 8, 0, 9, 6, 5, 2, 3, 6, 9, 1, 7, 1, 0, 9, 8, 3, 3, 0, 1, 1, 0, 8, 6, 4, 3, 4, 3, 1, 8, 8, 4, 2, 1, 4, 1, 4, 1, 5, 4, 6, 9, 5, 9, 8, 4, 9, 3, 1, 7, 3, 8, 0, 0, 0, 5, 6, 0, 7, 4, 5, 1, 2, 0, 6, 6, 0, 1, 5, 3, 7, 3, 1, 5, 1, 7, 3, 8, 7, 1, 5, 1, 7, 6, 3, 9, 9, 5, 3, 4, 5, 2, 0, 2, 1, 3, 1, 7, 7, 8, 4, 9, 1, 9, 6, 1, 1, 5, 8, 2, 3, 3]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
84,"[2, 3, 3, 5, 1, 0, 5, 4, 9, 9, 5, 1, 2, 1, 1, 7, 4, 0, 9, 4, 3, 4, 8, 5, 7, 4, 0, 2, 3, 8, 6, 7, 1, 7, 2, 0, 6, 6, 9, 5, 4, 6, 6, 9, 0, 5, 3, 1, 3, 9, 5, 6, 6, 7, 5, 3, 1, 0, 7, 9, 1, 2, 3, 3, 1, 6, 9, 5, 3, 4, 1, 3, 5, 1, 6, 8, 6, 4, 4, 9, 4, 2, 3, 5, 1, 5, 0, 6, 7, 9, 0, 6, 4, 7, 0, 1, 3, 1, 0, 4, 3, 0, 6, 2, 1, 6, 1, 0, 5, 0, 4, 2, 8, 1, 3, 9, 6, 9, 3, 5, 7, 5, 5, 7, 4, 2, 0, 3]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
85,"[9, 5, 0, 6, 4, 5, 2, 5, 4, 4, 5, 9, 7, 4, 2, 9, 1, 7, 1, 0, 3, 1, 0, 9, 1, 1, 6, 1, 7, 0, 1, 8, 4, 9, 5, 0, 8, 7, 8, 9, 6, 0, 2, 5, 3, 6, 8, 5, 6, 9, 2, 7, 0, 9, 6, 2, 8, 5, 3, 2, 7, 4, 6, 1, 5, 2, 2, 7, 1, 4, 8, 8, 7, 5, 5, 1, 7, 0, 4, 6, 0, 2, 6, 1, 7, 1, 6, 8, 4, 3, 6, 6, 8, 0, 4, 2, 9, 8, 2, 8, 6, 6, 2, 4, 1, 3, 6, 9, 2, 9, 2, 3, 7, 1, 2, 9, 8, 2, 9, 6, 4, 2, 0, 9, 4, 6, 4, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
86,"[9, 5, 8, 7, 3, 9, 3, 7, 4, 8, 4, 4, 5, 3, 3, 7, 5, 3, 6, 5, 9, 3, 8, 7, 7, 8, 1, 0, 7, 3, 9, 2, 8, 9, 5, 8, 0, 2, 1, 1, 6, 1, 7, 1, 6, 3, 1, 1, 3, 1, 0, 8, 6, 6, 6, 0, 3, 3, 8, 1, 5, 7, 6, 6, 1, 7, 3, 9, 9, 3, 5, 1, 8, 7, 8, 2, 9, 9, 5, 4, 3, 8, 1, 2, 0, 0, 0, 7, 0, 6, 2, 7, 1, 5, 1, 8, 2, 6, 4, 0, 6, 1, 4, 8, 9, 4, 5, 3, 6, 2, 7, 1, 2, 7, 1, 5, 8, 2, 5, 7, 0, 1, 0, 2, 5, 6, 1, 6]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
87,"[7, 6, 8, 7, 6, 9, 9, 4, 1, 0, 1, 8, 5, 0, 2, 3, 0, 3, 9, 1, 4, 4, 6, 1, 6, 4, 5, 4, 7, 7, 9, 0, 7, 3, 1, 9, 1, 6, 1, 1, 4, 6, 0, 2, 1, 4, 6, 7, 9, 7, 2, 2, 0, 7, 9, 9, 2, 0, 1, 4, 0, 0, 7, 9, 2, 7, 7, 4, 5, 3, 9, 0, 2, 6, 8, 6, 7, 8, 6, 8, 5, 5, 9, 1, 8, 5, 9, 1, 4, 6, 1, 8, 4, 6, 1, 0, 3, 0, 3, 4, 5, 9, 5, 6, 2, 8, 9, 8, 1, 3, 7, 4, 0, 4, 0, 7, 1, 8, 5, 2, 0, 8, 7, 6, 3, 7, 3, 2]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
88,"[4, 4, 2, 1, 3, 1, 7, 8, 7, 8, 9, 1, 7, 0, 5, 7, 8, 7, 7, 9, 6, 9, 3, 9, 2, 5, 1, 2, 5, 5, 8, 9, 1, 3, 0, 4, 6, 0, 6, 1, 9, 8, 1, 9, 6, 2, 5, 6, 9, 4, 6, 0, 9, 2, 0, 8, 6, 6, 0, 7, 6, 2, 5, 4, 1, 7, 0, 0, 9, 6, 0, 0, 7, 9, 1, 8, 8, 2, 5, 5, 2, 0, 1, 0, 5, 1, 7, 7, 0, 8, 1, 0, 0, 6, 7, 6, 8, 2, 3, 7, 9, 7, 0, 0, 8, 6, 2, 5, 3, 1, 4, 1, 5, 6, 6, 4, 8, 3, 6, 9, 9, 4, 8, 3, 2, 3, 2, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
89,"[4, 4, 8, 2, 7, 1, 8, 1, 9, 8, 6, 7, 8, 1, 7, 6, 1, 0, 3, 5, 7, 3, 1, 5, 5, 8, 1, 8, 8, 3, 8, 2, 4, 0, 5, 4, 5, 6, 3, 6, 5, 7, 4, 1, 2, 3, 3, 0, 5, 0, 0, 3, 1, 8, 9, 3, 6, 9, 7, 3, 2, 7, 3, 2, 9, 0, 1, 9, 7, 4, 0, 7, 7, 1, 6, 1, 5, 7, 7, 8, 4, 2, 6, 1, 2, 4, 7, 1, 7, 6, 7, 6, 9, 2, 8, 3, 4, 3, 4, 0, 0, 8, 0, 9, 6, 9, 3, 3, 7, 7, 3, 7, 1, 0, 4, 6, 3, 4, 8, 9, 4, 3, 0, 7, 9, 3, 4, 3]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
90,"[5, 0, 7, 6, 4, 2, 9, 1, 1, 8, 1, 0, 2, 3, 9, 1, 3, 8, 1, 2, 1, 4, 0, 9, 9, 5, 0, 7, 6, 7, 8, 1, 4, 9, 2, 9, 8, 4, 0, 5, 5, 8, 1, 4, 1, 1, 4, 5, 1, 3, 6, 7, 0, 4, 1, 5, 8, 1, 6, 4, 0, 8, 8, 8, 3, 5, 9, 5, 3, 3, 5, 4, 2, 3, 6, 5, 3, 8, 4, 8, 6, 4, 7, 7, 4, 2, 3, 9, 5, 5, 8, 3, 6, 1, 1, 7, 0, 1, 1, 6, 9, 4, 2, 4, 3, 1, 0, 2, 0, 6, 2, 1, 0, 3, 8, 0, 1, 3, 0, 5, 7, 0, 1, 2, 2, 2, 2, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
91,"[9, 9, 1, 1, 9, 3, 0, 1, 6, 6, 8, 1, 7, 1, 2, 4, 2, 0, 5, 4, 3, 7, 6, 9, 9, 4, 6, 6, 3, 5, 5, 3, 0, 5, 8, 1, 1, 3, 5, 0, 2, 2, 8, 2, 2, 0, 2, 6, 1, 1, 3, 1, 6, 8, 5, 2, 3, 3, 5, 6, 1, 4, 3, 9, 2, 0, 8, 7, 7, 2, 8, 9, 3, 1, 5, 3, 7, 1, 8, 6, 6, 3, 2, 5, 6, 6, 7, 8, 6, 4, 7, 2, 3, 0, 0, 6, 0, 6, 0, 0, 5, 8, 1, 3, 9, 8, 5, 1, 4, 7, 3, 3, 3, 0, 7, 9, 2, 6, 4, 7, 4, 8, 2, 7, 6, 0, 1, 6]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
92,"[8, 4, 7, 2, 3, 3, 8, 6, 7, 9, 8, 1, 6, 2, 4, 5, 8, 8, 1, 2, 7, 8, 9, 6, 1, 7, 7, 3, 3, 1, 8, 8, 7, 3, 5, 4, 2, 9, 4, 7, 9, 9, 5, 4, 3, 2, 0, 9, 2, 5, 5, 7, 1, 6, 9, 4, 4, 5, 9, 6, 7, 0, 1, 8, 4, 4, 4, 2, 7, 5, 6, 1, 1, 8, 6, 0, 9, 5, 4, 0, 8, 6, 4, 8, 9, 6, 4, 8, 0, 1, 8, 2, 4, 4, 3, 2, 9, 5, 2, 8, 5, 4, 6, 8, 1, 2, 9, 9, 2, 0, 7, 3, 6, 2, 9, 5, 3, 0, 2, 3, 2, 2, 2, 7, 9, 6, 2, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
93,"[4, 1, 2, 4, 5, 2, 7, 1, 7, 5, 6, 1, 8, 2, 8, 6, 1, 4, 9, 2, 2, 2, 8, 0, 7, 8, 0, 8, 9, 0, 2, 8, 2, 9, 7, 7, 7, 8, 3, 7, 3, 1, 5, 8, 8, 5, 3, 7, 1, 3, 6, 0, 0, 7, 6, 4, 3, 5, 1, 1, 0, 0, 6, 9, 0, 2, 0, 2, 7, 6, 4, 0, 7, 2, 7, 4, 4, 2, 2, 5, 4, 7, 6, 3, 1, 6, 0, 4, 6, 1, 0, 1, 3, 8, 9, 6, 4, 2, 4, 4, 9, 2, 8, 8, 2, 0, 7, 9, 6, 6, 5, 6, 1, 9, 0, 5, 7, 3, 1, 1, 3, 0, 3, 7, 9, 3, 3, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
94,"[0, 8, 7, 8, 3, 7, 8, 4, 2, 4, 6, 6, 3, 4, 2, 0, 7, 0, 4, 0, 4, 6, 0, 2, 5, 3, 9, 9, 7, 4, 2, 5, 6, 3, 6, 1, 5, 6, 2, 6, 7, 6, 5, 9, 8, 8, 1, 1, 0, 8, 1, 7, 2, 7, 1, 2, 8, 7, 5, 5, 3, 0, 9, 0, 2, 0, 6, 0, 1, 8, 3, 3, 6, 5, 2, 5, 9, 0, 9, 6, 6, 2, 8, 9, 3, 5, 2, 6, 6, 6, 7, 1, 3, 4, 1, 3, 3, 5, 0, 8, 8, 0, 0, 9, 6, 0, 7, 1, 8, 4, 7, 5, 8, 8, 9, 9, 1, 4, 1, 4, 5, 7, 3, 9, 1, 5, 8, 5]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
95,"[5, 1, 2, 0, 9, 5, 3, 1, 8, 6, 2, 2, 8, 8, 8, 7, 9, 0, 1, 5, 3, 5, 6, 4, 4, 3, 0, 1, 8, 0, 8, 6, 7, 3, 8, 4, 6, 7, 7, 5, 1, 4, 6, 8, 1, 9, 8, 4, 5, 6, 2, 6, 8, 0, 4, 0, 3, 8, 2, 5, 5, 7, 1, 8, 3, 4, 0, 3, 3, 5, 2, 2, 7, 3, 0, 7, 1, 7, 9, 7, 8, 5, 0, 8, 5, 6, 3, 8, 5, 4, 6, 6, 5, 5, 2, 2, 7, 9, 2, 6, 9, 9, 4, 4, 2, 0, 4, 1, 4, 9, 2, 6, 3, 5, 3, 0, 5, 7, 4, 2, 4, 2, 7, 6, 7, 2, 0, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]"
96,"[8, 4, 4, 2, 4, 8, 3, 7, 7, 3, 9, 6, 6, 4, 5, 6, 1, 4, 6, 7, 3, 1, 3, 3, 7, 4, 0, 6, 5, 1, 7, 5, 6, 8, 4, 0, 4, 8, 7, 9, 8, 6, 8, 3, 2, 7, 1, 2, 6, 6, 1, 1, 9, 3, 2, 1, 0, 1, 2, 5, 5, 1, 1, 9, 3, 6, 3, 1, 8, 4, 9, 9, 4, 0, 0, 3, 0, 7, 1, 5, 9, 4, 4, 8, 3, 9, 3, 4, 3, 9, 7, 3, 6, 0, 2, 2, 5, 7, 6, 2, 5, 5, 2, 4, 9, 5, 3, 2, 1, 3, 8, 2, 6, 9, 0, 1, 2, 6, 9, 3, 3, 4, 5, 6, 3, 9, 4, 1]","[0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
97,"[2, 1, 7, 3, 8, 7, 7, 8, 0, 7, 7, 8, 7, 6, 5, 9, 9, 6, 5, 0, 1, 7, 5, 6, 7, 0, 6, 8, 2, 4, 2, 4, 0, 0, 2, 9, 2, 1, 9, 8, 4, 7, 2, 1, 2, 5, 5, 5, 7, 7, 6, 6, 8, 1, 5, 2, 2, 9, 3, 8, 9, 4, 8, 2, 0, 8, 6, 4, 0, 2, 0, 2, 9, 4, 2, 7, 5, 8, 4, 0, 4, 6, 3, 3, 6, 4, 1, 4, 7, 5, 8, 9, 4, 8, 2, 6, 6, 0, 8, 2, 7, 5, 8, 1, 5, 6, 8, 7, 9, 6, 8, 9, 7, 3, 9, 4, 3, 9, 5, 2, 8, 8, 4, 5, 2, 0, 6, 0]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
98,"[3, 8, 0, 0, 1, 0, 0, 4, 0, 5, 9, 3, 4, 0, 5, 8, 5, 4, 6, 1, 2, 7, 1, 1, 1, 9, 1, 2, 1, 9, 8, 3, 4, 6, 8, 6, 9, 9, 8, 8, 7, 6, 7, 4, 4, 0, 3, 6, 3, 4, 3, 2, 1, 8, 9, 7, 9, 3, 3, 1, 0, 1, 5, 3, 8, 6, 6, 4, 6, 3, 6, 2, 3, 4, 7, 3, 8, 9, 6, 1, 0, 6, 1, 8, 4, 1, 9, 3, 1, 9, 9, 2, 8, 9, 8, 7, 1, 1, 4, 0, 5, 2, 9, 6, 0, 7, 2, 5, 7, 3, 3, 1, 1, 4, 6, 3, 7, 3, 9, 4, 2, 6, 0, 2, 7, 8, 0, 7]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
99,"[1, 4, 7, 9, 7, 4, 1, 4, 7, 4, 6, 7, 7, 8, 2, 1, 3, 7, 2, 2, 1, 6, 2, 5, 5, 3, 6, 8, 1, 6, 1, 8, 0, 1, 0, 7, 6, 8, 9, 4, 9, 8, 3, 1, 2, 9, 8, 3, 5, 3, 7, 5, 9, 0, 0, 2, 7, 0, 5, 7, 5, 3, 3, 2, 0, 7, 8, 6, 1, 7, 8, 8, 9, 4, 2, 1, 3, 1, 3, 8, 0, 5, 5, 1, 5, 0, 6, 4, 6, 0, 6, 5, 2, 7, 1, 5, 3, 2, 6, 9, 5, 7, 1, 8, 8, 3, 5, 9, 4, 1, 7, 7, 8, 0, 9, 8, 4, 5, 8, 2, 9, 6, 0, 2, 9, 8, 8, 5]","[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]"
1 ID Unsorted Sorted
2 0 [2, 9, 0, 0, 4, 2, 1, 2, 7, 7, 7, 2, 7, 8, 1, 3, 1, 5, 9, 1, 2, 8, 5, 0, 1, 8, 8, 3, 1, 9, 6, 9, 1, 4, 8, 0, 3, 5, 8, 5, 9, 4, 9, 8, 6, 1, 9, 6, 4, 9, 2, 6, 2, 9, 6, 3, 4, 0, 7, 4, 7, 5, 9, 6, 3, 5, 3, 9, 7, 2, 8, 7, 3, 4, 2, 9, 9, 9, 7, 0, 0, 9, 3, 7, 5, 9, 8, 4, 4, 5, 2, 3, 9, 4, 5, 8, 3, 7, 1, 4, 3, 0, 1, 6, 2, 3, 2, 1, 2, 1, 9, 3, 5, 8, 8, 1, 6, 0, 9, 6, 6, 7, 4, 7, 6, 9, 1, 6] [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
3 1 [4, 9, 9, 7, 9, 9, 4, 7, 4, 6, 2, 4, 7, 8, 0, 1, 9, 4, 5, 2, 7, 2, 0, 4, 3, 1, 6, 1, 6, 9, 8, 4, 6, 1, 0, 5, 2, 5, 4, 3, 2, 1, 3, 9, 5, 5, 3, 6, 9, 1, 2, 6, 4, 3, 7, 8, 7, 9, 8, 8, 6, 4, 6, 2, 1, 2, 4, 5, 6, 9, 9, 6, 6, 2, 8, 4, 2, 5, 5, 0, 0, 5, 7, 1, 4, 7, 8, 7, 6, 1, 9, 0, 7, 6, 8, 8, 6, 1, 7, 6, 2, 5, 4, 1, 7, 4, 8, 8, 2, 4, 7, 7, 6, 9, 8, 9, 9, 9, 1, 4, 2, 6, 0, 7, 6, 6, 4, 3] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
4 2 [1, 9, 2, 1, 8, 2, 1, 0, 8, 7, 6, 7, 4, 2, 0, 9, 0, 2, 3, 3, 7, 9, 7, 2, 1, 5, 3, 8, 7, 1, 1, 9, 0, 8, 6, 0, 9, 1, 6, 0, 4, 7, 9, 9, 4, 3, 8, 1, 5, 2, 3, 4, 3, 5, 8, 7, 5, 8, 9, 9, 4, 3, 5, 3, 6, 5, 6, 4, 9, 4, 2, 7, 4, 1, 0, 5, 3, 2, 6, 1, 7, 5, 3, 6, 0, 5, 6, 9, 9, 2, 0, 2, 9, 0, 7, 1, 4, 7, 6, 0, 5, 3, 6, 9, 4, 4, 7, 5, 4, 5, 1, 6, 6, 4, 4, 8, 6, 6, 6, 7, 0, 8, 5, 3, 6, 9, 2, 4] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
5 3 [7, 1, 9, 5, 7, 0, 3, 9, 8, 5, 8, 2, 0, 3, 3, 0, 6, 4, 8, 6, 8, 1, 8, 9, 7, 4, 8, 6, 7, 5, 6, 6, 2, 1, 6, 5, 1, 4, 8, 4, 1, 7, 9, 6, 9, 2, 2, 5, 0, 3, 5, 1, 9, 6, 0, 0, 8, 6, 7, 7, 1, 7, 5, 1, 5, 5, 8, 9, 1, 0, 3, 6, 0, 0, 5, 4, 4, 4, 0, 7, 9, 8, 3, 3, 5, 7, 2, 0, 6, 4, 9, 5, 6, 3, 7, 3, 3, 0, 4, 3, 9, 4, 0, 8, 9, 5, 8, 7, 0, 9, 4, 3, 2, 2, 4, 6, 9, 9, 8, 9, 2, 4, 8, 1, 2, 5, 7, 6] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
6 4 [7, 8, 2, 4, 1, 1, 3, 0, 0, 8, 4, 3, 0, 3, 4, 1, 6, 3, 4, 0, 7, 1, 6, 5, 8, 0, 8, 3, 6, 1, 2, 4, 5, 2, 2, 9, 0, 7, 3, 3, 6, 2, 0, 7, 8, 8, 1, 5, 9, 5, 0, 8, 0, 2, 0, 9, 7, 1, 6, 4, 5, 3, 7, 1, 2, 2, 9, 1, 5, 0, 1, 8, 9, 5, 8, 3, 2, 0, 4, 0, 5, 8, 7, 5, 9, 5, 7, 7, 0, 3, 3, 7, 2, 8, 8, 1, 3, 0, 5, 5, 0, 0, 0, 0, 1, 0, 1, 6, 2, 6, 5, 6, 3, 4, 9, 7, 5, 3, 0, 1, 4, 6, 7, 9, 6, 3, 9, 6] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
7 5 [9, 8, 1, 2, 7, 7, 6, 0, 6, 1, 8, 2, 8, 9, 4, 8, 2, 3, 0, 5, 4, 1, 0, 3, 0, 7, 0, 1, 0, 2, 0, 9, 4, 2, 2, 7, 7, 7, 6, 1, 3, 8, 7, 2, 7, 9, 8, 1, 0, 3, 7, 2, 0, 4, 8, 5, 1, 6, 3, 4, 9, 4, 3, 3, 2, 2, 7, 7, 6, 1, 1, 7, 8, 6, 4, 6, 7, 6, 8, 3, 4, 8, 2, 5, 4, 8, 1, 3, 0, 8, 4, 3, 1, 3, 1, 2, 9, 8, 4, 2, 2, 8, 1, 5, 5, 3, 7, 4, 6, 3, 1, 0, 0, 4, 1, 0, 4, 7, 4, 9, 2, 1, 9, 0, 8, 0, 1, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
8 6 [8, 4, 8, 3, 6, 1, 4, 4, 8, 7, 5, 8, 9, 4, 5, 6, 5, 6, 1, 3, 7, 0, 7, 3, 2, 3, 8, 5, 8, 5, 3, 7, 3, 4, 1, 3, 1, 6, 5, 2, 6, 7, 7, 5, 3, 7, 3, 6, 4, 4, 6, 9, 9, 6, 4, 6, 4, 7, 4, 0, 1, 2, 9, 6, 2, 5, 2, 3, 0, 3, 8, 2, 1, 0, 5, 8, 1, 4, 6, 5, 2, 8, 3, 3, 8, 1, 2, 1, 6, 3, 7, 4, 4, 9, 9, 5, 5, 6, 1, 9, 7, 7, 5, 9, 6, 2, 6, 7, 3, 2, 5, 4, 4, 1, 2, 5, 0, 1, 5, 5, 5, 6, 0, 1, 1, 7, 7, 5] [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
9 7 [3, 8, 0, 5, 5, 7, 4, 2, 9, 2, 8, 4, 2, 1, 9, 4, 6, 5, 2, 9, 1, 2, 1, 4, 0, 7, 4, 9, 6, 3, 8, 1, 8, 6, 4, 8, 3, 8, 2, 0, 4, 2, 7, 8, 2, 1, 6, 4, 3, 7, 5, 0, 5, 2, 0, 7, 7, 0, 2, 8, 0, 7, 0, 4, 2, 6, 3, 0, 0, 3, 0, 7, 3, 4, 9, 6, 7, 4, 5, 1, 7, 3, 1, 8, 4, 3, 5, 1, 8, 9, 8, 8, 4, 4, 9, 5, 9, 4, 9, 1, 9, 3, 3, 0, 5, 3, 8, 3, 3, 7, 6, 5, 4, 6, 1, 0, 1, 3, 7, 8, 4, 8, 5, 4, 4, 2, 9, 5] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
10 8 [6, 2, 6, 9, 5, 4, 5, 2, 7, 3, 4, 0, 7, 8, 5, 2, 5, 0, 7, 7, 5, 5, 9, 9, 1, 8, 9, 1, 0, 3, 4, 6, 2, 6, 0, 6, 0, 2, 2, 3, 5, 9, 5, 7, 4, 2, 4, 5, 2, 2, 5, 0, 9, 7, 2, 6, 1, 6, 2, 0, 9, 7, 4, 3, 6, 5, 9, 0, 5, 6, 2, 9, 7, 7, 7, 7, 2, 9, 7, 0, 5, 5, 2, 3, 1, 8, 9, 1, 0, 1, 3, 6, 8, 1, 8, 1, 1, 9, 7, 7, 7, 4, 9, 7, 9, 4, 8, 0, 7, 3, 6, 8, 6, 6, 8, 5, 5, 5, 8, 2, 7, 1, 1, 5, 0, 7, 2, 3] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
11 9 [3, 7, 3, 8, 0, 7, 7, 7, 6, 5, 3, 8, 4, 0, 2, 1, 1, 2, 0, 7, 2, 5, 9, 3, 0, 7, 1, 2, 7, 1, 2, 2, 5, 6, 2, 3, 4, 8, 5, 8, 6, 4, 5, 9, 4, 6, 2, 3, 2, 5, 0, 0, 3, 6, 9, 4, 8, 4, 3, 6, 4, 2, 0, 3, 9, 3, 2, 2, 5, 6, 0, 1, 4, 0, 3, 3, 7, 9, 8, 6, 9, 6, 7, 1, 2, 6, 5, 9, 6, 9, 0, 2, 9, 6, 2, 3, 6, 0, 5, 1, 2, 0, 4, 0, 8, 3, 9, 4, 3, 6, 0, 3, 9, 7, 3, 6, 1, 0, 6, 0, 4, 4, 5, 8, 4, 9, 8, 4] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
12 10 [3, 5, 9, 2, 0, 5, 0, 6, 6, 4, 8, 0, 2, 7, 8, 9, 3, 6, 7, 8, 6, 1, 3, 5, 8, 8, 0, 5, 7, 2, 7, 0, 9, 1, 4, 8, 9, 3, 7, 3, 4, 7, 3, 1, 3, 3, 3, 0, 3, 2, 5, 6, 0, 6, 5, 8, 7, 5, 9, 7, 4, 8, 3, 1, 5, 0, 5, 0, 8, 5, 1, 3, 8, 9, 1, 6, 2, 2, 8, 4, 9, 2, 2, 2, 8, 4, 9, 8, 0, 7, 5, 3, 9, 7, 9, 1, 7, 3, 7, 7, 6, 2, 3, 6, 8, 4, 8, 9, 6, 4, 2, 2, 0, 1, 7, 5, 4, 7, 3, 6, 6, 6, 9, 9, 2, 4, 6, 8] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
13 11 [6, 6, 7, 8, 6, 9, 0, 9, 4, 2, 9, 0, 0, 3, 8, 3, 2, 3, 1, 7, 9, 8, 8, 5, 4, 7, 2, 6, 4, 3, 4, 0, 2, 6, 4, 5, 6, 6, 1, 3, 1, 0, 9, 6, 1, 5, 1, 5, 3, 5, 6, 9, 5, 1, 8, 8, 0, 9, 1, 5, 5, 7, 2, 3, 9, 1, 2, 5, 4, 4, 8, 2, 1, 2, 4, 6, 4, 5, 3, 3, 7, 4, 8, 4, 2, 2, 3, 7, 2, 9, 4, 8, 2, 3, 3, 0, 1, 5, 3, 8, 1, 9, 9, 0, 9, 0, 5, 8, 3, 2, 5, 8, 4, 9, 0, 9, 4, 8, 6, 0, 4, 3, 2, 2, 1, 0, 2, 2] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
14 12 [6, 5, 3, 7, 0, 7, 6, 1, 8, 8, 3, 3, 3, 2, 8, 9, 6, 9, 6, 2, 0, 4, 6, 5, 5, 9, 5, 6, 0, 6, 8, 6, 8, 1, 0, 5, 5, 7, 7, 6, 9, 9, 2, 5, 8, 1, 9, 9, 7, 9, 7, 0, 8, 1, 6, 8, 4, 7, 0, 8, 6, 8, 9, 1, 2, 0, 1, 0, 1, 7, 5, 7, 0, 5, 3, 2, 5, 6, 1, 4, 2, 4, 7, 0, 8, 3, 1, 6, 4, 5, 2, 6, 5, 2, 4, 7, 1, 3, 4, 5, 5, 9, 3, 0, 3, 0, 0, 1, 3, 7, 0, 0, 2, 2, 1, 2, 7, 9, 2, 0, 2, 2, 8, 1, 4, 4, 6, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
15 13 [7, 2, 7, 8, 3, 6, 5, 1, 6, 3, 5, 8, 6, 1, 7, 7, 0, 0, 2, 6, 3, 9, 6, 1, 9, 7, 0, 3, 0, 8, 4, 6, 2, 1, 1, 8, 9, 3, 6, 0, 5, 6, 8, 7, 6, 0, 3, 7, 6, 4, 3, 4, 2, 4, 3, 7, 9, 2, 3, 4, 3, 3, 9, 1, 8, 1, 9, 8, 6, 2, 6, 5, 2, 9, 5, 4, 6, 6, 8, 3, 4, 1, 0, 8, 5, 8, 1, 0, 7, 0, 8, 3, 5, 7, 9, 9, 4, 7, 5, 8, 5, 8, 5, 9, 4, 5, 4, 1, 8, 0, 8, 7, 8, 8, 0, 7, 4, 9, 5, 5, 7, 3, 4, 9, 7, 2, 1, 8] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
16 14 [2, 2, 1, 1, 6, 3, 1, 7, 8, 2, 8, 9, 4, 0, 6, 9, 7, 0, 8, 4, 4, 6, 4, 6, 4, 3, 4, 8, 7, 7, 5, 2, 4, 4, 7, 0, 1, 7, 5, 2, 7, 6, 6, 0, 0, 8, 2, 2, 5, 0, 1, 6, 6, 1, 1, 4, 6, 7, 5, 2, 1, 4, 8, 4, 6, 0, 7, 2, 5, 9, 6, 3, 9, 8, 3, 2, 1, 1, 4, 5, 7, 4, 1, 8, 9, 2, 3, 6, 8, 4, 5, 3, 4, 0, 3, 1, 4, 5, 5, 5, 2, 1, 8, 3, 7, 3, 9, 8, 3, 5, 5, 9, 6, 3, 5, 0, 6, 6, 3, 0, 9, 0, 8, 6, 8, 7, 8, 4] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
17 15 [7, 8, 9, 1, 0, 4, 1, 9, 0, 5, 3, 4, 0, 1, 9, 4, 7, 0, 6, 7, 8, 2, 1, 5, 9, 0, 5, 5, 7, 7, 6, 6, 6, 4, 6, 7, 4, 2, 3, 5, 8, 7, 3, 5, 7, 0, 1, 7, 8, 4, 8, 2, 1, 5, 0, 2, 4, 3, 1, 6, 5, 6, 0, 0, 8, 3, 0, 9, 0, 5, 7, 2, 6, 5, 9, 7, 3, 0, 2, 6, 0, 8, 7, 9, 5, 0, 8, 8, 4, 3, 4, 6, 1, 1, 5, 3, 8, 9, 9, 0, 9, 1, 4, 0, 4, 2, 6, 2, 4, 6, 6, 3, 9, 7, 4, 1, 9, 9, 7, 6, 9, 2, 4, 9, 7, 6, 8, 8] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
18 16 [6, 4, 5, 9, 2, 7, 5, 7, 6, 5, 0, 0, 2, 0, 7, 9, 5, 7, 5, 7, 9, 0, 4, 7, 4, 3, 8, 8, 0, 5, 4, 6, 6, 9, 4, 1, 2, 0, 7, 2, 8, 0, 4, 2, 0, 0, 9, 9, 0, 2, 3, 9, 3, 4, 7, 0, 9, 1, 0, 5, 5, 8, 2, 6, 1, 6, 3, 3, 8, 8, 6, 5, 4, 0, 7, 2, 4, 9, 6, 4, 3, 9, 4, 9, 9, 4, 4, 7, 5, 1, 8, 8, 3, 6, 0, 9, 6, 0, 1, 4, 0, 4, 3, 6, 0, 8, 5, 4, 7, 6, 1, 5, 2, 2, 3, 4, 5, 2, 4, 3, 3, 1, 9, 8, 6, 7, 7, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
19 17 [8, 3, 0, 2, 5, 3, 6, 1, 9, 9, 6, 6, 7, 7, 6, 4, 1, 9, 9, 9, 2, 5, 1, 4, 8, 0, 7, 6, 4, 2, 0, 0, 4, 1, 1, 2, 3, 2, 6, 7, 1, 1, 2, 1, 0, 9, 1, 0, 5, 2, 0, 2, 7, 7, 8, 1, 3, 8, 5, 0, 1, 4, 5, 5, 4, 4, 6, 1, 0, 7, 5, 4, 6, 0, 2, 9, 1, 7, 5, 5, 3, 2, 4, 2, 4, 5, 7, 1, 8, 4, 1, 2, 0, 5, 8, 7, 3, 2, 3, 6, 7, 0, 2, 9, 1, 8, 5, 5, 3, 5, 1, 0, 7, 0, 4, 3, 5, 4, 5, 5, 5, 7, 9, 0, 9, 0, 4, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
20 18 [5, 0, 0, 0, 3, 6, 0, 8, 0, 9, 2, 8, 4, 1, 8, 7, 3, 3, 5, 6, 7, 1, 7, 7, 0, 1, 8, 4, 8, 7, 6, 6, 0, 6, 3, 9, 0, 3, 4, 4, 5, 4, 5, 8, 2, 7, 6, 3, 9, 6, 1, 9, 3, 0, 3, 5, 9, 2, 1, 7, 1, 9, 2, 9, 8, 6, 7, 1, 3, 3, 5, 8, 8, 8, 9, 6, 8, 2, 1, 6, 5, 3, 4, 8, 5, 6, 0, 9, 5, 0, 0, 1, 0, 4, 7, 4, 3, 4, 5, 3, 3, 0, 9, 0, 5, 3, 2, 3, 7, 9, 2, 9, 4, 4, 6, 1, 3, 6, 1, 4, 0, 0, 5, 2, 0, 7, 8, 4] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
21 19 [7, 3, 7, 6, 5, 5, 4, 3, 6, 2, 9, 8, 9, 5, 9, 1, 9, 1, 5, 2, 4, 8, 8, 6, 8, 5, 5, 0, 1, 6, 2, 8, 0, 1, 8, 4, 6, 6, 6, 3, 0, 6, 4, 4, 4, 2, 8, 4, 8, 9, 8, 7, 0, 9, 2, 5, 5, 6, 2, 2, 1, 3, 4, 3, 0, 7, 5, 6, 3, 8, 8, 1, 2, 2, 6, 8, 9, 9, 8, 8, 5, 7, 9, 1, 3, 4, 5, 1, 0, 1, 9, 3, 7, 5, 1, 2, 7, 7, 2, 2, 1, 8, 3, 4, 5, 6, 1, 0, 2, 9, 6, 3, 3, 7, 1, 0, 9, 6, 8, 3, 8, 3, 5, 5, 6, 6, 5, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
22 20 [0, 1, 1, 4, 0, 1, 8, 4, 1, 3, 2, 7, 9, 8, 2, 9, 7, 2, 4, 5, 4, 7, 9, 4, 6, 9, 1, 5, 9, 6, 7, 6, 1, 5, 0, 5, 4, 3, 6, 9, 0, 9, 3, 8, 9, 2, 7, 3, 1, 5, 0, 5, 6, 7, 5, 2, 2, 2, 8, 1, 3, 8, 0, 2, 3, 0, 0, 9, 7, 4, 2, 8, 3, 5, 3, 0, 6, 8, 2, 0, 1, 9, 9, 7, 7, 3, 2, 7, 9, 5, 9, 7, 6, 4, 1, 6, 8, 5, 8, 8, 3, 1, 9, 2, 3, 5, 4, 5, 6, 5, 2, 6, 6, 6, 6, 5, 2, 9, 1, 7, 3, 8, 8, 1, 1, 8, 5, 9] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
23 21 [0, 1, 3, 2, 6, 4, 7, 5, 8, 7, 1, 1, 0, 1, 3, 2, 0, 1, 4, 2, 9, 8, 8, 8, 7, 8, 8, 4, 3, 1, 8, 1, 7, 0, 0, 2, 7, 1, 3, 2, 8, 2, 6, 4, 7, 7, 9, 6, 3, 6, 1, 8, 2, 2, 1, 1, 7, 4, 9, 9, 1, 5, 9, 3, 6, 5, 7, 3, 1, 1, 3, 6, 8, 5, 5, 0, 5, 7, 4, 0, 9, 3, 4, 5, 2, 8, 6, 0, 2, 6, 1, 7, 6, 5, 0, 2, 9, 5, 4, 4, 8, 3, 7, 6, 4, 3, 8, 6, 8, 4, 2, 6, 3, 5, 5, 5, 9, 6, 8, 9, 2, 1, 0, 8, 6, 7, 0, 4] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
24 22 [2, 1, 3, 2, 7, 6, 6, 9, 1, 9, 2, 3, 4, 1, 3, 6, 7, 6, 5, 2, 0, 9, 3, 5, 4, 5, 7, 7, 1, 8, 6, 2, 8, 3, 1, 4, 7, 8, 0, 5, 8, 0, 9, 0, 0, 2, 9, 2, 3, 1, 6, 0, 9, 3, 2, 2, 7, 0, 5, 8, 2, 3, 7, 2, 4, 5, 4, 1, 9, 5, 8, 6, 6, 6, 4, 7, 7, 0, 9, 5, 1, 3, 9, 8, 5, 6, 7, 7, 1, 4, 2, 0, 2, 7, 5, 0, 2, 5, 8, 5, 6, 8, 7, 7, 1, 7, 2, 8, 3, 7, 9, 1, 6, 3, 5, 2, 9, 5, 5, 4, 7, 4, 2, 8, 1, 1, 9, 9] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
25 23 [2, 6, 6, 7, 3, 1, 6, 0, 1, 8, 8, 9, 8, 6, 7, 0, 3, 0, 6, 8, 3, 5, 0, 0, 8, 7, 6, 0, 6, 6, 1, 9, 4, 2, 3, 3, 1, 2, 5, 9, 1, 0, 1, 5, 0, 6, 3, 1, 3, 7, 5, 2, 1, 8, 0, 5, 3, 4, 8, 3, 5, 4, 9, 5, 1, 2, 7, 7, 3, 6, 2, 5, 7, 4, 5, 4, 2, 6, 6, 9, 4, 9, 1, 1, 0, 6, 4, 4, 4, 4, 8, 3, 6, 1, 0, 2, 5, 1, 5, 3, 0, 8, 2, 2, 7, 0, 9, 6, 1, 5, 7, 1, 6, 7, 5, 6, 0, 8, 9, 2, 7, 2, 9, 2, 3, 2, 9, 6] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
26 24 [3, 6, 6, 1, 3, 0, 7, 7, 8, 0, 2, 0, 3, 0, 6, 0, 9, 8, 5, 3, 4, 3, 9, 6, 2, 4, 8, 9, 3, 1, 3, 9, 9, 0, 0, 9, 8, 9, 4, 9, 6, 6, 9, 0, 0, 0, 0, 1, 1, 1, 2, 5, 7, 2, 5, 2, 6, 9, 4, 8, 9, 2, 4, 7, 1, 9, 9, 2, 8, 3, 0, 6, 6, 4, 6, 7, 4, 0, 3, 5, 8, 8, 0, 1, 4, 7, 6, 3, 6, 2, 3, 4, 0, 1, 6, 9, 4, 6, 3, 5, 5, 1, 1, 9, 7, 8, 4, 8, 6, 9, 4, 6, 0, 5, 6, 3, 4, 3, 4, 3, 0, 6, 3, 6, 1, 7, 6, 9] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
27 25 [8, 0, 1, 9, 8, 5, 3, 2, 1, 6, 0, 2, 1, 7, 0, 7, 2, 9, 0, 1, 3, 5, 3, 6, 8, 2, 9, 3, 1, 7, 9, 0, 0, 2, 9, 7, 9, 8, 7, 9, 3, 3, 9, 5, 3, 8, 0, 3, 3, 5, 0, 6, 3, 0, 9, 6, 4, 3, 4, 4, 9, 4, 7, 0, 2, 6, 3, 4, 6, 0, 7, 5, 1, 9, 3, 1, 2, 5, 0, 9, 6, 5, 0, 7, 6, 6, 9, 9, 0, 6, 4, 8, 9, 0, 8, 3, 1, 1, 6, 9, 3, 0, 4, 8, 5, 1, 5, 9, 2, 1, 2, 6, 2, 1, 2, 2, 1, 9, 9, 3, 6, 5, 6, 1, 1, 7, 1, 5] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
28 26 [1, 8, 6, 7, 7, 5, 0, 5, 5, 8, 8, 3, 8, 4, 4, 7, 8, 3, 0, 0, 8, 4, 8, 5, 9, 6, 3, 4, 1, 5, 1, 1, 7, 2, 6, 6, 0, 4, 0, 4, 6, 6, 1, 8, 0, 4, 5, 3, 6, 7, 1, 7, 5, 5, 3, 9, 8, 3, 7, 6, 3, 1, 0, 6, 0, 6, 9, 9, 3, 6, 0, 1, 4, 8, 0, 8, 4, 8, 8, 0, 1, 0, 6, 6, 8, 6, 1, 8, 2, 8, 4, 0, 6, 0, 0, 4, 7, 4, 3, 8, 7, 1, 4, 6, 7, 6, 2, 7, 5, 3, 8, 7, 3, 0, 5, 0, 9, 2, 6, 3, 4, 9, 3, 0, 2, 3, 2, 9] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
29 27 [2, 9, 2, 1, 4, 1, 3, 7, 5, 4, 3, 7, 4, 6, 0, 5, 8, 5, 6, 8, 5, 7, 5, 9, 5, 4, 4, 2, 2, 3, 8, 3, 4, 6, 1, 7, 3, 4, 4, 2, 6, 2, 1, 4, 7, 2, 6, 1, 5, 3, 2, 0, 0, 1, 6, 3, 8, 7, 2, 4, 5, 5, 5, 5, 9, 4, 5, 0, 2, 2, 8, 7, 7, 7, 8, 2, 6, 4, 7, 8, 4, 8, 8, 2, 0, 6, 9, 6, 9, 9, 8, 0, 2, 4, 3, 4, 5, 2, 3, 7, 5, 8, 7, 8, 7, 5, 5, 1, 4, 7, 0, 2, 2, 6, 0, 0, 4, 1, 7, 0, 5, 4, 9, 6, 3, 3, 8, 9] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
30 28 [5, 2, 5, 3, 0, 1, 7, 3, 5, 8, 6, 9, 3, 0, 6, 9, 6, 0, 5, 0, 2, 1, 4, 5, 2, 4, 7, 4, 3, 6, 8, 6, 5, 8, 9, 1, 6, 9, 5, 3, 1, 9, 9, 1, 0, 1, 4, 9, 8, 8, 0, 2, 8, 6, 9, 3, 3, 0, 7, 2, 8, 4, 0, 0, 0, 3, 2, 2, 5, 6, 6, 4, 6, 9, 9, 3, 8, 5, 4, 7, 2, 3, 6, 0, 5, 1, 2, 9, 9, 8, 6, 1, 4, 7, 7, 4, 7, 6, 1, 3, 7, 9, 4, 2, 4, 2, 0, 3, 8, 2, 9, 8, 8, 5, 7, 5, 6, 5, 4, 3, 5, 6, 0, 5, 1, 8, 6, 4] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
31 29 [1, 9, 2, 4, 6, 8, 4, 3, 0, 9, 5, 5, 2, 7, 4, 8, 4, 2, 7, 7, 0, 5, 4, 8, 4, 9, 5, 9, 8, 1, 2, 7, 0, 3, 7, 6, 2, 5, 4, 6, 8, 5, 2, 3, 3, 6, 5, 4, 6, 6, 1, 7, 0, 8, 2, 9, 5, 5, 2, 8, 1, 9, 7, 6, 5, 1, 9, 3, 8, 7, 4, 9, 0, 4, 0, 1, 8, 1, 0, 8, 9, 8, 2, 7, 1, 9, 4, 9, 4, 4, 1, 2, 7, 6, 1, 2, 5, 3, 1, 0, 7, 6, 2, 5, 8, 4, 6, 4, 4, 7, 2, 5, 0, 6, 3, 5, 9, 2, 0, 4, 7, 1, 3, 5, 3, 9, 9, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
32 30 [5, 7, 0, 3, 2, 8, 8, 1, 8, 3, 0, 7, 7, 6, 2, 9, 2, 2, 3, 5, 3, 8, 0, 7, 8, 7, 6, 1, 7, 0, 7, 1, 2, 1, 5, 0, 6, 4, 6, 9, 5, 4, 1, 2, 2, 7, 8, 3, 0, 1, 5, 7, 2, 7, 2, 6, 7, 2, 9, 3, 5, 2, 7, 8, 8, 8, 4, 7, 1, 3, 8, 5, 4, 3, 8, 3, 8, 9, 2, 7, 6, 4, 2, 5, 7, 9, 8, 4, 1, 9, 4, 1, 0, 0, 1, 5, 0, 6, 0, 2, 1, 7, 6, 4, 0, 5, 4, 2, 3, 9, 1, 9, 7, 0, 4, 5, 2, 5, 7, 6, 3, 3, 4, 9, 9, 1, 7, 4] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
33 31 [8, 9, 6, 2, 7, 7, 8, 6, 9, 9, 2, 6, 0, 8, 4, 1, 5, 6, 6, 3, 9, 9, 5, 7, 4, 1, 2, 4, 0, 4, 7, 2, 0, 0, 3, 5, 0, 4, 0, 3, 7, 3, 9, 8, 2, 5, 4, 0, 2, 5, 3, 3, 7, 5, 8, 1, 6, 7, 0, 0, 9, 0, 5, 0, 6, 6, 5, 1, 6, 9, 6, 6, 1, 8, 7, 3, 7, 2, 2, 0, 7, 9, 2, 7, 9, 5, 4, 3, 2, 3, 0, 7, 9, 4, 1, 6, 8, 4, 2, 6, 9, 6, 4, 8, 0, 0, 4, 9, 3, 4, 7, 2, 1, 7, 2, 9, 0, 1, 2, 5, 8, 4, 1, 4, 0, 5, 5, 5] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
34 32 [5, 6, 8, 1, 2, 0, 6, 1, 5, 7, 5, 4, 2, 9, 6, 6, 7, 0, 5, 3, 5, 7, 2, 5, 8, 2, 4, 5, 7, 5, 1, 0, 9, 9, 6, 8, 2, 0, 8, 4, 9, 3, 4, 2, 1, 1, 2, 7, 6, 1, 0, 2, 8, 9, 9, 4, 7, 5, 3, 6, 4, 6, 1, 4, 9, 2, 3, 0, 9, 2, 1, 5, 6, 9, 1, 2, 3, 0, 3, 4, 4, 4, 8, 9, 2, 3, 5, 5, 4, 8, 8, 6, 7, 9, 3, 1, 1, 8, 0, 4, 9, 9, 3, 1, 4, 6, 2, 1, 7, 1, 8, 9, 5, 3, 2, 1, 7, 8, 7, 1, 0, 5, 4, 6, 1, 1, 9, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
35 33 [2, 8, 6, 1, 4, 7, 1, 1, 9, 7, 2, 6, 3, 3, 5, 5, 7, 3, 5, 6, 7, 6, 7, 9, 3, 4, 3, 4, 5, 9, 5, 1, 5, 1, 1, 7, 1, 1, 7, 1, 2, 6, 8, 1, 0, 6, 1, 7, 5, 9, 5, 5, 4, 1, 7, 1, 4, 0, 0, 5, 4, 1, 5, 9, 7, 7, 4, 9, 9, 0, 9, 7, 0, 8, 9, 9, 3, 5, 8, 3, 6, 5, 2, 8, 6, 1, 5, 2, 4, 3, 4, 1, 3, 7, 7, 2, 2, 9, 0, 8, 3, 0, 0, 4, 7, 4, 5, 1, 6, 3, 2, 9, 7, 5, 1, 7, 7, 5, 5, 9, 9, 6, 9, 2, 9, 7, 1, 3] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
36 34 [8, 4, 4, 5, 8, 1, 9, 7, 1, 8, 7, 5, 4, 5, 9, 4, 3, 7, 3, 1, 5, 1, 9, 7, 8, 2, 4, 1, 8, 1, 4, 9, 4, 8, 4, 7, 8, 1, 3, 0, 4, 8, 5, 0, 4, 2, 5, 4, 5, 2, 3, 6, 3, 2, 5, 9, 6, 9, 7, 7, 2, 3, 1, 8, 2, 1, 2, 0, 1, 2, 0, 7, 8, 3, 5, 1, 4, 3, 0, 9, 7, 4, 6, 2, 1, 2, 1, 5, 4, 8, 2, 6, 7, 9, 8, 9, 0, 4, 9, 2, 5, 4, 1, 7, 5, 5, 1, 7, 5, 9, 0, 9, 1, 4, 4, 6, 5, 9, 4, 2, 6, 8, 8, 1, 3, 7, 5, 5] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
37 35 [2, 5, 8, 2, 7, 2, 1, 3, 3, 6, 9, 2, 3, 1, 4, 9, 0, 5, 3, 2, 7, 2, 9, 9, 9, 0, 4, 8, 0, 9, 3, 5, 4, 7, 9, 2, 0, 0, 3, 3, 5, 1, 6, 5, 7, 2, 8, 1, 6, 5, 5, 0, 7, 4, 8, 0, 8, 2, 8, 4, 8, 3, 8, 9, 8, 7, 2, 5, 8, 4, 0, 7, 0, 1, 6, 4, 7, 0, 6, 9, 5, 3, 8, 9, 4, 8, 6, 5, 7, 7, 4, 0, 4, 3, 8, 1, 5, 7, 2, 5, 3, 5, 5, 4, 8, 1, 9, 2, 8, 7, 6, 0, 8, 4, 8, 1, 1, 1, 0, 0, 8, 0, 2, 7, 9, 7, 6, 5] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
38 36 [7, 7, 5, 9, 4, 9, 5, 3, 5, 1, 9, 7, 3, 7, 7, 2, 1, 0, 2, 6, 3, 3, 4, 0, 7, 7, 2, 5, 0, 3, 4, 0, 6, 5, 5, 1, 8, 4, 4, 8, 7, 3, 1, 8, 0, 8, 1, 6, 9, 7, 5, 6, 5, 4, 2, 1, 8, 2, 6, 6, 1, 6, 9, 7, 5, 9, 5, 7, 8, 4, 3, 9, 5, 0, 8, 6, 0, 3, 6, 3, 8, 4, 9, 8, 8, 1, 6, 5, 3, 7, 1, 0, 7, 5, 0, 4, 0, 6, 4, 2, 9, 8, 4, 1, 3, 5, 7, 3, 7, 7, 3, 9, 1, 6, 9, 1, 9, 9, 7, 2, 8, 2, 6, 5, 6, 4, 3, 5] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
39 37 [1, 0, 9, 2, 1, 0, 3, 4, 1, 6, 3, 6, 0, 0, 9, 2, 9, 0, 3, 3, 6, 6, 8, 8, 0, 4, 6, 5, 4, 1, 8, 5, 1, 2, 0, 7, 2, 0, 5, 8, 8, 0, 3, 7, 5, 7, 6, 4, 1, 5, 0, 9, 4, 9, 1, 7, 9, 4, 1, 1, 3, 8, 7, 5, 7, 0, 9, 5, 9, 9, 6, 3, 4, 2, 4, 9, 4, 8, 2, 5, 5, 9, 7, 9, 7, 8, 6, 6, 0, 9, 7, 1, 6, 0, 9, 3, 2, 0, 4, 1, 8, 8, 7, 4, 1, 7, 3, 0, 4, 1, 8, 7, 8, 9, 0, 7, 6, 7, 3, 6, 6, 4, 7, 1, 1, 6, 5, 9] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
40 38 [1, 7, 0, 4, 9, 9, 0, 8, 1, 0, 3, 8, 1, 3, 5, 5, 6, 5, 1, 7, 3, 0, 0, 9, 5, 3, 9, 9, 6, 6, 2, 5, 1, 1, 9, 3, 0, 2, 8, 4, 9, 2, 5, 9, 4, 0, 6, 2, 6, 6, 1, 9, 6, 3, 0, 7, 8, 5, 3, 4, 1, 3, 3, 9, 7, 3, 5, 7, 3, 9, 7, 7, 2, 5, 1, 9, 0, 9, 3, 0, 3, 1, 3, 1, 7, 4, 1, 0, 7, 1, 4, 7, 1, 8, 7, 8, 6, 5, 2, 7, 3, 8, 2, 7, 3, 4, 3, 1, 5, 0, 1, 4, 9, 2, 9, 3, 3, 6, 6, 5, 8, 5, 1, 9, 1, 3, 2, 6] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
41 39 [8, 6, 2, 4, 6, 7, 8, 4, 0, 4, 6, 7, 8, 5, 5, 7, 6, 4, 3, 6, 3, 7, 9, 7, 4, 2, 4, 8, 1, 3, 6, 9, 8, 4, 2, 2, 2, 0, 5, 8, 4, 3, 1, 3, 1, 7, 7, 0, 6, 6, 0, 5, 1, 0, 1, 0, 5, 8, 4, 6, 7, 3, 0, 9, 2, 6, 6, 3, 0, 1, 1, 5, 3, 8, 8, 8, 4, 0, 6, 1, 6, 6, 3, 5, 0, 8, 6, 0, 2, 9, 4, 2, 7, 5, 2, 6, 2, 6, 0, 9, 0, 6, 0, 0, 5, 6, 3, 7, 4, 3, 1, 4, 0, 3, 3, 2, 2, 5, 7, 6, 0, 0, 2, 5, 0, 5, 9, 6] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]
42 40 [8, 6, 0, 6, 5, 8, 9, 7, 9, 3, 8, 8, 0, 8, 0, 7, 7, 4, 5, 1, 7, 7, 4, 9, 0, 7, 5, 8, 3, 5, 8, 7, 2, 9, 9, 0, 1, 8, 0, 6, 5, 3, 3, 8, 0, 6, 7, 2, 6, 4, 9, 5, 0, 4, 1, 5, 2, 0, 5, 5, 7, 6, 7, 5, 0, 8, 9, 0, 1, 9, 3, 1, 8, 6, 2, 5, 7, 1, 1, 0, 3, 7, 3, 1, 3, 5, 6, 4, 5, 8, 7, 4, 0, 1, 9, 2, 8, 5, 7, 7, 7, 6, 7, 0, 0, 0, 7, 0, 4, 6, 2, 6, 5, 9, 8, 4, 8, 8, 1, 0, 7, 8, 7, 9, 9, 2, 0, 8] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
43 41 [5, 1, 8, 2, 8, 4, 4, 5, 0, 7, 5, 3, 3, 6, 1, 1, 5, 9, 4, 7, 3, 1, 0, 0, 4, 9, 8, 5, 0, 8, 8, 7, 9, 0, 3, 4, 8, 4, 7, 4, 2, 4, 1, 9, 4, 8, 5, 8, 6, 0, 1, 8, 6, 3, 4, 5, 0, 2, 8, 0, 4, 4, 9, 5, 2, 8, 7, 4, 9, 6, 2, 3, 8, 7, 1, 0, 8, 0, 1, 1, 0, 0, 2, 1, 1, 2, 8, 8, 0, 1, 3, 5, 0, 5, 5, 1, 1, 5, 3, 4, 3, 7, 3, 0, 0, 1, 3, 4, 1, 9, 4, 6, 7, 1, 8, 3, 4, 7, 0, 3, 3, 2, 7, 5, 7, 2, 7, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
44 42 [5, 0, 6, 3, 6, 5, 5, 1, 0, 8, 1, 8, 8, 0, 0, 6, 5, 9, 1, 6, 5, 8, 1, 9, 7, 2, 5, 5, 4, 0, 7, 9, 3, 5, 1, 5, 9, 6, 8, 4, 3, 1, 6, 4, 5, 0, 2, 2, 9, 9, 0, 1, 6, 6, 8, 6, 0, 2, 9, 7, 7, 0, 2, 7, 0, 0, 1, 3, 0, 3, 7, 4, 6, 6, 6, 5, 0, 0, 5, 3, 9, 6, 3, 5, 3, 3, 9, 0, 4, 4, 2, 4, 0, 3, 9, 5, 8, 7, 4, 0, 7, 6, 4, 7, 1, 6, 3, 3, 2, 4, 5, 0, 1, 5, 7, 3, 4, 3, 8, 6, 5, 8, 9, 7, 2, 3, 2, 5] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
45 43 [4, 1, 0, 8, 1, 0, 4, 2, 0, 8, 8, 7, 8, 0, 2, 6, 6, 8, 3, 3, 6, 0, 5, 5, 3, 0, 9, 9, 6, 7, 8, 4, 2, 8, 5, 0, 9, 4, 4, 5, 8, 6, 4, 1, 1, 6, 5, 4, 6, 9, 6, 4, 3, 2, 5, 4, 3, 8, 1, 7, 5, 9, 4, 2, 0, 5, 9, 0, 3, 6, 1, 3, 6, 8, 5, 4, 4, 6, 6, 1, 7, 1, 5, 1, 1, 0, 5, 5, 3, 8, 7, 8, 8, 5, 3, 2, 1, 1, 7, 7, 4, 0, 8, 7, 6, 2, 9, 2, 6, 8, 8, 1, 6, 8, 3, 2, 2, 1, 3, 2, 9, 5, 1, 8, 8, 0, 4, 2] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
46 44 [6, 2, 0, 8, 6, 4, 3, 8, 9, 4, 7, 0, 7, 7, 6, 5, 1, 0, 4, 1, 5, 9, 5, 2, 1, 6, 9, 9, 1, 3, 6, 0, 2, 7, 4, 8, 8, 7, 1, 2, 5, 4, 8, 8, 8, 1, 2, 7, 1, 4, 8, 5, 8, 4, 0, 7, 5, 8, 6, 9, 6, 6, 1, 6, 0, 0, 7, 9, 2, 1, 0, 2, 9, 4, 3, 9, 8, 5, 0, 3, 1, 5, 6, 0, 2, 4, 1, 7, 1, 9, 0, 6, 9, 7, 9, 2, 9, 1, 1, 8, 4, 1, 7, 9, 6, 0, 9, 3, 8, 0, 7, 3, 1, 0, 2, 0, 7, 9, 3, 6, 4, 2, 3, 1, 3, 0, 5, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
47 45 [3, 9, 5, 4, 8, 0, 0, 9, 5, 7, 3, 2, 7, 1, 3, 8, 4, 9, 9, 3, 2, 1, 5, 6, 2, 1, 8, 2, 6, 6, 6, 4, 0, 8, 5, 0, 8, 2, 2, 5, 6, 3, 2, 5, 2, 1, 9, 6, 0, 8, 1, 0, 7, 6, 9, 2, 7, 8, 6, 1, 2, 3, 1, 8, 7, 1, 8, 3, 6, 7, 1, 8, 1, 3, 6, 3, 1, 3, 6, 8, 7, 4, 7, 2, 7, 2, 1, 6, 9, 0, 2, 6, 9, 2, 0, 7, 6, 5, 8, 6, 2, 5, 2, 9, 7, 7, 6, 1, 4, 3, 3, 4, 3, 1, 0, 2, 6, 8, 4, 4, 2, 2, 6, 3, 4, 8, 2, 3] [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
48 46 [1, 6, 0, 4, 0, 8, 3, 5, 4, 9, 5, 9, 2, 0, 9, 5, 5, 0, 1, 3, 6, 7, 6, 6, 5, 0, 3, 0, 4, 3, 1, 1, 3, 6, 4, 2, 0, 2, 5, 1, 2, 5, 0, 9, 9, 3, 0, 5, 8, 3, 2, 0, 3, 3, 2, 9, 9, 0, 5, 5, 5, 7, 0, 5, 0, 9, 8, 8, 9, 5, 7, 1, 5, 8, 4, 0, 8, 2, 9, 0, 7, 9, 6, 6, 1, 6, 4, 1, 6, 8, 2, 3, 0, 2, 6, 9, 3, 2, 5, 3, 9, 0, 9, 4, 5, 7, 8, 4, 5, 4, 6, 6, 2, 8, 2, 3, 8, 1, 5, 1, 3, 4, 8, 2, 0, 6, 7, 6] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
49 47 [2, 4, 2, 5, 1, 5, 7, 3, 0, 5, 5, 2, 0, 5, 1, 7, 5, 8, 5, 5, 1, 4, 9, 9, 7, 7, 7, 4, 5, 9, 3, 8, 6, 8, 7, 2, 8, 3, 6, 9, 1, 2, 1, 2, 7, 7, 6, 7, 2, 2, 1, 8, 7, 3, 7, 3, 8, 0, 6, 3, 9, 0, 1, 4, 7, 5, 4, 8, 5, 4, 5, 1, 7, 4, 7, 4, 0, 5, 8, 8, 5, 0, 2, 5, 8, 9, 6, 6, 9, 7, 5, 7, 8, 4, 6, 6, 5, 2, 4, 8, 9, 2, 6, 0, 0, 3, 2, 4, 0, 9, 1, 5, 9, 8, 3, 8, 7, 0, 3, 2, 6, 5, 2, 3, 4, 4, 3, 2] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
50 48 [0, 1, 4, 3, 2, 6, 2, 7, 6, 4, 4, 9, 6, 8, 6, 2, 7, 8, 6, 4, 1, 0, 2, 4, 7, 3, 9, 4, 7, 0, 9, 3, 4, 5, 2, 6, 4, 0, 9, 1, 1, 6, 5, 4, 9, 8, 3, 8, 6, 9, 3, 6, 0, 3, 5, 5, 5, 9, 0, 3, 9, 2, 3, 5, 5, 7, 1, 7, 2, 7, 1, 0, 6, 8, 4, 1, 1, 8, 5, 5, 1, 2, 0, 6, 5, 0, 4, 2, 6, 8, 3, 3, 8, 9, 8, 6, 4, 3, 5, 3, 1, 1, 2, 6, 5, 5, 8, 1, 3, 1, 0, 2, 0, 4, 9, 4, 3, 5, 7, 4, 7, 9, 4, 1, 3, 4, 4, 3] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
51 49 [2, 2, 0, 6, 0, 1, 9, 3, 8, 4, 7, 2, 6, 1, 5, 7, 5, 9, 7, 1, 3, 3, 3, 1, 1, 7, 4, 0, 7, 9, 1, 4, 9, 6, 3, 1, 1, 6, 3, 7, 1, 1, 9, 4, 0, 7, 1, 1, 1, 2, 3, 8, 4, 9, 7, 1, 8, 2, 7, 1, 2, 1, 6, 0, 7, 5, 8, 1, 8, 5, 2, 5, 3, 8, 0, 1, 0, 9, 5, 7, 1, 8, 7, 1, 9, 5, 3, 7, 0, 4, 0, 5, 9, 6, 7, 1, 2, 2, 0, 8, 2, 3, 7, 1, 9, 4, 4, 6, 9, 0, 6, 4, 3, 9, 3, 8, 6, 5, 3, 3, 6, 7, 2, 8, 4, 2, 8, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
52 50 [4, 3, 5, 1, 3, 9, 0, 5, 0, 1, 2, 4, 4, 0, 5, 3, 1, 1, 0, 0, 6, 8, 3, 9, 0, 8, 8, 4, 8, 3, 2, 6, 7, 9, 0, 4, 9, 5, 6, 0, 7, 8, 0, 3, 6, 5, 4, 0, 7, 1, 7, 5, 5, 6, 2, 3, 7, 4, 2, 3, 6, 0, 8, 2, 6, 2, 0, 4, 1, 4, 8, 9, 7, 0, 6, 2, 6, 6, 9, 2, 0, 6, 8, 1, 6, 8, 7, 1, 9, 5, 0, 3, 8, 5, 8, 8, 4, 0, 4, 1, 1, 0, 5, 9, 0, 7, 7, 7, 8, 6, 8, 9, 2, 8, 1, 5, 0, 0, 3, 9, 2, 3, 7, 6, 6, 8, 9, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
53 51 [7, 3, 0, 3, 5, 8, 5, 1, 4, 8, 1, 2, 4, 7, 9, 3, 9, 2, 2, 0, 6, 2, 1, 0, 8, 2, 8, 2, 1, 5, 1, 8, 0, 9, 7, 9, 1, 7, 9, 9, 2, 4, 2, 1, 8, 6, 1, 3, 5, 4, 8, 6, 5, 7, 4, 3, 4, 4, 7, 9, 9, 4, 1, 6, 7, 6, 5, 1, 5, 1, 0, 5, 9, 8, 2, 1, 4, 1, 2, 7, 1, 8, 5, 7, 9, 5, 8, 5, 6, 7, 7, 4, 3, 7, 1, 4, 4, 5, 7, 4, 0, 7, 9, 6, 0, 4, 5, 4, 1, 9, 1, 1, 8, 4, 1, 3, 5, 3, 1, 5, 0, 2, 3, 8, 1, 7, 5, 1] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
54 52 [6, 0, 1, 9, 9, 9, 6, 1, 2, 1, 1, 8, 2, 3, 2, 8, 8, 1, 7, 5, 3, 5, 0, 7, 8, 5, 3, 5, 1, 8, 0, 9, 0, 3, 4, 3, 4, 0, 6, 5, 0, 0, 1, 0, 4, 6, 3, 3, 5, 3, 5, 6, 0, 4, 7, 1, 1, 5, 0, 9, 7, 8, 2, 6, 8, 5, 6, 6, 3, 5, 1, 3, 8, 3, 3, 4, 7, 6, 4, 4, 2, 6, 2, 3, 0, 3, 4, 7, 4, 2, 7, 6, 9, 4, 5, 7, 8, 7, 5, 6, 6, 3, 3, 5, 0, 8, 3, 1, 1, 9, 7, 7, 8, 5, 4, 3, 0, 3, 1, 6, 1, 3, 1, 1, 5, 5, 2, 4] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9]
55 53 [9, 1, 7, 4, 1, 4, 1, 6, 7, 5, 4, 0, 4, 2, 5, 9, 6, 0, 4, 2, 1, 7, 5, 1, 8, 9, 1, 7, 3, 3, 4, 4, 7, 4, 2, 6, 5, 2, 6, 5, 3, 4, 9, 7, 5, 7, 5, 9, 4, 2, 7, 3, 2, 8, 3, 4, 6, 6, 0, 7, 7, 1, 2, 8, 9, 6, 4, 0, 4, 4, 7, 5, 6, 4, 4, 2, 2, 4, 8, 0, 7, 3, 4, 0, 3, 7, 0, 1, 4, 7, 0, 8, 5, 3, 2, 7, 2, 3, 2, 6, 8, 9, 1, 8, 0, 2, 5, 5, 8, 6, 8, 7, 2, 9, 7, 6, 1, 1, 2, 3, 2, 8, 9, 4, 2, 5, 5, 2] [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
56 54 [4, 2, 7, 0, 0, 1, 6, 5, 3, 4, 7, 8, 5, 9, 6, 3, 4, 5, 1, 2, 0, 9, 7, 7, 9, 4, 3, 8, 1, 2, 0, 3, 0, 8, 1, 1, 8, 1, 7, 2, 9, 2, 8, 5, 6, 9, 2, 7, 7, 5, 1, 6, 0, 7, 6, 8, 2, 0, 1, 7, 3, 4, 5, 6, 0, 3, 4, 4, 9, 0, 5, 7, 2, 4, 7, 7, 5, 4, 1, 8, 0, 7, 6, 4, 4, 1, 7, 9, 3, 4, 3, 3, 1, 0, 2, 6, 0, 6, 2, 2, 4, 5, 8, 4, 2, 7, 2, 5, 9, 0, 9, 1, 7, 7, 7, 3, 2, 8, 2, 5, 5, 9, 8, 7, 8, 2, 7, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
57 55 [5, 9, 3, 4, 4, 4, 2, 8, 1, 5, 0, 4, 9, 3, 7, 0, 6, 9, 8, 6, 9, 6, 5, 2, 3, 8, 9, 3, 0, 3, 8, 7, 2, 0, 8, 9, 1, 9, 6, 2, 7, 9, 9, 7, 8, 4, 3, 4, 3, 9, 9, 2, 9, 4, 7, 1, 7, 1, 4, 9, 0, 8, 9, 2, 9, 1, 6, 8, 7, 9, 5, 1, 3, 3, 6, 4, 2, 9, 4, 6, 1, 6, 1, 5, 6, 8, 8, 7, 4, 7, 3, 8, 2, 7, 7, 2, 2, 3, 8, 5, 4, 7, 2, 8, 6, 0, 4, 0, 5, 3, 2, 9, 2, 2, 9, 7, 2, 6, 0, 0, 5, 3, 1, 1, 5, 3, 4, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
58 56 [9, 8, 8, 8, 3, 4, 0, 1, 5, 7, 1, 6, 2, 4, 6, 4, 8, 5, 8, 7, 3, 8, 7, 4, 4, 2, 0, 8, 6, 7, 3, 0, 4, 8, 3, 8, 6, 9, 5, 6, 2, 4, 7, 4, 1, 0, 5, 0, 5, 7, 5, 7, 4, 1, 6, 1, 3, 4, 0, 7, 4, 5, 2, 2, 5, 7, 4, 3, 7, 9, 5, 6, 3, 4, 5, 7, 1, 8, 0, 9, 0, 6, 5, 5, 1, 0, 4, 0, 3, 6, 6, 5, 9, 0, 9, 0, 4, 7, 3, 7, 0, 9, 3, 0, 8, 1, 8, 7, 8, 8, 3, 9, 0, 2, 3, 7, 7, 6, 5, 9, 2, 0, 9, 1, 3, 0, 4, 9] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
59 57 [6, 1, 5, 5, 1, 7, 0, 1, 8, 7, 9, 7, 2, 3, 3, 1, 9, 9, 3, 3, 1, 9, 1, 0, 0, 0, 3, 4, 2, 8, 6, 1, 3, 5, 8, 5, 2, 1, 0, 4, 8, 3, 7, 9, 4, 6, 9, 1, 5, 3, 6, 7, 0, 7, 0, 3, 3, 8, 2, 4, 9, 9, 5, 1, 3, 2, 4, 8, 3, 3, 4, 8, 4, 1, 4, 9, 2, 5, 2, 9, 2, 8, 2, 0, 7, 0, 2, 7, 9, 2, 5, 2, 6, 9, 4, 8, 7, 1, 0, 9, 4, 4, 3, 3, 7, 4, 7, 4, 6, 7, 5, 3, 7, 9, 7, 5, 1, 3, 1, 5, 4, 0, 5, 5, 5, 5, 3, 5] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
60 58 [9, 3, 1, 5, 4, 9, 5, 7, 1, 7, 3, 8, 0, 2, 3, 1, 1, 9, 4, 9, 2, 6, 2, 2, 4, 2, 5, 1, 7, 1, 2, 5, 1, 6, 8, 4, 8, 2, 6, 0, 9, 8, 0, 7, 9, 5, 1, 7, 5, 7, 4, 4, 1, 9, 6, 9, 6, 3, 3, 0, 7, 2, 9, 0, 7, 6, 7, 4, 2, 7, 4, 0, 7, 9, 1, 2, 5, 9, 0, 8, 5, 5, 6, 7, 2, 1, 0, 6, 8, 4, 5, 7, 7, 2, 4, 3, 0, 4, 4, 0, 6, 0, 4, 5, 6, 4, 3, 7, 7, 9, 2, 4, 4, 1, 8, 6, 7, 4, 6, 4, 6, 5, 7, 8, 5, 0, 0, 3] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
61 59 [3, 7, 5, 6, 3, 5, 4, 0, 6, 2, 8, 9, 6, 2, 8, 0, 5, 5, 8, 6, 6, 6, 2, 8, 3, 8, 7, 9, 5, 9, 2, 1, 1, 4, 5, 4, 1, 6, 5, 7, 3, 9, 8, 0, 5, 8, 1, 0, 0, 2, 2, 9, 8, 7, 0, 4, 8, 4, 7, 9, 0, 9, 1, 2, 5, 9, 4, 6, 4, 6, 8, 5, 9, 6, 0, 8, 7, 9, 6, 3, 5, 3, 6, 1, 9, 7, 9, 5, 0, 2, 8, 8, 4, 5, 0, 7, 3, 8, 6, 7, 8, 1, 3, 1, 8, 9, 4, 6, 0, 4, 2, 3, 6, 3, 5, 7, 3, 7, 7, 9, 1, 7, 6, 1, 7, 4, 7, 8] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
62 60 [8, 8, 1, 2, 5, 9, 6, 6, 6, 3, 6, 0, 7, 4, 2, 5, 6, 9, 2, 8, 1, 5, 1, 3, 1, 6, 9, 4, 0, 8, 7, 4, 2, 8, 7, 4, 4, 2, 3, 0, 7, 7, 2, 5, 4, 3, 1, 9, 6, 3, 0, 4, 8, 1, 8, 2, 9, 1, 7, 1, 7, 2, 1, 9, 4, 7, 4, 3, 3, 9, 0, 4, 6, 6, 2, 0, 2, 0, 2, 3, 0, 7, 6, 2, 7, 8, 2, 6, 0, 7, 6, 5, 4, 0, 0, 8, 9, 6, 2, 7, 1, 6, 8, 7, 1, 8, 0, 7, 5, 8, 9, 4, 1, 1, 7, 1, 5, 3, 4, 8, 7, 9, 6, 4, 8, 5, 2, 3] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
63 61 [6, 4, 6, 9, 7, 7, 5, 2, 7, 9, 7, 7, 0, 8, 4, 9, 2, 4, 4, 7, 0, 3, 4, 3, 2, 0, 3, 3, 6, 4, 3, 0, 3, 6, 5, 1, 6, 2, 4, 0, 2, 0, 8, 4, 7, 7, 9, 1, 3, 0, 3, 3, 9, 7, 1, 5, 7, 1, 9, 3, 9, 2, 2, 7, 8, 6, 9, 6, 9, 3, 3, 0, 5, 5, 3, 7, 8, 8, 3, 7, 6, 3, 9, 4, 6, 5, 2, 6, 9, 5, 4, 3, 9, 6, 7, 0, 9, 6, 3, 0, 6, 5, 1, 9, 8, 7, 7, 6, 0, 0, 4, 5, 0, 7, 2, 8, 2, 5, 3, 0, 2, 1, 2, 4, 4, 2, 4, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
64 62 [2, 7, 2, 5, 9, 8, 8, 2, 4, 6, 1, 2, 7, 3, 9, 3, 7, 0, 4, 3, 6, 5, 7, 3, 3, 5, 7, 2, 3, 9, 1, 8, 5, 6, 0, 5, 5, 3, 7, 0, 9, 3, 4, 6, 1, 5, 5, 9, 5, 2, 3, 3, 1, 0, 3, 8, 8, 3, 2, 0, 5, 0, 8, 8, 9, 7, 3, 5, 9, 9, 4, 1, 4, 7, 7, 2, 0, 3, 2, 9, 8, 4, 2, 8, 0, 9, 8, 7, 9, 0, 1, 1, 7, 2, 0, 1, 3, 2, 9, 9, 8, 9, 0, 2, 2, 3, 5, 7, 3, 0, 4, 2, 4, 6, 4, 0, 7, 7, 4, 0, 3, 4, 3, 0, 2, 8, 9, 6] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
65 63 [9, 5, 9, 9, 5, 8, 1, 7, 0, 4, 4, 7, 7, 9, 0, 4, 8, 4, 7, 9, 9, 9, 2, 1, 6, 4, 5, 9, 9, 0, 8, 3, 0, 8, 0, 5, 1, 4, 3, 9, 5, 4, 2, 1, 4, 0, 2, 3, 4, 7, 3, 5, 2, 3, 1, 7, 3, 2, 6, 1, 6, 5, 4, 7, 4, 4, 1, 3, 3, 7, 9, 5, 0, 9, 3, 3, 7, 0, 5, 1, 3, 4, 0, 4, 0, 9, 5, 9, 2, 3, 6, 4, 0, 7, 2, 3, 8, 1, 0, 1, 0, 1, 6, 2, 5, 0, 9, 8, 5, 2, 4, 1, 5, 4, 7, 5, 6, 8, 2, 5, 6, 0, 5, 3, 1, 8, 3, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
66 64 [4, 7, 5, 0, 4, 3, 6, 0, 7, 2, 7, 1, 2, 5, 1, 3, 3, 2, 9, 4, 9, 3, 9, 5, 4, 6, 3, 3, 3, 8, 2, 2, 3, 4, 0, 4, 2, 5, 1, 3, 5, 7, 7, 0, 6, 7, 2, 3, 4, 8, 9, 5, 0, 6, 3, 7, 6, 2, 3, 5, 2, 4, 2, 6, 8, 8, 1, 6, 5, 8, 7, 3, 3, 8, 6, 1, 4, 1, 5, 2, 7, 5, 5, 7, 1, 5, 5, 7, 6, 8, 7, 3, 1, 7, 2, 4, 2, 3, 8, 0, 4, 9, 3, 7, 4, 0, 0, 3, 2, 8, 8, 8, 0, 6, 4, 0, 3, 7, 2, 1, 5, 7, 1, 1, 5, 1, 5, 9] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9]
67 65 [1, 3, 2, 4, 6, 2, 0, 1, 2, 5, 8, 2, 1, 9, 2, 7, 4, 4, 3, 3, 3, 9, 9, 9, 8, 1, 0, 1, 5, 1, 2, 0, 4, 6, 2, 4, 6, 6, 5, 7, 3, 4, 5, 4, 6, 6, 8, 2, 4, 4, 4, 5, 5, 5, 9, 0, 6, 6, 7, 5, 3, 7, 1, 0, 7, 4, 9, 2, 5, 9, 8, 4, 6, 5, 2, 3, 2, 2, 8, 8, 4, 1, 2, 9, 2, 2, 6, 8, 4, 9, 3, 7, 9, 8, 7, 1, 8, 3, 5, 8, 1, 6, 0, 5, 6, 4, 6, 4, 0, 2, 1, 7, 6, 4, 0, 5, 4, 3, 5, 3, 0, 4, 2, 0, 8, 5, 8, 3] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
68 66 [7, 0, 7, 4, 0, 7, 7, 4, 6, 2, 4, 8, 0, 3, 9, 3, 8, 1, 4, 1, 7, 6, 5, 7, 9, 7, 2, 5, 4, 1, 8, 5, 4, 2, 7, 0, 8, 0, 7, 2, 7, 9, 1, 8, 5, 4, 8, 0, 6, 9, 4, 7, 4, 7, 9, 4, 7, 9, 3, 5, 1, 6, 7, 6, 0, 8, 4, 3, 7, 0, 9, 6, 2, 2, 6, 4, 4, 1, 1, 8, 9, 5, 7, 9, 8, 1, 5, 0, 4, 0, 3, 8, 7, 5, 0, 7, 2, 6, 1, 6, 2, 9, 8, 2, 1, 5, 8, 4, 3, 0, 8, 7, 2, 5, 5, 7, 1, 8, 0, 1, 2, 6, 7, 0, 5, 5, 9, 2] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
69 67 [7, 5, 3, 2, 5, 1, 8, 9, 3, 8, 8, 4, 0, 1, 5, 8, 4, 9, 4, 7, 1, 1, 0, 7, 0, 1, 8, 7, 2, 6, 3, 9, 3, 1, 3, 4, 3, 2, 3, 8, 9, 0, 8, 3, 2, 4, 7, 4, 3, 3, 9, 4, 8, 9, 0, 3, 3, 6, 9, 8, 2, 7, 6, 7, 8, 5, 5, 1, 1, 4, 2, 2, 6, 7, 3, 6, 6, 6, 8, 4, 9, 7, 8, 5, 3, 2, 2, 7, 7, 0, 8, 5, 9, 1, 6, 5, 9, 0, 0, 4, 9, 1, 9, 5, 7, 7, 3, 0, 3, 5, 6, 8, 5, 9, 9, 8, 9, 6, 6, 9, 6, 4, 8, 9, 6, 1, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
70 68 [3, 4, 1, 6, 5, 7, 0, 6, 3, 7, 3, 8, 8, 6, 2, 9, 4, 1, 4, 7, 4, 0, 7, 4, 9, 5, 8, 3, 1, 7, 5, 3, 7, 9, 5, 5, 9, 2, 9, 8, 8, 0, 6, 0, 6, 1, 0, 0, 5, 8, 0, 4, 1, 8, 7, 9, 8, 8, 2, 7, 6, 8, 5, 3, 6, 3, 2, 7, 8, 6, 3, 1, 9, 4, 1, 0, 1, 7, 7, 9, 3, 7, 2, 6, 6, 9, 4, 5, 1, 0, 1, 5, 5, 3, 5, 4, 5, 9, 4, 8, 8, 2, 0, 0, 9, 4, 7, 0, 0, 8, 9, 8, 5, 7, 3, 3, 2, 4, 8, 1, 8, 0, 2, 0, 9, 8, 8, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
71 69 [3, 2, 9, 2, 2, 2, 3, 5, 1, 2, 3, 6, 3, 7, 0, 8, 8, 1, 4, 1, 2, 1, 7, 9, 0, 9, 3, 2, 6, 5, 8, 7, 5, 3, 1, 6, 8, 2, 5, 4, 0, 8, 8, 1, 5, 4, 6, 1, 4, 6, 2, 6, 7, 4, 0, 2, 1, 9, 6, 4, 9, 2, 9, 1, 1, 3, 9, 0, 2, 7, 8, 3, 5, 0, 3, 1, 8, 2, 0, 5, 3, 5, 4, 6, 5, 2, 9, 8, 4, 7, 3, 0, 6, 5, 3, 2, 5, 1, 6, 3, 3, 4, 9, 1, 5, 2, 3, 8, 4, 7, 9, 5, 0, 6, 8, 7, 5, 5, 0, 9, 3, 7, 7, 4, 1, 4, 0, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
72 70 [2, 8, 9, 7, 7, 8, 0, 0, 5, 4, 4, 3, 6, 5, 9, 9, 2, 2, 5, 1, 4, 4, 0, 2, 2, 5, 2, 0, 6, 3, 1, 9, 1, 7, 4, 1, 0, 2, 9, 3, 7, 3, 5, 1, 3, 8, 2, 4, 9, 2, 6, 9, 8, 1, 2, 9, 7, 6, 4, 2, 6, 8, 5, 6, 1, 8, 7, 0, 5, 2, 2, 9, 1, 8, 7, 4, 2, 2, 8, 6, 9, 2, 3, 4, 9, 7, 9, 3, 6, 5, 1, 1, 5, 8, 0, 6, 0, 2, 5, 9, 3, 6, 4, 1, 3, 3, 7, 2, 6, 5, 2, 8, 3, 9, 2, 6, 5, 3, 4, 0, 0, 2, 4, 8, 0, 0, 2, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
73 71 [5, 9, 6, 8, 2, 1, 9, 5, 5, 9, 2, 7, 9, 4, 3, 2, 8, 1, 6, 1, 0, 4, 5, 2, 7, 9, 2, 9, 8, 7, 2, 4, 2, 4, 4, 2, 1, 1, 9, 2, 4, 7, 0, 0, 3, 0, 4, 0, 5, 7, 4, 0, 3, 8, 3, 3, 9, 4, 8, 4, 2, 6, 9, 2, 0, 1, 2, 7, 1, 6, 7, 6, 2, 5, 5, 9, 7, 2, 1, 0, 9, 2, 2, 7, 0, 5, 5, 7, 6, 7, 0, 0, 3, 3, 1, 2, 6, 1, 2, 8, 5, 3, 6, 4, 8, 1, 6, 5, 3, 5, 6, 7, 5, 0, 5, 4, 1, 9, 5, 9, 1, 4, 7, 2, 2, 8, 7, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
74 72 [1, 5, 4, 6, 6, 1, 0, 0, 9, 9, 8, 7, 5, 9, 3, 8, 4, 7, 0, 1, 5, 0, 5, 4, 5, 0, 6, 9, 3, 6, 3, 8, 1, 8, 2, 9, 7, 7, 3, 7, 4, 4, 8, 4, 9, 2, 8, 6, 5, 7, 2, 6, 1, 8, 3, 9, 0, 6, 9, 0, 6, 2, 4, 9, 9, 8, 5, 6, 7, 3, 5, 8, 4, 3, 0, 7, 1, 3, 5, 6, 8, 4, 8, 0, 9, 2, 9, 6, 9, 9, 6, 7, 0, 9, 5, 9, 8, 9, 0, 1, 5, 6, 9, 8, 0, 6, 7, 5, 9, 5, 4, 9, 1, 2, 4, 6, 1, 4, 7, 0, 5, 4, 9, 2, 9, 7, 0, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
75 73 [3, 4, 8, 9, 2, 5, 9, 2, 1, 5, 1, 9, 1, 9, 2, 0, 8, 7, 9, 3, 4, 6, 7, 0, 8, 4, 8, 0, 3, 6, 6, 6, 1, 9, 3, 3, 3, 7, 6, 1, 1, 8, 4, 2, 0, 4, 4, 4, 3, 9, 7, 3, 4, 1, 7, 9, 7, 2, 9, 5, 5, 5, 6, 8, 5, 7, 7, 3, 0, 6, 5, 0, 5, 3, 0, 3, 7, 5, 1, 0, 3, 2, 9, 5, 1, 2, 3, 2, 3, 1, 2, 3, 7, 1, 2, 7, 1, 4, 1, 6, 2, 4, 2, 1, 6, 4, 9, 6, 1, 5, 8, 9, 9, 3, 1, 1, 6, 6, 4, 8, 2, 4, 8, 5, 4, 2, 6, 9] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
76 74 [5, 7, 5, 0, 3, 9, 2, 3, 2, 5, 6, 9, 2, 5, 6, 3, 0, 7, 7, 8, 4, 2, 5, 9, 5, 1, 7, 6, 1, 3, 6, 8, 5, 8, 0, 0, 1, 9, 0, 8, 0, 6, 8, 9, 3, 7, 0, 7, 0, 7, 2, 4, 8, 5, 9, 1, 0, 4, 3, 6, 7, 7, 1, 0, 6, 0, 6, 0, 4, 9, 7, 6, 7, 4, 8, 4, 7, 8, 1, 6, 6, 7, 2, 6, 4, 2, 1, 1, 4, 9, 4, 8, 8, 5, 2, 1, 2, 1, 0, 4, 6, 2, 3, 6, 0, 1, 8, 0, 2, 0, 5, 2, 8, 9, 8, 4, 1, 1, 2, 6, 1, 7, 3, 4, 6, 9, 2, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
77 75 [7, 5, 4, 5, 0, 9, 1, 4, 5, 3, 1, 1, 5, 6, 1, 1, 8, 6, 9, 8, 2, 7, 6, 7, 5, 7, 4, 3, 9, 6, 5, 5, 0, 2, 5, 0, 8, 8, 9, 0, 2, 5, 9, 5, 0, 4, 2, 7, 0, 8, 1, 8, 0, 3, 9, 3, 2, 3, 8, 8, 3, 9, 4, 8, 2, 1, 6, 6, 6, 1, 1, 9, 0, 3, 3, 7, 7, 9, 0, 9, 8, 4, 3, 1, 4, 0, 3, 5, 8, 0, 3, 6, 5, 4, 5, 4, 4, 3, 8, 3, 3, 8, 8, 7, 5, 3, 9, 4, 8, 9, 9, 9, 6, 5, 2, 0, 1, 9, 7, 5, 2, 9, 1, 0, 5, 1, 7, 9] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
78 76 [7, 1, 9, 9, 9, 0, 1, 2, 8, 5, 0, 9, 1, 6, 1, 6, 2, 3, 9, 8, 4, 8, 2, 4, 2, 8, 9, 5, 2, 8, 2, 7, 5, 2, 8, 8, 9, 8, 8, 3, 5, 1, 5, 8, 9, 1, 1, 5, 0, 0, 1, 4, 2, 4, 9, 5, 9, 5, 7, 1, 9, 7, 8, 2, 5, 7, 0, 3, 5, 0, 4, 1, 2, 4, 6, 0, 0, 2, 2, 7, 8, 9, 4, 6, 6, 1, 7, 7, 6, 3, 4, 0, 0, 5, 3, 3, 3, 8, 1, 9, 5, 5, 9, 0, 0, 3, 7, 8, 1, 5, 5, 9, 6, 9, 5, 0, 7, 0, 9, 6, 4, 6, 5, 3, 9, 4, 2, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
79 77 [6, 1, 3, 7, 9, 2, 5, 6, 5, 0, 6, 2, 3, 1, 9, 0, 2, 5, 7, 8, 2, 1, 0, 0, 1, 6, 9, 1, 5, 3, 2, 5, 7, 9, 7, 2, 0, 5, 5, 6, 2, 8, 3, 6, 4, 4, 9, 6, 2, 0, 4, 2, 9, 1, 1, 3, 2, 2, 1, 0, 4, 1, 5, 9, 0, 6, 4, 2, 3, 0, 7, 4, 0, 7, 4, 9, 6, 8, 4, 6, 1, 5, 8, 0, 5, 0, 9, 6, 6, 8, 0, 3, 9, 0, 2, 2, 2, 7, 8, 8, 1, 0, 5, 0, 9, 1, 7, 3, 4, 5, 8, 1, 3, 0, 6, 2, 9, 0, 9, 0, 5, 1, 4, 2, 7, 8, 1, 9] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
80 78 [3, 9, 0, 9, 2, 1, 6, 7, 0, 8, 7, 2, 0, 1, 7, 7, 2, 0, 8, 7, 7, 4, 1, 3, 4, 2, 6, 8, 6, 8, 3, 9, 6, 8, 2, 1, 7, 7, 7, 4, 6, 4, 0, 6, 0, 4, 0, 4, 2, 7, 6, 3, 0, 3, 4, 1, 1, 5, 9, 2, 3, 4, 9, 4, 4, 7, 4, 0, 4, 4, 1, 0, 1, 5, 7, 0, 8, 9, 7, 0, 0, 7, 3, 5, 3, 2, 2, 2, 1, 1, 0, 8, 4, 2, 2, 8, 5, 2, 8, 0, 7, 8, 4, 3, 1, 6, 7, 4, 5, 0, 9, 5, 9, 1, 4, 5, 0, 7, 6, 7, 6, 2, 7, 0, 6, 9, 6, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
81 79 [8, 6, 1, 7, 1, 8, 3, 3, 5, 7, 1, 5, 5, 7, 5, 1, 1, 1, 2, 4, 0, 1, 1, 9, 3, 9, 7, 8, 8, 5, 2, 0, 8, 4, 7, 5, 1, 9, 0, 6, 0, 6, 1, 5, 2, 2, 7, 9, 5, 9, 9, 5, 6, 3, 8, 7, 3, 4, 9, 9, 3, 1, 0, 1, 0, 9, 7, 6, 4, 9, 4, 3, 0, 1, 1, 6, 1, 0, 8, 0, 2, 3, 1, 9, 2, 8, 2, 1, 2, 3, 9, 3, 6, 7, 3, 9, 1, 3, 2, 1, 4, 4, 1, 4, 7, 2, 5, 5, 0, 4, 5, 8, 7, 9, 9, 9, 3, 4, 5, 5, 2, 0, 1, 1, 6, 3, 7, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
82 80 [2, 2, 0, 9, 1, 3, 6, 6, 8, 2, 5, 1, 7, 2, 2, 2, 9, 0, 7, 2, 0, 4, 9, 1, 5, 5, 2, 5, 3, 0, 9, 9, 4, 3, 1, 5, 2, 8, 7, 6, 0, 6, 5, 1, 7, 2, 2, 7, 9, 7, 5, 7, 3, 8, 9, 1, 7, 5, 0, 1, 5, 2, 2, 7, 6, 4, 7, 2, 8, 5, 5, 0, 8, 4, 7, 9, 6, 2, 7, 9, 9, 4, 8, 2, 3, 2, 8, 8, 3, 9, 7, 6, 6, 1, 6, 1, 7, 0, 7, 9, 1, 5, 1, 6, 9, 2, 7, 2, 1, 7, 5, 7, 0, 4, 6, 0, 3, 4, 0, 8, 2, 8, 9, 1, 2, 8, 8, 6] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
83 81 [4, 1, 2, 5, 6, 5, 7, 2, 2, 0, 6, 8, 2, 6, 2, 7, 1, 4, 6, 3, 3, 7, 4, 3, 9, 7, 2, 4, 2, 0, 6, 8, 9, 0, 2, 0, 9, 1, 1, 2, 2, 8, 0, 9, 0, 2, 0, 9, 6, 8, 6, 4, 0, 5, 3, 6, 4, 3, 3, 7, 4, 8, 8, 2, 8, 2, 6, 3, 6, 6, 3, 9, 1, 0, 5, 4, 0, 7, 3, 2, 7, 3, 2, 2, 3, 6, 0, 7, 5, 1, 4, 2, 4, 6, 8, 2, 5, 5, 3, 2, 3, 2, 7, 0, 3, 6, 9, 6, 7, 4, 9, 3, 7, 3, 5, 2, 0, 1, 8, 0, 9, 1, 9, 2, 4, 5, 9, 6] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
84 82 [0, 2, 8, 3, 5, 5, 5, 0, 1, 8, 8, 3, 8, 2, 5, 5, 2, 0, 9, 9, 7, 5, 7, 0, 3, 7, 8, 4, 0, 0, 7, 8, 6, 8, 4, 8, 5, 2, 5, 7, 6, 8, 8, 4, 8, 1, 1, 2, 0, 6, 9, 8, 5, 9, 7, 6, 2, 9, 9, 4, 0, 6, 8, 9, 6, 3, 4, 6, 2, 6, 7, 1, 2, 1, 2, 8, 4, 0, 1, 3, 4, 5, 6, 7, 0, 8, 4, 3, 1, 8, 9, 9, 5, 3, 2, 8, 4, 6, 2, 6, 5, 1, 6, 9, 1, 3, 3, 2, 8, 6, 9, 0, 4, 7, 7, 5, 0, 4, 1, 7, 9, 2, 4, 1, 4, 7, 9, 4] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
85 83 [1, 3, 9, 2, 0, 8, 1, 9, 8, 2, 4, 5, 6, 3, 4, 0, 7, 8, 0, 9, 6, 5, 2, 3, 6, 9, 1, 7, 1, 0, 9, 8, 3, 3, 0, 1, 1, 0, 8, 6, 4, 3, 4, 3, 1, 8, 8, 4, 2, 1, 4, 1, 4, 1, 5, 4, 6, 9, 5, 9, 8, 4, 9, 3, 1, 7, 3, 8, 0, 0, 0, 5, 6, 0, 7, 4, 5, 1, 2, 0, 6, 6, 0, 1, 5, 3, 7, 3, 1, 5, 1, 7, 3, 8, 7, 1, 5, 1, 7, 6, 3, 9, 9, 5, 3, 4, 5, 2, 0, 2, 1, 3, 1, 7, 7, 8, 4, 9, 1, 9, 6, 1, 1, 5, 8, 2, 3, 3] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
86 84 [2, 3, 3, 5, 1, 0, 5, 4, 9, 9, 5, 1, 2, 1, 1, 7, 4, 0, 9, 4, 3, 4, 8, 5, 7, 4, 0, 2, 3, 8, 6, 7, 1, 7, 2, 0, 6, 6, 9, 5, 4, 6, 6, 9, 0, 5, 3, 1, 3, 9, 5, 6, 6, 7, 5, 3, 1, 0, 7, 9, 1, 2, 3, 3, 1, 6, 9, 5, 3, 4, 1, 3, 5, 1, 6, 8, 6, 4, 4, 9, 4, 2, 3, 5, 1, 5, 0, 6, 7, 9, 0, 6, 4, 7, 0, 1, 3, 1, 0, 4, 3, 0, 6, 2, 1, 6, 1, 0, 5, 0, 4, 2, 8, 1, 3, 9, 6, 9, 3, 5, 7, 5, 5, 7, 4, 2, 0, 3] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
87 85 [9, 5, 0, 6, 4, 5, 2, 5, 4, 4, 5, 9, 7, 4, 2, 9, 1, 7, 1, 0, 3, 1, 0, 9, 1, 1, 6, 1, 7, 0, 1, 8, 4, 9, 5, 0, 8, 7, 8, 9, 6, 0, 2, 5, 3, 6, 8, 5, 6, 9, 2, 7, 0, 9, 6, 2, 8, 5, 3, 2, 7, 4, 6, 1, 5, 2, 2, 7, 1, 4, 8, 8, 7, 5, 5, 1, 7, 0, 4, 6, 0, 2, 6, 1, 7, 1, 6, 8, 4, 3, 6, 6, 8, 0, 4, 2, 9, 8, 2, 8, 6, 6, 2, 4, 1, 3, 6, 9, 2, 9, 2, 3, 7, 1, 2, 9, 8, 2, 9, 6, 4, 2, 0, 9, 4, 6, 4, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
88 86 [9, 5, 8, 7, 3, 9, 3, 7, 4, 8, 4, 4, 5, 3, 3, 7, 5, 3, 6, 5, 9, 3, 8, 7, 7, 8, 1, 0, 7, 3, 9, 2, 8, 9, 5, 8, 0, 2, 1, 1, 6, 1, 7, 1, 6, 3, 1, 1, 3, 1, 0, 8, 6, 6, 6, 0, 3, 3, 8, 1, 5, 7, 6, 6, 1, 7, 3, 9, 9, 3, 5, 1, 8, 7, 8, 2, 9, 9, 5, 4, 3, 8, 1, 2, 0, 0, 0, 7, 0, 6, 2, 7, 1, 5, 1, 8, 2, 6, 4, 0, 6, 1, 4, 8, 9, 4, 5, 3, 6, 2, 7, 1, 2, 7, 1, 5, 8, 2, 5, 7, 0, 1, 0, 2, 5, 6, 1, 6] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
89 87 [7, 6, 8, 7, 6, 9, 9, 4, 1, 0, 1, 8, 5, 0, 2, 3, 0, 3, 9, 1, 4, 4, 6, 1, 6, 4, 5, 4, 7, 7, 9, 0, 7, 3, 1, 9, 1, 6, 1, 1, 4, 6, 0, 2, 1, 4, 6, 7, 9, 7, 2, 2, 0, 7, 9, 9, 2, 0, 1, 4, 0, 0, 7, 9, 2, 7, 7, 4, 5, 3, 9, 0, 2, 6, 8, 6, 7, 8, 6, 8, 5, 5, 9, 1, 8, 5, 9, 1, 4, 6, 1, 8, 4, 6, 1, 0, 3, 0, 3, 4, 5, 9, 5, 6, 2, 8, 9, 8, 1, 3, 7, 4, 0, 4, 0, 7, 1, 8, 5, 2, 0, 8, 7, 6, 3, 7, 3, 2] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
90 88 [4, 4, 2, 1, 3, 1, 7, 8, 7, 8, 9, 1, 7, 0, 5, 7, 8, 7, 7, 9, 6, 9, 3, 9, 2, 5, 1, 2, 5, 5, 8, 9, 1, 3, 0, 4, 6, 0, 6, 1, 9, 8, 1, 9, 6, 2, 5, 6, 9, 4, 6, 0, 9, 2, 0, 8, 6, 6, 0, 7, 6, 2, 5, 4, 1, 7, 0, 0, 9, 6, 0, 0, 7, 9, 1, 8, 8, 2, 5, 5, 2, 0, 1, 0, 5, 1, 7, 7, 0, 8, 1, 0, 0, 6, 7, 6, 8, 2, 3, 7, 9, 7, 0, 0, 8, 6, 2, 5, 3, 1, 4, 1, 5, 6, 6, 4, 8, 3, 6, 9, 9, 4, 8, 3, 2, 3, 2, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
91 89 [4, 4, 8, 2, 7, 1, 8, 1, 9, 8, 6, 7, 8, 1, 7, 6, 1, 0, 3, 5, 7, 3, 1, 5, 5, 8, 1, 8, 8, 3, 8, 2, 4, 0, 5, 4, 5, 6, 3, 6, 5, 7, 4, 1, 2, 3, 3, 0, 5, 0, 0, 3, 1, 8, 9, 3, 6, 9, 7, 3, 2, 7, 3, 2, 9, 0, 1, 9, 7, 4, 0, 7, 7, 1, 6, 1, 5, 7, 7, 8, 4, 2, 6, 1, 2, 4, 7, 1, 7, 6, 7, 6, 9, 2, 8, 3, 4, 3, 4, 0, 0, 8, 0, 9, 6, 9, 3, 3, 7, 7, 3, 7, 1, 0, 4, 6, 3, 4, 8, 9, 4, 3, 0, 7, 9, 3, 4, 3] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
92 90 [5, 0, 7, 6, 4, 2, 9, 1, 1, 8, 1, 0, 2, 3, 9, 1, 3, 8, 1, 2, 1, 4, 0, 9, 9, 5, 0, 7, 6, 7, 8, 1, 4, 9, 2, 9, 8, 4, 0, 5, 5, 8, 1, 4, 1, 1, 4, 5, 1, 3, 6, 7, 0, 4, 1, 5, 8, 1, 6, 4, 0, 8, 8, 8, 3, 5, 9, 5, 3, 3, 5, 4, 2, 3, 6, 5, 3, 8, 4, 8, 6, 4, 7, 7, 4, 2, 3, 9, 5, 5, 8, 3, 6, 1, 1, 7, 0, 1, 1, 6, 9, 4, 2, 4, 3, 1, 0, 2, 0, 6, 2, 1, 0, 3, 8, 0, 1, 3, 0, 5, 7, 0, 1, 2, 2, 2, 2, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
93 91 [9, 9, 1, 1, 9, 3, 0, 1, 6, 6, 8, 1, 7, 1, 2, 4, 2, 0, 5, 4, 3, 7, 6, 9, 9, 4, 6, 6, 3, 5, 5, 3, 0, 5, 8, 1, 1, 3, 5, 0, 2, 2, 8, 2, 2, 0, 2, 6, 1, 1, 3, 1, 6, 8, 5, 2, 3, 3, 5, 6, 1, 4, 3, 9, 2, 0, 8, 7, 7, 2, 8, 9, 3, 1, 5, 3, 7, 1, 8, 6, 6, 3, 2, 5, 6, 6, 7, 8, 6, 4, 7, 2, 3, 0, 0, 6, 0, 6, 0, 0, 5, 8, 1, 3, 9, 8, 5, 1, 4, 7, 3, 3, 3, 0, 7, 9, 2, 6, 4, 7, 4, 8, 2, 7, 6, 0, 1, 6] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
94 92 [8, 4, 7, 2, 3, 3, 8, 6, 7, 9, 8, 1, 6, 2, 4, 5, 8, 8, 1, 2, 7, 8, 9, 6, 1, 7, 7, 3, 3, 1, 8, 8, 7, 3, 5, 4, 2, 9, 4, 7, 9, 9, 5, 4, 3, 2, 0, 9, 2, 5, 5, 7, 1, 6, 9, 4, 4, 5, 9, 6, 7, 0, 1, 8, 4, 4, 4, 2, 7, 5, 6, 1, 1, 8, 6, 0, 9, 5, 4, 0, 8, 6, 4, 8, 9, 6, 4, 8, 0, 1, 8, 2, 4, 4, 3, 2, 9, 5, 2, 8, 5, 4, 6, 8, 1, 2, 9, 9, 2, 0, 7, 3, 6, 2, 9, 5, 3, 0, 2, 3, 2, 2, 2, 7, 9, 6, 2, 0] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
95 93 [4, 1, 2, 4, 5, 2, 7, 1, 7, 5, 6, 1, 8, 2, 8, 6, 1, 4, 9, 2, 2, 2, 8, 0, 7, 8, 0, 8, 9, 0, 2, 8, 2, 9, 7, 7, 7, 8, 3, 7, 3, 1, 5, 8, 8, 5, 3, 7, 1, 3, 6, 0, 0, 7, 6, 4, 3, 5, 1, 1, 0, 0, 6, 9, 0, 2, 0, 2, 7, 6, 4, 0, 7, 2, 7, 4, 4, 2, 2, 5, 4, 7, 6, 3, 1, 6, 0, 4, 6, 1, 0, 1, 3, 8, 9, 6, 4, 2, 4, 4, 9, 2, 8, 8, 2, 0, 7, 9, 6, 6, 5, 6, 1, 9, 0, 5, 7, 3, 1, 1, 3, 0, 3, 7, 9, 3, 3, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
96 94 [0, 8, 7, 8, 3, 7, 8, 4, 2, 4, 6, 6, 3, 4, 2, 0, 7, 0, 4, 0, 4, 6, 0, 2, 5, 3, 9, 9, 7, 4, 2, 5, 6, 3, 6, 1, 5, 6, 2, 6, 7, 6, 5, 9, 8, 8, 1, 1, 0, 8, 1, 7, 2, 7, 1, 2, 8, 7, 5, 5, 3, 0, 9, 0, 2, 0, 6, 0, 1, 8, 3, 3, 6, 5, 2, 5, 9, 0, 9, 6, 6, 2, 8, 9, 3, 5, 2, 6, 6, 6, 7, 1, 3, 4, 1, 3, 3, 5, 0, 8, 8, 0, 0, 9, 6, 0, 7, 1, 8, 4, 7, 5, 8, 8, 9, 9, 1, 4, 1, 4, 5, 7, 3, 9, 1, 5, 8, 5] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
97 95 [5, 1, 2, 0, 9, 5, 3, 1, 8, 6, 2, 2, 8, 8, 8, 7, 9, 0, 1, 5, 3, 5, 6, 4, 4, 3, 0, 1, 8, 0, 8, 6, 7, 3, 8, 4, 6, 7, 7, 5, 1, 4, 6, 8, 1, 9, 8, 4, 5, 6, 2, 6, 8, 0, 4, 0, 3, 8, 2, 5, 5, 7, 1, 8, 3, 4, 0, 3, 3, 5, 2, 2, 7, 3, 0, 7, 1, 7, 9, 7, 8, 5, 0, 8, 5, 6, 3, 8, 5, 4, 6, 6, 5, 5, 2, 2, 7, 9, 2, 6, 9, 9, 4, 4, 2, 0, 4, 1, 4, 9, 2, 6, 3, 5, 3, 0, 5, 7, 4, 2, 4, 2, 7, 6, 7, 2, 0, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
98 96 [8, 4, 4, 2, 4, 8, 3, 7, 7, 3, 9, 6, 6, 4, 5, 6, 1, 4, 6, 7, 3, 1, 3, 3, 7, 4, 0, 6, 5, 1, 7, 5, 6, 8, 4, 0, 4, 8, 7, 9, 8, 6, 8, 3, 2, 7, 1, 2, 6, 6, 1, 1, 9, 3, 2, 1, 0, 1, 2, 5, 5, 1, 1, 9, 3, 6, 3, 1, 8, 4, 9, 9, 4, 0, 0, 3, 0, 7, 1, 5, 9, 4, 4, 8, 3, 9, 3, 4, 3, 9, 7, 3, 6, 0, 2, 2, 5, 7, 6, 2, 5, 5, 2, 4, 9, 5, 3, 2, 1, 3, 8, 2, 6, 9, 0, 1, 2, 6, 9, 3, 3, 4, 5, 6, 3, 9, 4, 1] [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
99 97 [2, 1, 7, 3, 8, 7, 7, 8, 0, 7, 7, 8, 7, 6, 5, 9, 9, 6, 5, 0, 1, 7, 5, 6, 7, 0, 6, 8, 2, 4, 2, 4, 0, 0, 2, 9, 2, 1, 9, 8, 4, 7, 2, 1, 2, 5, 5, 5, 7, 7, 6, 6, 8, 1, 5, 2, 2, 9, 3, 8, 9, 4, 8, 2, 0, 8, 6, 4, 0, 2, 0, 2, 9, 4, 2, 7, 5, 8, 4, 0, 4, 6, 3, 3, 6, 4, 1, 4, 7, 5, 8, 9, 4, 8, 2, 6, 6, 0, 8, 2, 7, 5, 8, 1, 5, 6, 8, 7, 9, 6, 8, 9, 7, 3, 9, 4, 3, 9, 5, 2, 8, 8, 4, 5, 2, 0, 6, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
100 98 [3, 8, 0, 0, 1, 0, 0, 4, 0, 5, 9, 3, 4, 0, 5, 8, 5, 4, 6, 1, 2, 7, 1, 1, 1, 9, 1, 2, 1, 9, 8, 3, 4, 6, 8, 6, 9, 9, 8, 8, 7, 6, 7, 4, 4, 0, 3, 6, 3, 4, 3, 2, 1, 8, 9, 7, 9, 3, 3, 1, 0, 1, 5, 3, 8, 6, 6, 4, 6, 3, 6, 2, 3, 4, 7, 3, 8, 9, 6, 1, 0, 6, 1, 8, 4, 1, 9, 3, 1, 9, 9, 2, 8, 9, 8, 7, 1, 1, 4, 0, 5, 2, 9, 6, 0, 7, 2, 5, 7, 3, 3, 1, 1, 4, 6, 3, 7, 3, 9, 4, 2, 6, 0, 2, 7, 8, 0, 7] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
101 99 [1, 4, 7, 9, 7, 4, 1, 4, 7, 4, 6, 7, 7, 8, 2, 1, 3, 7, 2, 2, 1, 6, 2, 5, 5, 3, 6, 8, 1, 6, 1, 8, 0, 1, 0, 7, 6, 8, 9, 4, 9, 8, 3, 1, 2, 9, 8, 3, 5, 3, 7, 5, 9, 0, 0, 2, 7, 0, 5, 7, 5, 3, 3, 2, 0, 7, 8, 6, 1, 7, 8, 8, 9, 4, 2, 1, 3, 1, 3, 8, 0, 5, 5, 1, 5, 0, 6, 4, 6, 0, 6, 5, 2, 7, 1, 5, 3, 2, 6, 9, 5, 7, 1, 8, 8, 3, 5, 9, 4, 1, 7, 7, 8, 0, 9, 8, 4, 5, 8, 2, 9, 6, 0, 2, 9, 8, 8, 5] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]
+883
View File
@@ -0,0 +1,883 @@
# Copyright (c) 2023 ETH Zurich.
# All rights reserved.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# main author: Nils Blach
import os
import logging
import datetime
import json
import csv
from typing import Dict, List, Callable, Union
from graph_of_thoughts import controller, operations, prompter, parser
from . import utils
class SortingPrompter(prompter.Prompter):
"""
SortingPrompter provides the generation of prompts specific to the sorting
example for the language models.
Inherits from the Prompter class and implements its abstract methods.
"""
sort_prompt = """<Instruction> Sort the following list of numbers in ascending order. Output only the sorted list of numbers, no additional text. </Instruction>
<Examples>
Input: [5, 1, 0, 1, 2, 0, 4, 8, 1, 9, 5, 1, 3, 3, 9, 7]
Output: [0, 0, 1, 1, 1, 1, 2, 3, 3, 4, 5, 5, 7, 8, 9, 9]
Input: [3, 7, 0, 2, 8, 1, 2, 2, 2, 4, 7, 8, 5, 5, 3, 9, 4, 3, 5, 6, 6, 4, 4, 5, 2, 0, 9, 3, 3, 9, 2, 1]
Output: [0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9]
Input: [4, 4, 9, 7, 9, 7, 0, 0, 4, 9, 1, 7, 9, 5, 8, 7, 5, 6, 3, 8, 6, 7, 5, 8, 5, 0, 6, 3, 7, 0, 5, 3, 7, 5, 2, 4, 4, 9, 0, 7, 8, 2, 7, 7, 7, 2, 1, 3, 9, 9, 7, 9, 6, 6, 4, 5, 4, 2, 0, 8, 9, 0, 2, 2]
Output: [0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
</Examples>
Input: {input}"""
sort_prompt_cot = """<Instruction> Sort the following list of numbers in ascending order. You can generate any intermediate lists, but the final output should be the sorted list of numbers, prefixed with "Output: ". </Instruction>
<Approach>
To sort the list of numbers follow these steps:
1. Split the list of numbers into two to four unsorted sublists, each containing an equal number of elements from the original list (make sure they don't overlap).
2. Sort each of the unsorted sublists.
3. Merge the sorted sublists into a single sorted list using the merging algorithm from merge sort.
</Approach>
<Examples>
Input: [4, 5, 3, 3, 7, 3, 0, 5, 0, 2, 8, 0, 2, 1, 6, 9]
Unsorted Subarrays:
[4, 5, 3, 3, 7, 3, 0, 5]
[0, 2, 8, 0, 2, 1, 6, 9]
Sorted Subarrays:
[0, 3, 3, 3, 4, 5, 5, 7]
[0, 0, 1, 2, 2, 6, 8, 9]
Output: [0, 0, 0, 1, 2, 2, 3, 3, 3, 4, 5, 5, 6, 7, 8, 9]
Input: [6, 4, 5, 7, 5, 6, 9, 7, 6, 9, 4, 6, 9, 8, 1, 9, 2, 4, 9, 0, 7, 6, 5, 6, 6, 2, 8, 3, 9, 5, 6, 1]
Unsorted Subarrays:
[6, 4, 5, 7, 5, 6, 9, 7, 6, 9, 4, 6, 9, 8, 1, 9]
[2, 4, 9, 0, 7, 6, 5, 6, 6, 2, 8, 3, 9, 5, 6, 1]
Sorted Subarrays:
[1, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 8, 9, 9, 9, 9]
[0, 1, 2, 2, 3, 4, 5, 5, 6, 6, 6, 6, 7, 8, 9, 9]
Output: [0, 1, 1, 2, 2, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9]
Input: [3, 7, 0, 2, 8, 1, 2, 2, 2, 4, 7, 8, 5, 5, 3, 9, 4, 3, 5, 6, 6, 4, 4, 5, 2, 0, 9, 3, 3, 9, 2, 1, 9, 3, 1, 8, 1, 8, 6, 0, 1, 6, 1, 7, 4, 4, 6, 3, 3, 7, 9, 3, 6, 0, 3, 4, 5, 6, 6, 9, 9, 9, 7, 3]
Unsorted Subarrays:
[3, 7, 0, 2, 8, 1, 2, 2, 2, 4, 7, 8, 5, 5, 3, 9]
[4, 3, 5, 6, 6, 4, 4, 5, 2, 0, 9, 3, 3, 9, 2, 1]
[9, 3, 1, 8, 1, 8, 6, 0, 1, 6, 1, 7, 4, 4, 6, 3]
[3, 7, 9, 3, 6, 0, 3, 4, 5, 6, 6, 9, 9, 9, 7, 3]
Sorted Subarrays:
[0, 1, 2, 2, 2, 2, 3, 3, 4, 5, 5, 7, 7, 8, 8, 9]
[0, 1, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 6, 9, 9]
[0, 1, 1, 1, 1, 3, 3, 4, 4, 6, 6, 6, 7, 8, 8, 9]
[0, 3, 3, 3, 3, 4, 5, 6, 6, 6, 7, 7, 9, 9, 9, 9]
Output: [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
</Examples>
Input: {input}"""
tot_improve_prompt = """<Instruction> The following two lists represent an unsorted list of numbers and a sorted variant of that list. The sorted variant is not correct. Fix the sorted variant so that it is correct.
Make sure that the output list is sorted in ascending order, has the same number of elements as the input list ({length}), and contains the same elements as the input list. </Instruction>
<Approach>
To fix the incorrectly sorted list follow these steps:
1. For each number from 0 to 9, compare the frequency of that number in the incorrectly sorted list to the frequency of that number in the input list.
2. Iterate through the incorrectly sorted list and add or remove numbers as needed to make the frequency of each number in the incorrectly sorted list match the frequency of that number in the input list.
</Approach>
<Examples>
Input: [3, 7, 0, 2, 8, 1, 2, 2, 2, 4, 7, 8, 5, 5, 3, 9]
Incorrectly Sorted: [0, 0, 0, 0, 0, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 7, 7, 8, 8, 9, 9, 9, 9]
Reason: The incorrectly sorted list contains four extra 0s, two extra 4s and three extra 9s and is missing two 2s.
Output: [0, 1, 2, 2, 2, 2, 3, 3, 4, 5, 5, 7, 7, 8, 8, 9]
Input: [6, 4, 5, 7, 5, 6, 9, 7, 6, 9, 4, 6, 9, 8, 1, 9, 2, 4, 9, 0, 7, 6, 5, 6, 6, 2, 8, 3, 9, 5, 6, 1]
Incorrectly Sorted: [0, 1, 1, 2, 2, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9]
Reason: The incorrectly sorted list contains two extra 4s and is missing two 6s and one 9.
Output: [0, 1, 1, 2, 2, 3, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9]
Input: [4, 4, 9, 7, 9, 7, 0, 0, 4, 9, 1, 7, 9, 5, 8, 7, 5, 6, 3, 8, 6, 7, 5, 8, 5, 0, 6, 3, 7, 0, 5, 3, 7, 5, 2, 4, 4, 9, 0, 7, 8, 2, 7, 7, 7, 2, 1, 3, 9, 9, 7, 9, 6, 6, 4, 5, 4, 2, 0, 8, 9, 0, 2, 2]
Incorrectly Sorted: [0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9]
Reason: The incorrectly sorted list contains one extra 8 and is missing two 2s, one 3, three 4s, two 5s, one 6, six 7s and one 9.
Output: [0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9]
</Examples>
Input: {input}
Incorrectly Sorted: {incorrectly_sorted}
"""
got_split_prompt = """<Instruction> Split the following list of 128 numbers into 8 lists of 16 numbers each, the first list should contain the first 16 numbers, the second list the second 16 numbers, the third list the third 16 numbers, the fourth list the fourth 16 numbers, the fifth list the fifth 16 numbers and so on.
Only output the final 8 lists in the following format without any additional text or thoughts!:
{{
"List 1": [3, 4, 3, 5, 7, 8, 1, ...],
"List 2": [2, 9, 2, 4, 7, 1, 5, ...],
"List 3": [6, 9, 8, 1, 9, 2, 4, ...],
"List 4": [9, 0, 7, 6, 5, 6, 6, ...],
"List 5": [7, 9, 4, 1, 1, 8, 1, ...],
"List 6": [1, 9, 0, 4, 3, 3, 5, ...],
"List 7": [2, 4, 3, 5, 8, 2, 2, ...],
"List 8": [4, 2, 1, 2, 7, 6, 8, ...]
}} </Instruction>
<Example>
Input: [6, 0, 2, 3, 8, 3, 0, 2, 4, 5, 4, 1, 3, 6, 9, 8, 3, 1, 2, 6, 5, 3, 9, 8, 9, 1, 6, 1, 0, 2, 8, 9, 5, 3, 1, 2, 7, 9, 4, 8, 8, 9, 3, 2, 8, 4, 7, 4, 3, 8, 7, 3, 6, 4, 0, 0, 6, 8, 1, 5, 8, 7, 5, 1, 4, 0, 8, 6, 1, 3, 6, 1, 7, 6, 8, 7, 3, 7, 8, 2, 0, 8, 2, 6, 0, 0, 9, 9, 8, 6, 9, 4, 8, 5, 5, 0, 0, 9, 3, 9, 4, 0, 5, 6, 2, 4, 6, 7, 7, 7, 8, 0, 4, 9, 1, 4, 8, 5, 1, 4, 4, 7, 4, 9, 3, 9, 6, 7]
Output:
{{
"List 1": [6, 0, 2, 3, 8, 3, 0, 2, 4, 5, 4, 1, 3, 6, 9, 8],
"List 2": [3, 1, 2, 6, 5, 3, 9, 8, 9, 1, 6, 1, 0, 2, 8, 9],
"List 3": [5, 3, 1, 2, 7, 9, 4, 8, 8, 9, 3, 2, 8, 4, 7, 4],
"List 4": [3, 8, 7, 3, 6, 4, 0, 0, 6, 8, 1, 5, 8, 7, 5, 1],
"List 5": [4, 0, 8, 6, 1, 3, 6, 1, 7, 6, 8, 7, 3, 7, 8, 2],
"List 6": [0, 8, 2, 6, 0, 0, 9, 9, 8, 6, 9, 4, 8, 5, 5, 0],
"List 7": [0, 9, 3, 9, 4, 0, 5, 6, 2, 4, 6, 7, 7, 7, 8, 0],
"List 8": [4, 9, 1, 4, 8, 5, 1, 4, 4, 7, 4, 9, 3, 9, 6, 7]
}}
</Example>
Input: {input}"""
got_merge_prompt = """<Instruction> Merge the following 2 sorted lists of length {length1} each, into one sorted list of length {length2} using a merge sort style approach.
Only output the final merged list without any additional text or thoughts!:</Instruction>
<Approach>
To merge the two lists in a merge-sort style approach, foloow these steps:
1. Compare the first element of both lists.
2. Append the smaller element to the merged list and move to the next element in the list from which the smaller element came.
3. Repeat steps 1 and 2 until one of the lists is empty.
4. Append the remaining elements of the non-empty list to the merged list.
</Approach>
Merge the following two lists into one sorted list:
1: {input1}
2: {input2}
Merged list:
"""
def aggregation_prompt(self, state_dicts: List[Dict], **kwargs) -> str:
"""
Generate an aggregation prompt for the language model.
:param state_dicts: The thought states that should be aggregated.
:type state_dicts: List[Dict]
:param kwargs: Additional keyword arguments.
:return: The aggregation prompt.
:rtype: str
:raise AssertionError: If not exactly two thought states are provided.
"""
assert len(state_dicts) == 2, "Expected two states for aggregation prompt."
len_input1 = len(utils.string_to_list(state_dicts[0]["current"]))
len_input2 = len(utils.string_to_list(state_dicts[1]["current"]))
if len_input1 == len_input2:
length = len_input1
elif len_input1 + len_input2 - 32 <= 16:
length = 16
elif len_input1 + len_input2 - 64 <= 32:
length = 32
else:
length = 64
return self.got_merge_prompt.format(
input1=state_dicts[0]["current"],
input2=state_dicts[1]["current"],
length1=length,
length2=length * 2,
)
def generate_prompt(
self, num_branches: int, original: str, current: str, method: str, **kwargs
) -> str:
"""
Generate a generate prompt for the language model.
:param num_branches: The number of responses the prompt should ask the LM to generate.
:type num_branches: int
:param original: Input list of numbers.
:type original: str
:param current: Intermediate solution.
:type current: str
:param method: Method for which the generate prompt is generated.
:type method: str
:param kwargs: Additional keyword arguments.
:return: The generate prompt.
:rtype: str
:raise AssertionError: If the requested number of branches is not one.
"""
assert num_branches == 1, "Branching should be done via multiple requests."
if current is None or current == "":
input = original
else:
input = current
if method.startswith("io"):
return self.sort_prompt.format(input=input)
elif method.startswith("cot"):
return self.sort_prompt_cot.format(input=input)
elif method.startswith("tot"):
if current is None or current == "":
return self.sort_prompt.format(input=input)
return self.tot_improve_prompt.format(
input=original,
incorrectly_sorted=current,
length=len(utils.string_to_list(original)),
)
elif method.startswith("got"):
if current is None or current == "":
return self.got_split_prompt.format(input=input)
# if current is just a sublist of the original input, return the split prompt
if kwargs["phase"] == 1:
return self.sort_prompt.format(input=current)
if (
"unsorted_sublist" in kwargs
and kwargs["unsorted_sublist"] != ""
and len(kwargs["unsorted_sublist"]) < len(original) - 5
):
original = kwargs["unsorted_sublist"]
return self.tot_improve_prompt.format(
input=original,
incorrectly_sorted=current,
length=len(utils.string_to_list(original)),
)
def improve_prompt(self, **kwargs) -> str:
"""
Generate an improve prompt for the language model.
:param kwargs: Additional keyword arguments.
:return: The improve prompt.
:rtype: str
"""
pass
def validation_prompt(self, **kwargs) -> str:
"""
Generate a validation prompt for the language model.
:param kwargs: Additional keyword arguments.
:return: The validation prompt.
:rtype: str
"""
pass
def score_prompt(self, state_dicts: List[Dict], **kwargs) -> str:
"""
Generate a score prompt for the language model.
:param state_dicts: The thought states that should be scored,
if more than one, they should be scored together.
:type state_dicts: List[Dict]
:param kwargs: Additional keyword arguments.
:return: The score prompt.
:rtype: str
"""
pass
class SortingParser(parser.Parser):
"""
SortingParser provides the parsing of language model reponses specific to
the sorting example.
Inherits from the Parser class and implements its abstract methods.
"""
def __init__(self) -> None:
"""
Inits the response cache.
"""
self.cache = {}
def parse_aggregation_answer(
self, states: List[Dict], texts: List[str]
) -> Union[Dict, List[Dict]]:
"""
Parse the response from the language model for an aggregation prompt.
:param states: The thought states used to generate the prompt.
:type states: List[Dict]
:param texts: The responses to the prompt from the language model.
:type texts: List[str]
:return: The new thought states after parsing the respones from the language model.
:rtype: Union[Dict, List[Dict]]
:raise AssertionError: If not exactly two thought states are provided.
"""
assert len(states) == 2, "Expected two states for aggregation answer."
new_states = []
for text in texts:
answers = text.strip().split("\n")
if any(["Output" in answer for answer in answers]):
# cut elements until last output is found
for answer in reversed(answers):
if "Output" in answer:
answers = answers[answers.index(answer) :]
break
answers_stripped = [
answer for answer in answers if "[" in answer and "]" in answer
]
if len(answers_stripped) == 0:
for answer in answers:
answer = "[" + answer + "]"
try:
answer_converted = utils.string_to_list(answer)
if len(answer_converted) > 0:
answers_stripped.append(answer)
except:
pass
if len(answers_stripped) == 0:
logging.warning(
f"Could not parse aggregation answer: {text}. Returning empty list."
)
answer = "[]"
else:
answer = [
answer[answer.index("[") : answer.index("]") + 1]
for answer in answers_stripped
][0]
states = sorted(states, key=lambda x: x["part"])
merged_unsorted_sublists = (
states[0]["unsorted_sublist"][:-1]
+ ", "
+ states[1]["unsorted_sublist"][1:]
)
new_state = states[0].copy()
new_state["current"] = answer
new_state["unsorted_sublist"] = merged_unsorted_sublists
new_states.append(new_state)
return new_states
def parse_generate_answer(self, state: Dict, texts: List[str]) -> List[Dict]:
"""
Parse the response from the language model for a generate prompt.
:param state: The thought state used to generate the prompt.
:type state: Dict
:param texts: The responses to the prompt from the language model.
:type texts: List[str]
:return: The new thought states after parsing the respones from the language model.
:rtype: List[Dict]
"""
new_states = []
for text in texts:
if state["method"] == "got" and state["current"] == "":
# We expect a json which contains the four lists named "List 1" to "List 4"
# cut everything until the opening bracket and everything after the closing bracket
try:
text = text[text.index("{") : text.index("}") + 1]
json_dict = json.loads(text)
if len(json_dict.keys()) != 4:
logging.warning(
f"Expected 4 lists in json, but found {len(json_dict.keys())}."
)
for key, value in json_dict.items():
if "List" not in key:
logging.warning(
f"Expected key to contain 'List', but found {key}."
)
continue
if not isinstance(value, list):
value = utils.string_to_list(value)
new_state = state.copy()
new_state["current"] = str(value)
new_state["unsorted_sublist"] = str(value)
new_state["phase"] = 1
new_state["part"] = key
new_states.append(new_state)
except Exception as e:
logging.error(
f"Could not parse step answer: {text}. Encountered exception: {e}"
)
else:
answers = text.strip().split("\n")
answers = [
answer for answer in answers if "[" in answer and "]" in answer
]
if any(["Output" in answer for answer in answers]):
# cut elements until last output is found
for answer in reversed(answers):
if "Output" in answer:
answers = answers[answers.index(answer) :]
break
answers = [
answer[answer.index("[") : answer.index("]") + 1]
for answer in answers
]
if len(answers) == 0:
logging.warning(
f"Could not parse step answer: {text}. Returning empty list."
)
answer = "[]"
else:
if len(answers) > 1:
logging.warning(
f"Multiple answers found for step answer: {text}. Using the first one."
)
answer = answers[0]
new_state = state.copy()
new_state["current"] = answer
new_state["phase"] = 2
new_states.append(new_state)
return new_states
def parse_improve_answer(self, state: Dict, texts: List[str]) -> Dict:
"""
Parse the response from the language model for an improve prompt.
:param state: The thought state used to generate the prompt.
:type state: Dict
:param texts: The responses to the prompt from the language model.
:type texts: List[str]
:return: The new thought state after parsing the responses from the language model.
:rtype: Dict
"""
pass
def parse_validation_answer(self, state: Dict, texts: List[str]) -> bool:
"""
Parse the response from the language model for a validation prompt.
:param state: The thought state used to generate the prompt.
:type state: Dict
:param texts: The responses to the prompt from the language model.
:type texts: List[str]
:return: Whether the thought state is valid or not.
:rtype: bool
"""
pass
def parse_score_answer(self, states: List[Dict], texts: List[str]) -> List[float]:
"""
Parse the response from the language model for a score prompt.
:param states: The thought states used to generate the prompt.
:type states: List[Dict]
:param texts: The responses to the prompt from the language model.
:type texts: List[str]
:return: The scores for the thought states.
:rtype: List[float]
"""
pass
def io() -> operations.GraphOfOperations:
"""
Generates the Graph of Operations for the IO method.
:return: Graph of Operations
:rtype: GraphOfOperations
"""
operations_graph = operations.GraphOfOperations()
operations_graph.append_operation(operations.Generate(1, 1))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
operations_graph.append_operation(operations.GroundTruth(utils.test_sorting))
return operations_graph
def cot() -> operations.GraphOfOperations:
"""
Generates the Graph of Operations for the CoT method.
:return: Graph of Operations
:rtype: GraphOfOperations
"""
operations_graph = operations.GraphOfOperations()
operations_graph.append_operation(operations.Generate(1, 1))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
operations_graph.append_operation(operations.GroundTruth(utils.test_sorting))
return operations_graph
def tot() -> operations.GraphOfOperations:
"""
Generates the Graph of Operations for the ToT method.
ToT uses a wider tree, where on each level there are more branches.
:return: Graph of Operations
:rtype: GraphOfOperations
"""
operations_graph = operations.GraphOfOperations()
operations_graph.append_operation(operations.Generate(1, 20))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
keep_best_1 = operations.KeepBestN(1, False)
operations_graph.append_operation(keep_best_1)
for _ in range(3):
operations_graph.append_operation(operations.Generate(1, 20))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
keep_best_2 = operations.KeepBestN(1, False)
keep_best_2.add_predecessor(keep_best_1)
operations_graph.append_operation(keep_best_2)
keep_best_1 = keep_best_2
operations_graph.append_operation(operations.KeepBestN(1, False))
operations_graph.append_operation(operations.GroundTruth(utils.test_sorting))
return operations_graph
def tot2() -> operations.GraphOfOperations:
"""
Generates the Graph of Operations for the ToT2 method.
ToT2 uses a tree with more levels, but with fewer branches per level.
:return: Graph of Operations
:rtype: GraphOfOperations
"""
operations_graph = operations.GraphOfOperations()
operations_graph.append_operation(operations.Generate(1, 10))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
keep_best_1 = operations.KeepBestN(1, False)
operations_graph.append_operation(keep_best_1)
for _ in range(9):
operations_graph.append_operation(operations.Generate(1, 10))
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
keep_best_2 = operations.KeepBestN(1, False)
keep_best_2.add_predecessor(keep_best_1)
operations_graph.append_operation(keep_best_2)
keep_best_1 = keep_best_2
operations_graph.append_operation(operations.KeepBestN(1, False))
operations_graph.append_operation(operations.KeepBestN(1, False))
operations_graph.append_operation(operations.KeepBestN(1, False))
operations_graph.append_operation(operations.GroundTruth(utils.test_sorting))
return operations_graph
def got() -> operations.GraphOfOperations:
"""
Generates the Graph of Operations for the GoT method.
:return: Graph of Operations
:rtype: GraphOfOperations
"""
operations_graph = operations.GraphOfOperations()
plans = operations.Generate(1, 1)
operations_graph.append_operation(plans) # generate the sublists
sorted_sublists = []
for i in range(1, 9):
list_id = f"List {i}"
sub_list = operations.Selector(
lambda thoughts, list_id=list_id: [
thought for thought in thoughts if thought.state["part"] == list_id
]
)
sub_list.add_predecessor(plans)
operations_graph.add_operation(sub_list)
sort_sub_list = operations.Generate(1, 5)
sort_sub_list.add_predecessor(sub_list)
operations_graph.add_operation(sort_sub_list)
score_sub_list = operations.Score(1, False, utils.num_errors)
score_sub_list.add_predecessor(sort_sub_list)
operations_graph.add_operation(score_sub_list)
keep_best_sub_list = operations.KeepBestN(1, False)
keep_best_sub_list.add_predecessor(score_sub_list)
operations_graph.add_operation(keep_best_sub_list)
sorted_sublists.append(keep_best_sub_list)
aggregate_1 = operations.Aggregate(10)
aggregate_1.add_predecessor(sorted_sublists[0])
aggregate_1.add_predecessor(sorted_sublists[1])
operations_graph.add_operation(aggregate_1)
score_aggregate_1 = operations.Score(1, False, utils.num_errors)
score_aggregate_1.add_predecessor(aggregate_1)
operations_graph.add_operation(score_aggregate_1)
keep_best_aggregate_1 = operations.KeepBestN(1, False)
keep_best_aggregate_1.add_predecessor(score_aggregate_1)
operations_graph.add_operation(keep_best_aggregate_1)
improve_aggregate_1 = operations.Generate(1, 5)
improve_aggregate_1.add_predecessor(keep_best_aggregate_1)
operations_graph.add_operation(improve_aggregate_1)
improve_score_aggregate_1 = operations.Score(1, False, utils.num_errors)
improve_score_aggregate_1.add_predecessor(improve_aggregate_1)
improve_score_aggregate_1.add_predecessor(keep_best_aggregate_1)
operations_graph.add_operation(improve_score_aggregate_1)
improve_keep_best_aggregate_1 = operations.KeepBestN(1, False)
improve_keep_best_aggregate_1.add_predecessor(improve_score_aggregate_1)
operations_graph.add_operation(improve_keep_best_aggregate_1)
aggregate_2 = operations.Aggregate(10)
aggregate_2.add_predecessor(sorted_sublists[2])
aggregate_2.add_predecessor(sorted_sublists[3])
operations_graph.add_operation(aggregate_2)
score_aggregate_2 = operations.Score(1, False, utils.num_errors)
score_aggregate_2.add_predecessor(aggregate_2)
operations_graph.add_operation(score_aggregate_2)
keep_best_aggregate_2 = operations.KeepBestN(1, False)
keep_best_aggregate_2.add_predecessor(score_aggregate_2)
operations_graph.add_operation(keep_best_aggregate_2)
improve_aggregate_2 = operations.Generate(1, 5)
improve_aggregate_2.add_predecessor(keep_best_aggregate_2)
operations_graph.add_operation(improve_aggregate_2)
improve_score_aggregate_2 = operations.Score(1, False, utils.num_errors)
improve_score_aggregate_2.add_predecessor(improve_aggregate_2)
improve_score_aggregate_2.add_predecessor(keep_best_aggregate_2)
operations_graph.add_operation(improve_score_aggregate_2)
improve_keep_best_aggregate_2 = operations.KeepBestN(1, False)
improve_keep_best_aggregate_2.add_predecessor(improve_score_aggregate_2)
operations_graph.add_operation(improve_keep_best_aggregate_2)
aggregate_3 = operations.Aggregate(10)
aggregate_3.add_predecessor(sorted_sublists[4])
aggregate_3.add_predecessor(sorted_sublists[5])
operations_graph.add_operation(aggregate_3)
score_aggregate_3 = operations.Score(1, False, utils.num_errors)
score_aggregate_3.add_predecessor(aggregate_3)
operations_graph.add_operation(score_aggregate_3)
keep_best_aggregate_3 = operations.KeepBestN(1, False)
keep_best_aggregate_3.add_predecessor(score_aggregate_3)
operations_graph.add_operation(keep_best_aggregate_3)
improve_aggregate_3 = operations.Generate(1, 5)
improve_aggregate_3.add_predecessor(keep_best_aggregate_3)
operations_graph.add_operation(improve_aggregate_3)
improve_score_aggregate_3 = operations.Score(1, False, utils.num_errors)
improve_score_aggregate_3.add_predecessor(improve_aggregate_3)
improve_score_aggregate_3.add_predecessor(keep_best_aggregate_3)
operations_graph.add_operation(improve_score_aggregate_3)
improve_keep_best_aggregate_3 = operations.KeepBestN(1, False)
improve_keep_best_aggregate_3.add_predecessor(improve_score_aggregate_3)
operations_graph.add_operation(improve_keep_best_aggregate_3)
aggregate_4 = operations.Aggregate(10)
aggregate_4.add_predecessor(sorted_sublists[6])
aggregate_4.add_predecessor(sorted_sublists[7])
operations_graph.add_operation(aggregate_4)
score_aggregate_4 = operations.Score(1, False, utils.num_errors)
score_aggregate_4.add_predecessor(aggregate_4)
operations_graph.add_operation(score_aggregate_4)
keep_best_aggregate_4 = operations.KeepBestN(1, False)
keep_best_aggregate_4.add_predecessor(score_aggregate_4)
operations_graph.add_operation(keep_best_aggregate_4)
improve_aggregate_4 = operations.Generate(1, 5)
improve_aggregate_4.add_predecessor(keep_best_aggregate_4)
operations_graph.add_operation(improve_aggregate_4)
improve_score_aggregate_4 = operations.Score(1, False, utils.num_errors)
improve_score_aggregate_4.add_predecessor(improve_aggregate_4)
improve_score_aggregate_4.add_predecessor(keep_best_aggregate_4)
operations_graph.add_operation(improve_score_aggregate_4)
improve_keep_best_aggregate_4 = operations.KeepBestN(1, False)
improve_keep_best_aggregate_4.add_predecessor(improve_score_aggregate_4)
operations_graph.add_operation(improve_keep_best_aggregate_4)
aggregate_1_2 = operations.Aggregate(10)
aggregate_1_2.add_predecessor(improve_keep_best_aggregate_1)
aggregate_1_2.add_predecessor(improve_keep_best_aggregate_2)
operations_graph.add_operation(aggregate_1_2)
score_aggregate_1_2 = operations.Score(1, False, utils.num_errors)
score_aggregate_1_2.add_predecessor(aggregate_1_2)
operations_graph.add_operation(score_aggregate_1_2)
keep_best_aggregate_1_2 = operations.KeepBestN(1, False)
keep_best_aggregate_1_2.add_predecessor(score_aggregate_1_2)
operations_graph.add_operation(keep_best_aggregate_1_2)
improve_aggregate_1_2 = operations.Generate(1, 5)
improve_aggregate_1_2.add_predecessor(keep_best_aggregate_1_2)
operations_graph.add_operation(improve_aggregate_1_2)
improve_score_aggregate_1_2 = operations.Score(1, False, utils.num_errors)
improve_score_aggregate_1_2.add_predecessor(improve_aggregate_1_2)
improve_score_aggregate_1_2.add_predecessor(keep_best_aggregate_1_2)
operations_graph.add_operation(improve_score_aggregate_1_2)
improve_keep_best_aggregate_1_2 = operations.KeepBestN(1, False)
improve_keep_best_aggregate_1_2.add_predecessor(improve_score_aggregate_1_2)
operations_graph.add_operation(improve_keep_best_aggregate_1_2)
aggregate_3_4 = operations.Aggregate(10)
aggregate_3_4.add_predecessor(improve_keep_best_aggregate_3)
aggregate_3_4.add_predecessor(improve_keep_best_aggregate_4)
operations_graph.add_operation(aggregate_3_4)
score_aggregate_3_4 = operations.Score(1, False, utils.num_errors)
score_aggregate_3_4.add_predecessor(aggregate_3_4)
operations_graph.add_operation(score_aggregate_3_4)
keep_best_aggregate_3_4 = operations.KeepBestN(1, False)
keep_best_aggregate_3_4.add_predecessor(score_aggregate_3_4)
operations_graph.add_operation(keep_best_aggregate_3_4)
improve_aggregate_3_4 = operations.Generate(1, 5)
improve_aggregate_3_4.add_predecessor(keep_best_aggregate_3_4)
operations_graph.add_operation(improve_aggregate_3_4)
improve_score_aggregate_3_4 = operations.Score(1, False, utils.num_errors)
improve_score_aggregate_3_4.add_predecessor(improve_aggregate_3_4)
improve_score_aggregate_3_4.add_predecessor(keep_best_aggregate_3_4)
operations_graph.add_operation(improve_score_aggregate_3_4)
improve_keep_best_aggregate_3_4 = operations.KeepBestN(1, False)
improve_keep_best_aggregate_3_4.add_predecessor(improve_score_aggregate_3_4)
operations_graph.add_operation(improve_keep_best_aggregate_3_4)
final_aggregate = operations.Aggregate(10)
operations_graph.append_operation(final_aggregate)
operations_graph.append_operation(operations.Score(1, False, utils.num_errors))
keep_best_aggregate_final = operations.KeepBestN(1, False)
operations_graph.append_operation(keep_best_aggregate_final)
operations_graph.append_operation(operations.Generate(1, 10))
score_aggr_3 = operations.Score(1, False, utils.num_errors)
score_aggr_3.add_predecessor(keep_best_aggregate_final)
operations_graph.append_operation(score_aggr_3)
keep_final_best = operations.KeepBestN(1, False)
keep_final_best.add_predecessor(keep_best_aggregate_final)
operations_graph.append_operation(keep_final_best)
operations_graph.append_operation(operations.GroundTruth(utils.test_sorting))
return operations_graph
def run(
data_ids: List[int],
methods: List[Callable[[], operations.GraphOfOperations]],
budget: float,
lm_name: str,
) -> float:
"""
Controller function that executes each specified method for each specified
sample while the budget is not exhausted.
:param data_ids: Indices of the sample to be run.
:type data_ids: List[int]
:param methods: List of functions to generate Graphs of Operations.
:type methods: Each function generates a Graph of Operation.
:param budget: Language model budget for the execution in dollars.
:type budget: float
:param lm_name: Name of the language model to be used.
:type lm_name: str
:return: Spent budget in dollars.
:rtype: float
"""
orig_budget = budget
path = os.path.join(os.path.dirname(__file__), "sorting_128.csv")
data = []
with open(path, "r") as f:
reader = csv.reader(f)
next(reader)
for row in reader:
data.append([int(row[0]), row[1], row[2]])
if data_ids is None or len(data_ids) == 0:
data_ids = list(range(len(data)))
selected_data = [data[i] for i in data_ids]
if not os.path.exists(os.path.join(os.path.dirname(__file__), "results")):
os.makedirs(os.path.join(os.path.dirname(__file__), "results"))
timestamp = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
extra_info = f"{lm_name}_{'-'.join([method.__name__ for method in methods])}"
folder_name = f"results/{extra_info}_{timestamp}"
os.makedirs(os.path.join(os.path.dirname(__file__), folder_name))
config = {
"data": selected_data,
"methods": [method.__name__ for method in methods],
"lm": lm_name,
"budget": budget,
}
with open(
os.path.join(os.path.dirname(__file__), folder_name, "config.json"), "w"
) as f:
json.dump(config, f)
logging.basicConfig(
filename=f"{folder_name}/log.log",
filemode="w",
format="%(name)s - %(levelname)s - %(message)s",
level=logging.DEBUG,
)
for method in methods:
os.makedirs(
os.path.join(os.path.dirname(__file__), folder_name, method.__name__)
)
for data in selected_data:
logging.info(f"Running data {data[0]}: {data[1]}")
if budget <= 0.0:
logging.error(
f"Budget has been depleted, stopping. Data {data[0]} has not been run."
)
break
for method in methods:
logging.info(f"Running method {method.__name__}")
logging.info(f"Budget left: {budget}")
if budget <= 0.0:
logging.error(
f"Budget has been depleted, stopping. Method {method.__name__} has not been run."
)
break
lm = controller.ChatGPT(
"../../graph_of_thoughts/controller/config.json",
model_name=lm_name,
cache=True,
)
operations_graph = method()
executor = controller.Controller(
lm,
operations_graph,
SortingPrompter(),
SortingParser(),
{
"original": data[1],
"current": "",
"phase": 0,
"method": method.__name__,
},
)
try:
executor.run()
except Exception as e:
logging.error(f"Exception: {e}")
path = os.path.join(
os.path.dirname(__file__),
folder_name,
method.__name__,
f"{data[0]}.json",
)
executor.output_graph(path)
budget -= lm.cost
return orig_budget - budget
if __name__ == "__main__":
"""
Input (x) : an unordered list of 128 numbers between 0 and 9 (inclusive)
Output (y) : a sorted list of 128 numbers between 0 and 9 (inclusive)
Correct : y == sorted(x)
Input Example:
[0, 1, 9, 4, 2, 2, 0, 5, 1...]
Output Example:
[0, 0, 0, 0, 1, 1, 1, 1, 2...]
"""
budget = 30
samples = [item for item in range(0, 100)]
approaches = [io, cot, tot, tot2, got]
spent = run(samples, approaches, budget, "chatgpt")
logging.info(f"Spent {spent} out of {budget} budget.")
+78
View File
@@ -0,0 +1,78 @@
# Copyright (c) 2023 ETH Zurich.
# All rights reserved.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# main author: Nils Blach
from typing import Dict, List
def string_to_list(string: str) -> List[int]:
"""
Helper function to convert a list encoded inside a string into a Python
list object of string elements.
:param string: Input string containing a list.
:type string: str
:return: List of string elements.
:rtype: List[str]
:raise AssertionError: If input string does not contain a list.
"""
assert string[0] == "[" and string[-1] == "]", "String is not a list."
return [int(num) for num in string[1:-1].split(",")]
def test_sorting(state: Dict) -> bool:
"""
Function to test whether the final solution matches ground truth.
:param state: Thought state that represents the final solution.
:type state: Dict
:return: Returns whether the solution matches the ground truth.
:rtype: bool
"""
try:
correct_list = sorted(string_to_list(state["original"]))
sorted_list = string_to_list(state["current"])
return sorted_list == correct_list
except:
return False
def num_errors(state: Dict) -> float:
"""
Function to locally count the number of errors that serves as a score.
:param state: Thought state to be scored.
:type state: Dict
:return: Number of errors.
:rtype: float
"""
try:
unsorted_list = state["original"]
if (
"unsorted_sublist" in state
and state["unsorted_sublist"] != ""
and state["unsorted_sublist"] is not None
and len(state["unsorted_sublist"]) < len(unsorted_list) - 5
):
unsorted_list = state["unsorted_sublist"]
correct_list = sorted(string_to_list(unsorted_list))
current_list = string_to_list(state["current"])
num_errors = 0
for i in range(10):
num_errors += abs(
sum([1 for num in current_list if num == i])
- sum([1 for num in correct_list if num == i])
)
num_errors += sum(
[1 for num1, num2 in zip(current_list, current_list[1:]) if num1 > num2]
)
return num_errors
except:
return 300