Spaces:
Runtime error
Runtime error
First push
Browse files- app.py +88 -0
- requirements.txt +127 -0
- topic_10000.model +3 -0
- topic_10000.par +0 -0
- topics +1 -0
app.py
ADDED
@@ -0,0 +1,88 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from bertopic import BERTopic
|
2 |
+
import streamlit as st
|
3 |
+
import streamlit.components.v1 as components
|
4 |
+
#from datasets import load_dataset
|
5 |
+
import pandas as pd
|
6 |
+
from datasets import load_dataset
|
7 |
+
import json
|
8 |
+
|
9 |
+
##Load Dataset
|
10 |
+
#dataset = load_dataset("rshah/million-headlines")
|
11 |
+
#news = pd.DataFrame.from_dict(dataset["train"])
|
12 |
+
news = pd.read_parquet("/Users/rajiv.shah/Downloads/topic_10000.par")
|
13 |
+
news['date'] = pd.to_datetime(news['publish_date'], format='%Y%m%d')
|
14 |
+
timestamps = news.date.to_list()
|
15 |
+
tweets = news.headline_text.to_list()
|
16 |
+
|
17 |
+
with open("/Users/rajiv.shah/Downloads/test", "r") as fp:
|
18 |
+
topics = json.load(fp)
|
19 |
+
|
20 |
+
option_n = 5
|
21 |
+
|
22 |
+
st.set_page_config(page_title="News Topic Clustering")
|
23 |
+
st.title("News Topic Clustering")
|
24 |
+
st.caption("By Rajiv Shah")
|
25 |
+
st.caption("")
|
26 |
+
st.caption("This is a simple example of using identifying topics in the [one million ABC news headline dataset](https://huggingface.co/datasets/rshah/million-headlines). \
|
27 |
+
If you look at the code for this app, you will see how it uses just a few lines of [BertTopic](https://maartengr.github.io/BERTopic/index.html) to \
|
28 |
+
build the topics and create the visualizations")
|
29 |
+
st.caption("The preloaded existing model provides the more interesting results. However, this app can be run live by building a new model, but \
|
30 |
+
is limited to a small number of rows. I also limited topics over time to the existing model.")
|
31 |
+
|
32 |
+
|
33 |
+
form = st.sidebar.form("Main Settings")
|
34 |
+
form.header("Main Settings")
|
35 |
+
option = form.selectbox(
|
36 |
+
'What model would you like to run',
|
37 |
+
('Load existing model', 'Build new model'),index=0)
|
38 |
+
|
39 |
+
option_n = form.number_input(
|
40 |
+
'What topic would you like to get terms for?',
|
41 |
+
min_value=0,max_value=10,value=5)
|
42 |
+
|
43 |
+
submitted = form.form_submit_button(label = 'Select Model')
|
44 |
+
|
45 |
+
if option == 'Load existing model':
|
46 |
+
##Load existing model
|
47 |
+
topic_model = BERTopic.load("topic_10000.model")
|
48 |
+
#topics, _ = topic_model.transform(tweets)
|
49 |
+
else:
|
50 |
+
##Builds Topic Model
|
51 |
+
#news_sample = news[(news['date'] > '2015-06-01')]
|
52 |
+
news_sample = news[(news['date'] > '2017-01-01') & (news['date'] < '2019-01-01') ]
|
53 |
+
news_sample = news_sample.sample(200,random_state=123)
|
54 |
+
tweets = news_sample.headline_text.to_list()
|
55 |
+
topic_model = BERTopic(min_topic_size=5, verbose=True)
|
56 |
+
topics, _ = topic_model.fit_transform(tweets)
|
57 |
+
|
58 |
+
|
59 |
+
#Get top topics
|
60 |
+
freq = topic_model.get_topic_info()
|
61 |
+
freq = freq.iloc[1: , :] ##drop -1 row
|
62 |
+
freq.head(10)
|
63 |
+
st.header("The Main Topic Clusters")
|
64 |
+
st.write(freq)
|
65 |
+
|
66 |
+
|
67 |
+
topic_nr = freq.iloc[option_n]["Topic"] # We select a frequent topic
|
68 |
+
st.caption("")
|
69 |
+
st.write('Top words in topic cluster: ',option_n)
|
70 |
+
#st.caption(option_n)
|
71 |
+
mytuple = (topic_model.get_topic(topic_nr))
|
72 |
+
for item in mytuple:
|
73 |
+
st.write(str(item[0]))
|
74 |
+
|
75 |
+
st.header("Relationships between clusters ")
|
76 |
+
st.plotly_chart(topic_model.visualize_hierarchy())
|
77 |
+
|
78 |
+
|
79 |
+
if option == 'Load existing model':
|
80 |
+
st.header("Topics over time for Existing Model")
|
81 |
+
topics_over_time = topic_model.topics_over_time(docs=tweets,
|
82 |
+
topics=topics,
|
83 |
+
timestamps=timestamps,
|
84 |
+
global_tuning=True,
|
85 |
+
evolution_tuning=True,
|
86 |
+
nr_bins=20)
|
87 |
+
|
88 |
+
st.plotly_chart(topic_model.visualize_topics_over_time(topics_over_time, top_n_topics=20))
|
requirements.txt
ADDED
@@ -0,0 +1,127 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
aiohttp==3.8.1
|
2 |
+
aiosignal==1.2.0
|
3 |
+
altair==4.2.0
|
4 |
+
appnope @ file:///opt/concourse/worker/volumes/live/4f734db2-9ca8-4d8b-5b29-6ca15b4b4772/volume/appnope_1606859466979/work
|
5 |
+
argon2-cffi==21.3.0
|
6 |
+
argon2-cffi-bindings==21.2.0
|
7 |
+
async-timeout==4.0.2
|
8 |
+
asynctest==0.13.0
|
9 |
+
attrs==21.4.0
|
10 |
+
backcall @ file:///home/ktietz/src/ci/backcall_1611930011877/work
|
11 |
+
backports.zoneinfo==0.2.1
|
12 |
+
beautifulsoup4==4.11.1
|
13 |
+
bertopic==0.10.0
|
14 |
+
bleach==5.0.0
|
15 |
+
blinker==1.4
|
16 |
+
cachetools==5.1.0
|
17 |
+
certifi==2022.5.18.1
|
18 |
+
cffi==1.15.0
|
19 |
+
charset-normalizer==2.0.12
|
20 |
+
click==8.0.4
|
21 |
+
Cython==0.29.30
|
22 |
+
datasets==2.2.2
|
23 |
+
debugpy @ file:///opt/concourse/worker/volumes/live/32b11d06-4d64-4ec8-497a-cf4fc97343d2/volume/debugpy_1637091821874/work
|
24 |
+
decorator @ file:///opt/conda/conda-bld/decorator_1643638310831/work
|
25 |
+
defusedxml==0.7.1
|
26 |
+
dill==0.3.4
|
27 |
+
entrypoints @ file:///opt/concourse/worker/volumes/live/194c0a28-55ce-4e83-6a87-0d9f2e06ab2c/volume/entrypoints_1649926487944/work
|
28 |
+
fastjsonschema==2.15.3
|
29 |
+
filelock==3.7.0
|
30 |
+
frozenlist==1.3.0
|
31 |
+
fsspec==2022.5.0
|
32 |
+
gitdb==4.0.9
|
33 |
+
GitPython==3.1.27
|
34 |
+
hdbscan==0.8.28
|
35 |
+
huggingface-hub==0.6.0
|
36 |
+
idna==3.3
|
37 |
+
importlib-metadata==4.11.4
|
38 |
+
importlib-resources==5.7.1
|
39 |
+
ipykernel @ file:///opt/concourse/worker/volumes/live/c21734a4-132a-471d-7fe9-76688d5488be/volume/ipykernel_1647000841085/work/dist/ipykernel-6.9.1-py3-none-any.whl
|
40 |
+
ipython @ file:///opt/concourse/worker/volumes/live/333da4fb-3db0-439c-4a1b-ee802c44da4f/volume/ipython_1643818165055/work
|
41 |
+
ipython-genutils==0.2.0
|
42 |
+
ipywidgets==7.7.0
|
43 |
+
jedi @ file:///opt/concourse/worker/volumes/live/c9d2fa99-8bc1-4572-41e7-6beba6391441/volume/jedi_1644315238822/work
|
44 |
+
Jinja2==3.1.2
|
45 |
+
joblib==1.1.0
|
46 |
+
jsonschema==4.5.1
|
47 |
+
jupyter-client @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_4d0a367d-74c5-447f-831e-3e1fd3984797bfrg56pj/croots/recipe/jupyter_client_1650622206454/work
|
48 |
+
jupyter-core @ file:///private/var/folders/sy/f16zz6x50xz3113nwtb9bvq00000gp/T/abs_8ba802e0-15f6-4a45-a9ee-144034526783uwxtvvew/croots/recipe/jupyter_core_1651671235924/work
|
49 |
+
jupyterlab-pygments==0.2.2
|
50 |
+
jupyterlab-widgets==1.1.0
|
51 |
+
llvmlite==0.34.0
|
52 |
+
MarkupSafe==2.1.1
|
53 |
+
matplotlib-inline @ file:///tmp/build/80754af9/matplotlib-inline_1628242447089/work
|
54 |
+
mistune==0.8.4
|
55 |
+
multidict==6.0.2
|
56 |
+
multiprocess==0.70.12.2
|
57 |
+
nbclient==0.6.3
|
58 |
+
nbconvert==6.5.0
|
59 |
+
nbformat==5.4.0
|
60 |
+
nest-asyncio @ file:///opt/concourse/worker/volumes/live/bf4e1da0-0622-4bab-4608-fdb487494886/volume/nest-asyncio_1649847922626/work
|
61 |
+
nltk==3.7
|
62 |
+
notebook==6.4.11
|
63 |
+
numba==0.51.2
|
64 |
+
numpy==1.21.6
|
65 |
+
packaging==21.3
|
66 |
+
pandas==1.3.5
|
67 |
+
pandocfilters==1.5.0
|
68 |
+
parso @ file:///opt/conda/conda-bld/parso_1641458642106/work
|
69 |
+
pexpect @ file:///tmp/build/80754af9/pexpect_1605563209008/work
|
70 |
+
pickleshare @ file:///tmp/build/80754af9/pickleshare_1606932040724/work
|
71 |
+
Pillow==9.1.1
|
72 |
+
plotly==5.8.0
|
73 |
+
prometheus-client==0.14.1
|
74 |
+
prompt-toolkit @ file:///tmp/build/80754af9/prompt-toolkit_1633440160888/work
|
75 |
+
protobuf==3.20.1
|
76 |
+
ptyprocess @ file:///tmp/build/80754af9/ptyprocess_1609355006118/work/dist/ptyprocess-0.7.0-py2.py3-none-any.whl
|
77 |
+
pyarrow==8.0.0
|
78 |
+
pycparser==2.21
|
79 |
+
pydeck==0.7.1
|
80 |
+
Pygments @ file:///opt/conda/conda-bld/pygments_1644249106324/work
|
81 |
+
Pympler==1.0.1
|
82 |
+
pynndescent==0.5.7
|
83 |
+
pyparsing==3.0.9
|
84 |
+
pyrsistent==0.18.1
|
85 |
+
python-dateutil @ file:///tmp/build/80754af9/python-dateutil_1626374649649/work
|
86 |
+
pytz==2022.1
|
87 |
+
pytz-deprecation-shim==0.1.0.post0
|
88 |
+
PyYAML==5.4.1
|
89 |
+
pyzmq @ file:///opt/concourse/worker/volumes/live/7dec6841-64b1-4d95-7226-ce37c6ca8915/volume/pyzmq_1638435000749/work
|
90 |
+
regex==2022.4.24
|
91 |
+
requests==2.27.1
|
92 |
+
responses==0.18.0
|
93 |
+
scikit-learn==1.0.2
|
94 |
+
scipy==1.7.3
|
95 |
+
semver==2.13.0
|
96 |
+
Send2Trash==1.8.0
|
97 |
+
sentence-transformers==2.2.0
|
98 |
+
sentencepiece==0.1.96
|
99 |
+
six @ file:///tmp/build/80754af9/six_1644875935023/work
|
100 |
+
smmap==5.0.0
|
101 |
+
soupsieve==2.3.2.post1
|
102 |
+
streamlit==1.9.0
|
103 |
+
tenacity==8.0.1
|
104 |
+
terminado==0.15.0
|
105 |
+
threadpoolctl==3.1.0
|
106 |
+
tinycss2==1.1.1
|
107 |
+
tokenizers==0.12.1
|
108 |
+
toml==0.10.2
|
109 |
+
toolz==0.11.2
|
110 |
+
torch==1.11.0
|
111 |
+
torchvision==0.12.0
|
112 |
+
tornado @ file:///opt/concourse/worker/volumes/live/d531d395-893c-4ca1-6a5f-717b318eb08c/volume/tornado_1606942307627/work
|
113 |
+
tqdm==4.64.0
|
114 |
+
traitlets @ file:///tmp/build/80754af9/traitlets_1636710298902/work
|
115 |
+
transformers==4.19.2
|
116 |
+
typing_extensions==4.2.0
|
117 |
+
tzdata==2022.1
|
118 |
+
tzlocal==4.2
|
119 |
+
umap-learn==0.5.3
|
120 |
+
urllib3==1.26.9
|
121 |
+
validators==0.19.0
|
122 |
+
wcwidth @ file:///Users/ktietz/demo/mc3/conda-bld/wcwidth_1629357192024/work
|
123 |
+
webencodings==0.5.1
|
124 |
+
widgetsnbextension==3.6.0
|
125 |
+
xxhash==3.0.0
|
126 |
+
yarl==1.7.2
|
127 |
+
zipp==3.8.0
|
topic_10000.model
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:3fcb5b76adace0d35bb26c34a74badb0fd8374e4aad30f8a2da89e8dc48e0127
|
3 |
+
size 156714218
|
topic_10000.par
ADDED
Binary file (514 kB). View file
|
|
topics
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
[24, 2, -1, 16, -1, 8, 11, 1, 5, -1, -1, 25, 11, 14, 16, 3, -1, 1, -1, 16, 6, 10, 9, 0, -1, 0, 29, -1, 6, 5, -1, 6, -1, -1, -1, 4, 3, -1, 1, -1, 3, 4, -1, -1, -1, -1, -1, -1, -1, 7, -1, -1, -1, -1, -1, 0, 10, -1, 7, -1, 1, 5, 19, 2, -1, 2, -1, 0, 8, 1, 1, -1, 0, 3, -1, -1, 8, 10, -1, -1, -1, 1, 1, 0, 2, -1, 7, 1, 9, 0, -1, 6, 2, 8, -1, 12, -1, 0, -1, -1, -1, 2, 19, 1, 0, 0, -1, 8, 1, -1, 0, -1, 0, 0, 8, -1, 7, 0, -1, -1, 30, 10, -1, -1, -1, 10, -1, 20, -1, 0, 1, 1, 2, 8, -1, 0, -1, 2, 10, -1, -1, -1, 14, 0, -1, 11, -1, 0, 5, 3, -1, 2, 7, 12, -1, -1, 7, 29, 0, 19, 28, 0, 0, 0, -1, 0, 1, 1, 11, -1, 24, 0, 24, 27, 10, 9, 13, -1, 0, -1, 3, 0, -1, 1, 1, -1, -1, 0, -1, -1, 0, 0, -1, -1, 7, -1, 15, 0, 16, 29, 2, 0, -1, 20, 1, -1, 0, 1, -1, 11, -1, 0, 8, -1, 0, 4, -1, 20, 0, 2, -1, -1, 0, -1, -1, -1, 0, -1, 0, 26, -1, 25, -1, 5, 23, 5, -1, 5, -1, -1, -1, 3, 12, -1, -1, 20, 0, -1, -1, -1, 2, -1, -1, 1, 1, -1, 2, -1, -1, 11, 28, 15, 9, 6, 10, -1, 0, 0, -1, 8, 21, -1, -1, 1, 6, 6, 5, -1, 7, 8, -1, 11, -1, 5, -1, -1, -1, 0, -1, 5, 16, 11, 0, 29, 13, -1, -1, 8, 4, 2, 0, 0, 0, -1, 0, 7, 7, 0, 1, 0, -1, 6, -1, 14, -1, 5, 2, 7, -1, -1, 5, -1, 9, -1, -1, 8, -1, -1, 17, 5, -1, 1, 1, -1, 15, -1, -1, 1, -1, -1, 0, 3, 13, 8, -1, -1, 14, 0, 13, 1, 3, 0, 12, -1, -1, -1, -1, 2, -1, 2, -1, 1, -1, -1, -1, 1, 7, 0, -1, 0, 1, 4, 9, 22, -1, -1, 0, 24, -1, -1, -1, 26, 5, 0, -1, -1, 0, -1, 1, 12, -1, -1, 31, 0, 0, -1, 0, 16, -1, -1, -1, 0, -1, 4, 1, 1, 8, 0, -1, -1, -1, 0, 7, -1, -1, 18, -1, 5, 6, 1, -1, 9, 1, -1, -1, 7, 0, -1, -1, 9, -1, -1, -1, 7, -1, 0, -1, 17, 0, -1, 23, -1, 0, 22, 0, -1, -1, 5, 1, 1, 29, -1, 0, 2, 20, 0, 2, -1, 0, 4, -1, 1, -1, -1, -1, -1, 0, 0, 0, -1, 21, -1, 2, -1, 11, 0, 24, 9, 2, -1, 1, -1, 9, -1, -1, 1, -1, -1, 9, -1, -1, 0, 26, -1, 1, -1, -1, -1, 6, -1, 2, 0, 5, 1, -1, -1, -1, 14, -1, -1, 13, 0, 0, 10, 0, -1, -1, -1, -1, 4, 1, 9, 9, 0, 17, 26, -1, 4, -1, -1, -1, 8, 0, 25, 1, 31, 1, 10, 17, -1, 0, -1, 17, 1, -1, -1, 2, 0, -1, 10, 15, 0, -1, 0, 0, 8, 15, 8, -1, 11, 6, 0, 10, 28, -1, -1, 7, 13, 1, -1, 0, 3, 18, 0, -1, 3, -1, 20, 12, 11, -1, 0, 20, -1, 17, 2, 5, -1, -1, -1, 10, 12, -1, 4, 31, -1, 1, 6, 11, 9, 31, 14, 9, -1, 5, -1, 22, 24, -1, 4, 1, 0, 1, 0, 19, 27, -1, 4, 11, 1, 17, -1, 22, 0, 2, 17, 1, 0, -1, -1, 0, 0, -1, 3, 5, -1, 22, 2, -1, -1, 9, 3, 11, -1, -1, -1, 0, 11, 3, 1, -1, 6, 6, -1, -1, -1, 17, 0, 0, -1, 6, 7, -1, 14, -1, 3, 0, 18, 25, -1, 0, 16, -1, 0, -1, -1, -1, 23, 2, -1, -1, -1, -1, -1, 28, 12, 7, 0, 18, 13, 5, 13, -1, -1, 12, 1, 0, -1, -1, -1, 1, 1, -1, 14, 21, 0, 23, 24, 7, 18, 11, -1, 1, 0, -1, -1, 7, -1, 0, 6, 2, -1, -1, -1, -1, 8, 0, 4, 9, 24, 24, 1, -1, -1, 1, 0, 31, -1, -1, -1, -1, -1, 1, -1, 1, 4, 8, 3, 22, -1, -1, 16, 28, 5, -1, -1, -1, 7, 8, -1, 1, 0, -1, -1, 0, 11, 21, 18, -1, 4, 12, -1, -1, -1, -1, 17, 0, 14, -1, -1, 6, 11, -1, 0, 0, -1, 7, 24, 0, 5, 5, -1, 0, -1, -1, 5, 11, -1, 0, 10, 7, 0, -1, 0, 7, -1, -1, -1, -1, 24, 5, -1, 20, -1, -1, -1, 3, 9, 0, 0, 21, -1, -1, -1, 0, -1, 6, 5, 0, 5, 1, -1, 1, 9, 1, 22, 1, 26, 0, 0, -1, 1, -1, 12, 0, 0, -1, 16, -1, 12, 0, -1, 15, 27, 0, -1, 5, 3, -1, -1, -1, -1, 1, -1, 9, 23, 1, 16, 1, 22, 6, 1, -1, -1, 15, -1, 5, -1, 17, -1, 4, 6, -1, 0, 0, -1, -1, 0, 0, -1, -1, -1, -1, -1, 1, 8, -1, -1, -1, -1, -1, 9, 0, -1, 0, 6, -1, -1, 10, -1, 26, 0, 1, -1, 11, 12, 18, -1, 6, 23, -1, -1, 10, 2, 1, -1, 1, -1, -1, 5, 2, 4, 5, 4, 0, -1, 0, -1, -1, 9, 5, -1, 4, 0, -1, -1, -1, -1, -1, -1, 6, 9, -1, -1, 7, 8, 2, -1, 2, -1, 16, 1, 26, -1, 20, 3, -1, 15, 0, 9, 0, 8, -1, -1, 17, 1, 1, 7, -1, 0, 7, 4, 7, 1, 0, 28, 0, 3, 0, 10, -1, 0, -1, -1, 13, 0, -1, -1, -1, 9, -1, -1, -1, 0, 29, 10, 18, -1, 0, 0, -1, 12, 21, 19, 5, 7, 0, -1, -1, -1, -1, -1, 3, -1, -1, 0, 10, 6, 2, 0, -1, 3, 1, -1, -1, 14, 4, 20, 18, 8, -1, -1, 13, -1, -1, 0, -1, 0, 2, 2, 11, 4, -1, -1, 0, -1, -1, 10, -1, 0, 5, 16, 11, 1, 21, -1, 16, 10, 28, -1, 7, 15, 16, -1, -1, -1, 5, 9, -1, 27, 0, -1, -1, 28, -1, 4, -1, 15, 6, 8, 7, 8, -1, 11, 3, -1, 4, 0, -1, 2, 10, 0, 3, 0, -1, 1, -1, 4, 9, 14, 0, -1, 11, -1, 0, -1, 10, -1, 12, 0, 2, 7, 0, 14, 8, 5, 0, 24, -1, -1, 11, 19, 1, -1, 27, 23, 5, 8, -1, 7, 5, 0, -1, 6, 6, -1, 0, -1, 10, -1, -1, 9, 14, 29, -1, 19, -1, 7, 13, 16, 0, -1, 22, 24, 29, -1, 6, -1, 25, -1, -1, 29, 23, 6, 22, 30, 0, 0, -1, 2, -1, -1, 20, -1, 18, 0, 8, 0, -1, 8, -1, 6, -1, 1, 0, -1, -1, 9, 10, -1, 0, -1, 5, 6, 28, 0, 23, -1, -1, 8, 16, -1, 0, 0, 11, -1, 2, 1, 0, -1, -1, -1, -1, -1, -1, -1, 18, 3, 0, -1, -1, 9, -1, 5, 1, 0, 14, -1, -1, 0, 0, -1, -1, 12, 0, -1, 10, 6, 17, 20, 9, 28, -1, 11, 17, -1, 2, 11, -1, 6, 17, -1, -1, 3, 17, -1, 0, -1, 12, 0, -1, -1, -1, 26, 0, -1, -1, 6, 14, 0, 13, -1, 3, -1, 5, -1, 2, 5, 7, 7, 3, 17, -1, -1, 30, 2, -1, -1, 1, 4, 31, 4, -1, 16, 18, 6, 5, 2, 5, 7, -1, 4, -1, 6, 22, 0, -1, 21, 4, 2, 0, 1, 13, -1, 0, 13, 23, 0, -1, 5, -1, 4, 1, -1, 1, -1, 3, 10, -1, -1, -1, 1, 0, -1, 31, 8, -1, -1, 9, 0, -1, -1, 8, -1, -1, -1, 9, 26, 0, 4, -1, 1, 1, -1, 23, 1, -1, 0, -1, -1, -1, 1, 4, -1, -1, 2, 0, 16, -1, -1, 0, -1, 2, 0, 0, 25, -1, -1, -1, 1, 13, -1, 26, -1, 0, -1, 6, -1, -1, -1, 2, 2, 10, 31, -1, 22, -1, 5, -1, 15, -1, 1, 0, -1, -1, 0, 24, 4, 14, 24, 13, 26, 18, 6, -1, -1, -1, -1, -1, 10, 0, 24, 2, -1, 0, 0, -1, 1, -1, -1, -1, 0, 4, 12, -1, 29, -1, -1, 14, 3, 0, 4, 5, 0, 13, -1, 1, -1, 9, 0, 20, 6, 1, 0, -1, 0, -1, -1, 9, 20, -1, 29, 1, 2, -1, 2, 1, -1, 5, 3, 2, -1, 2, 0, 3, 0, 12, -1, 30, 5, -1, 0, 6, -1, 4, -1, 0, 2, 0, 11, -1, 5, -1, 0, 0, -1, -1, 6, 1, 0, 11, -1, -1, 0, 1, -1, -1, -1, 16, -1, -1, -1, 25, -1, 7, 18, -1, 22, -1, -1, 9, 1, 3, -1, -1, 3, -1, 8, 0, 13, 3, 6, 0, 26, 0, -1, -1, -1, 21, -1, 0, -1, 0, 8, 18, 0, 29, 0, -1, -1, 4, 1, -1, 0, 11, 2, -1, 2, 2, 21, 0, -1, -1, 12, -1, 5, -1, 3, -1, 6, -1, -1, -1, -1, 11, -1, -1, -1, -1, -1, -1, -1, 22, 28, 4, 22, 0, 21, -1, -1, 15, -1, 0, 19, -1, 0, 12, 4, 9, 11, 3, 1, 20, -1, -1, 4, 6, -1, -1, -1, 14, 27, -1, 18, -1, -1, 0, 6, -1, 18, -1, -1, -1, 0, 2, -1, 6, -1, -1, 30, 11, -1, -1, -1, 8, -1, 0, 4, -1, 0, -1, -1, -1, -1, 1, -1, 2, -1, -1, -1, 6, -1, -1, 20, -1, 13, 10, -1, -1, -1, -1, -1, 20, -1, 2, 12, 3, 4, 1, 7, -1, 17, 0, 1, 30, 0, 16, -1, -1, 23, 0, -1, -1, -1, -1, 1, 3, 0, 3, -1, 0, -1, -1, -1, 17, 1, 12, 16, 0, -1, 1, 5, -1, 8, 3, -1, -1, -1, -1, 4, 13, -1, -1, 10, -1, 0, 0, -1, 0, 11, 6, 9, 2, 4, 3, 22, 17, 12, -1, 15, -1, 8, 18, 0, -1, -1, 19, 3, -1, -1, 19, 0, 20, 0, -1, 19, 4, -1, 12, -1, -1, -1, 7, -1, -1, 2, 9, 4, 0, 0, -1, -1, 8, 9, -1, -1, -1, 3, -1, 2, 28, -1, -1, 9, 15, 13, 7, 0, 2, 8, 3, 3, -1, -1, 7, 24, 3, 0, -1, 6, -1, 15, 2, -1, 0, -1, 0, -1, 4, -1, 16, 10, 1, 15, -1, 10, -1, 0, -1, 8, -1, 1, 16, -1, -1, 0, -1, -1, 1, 5, 2, -1, 0, -1, 26, 4, 0, 2, -1, 13, 24, 27, 9, -1, 7, -1, 9, 0, 0, 1, -1, 10, -1, 2, 4, 4, 2, 5, 0, 12, -1, 8, 6, 6, 15, -1, -1, 6, -1, 0, 8, 9, 11, 22, 7, 0, 2, 0, -1, 3, -1, 24, 2, 0, 10, -1, 4, -1, 3, 8, 14, 17, 1, -1, -1, 8, 6, 0, -1, 0, -1, 14, -1, -1, -1, 6, 0, -1, 5, -1, 0, 13, 31, -1, 15, 0, -1, -1, -1, -1, -1, 0, 0, -1, 4, -1, 14, -1, -1, 0, -1, 6, -1, -1, 6, 10, -1, 14, -1, -1, 7, 5, 4, -1, -1, -1, 2, -1, -1, 0, -1, -1, -1, -1, -1, 0, -1, -1, 2, 4, -1, -1, -1, 5, 19, 4, -1, -1, -1, -1, -1, 6, 1, -1, -1, -1, -1, 29, -1, 2, 0, -1, -1, 7, 10, -1, 18, 2, -1, -1, -1, 0, 0, 0, -1, -1, 18, -1, -1, 0, 15, 3, 5, 13, 0, 10, 11, 21, 26, -1, 1, -1, 20, 0, -1, 6, 0, -1, 16, -1, 9, -1, -1, 3, 26, 2, -1, 6, -1, 9, 5, -1, -1, -1, 22, -1, -1, 5, 13, 3, 5, 6, -1, 8, 24, 0, 30, 29, 0, -1, 13, 0, -1, -1, -1, 0, 25, -1, 14, 9, 3, 7, 5, 1, 14, 12, 31, 7, 4, 16, -1, 29, -1, -1, -1, 2, 0, 1, 23, 31, 30, 24, -1, 4, 5, 0, 13, 0, 23, 15, 27, -1, -1, -1, 10, -1, 14, -1, 2, 1, -1, -1, 22, 6, 12, -1, -1, -1, 0, -1, 1, 1, -1, 6, 8, 2, 20, -1, -1, -1, -1, -1, -1, 14, 7, 2, -1, -1, 1, 11, -1, -1, 1, 13, -1, -1, 15, 0, 0, -1, 5, 26, 28, 6, -1, -1, -1, 6, 0, -1, -1, 8, -1, -1, 1, 9, 11, -1, 28, 0, 6, -1, 0, 2, 10, -1, 2, -1, 9, 0, -1, 8, 31, 3, -1, 9, 18, 1, 8, 0, 4, -1, 0, 0, 0, -1, 28, 13, 10, -1, 2, 0, 1, -1, 20, 28, 0, -1, -1, -1, 0, 5, 21, -1, 5, 10, 10, -1, 10, -1, 7, 0, 19, 20, 3, 0, -1, 2, 0, -1, -1, -1, 2, 1, 2, 1, 21, 4, -1, -1, -1, -1, -1, 25, -1, -1, 5, 14, 2, 0, 0, 0, 0, -1, 4, 15, -1, 0, 8, -1, 0, -1, 0, 0, 2, -1, 0, 10, -1, -1, 21, 0, -1, -1, -1, 13, -1, 18, 9, 3, 2, 11, 19, 9, -1, -1, -1, -1, 7, 23, -1, 4, -1, 13, 1, 29, -1, 3, -1, -1, -1, 2, -1, 9, 0, -1, 0, -1, -1, -1, 5, 23, 17, 3, 6, -1, 1, -1, -1, 0, -1, 0, 12, 0, 0, 2, 6, 2, 6, -1, 11, 9, 0, 27, 2, -1, -1, -1, 5, -1, 0, -1, 6, 8, 1, 4, 5, 5, -1, 20, -1, 3, -1, -1, -1, 0, -1, 0, -1, 6, 0, 0, -1, 3, -1, 7, -1, 9, -1, 9, 0, 21, 4, -1, -1, 6, 3, -1, -1, -1, -1, -1, -1, -1, -1, 0, 14, 4, 6, 4, 6, 3, -1, 8, -1, -1, -1, 7, 7, 6, 1, -1, 3, -1, 0, 1, 0, 3, 9, 4, -1, 0, -1, 0, 8, 7, -1, 23, -1, 9, 5, 14, 1, 17, -1, 4, -1, 4, 2, 23, 0, 5, 2, 14, 0, 3, 0, 12, -1, -1, 2, 2, -1, 2, -1, -1, -1, 11, 2, 0, 1, -1, 1, -1, 11, -1, -1, -1, -1, -1, -1, -1, 4, 14, -1, 1, 0, -1, 0, 3, -1, -1, 3, 3, -1, -1, 26, 4, 9, 2, 3, -1, -1, 14, 0, -1, 25, 4, 0, 18, 0, -1, 0, 16, -1, -1, 0, 5, 1, -1, -1, 14, 0, -1, -1, 9, 5, 0, -1, 1, 0, 16, 9, -1, -1, -1, -1, -1, -1, -1, 12, 8, 3, 2, 1, -1, -1, -1, 15, -1, -1, -1, 11, 7, -1, 12, 9, 5, 2, 13, 25, 2, -1, -1, 5, -1, 2, 20, 0, 4, 1, 7, 1, -1, -1, 1, 29, 0, 0, -1, -1, 16, 27, 0, 10, 17, 0, -1, 12, 0, -1, 18, -1, -1, 0, 9, 7, -1, 1, 16, 13, -1, 0, 11, 27, 0, 0, 5, 0, -1, -1, -1, 2, 0, 1, 0, 0, 7, 0, 0, -1, 30, 1, -1, 0, -1, -1, -1, 23, 3, -1, 6, 7, 17, -1, -1, 6, -1, -1, 5, 0, 2, 1, -1, -1, 4, -1, 4, 8, 0, 7, 8, -1, 11, 4, 0, 2, 12, -1, -1, 6, -1, -1, 0, -1, -1, -1, -1, 0, 9, 10, 0, 9, 0, 29, -1, -1, 3, 4, 0, 7, -1, 0, 1, 2, 0, 0, 0, 0, 0, -1, 12, 11, 14, 6, 0, 1, -1, -1, 15, 11, -1, 4, -1, -1, -1, -1, 31, -1, 22, 15, -1, 3, -1, -1, 25, 17, 8, -1, -1, 5, -1, -1, 2, -1, 25, -1, 18, 0, -1, 28, -1, 14, 12, 0, -1, -1, 1, 0, 25, 2, -1, -1, -1, 9, 4, -1, -1, -1, 9, -1, 5, 12, 1, -1, -1, -1, -1, -1, -1, 14, -1, 0, 0, 0, 9, 2, -1, -1, -1, -1, -1, 15, 0, 0, 0, -1, -1, 3, -1, -1, 0, 23, -1, -1, 2, 7, 3, 4, -1, 26, -1, 8, 12, 1, 4, -1, -1, 12, 10, -1, 7, 18, 6, 7, -1, 11, 12, 0, 0, 6, -1, 7, -1, -1, 3, 0, -1, -1, 0, -1, -1, 4, 10, 0, -1, -1, 4, 3, 23, 13, -1, 0, -1, -1, 0, 0, 20, 0, -1, -1, -1, 3, 28, 7, -1, 28, -1, 5, 2, 9, 0, 2, 27, -1, -1, -1, 18, 0, 0, 9, -1, 2, -1, -1, -1, -1, -1, 6, 0, 10, 0, -1, 4, 24, -1, -1, 3, -1, 1, -1, -1, -1, 0, 7, -1, 0, 24, -1, 0, -1, 1, -1, 7, -1, 10, 4, -1, 0, 25, 0, 0, 4, -1, 28, 3, -1, -1, -1, -1, 0, 9, -1, -1, 31, 0, 25, 9, 19, 13, 1, 8, 3, 8, 5, -1, 10, 5, 7, -1, -1, 16, 2, 12, -1, -1, 1, 6, -1, 6, 2, -1, -1, 0, 5, -1, 0, 0, 6, 0, 9, 13, 21, 3, 2, 6, -1, -1, 0, 3, 11, 8, -1, -1, 12, -1, -1, 9, -1, 31, -1, 2, 0, -1, -1, -1, -1, -1, -1, 8, -1, 7, 0, 30, -1, -1, -1, 2, -1, -1, -1, -1, 26, 3, -1, 1, -1, -1, -1, -1, 6, -1, -1, 5, -1, -1, 0, 0, 6, -1, -1, 18, -1, 2, -1, -1, -1, -1, -1, 6, -1, 10, 10, 0, 5, 0, 26, 18, -1, 0, 10, 0, 6, -1, 1, -1, 26, -1, -1, -1, 1, 0, 3, -1, -1, 3, -1, 12, 1, 12, -1, 5, 0, 10, 17, -1, -1, -1, -1, -1, -1, 2, 19, -1, -1, 21, 3, -1, 2, 5, -1, 25, 16, 16, 2, -1, -1, 10, 3, 12, 0, -1, 14, 0, 16, 1, 26, -1, 4, 7, 0, 2, -1, -1, -1, -1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, 21, 0, -1, 0, 4, -1, -1, 16, -1, -1, -1, -1, 1, 0, -1, 0, 8, 2, 4, -1, 1, -1, 0, 18, 6, 0, -1, -1, 11, -1, 3, 7, 27, 0, 0, 3, -1, -1, -1, 16, 7, 1, -1, 2, -1, -1, 3, 27, 4, 23, 10, 9, -1, 0, 12, 0, 27, 8, 0, -1, -1, 10, 6, 1, -1, 29, -1, -1, 1, 4, 15, 1, -1, 10, 2, 8, 30, 2, 0, 25, -1, 1, 0, -1, 25, 12, 0, 3, -1, -1, 1, 16, 7, 18, 2, -1, -1, 12, 0, 3, 6, 12, -1, -1, 0, 5, 16, -1, 1, -1, -1, 13, -1, 22, 20, 6, 5, 12, 5, -1, 29, 0, 2, -1, 0, -1, -1, -1, 30, -1, -1, 0, 2, -1, 0, -1, 5, 12, 2, 1, 0, 17, -1, 3, -1, -1, -1, -1, 1, -1, 0, 0, -1, -1, 1, -1, 5, 24, -1, -1, -1, 7, 0, 9, 0, 1, 8, 3, -1, 1, -1, 3, -1, 19, -1, -1, -1, -1, 9, -1, -1, 0, 27, 0, -1, 9, 15, -1, -1, 2, 3, 0, 5, -1, -1, -1, -1, 0, 4, 27, 0, 0, -1, -1, 4, 21, 2, 0, -1, 1, -1, 22, 19, 4, 0, -1, 0, -1, -1, 7, -1, 14, 2, -1, -1, 27, -1, -1, 7, 10, 17, 0, -1, 0, 4, -1, 4, -1, 11, 1, 2, -1, 0, -1, 27, -1, 3, 7, 9, -1, 0, 0, -1, 8, 5, 5, 21, -1, 2, -1, 0, -1, 2, -1, 4, -1, 4, -1, -1, 23, -1, -1, 6, -1, -1, -1, -1, 1, -1, 3, 31, -1, 9, -1, -1, -1, -1, 2, 0, 0, 0, 10, 19, 5, 6, -1, -1, 9, -1, 2, -1, 23, -1, -1, 28, 1, 3, 4, -1, 5, -1, 1, 0, 11, -1, 1, -1, 9, 10, -1, -1, -1, 21, -1, 26, 0, 0, 0, 0, -1, -1, -1, 9, 4, 0, -1, -1, -1, 1, 11, 1, -1, 0, 7, 0, 9, 1, 30, -1, 15, 15, -1, 29, 0, 17, 3, -1, -1, 0, 9, 4, 20, 3, 24, 5, 4, -1, 0, 17, 0, 3, -1, 15, -1, 0, 13, 3, -1, 1, -1, 5, 4, 0, 2, 6, 3, -1, -1, -1, 0, -1, 25, 0, -1, 6, 0, 0, 9, 3, -1, 1, 0, 6, 5, 0, 0, -1, 5, 0, 4, -1, -1, 0, 2, 9, -1, -1, -1, 6, 18, 1, 12, 6, 0, 16, -1, -1, -1, 2, 25, -1, -1, -1, -1, 1, -1, 20, -1, 3, 28, -1, 1, -1, -1, -1, 0, 8, 0, -1, 0, 2, 1, 11, -1, -1, -1, 3, -1, -1, 22, -1, -1, -1, -1, 1, 1, 12, -1, -1, -1, -1, -1, 9, -1, 5, 2, -1, -1, -1, 6, 7, -1, 1, 10, -1, 1, 2, 0, 0, 23, 2, 30, -1, -1, -1, 27, -1, 3, 3, -1, 0, 25, -1, 4, -1, -1, -1, -1, -1, -1, 7, -1, -1, -1, 7, -1, 6, 4, -1, 9, 13, 21, 2, 0, 3, 30, 8, -1, 11, 12, 9, 14, 21, 0, 23, -1, 4, 6, -1, 1, 1, 0, 1, 10, 7, 3, 11, 26, 8, 12, 0, -1, -1, 0, 0, -1, 0, 2, 2, 0, 0, -1, 12, -1, 1, 15, -1, 29, 2, 2, 5, 0, 6, 12, 0, 30, -1, 0, -1, 3, 1, -1, 8, 7, 9, 0, 0, 0, 0, 2, -1, 5, 26, 0, 9, -1, 5, 2, 22, 0, 5, -1, 0, 2, 8, 4, 1, 0, 4, -1, 31, -1, 1, -1, 0, 6, 4, 1, 3, -1, -1, 2, -1, -1, 6, 9, 7, 2, 0, -1, -1, 4, -1, 9, 10, 28, -1, 6, 1, 13, -1, 3, 15, 13, -1, 0, -1, 2, 22, 4, 8, 4, 11, 13, -1, 19, -1, 0, -1, 6, 19, -1, -1, -1, 4, 30, 3, -1, 13, 0, -1, 0, 6, -1, 4, -1, -1, 0, 9, 22, -1, 8, 2, -1, 1, 1, 1, -1, -1, 13, -1, 0, -1, 16, 1, 0, 13, 6, 1, -1, -1, 14, -1, 4, 15, -1, -1, -1, 29, -1, 0, 6, 0, 0, -1, -1, 1, 3, 0, 20, -1, 1, 1, 1, 19, -1, 0, 30, 4, 0, -1, -1, 0, -1, 28, 5, 3, 5, -1, 2, -1, -1, -1, -1, 19, 17, 9, -1, 4, 8, 1, -1, -1, -1, 6, -1, 5, -1, 23, -1, 1, 9, 28, 0, 0, 0, -1, -1, 2, -1, -1, 17, -1, -1, 16, 0, 0, -1, 5, 5, -1, 19, 8, 2, 6, 5, 3, 6, -1, -1, 4, 3, -1, 19, 3, -1, -1, -1, 24, 2, 0, 1, 0, 0, 0, -1, 7, 10, -1, -1, 21, -1, 0, 0, -1, -1, -1, 5, 3, 11, 0, 7, -1, 21, 5, -1, 1, 0, 8, -1, 0, 4, 2, 2, -1, -1, 15, 1, -1, 3, 4, -1, 3, 1, -1, 0, 0, -1, -1, 0, 4, 12, 14, 0, 8, 0, 3, 2, 6, -1, -1, -1, 0, 0, 0, 25, -1, 24, -1, -1, 4, -1, -1, 5, 9, -1, 0, 0, 0, 0, 6, 15, 13, 0, -1, -1, -1, -1, -1, 10, 5, 0, 11, 1, 1, 3, 6, -1, -1, -1, -1, 1, -1, 9, 8, -1, 14, 5, -1, 15, -1, -1, -1, 9, 7, 9, -1, -1, -1, 8, -1, -1, -1, 1, -1, 10, -1, -1, 2, 3, 0, -1, -1, -1, 10, 23, -1, 2, 1, -1, 7, 29, 10, 0, -1, 6, 4, 26, 10, 15, -1, 0, -1, 13, 0, -1, 0, 24, 5, -1, -1, 1, 0, 4, 8, -1, -1, -1, 9, 0, 0, 3, 6, 2, 4, 7, -1, 7, -1, 5, 1, -1, 7, -1, 16, -1, 0, 1, 13, -1, 0, 10, 1, 10, 7, 0, 12, -1, 16, 0, 6, 22, 0, 5, 9, 8, 11, 0, -1, 3, 2, 3, -1, 22, 3, 11, -1, 7, 9, 0, 0, -1, -1, 8, -1, -1, 0, 16, 0, 5, 15, -1, -1, -1, -1, -1, -1, 0, -1, 3, -1, 12, 2, 23, 13, -1, 4, 0, 29, 31, 4, -1, 7, 17, -1, 20, 5, 1, -1, -1, 10, -1, 0, 20, -1, 4, 7, 22, 10, 7, -1, -1, -1, 0, 21, 28, -1, 4, 20, 2, 8, -1, -1, 1, -1, -1, 15, -1, 1, 31, -1, 25, 3, 10, 15, -1, 24, 3, -1, 2, 3, 13, 3, -1, 1, -1, 6, -1, 9, 15, 5, -1, 1, -1, 7, 1, 8, 0, 0, -1, 7, 27, 2, 0, 0, -1, 0, 0, -1, 2, 0, -1, -1, 2, 2, 15, -1, -1, 8, -1, 1, -1, -1, 2, 17, 1, -1, 0, -1, 15, 0, 0, 0, -1, 5, 1, -1, -1, 11, 12, 3, 0, 9, 13, 2, 0, -1, -1, 1, -1, 5, -1, 8, 2, 4, 16, -1, 1, 6, 11, 3, 1, -1, 0, 21, -1, 5, -1, 5, -1, 3, -1, -1, 31, -1, 0, 4, 0, -1, 10, -1, 1, -1, 5, 2, 4, 9, 15, 28, 6, 11, 1, 0, -1, 1, 0, 0, -1, -1, 0, -1, 7, -1, 17, 21, -1, 0, -1, -1, 0, 3, 27, 0, -1, -1, -1, 8, 5, 14, 0, 3, 2, -1, 7, -1, -1, 4, 25, -1, 22, 10, -1, 0, 2, 0, 0, 18, 8, 0, 1, 4, 5, -1, 1, -1, 22, 5, 5, -1, 5, -1, 18, 6, 11, 0, 5, 19, 21, 9, 14, 2, 7, 19, 21, -1, -1, -1, -1, 19, 14, -1, 6, 0, 26, -1, -1, -1, -1, -1, -1, 16, -1, 16, -1, -1, 0, 0, -1, 17, -1, 4, -1, 21, -1, 18, 0, 6, -1, 18, -1, -1, -1, 7, -1, 8, -1, -1, -1, -1, 6, 0, 9, 17, -1, 12, 12, 11, 0, 0, -1, 1, 0, -1, -1, -1, -1, -1, -1, 0, 14, 4, 0, -1, 0, -1, 0, 5, 0, 21, 4, 3, -1, -1, 1, -1, 0, 2, 0, 1, 4, -1, 1, 12, -1, 0, -1, 11, 5, 29, 0, 0, 6, 10, 21, 7, -1, 11, -1, -1, -1, -1, -1, 16, -1, 11, -1, -1, 5, 6, 9, 1, 4, 5, 16, 18, 9, 0, 21, -1, -1, -1, -1, -1, -1, 0, -1, -1, 24, -1, -1, 0, 9, 2, -1, -1, -1, 7, 2, 8, -1, -1, -1, 1, -1, 7, 4, 4, -1, 0, -1, -1, -1, -1, 0, 0, 21, -1, -1, -1, 0, -1, 4, 0, 2, 8, 15, 6, -1, 5, -1, -1, 1, -1, 1, 16, 13, -1, 0, 12, 24, -1, 6, 23, -1, 4, 9, 5, 22, -1, 0, 14, 5, -1, 1, 7, -1, 2, 0, 0, 17, 7, 16, 0, 2, -1, 7, 14, -1, -1, 21, -1, 1, 1, 0, 3, 11, 4, 13, 0, 26, 0, 11, 2, -1, -1, -1, 0, 6, 1, 18, 5, -1, 2, -1, 11, -1, 6, -1, -1, 13, 0, 2, -1, -1, 23, 0, 6, 23, 11, 26, -1, 28, 13, -1, -1, 20, 16, 21, -1, 10, -1, -1, -1, 4, 5, 10, 2, 14, -1, 4, 8, -1, 19, 0, 10, 7, 0, -1, -1, -1, 0, 1, -1, -1, 0, -1, 8, 6, -1, 7, 9, -1, 1, 16, 3, -1, 12, 29, 0, 0, 4, -1, 0, 4, 0, -1, 28, -1, 10, 1, 0, 1, -1, -1, 0, 16, -1, 1, 0, -1, 20, 0, 3, 1, 15, 1, 17, 22, -1, 10, -1, 0, -1, 12, -1, 20, 6, 0, -1, 7, 19, -1, 5, 4, 0, -1, -1, -1, 0, -1, -1, 21, -1, -1, 1, 1, -1, -1, 4, -1, -1, 0, 14, 0, 30, -1, 17, -1, 6, 0, 23, 7, -1, -1, 3, 4, 0, 0, 11, 5, -1, 21, 0, -1, 9, -1, 0, -1, -1, 1, 4, -1, -1, 9, 0, 25, 0, 8, 2, 1, 3, 19, 0, 24, -1, -1, 4, 0, 1, 2, 23, 31, 18, 2, -1, 7, -1, 17, -1, 15, -1, 0, 1, 5, 7, -1, 4, 0, -1, -1, -1, -1, 7, -1, -1, 4, -1, -1, 4, -1, 21, -1, 25, -1, 10, 1, -1, -1, 0, -1, 14, 0, -1, 14, 1, 1, 12, 29, 0, 0, 0, -1, 0, 18, 0, 7, 24, 9, -1, 6, 0, 1, -1, -1, 8, -1, 1, 14, 31, -1, 0, 25, 24, 1, 21, -1, -1, -1, 8, -1, 11, 3, 3, -1, -1, -1, -1, -1, -1, 30, 0, 10, 12, 6, -1, 2, -1, 15, 29, 0, 1, 10, 0, 11, -1, 0, 2, 10, -1, 0, 0, 2, 1, 9, 1, 0, 0, 14, -1, -1, 4, 4, -1, -1, -1, -1, 6, 5, 0, -1, -1, 3, -1, -1, 3, 15, 0, -1, 0, -1, -1, -1, 4, 20, -1, -1, 1, -1, 9, -1, -1, -1, -1, 21, 25, 9, 0, 13, -1, 10, -1, 7, -1, -1, 13, 7, 4, 4, -1, -1, 7, -1, -1, -1, 29, -1, 10, -1, 4, 6, -1, -1, -1, -1, -1, 0, 8, 11, 8, -1, -1, -1, -1, 0, 5, 1, -1, -1, -1, 0, -1, 3, -1, 0, 7, 0, 7, -1, -1, 5, 2, 1, -1, -1, -1, -1, 23, 27, 2, -1, -1, -1, 4, -1, 7, 0, 0, 0, -1, 0, 3, -1, -1, -1, 4, 4, 9, -1, 11, -1, 0, -1, -1, 11, -1, 0, -1, -1, 7, 13, 19, 8, 1, 4, 23, 24, 0, 2, 20, -1, 9, -1, 12, 2, -1, -1, 8, 0, 2, 13, -1, 0, -1, -1, 12, 2, 1, -1, -1, 11, 9, 25, -1, -1, 5, 1, -1, 0, 6, 19, 4, 5, 0, 0, 6, -1, 0, 26, -1, 2, -1, 0, 31, -1, 0, 0, 12, 16, -1, -1, 1, -1, 9, 3, -1, 0, 0, -1, -1, -1, -1, -1, 5, 1, 3, 16, -1, 25, -1, 0, 11, -1, -1, -1, 8, -1, 2, 3, 7, 0, -1, 5, 2, 16, 4, -1, -1, 0, 0, -1, -1, 10, 6, 20, 11, -1, 2, 0, 13, -1, 21, -1, 20, 0, 2, 4, 0, 3, 6, 0, 8, 0, 5, 5, 14, 5, -1, 0, 5, -1, 25, -1, 5, -1, -1, 9, 0, -1, -1, 2, -1, 17, -1, 7, 2, 6, -1, -1, 6, -1, 0, -1, 2, 1, -1, 1, 3, -1, 6, 22, -1, -1, -1, 2, 4, 3, -1, 0, -1, 4, 9, 2, 7, -1, 9, -1, 0, -1, -1, -1, -1, 18, 4, -1, 1, 0, -1, 1, -1, 29, 12, -1, 11, -1, -1, 14, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 7, 12, -1, -1, 14, -1, 2, -1, 1, -1, -1, 19, 22, 13, 28, 1, 1, -1, 0, -1, -1, 16, -1, 23, -1, -1, 10, 0, 0, 12, 25, -1, 10, 1, 7, 0, -1, -1, 16, 26, -1, -1, 0, 14, -1, -1, -1, 29, 0, 16, 7, 2, 2, -1, -1, 0, -1, 0, 2, -1, 26, 2, 7, -1, -1, 12, -1, 0, 0, 0, -1, -1, 0, 5, -1, -1, -1, 5, 14, 11, -1, -1, -1, 15, -1, -1, -1, 0, 3, 14, -1, 0, -1, -1, 6, 0, -1, 5, -1, -1, 0, 28, 6, 12, -1, -1, 0, 4, 0, 0, -1, 2, 0, -1, 6, -1, 3, 3, 0, -1, 20, 13, 16, 6, -1, -1, -1, 0, 14, -1, 0, -1, -1, -1, 0, -1, 6, 6, 31, -1, -1, 4, 1, 2, -1, 6, 1, 16, -1, -1, -1, -1, -1, -1, 1, 3, -1, 10, 8, -1, 22, 13, 15, 14, 3, -1, 0, 1, 0, 4, 0, -1, -1, 3, 16, 0, -1, -1, -1, 23, -1, 15, -1, 11, 13, 0, 0, 9, 2, -1, 10, 10, 1, 8, 0, 25, 0, 5, 11, 12, 30, -1, 13, 0, -1, 1, 14, 0, -1, 12, 0, -1, 0, 1, 15, -1, 3, 2, -1, 24, 6, -1, -1, 1, 14, 0, 13, -1, 9, 0, 31, -1, 3, 20, 2, -1, 28, 10, -1, -1, 8, -1, 7, 2, 15, 0, 0, -1, 18, 1, 17, 1, 6, -1, 7, -1, 27, -1, 0, 11, -1, 0, -1, 2, 3, -1, 2, 1, 2, 17, -1, 9, -1, -1, -1, 23, -1, 7, -1, 0, 27, -1, 1, -1, 8, 12, 0, 0, -1, -1, 7, 1, 0, -1, -1, 0, 0, -1, 6, 26, -1, -1, 0, 9, -1, 1, 0, 1, -1, -1, 15, -1, 0, -1, -1, 2, 2, 0, -1, -1, -1, 7, -1, -1, 2, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1, 1, 0, 5, -1, -1, -1, 4, 4, -1, -1, -1, -1, -1, 27, 25, 0, 26, -1, 4, 4, 0, 1, 11, -1, -1, 18, 12, -1, 11, 6, 5, 9, 2, 3, 15, -1, -1, 2, 17, -1, -1, 1, 0, 0, 9, -1, 13, 4, 20, 11, -1, -1, -1, 5, 12, 0, 4, -1, -1, 0, 0, 7, 0, -1, -1, -1, 28, 7, 1, -1, -1, -1, 5, 14, 7, 3, -1, -1, -1, 7, -1, -1, -1, 7, 0, -1, 0, -1, 1, 0, 5, -1, -1, 10, -1, 18, 8, 0, -1, 2, 8, -1, 4, 7, 17, -1, -1, -1, 20, 2, -1, -1, 2, -1, -1, -1, 6, -1, 0, -1, 26, -1, 26, -1, 12, -1, 8, 0, 0, -1, -1, -1, -1, -1, -1, 0, 8, 2, -1, -1, -1, 22, -1, -1, -1, 5, 0, 19, 5, -1, -1, 0, 0, -1, 6, 0, 4, 0, 31, -1, 9, 8, 1, 14, -1, -1, 9, 10, 27, 26, -1, 0, 17, 1, 11, 3, 1, 27, 14, 6, -1, 0, -1, -1, -1, -1, 0, -1, 0, 11, -1, -1, 15, 7, -1, -1, -1, 27, -1, -1, 5, 3, -1, -1, 1, -1, -1, -1, 0, -1, -1, 17, 7, -1, 9, 0, -1, 4, -1, 0, 10, 13, 3, 0, 0, 6, 0, -1, 18, 0, 1, 0, 0, 10, 6, 13, -1, 9, 2, -1, 0, 11, -1, 25, 19, 12, 0, -1, -1, 18, 19, 3, 6, -1, 13, -1, -1, 17, 4, -1, -1, -1, 3, 0, -1, -1, -1, -1, -1, 0, 6, 22, -1, -1, -1, 24, 0, 16, 9, -1, 25, 5, -1, -1, 17, 9, 0, 2, 2, -1, -1, -1, 0, 10, -1, -1, 14, 8, 10, -1, 0, 8, 4, 1, 12, 9, 5, 15, 3, -1, 7, 0, 4, 4, -1, 19, 8, -1, 8, -1, 0, -1, -1, 0, 8, -1, 31, -1, 30, 1, 5, -1, -1, 20, 1, -1, 11, -1, -1, -1, 0, 17, -1, -1, -1, -1, 4, 13, 9, -1, 5, 23, 1, -1, 7, 4, -1, 1, -1, -1, -1, 21, -1, 27, 1, 7, -1, -1, 0, -1, 3, -1, -1, 7, 9, 5, 6, -1, -1, -1, 21, 4, 4, 12, 23, 3, -1, -1, 3, 11, -1, -1, 9, -1, -1, 9, 6, 5, 15, 0, 9, -1, -1, 19, 27, -1, -1, -1, -1, -1, 2, -1, 9, 0, 1, -1, -1, -1, 14, 1, 5, 0, 30, 3, 10, 31, -1, 0, 9, 0, -1, 20, 1, 4, 2, 4, 0, 0, 6, 0, -1, 4, 0, 1, -1, 3, -1, 1, 2, 1, 22, 20, -1, 3, 2, -1, -1, 0, -1, 14, 5, -1, 3, 1, -1, 8, -1, 1, -1, 0, 6, 8, 15, 3, -1, 7, 12, 13, -1, -1, -1, -1, 11, -1, 0, 13, 0, 28, -1, 2, 0, 19, -1, 8, -1, 1, 25, -1, -1, 8, 3, 27, 1, 2, -1, 15, -1, 0, 0, 0, -1, -1, -1, -1, 2, -1, 13, 5, 0, 22, 4, 0, -1, 0, 9, -1, -1, -1, -1, 1, -1, 10, 2, 10, -1, 13, -1, 3, 5, -1, 11, -1, 8, 2, -1, -1, -1, 3, 5, 3, 3, 21, -1, 0, 2, -1, 23, 11, 3, 3, 7, 0, -1, -1, 0, 0, 0, 9, -1, -1, 2, -1, 10, 6, 18, 0, 1, 2, 0, 0, -1, 0, -1, 8, 5, 2, -1, -1, 27, -1, 1, -1, 8, 10, 4, 1, 17, 3, 1, -1, 8, -1, -1, -1, -1, 9, -1, -1, 6, 3, 9, -1, 2, -1, -1, 22, -1, -1, 6, 2, 1, 2, 5, 0, -1, 6, -1, 11, -1, 5, 5, -1, -1, 0, -1, -1, -1, -1, 2, -1, 22, -1, -1, 0, 0, 0, 26, -1, -1, 5, 12, -1, -1, -1, 0, 3, 2, 23, 12, -1, -1, 4, 0, 0, -1, -1, -1, -1, 0, -1, -1, -1, 3, 0, 0, 15, 10, 6, 17, -1, 9, -1, 5, -1, -1, 12, 5, 14, 2, -1, 0, -1, 5, -1, 5, -1, -1, 1, 3, 2, -1, -1, 4, -1, 10, 0, 7, 16, 18, 1, 1, 0, 3, 3, 12, 5, 0, -1, 14, 3, -1, -1, 17, 8, 0, -1, 10, 4, 2, -1, -1, 0, -1, 2, 0, 22, -1, 6, 13, 4, -1, -1, 5, 14, 10, 6, 3, 0, -1, 9, 10, 26, 3, 0, 22, 5, 7, -1, 6, -1, -1, -1, 2, -1, 4, 0, 8, 11, 22, -1, 5, 1, 0, 6, 2, 2, -1, -1, -1, 3, 2, 31, -1, 7, -1, -1, 2, 1, 0, 1, -1, -1, -1, 21, 4, -1, 9, -1, 19, -1, 20, 14, -1, 3, 0, 0, 0, 21, 1, -1, 6, -1, 10, -1, 12, -1, 4, 30, 6, -1, 0, 7, 8, 3, -1, -1, -1, 0, -1, -1, -1, 0, -1, 6, 17, -1, 12, -1, 2, 1, 11, -1, -1, -1, -1, -1, -1, -1, 0, 2, -1, 4, -1, -1, -1, -1, 12, 2, 1, 0, 6, 12, -1, -1, 17, 2, -1, 6, -1, -1, -1, 8, 0, 0, 11, -1, 14, -1, -1, -1, 7, 3, -1, -1, 31, 18, 0, 0, -1, 7, 0, -1, 0, 0, 18, 14, 6, 7, 30, -1, 14, -1, 7, 6, -1, -1, -1, -1, 0, 5, 9, 0, 0, -1, 12, -1, -1, 20, 0, -1, 4, 0, 4, 5, 3, 30, -1, -1, -1, 8, 13, 8, -1, 0, 2, -1, -1, -1, -1, -1, 1, 0, 15, 15, -1, 3, 14, 0, -1, 0, 2, -1, 2, 2, 0, 11, 6, 1, 5, -1, -1, 12, -1, 5, -1, -1, -1, -1, 1, -1, 30, 3, 1, -1, 12, 11, -1, 3, 0, -1, 8, -1, 6, -1, -1, 6, 10, 2, 13, -1, 2, 2, 10, 0, 10, 6, -1, -1, 13, -1, -1, 14, -1, -1, -1, -1, 2, 7, -1, 5, 16, 11, 20, 16, 5, -1, -1, 1, 2, 19, 0, 0, 0, 10, 16, -1, 0, -1, 9, 25, -1, 1, 13, 9, -1, 8, 0, -1, 7, 17, -1, 0, 7, -1, 8, 0, 8, 8, 10, 0, -1, 3, -1, 0, 13, 6, 0, 4, -1, 2, 0, -1, 20, 0, -1, 1, 1, 29, -1, -1, -1, 8, -1, -1, -1, -1, 0, 0, 1, 3, -1, 5, -1, 0, 7, -1, -1, 2, 0, 16, 26, 8, -1, 19, 30, 1, -1, -1, -1, 1, 1, 0, 19, 0, -1, 1, 0, -1, 6, 2, -1, 0, -1, 18, 5, 7, -1, 3, 6, -1, 3, 4, 27, 7, 0, -1, 0, 3, 4, 11, 13, -1, 7, 8, -1, 19, -1, -1, 6, -1, -1, 10, 8, 0, 22, -1, 16, -1, 12, -1, 0, -1, 26, 0, -1, -1, 2, -1, 7, 13, -1, 14, 9, 2, -1, -1, -1, -1, 7, 0, 14, 2, 12, -1, 6, 9, 0, -1, 2, 11, 2, -1, 0, -1, -1, -1, 0, 0, 9, -1, -1, -1, -1, 0, -1, 9, 6, 2, -1, 9, 1, 0, 25, 19, 8, 16, 0, 20, 0, -1, -1, -1, -1, 9, 3, 0, 3, -1, 0, 0, -1, 5, 14, -1, 2, -1, 6, 13, 11, -1, 0, 7, 1, 0, 15, -1, -1, 2, 2, 2, -1, -1, 3, -1, 0, 22, -1, -1, 0, -1, 26, 0, 7, 1, 3, 8, -1, 28, 0, 0, 0, 3, -1, 5, 0, 11, -1, -1, -1, 1, -1, 2, 13, 12, 10, 1, 19, 24, -1, 5, 5, -1, 0, -1, -1, 0, 0, -1, -1, 5, -1, 4, 2, 22, 25, -1, 0, -1, 29, 22, -1, 28, -1, 15, 3, 22, 1, 5, 5, -1, -1, 5, -1, 6, 5, 12, -1, 10, -1, 1, 27, -1, 20, 19, 5, 2, 19, 0, -1, 18, 3, 22, -1, -1, 1, 3, 0, -1, 15, -1, 0, -1, 0, -1, -1, 28, 29, -1, 24, -1, -1, 6, -1, -1, 0, 10, 7, 0, -1, 4, -1, 4, -1, 1, -1, 1, 1, 1, -1, 0, 2, 0, 5, 17, 7, 3, 20, -1, -1, -1, 8, -1, 2, 1, 4, 1, 13, -1, 9, 11, -1, 5, -1, -1, 30, 28, 4, 0, 10, -1, 0, 3, 6, -1, -1, 0, 8, 0, -1, 2, -1, 25, 24, 0, -1, -1, 0, 20, 28, -1, -1, -1, 0, -1, 8, -1, -1, 6, -1, -1, 8, -1, 9, -1, 2, 2, 12, -1, -1, 4, -1, -1, 31, 4, -1, -1, -1, -1, 13, 0, 2, -1, 0, 12, 1, 2, -1, 17, -1, 0, 30, 20, 9, 5, 25, 0, 2, 0, 6, 6, -1, 5, 6, 0, 2, -1, 2, 29, 5, -1, 11, -1, -1, -1, 6, -1, 27, -1, -1, -1, -1, 5, -1, 20, 1, -1, -1, 3, 8, -1, 4, 0, -1, 16, 19, -1, 2, -1, 1, -1, 13, -1, -1, 2, -1, -1, -1, -1, 0, 0, 7, 0, 5, 18, 4, -1, 3, 7, 2, 5, -1, 5, 20, -1, -1, -1, 6, -1, 6, 6, 11, 17, 7, 3, -1, -1, -1, -1, -1, -1, 31, 7, -1, -1, 0, 27, -1, -1, 2, -1, -1, 25, 2, 0, -1, 0, 0, 11, -1, 13, -1, -1, 26, -1, -1, 5, -1, -1, 0, 24, -1, 24, 17, 0, 2, 0, -1, 15, 2, -1, 0, 7, -1, 13, -1, 1, -1, 7, 3, 22, 17, 25, 8, -1, 20, -1, 0, 13, -1, -1, -1, 0, -1, 0, 4, 4, 0, -1, 2, -1, -1, 0, -1, -1, 4, 1, 15, 5, 0, -1, 25, 0, 6, -1, 5, -1, 5, -1, 6, 0, -1, -1, 1, 3, -1, -1, -1, 0, 12, 6, 7, -1, -1, -1, -1, 1, 11, -1, 0, 0, -1, -1, -1, -1, -1, 23, -1, -1, 26, 7, 0, 5, -1, 0, 21, -1, -1, 11, 0, -1, -1, 2, -1, 13, 4, -1, 20, -1, -1, -1, 6, 1, -1, -1, -1, -1, 6, 0, 14, 0, 0, 3, -1, 9, 5, -1, 0, 14, -1, 0, 9, 20, -1, 6, -1, 0, -1, -1, 6, 19, 24, 6, 0, -1, -1, -1, 1, 3, 0, 0, 13, -1, 10, 0, 1, 8, 1, -1, 3, -1, 4, -1, -1, -1, 31, -1, -1, 7, -1, 12, -1, -1, 27, 0, 21, 0, -1, 14, -1, -1, 8, 0, -1, 2, -1, 27, 4, -1, -1, 8, 0, 11, 12, 2, -1, -1, 12, 0, 0, 3, -1, 0, 28, -1, 21, 0, -1, 7, -1, 18, 10, 28, 1, -1, -1, -1, -1, 20, -1, 4, 8, -1, -1, 11, 12, -1, 0, -1, 1, 3, 3, -1, 8, -1, 19, -1, 9, -1, 1, -1, 3, -1, 25, 17, -1, 4, -1, 11, -1, -1, 19, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 12, 1, -1, -1, 0, 3, -1, -1, 5, 1, -1, 2, 9, -1, 0, -1, -1, -1, 22, 30, 2, 13, -1, -1, -1, 23, 13, 27, 15, 0, 19, 0, 2, 2, -1, 1, -1, 1, -1, 3, 28, 0, -1, -1, -1, -1, 9, -1, 5, 4, 0, 2, 9, -1, 0, 8, 3, 11, -1, 14, 0, 2, 1, 5, 5, 10, 4, 0, 7, -1, 0, -1, -1, -1, 19, -1, 0, -1, -1, 20, 11, -1, 16, 4, 0, 0, 11, -1, 4, 0, 0, 0, -1, 6, 21, -1, 0, 0, 16, 27, 8, 6, 0, -1, -1, 7, -1, -1, 15, -1, 2, -1, -1, 1, 0, 6, 8, -1, 8, 26, -1, 0, 0, 7, -1, 0, -1, 2, 5, -1, 9, -1, 26, 13, 3, 26, 0, -1, 1, 0, 4, -1, 2, 10, 16, 17, 6, -1, 1, -1, 21, 10, -1, -1, -1, 2, 8, 0, -1, -1, 3, -1, 12, 0, 0, 24, 7, 15, -1, -1, 0, 0, 7, 5, -1, 23, -1, -1, -1, -1, 0, -1, 19, 8, 4, 0, -1, -1, -1, -1, 3, -1, 12, 7, 5, 0, -1, -1, -1, 3, 7, -1, -1, -1, 1, 18, 3, -1, 23, -1, 9, 11, 0, -1, 2, 0, 8, -1, 8, 0, -1, 10, 4, -1, 1, -1, 0, 0, -1, -1, 23, 5, -1, -1, -1, 13, 1, 0, -1, 5, 4, -1, -1, 0, 2, -1, 4, 6, -1, 8, 0, -1, -1, -1, -1, 30, 3, 20, 15, -1, 26, 1, 1, -1, 9, 8, 13, 7, 10, 5, -1, 5, -1, -1, 7, 2, 14, -1, 1, 0, 6, 1, -1, -1, -1, 18, -1, 16, 5, -1, 6, 4, 20, 28, 1, 1, -1, -1, -1, 0, 12, 7, -1, -1, 1, 12, 0, 6, 1, 22, 0, -1, 3, -1, -1, -1, 0, 18, 3, 6, 6, -1, 12, -1, 10, -1, -1, 0, 10, -1, 5, 8, 7, -1, 0, 17, -1, 1, 0, 10, -1, -1, -1, 2, 0, -1, 3, 22, -1, 12, -1, 27, 0, 1, -1, 4, 0, 0, 30, 16, -1, 7, 0, -1, 6, -1, -1, -1, 8, 1, 12, 0, 13, 9, 8, 0, 0, 5, -1, 5, -1, -1, 0, 10, -1, -1, 0, -1, -1, 2, -1, -1, -1, 7, -1, -1, 0, -1, -1, 6, 12, 13, -1, -1, -1, 21, 4, 3, -1, -1, 11, 0, 18, -1, -1, 1, -1, -1, 11, 4, -1, 10, 2, 26, -1, 2, 0, 14, -1, 2, 0, 12, 1, -1, 15, 0, 2, 5, -1, -1, 30, 8, 1, 3, -1, 4, 0, -1, 20, 1, 16, 2, -1, 7, 0, 9, 0, 5, -1, 0, 4, 2, 24, 14, -1, 2, -1, -1, 30, 12, 4, 5, -1, 7, 3, -1, 5, 23, -1, -1, 7, -1, 6, -1, 9, 0, -1, 16, -1, -1, 6, 23, 18, 0, 0, -1, 15, -1, 7, 7, -1, -1, 2, 1, 0, 7, 15, -1, 12, -1, 4, -1, 11, 0, -1, 0, 0, 3, 1, 0, -1, 23, -1, -1, -1, 9, -1, 1, 1, 12, 15, -1, 30, 0, 0, -1, -1, 1, 1, -1, 1, 4, 12, 12, 3, 9, 12, -1, -1, 0, -1, -1, -1, 2, 2, 0, 25, 11, -1, 0, -1, 6, 21, 10, -1, 16, 16, -1, 7, -1, 23, 23, 0, -1, 1, 4, -1, 13, 8, -1, -1, -1, -1, 14, -1, 2, -1, 0, -1, 0, 0, 0, 1, 22, -1, 16, 3, 2, 0, -1, 19, -1, -1, -1, -1, -1, 1, 3, -1, -1, 1, 14, 0, -1, 2, 10, 0, 19, 8, 15, 3, -1, 3, -1, -1, 20, 11, 2, -1, -1, 0, 31, 3, -1, 4, 16, -1, 3, -1, 8, 17, -1, 3, 3, -1, -1, -1, 9, 1, 15, 0, 13, 0, 1, -1, -1, -1, 1, 7, 2, 3, 0, -1, 0, -1, -1, 5, -1, 6, -1, 4, 29, 14, 0, 1, 1, 0, 0, -1, 23, 0, -1, -1, -1, 3, 25, 0, 6, -1, -1, 18, 8, 1, -1, 20, 3, 0, 1, -1, -1, 12, 5, -1, 0, -1, 0, 0, 5, 23, 10, 1, -1, -1, 10, 2, -1, 19, 1, 9, 0, -1, -1, 26, 25, 4, 11, 8, -1, -1, 2, -1, -1, 23, 10, 0, 2, -1, 4, 3, 0, 9, -1, -1, 0, 1, 19, 1, 11, 4, -1, -1, 1, 24, -1, 27, 5, -1, -1, -1, -1, 11, -1, -1, -1, -1, -1, -1, 7, 11, 4, 1, 7, 26, 5, -1, 1, 5, 0, 0, 3, -1, 0, 1, 12, 7, -1, 3, -1, 1, 0, -1, 8, 12, 4, 23, 6, -1, -1, -1, -1, -1, 25, 2, -1, -1, 4, 2, -1, 24, 2, 2, 6, 8, 18, 0, -1, -1, 0, -1, 3, 14, 0, 3, 18, -1, -1, -1, -1, 29, -1, 1, -1, -1, 3, -1, -1, 2, 19, 0, 26, -1, 4, 8, -1, 18, -1, 0, 8, 3, 0, 1, 5, -1, -1, -1, 2, 13, 0, 22, 0, 5, -1, 1, 2, -1, -1, -1, 0, -1, 4, -1, 0, 10, -1, 3, -1, -1, 1, 2, -1, 1, 16, -1, -1, -1, -1, 25, -1, -1, 3, 7, -1, -1, 7, 27, -1, -1, 18, 0, 3, -1, -1, -1, 4, -1, 23, 18, -1, 6, -1, -1, 1, -1, 1, -1, 21, 0, -1, -1, 8, 0, 6, 6, -1, 0, -1, 0, 2, -1, -1, 25, -1, 2, -1, 15, 0, 3, 13, 8, 7, 9, 0, -1, 10, -1, 0, 4, -1, -1, 2, 2, 6, -1, -1, 20, -1, -1, -1, 0, -1, -1, -1, -1, 8, 11, 7, 0, 0, 7, 15, 1, -1, 7, -1, 0, 1, 0, 0, 15, -1, 6, -1, -1, 2, 1, 2, -1, -1, -1, -1, 1, -1, 3, 2, 7, -1, -1, 3, -1, 1, -1, -1, -1, 0, -1, -1, 0, -1, 14, 18, -1, 0, 7, 7, -1, 9, -1, 0, 0, 1, 5, -1, -1, 28, 1, 2, 19, 13, 21, 6, -1, 29, 23, -1, 0, 4, -1, 1, -1, 0, -1, -1, 25, 30, 0, 24, -1, 26, 0, -1, 0, -1, 16, 0, 1, 24, -1, 4, -1, 8, -1, -1, -1, 29, 2, -1, -1, 1, -1, 2, -1, 9, 1, -1, -1, 13, 12, 29, -1, -1, 4, 7, 3, 13, 13, 1, 0, 8, -1, 0, 9, 6, 7, 5, 1, -1, -1, 2, 17, 3, 15, -1, 8, -1, 1, 19, 3, -1, 10, 15, -1, 0, 2, 8, 22, 29, 8, -1, -1, -1, -1, 25, 4, 6, 0, 11, -1, -1, -1, -1, 21, -1, 27, 4, 0, 22, 4, 0, -1, -1, 0, 26, 6, -1, -1, 5, 9, 1, 6, -1, 19, -1, 20, -1, 1, -1, -1, -1, 26, 25, 0, 15, 0, -1, -1, 0, -1, -1, 0, 3, 21, -1, -1, -1, 0, 0, 16, -1, -1, 16, 22, -1, 5, -1, -1, 0, -1, -1, -1, 15, 11, -1, 0, 0, 8, 3, 1, 4, 11, 9, 0, 4, 15, -1, -1, 26, 0, 0, -1, -1, -1, 24, 3, 0, -1, 1, 2, 11, 0, 6, 8, -1, 25, 1, 0, -1, 0, -1, -1, 2, 27, 6, 21, 17, -1, -1, 26, 2, 10, -1, -1, 27, 24, 1, -1, -1, 8, -1, 2, 24, 8, -1, 0, 0, -1, 0, -1, 0, 6, 21, -1, 14, 3, 0, 9, 4, 9, 12, 0, 1, -1, -1, -1, 7, -1, 2, 8, -1, -1, 4, 0, -1, -1, -1, 9, -1, 0, -1, 5, -1, -1, 29, 4, 18, -1, 9, 0, 31, 19, 1, 1, 15, 3, 5, -1, -1, 0, 6, 20, 4, 8, 4, 0, 2, 3, -1, -1, 2, 1, 31, 3, 0, 21, 9, 8, -1, -1, 7, 4, 16, 23, 0, -1, 1, 0, -1, -1, 0, -1, -1, 0, -1, -1, -1, 0, -1, 0, -1, 19, 18, 0, 0, 11, -1, 3, -1, 5, 27, 0, 9, -1, -1, 5, 0, 0, 0, 24, 3, 0, -1, -1, -1, -1, 8, -1, 5, 0, -1, 2, 4, 7, 0, -1, 0, -1, 2, -1, -1, 11, 17, -1, 1, 1, 1, 2, 12, 19, 2, 16, 4, 3, 14, 30, 0, 22, -1, -1, 6, 5, -1, -1, -1, -1, 9, 5, 3, -1, 7, -1, 0, 0, 2, 6, 0, -1, 0, 17, -1, -1, -1, 24, -1, -1, -1, 11, 8, -1, 5, -1, -1, -1, 1, 21, -1, 6, 3, 11, -1, 0, -1, -1, 15, -1, 10, -1, -1, -1, 7, 2, -1, 1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, 3, -1, 2, 8, 2, 2, 18, 12, 7, 10, 15, 19, -1, -1, 5, -1, -1, 5, 18, 0, 30, 1, 15, -1, 3, 0, 0, -1, 13, -1, 26, 0, 6, 3, -1, -1, 1, 0, 3, 8, 15, 1, -1, 14, 0, 1, 18, 4, 2, 27, -1, 9, -1, 0, -1, -1, -1, 10, 15, -1, -1, 0, -1, -1, 21, 2, 0, 2, 11, 14, -1, 12, 8, 0, 3, 3, 0, 6, 24, -1, 0, 0, 4, -1, 28, 29, 6, 1, 0, 0, -1, -1, 9, -1, 1, -1, 18, -1, -1, -1, 2, -1, 8, 4, -1, 2, -1, 18, 0, -1, 0, 23, -1, 23, 3, 0, -1, -1, -1, 12, 4, -1, 8, 1, -1, 2, -1, -1, 7, 4, 21, -1, -1, 0, 0, -1, 4, -1, 0, 6, 23, 2, 0, 9, -1, 7, 0, 8, 0, 3, 6, 2, 10, 0, 11, 15, 9, 0, 1, -1, 15, 14, 0, 0, 15, 0, 22, -1, -1, 18, 0, -1, -1, -1, 0, 5, 1, 6, 1, -1, 22, -1, 7, 27, 1, 27, 0, 4, 23, -1, -1, -1, 1, 2, -1, -1, 0, -1, -1, -1, -1, 1, 14, 0, 19, -1, 0, -1, 0, -1, 1, -1, -1, -1, 2, 8, 0, 15, 10, 2, -1, -1, -1, 25, 2, 9, 1, 3, -1, -1, 6, -1, -1, 16, 25, 2, 5, -1, 19, -1, -1, 0, 10, -1, 15, -1, 5, 1, 0, -1, 1, -1, 0, 7, 6, -1, 3, 12, -1, -1, -1, 0, 6, 0, 4, 1, 2, 2, 5, 11, 12, -1, 18, -1, 1, 13, 6, 16, 11, 21, 17, -1, 11, -1, -1, -1, 0, 2, 14, -1, 3, -1, -1, -1, -1, -1, 3, -1, 14, 4, -1, 19, 27, -1, 0, 0, -1, 0, 14, 8, -1, 7, 13, 0, -1, -1, 0, -1, 7, -1, -1, 7, 2, 17, 18, 0, -1, -1, 8, 20, -1, 10, 11, -1, -1, 2, 19, 20, 5, -1, -1, 0, -1, 4, -1, 10, 1, -1, 6, -1, 7, -1, 21, -1, -1, 5, 9, -1, -1, -1, -1, 9, -1, 2, 2, 3, 10, 29, 6, 1, 6, -1, 25, 0, -1, 15, -1, 25, 2, 7, -1, -1, -1, -1, 24, 11, -1, -1, 16, 3, 1, 7, -1, 18, -1, 6, -1, 0, -1, -1, 2, 16, 2, 4, 31, 2, 7, 0, 8, 1, 15, 0, -1, -1, -1, -1, -1, 8, 4, 6, -1, -1, 8, 6, 2, 0, 0, 17, 4, -1, 1, 2, -1, 0, -1, -1, 7, 0, -1, -1, 4, 0, -1, 2, 0, -1, 28, 2, -1, -1, -1, 21, 15, 17, -1, 0, 20, 27, 2, 9, 6, -1, 12, 22, 4, -1, 0, -1, -1, 5, 5, -1, -1, 0, 0, -1, 6, -1, -1, 0, 1, -1, -1, 3, -1, -1, -1, -1, 23, 0, 10, 0, 0, 11, 13, -1, -1, -1, 22, 10, -1, 21, 15, 4, -1, 0, -1, 4, 1, 2, 16, 8, 5, -1, 0, 0, 0, 2, 12, 7, 21, -1, 0, -1, -1, 7, 2, 0, -1, -1, 0, 0, -1, 0, 0, -1, 3, 1, 11, -1, 10, -1, -1, 11, 1, 11, 12, 6, 4, 0, 9, 1, 0, 10, -1, 0, -1, 17, -1, 4, 16, -1, 9, -1, 2, 7, -1, 19, -1, -1, -1, 16, 0, -1, 2, 1, -1, -1, 13, -1, 6, 28, 7, 11, 0, -1, 0, 12, -1, 16, 13, 6, -1, -1, 16, 0, 0, 3, -1, 1, -1, 7, -1, 2, 5, 14, 3, 10, -1, 8, 4, 9, -1, 2, 24, 18, 1, 5, -1, 4, 3, 27, 0, 4, -1, 0, -1, 4, 10, 3, 2, 1, 2, -1, -1, -1, 13, 2, 1, 7, -1, -1, 29, 23, 6, 13, -1, 0, -1, 6, 17, 7, 7, 16, -1, 8, 0, 14, -1, 8, 2, -1, 4, -1, 7, -1, -1, -1, 3, 20, -1, 0, 23, 0, 1, 22, 7, 8, 3, 0, -1, -1, 9, 6, -1, -1, 13, -1, 3, 1, 14, 8, -1, 14, -1, 5, 17, 9, 17, 2, 0, 0, 0, -1, 1, -1, -1, 0, 18, 2, 6, 3, 0, -1, 4, -1, 3, -1, 0, -1, 10, -1, 22, -1, -1, 28, 0, 0, 2, 18, 16, -1, -1, 2, 10, 0, 1, -1, 0, 5, 10, 13, 0, -1, 3, 3, -1, 18, 0, 4, 3, 11, 8, 14, -1, 14, 26, 31, -1, -1, 22, 0, 7, -1, 26, -1, -1, 8, 0, 13, 1, 0, -1, -1, -1, 4, 0, -1, -1, -1, -1, 3, 23, 2, 29, 0, -1, 10, -1, -1, 27, 0, 18, 3, -1, -1, 1, 0, 0, -1, 24, -1, -1, -1, 3, 24, 21, -1, 7, -1, 9, 1, 2, 10, -1, -1, 4, 2, -1, -1, 2, 8, 0, -1, 0, 9, 0, 0, -1, -1, 3, 1, -1, 15, -1, 9, 1, -1, -1, -1, -1, -1, 1, 17, 11, 24, -1, -1, -1, -1, 14, 5, 1, 4, -1, 28, 12, 17, 19, 6, 8, 0, 24, 3, -1, -1, 9, 7, 0, 0, 15, 3, 2, 29, 4, 8, -1, 10, -1, 10, 0, -1, 10, 20, -1, 7, 0, 5, -1, 3, 1, -1, 11, 14, 2, 4, 0, 6, -1, 27, 7, -1, 19, -1, 13, -1, 3, 0, -1, -1, 5, -1, -1, 0, 28, 2, 6, 6, 2, 0, 1, 2, 0, -1, 5, -1, 0, 2, -1, 3, 0, -1, 19, -1, -1, 14, 10, 0, 28, -1, -1, 23, 2, -1, 0, 1, 0, 0, -1, -1, 5, 11, 2, 0, 23, 2, -1, -1, 4, 12, 6, -1, -1, -1, 9, -1, -1, 0, 10, 2, 2, -1, -1, 0, 0, -1, -1, 4, 1, -1, 15, 0, -1, 16, 0, 25, 0, -1, -1, -1, 24, 2, 8, -1, -1, 11, -1, 0, 0, 0, 0, 9, 2, -1, 7, 3, -1, -1, 7, 1, 12, 1, -1, -1, -1, -1, 11, 10, 7, 26, 5, -1, 0, 8, -1, 1, 22, 9, -1, 17, 9, -1, 13, 5, 10, -1, 25, -1, 9, 31, 0, 13, -1, -1, 7, 22, -1, 14, 0, -1, 30, 2, -1, 1, -1, -1, -1, 11, 3, -1, -1, 20, 0, -1, 0, 11, -1, 2, -1, -1, 1, 8, -1, -1, 22, 1, 14, -1, 30, 1, 16, -1, 3, 0, -1, -1, 16, -1, 1, 15, -1, -1, 1, -1, 7, -1, 3, 7, 0, 24, 4, 1, 26, -1, 3, 5, 0, 28, 24, 31, 27, 6, 2, 0, -1, -1]
|