Spaces:
Sleeping
Sleeping
abisha_models
#8
by
abishathapamagar
- opened
- .gitattributes +0 -7
- .gitignore +2 -2
- Astra Project Description.md +0 -92
- Astra Project Setup Instructions.md +1 -41
- LICENSE +1 -1
- app.py +112 -288
- assests/__pycache__/metrics.cpython-312.pyc +0 -0
- assests/__pycache__/recalibration.cpython-312.pyc +0 -0
- assests/__pycache__/visualization.cpython-312.pyc +0 -0
- fileHandler/ER-successful-strategies.csv +0 -0
- fileHandler/ER-unsuccessful-strategies.csv +0 -0
- fileHandler/ME-successful-strategies.csv +0 -0
- fileHandler/ME-unsuccessful-strategies.csv +0 -0
- fileHandler/result.txt +7 -7
- fileHandler/roc_data.pkl +2 -2
- fileHandler/roc_data2.pkl +2 -2
- fileHandler/selected_rows.txt +0 -0
- fileHandler/tlabels_plabels.pkl +2 -2
- ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/fullData/train_label.txt → fullTest/test_label.txt +0 -0
- new_test_saved_finetuned_model.py +6 -63
- ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/first10/test.txt +0 -339
- ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/first10/test_info.txt +0 -0
- ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/first10/test_label.txt +0 -339
- ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/fullData/train.txt +0 -3
- ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/fullData/train_info.txt +0 -3
- ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/highGRschool10/test.txt +0 -0
- ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/highGRschool10/test_info.txt +2 -2
- ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/highGRschool10/test_label.txt +5645 -252
- ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/{overallTestData → lowGRschoolAll}/test_label.txt +0 -0
- ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/overallTestData/test.txt +0 -3
- ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/overallTestData/test_info.txt +0 -3
- ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/test.txt +0 -3
- ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/test_info.txt +0 -3
- ratio_proportion_change3_2223/sch_largest_100-coded/output/first10/bert_fine_tuned.model.first10%.wfaopttime.wttime.wttopttime.wttnoopttime.ep23 +0 -3
- ratio_proportion_change3_2223/sch_largest_100-coded/output/first10/bert_fine_tuned.model.first10%.wskills.ep24 +0 -3
- ratio_proportion_change3_2223/sch_largest_100-coded/output/first10/bert_fine_tuned.model.first10%.wskills.wfaopttime.wttime.wttopttime.wttnoopttime.ep40 +0 -3
- ratio_proportion_change3_2223/sch_largest_100-coded/output/highGRschool10/bert_fine_tuned.model.ep42 +0 -3
- ratio_proportion_change3_2223/sch_largest_100-coded/time_info/full_data_normalized_time.pkl +0 -3
- src/__pycache__/attention.cpython-312.pyc +0 -0
- src/__pycache__/bert.cpython-312.pyc +0 -0
- src/__pycache__/classifier_model.cpython-312.pyc +0 -0
- src/__pycache__/dataset.cpython-312.pyc +0 -0
- src/__pycache__/embedding.cpython-312.pyc +0 -0
- src/__pycache__/seq_model.cpython-312.pyc +0 -0
- src/__pycache__/transformer.cpython-312.pyc +0 -0
- src/__pycache__/transformer_component.cpython-312.pyc +0 -0
- src/__pycache__/vocab.cpython-312.pyc +0 -0
- src/dataset.py +301 -281
.gitattributes
CHANGED
@@ -50,10 +50,3 @@ ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/fullTest/test.txt
|
|
50 |
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/fullTest/highGRschool10_/test_info.txt filter=lfs diff=lfs merge=lfs -text
|
51 |
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/fullTest/highGRschool10_/test.txt filter=lfs diff=lfs merge=lfs -text
|
52 |
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/fullTest/test_BKT.txt filter=lfs diff=lfs merge=lfs -text
|
53 |
-
ratio_proportion_change3_2223/sch_largest_100-coded/output/first10/bert_fine_tuned.model.first10%.wfaopttime.wttime.wttopttime.wttnoopttime.ep23 filter=lfs diff=lfs merge=lfs -text
|
54 |
-
ratio_proportion_change3_2223/sch_largest_100-coded/output/first10/bert_fine_tuned.model.first10%.wskills.ep24 filter=lfs diff=lfs merge=lfs -text
|
55 |
-
ratio_proportion_change3_2223/sch_largest_100-coded/output/first10/bert_fine_tuned.model.first10%.wskills.wfaopttime.wttime.wttopttime.wttnoopttime.ep40 filter=lfs diff=lfs merge=lfs -text
|
56 |
-
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/overallTestData/test_info.txt filter=lfs diff=lfs merge=lfs -text
|
57 |
-
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/overallTestData/test.txt filter=lfs diff=lfs merge=lfs -text
|
58 |
-
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/fullData/train_info.txt filter=lfs diff=lfs merge=lfs -text
|
59 |
-
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/fullData/train.txt filter=lfs diff=lfs merge=lfs -text
|
|
|
50 |
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/fullTest/highGRschool10_/test_info.txt filter=lfs diff=lfs merge=lfs -text
|
51 |
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/fullTest/highGRschool10_/test.txt filter=lfs diff=lfs merge=lfs -text
|
52 |
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/fullTest/test_BKT.txt filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.gitignore
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
train_info.txt
|
2 |
train.txt
|
3 |
train_label.txt
|
4 |
-
ratio_proportion_change3_2223/sch_largest_100-coded/
|
5 |
-
|
|
|
1 |
train_info.txt
|
2 |
train.txt
|
3 |
train_label.txt
|
4 |
+
ratio_proportion_change3_2223/sch_largest_100-coded/logs/
|
5 |
+
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/
|
Astra Project Description.md
DELETED
@@ -1,92 +0,0 @@
|
|
1 |
-
# ASTRA (AI for STRategy Analysis)
|
2 |
-
|
3 |
-
[](https://opensource.org/licenses/MIT)
|
4 |
-
[](https://www.python.org/downloads/)
|
5 |
-
|
6 |
-
|
7 |
-
ASTRA is a collaborative research project between the University of Memphis and Carnegie Learning focused on leveraging AI to enhance our understanding of mathematical learning strategies.
|
8 |
-
|
9 |
-
## Project Overview
|
10 |
-
|
11 |
-
ASTRA utilizes a pre-trained model (based on a BERT-like architecture) to learn mathematics strategies from extensive data collected through Carnegie Learning's MATHia platform (formerly known as Cognitive Tutor). The data comes from hundreds of U.S. schools using this Intelligent Tutor as part of their core, blended math curriculum.
|
12 |
-
|
13 |
-
## Current Focus
|
14 |
-
|
15 |
-
The current demonstration focuses on:
|
16 |
-
- Domain: Ratio and Proportions
|
17 |
-
- Grade Level: 7th Grade
|
18 |
-
- Objective: Predicting strategies that lead to correct vs. incorrect solutions
|
19 |
-
|
20 |
-
## Available Models
|
21 |
-
|
22 |
-
ASTRA offers three fine-tuned models:
|
23 |
-
|
24 |
-
1. **ASTRA-FT-HGR**
|
25 |
-
- Fine-tuned with data from schools with high graduation rates
|
26 |
-
- Specialized for high-performing school environments
|
27 |
-
|
28 |
-
2. **ASTRA-FT-LGR**
|
29 |
-
- Fine-tuned with data from schools with low graduation rates
|
30 |
-
- Focused on understanding challenges in struggling schools
|
31 |
-
|
32 |
-
|
33 |
-
## Usage Instructions
|
34 |
-
|
35 |
-
1. **Model Selection**
|
36 |
-
- Choose one of the three fine-tuned models based on your analysis needs
|
37 |
-
- Each model offers unique insights into student learning strategies
|
38 |
-
|
39 |
-
2. **Data Scope Configuration**
|
40 |
-
- Select the percentage of schools to include in your analysis
|
41 |
-
- Note: Larger percentages may require longer processing times
|
42 |
-
|
43 |
-
3. **Results Analysis**
|
44 |
-
- Access the dashboard to view model results
|
45 |
-
- Results are segregated by school graduation rates (high vs. low)
|
46 |
-
- Analyze strategy predictions and their effectiveness
|
47 |
-
|
48 |
-
## Technical Details
|
49 |
-
|
50 |
-
The system is built on:
|
51 |
-
- A BERT-like architecture for the base model
|
52 |
-
- Fine-tuning using real-world student data from MATHia
|
53 |
-
- Specialized training sets based on school graduation rates
|
54 |
-
|
55 |
-
## Partners
|
56 |
-
|
57 |
-
- University of Memphis
|
58 |
-
- Carnegie Learning (MATHia Platform)
|
59 |
-
|
60 |
-
## Links
|
61 |
-
|
62 |
-
- [🤗 Hugging Face Space](https://huggingface.co/spaces/suryadev1/astra)
|
63 |
-
- [📄 Research Paper](https://drive.google.com/file/d/1lbEpg8Se1ugTtkjreD8eXIg7qrplhWan/view?pli=1)
|
64 |
-
- [🤗 Github: Astra demo](https://github.com/Syudu41/ASTRA---Gates-Project)
|
65 |
-
- [🤗 Project Page](https://sites.google.com/view/astra-research/home)
|
66 |
-
- [🤗 Path Analysis Tool](https://path-analysis.vercel.app/)
|
67 |
-
- [🤗 Github: Path Analysis Tool](https://github.com/CarnegieLearningWeb/PathAnalysis)
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
## Note
|
72 |
-
|
73 |
-
This is a demonstration version of the ASTRA system. The models are trained on specific mathematical domains and grade levels, with a current focus on ratio and proportions in 7th-grade mathematics.
|
74 |
-
|
75 |
-
## 📦 Dependencies
|
76 |
-
|
77 |
-
- Python 3.7+
|
78 |
-
- Required machine learning libraries
|
79 |
-
- Access to Hugging Face platform
|
80 |
-
|
81 |
-
## ⚡ Quick Start
|
82 |
-
|
83 |
-
1. Visit `suryadev1/astra` on Hugging Face
|
84 |
-
2. Select your desired analysis type
|
85 |
-
3. Adjust parameters as needed
|
86 |
-
4. Generate instant visualizations
|
87 |
-
|
88 |
-
|
89 |
-
---
|
90 |
-
|
91 |
-
Made with ❤️ by the ASTRA team
|
92 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Astra Project Setup Instructions.md
CHANGED
@@ -112,45 +112,5 @@ python new_test_saved_finetuned_model.py \
|
|
112 |
-b 1000
|
113 |
```
|
114 |
Replace `<finetune_task>` with the actual fine-tuning task value.
|
115 |
-
### Arguments
|
116 |
|
117 |
-
|
118 |
-
- Description: The folder/workspace name where the project, dataset, and model outputs are organized.
|
119 |
-
- Example: `"ratio_proportion_change3_2223/sch_largest_100-coded"`
|
120 |
-
|
121 |
-
**`-finetune_task`**
|
122 |
-
- Description: Specifies which fine-tuning strategy was applied to the model.
|
123 |
-
- Options:
|
124 |
-
- **ASTRA-FT-HGR** → Fine-tuned with 10% data from schools that have a **High Graduation Rate (HGR)**.
|
125 |
-
- **ASTRA-FT-FIRST10-WSKILLS**
|
126 |
-
- Checkpoint: `first10/bert_fine_tuned.model.first10%.wskills.ep24`
|
127 |
-
- Description: Fine-tuned with 10% of initial problems from both **HGR + LGR schools**, with **Prior Skills encoded** using **Bayesian Knowledge Tracing (BKT)**.
|
128 |
-
|
129 |
-
- **ASTRA-FT-FIRST10-WTIME**
|
130 |
-
- Checkpoint: `first10/bert_fine_tuned.model.first10%.wfaopttime.wttime.wttopttime.wttnoopttime.ep23`
|
131 |
-
- Description: Fine-tuned with 10% of initial problems from both **HGR + LGR schools**, using **temporal features** measuring student engagement in MATHia.
|
132 |
-
|
133 |
-
- **ASTRA-FT-FIRST10-WSKILLS_WTIME**
|
134 |
-
- Checkpoint: `first10/bert_fine_tuned.model.first10%.wskills.wfaopttime.wttime.wttopttime.wttnoopttime.ep40`
|
135 |
-
- Description: Fine-tuned with 10% of initial problems from both **HGR + LGR schools**, combining **Prior Skills (BKT) + temporal features**.
|
136 |
-
**`-test_dataset_path`**
|
137 |
-
- Description: Path to the test dataset file that you want to use for evaluation.
|
138 |
-
- Example: `"../../../../fileHandler/selected_rows.txt"`
|
139 |
-
|
140 |
-
**`-finetuned_bert_classifier_checkpoint`**
|
141 |
-
- Description: The path to the saved fine-tuned BERT model checkpoint (specific `.model.epXX` file).
|
142 |
-
- Example:
|
143 |
-
`"ratio_proportion_change3_2223/sch_largest_100-coded/output/highGRschool10/bert_fine_tuned.model.ep42"`
|
144 |
-
- Note: `ep42` means the checkpoint from **epoch 42** during training.
|
145 |
-
|
146 |
-
**`-e`**
|
147 |
-
- Description: Number of epochs to run during testing (or evaluation).
|
148 |
-
- Example: `-e 1` → run evaluation once.
|
149 |
-
|
150 |
-
**`-b`**
|
151 |
-
- Description: Batch size for testing — determines how many test samples are processed together in each forward pass.
|
152 |
-
- Example: `-b 1000` → each batch will contain **1000 examples**.
|
153 |
-
|
154 |
-
---
|
155 |
-
|
156 |
-
✅ Your Astra project should now be fully set up and ready to use!
|
|
|
112 |
-b 1000
|
113 |
```
|
114 |
Replace `<finetune_task>` with the actual fine-tuning task value.
|
|
|
115 |
|
116 |
+
Your Astra project should now be fully set up and ready to use!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LICENSE
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
MIT License
|
2 |
|
3 |
-
Copyright (c) 2025
|
4 |
|
5 |
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6 |
of this software and associated documentation files (the "Software"), to deal
|
|
|
1 |
MIT License
|
2 |
|
3 |
+
Copyright (c) 2025 Sudarshan Balaji
|
4 |
|
5 |
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6 |
of this software and associated documentation files (the "Software"), to deal
|
app.py
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
import gradio as gr
|
2 |
-
from huggingface_hub import hf_hub_download
|
3 |
import pickle
|
4 |
from gradio import Progress
|
5 |
import numpy as np
|
@@ -12,40 +12,9 @@ import plotly.graph_objects as go
|
|
12 |
from sklearn.metrics import roc_auc_score
|
13 |
from matplotlib.figure import Figure
|
14 |
import csv
|
15 |
-
import os
|
16 |
-
from huggingface_hub import login
|
17 |
# import os
|
18 |
# Define the function to process the input file and model selection
|
19 |
|
20 |
-
api = HfApi(token=os.getenv("HF_TOKEN"))
|
21 |
-
|
22 |
-
DATASET_REPO = "suryadev1/generated-csvs"
|
23 |
-
def delete_files():
|
24 |
-
repo_files = api.list_repo_files(repo_id=DATASET_REPO, repo_type="dataset")
|
25 |
-
|
26 |
-
# delete all CSV files
|
27 |
-
for f in repo_files:
|
28 |
-
if f.endswith(".csv"):
|
29 |
-
try:
|
30 |
-
api.delete_file(
|
31 |
-
path_in_repo=f,
|
32 |
-
repo_id=DATASET_REPO,
|
33 |
-
repo_type="dataset"
|
34 |
-
)
|
35 |
-
print(f"Deleted old file: {f}")
|
36 |
-
except Exception as e:
|
37 |
-
print(f"Could not delete {f}: {e}")
|
38 |
-
# upload files to the dataset
|
39 |
-
def upload_to_dataset(filepath):
|
40 |
-
|
41 |
-
api.upload_file(
|
42 |
-
path_or_fileobj=filepath,
|
43 |
-
path_in_repo=os.path.basename(filepath),
|
44 |
-
repo_id=DATASET_REPO,
|
45 |
-
repo_type="dataset"
|
46 |
-
)
|
47 |
-
|
48 |
-
|
49 |
def process_file(model_name,inc_slider,progress=Progress(track_tqdm=True)):
|
50 |
# progress = gr.Progress(track_tqdm=True)
|
51 |
|
@@ -60,43 +29,25 @@ def process_file(model_name,inc_slider,progress=Progress(track_tqdm=True)):
|
|
60 |
# shutil.copyfile(label.name, saved_test_label)
|
61 |
# shutil.copyfile(info.name, saved_train_info)
|
62 |
parent_location="ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/"
|
63 |
-
test_info_location=parent_location+"
|
64 |
-
test_location=parent_location+"
|
65 |
-
label_location=parent_location+"
|
66 |
-
# "ASTRA-FT-HGR-RANDOM10", "ASTRA-FT-FIRST10-WSKILLS", "ASTRA-FT-FIRST10-WTIME", "ASTRA-FT-FIRST10-WSKILLS_WTIME"
|
67 |
-
checkpoint = "ratio_proportion_change3_2223/sch_largest_100-coded/output/"
|
68 |
if(model_name=="ASTRA-FT-HGR"):
|
69 |
finetune_task="highGRschool10"
|
70 |
-
|
71 |
-
|
72 |
elif(model_name== "ASTRA-FT-LGR" ):
|
73 |
finetune_task="lowGRschoolAll"
|
74 |
-
|
|
|
75 |
elif(model_name=="ASTRA-FT-FULL"):
|
|
|
|
|
76 |
finetune_task="fullTest"
|
77 |
-
model_task="ASTRA-FT-FULL"
|
78 |
-
elif(model_name in ["ASTRA-FT-Skills", "ASTRA-FT-Temporal", "ASTRA-FT-Unified"]):
|
79 |
-
finetune_task="first10"
|
80 |
-
if model_name == "ASTRA-FT-Skills":
|
81 |
-
checkpoint += "first10/bert_fine_tuned.model.first10%.wskills.ep24"
|
82 |
-
model_task="ASTRA-FT-FIRST10-WSKILLS"
|
83 |
-
elif model_name == "ASTRA-FT-Temporal":
|
84 |
-
checkpoint += "first10/bert_fine_tuned.model.first10%.wfaopttime.wttime.wttopttime.wttnoopttime.ep23"
|
85 |
-
model_task="ASTRA-FT-FIRST10-WTIME"
|
86 |
-
elif model_name == "ASTRA-FT-Unified":
|
87 |
-
checkpoint += "first10/bert_fine_tuned.model.first10%.wskills.wfaopttime.wttime.wttopttime.wttnoopttime.ep40"
|
88 |
-
model_task="ASTRA-FT-FIRST10-WSKILLS_WTIME"
|
89 |
else:
|
90 |
finetune_task=None
|
91 |
# Load the test_info file and the graduation rate file
|
92 |
test_info = pd.read_csv(test_info_location, sep=',', header=None, engine='python')
|
93 |
-
def convert_etalon(x):
|
94 |
-
means_and_extremes = 1
|
95 |
-
if x.is_integer():
|
96 |
-
means_and_extremes = 0
|
97 |
-
return means_and_extremes
|
98 |
-
|
99 |
-
test_info[8] = test_info[7].apply(convert_etalon) # 7th column contains etalon of factor which decides the ER/ME problem type
|
100 |
grad_rate_data = pd.DataFrame(pd.read_pickle('assests/school_grduation_rate.pkl'),columns=['school_number','grad_rate']) # Load the grad_rate data
|
101 |
|
102 |
# Step 1: Extract unique school numbers from test_info
|
@@ -106,15 +57,15 @@ def process_file(model_name,inc_slider,progress=Progress(track_tqdm=True)):
|
|
106 |
schools = grad_rate_data[grad_rate_data['school_number'].isin(unique_schools)]
|
107 |
|
108 |
# Define a threshold for high and low graduation rates (adjust as needed)
|
109 |
-
grad_rate_threshold = 0.
|
110 |
|
111 |
# Step 4: Divide schools into high and low graduation rate groups
|
112 |
high_grad_schools = schools[schools['grad_rate'] >= grad_rate_threshold]['school_number'].unique()
|
113 |
low_grad_schools = schools[schools['grad_rate'] < grad_rate_threshold]['school_number'].unique()
|
114 |
|
115 |
# Step 5: Sample percentage of schools from each group
|
116 |
-
high_sample = pd.Series(high_grad_schools).sample(frac=inc_slider/100).tolist()
|
117 |
-
low_sample = pd.Series(low_grad_schools).sample(frac=inc_slider/100).tolist()
|
118 |
|
119 |
# Step 6: Combine the sampled schools
|
120 |
random_schools = high_sample + low_sample
|
@@ -162,19 +113,17 @@ def process_file(model_name,inc_slider,progress=Progress(track_tqdm=True)):
|
|
162 |
'high' if idx in high_indices else 'low' for idx in selected_rows_df2.index
|
163 |
]
|
164 |
# Group data by opt_task1 and opt_task2 based on test_info[6]
|
165 |
-
|
166 |
-
opt_task_groups = ['opt_task1' if test_info.loc[idx, 8] == 0 else 'opt_task2' for idx in selected_rows_df2.index]
|
167 |
progress(0.2, desc="Running fine-tuned models...")
|
168 |
print("finetuned task: ",finetune_task)
|
169 |
subprocess.run([
|
170 |
"python", "new_test_saved_finetuned_model.py",
|
171 |
"-workspace_name", "ratio_proportion_change3_2223/sch_largest_100-coded",
|
172 |
-
"-model_name", model_task,
|
173 |
"-finetune_task", finetune_task,
|
174 |
"-test_dataset_path","../../../../fileHandler/selected_rows.txt",
|
175 |
# "-test_label_path","../../../../train_label.txt",
|
176 |
-
"-finetuned_bert_classifier_checkpoint",
|
177 |
-
"-
|
178 |
"-e",str(1),
|
179 |
"-b",str(1000)
|
180 |
])
|
@@ -183,8 +132,6 @@ def process_file(model_name,inc_slider,progress=Progress(track_tqdm=True)):
|
|
183 |
# Load tlb and plb
|
184 |
with open("fileHandler/tlabels_plabels.pkl", "rb") as f:
|
185 |
tlb, plb = pickle.load(f)
|
186 |
-
print("t==p = 0: ", sum([t==p for t,p in zip(tlb, plb) if t==0]))
|
187 |
-
print("t==p = 1: ", sum([t==p for t,p in zip(tlb, plb) if t==1]))
|
188 |
|
189 |
# Define function to filter and write CSV
|
190 |
def process_and_write_csv(filtered_data, filename):
|
@@ -205,105 +152,45 @@ def process_file(model_name,inc_slider,progress=Progress(track_tqdm=True)):
|
|
205 |
|
206 |
row_num = 1
|
207 |
for _, row in filtered_data.iterrows():
|
208 |
-
|
209 |
-
|
210 |
-
# sch_NPHBD11809,17,stu_CRJBA61379,GRADUATED,ratio_proportion_change3-134,[strategygame],1,4.0,4.0,10,
|
211 |
-
# PercentChange-Attempt-1-0-OK-1667479255281 NumeratorQuantity1-Attempt-1-0-JIT-1667479268893 NumeratorQuantity1-Attempt-2-0-ERROR-1667479284199 NumeratorQuantity1-Attempt-3-0-OK-1667479294890 DenominatorQuantity1-Attempt-1-0-OK-1667479298749 NumeratorQuantity2-Attempt-1-0-OK-1667479301999 OptionalTask_1-Attempt-1-0-OK-1667479304886 DenominatorFactor-Attempt-1-0-OK-1667479314566 NumeratorFactor-Attempt-1-0-OK-1667479315579 EquationAnswer-Attempt-1-0-OK-1667479323750 FinalAnswerDirection-Attempt-1-0-OK-1667479333439 FinalAnswer-Attempt-1-0-OK-1667479338185,
|
212 |
-
# 1,
|
213 |
-
# 0 0.999767840033168 0 0 0.999996274310286 0 0.321529253998353 0.999722748307354 0.999840947031115,
|
214 |
-
# 0 -0.0002057730279919623 0 0 -3.302306839980673e-06 0 -0.41429892410820995 -0.00022392554103201068 -0.00012846367037400164,
|
215 |
-
# 0 0.999767840033168 0 0 0 0 0 0 0,
|
216 |
-
# 1667479255281 1667479294890 1667479298749 1667479301999 1667479304886 1667479314566 1667479315579 1667479323750 1667479333439 1667479338185,
|
217 |
-
# 0 39609 3859 3250 2887 9680 1013 8171 9689 4746,
|
218 |
-
# 2887 9680 1013 8171,0 39609 3859 3250 9689 4746,
|
219 |
-
# 14435,
|
220 |
-
# 82904
|
221 |
-
school, prob_solved, student_id, status, problem, prob_type, opt_type, _, _ = row[:9]
|
222 |
-
steps_data = row[10]
|
223 |
-
|
224 |
-
# if row_num == 1:
|
225 |
-
# print(row)
|
226 |
|
227 |
for step in steps_data.split('\t'):
|
228 |
step_parts = step.split('-')
|
229 |
-
|
230 |
step_name = step_parts[0]
|
231 |
-
action = step_parts[1]
|
232 |
-
attempt = step_parts[2]
|
233 |
-
|
234 |
-
outcome = step_parts[4]
|
235 |
-
curr_time = step_parts[5]
|
236 |
|
237 |
row_data = [
|
238 |
-
row_num, "", "", student_id, "",
|
239 |
-
|
240 |
-
|
241 |
-
school, "", "", "", "", "", status, ""
|
242 |
]
|
243 |
writer.writerow(row_data)
|
244 |
row_num += 1
|
245 |
|
246 |
print(f"CSV file '{filename}' created successfully.")
|
247 |
-
full_path = os.path.join("fileHandler", filename)
|
248 |
-
try:
|
249 |
-
upload_to_dataset(full_path)
|
250 |
-
except Exception as e:
|
251 |
-
print(f"Failed: Timeout or error occurred - {e}")
|
252 |
-
|
253 |
-
|
254 |
-
task_type_map = {0: "ER", 1: "ME"}
|
255 |
-
label_map = {0: "unsuccessful", 1: "successful"}
|
256 |
-
|
257 |
-
# -------------------------------
|
258 |
-
# 1. Where tlb == plb
|
259 |
-
# -------------------------------
|
260 |
-
# delete_files()
|
261 |
-
for label in [0, 1]:
|
262 |
-
# All strategies
|
263 |
-
matching_indices = [i for i in range(len(tlb)) if tlb[i] == plb[i] == label]
|
264 |
-
filtered_data = selected_test_info.iloc[matching_indices]
|
265 |
-
filename = f"allstrategies-match-{label_map[label]}.csv"
|
266 |
-
process_and_write_csv(filtered_data, filename)
|
267 |
-
|
268 |
-
# Per task type
|
269 |
-
for task_type in [0, 1]:
|
270 |
-
task_data = filtered_data[filtered_data[8] == task_type]
|
271 |
-
filename = f"{task_type_map[task_type]}-match-{label_map[label]}.csv"
|
272 |
-
process_and_write_csv(task_data, filename)
|
273 |
-
|
274 |
-
# -------------------------------
|
275 |
-
# 2. Where tlb only
|
276 |
-
# -------------------------------
|
277 |
-
for label in [0, 1]:
|
278 |
-
# All strategies
|
279 |
-
matching_indices = [i for i in range(len(tlb)) if tlb[i] == label]
|
280 |
-
filtered_data = selected_test_info.iloc[matching_indices]
|
281 |
-
filename = f"allstrategies-groundtruth-{label_map[label]}.csv"
|
282 |
-
process_and_write_csv(filtered_data, filename)
|
283 |
-
|
284 |
-
# Per task type
|
285 |
-
for task_type in [0, 1]:
|
286 |
-
task_data = filtered_data[filtered_data[8] == task_type]
|
287 |
-
filename = f"{task_type_map[task_type]}-groundtruth-{label_map[label]}.csv"
|
288 |
-
process_and_write_csv(task_data, filename)
|
289 |
-
|
290 |
-
# -------------------------------
|
291 |
-
# 3. All data by task type (no label filtering)
|
292 |
-
# -------------------------------
|
293 |
-
# ER
|
294 |
-
task_data = selected_test_info[selected_test_info[8] == 0]
|
295 |
-
filename = f"ER-all.csv"
|
296 |
-
process_and_write_csv(task_data, filename)
|
297 |
-
|
298 |
-
# ME
|
299 |
-
task_data = selected_test_info[selected_test_info[8] == 1]
|
300 |
-
filename = f"ME-all.csv"
|
301 |
-
process_and_write_csv(task_data, filename)
|
302 |
-
|
303 |
-
# All strategies
|
304 |
-
filename = "allstrategies-all.csv"
|
305 |
-
process_and_write_csv(selected_test_info, filename)
|
306 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
with open("fileHandler/roc_data2.pkl", 'rb') as file:
|
308 |
data = pickle.load(file)
|
309 |
t_label=data[0]
|
@@ -404,11 +291,12 @@ def process_file(model_name,inc_slider,progress=Progress(track_tqdm=True)):
|
|
404 |
data = file.readlines()
|
405 |
selected_data = [data[i] for i in indices if i < len(data)]
|
406 |
# Assuming test_info[7] is a list with ideal tasks for each instance
|
407 |
-
ideal_tasks = test_info[
|
|
|
408 |
# Initialize counters
|
409 |
task_counts = {
|
410 |
-
1: {"ER": 0, "ME": 0, "both": 0},
|
411 |
-
2: {"ER": 0, "ME": 0, "both": 0}
|
412 |
}
|
413 |
# To store task completion counts per row
|
414 |
# Analyze rows
|
@@ -456,7 +344,7 @@ def process_file(model_name,inc_slider,progress=Progress(track_tqdm=True)):
|
|
456 |
elif opt1_done and opt2_done:
|
457 |
task_counts[1]["both"] += 1
|
458 |
else:
|
459 |
-
|
460 |
elif ideal_task == 1:
|
461 |
if opt1_done and not opt2_done:
|
462 |
task_counts[2]["ER"] += 1
|
@@ -465,7 +353,7 @@ def process_file(model_name,inc_slider,progress=Progress(track_tqdm=True)):
|
|
465 |
elif opt1_done and opt2_done:
|
466 |
task_counts[2]["both"] += 1
|
467 |
else:
|
468 |
-
|
469 |
# Print a summary of task completions
|
470 |
# for summary in row_summary:
|
471 |
# print(f"\nRow {summary['row_index']}:")
|
@@ -609,8 +497,7 @@ def process_file(model_name,inc_slider,progress=Progress(track_tqdm=True)):
|
|
609 |
textinfo='percent+label',
|
610 |
textposition='auto',
|
611 |
marker=dict(colors=colors),
|
612 |
-
sort=False
|
613 |
-
hole=0.4
|
614 |
|
615 |
)])
|
616 |
|
@@ -648,8 +535,7 @@ def process_file(model_name,inc_slider,progress=Progress(track_tqdm=True)):
|
|
648 |
textinfo='percent+label',
|
649 |
textposition='auto',
|
650 |
marker=dict(colors=colors),
|
651 |
-
sort=False
|
652 |
-
hole=0.4
|
653 |
# pull=[0, 0.2, 0, 0] # for pulling part of pie chart out (depends on position)
|
654 |
|
655 |
)])
|
@@ -778,7 +664,8 @@ def process_file(model_name,inc_slider,progress=Progress(track_tqdm=True)):
|
|
778 |
---------------------------
|
779 |
Model: {model_name}
|
780 |
---------------------------\n
|
781 |
-
|
|
|
782 |
Total number of instances from HGR schools : {len(high_indices)}
|
783 |
Total number of instances from LGR schools: {len(low_indices)}
|
784 |
|
@@ -850,20 +737,18 @@ def process_file(model_name,inc_slider,progress=Progress(track_tqdm=True)):
|
|
850 |
|
851 |
|
852 |
# return text_output,text_output_sampled_auc,fig,fig_task1,fig_task2,fig_hist1,fig_hist2
|
853 |
-
return text_output,fig,fig_task1,fig_task2
|
854 |
# List of models for the dropdown menu
|
855 |
|
856 |
# models = ["ASTRA-FT-HGR", "ASTRA-FT-LGR", "ASTRA-FT-FULL"]
|
857 |
-
|
858 |
-
models = ["ASTRA-FT-HGR", "ASTRA-FT-Skills", "ASTRA-FT-Temporal", "ASTRA-FT-Unified"]
|
859 |
-
|
860 |
content = """
|
861 |
<h1 style="color: black;">A S T R A</h1>
|
862 |
<h2 style="color: black;">An AI Model for Analyzing Math Strategies</h2>
|
863 |
|
864 |
<h3 style="color: white; text-align: center">
|
865 |
<a href="https://drive.google.com/file/d/1lbEpg8Se1ugTtkjreD8eXIg7qrplhWan/view" style="color: gr.themes.colors.red; text-decoration: none;">Link To Paper</a> |
|
866 |
-
<a href="https://
|
867 |
<a href="https://drive.google.com/file/d/1wussSAYV5WfRSgYNEDgxWNqMUNoiu65u/view" style="color: #1E90FF; text-decoration: none;">User Guide</a>
|
868 |
|
869 |
|
@@ -888,37 +773,26 @@ When the equivalent ratios are easy to compute (integral values), ER is much mor
|
|
888 |
<p style="color: white;">To use the demo, please follow these steps:</p>
|
889 |
|
890 |
<ol style="color: white;">
|
891 |
-
<li style="color: white;">Select a
|
892 |
-
</li>
|
893 |
-
<li style="color: white;">Select a fine-tuned model:</li>
|
894 |
<ul style="color: white;">
|
895 |
-
<li style="color: white;">ASTRA-FT-HGR: Fine-tuned with
|
896 |
-
<li style="color: white;">ASTRA-FT-
|
897 |
-
<li style="color: white;">ASTRA-FT-Temporal: Fine-tuned with 10% of initial problems from both HGR and LGR schools + temporal features measuring student engagement with MATHia</li>
|
898 |
-
<li style="color: white;">ASTRA-FT-Unified: Fine-tuned with 10% of initial problems from both HGR and LGR schools + Prior Skills + temporal features</li>
|
899 |
</ul>
|
900 |
-
|
901 |
-
|
902 |
-
<li style="color: white;">
|
903 |
-
The results from the fine-tuned model are displayed in the dashboard:
|
904 |
-
<ul>
|
905 |
-
<li style="color: white;">The model accuracy is computed using the ROC-AUC metric.</li>
|
906 |
-
<li style="color: white;">The results are shown for HGR, LGR schools and for different problem types (ER/ME).</li>
|
907 |
-
<li style="color: white;">The distribution over how students utilized the optional tasks (whether they utilized ER/ME, used both of them or none of them) is shown for each problem type.</li>
|
908 |
-
</ul>
|
909 |
</li>
|
910 |
-
|
911 |
-
|
912 |
-
<li style="color: white;">
|
913 |
-
Generate strategies from the AI model and visualize the strategies .csv files using the path analysis web-app.
|
914 |
-
Refer to the
|
915 |
-
<a href="https://drive.google.com/file/d/1wussSAYV5WfRSgYNEDgxWNqMUNoiu65u/view"
|
916 |
-
style="color: #1E90FF; text-decoration: none;">
|
917 |
-
user guide
|
918 |
-
</a>
|
919 |
-
for more details on how to interpret the strategy visualization.
|
920 |
</li>
|
921 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
922 |
|
923 |
</ol>
|
924 |
"""
|
@@ -1222,90 +1096,43 @@ button, select, .slider-percentage {
|
|
1222 |
color: #1e293b !important;
|
1223 |
margin-bottom: 1rem !important;
|
1224 |
text-align: center !important;
|
1225 |
-
|
1226 |
-
#file-box {
|
1227 |
-
border: 1px solid #ccc;
|
1228 |
-
border-radius: 6px;
|
1229 |
-
padding: 10px;
|
1230 |
-
margin-top: 12px;
|
1231 |
-
background-color: #f9f9f9;
|
1232 |
-
}
|
1233 |
-
|
1234 |
-
.file-download {
|
1235 |
-
margin-bottom: 5px !important;
|
1236 |
-
padding: 4px !important;
|
1237 |
-
height: 10px;
|
1238 |
-
}
|
1239 |
}
|
1240 |
|
1241 |
-
|
1242 |
'''
|
1243 |
-
|
1244 |
# Define the file directory
|
1245 |
FILE_DIR = "fileHandler"
|
1246 |
|
1247 |
# Function to get list of files
|
1248 |
def list_files():
|
1249 |
-
return ['Unsuccessful Strategies (ER)', 'Successful Strategies (ER)', 'Unsuccessful Strategies (ME)', 'Successful Strategies (ME)'
|
|
|
|
|
1250 |
label_to_filename = {
|
1251 |
-
|
1252 |
-
'
|
1253 |
-
'
|
1254 |
-
'
|
1255 |
-
'Predicted Unsuccessful Strategies (ME)': 'ME-match-unsuccessful.csv',
|
1256 |
-
'Predicted Successful Strategies (All)': 'allstrategies-match-successful.csv',
|
1257 |
-
'Predicted Unsuccessful Strategies (All)': 'allstrategies-match-unsuccessful.csv',
|
1258 |
-
|
1259 |
-
# Ground Truth (tlb only)
|
1260 |
-
'Ground Truth Successful Strategies (ER)': 'ER-groundtruth-successful.csv',
|
1261 |
-
'Ground Truth Unsuccessful Strategies (ER)': 'ER-groundtruth-unsuccessful.csv',
|
1262 |
-
'Ground Truth Successful Strategies (ME)': 'ME-groundtruth-successful.csv',
|
1263 |
-
'Ground Truth Unsuccessful Strategies (ME)': 'ME-groundtruth-unsuccessful.csv',
|
1264 |
-
'Ground Truth Successful Strategies (All)': 'allstrategies-groundtruth-successful.csv',
|
1265 |
-
'Ground Truth Unsuccessful Strategies (All)': 'allstrategies-groundtruth-unsuccessful.csv',
|
1266 |
-
|
1267 |
-
# All data
|
1268 |
-
'All Strategies (ER)': 'ER-all.csv',
|
1269 |
-
'All Strategies (ME)': 'ME-all.csv',
|
1270 |
-
'All Strategies (All)': 'allstrategies-all.csv'
|
1271 |
}
|
1272 |
-
|
1273 |
# Function to provide the selected file path
|
1274 |
-
def
|
1275 |
-
|
1276 |
-
|
1277 |
-
|
1278 |
-
|
1279 |
-
|
1280 |
-
|
1281 |
-
label_unsuccess = f"All Strategies ({task_type})"
|
1282 |
-
else:
|
1283 |
-
label_success = f"{source} Successful Strategies ({task_type})"
|
1284 |
-
label_unsuccess = f"{source} Unsuccessful Strategies ({task_type})"
|
1285 |
-
label_all=f"All Strategies ({task_type})"
|
1286 |
-
|
1287 |
-
file_success = label_to_filename.get(label_success)
|
1288 |
-
file_unsuccess = label_to_filename.get(label_unsuccess)
|
1289 |
-
file_all=label_to_filename.get(label_all)
|
1290 |
-
|
1291 |
-
file_success_path = f"{FILE_DIR}/{file_success}" if file_success else None
|
1292 |
-
file_unsuccess_path = f"{FILE_DIR}/{file_unsuccess}" if file_unsuccess else None
|
1293 |
-
file_all_path = f"{FILE_DIR}/{file_all}" if file_all else None
|
1294 |
-
|
1295 |
-
dynamic_text = "🔍 [Visualize the strategies](https://path-analysis.vercel.app/)"
|
1296 |
-
if file_success and file_unsuccess and file_all:
|
1297 |
-
return file_success_path, file_unsuccess_path,file_all_path, gr.update(value=dynamic_text, visible=True)
|
1298 |
-
|
1299 |
-
return None, None,None, gr.update(visible=False)
|
1300 |
-
|
1301 |
-
|
1302 |
|
1303 |
|
1304 |
with gr.Blocks(theme='gstaff/sketch', css=custom_css) as demo:
|
1305 |
|
|
|
1306 |
gr.Markdown(content)
|
1307 |
|
1308 |
with gr.Row():
|
|
|
|
|
|
|
|
|
1309 |
model_dropdown = gr.Dropdown(
|
1310 |
choices=models,
|
1311 |
label="Select Fine-tuned Model",
|
@@ -1335,35 +1162,32 @@ with gr.Blocks(theme='gstaff/sketch', css=custom_css) as demo:
|
|
1335 |
with gr.Row():
|
1336 |
opt1_pie = gr.Plot(label="ER")
|
1337 |
opt2_pie = gr.Plot(label="ME")
|
1338 |
-
|
1339 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1340 |
with gr.Row():
|
1341 |
-
|
1342 |
-
|
1343 |
-
|
1344 |
-
|
1345 |
-
|
1346 |
-
inputs=[],
|
1347 |
-
outputs=[]
|
1348 |
-
js="""() => {
|
1349 |
-
window.open("https://path-analysis.vercel.app", "_blank");
|
1350 |
-
return "ok"; // must return something
|
1351 |
-
}"""
|
1352 |
)
|
1353 |
|
1354 |
|
|
|
1355 |
btn.click(
|
1356 |
-
fn=
|
1357 |
-
|
1358 |
-
|
1359 |
-
gr.update(value=None), # Reset dropdown to first item
|
1360 |
-
None,
|
1361 |
-
None,
|
1362 |
-
None, # Clear file output
|
1363 |
-
gr.update(visible=False) # Hide visualize markdown
|
1364 |
-
),
|
1365 |
-
inputs=[model_dropdown, increment_slider],
|
1366 |
-
outputs=[output_text, plot_output, opt1_pie, opt2_pie,redirect_button]
|
1367 |
)
|
1368 |
|
1369 |
|
|
|
1 |
import gradio as gr
|
2 |
+
from huggingface_hub import hf_hub_download
|
3 |
import pickle
|
4 |
from gradio import Progress
|
5 |
import numpy as np
|
|
|
12 |
from sklearn.metrics import roc_auc_score
|
13 |
from matplotlib.figure import Figure
|
14 |
import csv
|
|
|
|
|
15 |
# import os
|
16 |
# Define the function to process the input file and model selection
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
def process_file(model_name,inc_slider,progress=Progress(track_tqdm=True)):
|
19 |
# progress = gr.Progress(track_tqdm=True)
|
20 |
|
|
|
29 |
# shutil.copyfile(label.name, saved_test_label)
|
30 |
# shutil.copyfile(info.name, saved_train_info)
|
31 |
parent_location="ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/"
|
32 |
+
test_info_location=parent_location+"test_info.txt"
|
33 |
+
test_location=parent_location+"test.txt"
|
34 |
+
label_location=parent_location+"test_label.txt"
|
|
|
|
|
35 |
if(model_name=="ASTRA-FT-HGR"):
|
36 |
finetune_task="highGRschool10"
|
37 |
+
# test_info_location=parent_location+"fullTest/test_info.txt"
|
38 |
+
# test_location=parent_location+"fullTest/test.txt"
|
39 |
elif(model_name== "ASTRA-FT-LGR" ):
|
40 |
finetune_task="lowGRschoolAll"
|
41 |
+
# test_info_location=parent_location+"lowGRschoolAll/test_info.txt"
|
42 |
+
# test_location=parent_location+"lowGRschoolAll/test.txt"
|
43 |
elif(model_name=="ASTRA-FT-FULL"):
|
44 |
+
# test_info_location=parent_location+"fullTest/test_info.txt"
|
45 |
+
# test_location=parent_location+"fullTest/test.txt"
|
46 |
finetune_task="fullTest"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
else:
|
48 |
finetune_task=None
|
49 |
# Load the test_info file and the graduation rate file
|
50 |
test_info = pd.read_csv(test_info_location, sep=',', header=None, engine='python')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
grad_rate_data = pd.DataFrame(pd.read_pickle('assests/school_grduation_rate.pkl'),columns=['school_number','grad_rate']) # Load the grad_rate data
|
52 |
|
53 |
# Step 1: Extract unique school numbers from test_info
|
|
|
57 |
schools = grad_rate_data[grad_rate_data['school_number'].isin(unique_schools)]
|
58 |
|
59 |
# Define a threshold for high and low graduation rates (adjust as needed)
|
60 |
+
grad_rate_threshold = 0.9
|
61 |
|
62 |
# Step 4: Divide schools into high and low graduation rate groups
|
63 |
high_grad_schools = schools[schools['grad_rate'] >= grad_rate_threshold]['school_number'].unique()
|
64 |
low_grad_schools = schools[schools['grad_rate'] < grad_rate_threshold]['school_number'].unique()
|
65 |
|
66 |
# Step 5: Sample percentage of schools from each group
|
67 |
+
high_sample = pd.Series(high_grad_schools).sample(frac=inc_slider/100, random_state=1).tolist()
|
68 |
+
low_sample = pd.Series(low_grad_schools).sample(frac=inc_slider/100, random_state=1).tolist()
|
69 |
|
70 |
# Step 6: Combine the sampled schools
|
71 |
random_schools = high_sample + low_sample
|
|
|
113 |
'high' if idx in high_indices else 'low' for idx in selected_rows_df2.index
|
114 |
]
|
115 |
# Group data by opt_task1 and opt_task2 based on test_info[6]
|
116 |
+
opt_task_groups = ['opt_task1' if test_info.loc[idx, 6] == 0 else 'opt_task2' for idx in selected_rows_df2.index]
|
|
|
117 |
progress(0.2, desc="Running fine-tuned models...")
|
118 |
print("finetuned task: ",finetune_task)
|
119 |
subprocess.run([
|
120 |
"python", "new_test_saved_finetuned_model.py",
|
121 |
"-workspace_name", "ratio_proportion_change3_2223/sch_largest_100-coded",
|
|
|
122 |
"-finetune_task", finetune_task,
|
123 |
"-test_dataset_path","../../../../fileHandler/selected_rows.txt",
|
124 |
# "-test_label_path","../../../../train_label.txt",
|
125 |
+
"-finetuned_bert_classifier_checkpoint",
|
126 |
+
"ratio_proportion_change3_2223/sch_largest_100-coded/output/highGRschool10/bert_fine_tuned.model.ep42",
|
127 |
"-e",str(1),
|
128 |
"-b",str(1000)
|
129 |
])
|
|
|
132 |
# Load tlb and plb
|
133 |
with open("fileHandler/tlabels_plabels.pkl", "rb") as f:
|
134 |
tlb, plb = pickle.load(f)
|
|
|
|
|
135 |
|
136 |
# Define function to filter and write CSV
|
137 |
def process_and_write_csv(filtered_data, filename):
|
|
|
152 |
|
153 |
row_num = 1
|
154 |
for _, row in filtered_data.iterrows():
|
155 |
+
school, class_id, student_id, status, problem, _, time_zone, duration, attempts = row[:9]
|
156 |
+
steps_data = row[8]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
|
158 |
for step in steps_data.split('\t'):
|
159 |
step_parts = step.split('-')
|
|
|
160 |
step_name = step_parts[0]
|
161 |
+
action = step_parts[1] if len(step_parts) > 1 else ""
|
162 |
+
attempt = step_parts[2] if len(step_parts) > 2 else ""
|
163 |
+
outcome = step_parts[-1] if len(step_parts) > 3 else ""
|
|
|
|
|
164 |
|
165 |
row_data = [
|
166 |
+
row_num, "", "", student_id, "", time_zone, duration, "", "", "", "",
|
167 |
+
problem, problem, "", "", step_name, attempt, "", outcome, "", action, "", "", "", "", "", "", "", "", "", "","",
|
168 |
+
school, class_id, "", "", "", "", "PROMOTED"
|
|
|
169 |
]
|
170 |
writer.writerow(row_data)
|
171 |
row_num += 1
|
172 |
|
173 |
print(f"CSV file '{filename}' created successfully.")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
|
175 |
+
# Find indices where conditions match
|
176 |
+
for task_type in [0, 1]: # test_info[6] = 1 or 2
|
177 |
+
for label in [0, 1]: # tlb = plb = 0 or 1
|
178 |
+
matching_indices = [i for i in range(len(tlb)) if tlb[i] == plb[i] == label]
|
179 |
+
|
180 |
+
# Filter the data
|
181 |
+
filtered_data = selected_test_info.iloc[matching_indices]
|
182 |
+
filtered_data = filtered_data[filtered_data[6] == task_type] # Ensure test_info[6] matches
|
183 |
+
|
184 |
+
# Define filename dynamically
|
185 |
+
task_type_map = {0: "ER", 1: "ME"}
|
186 |
+
label_map = {0: "unsuccessful", 1: "successful"}
|
187 |
+
|
188 |
+
filename = f"{task_type_map[task_type]}-{label_map[label]}-strategies.csv"
|
189 |
+
|
190 |
+
|
191 |
+
# Write to CSV
|
192 |
+
process_and_write_csv(filtered_data, filename)
|
193 |
+
|
194 |
with open("fileHandler/roc_data2.pkl", 'rb') as file:
|
195 |
data = pickle.load(file)
|
196 |
t_label=data[0]
|
|
|
291 |
data = file.readlines()
|
292 |
selected_data = [data[i] for i in indices if i < len(data)]
|
293 |
# Assuming test_info[7] is a list with ideal tasks for each instance
|
294 |
+
ideal_tasks = test_info[6] # A list where each element is either 1 or 2
|
295 |
+
|
296 |
# Initialize counters
|
297 |
task_counts = {
|
298 |
+
1: {"ER": 0, "ME": 0, "both": 0,"none":0},
|
299 |
+
2: {"ER": 0, "ME": 0, "both": 0,"none":0}
|
300 |
}
|
301 |
# To store task completion counts per row
|
302 |
# Analyze rows
|
|
|
344 |
elif opt1_done and opt2_done:
|
345 |
task_counts[1]["both"] += 1
|
346 |
else:
|
347 |
+
task_counts[1]["none"] +=1
|
348 |
elif ideal_task == 1:
|
349 |
if opt1_done and not opt2_done:
|
350 |
task_counts[2]["ER"] += 1
|
|
|
353 |
elif opt1_done and opt2_done:
|
354 |
task_counts[2]["both"] += 1
|
355 |
else:
|
356 |
+
task_counts[2]["none"] +=1
|
357 |
# Print a summary of task completions
|
358 |
# for summary in row_summary:
|
359 |
# print(f"\nRow {summary['row_index']}:")
|
|
|
497 |
textinfo='percent+label',
|
498 |
textposition='auto',
|
499 |
marker=dict(colors=colors),
|
500 |
+
sort=False
|
|
|
501 |
|
502 |
)])
|
503 |
|
|
|
535 |
textinfo='percent+label',
|
536 |
textposition='auto',
|
537 |
marker=dict(colors=colors),
|
538 |
+
sort=False
|
|
|
539 |
# pull=[0, 0.2, 0, 0] # for pulling part of pie chart out (depends on position)
|
540 |
|
541 |
)])
|
|
|
664 |
---------------------------
|
665 |
Model: {model_name}
|
666 |
---------------------------\n
|
667 |
+
Time Taken: {result['time_taken_from_start']:.2f} seconds
|
668 |
+
Number of schools sampled: {len(unique_schools)}
|
669 |
Total number of instances from HGR schools : {len(high_indices)}
|
670 |
Total number of instances from LGR schools: {len(low_indices)}
|
671 |
|
|
|
737 |
|
738 |
|
739 |
# return text_output,text_output_sampled_auc,fig,fig_task1,fig_task2,fig_hist1,fig_hist2
|
740 |
+
return text_output,fig,fig_task1,fig_task2
|
741 |
# List of models for the dropdown menu
|
742 |
|
743 |
# models = ["ASTRA-FT-HGR", "ASTRA-FT-LGR", "ASTRA-FT-FULL"]
|
744 |
+
models = ["ASTRA-FT-HGR", "ASTRA-FT-FULL"]
|
|
|
|
|
745 |
content = """
|
746 |
<h1 style="color: black;">A S T R A</h1>
|
747 |
<h2 style="color: black;">An AI Model for Analyzing Math Strategies</h2>
|
748 |
|
749 |
<h3 style="color: white; text-align: center">
|
750 |
<a href="https://drive.google.com/file/d/1lbEpg8Se1ugTtkjreD8eXIg7qrplhWan/view" style="color: gr.themes.colors.red; text-decoration: none;">Link To Paper</a> |
|
751 |
+
<a href="https://github.com/Syudu41/ASTRA---Gates-Project" style="color: #1E90FF; text-decoration: none;">GitHub</a> |
|
752 |
<a href="https://drive.google.com/file/d/1wussSAYV5WfRSgYNEDgxWNqMUNoiu65u/view" style="color: #1E90FF; text-decoration: none;">User Guide</a>
|
753 |
|
754 |
|
|
|
773 |
<p style="color: white;">To use the demo, please follow these steps:</p>
|
774 |
|
775 |
<ol style="color: white;">
|
776 |
+
<li style="color: white;">Select a fine-tuned model:
|
|
|
|
|
777 |
<ul style="color: white;">
|
778 |
+
<li style="color: white;">ASTRA-FT-HGR: Fine-tuned with a small sample of data from schools that have a high graduation rate.</li>
|
779 |
+
<li style="color: white;">ASTRA-FT-Full: Fine-tuned with a small sample of data from a mix of schools that have high/low graduation rates.</li>
|
|
|
|
|
780 |
</ul>
|
781 |
+
</li>
|
782 |
+
<li style="color: white;">Select a percentage of schools to analyze (selecting a large percentage may take a long time). Note that the selected percentage is applied to both High Graduation Rate (HGR) schools and Low Graduation Rate (LGR schools).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
783 |
</li>
|
784 |
+
<li style="color: white;">The results from the fine-tuned model are displayed in the dashboard:
|
785 |
+
<ul>
|
786 |
+
<li style="color: white;">The model accuracy is computed using the ROC-AUC metric.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
787 |
</li>
|
788 |
+
<li style="color: white;">The results are shown for HGR, LGR schools and for different problem types (ER/ME).
|
789 |
+
</li>
|
790 |
+
<li style="color: white;">The distribution over how students utilized the optional tasks (whether they utilized ER/ME, used both of them or none of them) is shown for each problem type.
|
791 |
+
</li>
|
792 |
+
</ul>
|
793 |
+
</li>
|
794 |
+
<li style="color: white;">Generate strategies from the AI model and visualize the strategies .csv files using the path analysis web-app.
|
795 |
+
Refer to the <a href="https://drive.google.com/file/d/1wussSAYV5WfRSgYNEDgxWNqMUNoiu65u/view" style="color: #1E90FF; text-decoration: none;">user guide </a> for more details on how to interpret the strategy visualization.
|
796 |
|
797 |
</ol>
|
798 |
"""
|
|
|
1096 |
color: #1e293b !important;
|
1097 |
margin-bottom: 1rem !important;
|
1098 |
text-align: center !important;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1099 |
}
|
1100 |
|
|
|
1101 |
'''
|
|
|
1102 |
# Define the file directory
|
1103 |
FILE_DIR = "fileHandler"
|
1104 |
|
1105 |
# Function to get list of files
|
1106 |
def list_files():
|
1107 |
+
return ['Unsuccessful Strategies (ER)', 'Successful Strategies (ER)', 'Unsuccessful Strategies (ME)', 'Successful Strategies (ME)']
|
1108 |
+
# return ['output_task0_label0.csv', 'output_task0_label1.csv', 'output_task1_label0.csv', 'output_task1_label1.csv']
|
1109 |
+
# return [f for f in os.listdir(FILE_DIR) if os.path.isfile(os.path.join(FILE_DIR, f))]
|
1110 |
label_to_filename = {
|
1111 |
+
'Unsuccessful Strategies (ER)': 'ER-unsuccessful-strategies.csv',
|
1112 |
+
'Successful Strategies (ER)': 'ER-successful-strategies.csv',
|
1113 |
+
'Unsuccessful Strategies (ME)': 'ME-unsuccessful-strategies.csv',
|
1114 |
+
'Successful Strategies (ME)': 'ME-successful-strategies.csv'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1115 |
}
|
|
|
1116 |
# Function to provide the selected file path
|
1117 |
+
def provide_file_path(label_name):
|
1118 |
+
file_name = label_to_filename.get(label_name, None)
|
1119 |
+
if file_name:
|
1120 |
+
file_path = f"{FILE_DIR}/{file_name}"
|
1121 |
+
dynamic_text = "🔍 [Visualize the strategies](https://path-analysis.vercel.app/)"
|
1122 |
+
return file_path, gr.update(value=dynamic_text, visible=True)
|
1123 |
+
return None, gr.update(visible=False)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1124 |
|
1125 |
|
1126 |
with gr.Blocks(theme='gstaff/sketch', css=custom_css) as demo:
|
1127 |
|
1128 |
+
# gr.Markdown("<h1 id='title'>ASTRA</h1>", elem_id="title")
|
1129 |
gr.Markdown(content)
|
1130 |
|
1131 |
with gr.Row():
|
1132 |
+
# file_input = gr.File(label="Upload a test file", file_types=['.txt'], elem_classes="file-box")
|
1133 |
+
# label_input = gr.File(label="Upload test labels", file_types=['.txt'], elem_classes="file-box")
|
1134 |
+
|
1135 |
+
# info_input = gr.File(label="Upload test info", file_types=['.txt'], elem_classes="file-box")
|
1136 |
model_dropdown = gr.Dropdown(
|
1137 |
choices=models,
|
1138 |
label="Select Fine-tuned Model",
|
|
|
1162 |
with gr.Row():
|
1163 |
opt1_pie = gr.Plot(label="ER")
|
1164 |
opt2_pie = gr.Plot(label="ME")
|
1165 |
+
# output_summary = gr.Textbox(label="Summary")
|
1166 |
+
# with gr.Row():
|
1167 |
+
# histo1 = gr.Plot(label="Hist")
|
1168 |
+
# histo2 = gr.Plot(label="Hist")
|
1169 |
+
# with gr.Row():
|
1170 |
+
# output_text_sampled_auc = gr.Textbox(label="")
|
1171 |
+
|
1172 |
+
with gr.Row():
|
1173 |
+
file_dropdown = gr.Dropdown(choices=list_files(), label="Select a strategy from the dropdown")
|
1174 |
+
download_button = gr.Button("Generate Strategies")
|
1175 |
with gr.Row():
|
1176 |
+
file_output = gr.File(label="Download File")
|
1177 |
+
visualize_markdown = gr.Markdown(visible=False)
|
1178 |
+
|
1179 |
+
download_button.click(
|
1180 |
+
fn=provide_file_path,
|
1181 |
+
inputs=[file_dropdown],
|
1182 |
+
outputs=[file_output, visualize_markdown]
|
|
|
|
|
|
|
|
|
1183 |
)
|
1184 |
|
1185 |
|
1186 |
+
|
1187 |
btn.click(
|
1188 |
+
fn=process_file,
|
1189 |
+
inputs=[model_dropdown,increment_slider],
|
1190 |
+
outputs=[output_text,plot_output,opt1_pie,opt2_pie]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1191 |
)
|
1192 |
|
1193 |
|
assests/__pycache__/metrics.cpython-312.pyc
CHANGED
Binary files a/assests/__pycache__/metrics.cpython-312.pyc and b/assests/__pycache__/metrics.cpython-312.pyc differ
|
|
assests/__pycache__/recalibration.cpython-312.pyc
CHANGED
Binary files a/assests/__pycache__/recalibration.cpython-312.pyc and b/assests/__pycache__/recalibration.cpython-312.pyc differ
|
|
assests/__pycache__/visualization.cpython-312.pyc
CHANGED
Binary files a/assests/__pycache__/visualization.cpython-312.pyc and b/assests/__pycache__/visualization.cpython-312.pyc differ
|
|
fileHandler/ER-successful-strategies.csv
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
fileHandler/ER-unsuccessful-strategies.csv
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
fileHandler/ME-successful-strategies.csv
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
fileHandler/ME-unsuccessful-strategies.csv
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
fileHandler/result.txt
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
-
avg_loss: 0.
|
2 |
-
total_acc:
|
3 |
-
precisions: 0.
|
4 |
-
recalls: 0.
|
5 |
-
f1_scores: 0.
|
6 |
-
time_taken_from_start:
|
7 |
-
auc_score: 0.
|
|
|
1 |
+
avg_loss: 0.5737786740064621
|
2 |
+
total_acc: 71.04486007593869
|
3 |
+
precisions: 0.7412098113732791
|
4 |
+
recalls: 0.7104486007593869
|
5 |
+
f1_scores: 0.7047150367197683
|
6 |
+
time_taken_from_start: 13.38778305053711
|
7 |
+
auc_score: 0.7569549552207228
|
fileHandler/roc_data.pkl
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:16b9d02104550e6a9350e03a5d8c99d0353cbd58740bf9ccfa0f0e86f603b551
|
3 |
+
size 65333
|
fileHandler/roc_data2.pkl
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:18c63a0757ddf4e98ab5b8ca7c1a903176991a2521194caa737fc07667730658
|
3 |
+
size 199270
|
fileHandler/selected_rows.txt
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
fileHandler/tlabels_plabels.pkl
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:1ead6d5d1eb2b3c7edb7b513bb3648b0878b7037a16205bef01e9f3198f4ab0c
|
3 |
+
size 270389
|
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/fullData/train_label.txt → fullTest/test_label.txt
RENAMED
The diff for this file is too large to render.
See raw diff
|
|
new_test_saved_finetuned_model.py
CHANGED
@@ -6,7 +6,7 @@ from torch.optim import Adam
|
|
6 |
from torch.utils.data import DataLoader
|
7 |
import pickle
|
8 |
print("here1",os.getcwd())
|
9 |
-
from src.dataset import TokenizerDataset,
|
10 |
from src.vocab import Vocab
|
11 |
print("here3",os.getcwd())
|
12 |
from src.bert import BERT
|
@@ -19,7 +19,6 @@ import tqdm
|
|
19 |
import sys
|
20 |
import time
|
21 |
import numpy as np
|
22 |
-
from sklearn.preprocessing import QuantileTransformer
|
23 |
|
24 |
from sklearn.metrics import precision_score, recall_score, f1_score, confusion_matrix, roc_curve, roc_auc_score
|
25 |
import matplotlib.pyplot as plt
|
@@ -467,59 +466,12 @@ class BERTFineTuneCalibratedTrainer:
|
|
467 |
sys.stdout = sys.__stdout__
|
468 |
sys.stdout = sys.__stdout__
|
469 |
|
470 |
-
|
471 |
-
faopt_time = []
|
472 |
-
total_time = []
|
473 |
-
nonopt_time = []
|
474 |
-
opt_time = []
|
475 |
-
school = []
|
476 |
-
student = []
|
477 |
-
progress = []
|
478 |
-
prob_id = []
|
479 |
-
|
480 |
-
with open("ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/fullData/train_info.txt", "r") as f:
|
481 |
-
for line in f:
|
482 |
-
line = line.strip()
|
483 |
-
if line:
|
484 |
-
line = line.split(",")
|
485 |
-
sch = line[0]
|
486 |
-
school.append(sch)
|
487 |
-
stu = line[2]
|
488 |
-
student.append(stu)
|
489 |
-
status = line[3]
|
490 |
-
progress.append(status)
|
491 |
-
pid = line[4]
|
492 |
-
prob_id.append(pid)
|
493 |
-
total = float(line[-1])#/60000
|
494 |
-
faopt = float(line[-2])#/60000
|
495 |
-
nonopt = sum([float(i) for i in line[-3].split("\t")])
|
496 |
-
opt = sum([float(i) for i in line[-4].split("\t")])
|
497 |
-
faopt_time.append(faopt)
|
498 |
-
total_time.append(total)
|
499 |
-
nonopt_time.append(nonopt)
|
500 |
-
opt_time.append(opt)
|
501 |
-
|
502 |
-
df = pd.DataFrame({"school": school, "student": student, "progress": progress, "prob_id": prob_id,
|
503 |
-
"faopt_time": faopt_time, "total_time": total_time,
|
504 |
-
"nonopt_time": nonopt_time, "opt_time": opt_time})
|
505 |
-
for col in df.columns:
|
506 |
-
print(col, col.endswith('time'))
|
507 |
-
if col.endswith('time'): #col == "faopt_time" or col =="total_time":
|
508 |
-
num_df = df[col]
|
509 |
-
col_values = num_df.values.reshape(-1, 1)
|
510 |
-
nt = QuantileTransformer(output_distribution='normal')
|
511 |
-
col_values_norm = nt.fit_transform(col_values)
|
512 |
-
df[col] = col_values_norm
|
513 |
-
print(df[col].describe())
|
514 |
-
df.set_index(["school", "student", "progress", "prob_id"], inplace=True)
|
515 |
-
df.to_pickle("ratio_proportion_change3_2223/sch_largest_100-coded/time_info/full_data_normalized_time.pkl")
|
516 |
-
|
517 |
|
518 |
def train():
|
519 |
parser = argparse.ArgumentParser()
|
520 |
|
521 |
parser.add_argument('-workspace_name', type=str, default=None)
|
522 |
-
parser.add_argument('-model_name', type=str, default=None)
|
523 |
parser.add_argument('-code', type=str, default=None, help="folder for pretraining outputs and logs")
|
524 |
parser.add_argument('-finetune_task', type=str, default=None, help="folder inside finetuning")
|
525 |
parser.add_argument("-attention", type=bool, default=False, help="analyse attention scores")
|
@@ -555,7 +507,7 @@ def train():
|
|
555 |
parser.add_argument("-b", "--batch_size", type=int, default=500, help="number of batch_size") #64
|
556 |
parser.add_argument("-e", "--epochs", type=int, default=1)#1501, help="number of epochs") #501
|
557 |
# Use 50 for pretrain, and 10 for fine tune
|
558 |
-
parser.add_argument("-w", "--num_workers", type=int, default=
|
559 |
|
560 |
# Later run with cuda
|
561 |
parser.add_argument("--with_cuda", type=bool, default=False, help="training with CUDA: true, or false")
|
@@ -607,19 +559,10 @@ def train():
|
|
607 |
vocab_obj.load_vocab()
|
608 |
print("Vocab Size: ", len(vocab_obj.vocab))
|
609 |
|
610 |
-
|
611 |
print("Testing using finetuned model......")
|
612 |
-
print("Loading Test Dataset", args.test_dataset_path)
|
613 |
-
|
614 |
-
# test_dataset = TokenizerDataset(args.test_dataset_path, args.test_label_path, vocab_obj, seq_len=args.seq_len)
|
615 |
-
if args.model_name == "ASTRA-FT-HGR-RANDOM10":
|
616 |
-
test_dataset = TokenizerwSkillsDataset(args.test_dataset_path, args.test_label_path, vocab_obj, seq_len=args.seq_len)
|
617 |
-
elif args.model_name == "ASTRA-FT-FIRST10-WSKILLS":
|
618 |
-
test_dataset = TokenizerwSkillsDataset(args.test_dataset_path, args.test_label_path, vocab_obj, seq_len=args.seq_len)
|
619 |
-
elif args.model_name == "ASTRA-FT-FIRST10-WTIME":
|
620 |
-
test_dataset = TokenizerwTimeDataset(args.test_dataset_path, args.test_label_path, vocab_obj, seq_len=args.seq_len)
|
621 |
-
elif args.model_name == "ASTRA-FT-FIRST10-WSKILLS_WTIME":
|
622 |
-
test_dataset = TokenizerwSkillsTimeDataset(args.test_dataset_path, args.test_label_path, vocab_obj, seq_len=args.seq_len)
|
623 |
# test_dataset = TokenizerDatasetForCalibration(args.test_dataset_path, args.test_label_path, vocab_obj, seq_len=args.seq_len)
|
624 |
|
625 |
print("Creating Dataloader...")
|
|
|
6 |
from torch.utils.data import DataLoader
|
7 |
import pickle
|
8 |
print("here1",os.getcwd())
|
9 |
+
from src.dataset import TokenizerDataset, TokenizerDatasetForCalibration
|
10 |
from src.vocab import Vocab
|
11 |
print("here3",os.getcwd())
|
12 |
from src.bert import BERT
|
|
|
19 |
import sys
|
20 |
import time
|
21 |
import numpy as np
|
|
|
22 |
|
23 |
from sklearn.metrics import precision_score, recall_score, f1_score, confusion_matrix, roc_curve, roc_auc_score
|
24 |
import matplotlib.pyplot as plt
|
|
|
466 |
sys.stdout = sys.__stdout__
|
467 |
sys.stdout = sys.__stdout__
|
468 |
|
469 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
470 |
|
471 |
def train():
|
472 |
parser = argparse.ArgumentParser()
|
473 |
|
474 |
parser.add_argument('-workspace_name', type=str, default=None)
|
|
|
475 |
parser.add_argument('-code', type=str, default=None, help="folder for pretraining outputs and logs")
|
476 |
parser.add_argument('-finetune_task', type=str, default=None, help="folder inside finetuning")
|
477 |
parser.add_argument("-attention", type=bool, default=False, help="analyse attention scores")
|
|
|
507 |
parser.add_argument("-b", "--batch_size", type=int, default=500, help="number of batch_size") #64
|
508 |
parser.add_argument("-e", "--epochs", type=int, default=1)#1501, help="number of epochs") #501
|
509 |
# Use 50 for pretrain, and 10 for fine tune
|
510 |
+
parser.add_argument("-w", "--num_workers", type=int, default=0, help="dataloader worker size")
|
511 |
|
512 |
# Later run with cuda
|
513 |
parser.add_argument("--with_cuda", type=bool, default=False, help="training with CUDA: true, or false")
|
|
|
559 |
vocab_obj.load_vocab()
|
560 |
print("Vocab Size: ", len(vocab_obj.vocab))
|
561 |
|
562 |
+
|
563 |
print("Testing using finetuned model......")
|
564 |
+
print("Loading Test Dataset", args.test_dataset_path)
|
565 |
+
test_dataset = TokenizerDataset(args.test_dataset_path, args.test_label_path, vocab_obj, seq_len=args.seq_len)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
566 |
# test_dataset = TokenizerDatasetForCalibration(args.test_dataset_path, args.test_label_path, vocab_obj, seq_len=args.seq_len)
|
567 |
|
568 |
print("Creating Dataloader...")
|
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/first10/test.txt
DELETED
@@ -1,339 +0,0 @@
|
|
1 |
-
PercentChange-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity2-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswerDirection-0 FinalAnswer-0
|
2 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2
|
3 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswerDirection-0 FinalAnswer-2
|
4 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswerDirection-0 FinalAnswer-0
|
5 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswerDirection-2 FinalAnswer-0
|
6 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-0
|
7 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-0
|
8 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2
|
9 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswerDirection-2 FinalAnswer-2
|
10 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-2
|
11 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswerDirection-2 FinalAnswer-2
|
12 |
-
PercentChange-0 NumeratorQuantity1-0 DenominatorQuantity1-0 NumeratorQuantity2-0 OptionalTask_1 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
13 |
-
PercentChange-0 NumeratorQuantity1-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
14 |
-
PercentChange-0 NumeratorQuantity1-2 DenominatorQuantity1-2 NumeratorQuantity2-0 DenominatorQuantity1-2 OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:1 FirstRow2:2 FirstRow1:1 SecondRow FinalAnswer-2 ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
15 |
-
PercentChange-0 NumeratorQuantity1-0 NumeratorQuantity2-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
16 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
17 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-2 OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:2 FirstRow1:1 FirstRow2:1 FirstRow1:1 SecondRow ThirdRow FinalAnswer-2 FinalAnswerDirection-0
|
18 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 NumeratorQuantity2-0 OptionalTask_1 EquationAnswer NumeratorFactor DenominatorFactor FinalAnswer-2 FinalAnswerDirection-0
|
19 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
20 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-2 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2
|
21 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-2 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-0
|
22 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:2 FirstRow2:1 FirstRow2:2 FirstRow1:1 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
23 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 NumeratorFactor OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 FirstRow1:1 FirstRow1:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
24 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-2
|
25 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-1
|
26 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
27 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-1
|
28 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-1
|
29 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow FinalAnswerDirection-0 ThirdRow FinalAnswer-0
|
30 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor DenominatorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-2
|
31 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-1
|
32 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
33 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-1 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
34 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-1 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-1
|
35 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 NumeratorFactor DenominatorFactor EquationAnswer SecondRow ThirdRow FinalAnswer-1
|
36 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 FirstRow1:1 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 FirstRow1:1 SecondRow ThirdRow EquationAnswer FinalAnswer-2
|
37 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:2 FirstRow1:1 SecondRow ThirdRow EquationAnswer DenominatorFactor NumeratorFactor FinalAnswer-2
|
38 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
39 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-0
|
40 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:2 FirstRow1:1 SecondRow ThirdRow OptionalTask_1 EquationAnswer NumeratorFactor DenominatorFactor FinalAnswer-0
|
41 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
42 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:2 FirstRow1:1 SecondRow ThirdRow EquationAnswer FinalAnswer-2 NumeratorFactor DenominatorFactor FinalAnswer-2
|
43 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
44 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 FinalAnswer-2 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
45 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
46 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2 FinalAnswerDirection-0 FinalAnswer-0
|
47 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2 FinalAnswerDirection-0 FinalAnswer-0
|
48 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswerDirection-2 FinalAnswer-2
|
49 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
50 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2
|
51 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
52 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
53 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor FinalAnswerDirection-2 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
54 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
55 |
-
PercentChange-2 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity2-0 FinalAnswer-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-2
|
56 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswerDirection-0 FinalAnswer-2
|
57 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-2 FinalAnswer-2 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
58 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 NumeratorQuantity2-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
59 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
60 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow2:2 FirstRow2:1 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
61 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2 FinalAnswerDirection-0
|
62 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-2 FinalAnswer-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2 OptionalTask_2 FirstRow2:1 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
63 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0
|
64 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
65 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
66 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
67 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 FinalAnswer-2 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow FinalAnswer-0
|
68 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 FinalAnswerDirection-2 EquationAnswer NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-0
|
69 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow EquationAnswer FinalAnswer-0
|
70 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
71 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 OptionalTask_1 DenominatorFactor NumeratorFactor FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow EquationAnswer FinalAnswer-2
|
72 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
73 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow DenominatorFactor FinalAnswer-2 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
74 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 DenominatorFactor NumeratorFactor EquationAnswer SecondRow FinalAnswer-0
|
75 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-2 OptionalTask_1 DenominatorFactor NumeratorFactor OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow EquationAnswer FinalAnswer-0
|
76 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-1
|
77 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow EquationAnswer NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-2
|
78 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 OptionalTask_1 NumeratorFactor FirstRow1:1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0
|
79 |
-
PercentChange-0 NumeratorQuantity1-2 NumeratorQuantity2-0 DenominatorQuantity1-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-0
|
80 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0
|
81 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
82 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
83 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
84 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
85 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-2 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2
|
86 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0
|
87 |
-
PercentChange-2 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
88 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2 OptionalTask_2 FirstRow1:1 FirstRow2:2 FirstRow2:1 FirstRow1:2 FirstRow1:1 SecondRow ThirdRow FinalAnswer-2
|
89 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 EquationAnswer DenominatorFactor EquationAnswer DenominatorFactor EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow2:2 FirstRow2:1 FirstRow1:2 FirstRow1:1 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-2
|
90 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-2
|
91 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FinalAnswer-2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 FinalAnswer-0
|
92 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 FinalAnswer-2 OptionalTask_1 EquationAnswer FinalAnswer-2 EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 EquationAnswer SecondRow ThirdRow FinalAnswer-2 ThirdRow FinalAnswer-2
|
93 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 NumeratorQuantity2-0 OptionalTask_1 NumeratorFactor EquationAnswer FinalAnswer-2 FinalAnswerDirection-0
|
94 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:2 FirstRow1:1 SecondRow ThirdRow FinalAnswer-2 OptionalTask_1 NumeratorFactor DenominatorFactor FinalAnswer-2
|
95 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-2 NumeratorQuantity1-0 DenominatorQuantity1-2 OptionalTask_1 EquationAnswer NumeratorFactor OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:2 FirstRow1:1 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
96 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow FinalAnswer-2
|
97 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
98 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
99 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:2 FirstRow1:1 SecondRow FinalAnswer-2
|
100 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
101 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
102 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
103 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
104 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
105 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:2 FirstRow1:1 FinalAnswer-2
|
106 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
107 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
108 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
109 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow1:1 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-2
|
110 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2 OptionalTask_2 FirstRow2:2 FirstRow2:1 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
111 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow2:1 FirstRow2:2 FirstRow1:2 FirstRow1:1 SecondRow FinalAnswer-2 ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
112 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
113 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
114 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
115 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
116 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
117 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-2 OptionalTask_1 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 FinalAnswer-1 SecondRow FinalAnswer-1 ThirdRow FinalAnswer-0 FinalAnswerDirection-2
|
118 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 NumeratorQuantity2-1 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
119 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-1 DenominatorQuantity1-0 OptionalTask_2 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-1
|
120 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-2
|
121 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-2
|
122 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 OptionalTask_1 DenominatorFactor NumeratorFactor DenominatorFactor EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
123 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer OptionalTask_2 EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-1
|
124 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-2
|
125 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
126 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-1
|
127 |
-
PercentChange-0 NumeratorQuantity2-1 NumeratorQuantity1-2 DenominatorQuantity1-1 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-1 FinalAnswerDirection-0 FinalAnswer-0
|
128 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-2
|
129 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-1
|
130 |
-
PercentChange-2 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow1:1 FirstRow2:2 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
131 |
-
PercentChange-0 DenominatorQuantity1-2 NumeratorQuantity2-0 NumeratorQuantity1-2 OptionalTask_1 OptionalTask_2 DenominatorFactor NumeratorFactor EquationAnswer FirstRow1:1 FirstRow2:2 FirstRow1:2 FirstRow2:1 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswerDirection-0 FinalAnswer-2
|
132 |
-
PercentChange-2 NumeratorQuantity2-2 DenominatorQuantity1-0 NumeratorQuantity1-0 NumeratorQuantity2-0 OptionalTask_1 OptionalTask_2 DenominatorFactor NumeratorFactor EquationAnswer FirstRow2:2 FirstRow2:1 FirstRow1:2 FirstRow1:1 FirstRow2:1 FirstRow1:1 FirstRow2:1 SecondRow ThirdRow FinalAnswerDirection-0 FinalAnswer-0
|
133 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-2 NumeratorQuantity1-0 OptionalTask_1 OptionalTask_2 EquationAnswer NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer FirstRow1:1 FirstRow2:2 FirstRow1:2 FirstRow2:2 FirstRow1:2 FirstRow2:1 SecondRow FinalAnswer-0 FinalAnswerDirection-0
|
134 |
-
PercentChange-0 DenominatorQuantity1-0 NumeratorQuantity2-0 NumeratorQuantity1-0 OptionalTask_1 OptionalTask_2 DenominatorFactor NumeratorFactor EquationAnswer FirstRow2:1 FirstRow1:1 FirstRow2:2 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
135 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 DenominatorFactor NumeratorFactor EquationAnswer FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
136 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-2 NumeratorQuantity1-0 OptionalTask_1 OptionalTask_2 DenominatorFactor NumeratorFactor EquationAnswer FirstRow2:1 FirstRow1:1 FirstRow2:2 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
137 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 DenominatorFactor NumeratorFactor EquationAnswer FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
138 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 DenominatorFactor NumeratorFactor EquationAnswer FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
139 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-2 OptionalTask_1 OptionalTask_2 DenominatorFactor NumeratorFactor EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow1:1 FirstRow2:1 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswerDirection-0 FinalAnswer-0
|
140 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor EquationAnswer NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow2:2 FirstRow1:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
141 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-0
|
142 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2 FinalAnswerDirection-2 FinalAnswer-2
|
143 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
144 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-2
|
145 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-0
|
146 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
147 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
148 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2
|
149 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 FinalAnswer-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
150 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2
|
151 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-0
|
152 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
153 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer FinalAnswerDirection-0 FinalAnswer-0
|
154 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
155 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 NumeratorQuantity2-0 OptionalTask_1 EquationAnswer NumeratorFactor OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswerDirection-2 FinalAnswer-1
|
156 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
157 |
-
PercentChange-2 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
158 |
-
PercentChange-2 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
159 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
160 |
-
PercentChange-2 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
161 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
162 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
163 |
-
PercentChange-0 DenominatorQuantity1-2 NumeratorQuantity1-2 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-2 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow1:2 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
164 |
-
PercentChange-0 DenominatorQuantity1-0 NumeratorQuantity2-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2 EquationAnswer NumeratorFactor FinalAnswer-2
|
165 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
166 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 EquationAnswer NumeratorFactor DenominatorFactor OptionalTask_2 NumeratorFactor DenominatorFactor NumeratorFactor DenominatorFactor NumeratorFactor FinalAnswer-2
|
167 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
168 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow1:2 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-2
|
169 |
-
PercentChange-0 DenominatorQuantity1-0 NumeratorQuantity2-0 NumeratorQuantity1-2 OptionalTask_1 FinalAnswerDirection-0 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
170 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity2-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow2:2 FirstRow2:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-2
|
171 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
172 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
173 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
174 |
-
PercentChange-2 DenominatorQuantity1-0 NumeratorQuantity1-2 NumeratorQuantity2-2 NumeratorQuantity1-0 NumeratorQuantity2-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow2:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
175 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
176 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
177 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
178 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow2:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0
|
179 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_2 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
180 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0
|
181 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 FinalAnswer-1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FinalAnswer-1
|
182 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
183 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
184 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-1
|
185 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
186 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
187 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FinalAnswer-1
|
188 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-1
|
189 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-1
|
190 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 FirstRow1:1 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
191 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
192 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow FinalAnswerDirection-0 ThirdRow FinalAnswer-0
|
193 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 EquationAnswer NumeratorFactor DenominatorFactor FinalAnswer-2 FinalAnswerDirection-0
|
194 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-2 OptionalTask_1 DenominatorFactor NumeratorFactor FinalAnswer-2
|
195 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
196 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 DenominatorFactor NumeratorFactor EquationAnswer FirstRow1:2 FirstRow1:1 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswerDirection-0 FinalAnswer-0
|
197 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-0 NumeratorQuantity2-0 DenominatorQuantity1-0 FinalAnswer-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-1
|
198 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-0
|
199 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-0 NumeratorQuantity2-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
200 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2
|
201 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 DenominatorFactor NumeratorFactor EquationAnswer FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
202 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-2 OptionalTask_1 OptionalTask_2 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow1:1 FirstRow2:2 FirstRow2:1 SecondRow FinalAnswer-2 FinalAnswerDirection-0
|
203 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-2 OptionalTask_1 OptionalTask_2 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow1:1 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswerDirection-0 FinalAnswer-0
|
204 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow1:1 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-2
|
205 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-1
|
206 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 FirstRow2:1 FirstRow1:1 DenominatorFactor NumeratorFactor EquationAnswer FirstRow2:2 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
207 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
208 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 DenominatorFactor NumeratorFactor EquationAnswer FirstRow1:1 FinalAnswer-0 FinalAnswerDirection-0
|
209 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 DenominatorFactor NumeratorFactor EquationAnswer FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
210 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 OptionalTask_2 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
211 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
212 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-2
|
213 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:2 FirstRow2:1 SecondRow FinalAnswerDirection-0 FinalAnswer-2
|
214 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
215 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0
|
216 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-2 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
217 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
218 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:2 FirstRow2:1 FirstRow1:2 FirstRow1:1 SecondRow ThirdRow FinalAnswer-2
|
219 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:2 FirstRow2:1 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
220 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
221 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
222 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:2 FirstRow2:1 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
223 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_2 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0
|
224 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
225 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-2 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
226 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:2 FirstRow2:1 FirstRow1:2 FirstRow1:1 SecondRow ThirdRow FinalAnswer-2
|
227 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
228 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
229 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
230 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:2 FirstRow1:1 FinalAnswer-2 SecondRow ThirdRow FinalAnswer-2
|
231 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-2
|
232 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 OptionalTask_1 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
233 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 EquationAnswer DenominatorFactor EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer FinalAnswerDirection-0 FinalAnswer-0
|
234 |
-
PercentChange-0 NumeratorQuantity1-0 NumeratorQuantity2-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
235 |
-
PercentChange-0 NumeratorQuantity1-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0
|
236 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
237 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 FinalAnswer-2 SecondRow ThirdRow FinalAnswer-2
|
238 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0
|
239 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2
|
240 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0
|
241 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-2 OptionalTask_1 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
242 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
243 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor EquationAnswer OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow EquationAnswer NumeratorFactor FinalAnswer-0
|
244 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
245 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
246 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
247 |
-
PercentChange-0 NumeratorQuantity2-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
248 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:2 FirstRow1:1 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
249 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow OptionalTask_1 EquationAnswer NumeratorFactor DenominatorFactor FinalAnswer-0
|
250 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow OptionalTask_1 EquationAnswer NumeratorFactor DenominatorFactor FinalAnswer-0
|
251 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-2 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
252 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:2 FirstRow1:1 SecondRow ThirdRow OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-0
|
253 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 OptionalTask_1 SecondRow ThirdRow EquationAnswer NumeratorFactor DenominatorFactor FinalAnswer-2
|
254 |
-
PercentChange-2 NumeratorQuantity2-0 DenominatorQuantity1-2 NumeratorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
255 |
-
PercentChange-2 NumeratorQuantity1-0 NumeratorQuantity2-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:2 FirstRow2:2 FirstRow2:1 FirstRow1:1 SecondRow ThirdRow FinalAnswer-0
|
256 |
-
PercentChange-2 DenominatorQuantity1-2 NumeratorQuantity1-0 NumeratorQuantity2-2 DenominatorQuantity1-0 NumeratorQuantity2-0 OptionalTask_1 NumeratorFactor OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:2 FirstRow1:1 FirstRow2:1 SecondRow ThirdRow FinalAnswer-2 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
257 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor DenominatorFactor EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:2 FinalAnswerDirection-0 FirstRow1:1 SecondRow ThirdRow FinalAnswer-0
|
258 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 NumeratorQuantity2-0 OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:2 FirstRow2:1 FirstRow1:1 FirstRow2:1 SecondRow ThirdRow FinalAnswer-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
259 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 NumeratorQuantity2-2 OptionalTask_1 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
260 |
-
PercentChange-2 NumeratorQuantity1-0 DenominatorQuantity1-0 NumeratorQuantity2-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FinalAnswer-0
|
261 |
-
PercentChange-2 NumeratorQuantity1-2 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
262 |
-
PercentChange-2 NumeratorQuantity1-2 NumeratorQuantity2-2 DenominatorQuantity1-2 NumeratorQuantity1-0 NumeratorQuantity2-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow2:1 FirstRow1:2 FirstRow1:1 FirstRow2:2 FirstRow1:2 FinalAnswerDirection-0 SecondRow ThirdRow FinalAnswer-0
|
263 |
-
PercentChange-2 DenominatorQuantity1-2 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 NumeratorQuantity2-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:2 FirstRow1:1 FirstRow2:1 FirstRow1:1 SecondRow ThirdRow FinalAnswer-2
|
264 |
-
PercentChange-0 NumeratorQuantity2-2 DenominatorQuantity1-0 NumeratorQuantity2-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow1:2 FirstRow2:2 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2 NumeratorFactor EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
265 |
-
PercentChange-0 NumeratorQuantity1-0 NumeratorQuantity2-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
266 |
-
PercentChange-2 DenominatorQuantity1-2 NumeratorQuantity1-2 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-2 FinalAnswerDirection-0 OptionalTask_1 NumeratorFactor EquationAnswer DenominatorFactor NumeratorFactor OptionalTask_2 FirstRow2:1 FirstRow1:1 FirstRow2:2 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
267 |
-
PercentChange-0 NumeratorQuantity1-0 NumeratorQuantity2-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
268 |
-
PercentChange-0 NumeratorQuantity1-2 NumeratorQuantity2-0 DenominatorQuantity1-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor DenominatorFactor EquationAnswer OptionalTask_2 FinalAnswerDirection-0 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0
|
269 |
-
PercentChange-0 DenominatorQuantity1-2 NumeratorQuantity1-0 NumeratorQuantity2-2 DenominatorQuantity1-0 NumeratorQuantity2-0 OptionalTask_1 OptionalTask_2 FirstRow1:2 FirstRow2:2 FirstRow2:1 FirstRow1:1 SecondRow ThirdRow FinalAnswer-2 NumeratorFactor DenominatorFactor NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2
|
270 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 DenominatorFactor NumeratorFactor EquationAnswer FirstRow2:1 FirstRow2:2 FirstRow1:2 FirstRow1:1 SecondRow ThirdRow FinalAnswer-2
|
271 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 DenominatorFactor NumeratorFactor EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
272 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow DenominatorFactor EquationAnswer DenominatorFactor NumeratorFactor FinalAnswer-2
|
273 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 OptionalTask_1 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow EquationAnswer FinalAnswer-0
|
274 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2 EquationAnswer FinalAnswer-0
|
275 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 NumeratorFactor DenominatorFactor EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
276 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
277 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow2:2 FirstRow2:1 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
278 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 OptionalTask_2 DenominatorFactor EquationAnswer DenominatorFactor FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow EquationAnswer NumeratorFactor DenominatorFactor FinalAnswer-2 FinalAnswerDirection-0
|
279 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow FinalAnswer-0 FinalAnswerDirection-0
|
280 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
281 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
282 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswerDirection-0 FinalAnswer-0
|
283 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2 OptionalTask_1 FinalAnswer-2
|
284 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2
|
285 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
286 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-2 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2
|
287 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
288 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
289 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
290 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
291 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
292 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0
|
293 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0
|
294 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0
|
295 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
296 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-2 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
297 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-2 FinalAnswerDirection-0
|
298 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
299 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
300 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2
|
301 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0
|
302 |
-
PercentChange-2 NumeratorQuantity1-2 DenominatorQuantity1-2 NumeratorQuantity1-0 DenominatorQuantity1-0 NumeratorQuantity2-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
303 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-2 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 FinalAnswer-2 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-0
|
304 |
-
PercentChange-0 NumeratorQuantity2-2 DenominatorQuantity1-0 NumeratorQuantity1-0 NumeratorQuantity2-0 OptionalTask_1 EquationAnswer NumeratorFactor FinalAnswerDirection-0 NumeratorFactor OptionalTask_2 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0
|
305 |
-
PercentChange-0 NumeratorQuantity2-2 DenominatorQuantity1-0 NumeratorQuantity1-2 NumeratorQuantity2-2 OptionalTask_1 OptionalTask_2 DenominatorFactor NumeratorFactor EquationAnswer FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
306 |
-
PercentChange-0 DenominatorQuantity1-0 NumeratorQuantity2-2 NumeratorQuantity1-0 NumeratorQuantity2-2 FinalAnswer-2 OptionalTask_2 OptionalTask_1 EquationAnswer DenominatorFactor EquationAnswer DenominatorFactor FinalAnswerDirection-0 NumeratorFactor EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-0
|
307 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-2 NumeratorQuantity1-2 OptionalTask_1 OptionalTask_2 FinalAnswerDirection-0 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-0
|
308 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 NumeratorQuantity2-0 OptionalTask_1 OptionalTask_2 EquationAnswer DenominatorFactor NumeratorFactor EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 FinalAnswerDirection-2 SecondRow ThirdRow FinalAnswer-2
|
309 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 OptionalTask_2 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer FirstRow2:2 FirstRow2:1 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
310 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 OptionalTask_2 NumeratorFactor DenominatorFactor NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-2
|
311 |
-
PercentChange-0 DenominatorQuantity1-0 NumeratorQuantity2-0 NumeratorQuantity1-0 OptionalTask_1 OptionalTask_2 EquationAnswer NumeratorFactor DenominatorFactor FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-0
|
312 |
-
PercentChange-0 DenominatorQuantity1-0 NumeratorQuantity2-2 NumeratorQuantity1-2 NumeratorQuantity2-0 OptionalTask_1 OptionalTask_2 FinalAnswerDirection-0 FinalAnswer-2 FirstRow2:1 FirstRow1:1 FirstRow2:2 FirstRow1:2 EquationAnswer NumeratorFactor DenominatorFactor SecondRow ThirdRow FinalAnswer-0
|
313 |
-
PercentChange-2 NumeratorQuantity2-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
314 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
315 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 FinalAnswer-2 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2
|
316 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
317 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 FinalAnswer-2 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
318 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2
|
319 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
320 |
-
PercentChange-0 DenominatorQuantity1-0 NumeratorQuantity1-0 NumeratorQuantity2-0 OptionalTask_1 EquationAnswer NumeratorFactor DenominatorFactor OptionalTask_2 FinalAnswer-2
|
321 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2
|
322 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 FinalAnswerDirection-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0
|
323 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-0 FinalAnswerDirection-0
|
324 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
325 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-0
|
326 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2
|
327 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-0
|
328 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
329 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-0
|
330 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-2 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-2
|
331 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-2
|
332 |
-
PercentChange-0 NumeratorQuantity2-0 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 SecondRow ThirdRow FinalAnswer-0 FinalAnswerDirection-0
|
333 |
-
PercentChange-0 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor DenominatorFactor EquationAnswer SecondRow ThirdRow FinalAnswer-2
|
334 |
-
PercentChange-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 FinalAnswer-2 OptionalTask_1 NumeratorFactor EquationAnswer NumeratorFactor DenominatorFactor NumeratorFactor FinalAnswer-2
|
335 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 NumeratorQuantity2-2 DenominatorQuantity1-0 FinalAnswer-2 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor DenominatorFactor NumeratorFactor DenominatorFactor NumeratorFactor DenominatorFactor NumeratorFactor DenominatorFactor NumeratorFactor DenominatorFactor EquationAnswer FinalAnswer-2 OptionalTask_2 FirstRow1:1 FirstRow2:2 FirstRow2:1 FirstRow1:1 FirstRow1:2 SecondRow ThirdRow FinalAnswer-2
|
336 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_1 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer OptionalTask_2 FirstRow1:1 FirstRow1:2 FirstRow2:1 FirstRow2:2 FirstRow2:1 SecondRow ThirdRow FinalAnswer-1
|
337 |
-
PercentChange-2 DenominatorQuantity1-2 NumeratorQuantity2-0 NumeratorQuantity1-0 DenominatorQuantity1-0 OptionalTask_2 FirstRow1:2 FirstRow1:1 FirstRow2:1 FirstRow2:2 FirstRow1:1 FirstRow2:2 SecondRow ThirdRow OptionalTask_1 DenominatorFactor NumeratorFactor EquationAnswer FinalAnswer-2
|
338 |
-
PercentChange-2 NumeratorQuantity2-2 NumeratorQuantity1-0 DenominatorQuantity1-0 NumeratorQuantity2-2 OptionalTask_1 EquationAnswer NumeratorFactor FinalAnswerDirection-0 OptionalTask_2 DenominatorFactor NumeratorFactor EquationAnswer FirstRow2:2 FirstRow2:1 FirstRow1:2 FinalAnswer-1 EquationAnswer FirstRow1:1 SecondRow ThirdRow FinalAnswer-2
|
339 |
-
PercentChange-0 NumeratorQuantity2-2 NumeratorQuantity1-2 DenominatorQuantity1-0 NumeratorQuantity1-0 OptionalTask_1 OptionalTask_2 NumeratorFactor DenominatorFactor NumeratorFactor EquationAnswer NumeratorFactor DenominatorFactor FinalAnswer-2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/first10/test_info.txt
DELETED
The diff for this file is too large to render.
See raw diff
|
|
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/first10/test_label.txt
DELETED
@@ -1,339 +0,0 @@
|
|
1 |
-
1
|
2 |
-
0
|
3 |
-
0
|
4 |
-
1
|
5 |
-
1
|
6 |
-
1
|
7 |
-
1
|
8 |
-
0
|
9 |
-
0
|
10 |
-
1
|
11 |
-
0
|
12 |
-
1
|
13 |
-
0
|
14 |
-
0
|
15 |
-
1
|
16 |
-
1
|
17 |
-
0
|
18 |
-
0
|
19 |
-
0
|
20 |
-
0
|
21 |
-
1
|
22 |
-
1
|
23 |
-
0
|
24 |
-
0
|
25 |
-
0
|
26 |
-
0
|
27 |
-
0
|
28 |
-
0
|
29 |
-
1
|
30 |
-
0
|
31 |
-
0
|
32 |
-
0
|
33 |
-
0
|
34 |
-
0
|
35 |
-
0
|
36 |
-
0
|
37 |
-
0
|
38 |
-
1
|
39 |
-
1
|
40 |
-
1
|
41 |
-
1
|
42 |
-
0
|
43 |
-
1
|
44 |
-
0
|
45 |
-
1
|
46 |
-
0
|
47 |
-
0
|
48 |
-
0
|
49 |
-
1
|
50 |
-
0
|
51 |
-
1
|
52 |
-
0
|
53 |
-
0
|
54 |
-
0
|
55 |
-
1
|
56 |
-
0
|
57 |
-
0
|
58 |
-
1
|
59 |
-
0
|
60 |
-
1
|
61 |
-
0
|
62 |
-
0
|
63 |
-
1
|
64 |
-
0
|
65 |
-
0
|
66 |
-
1
|
67 |
-
1
|
68 |
-
1
|
69 |
-
1
|
70 |
-
0
|
71 |
-
0
|
72 |
-
0
|
73 |
-
0
|
74 |
-
1
|
75 |
-
1
|
76 |
-
0
|
77 |
-
1
|
78 |
-
1
|
79 |
-
1
|
80 |
-
1
|
81 |
-
1
|
82 |
-
1
|
83 |
-
1
|
84 |
-
1
|
85 |
-
0
|
86 |
-
1
|
87 |
-
1
|
88 |
-
0
|
89 |
-
1
|
90 |
-
1
|
91 |
-
1
|
92 |
-
0
|
93 |
-
0
|
94 |
-
0
|
95 |
-
1
|
96 |
-
0
|
97 |
-
1
|
98 |
-
1
|
99 |
-
0
|
100 |
-
0
|
101 |
-
0
|
102 |
-
0
|
103 |
-
1
|
104 |
-
1
|
105 |
-
0
|
106 |
-
1
|
107 |
-
0
|
108 |
-
1
|
109 |
-
0
|
110 |
-
0
|
111 |
-
0
|
112 |
-
1
|
113 |
-
0
|
114 |
-
0
|
115 |
-
1
|
116 |
-
0
|
117 |
-
0
|
118 |
-
0
|
119 |
-
0
|
120 |
-
0
|
121 |
-
0
|
122 |
-
0
|
123 |
-
0
|
124 |
-
0
|
125 |
-
1
|
126 |
-
0
|
127 |
-
0
|
128 |
-
0
|
129 |
-
0
|
130 |
-
0
|
131 |
-
0
|
132 |
-
1
|
133 |
-
1
|
134 |
-
1
|
135 |
-
1
|
136 |
-
0
|
137 |
-
0
|
138 |
-
0
|
139 |
-
1
|
140 |
-
0
|
141 |
-
1
|
142 |
-
0
|
143 |
-
1
|
144 |
-
1
|
145 |
-
1
|
146 |
-
1
|
147 |
-
1
|
148 |
-
0
|
149 |
-
1
|
150 |
-
0
|
151 |
-
1
|
152 |
-
0
|
153 |
-
1
|
154 |
-
1
|
155 |
-
0
|
156 |
-
0
|
157 |
-
1
|
158 |
-
1
|
159 |
-
0
|
160 |
-
0
|
161 |
-
0
|
162 |
-
1
|
163 |
-
1
|
164 |
-
0
|
165 |
-
1
|
166 |
-
0
|
167 |
-
1
|
168 |
-
1
|
169 |
-
1
|
170 |
-
1
|
171 |
-
0
|
172 |
-
0
|
173 |
-
0
|
174 |
-
0
|
175 |
-
0
|
176 |
-
0
|
177 |
-
0
|
178 |
-
1
|
179 |
-
0
|
180 |
-
1
|
181 |
-
0
|
182 |
-
0
|
183 |
-
0
|
184 |
-
0
|
185 |
-
0
|
186 |
-
0
|
187 |
-
0
|
188 |
-
0
|
189 |
-
0
|
190 |
-
1
|
191 |
-
0
|
192 |
-
1
|
193 |
-
0
|
194 |
-
0
|
195 |
-
1
|
196 |
-
1
|
197 |
-
0
|
198 |
-
1
|
199 |
-
0
|
200 |
-
0
|
201 |
-
0
|
202 |
-
0
|
203 |
-
1
|
204 |
-
1
|
205 |
-
0
|
206 |
-
0
|
207 |
-
0
|
208 |
-
1
|
209 |
-
0
|
210 |
-
0
|
211 |
-
0
|
212 |
-
0
|
213 |
-
0
|
214 |
-
1
|
215 |
-
1
|
216 |
-
0
|
217 |
-
1
|
218 |
-
0
|
219 |
-
1
|
220 |
-
0
|
221 |
-
0
|
222 |
-
0
|
223 |
-
1
|
224 |
-
0
|
225 |
-
1
|
226 |
-
0
|
227 |
-
1
|
228 |
-
0
|
229 |
-
1
|
230 |
-
0
|
231 |
-
1
|
232 |
-
1
|
233 |
-
1
|
234 |
-
1
|
235 |
-
1
|
236 |
-
0
|
237 |
-
0
|
238 |
-
1
|
239 |
-
0
|
240 |
-
1
|
241 |
-
1
|
242 |
-
1
|
243 |
-
1
|
244 |
-
1
|
245 |
-
1
|
246 |
-
0
|
247 |
-
1
|
248 |
-
1
|
249 |
-
1
|
250 |
-
1
|
251 |
-
1
|
252 |
-
1
|
253 |
-
0
|
254 |
-
1
|
255 |
-
1
|
256 |
-
0
|
257 |
-
1
|
258 |
-
0
|
259 |
-
1
|
260 |
-
1
|
261 |
-
1
|
262 |
-
1
|
263 |
-
0
|
264 |
-
0
|
265 |
-
1
|
266 |
-
1
|
267 |
-
0
|
268 |
-
1
|
269 |
-
0
|
270 |
-
0
|
271 |
-
1
|
272 |
-
0
|
273 |
-
1
|
274 |
-
0
|
275 |
-
0
|
276 |
-
1
|
277 |
-
0
|
278 |
-
0
|
279 |
-
1
|
280 |
-
1
|
281 |
-
1
|
282 |
-
1
|
283 |
-
0
|
284 |
-
0
|
285 |
-
1
|
286 |
-
0
|
287 |
-
0
|
288 |
-
1
|
289 |
-
0
|
290 |
-
1
|
291 |
-
0
|
292 |
-
1
|
293 |
-
1
|
294 |
-
1
|
295 |
-
1
|
296 |
-
0
|
297 |
-
0
|
298 |
-
0
|
299 |
-
0
|
300 |
-
0
|
301 |
-
1
|
302 |
-
1
|
303 |
-
1
|
304 |
-
1
|
305 |
-
0
|
306 |
-
1
|
307 |
-
1
|
308 |
-
0
|
309 |
-
0
|
310 |
-
0
|
311 |
-
1
|
312 |
-
1
|
313 |
-
0
|
314 |
-
1
|
315 |
-
0
|
316 |
-
1
|
317 |
-
1
|
318 |
-
0
|
319 |
-
1
|
320 |
-
0
|
321 |
-
0
|
322 |
-
1
|
323 |
-
1
|
324 |
-
0
|
325 |
-
1
|
326 |
-
0
|
327 |
-
1
|
328 |
-
0
|
329 |
-
1
|
330 |
-
0
|
331 |
-
0
|
332 |
-
1
|
333 |
-
0
|
334 |
-
0
|
335 |
-
0
|
336 |
-
0
|
337 |
-
0
|
338 |
-
0
|
339 |
-
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/fullData/train.txt
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:2ea646c2016cc3d12d46f91568c616b04957408fb85004cc7bf11058a859752d
|
3 |
-
size 24283555
|
|
|
|
|
|
|
|
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/fullData/train_info.txt
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:0c2b895dbf22e22fb0dcff62b96db220dc3bf8206812b444fef4672bd2f2eb4a
|
3 |
-
size 189793031
|
|
|
|
|
|
|
|
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/highGRschool10/test.txt
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/highGRschool10/test_info.txt
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:290e1dfc17f54b73f7e86c5981a5da584b5c5a8ad157beb1f8bd2fb698ffbfb6
|
3 |
+
size 7581589
|
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/highGRschool10/test_label.txt
CHANGED
@@ -3,39 +3,32 @@
|
|
3 |
1
|
4 |
0
|
5 |
1
|
6 |
-
1
|
7 |
-
1
|
8 |
-
0
|
9 |
-
1
|
10 |
0
|
11 |
1
|
12 |
1
|
13 |
1
|
14 |
-
1
|
15 |
0
|
16 |
1
|
17 |
0
|
18 |
-
0
|
19 |
1
|
20 |
0
|
21 |
-
1
|
22 |
0
|
23 |
-
1
|
24 |
0
|
25 |
0
|
26 |
1
|
27 |
1
|
28 |
0
|
29 |
-
0
|
30 |
-
0
|
31 |
-
0
|
32 |
-
1
|
33 |
1
|
34 |
1
|
35 |
1
|
36 |
0
|
|
|
|
|
|
|
37 |
0
|
38 |
-
|
|
|
|
|
39 |
0
|
40 |
1
|
41 |
1
|
@@ -45,51 +38,74 @@
|
|
45 |
0
|
46 |
0
|
47 |
0
|
|
|
|
|
|
|
48 |
1
|
|
|
|
|
49 |
1
|
50 |
1
|
51 |
0
|
52 |
0
|
|
|
53 |
0
|
54 |
1
|
55 |
0
|
56 |
0
|
57 |
1
|
|
|
58 |
1
|
59 |
1
|
60 |
1
|
61 |
1
|
62 |
1
|
63 |
0
|
64 |
-
0
|
65 |
1
|
66 |
1
|
67 |
1
|
68 |
0
|
69 |
1
|
|
|
|
|
70 |
1
|
71 |
-
|
|
|
|
|
|
|
|
|
72 |
0
|
73 |
1
|
74 |
1
|
75 |
0
|
|
|
|
|
|
|
76 |
1
|
|
|
77 |
1
|
|
|
78 |
1
|
79 |
1
|
80 |
0
|
81 |
1
|
82 |
1
|
|
|
83 |
1
|
84 |
1
|
|
|
85 |
1
|
86 |
1
|
87 |
1
|
|
|
88 |
1
|
89 |
0
|
|
|
90 |
0
|
91 |
1
|
92 |
1
|
|
|
|
|
93 |
1
|
94 |
1
|
95 |
0
|
@@ -99,52 +115,47 @@
|
|
99 |
1
|
100 |
1
|
101 |
1
|
|
|
102 |
1
|
103 |
1
|
104 |
0
|
105 |
0
|
106 |
-
0
|
107 |
-
0
|
108 |
-
0
|
109 |
-
0
|
110 |
-
1
|
111 |
1
|
|
|
112 |
1
|
113 |
1
|
|
|
114 |
1
|
115 |
1
|
116 |
0
|
117 |
1
|
118 |
0
|
119 |
0
|
120 |
-
0
|
121 |
-
0
|
122 |
-
0
|
123 |
-
0
|
124 |
1
|
125 |
-
1
|
126 |
-
0
|
127 |
0
|
128 |
1
|
129 |
1
|
130 |
1
|
131 |
1
|
132 |
-
0
|
133 |
-
0
|
134 |
1
|
135 |
0
|
136 |
-
1
|
137 |
0
|
138 |
0
|
139 |
1
|
140 |
1
|
|
|
|
|
|
|
|
|
|
|
141 |
0
|
142 |
0
|
143 |
0
|
144 |
0
|
145 |
1
|
146 |
-
1
|
147 |
0
|
|
|
|
|
148 |
0
|
149 |
0
|
150 |
0
|
@@ -153,11 +164,12 @@
|
|
153 |
1
|
154 |
0
|
155 |
0
|
|
|
156 |
0
|
157 |
0
|
|
|
158 |
0
|
159 |
-
|
160 |
-
0
|
161 |
0
|
162 |
1
|
163 |
1
|
@@ -165,33 +177,31 @@
|
|
165 |
1
|
166 |
0
|
167 |
1
|
168 |
-
1
|
169 |
0
|
|
|
170 |
0
|
|
|
171 |
0
|
172 |
1
|
173 |
1
|
174 |
0
|
175 |
0
|
176 |
1
|
177 |
-
1
|
178 |
0
|
179 |
0
|
180 |
1
|
181 |
0
|
|
|
182 |
0
|
183 |
0
|
184 |
0
|
185 |
0
|
186 |
0
|
187 |
-
1
|
188 |
-
0
|
189 |
0
|
190 |
1
|
191 |
1
|
192 |
0
|
193 |
-
|
194 |
-
1
|
195 |
0
|
196 |
1
|
197 |
0
|
@@ -199,6 +209,7 @@
|
|
199 |
0
|
200 |
1
|
201 |
0
|
|
|
202 |
0
|
203 |
1
|
204 |
1
|
@@ -207,6 +218,7 @@
|
|
207 |
1
|
208 |
1
|
209 |
0
|
|
|
210 |
0
|
211 |
0
|
212 |
0
|
@@ -214,37 +226,22 @@
|
|
214 |
1
|
215 |
1
|
216 |
1
|
|
|
217 |
1
|
218 |
1
|
219 |
1
|
220 |
-
1
|
221 |
-
1
|
222 |
-
1
|
223 |
-
1
|
224 |
-
1
|
225 |
-
1
|
226 |
-
1
|
227 |
-
1
|
228 |
-
0
|
229 |
0
|
230 |
0
|
231 |
-
1
|
232 |
0
|
233 |
-
1
|
234 |
0
|
235 |
-
1
|
236 |
-
1
|
237 |
0
|
238 |
0
|
239 |
1
|
240 |
-
0
|
241 |
1
|
242 |
0
|
243 |
0
|
244 |
0
|
245 |
0
|
246 |
-
1
|
247 |
-
0
|
248 |
0
|
249 |
0
|
250 |
0
|
@@ -253,32 +250,26 @@
|
|
253 |
0
|
254 |
0
|
255 |
1
|
256 |
-
1
|
257 |
-
1
|
258 |
-
1
|
259 |
0
|
260 |
0
|
261 |
0
|
262 |
0
|
263 |
-
1
|
264 |
0
|
|
|
265 |
0
|
266 |
0
|
267 |
-
1
|
268 |
0
|
269 |
-
1
|
270 |
0
|
271 |
0
|
272 |
0
|
273 |
-
1
|
274 |
0
|
275 |
-
1
|
276 |
0
|
277 |
0
|
278 |
0
|
279 |
-
1
|
280 |
0
|
281 |
0
|
|
|
|
|
282 |
0
|
283 |
0
|
284 |
0
|
@@ -288,29 +279,46 @@
|
|
288 |
1
|
289 |
1
|
290 |
0
|
|
|
|
|
|
|
291 |
1
|
292 |
1
|
293 |
1
|
294 |
1
|
|
|
295 |
1
|
296 |
0
|
297 |
0
|
|
|
|
|
|
|
|
|
|
|
298 |
1
|
299 |
1
|
300 |
1
|
301 |
1
|
302 |
1
|
303 |
0
|
304 |
-
|
305 |
1
|
306 |
0
|
307 |
0
|
308 |
0
|
|
|
|
|
|
|
|
|
309 |
0
|
310 |
1
|
311 |
1
|
312 |
0
|
|
|
|
|
313 |
1
|
|
|
|
|
314 |
1
|
315 |
0
|
316 |
0
|
@@ -325,23 +333,31 @@
|
|
325 |
0
|
326 |
1
|
327 |
1
|
|
|
|
|
328 |
1
|
329 |
0
|
330 |
0
|
331 |
1
|
332 |
1
|
|
|
|
|
|
|
|
|
|
|
|
|
333 |
0
|
334 |
0
|
335 |
0
|
336 |
1
|
337 |
1
|
|
|
338 |
0
|
339 |
1
|
340 |
1
|
341 |
0
|
342 |
1
|
343 |
-
|
344 |
-
0
|
345 |
1
|
346 |
1
|
347 |
1
|
@@ -350,32 +366,40 @@
|
|
350 |
0
|
351 |
1
|
352 |
1
|
353 |
-
|
354 |
0
|
355 |
1
|
356 |
1
|
357 |
0
|
358 |
0
|
359 |
-
1
|
360 |
0
|
361 |
1
|
362 |
1
|
363 |
1
|
364 |
1
|
365 |
1
|
|
|
366 |
1
|
367 |
0
|
|
|
368 |
0
|
369 |
0
|
370 |
0
|
371 |
1
|
|
|
|
|
|
|
|
|
|
|
372 |
0
|
|
|
373 |
0
|
374 |
0
|
|
|
|
|
375 |
0
|
376 |
0
|
377 |
1
|
378 |
-
0
|
379 |
1
|
380 |
1
|
381 |
1
|
@@ -383,11 +407,17 @@
|
|
383 |
0
|
384 |
0
|
385 |
0
|
|
|
|
|
386 |
1
|
387 |
1
|
388 |
1
|
389 |
0
|
390 |
1
|
|
|
|
|
|
|
|
|
391 |
0
|
392 |
1
|
393 |
1
|
@@ -395,20 +425,30 @@
|
|
395 |
0
|
396 |
0
|
397 |
1
|
|
|
|
|
|
|
398 |
1
|
|
|
399 |
1
|
400 |
0
|
401 |
1
|
|
|
402 |
1
|
403 |
0
|
|
|
404 |
1
|
405 |
1
|
406 |
0
|
407 |
1
|
|
|
|
|
|
|
408 |
0
|
409 |
0
|
410 |
1
|
411 |
0
|
|
|
412 |
0
|
413 |
1
|
414 |
1
|
@@ -420,19 +460,27 @@
|
|
420 |
0
|
421 |
1
|
422 |
1
|
|
|
|
|
423 |
0
|
424 |
1
|
425 |
1
|
426 |
1
|
427 |
0
|
428 |
1
|
429 |
-
0
|
430 |
1
|
431 |
0
|
|
|
|
|
|
|
|
|
|
|
|
|
432 |
1
|
433 |
0
|
434 |
0
|
435 |
0
|
|
|
436 |
0
|
437 |
1
|
438 |
0
|
@@ -440,11 +488,15 @@
|
|
440 |
1
|
441 |
0
|
442 |
0
|
|
|
|
|
443 |
1
|
444 |
0
|
445 |
0
|
446 |
0
|
447 |
0
|
|
|
|
|
448 |
0
|
449 |
0
|
450 |
0
|
@@ -452,16 +504,26 @@
|
|
452 |
0
|
453 |
0
|
454 |
0
|
|
|
|
|
|
|
455 |
0
|
456 |
0
|
457 |
0
|
458 |
1
|
459 |
1
|
|
|
460 |
0
|
|
|
|
|
|
|
|
|
|
|
461 |
0
|
|
|
|
|
462 |
0
|
463 |
0
|
464 |
-
1
|
465 |
0
|
466 |
0
|
467 |
1
|
@@ -475,10 +537,15 @@
|
|
475 |
1
|
476 |
1
|
477 |
0
|
|
|
|
|
|
|
|
|
478 |
1
|
479 |
0
|
480 |
0
|
481 |
1
|
|
|
482 |
0
|
483 |
0
|
484 |
0
|
@@ -486,48 +553,63 @@
|
|
486 |
1
|
487 |
1
|
488 |
1
|
489 |
-
1
|
490 |
-
1
|
491 |
0
|
|
|
492 |
0
|
|
|
493 |
0
|
494 |
0
|
|
|
|
|
|
|
495 |
0
|
|
|
496 |
0
|
|
|
497 |
0
|
498 |
0
|
499 |
0
|
500 |
0
|
|
|
501 |
0
|
502 |
0
|
503 |
0
|
504 |
1
|
505 |
-
1
|
506 |
0
|
507 |
0
|
508 |
1
|
509 |
1
|
510 |
1
|
|
|
511 |
1
|
512 |
1
|
513 |
1
|
514 |
0
|
515 |
1
|
516 |
-
|
517 |
-
1
|
518 |
1
|
519 |
1
|
520 |
0
|
521 |
0
|
|
|
|
|
522 |
0
|
523 |
1
|
|
|
524 |
1
|
|
|
525 |
1
|
|
|
|
|
526 |
1
|
527 |
0
|
528 |
0
|
529 |
1
|
530 |
1
|
|
|
|
|
|
|
|
|
531 |
1
|
532 |
0
|
533 |
0
|
@@ -537,18 +619,20 @@
|
|
537 |
0
|
538 |
0
|
539 |
0
|
|
|
|
|
540 |
0
|
541 |
1
|
542 |
1
|
|
|
543 |
1
|
544 |
0
|
545 |
0
|
|
|
546 |
0
|
547 |
0
|
548 |
1
|
549 |
1
|
550 |
-
1
|
551 |
-
1
|
552 |
0
|
553 |
0
|
554 |
0
|
@@ -559,19 +643,23 @@
|
|
559 |
1
|
560 |
1
|
561 |
0
|
562 |
-
|
563 |
1
|
564 |
0
|
565 |
0
|
|
|
|
|
|
|
566 |
1
|
567 |
1
|
568 |
1
|
569 |
0
|
570 |
0
|
571 |
1
|
572 |
-
0
|
573 |
1
|
574 |
1
|
|
|
|
|
575 |
1
|
576 |
1
|
577 |
0
|
@@ -580,29 +668,26 @@
|
|
580 |
0
|
581 |
1
|
582 |
0
|
|
|
583 |
1
|
584 |
1
|
585 |
0
|
586 |
1
|
587 |
0
|
588 |
-
1
|
589 |
0
|
590 |
1
|
591 |
1
|
592 |
1
|
593 |
0
|
594 |
0
|
595 |
-
1
|
596 |
-
0
|
597 |
0
|
|
|
598 |
0
|
599 |
0
|
600 |
1
|
601 |
-
0
|
602 |
1
|
603 |
1
|
604 |
-
|
605 |
-
0
|
606 |
0
|
607 |
0
|
608 |
1
|
@@ -611,37 +696,30 @@
|
|
611 |
1
|
612 |
0
|
613 |
1
|
614 |
-
1
|
615 |
0
|
616 |
1
|
617 |
1
|
618 |
1
|
619 |
-
1
|
620 |
0
|
|
|
621 |
0
|
622 |
1
|
623 |
1
|
624 |
1
|
625 |
-
0
|
626 |
-
0
|
627 |
-
0
|
628 |
-
0
|
629 |
1
|
630 |
0
|
631 |
0
|
632 |
1
|
633 |
1
|
634 |
0
|
635 |
-
0
|
636 |
-
1
|
637 |
1
|
638 |
1
|
639 |
0
|
640 |
1
|
641 |
0
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
0
|
646 |
0
|
647 |
0
|
@@ -649,49 +727,89 @@
|
|
649 |
0
|
650 |
1
|
651 |
0
|
|
|
|
|
652 |
0
|
653 |
0
|
|
|
654 |
0
|
655 |
1
|
656 |
1
|
657 |
-
|
658 |
-
|
659 |
1
|
660 |
0
|
661 |
1
|
|
|
|
|
|
|
662 |
0
|
663 |
0
|
664 |
1
|
665 |
0
|
666 |
0
|
667 |
-
|
|
|
|
|
|
|
|
|
668 |
1
|
669 |
0
|
670 |
0
|
671 |
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
672 |
0
|
673 |
0
|
674 |
0
|
|
|
675 |
0
|
676 |
0
|
677 |
0
|
|
|
|
|
|
|
|
|
678 |
0
|
679 |
0
|
680 |
-
|
|
|
|
|
|
|
681 |
1
|
682 |
0
|
|
|
|
|
683 |
0
|
|
|
|
|
684 |
0
|
685 |
0
|
686 |
0
|
|
|
687 |
0
|
688 |
0
|
689 |
0
|
|
|
|
|
690 |
0
|
|
|
|
|
|
|
691 |
0
|
692 |
0
|
|
|
|
|
693 |
0
|
694 |
0
|
|
|
|
|
695 |
0
|
696 |
0
|
697 |
0
|
@@ -701,127 +819,124 @@
|
|
701 |
1
|
702 |
1
|
703 |
0
|
|
|
704 |
0
|
|
|
|
|
|
|
705 |
0
|
706 |
0
|
707 |
0
|
708 |
0
|
709 |
-
0
|
710 |
-
1
|
711 |
-
1
|
712 |
-
1
|
713 |
-
1
|
714 |
1
|
715 |
0
|
716 |
0
|
717 |
0
|
718 |
1
|
719 |
1
|
720 |
-
|
|
|
721 |
1
|
722 |
1
|
723 |
0
|
724 |
0
|
725 |
0
|
726 |
-
1
|
727 |
0
|
728 |
0
|
729 |
-
1
|
730 |
-
1
|
731 |
0
|
732 |
1
|
733 |
1
|
734 |
0
|
735 |
0
|
|
|
736 |
1
|
|
|
737 |
1
|
738 |
0
|
739 |
0
|
740 |
1
|
741 |
1
|
|
|
742 |
1
|
743 |
0
|
744 |
0
|
745 |
0
|
746 |
0
|
747 |
0
|
748 |
-
|
749 |
0
|
750 |
1
|
751 |
0
|
752 |
0
|
753 |
1
|
754 |
0
|
|
|
755 |
0
|
756 |
1
|
757 |
1
|
758 |
1
|
|
|
|
|
759 |
1
|
760 |
0
|
761 |
0
|
762 |
0
|
763 |
-
|
764 |
-
|
765 |
-
1
|
766 |
-
1
|
767 |
1
|
768 |
0
|
769 |
0
|
770 |
0
|
771 |
0
|
772 |
-
1
|
773 |
-
1
|
774 |
-
1
|
775 |
-
1
|
776 |
-
1
|
777 |
0
|
778 |
0
|
779 |
0
|
780 |
0
|
781 |
-
|
782 |
1
|
783 |
1
|
784 |
0
|
785 |
0
|
|
|
|
|
786 |
1
|
787 |
1
|
788 |
-
0
|
789 |
1
|
790 |
1
|
791 |
0
|
792 |
0
|
793 |
0
|
794 |
1
|
|
|
795 |
0
|
796 |
0
|
797 |
0
|
798 |
1
|
799 |
1
|
800 |
0
|
|
|
801 |
0
|
802 |
1
|
803 |
0
|
804 |
1
|
|
|
805 |
0
|
|
|
806 |
0
|
807 |
1
|
808 |
0
|
809 |
1
|
810 |
1
|
|
|
811 |
0
|
812 |
0
|
813 |
0
|
814 |
-
1
|
815 |
-
0
|
816 |
0
|
817 |
1
|
818 |
1
|
819 |
1
|
820 |
-
1
|
821 |
0
|
822 |
-
|
823 |
-
1
|
824 |
-
1
|
825 |
1
|
826 |
0
|
827 |
0
|
@@ -829,18 +944,18 @@
|
|
829 |
1
|
830 |
1
|
831 |
1
|
832 |
-
0
|
833 |
-
0
|
834 |
1
|
|
|
835 |
1
|
|
|
836 |
1
|
837 |
1
|
838 |
1
|
839 |
0
|
840 |
0
|
841 |
-
1
|
842 |
0
|
843 |
1
|
|
|
844 |
0
|
845 |
0
|
846 |
0
|
@@ -848,43 +963,46 @@
|
|
848 |
0
|
849 |
0
|
850 |
0
|
851 |
-
1
|
852 |
-
0
|
853 |
0
|
854 |
0
|
855 |
0
|
856 |
0
|
|
|
857 |
0
|
858 |
1
|
859 |
0
|
|
|
860 |
1
|
861 |
1
|
862 |
1
|
863 |
0
|
864 |
0
|
865 |
-
|
866 |
1
|
867 |
0
|
868 |
0
|
869 |
0
|
870 |
-
1
|
871 |
-
1
|
872 |
-
1
|
873 |
-
1
|
874 |
0
|
875 |
0
|
876 |
0
|
877 |
-
1
|
878 |
0
|
879 |
1
|
880 |
0
|
|
|
881 |
1
|
|
|
882 |
1
|
|
|
|
|
|
|
|
|
|
|
883 |
1
|
884 |
1
|
885 |
1
|
886 |
0
|
887 |
-
|
|
|
888 |
0
|
889 |
1
|
890 |
0
|
@@ -893,31 +1011,37 @@
|
|
893 |
0
|
894 |
0
|
895 |
1
|
896 |
-
1
|
897 |
0
|
898 |
0
|
899 |
0
|
900 |
1
|
901 |
-
1
|
902 |
0
|
903 |
-
|
904 |
0
|
905 |
1
|
906 |
1
|
907 |
1
|
908 |
1
|
909 |
0
|
|
|
910 |
0
|
|
|
911 |
0
|
912 |
0
|
913 |
0
|
|
|
914 |
0
|
915 |
0
|
916 |
1
|
917 |
1
|
|
|
|
|
918 |
1
|
919 |
1
|
920 |
0
|
|
|
|
|
|
|
921 |
0
|
922 |
0
|
923 |
0
|
@@ -928,13 +1052,14 @@
|
|
928 |
0
|
929 |
0
|
930 |
0
|
|
|
931 |
0
|
|
|
932 |
0
|
933 |
0
|
934 |
0
|
935 |
0
|
936 |
0
|
937 |
-
1
|
938 |
0
|
939 |
1
|
940 |
0
|
@@ -944,113 +1069,124 @@
|
|
944 |
1
|
945 |
0
|
946 |
0
|
947 |
-
0
|
948 |
-
0
|
949 |
-
0
|
950 |
1
|
951 |
-
0
|
952 |
1
|
953 |
-
0
|
954 |
-
0
|
955 |
1
|
956 |
1
|
957 |
0
|
958 |
1
|
959 |
1
|
960 |
-
0
|
961 |
1
|
|
|
|
|
962 |
1
|
|
|
963 |
1
|
964 |
0
|
965 |
0
|
966 |
0
|
967 |
0
|
|
|
|
|
|
|
|
|
968 |
0
|
969 |
0
|
|
|
|
|
970 |
0
|
|
|
971 |
0
|
972 |
0
|
973 |
0
|
974 |
0
|
|
|
975 |
0
|
976 |
0
|
|
|
|
|
|
|
|
|
|
|
|
|
977 |
0
|
978 |
0
|
|
|
979 |
0
|
980 |
0
|
981 |
0
|
|
|
|
|
982 |
0
|
983 |
0
|
|
|
|
|
984 |
0
|
985 |
0
|
986 |
0
|
987 |
0
|
988 |
1
|
989 |
-
|
990 |
0
|
991 |
1
|
|
|
992 |
1
|
993 |
0
|
994 |
1
|
995 |
1
|
996 |
0
|
997 |
-
|
998 |
0
|
999 |
0
|
1000 |
1
|
1001 |
1
|
1002 |
1
|
1003 |
1
|
1004 |
-
0
|
1005 |
1
|
|
|
1006 |
1
|
1007 |
0
|
1008 |
0
|
1009 |
1
|
1010 |
0
|
1011 |
-
1
|
1012 |
0
|
1013 |
0
|
1014 |
1
|
1015 |
0
|
1016 |
1
|
1017 |
-
0
|
1018 |
1
|
1019 |
1
|
1020 |
0
|
1021 |
1
|
1022 |
1
|
1023 |
-
0
|
1024 |
-
0
|
1025 |
-
0
|
1026 |
1
|
1027 |
1
|
1028 |
1
|
|
|
1029 |
1
|
1030 |
1
|
|
|
1031 |
1
|
1032 |
0
|
1033 |
0
|
1034 |
-
|
1035 |
-
1
|
1036 |
-
1
|
1037 |
0
|
1038 |
1
|
1039 |
0
|
1040 |
0
|
1041 |
-
1
|
1042 |
0
|
1043 |
1
|
1044 |
-
0
|
1045 |
1
|
1046 |
0
|
1047 |
0
|
|
|
1048 |
0
|
1049 |
0
|
|
|
1050 |
0
|
1051 |
0
|
1052 |
0
|
1053 |
-
|
1054 |
1
|
1055 |
0
|
1056 |
1
|
@@ -1059,11 +1195,9 @@
|
|
1059 |
0
|
1060 |
0
|
1061 |
1
|
1062 |
-
1
|
1063 |
0
|
1064 |
0
|
1065 |
0
|
1066 |
-
1
|
1067 |
0
|
1068 |
0
|
1069 |
0
|
@@ -1071,43 +1205,57 @@
|
|
1071 |
0
|
1072 |
1
|
1073 |
0
|
1074 |
-
|
1075 |
0
|
1076 |
0
|
1077 |
1
|
1078 |
1
|
1079 |
0
|
1080 |
-
1
|
1081 |
-
0
|
1082 |
-
0
|
1083 |
0
|
1084 |
1
|
1085 |
0
|
|
|
1086 |
0
|
1087 |
0
|
1088 |
0
|
1089 |
0
|
|
|
1090 |
0
|
1091 |
0
|
|
|
1092 |
0
|
1093 |
0
|
|
|
|
|
1094 |
0
|
1095 |
0
|
|
|
1096 |
0
|
|
|
1097 |
0
|
1098 |
0
|
1099 |
0
|
|
|
|
|
|
|
1100 |
0
|
|
|
1101 |
0
|
1102 |
0
|
1103 |
1
|
|
|
1104 |
1
|
1105 |
0
|
1106 |
1
|
1107 |
1
|
|
|
|
|
|
|
|
|
1108 |
1
|
1109 |
0
|
1110 |
0
|
|
|
1111 |
0
|
1112 |
0
|
1113 |
0
|
@@ -1115,30 +1263,23 @@
|
|
1115 |
1
|
1116 |
1
|
1117 |
0
|
|
|
1118 |
1
|
1119 |
1
|
1120 |
-
|
1121 |
-
1
|
1122 |
1
|
1123 |
1
|
1124 |
0
|
1125 |
0
|
1126 |
0
|
1127 |
0
|
|
|
1128 |
1
|
1129 |
0
|
1130 |
0
|
1131 |
-
1
|
1132 |
-
1
|
1133 |
-
1
|
1134 |
0
|
1135 |
-
1
|
1136 |
-
1
|
1137 |
-
1
|
1138 |
-
1
|
1139 |
0
|
1140 |
0
|
1141 |
-
1
|
1142 |
0
|
1143 |
0
|
1144 |
1
|
@@ -1146,35 +1287,37 @@
|
|
1146 |
0
|
1147 |
1
|
1148 |
1
|
1149 |
-
|
1150 |
-
1
|
1151 |
0
|
1152 |
1
|
|
|
1153 |
1
|
1154 |
1
|
1155 |
1
|
1156 |
0
|
1157 |
1
|
1158 |
1
|
|
|
|
|
1159 |
1
|
1160 |
-
|
1161 |
-
1
|
1162 |
0
|
1163 |
0
|
1164 |
1
|
1165 |
-
|
1166 |
-
1
|
1167 |
-
1
|
1168 |
1
|
1169 |
0
|
1170 |
0
|
1171 |
0
|
1172 |
0
|
|
|
|
|
1173 |
1
|
1174 |
1
|
1175 |
-
0
|
1176 |
1
|
1177 |
0
|
|
|
|
|
1178 |
0
|
1179 |
1
|
1180 |
1
|
@@ -1186,6 +1329,17 @@
|
|
1186 |
0
|
1187 |
1
|
1188 |
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1189 |
1
|
1190 |
0
|
1191 |
1
|
@@ -1204,30 +1358,46 @@
|
|
1204 |
0
|
1205 |
0
|
1206 |
0
|
|
|
|
|
1207 |
0
|
|
|
1208 |
0
|
1209 |
1
|
|
|
|
|
|
|
1210 |
0
|
1211 |
0
|
1212 |
1
|
1213 |
1
|
|
|
|
|
1214 |
0
|
1215 |
0
|
1216 |
0
|
|
|
|
|
1217 |
0
|
1218 |
0
|
1219 |
1
|
|
|
|
|
|
|
|
|
|
|
1220 |
0
|
1221 |
0
|
1222 |
0
|
1223 |
-
1
|
1224 |
-
0
|
1225 |
-
1
|
1226 |
0
|
1227 |
0
|
1228 |
0
|
1229 |
0
|
1230 |
0
|
|
|
|
|
|
|
|
|
1231 |
0
|
1232 |
1
|
1233 |
0
|
@@ -1236,19 +1406,27 @@
|
|
1236 |
0
|
1237 |
0
|
1238 |
1
|
1239 |
-
0
|
1240 |
1
|
1241 |
0
|
1242 |
-
1
|
1243 |
0
|
1244 |
1
|
1245 |
0
|
|
|
1246 |
1
|
1247 |
1
|
1248 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1249 |
1
|
1250 |
1
|
1251 |
0
|
|
|
|
|
1252 |
0
|
1253 |
1
|
1254 |
0
|
@@ -1259,32 +1437,51 @@
|
|
1259 |
1
|
1260 |
1
|
1261 |
1
|
1262 |
-
0
|
1263 |
1
|
1264 |
1
|
1265 |
1
|
1266 |
-
|
|
|
|
|
1267 |
1
|
1268 |
0
|
1269 |
1
|
1270 |
0
|
|
|
|
|
|
|
1271 |
1
|
1272 |
1
|
|
|
1273 |
1
|
1274 |
1
|
1275 |
0
|
1276 |
1
|
1277 |
1
|
|
|
|
|
|
|
1278 |
0
|
1279 |
0
|
1280 |
0
|
1281 |
0
|
1282 |
1
|
|
|
|
|
|
|
|
|
1283 |
0
|
1284 |
0
|
|
|
|
|
|
|
|
|
1285 |
1
|
|
|
|
|
1286 |
0
|
1287 |
1
|
|
|
1288 |
0
|
1289 |
0
|
1290 |
0
|
@@ -1295,53 +1492,66 @@
|
|
1295 |
0
|
1296 |
0
|
1297 |
1
|
|
|
|
|
1298 |
1
|
1299 |
1
|
1300 |
1
|
1301 |
0
|
1302 |
0
|
|
|
1303 |
1
|
1304 |
0
|
1305 |
0
|
1306 |
0
|
|
|
1307 |
0
|
1308 |
0
|
1309 |
0
|
1310 |
-
1
|
1311 |
0
|
1312 |
1
|
1313 |
1
|
1314 |
1
|
|
|
|
|
|
|
|
|
|
|
1315 |
1
|
|
|
1316 |
1
|
|
|
|
|
1317 |
1
|
1318 |
1
|
1319 |
1
|
1320 |
0
|
1321 |
1
|
1322 |
1
|
1323 |
-
|
1324 |
0
|
1325 |
0
|
1326 |
1
|
1327 |
1
|
1328 |
1
|
|
|
1329 |
1
|
1330 |
1
|
1331 |
0
|
1332 |
0
|
1333 |
-
|
1334 |
-
|
|
|
|
|
1335 |
0
|
1336 |
1
|
1337 |
-
|
1338 |
1
|
1339 |
1
|
1340 |
1
|
1341 |
0
|
1342 |
1
|
1343 |
-
|
1344 |
-
1
|
1345 |
1
|
1346 |
1
|
1347 |
1
|
@@ -1349,12 +1559,21 @@
|
|
1349 |
1
|
1350 |
1
|
1351 |
0
|
1352 |
-
1
|
1353 |
0
|
|
|
|
|
1354 |
0
|
1355 |
0
|
|
|
1356 |
0
|
1357 |
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1358 |
0
|
1359 |
1
|
1360 |
0
|
@@ -1363,20 +1582,29 @@
|
|
1363 |
1
|
1364 |
0
|
1365 |
0
|
|
|
1366 |
1
|
1367 |
1
|
1368 |
0
|
|
|
1369 |
0
|
|
|
|
|
1370 |
0
|
1371 |
0
|
1372 |
0
|
|
|
|
|
|
|
1373 |
0
|
1374 |
0
|
1375 |
1
|
1376 |
-
0
|
1377 |
1
|
1378 |
1
|
1379 |
1
|
|
|
|
|
|
|
1380 |
0
|
1381 |
1
|
1382 |
1
|
@@ -1385,19 +1613,33 @@
|
|
1385 |
0
|
1386 |
1
|
1387 |
0
|
|
|
1388 |
0
|
1389 |
0
|
1390 |
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1391 |
0
|
1392 |
1
|
1393 |
0
|
|
|
1394 |
1
|
1395 |
1
|
1396 |
1
|
1397 |
1
|
1398 |
0
|
1399 |
0
|
|
|
|
|
1400 |
1
|
|
|
|
|
|
|
1401 |
1
|
1402 |
0
|
1403 |
1
|
@@ -1406,42 +1648,51 @@
|
|
1406 |
1
|
1407 |
0
|
1408 |
1
|
|
|
1409 |
0
|
1410 |
0
|
1411 |
1
|
|
|
1412 |
0
|
1413 |
0
|
1414 |
1
|
1415 |
1
|
1416 |
-
0
|
1417 |
1
|
1418 |
1
|
1419 |
1
|
1420 |
0
|
|
|
1421 |
1
|
1422 |
1
|
1423 |
1
|
1424 |
0
|
|
|
|
|
|
|
1425 |
0
|
1426 |
0
|
|
|
1427 |
0
|
1428 |
0
|
1429 |
0
|
1430 |
0
|
1431 |
0
|
1432 |
1
|
1433 |
-
1
|
1434 |
0
|
1435 |
0
|
1436 |
0
|
1437 |
0
|
1438 |
1
|
|
|
|
|
|
|
|
|
1439 |
1
|
1440 |
1
|
1441 |
1
|
1442 |
0
|
1443 |
-
0
|
1444 |
1
|
|
|
1445 |
1
|
1446 |
1
|
1447 |
1
|
@@ -1449,25 +1700,33 @@
|
|
1449 |
0
|
1450 |
0
|
1451 |
0
|
1452 |
-
0
|
1453 |
-
0
|
1454 |
-
0
|
1455 |
1
|
1456 |
1
|
|
|
1457 |
1
|
1458 |
1
|
1459 |
0
|
1460 |
1
|
1461 |
1
|
|
|
1462 |
1
|
1463 |
1
|
|
|
|
|
1464 |
1
|
|
|
1465 |
1
|
|
|
1466 |
1
|
1467 |
0
|
1468 |
0
|
|
|
|
|
1469 |
1
|
|
|
|
|
1470 |
0
|
|
|
1471 |
0
|
1472 |
1
|
1473 |
1
|
@@ -1476,12 +1735,15 @@
|
|
1476 |
0
|
1477 |
1
|
1478 |
1
|
1479 |
-
0
|
1480 |
1
|
1481 |
1
|
1482 |
1
|
1483 |
0
|
1484 |
1
|
|
|
|
|
|
|
|
|
1485 |
1
|
1486 |
1
|
1487 |
1
|
@@ -1489,68 +1751,73 @@
|
|
1489 |
1
|
1490 |
0
|
1491 |
0
|
|
|
|
|
|
|
|
|
1492 |
1
|
1493 |
1
|
1494 |
1
|
1495 |
0
|
|
|
|
|
1496 |
0
|
1497 |
0
|
1498 |
1
|
1499 |
0
|
|
|
1500 |
0
|
1501 |
0
|
|
|
1502 |
0
|
1503 |
1
|
|
|
1504 |
0
|
|
|
1505 |
0
|
1506 |
0
|
1507 |
1
|
1508 |
1
|
|
|
1509 |
0
|
1510 |
0
|
1511 |
0
|
1512 |
0
|
1513 |
1
|
1514 |
1
|
1515 |
-
1
|
1516 |
-
1
|
1517 |
0
|
1518 |
1
|
1519 |
0
|
|
|
1520 |
1
|
1521 |
1
|
1522 |
1
|
|
|
1523 |
1
|
1524 |
0
|
|
|
|
|
1525 |
0
|
1526 |
0
|
1527 |
0
|
1528 |
0
|
1529 |
1
|
1530 |
-
1
|
1531 |
-
1
|
1532 |
0
|
1533 |
-
1
|
1534 |
-
1
|
1535 |
-
1
|
1536 |
0
|
1537 |
0
|
1538 |
1
|
1539 |
1
|
1540 |
1
|
1541 |
-
0
|
1542 |
-
0
|
1543 |
-
0
|
1544 |
1
|
1545 |
1
|
1546 |
1
|
1547 |
0
|
1548 |
1
|
1549 |
1
|
|
|
1550 |
0
|
1551 |
1
|
1552 |
1
|
1553 |
-
0
|
1554 |
1
|
1555 |
0
|
1556 |
1
|
@@ -1558,61 +1825,45 @@
|
|
1558 |
1
|
1559 |
1
|
1560 |
1
|
1561 |
-
0
|
1562 |
1
|
1563 |
1
|
1564 |
1
|
1565 |
1
|
1566 |
0
|
1567 |
0
|
1568 |
-
1
|
1569 |
-
1
|
1570 |
0
|
1571 |
1
|
1572 |
-
0
|
1573 |
1
|
1574 |
0
|
1575 |
-
1
|
1576 |
0
|
1577 |
-
1
|
1578 |
0
|
1579 |
0
|
1580 |
0
|
1581 |
1
|
1582 |
-
|
1583 |
0
|
1584 |
1
|
1585 |
0
|
1586 |
0
|
1587 |
-
1
|
1588 |
-
1
|
1589 |
0
|
1590 |
-
1
|
1591 |
-
1
|
1592 |
0
|
1593 |
0
|
1594 |
0
|
1595 |
1
|
1596 |
1
|
1597 |
-
0
|
1598 |
1
|
1599 |
0
|
1600 |
-
1
|
1601 |
-
1
|
1602 |
0
|
1603 |
1
|
1604 |
0
|
1605 |
0
|
1606 |
-
1
|
1607 |
-
1
|
1608 |
0
|
1609 |
0
|
1610 |
-
|
1611 |
1
|
1612 |
1
|
1613 |
0
|
1614 |
1
|
1615 |
-
0
|
1616 |
1
|
1617 |
0
|
1618 |
0
|
@@ -1622,24 +1873,32 @@
|
|
1622 |
1
|
1623 |
0
|
1624 |
0
|
|
|
|
|
1625 |
1
|
1626 |
1
|
1627 |
0
|
1628 |
0
|
1629 |
1
|
|
|
|
|
1630 |
1
|
1631 |
0
|
|
|
|
|
|
|
1632 |
1
|
1633 |
0
|
|
|
1634 |
0
|
1635 |
1
|
|
|
|
|
1636 |
0
|
1637 |
0
|
1638 |
0
|
1639 |
1
|
1640 |
0
|
1641 |
-
1
|
1642 |
-
1
|
1643 |
0
|
1644 |
0
|
1645 |
0
|
@@ -1648,38 +1907,33 @@
|
|
1648 |
0
|
1649 |
0
|
1650 |
0
|
1651 |
-
1
|
1652 |
0
|
1653 |
-
1
|
1654 |
-
1
|
1655 |
0
|
1656 |
0
|
1657 |
0
|
1658 |
-
1
|
1659 |
0
|
1660 |
1
|
1661 |
1
|
1662 |
0
|
1663 |
0
|
1664 |
-
1
|
1665 |
-
1
|
1666 |
0
|
1667 |
1
|
1668 |
1
|
1669 |
0
|
1670 |
1
|
1671 |
1
|
|
|
1672 |
0
|
|
|
1673 |
0
|
1674 |
1
|
1675 |
1
|
1676 |
-
0
|
1677 |
1
|
1678 |
1
|
1679 |
0
|
1680 |
0
|
1681 |
-
0
|
1682 |
1
|
|
|
1683 |
1
|
1684 |
1
|
1685 |
1
|
@@ -1697,22 +1951,5161 @@
|
|
1697 |
0
|
1698 |
0
|
1699 |
0
|
|
|
|
|
|
|
|
|
1700 |
0
|
1701 |
0
|
1702 |
0
|
1703 |
0
|
1704 |
0
|
1705 |
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1706 |
0
|
1707 |
0
|
1708 |
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1709 |
0
|
|
|
1710 |
0
|
|
|
|
|
|
|
1711 |
0
|
1712 |
0
|
1713 |
0
|
|
|
1714 |
0
|
|
|
|
|
|
|
|
|
|
|
1715 |
0
|
|
|
|
|
|
|
|
|
|
|
|
|
1716 |
0
|
|
|
|
|
|
|
|
|
1717 |
0
|
|
|
1718 |
0
|
|
|
|
|
|
|
|
3 |
1
|
4 |
0
|
5 |
1
|
|
|
|
|
|
|
|
|
6 |
0
|
7 |
1
|
8 |
1
|
9 |
1
|
|
|
10 |
0
|
11 |
1
|
12 |
0
|
|
|
13 |
1
|
14 |
0
|
|
|
15 |
0
|
|
|
16 |
0
|
17 |
0
|
18 |
1
|
19 |
1
|
20 |
0
|
|
|
|
|
|
|
|
|
21 |
1
|
22 |
1
|
23 |
1
|
24 |
0
|
25 |
+
1
|
26 |
+
1
|
27 |
+
1
|
28 |
0
|
29 |
+
1
|
30 |
+
1
|
31 |
+
1
|
32 |
0
|
33 |
1
|
34 |
1
|
|
|
38 |
0
|
39 |
0
|
40 |
0
|
41 |
+
0
|
42 |
+
0
|
43 |
+
0
|
44 |
1
|
45 |
+
0
|
46 |
+
0
|
47 |
1
|
48 |
1
|
49 |
0
|
50 |
0
|
51 |
+
1
|
52 |
0
|
53 |
1
|
54 |
0
|
55 |
0
|
56 |
1
|
57 |
+
0
|
58 |
1
|
59 |
1
|
60 |
1
|
61 |
1
|
62 |
1
|
63 |
0
|
|
|
64 |
1
|
65 |
1
|
66 |
1
|
67 |
0
|
68 |
1
|
69 |
+
0
|
70 |
+
0
|
71 |
1
|
72 |
+
0
|
73 |
+
0
|
74 |
+
0
|
75 |
+
0
|
76 |
+
0
|
77 |
0
|
78 |
1
|
79 |
1
|
80 |
0
|
81 |
+
0
|
82 |
+
0
|
83 |
+
1
|
84 |
1
|
85 |
+
0
|
86 |
1
|
87 |
+
0
|
88 |
1
|
89 |
1
|
90 |
0
|
91 |
1
|
92 |
1
|
93 |
+
0
|
94 |
1
|
95 |
1
|
96 |
+
0
|
97 |
1
|
98 |
1
|
99 |
1
|
100 |
+
0
|
101 |
1
|
102 |
0
|
103 |
+
1
|
104 |
0
|
105 |
1
|
106 |
1
|
107 |
+
0
|
108 |
+
0
|
109 |
1
|
110 |
1
|
111 |
0
|
|
|
115 |
1
|
116 |
1
|
117 |
1
|
118 |
+
0
|
119 |
1
|
120 |
1
|
121 |
0
|
122 |
0
|
|
|
|
|
|
|
|
|
|
|
123 |
1
|
124 |
+
0
|
125 |
1
|
126 |
1
|
127 |
+
0
|
128 |
1
|
129 |
1
|
130 |
0
|
131 |
1
|
132 |
0
|
133 |
0
|
|
|
|
|
|
|
|
|
134 |
1
|
|
|
|
|
135 |
0
|
136 |
1
|
137 |
1
|
138 |
1
|
139 |
1
|
|
|
|
|
140 |
1
|
141 |
0
|
|
|
142 |
0
|
143 |
0
|
144 |
1
|
145 |
1
|
146 |
+
1
|
147 |
+
1
|
148 |
+
1
|
149 |
+
1
|
150 |
+
1
|
151 |
0
|
152 |
0
|
153 |
0
|
154 |
0
|
155 |
1
|
|
|
156 |
0
|
157 |
+
1
|
158 |
+
1
|
159 |
0
|
160 |
0
|
161 |
0
|
|
|
164 |
1
|
165 |
0
|
166 |
0
|
167 |
+
1
|
168 |
0
|
169 |
0
|
170 |
+
1
|
171 |
0
|
172 |
+
1
|
|
|
173 |
0
|
174 |
1
|
175 |
1
|
|
|
177 |
1
|
178 |
0
|
179 |
1
|
|
|
180 |
0
|
181 |
+
1
|
182 |
0
|
183 |
+
1
|
184 |
0
|
185 |
1
|
186 |
1
|
187 |
0
|
188 |
0
|
189 |
1
|
|
|
190 |
0
|
191 |
0
|
192 |
1
|
193 |
0
|
194 |
+
1
|
195 |
0
|
196 |
0
|
197 |
0
|
198 |
0
|
199 |
0
|
|
|
|
|
200 |
0
|
201 |
1
|
202 |
1
|
203 |
0
|
204 |
+
0
|
|
|
205 |
0
|
206 |
1
|
207 |
0
|
|
|
209 |
0
|
210 |
1
|
211 |
0
|
212 |
+
1
|
213 |
0
|
214 |
1
|
215 |
1
|
|
|
218 |
1
|
219 |
1
|
220 |
0
|
221 |
+
1
|
222 |
0
|
223 |
0
|
224 |
0
|
|
|
226 |
1
|
227 |
1
|
228 |
1
|
229 |
+
0
|
230 |
1
|
231 |
1
|
232 |
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
0
|
234 |
0
|
|
|
235 |
0
|
|
|
236 |
0
|
|
|
|
|
237 |
0
|
238 |
0
|
239 |
1
|
|
|
240 |
1
|
241 |
0
|
242 |
0
|
243 |
0
|
244 |
0
|
|
|
|
|
245 |
0
|
246 |
0
|
247 |
0
|
|
|
250 |
0
|
251 |
0
|
252 |
1
|
|
|
|
|
|
|
253 |
0
|
254 |
0
|
255 |
0
|
256 |
0
|
|
|
257 |
0
|
258 |
+
1
|
259 |
0
|
260 |
0
|
|
|
261 |
0
|
|
|
262 |
0
|
263 |
0
|
264 |
0
|
|
|
265 |
0
|
|
|
266 |
0
|
267 |
0
|
268 |
0
|
|
|
269 |
0
|
270 |
0
|
271 |
+
1
|
272 |
+
1
|
273 |
0
|
274 |
0
|
275 |
0
|
|
|
279 |
1
|
280 |
1
|
281 |
0
|
282 |
+
0
|
283 |
+
0
|
284 |
+
1
|
285 |
1
|
286 |
1
|
287 |
1
|
288 |
1
|
289 |
+
0
|
290 |
1
|
291 |
0
|
292 |
0
|
293 |
+
0
|
294 |
+
1
|
295 |
+
0
|
296 |
+
1
|
297 |
+
1
|
298 |
1
|
299 |
1
|
300 |
1
|
301 |
1
|
302 |
1
|
303 |
0
|
304 |
+
1
|
305 |
1
|
306 |
0
|
307 |
0
|
308 |
0
|
309 |
+
1
|
310 |
+
0
|
311 |
+
1
|
312 |
+
1
|
313 |
0
|
314 |
1
|
315 |
1
|
316 |
0
|
317 |
+
0
|
318 |
+
0
|
319 |
1
|
320 |
+
0
|
321 |
+
0
|
322 |
1
|
323 |
0
|
324 |
0
|
|
|
333 |
0
|
334 |
1
|
335 |
1
|
336 |
+
0
|
337 |
+
0
|
338 |
1
|
339 |
0
|
340 |
0
|
341 |
1
|
342 |
1
|
343 |
+
1
|
344 |
+
1
|
345 |
+
0
|
346 |
+
1
|
347 |
+
1
|
348 |
+
0
|
349 |
0
|
350 |
0
|
351 |
0
|
352 |
1
|
353 |
1
|
354 |
+
1
|
355 |
0
|
356 |
1
|
357 |
1
|
358 |
0
|
359 |
1
|
360 |
+
1
|
|
|
361 |
1
|
362 |
1
|
363 |
1
|
|
|
366 |
0
|
367 |
1
|
368 |
1
|
369 |
+
1
|
370 |
0
|
371 |
1
|
372 |
1
|
373 |
0
|
374 |
0
|
|
|
375 |
0
|
376 |
1
|
377 |
1
|
378 |
1
|
379 |
1
|
380 |
1
|
381 |
+
0
|
382 |
1
|
383 |
0
|
384 |
+
1
|
385 |
0
|
386 |
0
|
387 |
0
|
388 |
1
|
389 |
+
1
|
390 |
+
1
|
391 |
+
1
|
392 |
+
1
|
393 |
+
1
|
394 |
0
|
395 |
+
1
|
396 |
0
|
397 |
0
|
398 |
+
1
|
399 |
+
1
|
400 |
0
|
401 |
0
|
402 |
1
|
|
|
403 |
1
|
404 |
1
|
405 |
1
|
|
|
407 |
0
|
408 |
0
|
409 |
0
|
410 |
+
0
|
411 |
+
0
|
412 |
1
|
413 |
1
|
414 |
1
|
415 |
0
|
416 |
1
|
417 |
+
1
|
418 |
+
0
|
419 |
+
0
|
420 |
+
0
|
421 |
0
|
422 |
1
|
423 |
1
|
|
|
425 |
0
|
426 |
0
|
427 |
1
|
428 |
+
0
|
429 |
+
0
|
430 |
+
0
|
431 |
1
|
432 |
+
0
|
433 |
1
|
434 |
0
|
435 |
1
|
436 |
+
0
|
437 |
1
|
438 |
0
|
439 |
+
0
|
440 |
1
|
441 |
1
|
442 |
0
|
443 |
1
|
444 |
+
1
|
445 |
+
1
|
446 |
+
0
|
447 |
0
|
448 |
0
|
449 |
1
|
450 |
0
|
451 |
+
1
|
452 |
0
|
453 |
1
|
454 |
1
|
|
|
460 |
0
|
461 |
1
|
462 |
1
|
463 |
+
1
|
464 |
+
1
|
465 |
0
|
466 |
1
|
467 |
1
|
468 |
1
|
469 |
0
|
470 |
1
|
|
|
471 |
1
|
472 |
0
|
473 |
+
0
|
474 |
+
0
|
475 |
+
0
|
476 |
+
0
|
477 |
+
0
|
478 |
+
0
|
479 |
1
|
480 |
0
|
481 |
0
|
482 |
0
|
483 |
+
1
|
484 |
0
|
485 |
1
|
486 |
0
|
|
|
488 |
1
|
489 |
0
|
490 |
0
|
491 |
+
0
|
492 |
+
0
|
493 |
1
|
494 |
0
|
495 |
0
|
496 |
0
|
497 |
0
|
498 |
+
1
|
499 |
+
1
|
500 |
0
|
501 |
0
|
502 |
0
|
|
|
504 |
0
|
505 |
0
|
506 |
0
|
507 |
+
1
|
508 |
+
1
|
509 |
+
1
|
510 |
0
|
511 |
0
|
512 |
0
|
513 |
1
|
514 |
1
|
515 |
+
1
|
516 |
0
|
517 |
+
1
|
518 |
+
1
|
519 |
+
1
|
520 |
+
1
|
521 |
+
1
|
522 |
0
|
523 |
+
1
|
524 |
+
1
|
525 |
0
|
526 |
0
|
|
|
527 |
0
|
528 |
0
|
529 |
1
|
|
|
537 |
1
|
538 |
1
|
539 |
0
|
540 |
+
0
|
541 |
+
0
|
542 |
+
0
|
543 |
+
1
|
544 |
1
|
545 |
0
|
546 |
0
|
547 |
1
|
548 |
+
1
|
549 |
0
|
550 |
0
|
551 |
0
|
|
|
553 |
1
|
554 |
1
|
555 |
1
|
|
|
|
|
556 |
0
|
557 |
+
1
|
558 |
0
|
559 |
+
1
|
560 |
0
|
561 |
0
|
562 |
+
1
|
563 |
+
1
|
564 |
+
1
|
565 |
0
|
566 |
+
1
|
567 |
0
|
568 |
+
1
|
569 |
0
|
570 |
0
|
571 |
0
|
572 |
0
|
573 |
+
1
|
574 |
0
|
575 |
0
|
576 |
0
|
577 |
1
|
|
|
578 |
0
|
579 |
0
|
580 |
1
|
581 |
1
|
582 |
1
|
583 |
+
0
|
584 |
1
|
585 |
1
|
586 |
1
|
587 |
0
|
588 |
1
|
589 |
+
0
|
|
|
590 |
1
|
591 |
1
|
592 |
0
|
593 |
0
|
594 |
+
1
|
595 |
+
1
|
596 |
0
|
597 |
1
|
598 |
+
0
|
599 |
1
|
600 |
+
0
|
601 |
1
|
602 |
+
0
|
603 |
+
0
|
604 |
1
|
605 |
0
|
606 |
0
|
607 |
1
|
608 |
1
|
609 |
+
0
|
610 |
+
0
|
611 |
+
0
|
612 |
+
0
|
613 |
1
|
614 |
0
|
615 |
0
|
|
|
619 |
0
|
620 |
0
|
621 |
0
|
622 |
+
1
|
623 |
+
0
|
624 |
0
|
625 |
1
|
626 |
1
|
627 |
+
0
|
628 |
1
|
629 |
0
|
630 |
0
|
631 |
+
1
|
632 |
0
|
633 |
0
|
634 |
1
|
635 |
1
|
|
|
|
|
636 |
0
|
637 |
0
|
638 |
0
|
|
|
643 |
1
|
644 |
1
|
645 |
0
|
646 |
+
1
|
647 |
1
|
648 |
0
|
649 |
0
|
650 |
+
0
|
651 |
+
1
|
652 |
+
1
|
653 |
1
|
654 |
1
|
655 |
1
|
656 |
0
|
657 |
0
|
658 |
1
|
|
|
659 |
1
|
660 |
1
|
661 |
+
0
|
662 |
+
0
|
663 |
1
|
664 |
1
|
665 |
0
|
|
|
668 |
0
|
669 |
1
|
670 |
0
|
671 |
+
0
|
672 |
1
|
673 |
1
|
674 |
0
|
675 |
1
|
676 |
0
|
|
|
677 |
0
|
678 |
1
|
679 |
1
|
680 |
1
|
681 |
0
|
682 |
0
|
|
|
|
|
683 |
0
|
684 |
+
1
|
685 |
0
|
686 |
0
|
687 |
1
|
|
|
688 |
1
|
689 |
1
|
690 |
+
1
|
|
|
691 |
0
|
692 |
0
|
693 |
1
|
|
|
696 |
1
|
697 |
0
|
698 |
1
|
|
|
699 |
0
|
700 |
1
|
701 |
1
|
702 |
1
|
|
|
703 |
0
|
704 |
+
1
|
705 |
0
|
706 |
1
|
707 |
1
|
708 |
1
|
|
|
|
|
|
|
|
|
709 |
1
|
710 |
0
|
711 |
0
|
712 |
1
|
713 |
1
|
714 |
0
|
|
|
|
|
715 |
1
|
716 |
1
|
717 |
0
|
718 |
1
|
719 |
0
|
720 |
+
1
|
721 |
+
1
|
722 |
+
1
|
723 |
0
|
724 |
0
|
725 |
0
|
|
|
727 |
0
|
728 |
1
|
729 |
0
|
730 |
+
1
|
731 |
+
1
|
732 |
0
|
733 |
0
|
734 |
+
1
|
735 |
0
|
736 |
1
|
737 |
1
|
738 |
+
1
|
739 |
+
1
|
740 |
1
|
741 |
0
|
742 |
1
|
743 |
+
1
|
744 |
+
1
|
745 |
+
1
|
746 |
0
|
747 |
0
|
748 |
1
|
749 |
0
|
750 |
0
|
751 |
+
1
|
752 |
+
1
|
753 |
+
1
|
754 |
+
1
|
755 |
+
1
|
756 |
1
|
757 |
0
|
758 |
0
|
759 |
1
|
760 |
+
1
|
761 |
+
1
|
762 |
+
1
|
763 |
+
1
|
764 |
+
1
|
765 |
+
1
|
766 |
+
1
|
767 |
+
1
|
768 |
0
|
769 |
0
|
770 |
0
|
771 |
+
1
|
772 |
0
|
773 |
0
|
774 |
0
|
775 |
+
1
|
776 |
+
1
|
777 |
+
1
|
778 |
+
1
|
779 |
0
|
780 |
0
|
781 |
+
1
|
782 |
+
1
|
783 |
+
1
|
784 |
+
1
|
785 |
1
|
786 |
0
|
787 |
+
1
|
788 |
+
1
|
789 |
0
|
790 |
+
1
|
791 |
+
1
|
792 |
0
|
793 |
0
|
794 |
0
|
795 |
+
1
|
796 |
0
|
797 |
0
|
798 |
0
|
799 |
+
1
|
800 |
+
1
|
801 |
0
|
802 |
+
1
|
803 |
+
1
|
804 |
+
1
|
805 |
0
|
806 |
0
|
807 |
+
1
|
808 |
+
1
|
809 |
0
|
810 |
0
|
811 |
+
1
|
812 |
+
1
|
813 |
0
|
814 |
0
|
815 |
0
|
|
|
819 |
1
|
820 |
1
|
821 |
0
|
822 |
+
1
|
823 |
0
|
824 |
+
1
|
825 |
+
1
|
826 |
+
1
|
827 |
0
|
828 |
0
|
829 |
0
|
830 |
0
|
|
|
|
|
|
|
|
|
|
|
831 |
1
|
832 |
0
|
833 |
0
|
834 |
0
|
835 |
1
|
836 |
1
|
837 |
+
0
|
838 |
+
0
|
839 |
1
|
840 |
1
|
841 |
0
|
842 |
0
|
843 |
0
|
|
|
844 |
0
|
845 |
0
|
|
|
|
|
846 |
0
|
847 |
1
|
848 |
1
|
849 |
0
|
850 |
0
|
851 |
+
0
|
852 |
1
|
853 |
+
0
|
854 |
1
|
855 |
0
|
856 |
0
|
857 |
1
|
858 |
1
|
859 |
+
0
|
860 |
1
|
861 |
0
|
862 |
0
|
863 |
0
|
864 |
0
|
865 |
0
|
866 |
+
0
|
867 |
0
|
868 |
1
|
869 |
0
|
870 |
0
|
871 |
1
|
872 |
0
|
873 |
+
1
|
874 |
0
|
875 |
1
|
876 |
1
|
877 |
1
|
878 |
+
0
|
879 |
+
1
|
880 |
1
|
881 |
0
|
882 |
0
|
883 |
0
|
884 |
+
0
|
885 |
+
0
|
|
|
|
|
886 |
1
|
887 |
0
|
888 |
0
|
889 |
0
|
890 |
0
|
|
|
|
|
|
|
|
|
|
|
891 |
0
|
892 |
0
|
893 |
0
|
894 |
0
|
895 |
+
0
|
896 |
1
|
897 |
1
|
898 |
0
|
899 |
0
|
900 |
+
0
|
901 |
+
0
|
902 |
1
|
903 |
1
|
|
|
904 |
1
|
905 |
1
|
906 |
0
|
907 |
0
|
908 |
0
|
909 |
1
|
910 |
+
1
|
911 |
0
|
912 |
0
|
913 |
0
|
914 |
1
|
915 |
1
|
916 |
0
|
917 |
+
1
|
918 |
0
|
919 |
1
|
920 |
0
|
921 |
1
|
922 |
+
1
|
923 |
0
|
924 |
+
1
|
925 |
0
|
926 |
1
|
927 |
0
|
928 |
1
|
929 |
1
|
930 |
+
1
|
931 |
0
|
932 |
0
|
933 |
0
|
|
|
|
|
934 |
0
|
935 |
1
|
936 |
1
|
937 |
1
|
|
|
938 |
0
|
939 |
+
0
|
|
|
|
|
940 |
1
|
941 |
0
|
942 |
0
|
|
|
944 |
1
|
945 |
1
|
946 |
1
|
|
|
|
|
947 |
1
|
948 |
+
0
|
949 |
1
|
950 |
+
0
|
951 |
1
|
952 |
1
|
953 |
1
|
954 |
0
|
955 |
0
|
|
|
956 |
0
|
957 |
1
|
958 |
+
1
|
959 |
0
|
960 |
0
|
961 |
0
|
|
|
963 |
0
|
964 |
0
|
965 |
0
|
|
|
|
|
966 |
0
|
967 |
0
|
968 |
0
|
969 |
0
|
970 |
+
1
|
971 |
0
|
972 |
1
|
973 |
0
|
974 |
+
0
|
975 |
1
|
976 |
1
|
977 |
1
|
978 |
0
|
979 |
0
|
980 |
+
1
|
981 |
1
|
982 |
0
|
983 |
0
|
984 |
0
|
|
|
|
|
|
|
|
|
985 |
0
|
986 |
0
|
987 |
0
|
|
|
988 |
0
|
989 |
1
|
990 |
0
|
991 |
+
0
|
992 |
1
|
993 |
+
0
|
994 |
1
|
995 |
+
0
|
996 |
+
0
|
997 |
+
0
|
998 |
+
0
|
999 |
+
0
|
1000 |
1
|
1001 |
1
|
1002 |
1
|
1003 |
0
|
1004 |
+
0
|
1005 |
+
0
|
1006 |
0
|
1007 |
1
|
1008 |
0
|
|
|
1011 |
0
|
1012 |
0
|
1013 |
1
|
|
|
1014 |
0
|
1015 |
0
|
1016 |
0
|
1017 |
1
|
|
|
1018 |
0
|
1019 |
+
0
|
1020 |
0
|
1021 |
1
|
1022 |
1
|
1023 |
1
|
1024 |
1
|
1025 |
0
|
1026 |
+
1
|
1027 |
0
|
1028 |
+
1
|
1029 |
0
|
1030 |
0
|
1031 |
0
|
1032 |
+
1
|
1033 |
0
|
1034 |
0
|
1035 |
1
|
1036 |
1
|
1037 |
+
0
|
1038 |
+
0
|
1039 |
1
|
1040 |
1
|
1041 |
0
|
1042 |
+
1
|
1043 |
+
1
|
1044 |
+
1
|
1045 |
0
|
1046 |
0
|
1047 |
0
|
|
|
1052 |
0
|
1053 |
0
|
1054 |
0
|
1055 |
+
1
|
1056 |
0
|
1057 |
+
1
|
1058 |
0
|
1059 |
0
|
1060 |
0
|
1061 |
0
|
1062 |
0
|
|
|
1063 |
0
|
1064 |
1
|
1065 |
0
|
|
|
1069 |
1
|
1070 |
0
|
1071 |
0
|
|
|
|
|
|
|
1072 |
1
|
|
|
1073 |
1
|
|
|
|
|
1074 |
1
|
1075 |
1
|
1076 |
0
|
1077 |
1
|
1078 |
1
|
|
|
1079 |
1
|
1080 |
+
0
|
1081 |
+
0
|
1082 |
1
|
1083 |
+
0
|
1084 |
1
|
1085 |
0
|
1086 |
0
|
1087 |
0
|
1088 |
0
|
1089 |
+
1
|
1090 |
+
1
|
1091 |
+
1
|
1092 |
+
1
|
1093 |
0
|
1094 |
0
|
1095 |
+
1
|
1096 |
+
1
|
1097 |
0
|
1098 |
+
1
|
1099 |
0
|
1100 |
0
|
1101 |
0
|
1102 |
0
|
1103 |
+
1
|
1104 |
0
|
1105 |
0
|
1106 |
+
1
|
1107 |
+
1
|
1108 |
+
1
|
1109 |
+
1
|
1110 |
+
1
|
1111 |
+
1
|
1112 |
0
|
1113 |
0
|
1114 |
+
1
|
1115 |
0
|
1116 |
0
|
1117 |
0
|
1118 |
+
1
|
1119 |
+
1
|
1120 |
0
|
1121 |
0
|
1122 |
+
1
|
1123 |
+
1
|
1124 |
0
|
1125 |
0
|
1126 |
0
|
1127 |
0
|
1128 |
1
|
1129 |
+
0
|
1130 |
0
|
1131 |
1
|
1132 |
+
0
|
1133 |
1
|
1134 |
0
|
1135 |
1
|
1136 |
1
|
1137 |
0
|
1138 |
+
1
|
1139 |
0
|
1140 |
0
|
1141 |
1
|
1142 |
1
|
1143 |
1
|
1144 |
1
|
|
|
1145 |
1
|
1146 |
+
0
|
1147 |
1
|
1148 |
0
|
1149 |
0
|
1150 |
1
|
1151 |
0
|
|
|
1152 |
0
|
1153 |
0
|
1154 |
1
|
1155 |
0
|
1156 |
1
|
|
|
1157 |
1
|
1158 |
1
|
1159 |
0
|
1160 |
1
|
1161 |
1
|
|
|
|
|
|
|
1162 |
1
|
1163 |
1
|
1164 |
1
|
1165 |
+
0
|
1166 |
1
|
1167 |
1
|
1168 |
+
0
|
1169 |
1
|
1170 |
0
|
1171 |
0
|
1172 |
+
0
|
|
|
|
|
1173 |
0
|
1174 |
1
|
1175 |
0
|
1176 |
0
|
|
|
1177 |
0
|
1178 |
1
|
|
|
1179 |
1
|
1180 |
0
|
1181 |
0
|
1182 |
+
1
|
1183 |
0
|
1184 |
0
|
1185 |
+
1
|
1186 |
0
|
1187 |
0
|
1188 |
0
|
1189 |
+
1
|
1190 |
1
|
1191 |
0
|
1192 |
1
|
|
|
1195 |
0
|
1196 |
0
|
1197 |
1
|
|
|
1198 |
0
|
1199 |
0
|
1200 |
0
|
|
|
1201 |
0
|
1202 |
0
|
1203 |
0
|
|
|
1205 |
0
|
1206 |
1
|
1207 |
0
|
1208 |
+
1
|
1209 |
0
|
1210 |
0
|
1211 |
1
|
1212 |
1
|
1213 |
0
|
|
|
|
|
|
|
1214 |
0
|
1215 |
1
|
1216 |
0
|
1217 |
+
1
|
1218 |
0
|
1219 |
0
|
1220 |
0
|
1221 |
0
|
1222 |
+
1
|
1223 |
0
|
1224 |
0
|
1225 |
+
1
|
1226 |
0
|
1227 |
0
|
1228 |
+
1
|
1229 |
+
1
|
1230 |
0
|
1231 |
0
|
1232 |
+
1
|
1233 |
0
|
1234 |
+
1
|
1235 |
0
|
1236 |
0
|
1237 |
0
|
1238 |
+
1
|
1239 |
+
1
|
1240 |
+
1
|
1241 |
0
|
1242 |
+
1
|
1243 |
0
|
1244 |
0
|
1245 |
1
|
1246 |
+
0
|
1247 |
1
|
1248 |
0
|
1249 |
1
|
1250 |
1
|
1251 |
+
0
|
1252 |
+
0
|
1253 |
+
1
|
1254 |
+
0
|
1255 |
1
|
1256 |
0
|
1257 |
0
|
1258 |
+
1
|
1259 |
0
|
1260 |
0
|
1261 |
0
|
|
|
1263 |
1
|
1264 |
1
|
1265 |
0
|
1266 |
+
0
|
1267 |
1
|
1268 |
1
|
1269 |
+
0
|
|
|
1270 |
1
|
1271 |
1
|
1272 |
0
|
1273 |
0
|
1274 |
0
|
1275 |
0
|
1276 |
+
0
|
1277 |
1
|
1278 |
0
|
1279 |
0
|
|
|
|
|
|
|
1280 |
0
|
|
|
|
|
|
|
|
|
1281 |
0
|
1282 |
0
|
|
|
1283 |
0
|
1284 |
0
|
1285 |
1
|
|
|
1287 |
0
|
1288 |
1
|
1289 |
1
|
1290 |
+
0
|
|
|
1291 |
0
|
1292 |
1
|
1293 |
+
0
|
1294 |
1
|
1295 |
1
|
1296 |
1
|
1297 |
0
|
1298 |
1
|
1299 |
1
|
1300 |
+
0
|
1301 |
+
0
|
1302 |
1
|
1303 |
+
0
|
|
|
1304 |
0
|
1305 |
0
|
1306 |
1
|
1307 |
+
0
|
|
|
|
|
1308 |
1
|
1309 |
0
|
1310 |
0
|
1311 |
0
|
1312 |
0
|
1313 |
+
0
|
1314 |
+
0
|
1315 |
1
|
1316 |
1
|
|
|
1317 |
1
|
1318 |
0
|
1319 |
+
1
|
1320 |
+
1
|
1321 |
0
|
1322 |
1
|
1323 |
1
|
|
|
1329 |
0
|
1330 |
1
|
1331 |
0
|
1332 |
+
0
|
1333 |
+
1
|
1334 |
+
0
|
1335 |
+
0
|
1336 |
+
0
|
1337 |
+
0
|
1338 |
+
0
|
1339 |
+
0
|
1340 |
+
0
|
1341 |
+
0
|
1342 |
+
0
|
1343 |
1
|
1344 |
0
|
1345 |
1
|
|
|
1358 |
0
|
1359 |
0
|
1360 |
0
|
1361 |
+
1
|
1362 |
+
1
|
1363 |
0
|
1364 |
+
1
|
1365 |
0
|
1366 |
1
|
1367 |
+
1
|
1368 |
+
1
|
1369 |
+
0
|
1370 |
0
|
1371 |
0
|
1372 |
1
|
1373 |
1
|
1374 |
+
1
|
1375 |
+
1
|
1376 |
0
|
1377 |
0
|
1378 |
0
|
1379 |
+
1
|
1380 |
+
1
|
1381 |
0
|
1382 |
0
|
1383 |
1
|
1384 |
+
1
|
1385 |
+
1
|
1386 |
+
1
|
1387 |
+
1
|
1388 |
+
1
|
1389 |
0
|
1390 |
0
|
1391 |
0
|
|
|
|
|
|
|
1392 |
0
|
1393 |
0
|
1394 |
0
|
1395 |
0
|
1396 |
0
|
1397 |
+
1
|
1398 |
+
1
|
1399 |
+
1
|
1400 |
+
1
|
1401 |
0
|
1402 |
1
|
1403 |
0
|
|
|
1406 |
0
|
1407 |
0
|
1408 |
1
|
|
|
1409 |
1
|
1410 |
0
|
|
|
1411 |
0
|
1412 |
1
|
1413 |
0
|
1414 |
+
0
|
1415 |
1
|
1416 |
1
|
1417 |
+
0
|
1418 |
+
0
|
1419 |
+
0
|
1420 |
+
0
|
1421 |
+
0
|
1422 |
+
0
|
1423 |
+
0
|
1424 |
+
0
|
1425 |
1
|
1426 |
1
|
1427 |
0
|
1428 |
+
1
|
1429 |
+
1
|
1430 |
0
|
1431 |
1
|
1432 |
0
|
|
|
1437 |
1
|
1438 |
1
|
1439 |
1
|
|
|
1440 |
1
|
1441 |
1
|
1442 |
1
|
1443 |
+
1
|
1444 |
+
1
|
1445 |
+
1
|
1446 |
1
|
1447 |
0
|
1448 |
1
|
1449 |
0
|
1450 |
+
0
|
1451 |
+
1
|
1452 |
+
1
|
1453 |
1
|
1454 |
1
|
1455 |
+
0
|
1456 |
1
|
1457 |
1
|
1458 |
0
|
1459 |
1
|
1460 |
1
|
1461 |
+
1
|
1462 |
+
1
|
1463 |
+
1
|
1464 |
0
|
1465 |
0
|
1466 |
0
|
1467 |
0
|
1468 |
1
|
1469 |
+
1
|
1470 |
+
1
|
1471 |
+
0
|
1472 |
+
1
|
1473 |
0
|
1474 |
0
|
1475 |
+
0
|
1476 |
+
1
|
1477 |
+
1
|
1478 |
+
1
|
1479 |
1
|
1480 |
+
1
|
1481 |
+
0
|
1482 |
0
|
1483 |
1
|
1484 |
+
1
|
1485 |
0
|
1486 |
0
|
1487 |
0
|
|
|
1492 |
0
|
1493 |
0
|
1494 |
1
|
1495 |
+
0
|
1496 |
+
0
|
1497 |
1
|
1498 |
1
|
1499 |
1
|
1500 |
0
|
1501 |
0
|
1502 |
+
0
|
1503 |
1
|
1504 |
0
|
1505 |
0
|
1506 |
0
|
1507 |
+
1
|
1508 |
0
|
1509 |
0
|
1510 |
0
|
|
|
1511 |
0
|
1512 |
1
|
1513 |
1
|
1514 |
1
|
1515 |
+
0
|
1516 |
+
0
|
1517 |
+
0
|
1518 |
+
0
|
1519 |
+
1
|
1520 |
1
|
1521 |
+
0
|
1522 |
1
|
1523 |
+
0
|
1524 |
+
0
|
1525 |
1
|
1526 |
1
|
1527 |
1
|
1528 |
0
|
1529 |
1
|
1530 |
1
|
1531 |
+
1
|
1532 |
0
|
1533 |
0
|
1534 |
1
|
1535 |
1
|
1536 |
1
|
1537 |
+
0
|
1538 |
1
|
1539 |
1
|
1540 |
0
|
1541 |
0
|
1542 |
+
0
|
1543 |
+
0
|
1544 |
+
0
|
1545 |
+
0
|
1546 |
0
|
1547 |
1
|
1548 |
+
0
|
1549 |
1
|
1550 |
1
|
1551 |
1
|
1552 |
0
|
1553 |
1
|
1554 |
+
0
|
|
|
1555 |
1
|
1556 |
1
|
1557 |
1
|
|
|
1559 |
1
|
1560 |
1
|
1561 |
0
|
|
|
1562 |
0
|
1563 |
+
1
|
1564 |
+
1
|
1565 |
0
|
1566 |
0
|
1567 |
+
1
|
1568 |
0
|
1569 |
0
|
1570 |
+
1
|
1571 |
+
1
|
1572 |
+
1
|
1573 |
+
1
|
1574 |
+
1
|
1575 |
+
1
|
1576 |
+
1
|
1577 |
0
|
1578 |
1
|
1579 |
0
|
|
|
1582 |
1
|
1583 |
0
|
1584 |
0
|
1585 |
+
0
|
1586 |
1
|
1587 |
1
|
1588 |
0
|
1589 |
+
1
|
1590 |
0
|
1591 |
+
1
|
1592 |
+
1
|
1593 |
0
|
1594 |
0
|
1595 |
0
|
1596 |
+
1
|
1597 |
+
1
|
1598 |
+
1
|
1599 |
0
|
1600 |
0
|
1601 |
1
|
|
|
1602 |
1
|
1603 |
1
|
1604 |
1
|
1605 |
+
1
|
1606 |
+
1
|
1607 |
+
0
|
1608 |
0
|
1609 |
1
|
1610 |
1
|
|
|
1613 |
0
|
1614 |
1
|
1615 |
0
|
1616 |
+
1
|
1617 |
0
|
1618 |
0
|
1619 |
1
|
1620 |
+
1
|
1621 |
+
1
|
1622 |
+
0
|
1623 |
+
0
|
1624 |
+
0
|
1625 |
+
0
|
1626 |
+
0
|
1627 |
0
|
1628 |
1
|
1629 |
0
|
1630 |
+
0
|
1631 |
1
|
1632 |
1
|
1633 |
1
|
1634 |
1
|
1635 |
0
|
1636 |
0
|
1637 |
+
0
|
1638 |
+
0
|
1639 |
1
|
1640 |
+
0
|
1641 |
+
0
|
1642 |
+
0
|
1643 |
1
|
1644 |
0
|
1645 |
1
|
|
|
1648 |
1
|
1649 |
0
|
1650 |
1
|
1651 |
+
1
|
1652 |
0
|
1653 |
0
|
1654 |
1
|
1655 |
+
1
|
1656 |
0
|
1657 |
0
|
1658 |
1
|
1659 |
1
|
|
|
1660 |
1
|
1661 |
1
|
1662 |
1
|
1663 |
0
|
1664 |
+
0
|
1665 |
1
|
1666 |
1
|
1667 |
1
|
1668 |
0
|
1669 |
+
1
|
1670 |
+
1
|
1671 |
+
1
|
1672 |
0
|
1673 |
0
|
1674 |
+
1
|
1675 |
0
|
1676 |
0
|
1677 |
0
|
1678 |
0
|
1679 |
0
|
1680 |
1
|
|
|
1681 |
0
|
1682 |
0
|
1683 |
0
|
1684 |
0
|
1685 |
1
|
1686 |
+
0
|
1687 |
+
1
|
1688 |
+
0
|
1689 |
+
1
|
1690 |
1
|
1691 |
1
|
1692 |
1
|
1693 |
0
|
|
|
1694 |
1
|
1695 |
+
0
|
1696 |
1
|
1697 |
1
|
1698 |
1
|
|
|
1700 |
0
|
1701 |
0
|
1702 |
0
|
|
|
|
|
|
|
1703 |
1
|
1704 |
1
|
1705 |
+
0
|
1706 |
1
|
1707 |
1
|
1708 |
0
|
1709 |
1
|
1710 |
1
|
1711 |
+
0
|
1712 |
1
|
1713 |
1
|
1714 |
+
0
|
1715 |
+
0
|
1716 |
1
|
1717 |
+
0
|
1718 |
1
|
1719 |
+
0
|
1720 |
1
|
1721 |
0
|
1722 |
0
|
1723 |
+
0
|
1724 |
+
0
|
1725 |
1
|
1726 |
+
1
|
1727 |
+
0
|
1728 |
0
|
1729 |
+
1
|
1730 |
0
|
1731 |
1
|
1732 |
1
|
|
|
1735 |
0
|
1736 |
1
|
1737 |
1
|
|
|
1738 |
1
|
1739 |
1
|
1740 |
1
|
1741 |
0
|
1742 |
1
|
1743 |
+
0
|
1744 |
+
0
|
1745 |
+
0
|
1746 |
+
0
|
1747 |
1
|
1748 |
1
|
1749 |
1
|
|
|
1751 |
1
|
1752 |
0
|
1753 |
0
|
1754 |
+
0
|
1755 |
+
1
|
1756 |
+
0
|
1757 |
+
1
|
1758 |
1
|
1759 |
1
|
1760 |
1
|
1761 |
0
|
1762 |
+
1
|
1763 |
+
1
|
1764 |
0
|
1765 |
0
|
1766 |
1
|
1767 |
0
|
1768 |
+
1
|
1769 |
0
|
1770 |
0
|
1771 |
+
1
|
1772 |
0
|
1773 |
1
|
1774 |
+
1
|
1775 |
0
|
1776 |
+
1
|
1777 |
0
|
1778 |
0
|
1779 |
1
|
1780 |
1
|
1781 |
+
1
|
1782 |
0
|
1783 |
0
|
1784 |
0
|
1785 |
0
|
1786 |
1
|
1787 |
1
|
|
|
|
|
1788 |
0
|
1789 |
1
|
1790 |
0
|
1791 |
+
0
|
1792 |
1
|
1793 |
1
|
1794 |
1
|
1795 |
+
0
|
1796 |
1
|
1797 |
0
|
1798 |
+
1
|
1799 |
+
1
|
1800 |
0
|
1801 |
0
|
1802 |
0
|
1803 |
0
|
1804 |
1
|
|
|
|
|
1805 |
0
|
|
|
|
|
|
|
1806 |
0
|
1807 |
0
|
1808 |
1
|
1809 |
1
|
1810 |
1
|
|
|
|
|
|
|
1811 |
1
|
1812 |
1
|
1813 |
1
|
1814 |
0
|
1815 |
1
|
1816 |
1
|
1817 |
+
1
|
1818 |
0
|
1819 |
1
|
1820 |
1
|
|
|
1821 |
1
|
1822 |
0
|
1823 |
1
|
|
|
1825 |
1
|
1826 |
1
|
1827 |
1
|
|
|
1828 |
1
|
1829 |
1
|
1830 |
1
|
1831 |
1
|
1832 |
0
|
1833 |
0
|
|
|
|
|
1834 |
0
|
1835 |
1
|
|
|
1836 |
1
|
1837 |
0
|
|
|
1838 |
0
|
|
|
1839 |
0
|
1840 |
0
|
1841 |
0
|
1842 |
1
|
1843 |
+
0
|
1844 |
0
|
1845 |
1
|
1846 |
0
|
1847 |
0
|
|
|
|
|
1848 |
0
|
|
|
|
|
1849 |
0
|
1850 |
0
|
1851 |
0
|
1852 |
1
|
1853 |
1
|
|
|
1854 |
1
|
1855 |
0
|
|
|
|
|
1856 |
0
|
1857 |
1
|
1858 |
0
|
1859 |
0
|
|
|
|
|
1860 |
0
|
1861 |
0
|
1862 |
+
0
|
1863 |
1
|
1864 |
1
|
1865 |
0
|
1866 |
1
|
|
|
1867 |
1
|
1868 |
0
|
1869 |
0
|
|
|
1873 |
1
|
1874 |
0
|
1875 |
0
|
1876 |
+
0
|
1877 |
+
0
|
1878 |
1
|
1879 |
1
|
1880 |
0
|
1881 |
0
|
1882 |
1
|
1883 |
+
0
|
1884 |
+
1
|
1885 |
1
|
1886 |
0
|
1887 |
+
0
|
1888 |
+
0
|
1889 |
+
1
|
1890 |
1
|
1891 |
0
|
1892 |
+
1
|
1893 |
0
|
1894 |
1
|
1895 |
+
1
|
1896 |
+
1
|
1897 |
0
|
1898 |
0
|
1899 |
0
|
1900 |
1
|
1901 |
0
|
|
|
|
|
1902 |
0
|
1903 |
0
|
1904 |
0
|
|
|
1907 |
0
|
1908 |
0
|
1909 |
0
|
|
|
1910 |
0
|
|
|
|
|
1911 |
0
|
1912 |
0
|
1913 |
0
|
|
|
1914 |
0
|
1915 |
1
|
1916 |
1
|
1917 |
0
|
1918 |
0
|
|
|
|
|
1919 |
0
|
1920 |
1
|
1921 |
1
|
1922 |
0
|
1923 |
1
|
1924 |
1
|
1925 |
+
1
|
1926 |
0
|
1927 |
+
1
|
1928 |
0
|
1929 |
1
|
1930 |
1
|
|
|
1931 |
1
|
1932 |
1
|
1933 |
0
|
1934 |
0
|
|
|
1935 |
1
|
1936 |
+
0
|
1937 |
1
|
1938 |
1
|
1939 |
1
|
|
|
1951 |
0
|
1952 |
0
|
1953 |
0
|
1954 |
+
1
|
1955 |
+
1
|
1956 |
+
1
|
1957 |
+
1
|
1958 |
0
|
1959 |
0
|
1960 |
0
|
1961 |
0
|
1962 |
0
|
1963 |
0
|
1964 |
+
1
|
1965 |
+
1
|
1966 |
+
1
|
1967 |
+
1
|
1968 |
+
0
|
1969 |
+
1
|
1970 |
+
1
|
1971 |
+
0
|
1972 |
+
1
|
1973 |
+
0
|
1974 |
+
0
|
1975 |
+
1
|
1976 |
+
1
|
1977 |
+
0
|
1978 |
+
0
|
1979 |
+
0
|
1980 |
+
1
|
1981 |
+
0
|
1982 |
+
1
|
1983 |
+
1
|
1984 |
+
1
|
1985 |
+
0
|
1986 |
+
1
|
1987 |
+
1
|
1988 |
+
1
|
1989 |
+
0
|
1990 |
+
1
|
1991 |
+
1
|
1992 |
+
1
|
1993 |
+
1
|
1994 |
+
1
|
1995 |
+
0
|
1996 |
+
0
|
1997 |
+
1
|
1998 |
+
1
|
1999 |
+
0
|
2000 |
+
0
|
2001 |
+
1
|
2002 |
+
0
|
2003 |
+
1
|
2004 |
+
0
|
2005 |
+
1
|
2006 |
+
0
|
2007 |
+
0
|
2008 |
+
1
|
2009 |
+
1
|
2010 |
+
1
|
2011 |
+
0
|
2012 |
+
1
|
2013 |
+
1
|
2014 |
+
0
|
2015 |
+
0
|
2016 |
+
0
|
2017 |
+
0
|
2018 |
+
1
|
2019 |
+
1
|
2020 |
+
0
|
2021 |
+
0
|
2022 |
+
0
|
2023 |
+
1
|
2024 |
+
0
|
2025 |
+
1
|
2026 |
+
1
|
2027 |
+
1
|
2028 |
+
0
|
2029 |
+
0
|
2030 |
+
0
|
2031 |
+
1
|
2032 |
+
1
|
2033 |
+
0
|
2034 |
+
0
|
2035 |
+
0
|
2036 |
+
0
|
2037 |
+
1
|
2038 |
+
1
|
2039 |
+
1
|
2040 |
+
0
|
2041 |
+
0
|
2042 |
+
0
|
2043 |
+
0
|
2044 |
+
0
|
2045 |
+
0
|
2046 |
+
0
|
2047 |
+
0
|
2048 |
+
1
|
2049 |
+
0
|
2050 |
+
0
|
2051 |
+
0
|
2052 |
+
0
|
2053 |
+
1
|
2054 |
+
0
|
2055 |
+
1
|
2056 |
+
1
|
2057 |
+
1
|
2058 |
+
0
|
2059 |
+
1
|
2060 |
+
0
|
2061 |
+
0
|
2062 |
+
1
|
2063 |
+
0
|
2064 |
+
1
|
2065 |
+
1
|
2066 |
+
1
|
2067 |
+
0
|
2068 |
+
0
|
2069 |
+
1
|
2070 |
+
1
|
2071 |
+
0
|
2072 |
+
1
|
2073 |
+
0
|
2074 |
+
0
|
2075 |
+
1
|
2076 |
+
1
|
2077 |
+
1
|
2078 |
+
1
|
2079 |
+
1
|
2080 |
+
0
|
2081 |
+
0
|
2082 |
+
1
|
2083 |
+
0
|
2084 |
+
1
|
2085 |
+
1
|
2086 |
+
1
|
2087 |
+
1
|
2088 |
+
0
|
2089 |
+
0
|
2090 |
+
0
|
2091 |
+
0
|
2092 |
+
0
|
2093 |
+
0
|
2094 |
+
0
|
2095 |
+
1
|
2096 |
+
0
|
2097 |
+
1
|
2098 |
+
0
|
2099 |
+
0
|
2100 |
+
1
|
2101 |
+
1
|
2102 |
+
1
|
2103 |
+
1
|
2104 |
+
1
|
2105 |
+
1
|
2106 |
+
1
|
2107 |
+
1
|
2108 |
+
1
|
2109 |
+
1
|
2110 |
+
0
|
2111 |
+
0
|
2112 |
+
0
|
2113 |
+
1
|
2114 |
+
1
|
2115 |
+
1
|
2116 |
+
1
|
2117 |
+
1
|
2118 |
+
1
|
2119 |
+
1
|
2120 |
+
0
|
2121 |
+
1
|
2122 |
+
0
|
2123 |
+
1
|
2124 |
+
1
|
2125 |
+
0
|
2126 |
+
1
|
2127 |
+
0
|
2128 |
+
1
|
2129 |
+
1
|
2130 |
+
0
|
2131 |
+
0
|
2132 |
+
0
|
2133 |
+
0
|
2134 |
+
0
|
2135 |
+
1
|
2136 |
+
1
|
2137 |
+
0
|
2138 |
+
1
|
2139 |
+
1
|
2140 |
+
0
|
2141 |
+
0
|
2142 |
+
1
|
2143 |
+
1
|
2144 |
+
1
|
2145 |
+
0
|
2146 |
+
1
|
2147 |
+
1
|
2148 |
+
1
|
2149 |
+
0
|
2150 |
+
1
|
2151 |
+
1
|
2152 |
+
1
|
2153 |
+
1
|
2154 |
+
1
|
2155 |
+
0
|
2156 |
+
0
|
2157 |
+
1
|
2158 |
+
0
|
2159 |
+
1
|
2160 |
+
0
|
2161 |
+
0
|
2162 |
+
1
|
2163 |
+
1
|
2164 |
+
0
|
2165 |
+
1
|
2166 |
+
0
|
2167 |
+
0
|
2168 |
+
0
|
2169 |
+
0
|
2170 |
+
0
|
2171 |
+
1
|
2172 |
+
1
|
2173 |
+
0
|
2174 |
+
1
|
2175 |
+
1
|
2176 |
+
0
|
2177 |
+
0
|
2178 |
+
0
|
2179 |
+
0
|
2180 |
+
1
|
2181 |
+
0
|
2182 |
+
1
|
2183 |
+
1
|
2184 |
+
1
|
2185 |
+
1
|
2186 |
+
1
|
2187 |
+
0
|
2188 |
+
0
|
2189 |
+
1
|
2190 |
+
1
|
2191 |
+
1
|
2192 |
+
1
|
2193 |
+
1
|
2194 |
+
1
|
2195 |
+
1
|
2196 |
+
0
|
2197 |
+
1
|
2198 |
+
1
|
2199 |
+
1
|
2200 |
+
1
|
2201 |
+
1
|
2202 |
+
1
|
2203 |
+
1
|
2204 |
+
1
|
2205 |
+
1
|
2206 |
+
1
|
2207 |
+
1
|
2208 |
+
1
|
2209 |
+
0
|
2210 |
+
0
|
2211 |
+
1
|
2212 |
+
1
|
2213 |
+
1
|
2214 |
+
1
|
2215 |
+
1
|
2216 |
+
1
|
2217 |
+
0
|
2218 |
+
0
|
2219 |
+
1
|
2220 |
+
0
|
2221 |
+
0
|
2222 |
+
1
|
2223 |
+
1
|
2224 |
+
1
|
2225 |
+
1
|
2226 |
+
1
|
2227 |
+
0
|
2228 |
+
1
|
2229 |
+
1
|
2230 |
+
0
|
2231 |
+
1
|
2232 |
+
0
|
2233 |
+
0
|
2234 |
+
1
|
2235 |
+
0
|
2236 |
+
1
|
2237 |
+
1
|
2238 |
+
1
|
2239 |
+
0
|
2240 |
+
0
|
2241 |
+
1
|
2242 |
+
1
|
2243 |
+
0
|
2244 |
+
1
|
2245 |
+
0
|
2246 |
+
0
|
2247 |
+
1
|
2248 |
+
1
|
2249 |
+
1
|
2250 |
+
1
|
2251 |
+
0
|
2252 |
+
1
|
2253 |
+
1
|
2254 |
+
0
|
2255 |
+
1
|
2256 |
+
1
|
2257 |
+
0
|
2258 |
+
0
|
2259 |
+
0
|
2260 |
+
1
|
2261 |
+
0
|
2262 |
+
1
|
2263 |
+
1
|
2264 |
+
1
|
2265 |
+
1
|
2266 |
+
1
|
2267 |
+
0
|
2268 |
+
0
|
2269 |
+
1
|
2270 |
+
0
|
2271 |
+
0
|
2272 |
+
0
|
2273 |
+
1
|
2274 |
+
0
|
2275 |
+
0
|
2276 |
+
1
|
2277 |
+
1
|
2278 |
+
0
|
2279 |
+
1
|
2280 |
+
1
|
2281 |
+
0
|
2282 |
+
1
|
2283 |
+
1
|
2284 |
+
0
|
2285 |
+
1
|
2286 |
+
0
|
2287 |
+
0
|
2288 |
+
1
|
2289 |
+
0
|
2290 |
+
0
|
2291 |
+
1
|
2292 |
+
0
|
2293 |
+
1
|
2294 |
+
0
|
2295 |
+
0
|
2296 |
+
0
|
2297 |
+
0
|
2298 |
+
0
|
2299 |
+
0
|
2300 |
+
0
|
2301 |
+
0
|
2302 |
+
0
|
2303 |
+
1
|
2304 |
+
0
|
2305 |
+
0
|
2306 |
+
1
|
2307 |
+
1
|
2308 |
+
0
|
2309 |
+
0
|
2310 |
+
0
|
2311 |
+
1
|
2312 |
+
0
|
2313 |
+
1
|
2314 |
+
0
|
2315 |
+
0
|
2316 |
+
1
|
2317 |
+
1
|
2318 |
+
1
|
2319 |
+
0
|
2320 |
+
1
|
2321 |
+
1
|
2322 |
+
1
|
2323 |
+
1
|
2324 |
+
0
|
2325 |
+
1
|
2326 |
+
0
|
2327 |
+
0
|
2328 |
+
0
|
2329 |
+
1
|
2330 |
+
0
|
2331 |
+
1
|
2332 |
+
1
|
2333 |
+
0
|
2334 |
+
1
|
2335 |
+
0
|
2336 |
+
0
|
2337 |
+
1
|
2338 |
+
0
|
2339 |
+
1
|
2340 |
+
1
|
2341 |
+
0
|
2342 |
+
1
|
2343 |
+
1
|
2344 |
+
1
|
2345 |
+
0
|
2346 |
+
1
|
2347 |
+
1
|
2348 |
+
1
|
2349 |
+
1
|
2350 |
+
0
|
2351 |
+
1
|
2352 |
+
0
|
2353 |
+
1
|
2354 |
+
0
|
2355 |
+
1
|
2356 |
+
0
|
2357 |
+
1
|
2358 |
+
0
|
2359 |
+
1
|
2360 |
+
1
|
2361 |
+
0
|
2362 |
+
0
|
2363 |
+
0
|
2364 |
+
1
|
2365 |
+
1
|
2366 |
+
0
|
2367 |
+
0
|
2368 |
+
0
|
2369 |
+
0
|
2370 |
+
0
|
2371 |
+
0
|
2372 |
+
0
|
2373 |
+
1
|
2374 |
+
1
|
2375 |
+
1
|
2376 |
+
0
|
2377 |
+
0
|
2378 |
+
0
|
2379 |
+
0
|
2380 |
+
0
|
2381 |
+
0
|
2382 |
+
1
|
2383 |
+
0
|
2384 |
+
0
|
2385 |
+
0
|
2386 |
+
1
|
2387 |
+
0
|
2388 |
+
1
|
2389 |
+
1
|
2390 |
+
1
|
2391 |
+
0
|
2392 |
+
0
|
2393 |
+
0
|
2394 |
+
1
|
2395 |
+
1
|
2396 |
+
0
|
2397 |
+
0
|
2398 |
+
0
|
2399 |
+
1
|
2400 |
+
0
|
2401 |
+
0
|
2402 |
+
0
|
2403 |
+
0
|
2404 |
+
0
|
2405 |
+
0
|
2406 |
+
1
|
2407 |
+
0
|
2408 |
+
1
|
2409 |
+
1
|
2410 |
+
1
|
2411 |
+
1
|
2412 |
+
1
|
2413 |
+
0
|
2414 |
+
1
|
2415 |
+
0
|
2416 |
+
0
|
2417 |
+
0
|
2418 |
+
0
|
2419 |
+
1
|
2420 |
+
0
|
2421 |
+
1
|
2422 |
+
1
|
2423 |
+
1
|
2424 |
+
1
|
2425 |
+
1
|
2426 |
+
1
|
2427 |
+
1
|
2428 |
+
1
|
2429 |
+
0
|
2430 |
+
1
|
2431 |
+
0
|
2432 |
+
1
|
2433 |
+
0
|
2434 |
+
0
|
2435 |
+
0
|
2436 |
+
0
|
2437 |
+
1
|
2438 |
+
0
|
2439 |
+
0
|
2440 |
+
1
|
2441 |
+
1
|
2442 |
+
0
|
2443 |
+
1
|
2444 |
+
1
|
2445 |
+
0
|
2446 |
+
0
|
2447 |
+
1
|
2448 |
+
0
|
2449 |
+
1
|
2450 |
+
1
|
2451 |
+
1
|
2452 |
+
1
|
2453 |
+
0
|
2454 |
+
0
|
2455 |
+
1
|
2456 |
+
0
|
2457 |
+
1
|
2458 |
+
0
|
2459 |
+
1
|
2460 |
+
1
|
2461 |
+
1
|
2462 |
+
0
|
2463 |
+
0
|
2464 |
+
0
|
2465 |
+
1
|
2466 |
+
0
|
2467 |
+
1
|
2468 |
+
0
|
2469 |
+
0
|
2470 |
+
1
|
2471 |
+
0
|
2472 |
+
1
|
2473 |
+
1
|
2474 |
+
1
|
2475 |
+
1
|
2476 |
+
1
|
2477 |
+
1
|
2478 |
+
1
|
2479 |
+
0
|
2480 |
+
0
|
2481 |
+
0
|
2482 |
+
1
|
2483 |
+
1
|
2484 |
+
0
|
2485 |
+
1
|
2486 |
+
1
|
2487 |
+
1
|
2488 |
+
1
|
2489 |
+
0
|
2490 |
+
0
|
2491 |
+
0
|
2492 |
+
0
|
2493 |
+
1
|
2494 |
+
1
|
2495 |
+
0
|
2496 |
+
1
|
2497 |
+
0
|
2498 |
+
1
|
2499 |
+
0
|
2500 |
+
0
|
2501 |
+
1
|
2502 |
+
0
|
2503 |
+
0
|
2504 |
+
0
|
2505 |
+
1
|
2506 |
+
0
|
2507 |
+
0
|
2508 |
+
0
|
2509 |
+
0
|
2510 |
+
1
|
2511 |
+
0
|
2512 |
+
1
|
2513 |
+
1
|
2514 |
+
1
|
2515 |
+
0
|
2516 |
+
0
|
2517 |
+
0
|
2518 |
+
0
|
2519 |
+
0
|
2520 |
+
1
|
2521 |
+
0
|
2522 |
+
0
|
2523 |
+
1
|
2524 |
+
0
|
2525 |
+
0
|
2526 |
+
0
|
2527 |
+
0
|
2528 |
+
1
|
2529 |
+
1
|
2530 |
+
1
|
2531 |
+
1
|
2532 |
+
1
|
2533 |
+
0
|
2534 |
+
1
|
2535 |
+
0
|
2536 |
+
0
|
2537 |
+
1
|
2538 |
+
0
|
2539 |
+
1
|
2540 |
+
1
|
2541 |
+
1
|
2542 |
+
1
|
2543 |
+
1
|
2544 |
+
1
|
2545 |
+
1
|
2546 |
+
1
|
2547 |
+
0
|
2548 |
+
0
|
2549 |
+
0
|
2550 |
+
1
|
2551 |
+
0
|
2552 |
+
1
|
2553 |
+
0
|
2554 |
+
0
|
2555 |
+
0
|
2556 |
+
1
|
2557 |
+
1
|
2558 |
+
1
|
2559 |
+
1
|
2560 |
+
1
|
2561 |
+
1
|
2562 |
+
1
|
2563 |
+
0
|
2564 |
+
1
|
2565 |
+
1
|
2566 |
+
1
|
2567 |
+
1
|
2568 |
+
0
|
2569 |
+
0
|
2570 |
+
1
|
2571 |
+
1
|
2572 |
+
1
|
2573 |
+
1
|
2574 |
+
1
|
2575 |
+
0
|
2576 |
+
0
|
2577 |
+
0
|
2578 |
+
0
|
2579 |
+
0
|
2580 |
+
0
|
2581 |
+
1
|
2582 |
+
1
|
2583 |
+
1
|
2584 |
+
0
|
2585 |
+
0
|
2586 |
+
0
|
2587 |
+
1
|
2588 |
+
1
|
2589 |
+
1
|
2590 |
+
1
|
2591 |
+
1
|
2592 |
+
0
|
2593 |
+
1
|
2594 |
+
1
|
2595 |
+
1
|
2596 |
+
0
|
2597 |
+
1
|
2598 |
+
0
|
2599 |
+
1
|
2600 |
+
0
|
2601 |
+
1
|
2602 |
+
1
|
2603 |
+
1
|
2604 |
+
1
|
2605 |
+
0
|
2606 |
+
0
|
2607 |
+
1
|
2608 |
+
1
|
2609 |
+
0
|
2610 |
+
1
|
2611 |
+
1
|
2612 |
+
1
|
2613 |
+
1
|
2614 |
+
0
|
2615 |
+
0
|
2616 |
+
1
|
2617 |
+
1
|
2618 |
+
1
|
2619 |
+
1
|
2620 |
+
0
|
2621 |
+
0
|
2622 |
+
1
|
2623 |
+
0
|
2624 |
+
1
|
2625 |
+
1
|
2626 |
+
1
|
2627 |
+
1
|
2628 |
+
0
|
2629 |
+
0
|
2630 |
+
0
|
2631 |
+
0
|
2632 |
+
1
|
2633 |
+
0
|
2634 |
+
0
|
2635 |
+
0
|
2636 |
+
0
|
2637 |
+
1
|
2638 |
+
1
|
2639 |
+
1
|
2640 |
+
1
|
2641 |
+
0
|
2642 |
+
1
|
2643 |
+
0
|
2644 |
+
0
|
2645 |
+
1
|
2646 |
+
0
|
2647 |
+
1
|
2648 |
+
1
|
2649 |
+
0
|
2650 |
+
1
|
2651 |
+
0
|
2652 |
+
1
|
2653 |
+
0
|
2654 |
+
1
|
2655 |
+
0
|
2656 |
+
1
|
2657 |
+
0
|
2658 |
+
1
|
2659 |
+
1
|
2660 |
+
0
|
2661 |
+
1
|
2662 |
+
1
|
2663 |
+
1
|
2664 |
+
0
|
2665 |
+
0
|
2666 |
+
1
|
2667 |
+
1
|
2668 |
+
0
|
2669 |
+
1
|
2670 |
+
0
|
2671 |
+
0
|
2672 |
+
0
|
2673 |
+
1
|
2674 |
+
0
|
2675 |
+
1
|
2676 |
+
0
|
2677 |
+
0
|
2678 |
+
1
|
2679 |
+
1
|
2680 |
+
0
|
2681 |
+
1
|
2682 |
+
0
|
2683 |
+
0
|
2684 |
+
0
|
2685 |
+
1
|
2686 |
+
1
|
2687 |
+
1
|
2688 |
+
0
|
2689 |
+
1
|
2690 |
+
1
|
2691 |
+
0
|
2692 |
+
1
|
2693 |
+
0
|
2694 |
+
0
|
2695 |
+
1
|
2696 |
+
1
|
2697 |
+
1
|
2698 |
+
0
|
2699 |
+
0
|
2700 |
+
0
|
2701 |
+
1
|
2702 |
+
0
|
2703 |
+
0
|
2704 |
+
0
|
2705 |
+
1
|
2706 |
+
1
|
2707 |
+
0
|
2708 |
+
1
|
2709 |
+
1
|
2710 |
+
1
|
2711 |
+
1
|
2712 |
+
1
|
2713 |
+
1
|
2714 |
+
0
|
2715 |
+
0
|
2716 |
+
0
|
2717 |
+
0
|
2718 |
+
0
|
2719 |
+
1
|
2720 |
+
1
|
2721 |
+
1
|
2722 |
+
1
|
2723 |
+
0
|
2724 |
+
0
|
2725 |
+
1
|
2726 |
+
1
|
2727 |
+
1
|
2728 |
+
1
|
2729 |
+
1
|
2730 |
+
1
|
2731 |
+
0
|
2732 |
+
1
|
2733 |
+
1
|
2734 |
+
1
|
2735 |
+
0
|
2736 |
+
1
|
2737 |
+
0
|
2738 |
+
1
|
2739 |
+
0
|
2740 |
+
0
|
2741 |
+
1
|
2742 |
+
1
|
2743 |
+
1
|
2744 |
+
0
|
2745 |
+
1
|
2746 |
+
0
|
2747 |
+
0
|
2748 |
+
1
|
2749 |
+
0
|
2750 |
+
0
|
2751 |
+
0
|
2752 |
+
1
|
2753 |
+
0
|
2754 |
+
0
|
2755 |
+
1
|
2756 |
+
0
|
2757 |
+
0
|
2758 |
+
1
|
2759 |
+
1
|
2760 |
+
1
|
2761 |
+
0
|
2762 |
+
0
|
2763 |
+
1
|
2764 |
+
1
|
2765 |
+
0
|
2766 |
+
1
|
2767 |
+
0
|
2768 |
+
0
|
2769 |
+
1
|
2770 |
+
1
|
2771 |
+
1
|
2772 |
+
0
|
2773 |
+
0
|
2774 |
+
1
|
2775 |
+
1
|
2776 |
+
0
|
2777 |
+
1
|
2778 |
+
0
|
2779 |
+
1
|
2780 |
+
1
|
2781 |
+
1
|
2782 |
+
1
|
2783 |
+
1
|
2784 |
+
1
|
2785 |
+
1
|
2786 |
+
1
|
2787 |
+
1
|
2788 |
+
0
|
2789 |
+
1
|
2790 |
+
1
|
2791 |
+
1
|
2792 |
+
1
|
2793 |
+
0
|
2794 |
+
0
|
2795 |
+
0
|
2796 |
+
0
|
2797 |
+
0
|
2798 |
+
1
|
2799 |
+
0
|
2800 |
+
1
|
2801 |
+
0
|
2802 |
+
1
|
2803 |
+
1
|
2804 |
+
1
|
2805 |
+
0
|
2806 |
+
1
|
2807 |
+
1
|
2808 |
+
0
|
2809 |
+
0
|
2810 |
+
0
|
2811 |
+
0
|
2812 |
+
1
|
2813 |
+
1
|
2814 |
+
1
|
2815 |
+
1
|
2816 |
+
1
|
2817 |
+
1
|
2818 |
+
1
|
2819 |
+
1
|
2820 |
+
0
|
2821 |
+
0
|
2822 |
+
1
|
2823 |
+
0
|
2824 |
+
0
|
2825 |
+
0
|
2826 |
+
0
|
2827 |
+
0
|
2828 |
+
0
|
2829 |
+
0
|
2830 |
+
0
|
2831 |
+
0
|
2832 |
+
0
|
2833 |
+
1
|
2834 |
+
1
|
2835 |
+
1
|
2836 |
+
0
|
2837 |
+
1
|
2838 |
+
1
|
2839 |
+
0
|
2840 |
+
1
|
2841 |
+
1
|
2842 |
+
0
|
2843 |
+
1
|
2844 |
+
1
|
2845 |
+
0
|
2846 |
+
0
|
2847 |
+
0
|
2848 |
+
0
|
2849 |
+
1
|
2850 |
+
0
|
2851 |
+
0
|
2852 |
+
0
|
2853 |
+
0
|
2854 |
+
0
|
2855 |
+
1
|
2856 |
+
1
|
2857 |
+
1
|
2858 |
+
0
|
2859 |
+
1
|
2860 |
+
0
|
2861 |
+
1
|
2862 |
+
1
|
2863 |
+
1
|
2864 |
+
1
|
2865 |
+
1
|
2866 |
+
1
|
2867 |
+
1
|
2868 |
+
1
|
2869 |
+
0
|
2870 |
+
1
|
2871 |
+
1
|
2872 |
+
0
|
2873 |
+
1
|
2874 |
+
1
|
2875 |
+
1
|
2876 |
+
0
|
2877 |
+
0
|
2878 |
+
0
|
2879 |
+
1
|
2880 |
+
1
|
2881 |
+
0
|
2882 |
+
0
|
2883 |
+
1
|
2884 |
+
1
|
2885 |
+
1
|
2886 |
+
0
|
2887 |
+
1
|
2888 |
+
0
|
2889 |
+
1
|
2890 |
+
0
|
2891 |
+
0
|
2892 |
+
0
|
2893 |
+
0
|
2894 |
+
1
|
2895 |
+
1
|
2896 |
+
1
|
2897 |
+
0
|
2898 |
+
1
|
2899 |
+
1
|
2900 |
+
1
|
2901 |
+
0
|
2902 |
+
0
|
2903 |
+
0
|
2904 |
+
0
|
2905 |
+
0
|
2906 |
+
0
|
2907 |
+
1
|
2908 |
+
1
|
2909 |
+
0
|
2910 |
+
0
|
2911 |
+
0
|
2912 |
+
0
|
2913 |
+
0
|
2914 |
+
0
|
2915 |
+
0
|
2916 |
+
0
|
2917 |
+
0
|
2918 |
+
1
|
2919 |
+
1
|
2920 |
+
1
|
2921 |
+
1
|
2922 |
+
1
|
2923 |
+
0
|
2924 |
+
0
|
2925 |
+
0
|
2926 |
+
0
|
2927 |
+
0
|
2928 |
+
0
|
2929 |
+
0
|
2930 |
+
1
|
2931 |
+
1
|
2932 |
+
0
|
2933 |
+
0
|
2934 |
+
0
|
2935 |
+
0
|
2936 |
+
0
|
2937 |
+
0
|
2938 |
+
0
|
2939 |
+
1
|
2940 |
+
0
|
2941 |
+
1
|
2942 |
+
0
|
2943 |
+
1
|
2944 |
+
0
|
2945 |
+
1
|
2946 |
+
0
|
2947 |
+
1
|
2948 |
+
0
|
2949 |
+
1
|
2950 |
+
1
|
2951 |
+
0
|
2952 |
+
1
|
2953 |
+
1
|
2954 |
+
0
|
2955 |
+
1
|
2956 |
+
1
|
2957 |
+
1
|
2958 |
+
1
|
2959 |
+
1
|
2960 |
+
1
|
2961 |
+
0
|
2962 |
+
0
|
2963 |
+
0
|
2964 |
+
1
|
2965 |
+
0
|
2966 |
+
0
|
2967 |
+
0
|
2968 |
+
0
|
2969 |
+
0
|
2970 |
+
0
|
2971 |
+
0
|
2972 |
+
1
|
2973 |
+
1
|
2974 |
+
1
|
2975 |
+
1
|
2976 |
+
0
|
2977 |
+
0
|
2978 |
+
1
|
2979 |
+
0
|
2980 |
+
0
|
2981 |
+
0
|
2982 |
+
0
|
2983 |
+
0
|
2984 |
+
1
|
2985 |
+
0
|
2986 |
+
0
|
2987 |
+
0
|
2988 |
+
1
|
2989 |
+
0
|
2990 |
+
0
|
2991 |
+
0
|
2992 |
+
1
|
2993 |
+
1
|
2994 |
+
1
|
2995 |
+
1
|
2996 |
+
1
|
2997 |
+
0
|
2998 |
+
1
|
2999 |
+
1
|
3000 |
+
1
|
3001 |
+
1
|
3002 |
+
0
|
3003 |
+
0
|
3004 |
+
0
|
3005 |
+
0
|
3006 |
+
0
|
3007 |
+
1
|
3008 |
+
0
|
3009 |
+
0
|
3010 |
+
0
|
3011 |
+
0
|
3012 |
+
1
|
3013 |
+
1
|
3014 |
+
0
|
3015 |
+
0
|
3016 |
+
1
|
3017 |
+
1
|
3018 |
+
1
|
3019 |
+
1
|
3020 |
+
1
|
3021 |
+
0
|
3022 |
+
1
|
3023 |
+
0
|
3024 |
+
0
|
3025 |
+
1
|
3026 |
+
0
|
3027 |
+
1
|
3028 |
+
1
|
3029 |
+
0
|
3030 |
+
1
|
3031 |
+
1
|
3032 |
+
1
|
3033 |
+
1
|
3034 |
+
1
|
3035 |
+
1
|
3036 |
+
1
|
3037 |
+
0
|
3038 |
+
0
|
3039 |
+
0
|
3040 |
+
0
|
3041 |
+
1
|
3042 |
+
1
|
3043 |
+
1
|
3044 |
+
1
|
3045 |
+
1
|
3046 |
+
0
|
3047 |
+
1
|
3048 |
+
1
|
3049 |
+
1
|
3050 |
+
1
|
3051 |
+
1
|
3052 |
+
0
|
3053 |
+
1
|
3054 |
+
0
|
3055 |
+
1
|
3056 |
+
1
|
3057 |
+
1
|
3058 |
+
0
|
3059 |
+
1
|
3060 |
+
1
|
3061 |
+
0
|
3062 |
+
1
|
3063 |
+
0
|
3064 |
+
1
|
3065 |
+
1
|
3066 |
+
0
|
3067 |
+
0
|
3068 |
+
1
|
3069 |
+
1
|
3070 |
+
0
|
3071 |
+
0
|
3072 |
+
1
|
3073 |
+
0
|
3074 |
+
0
|
3075 |
+
1
|
3076 |
+
0
|
3077 |
+
1
|
3078 |
+
0
|
3079 |
+
1
|
3080 |
+
1
|
3081 |
+
1
|
3082 |
+
1
|
3083 |
+
1
|
3084 |
+
0
|
3085 |
+
1
|
3086 |
+
1
|
3087 |
+
0
|
3088 |
+
0
|
3089 |
+
0
|
3090 |
+
1
|
3091 |
+
1
|
3092 |
+
0
|
3093 |
+
1
|
3094 |
+
0
|
3095 |
+
1
|
3096 |
+
1
|
3097 |
+
1
|
3098 |
+
0
|
3099 |
+
0
|
3100 |
+
1
|
3101 |
+
0
|
3102 |
+
1
|
3103 |
+
1
|
3104 |
+
0
|
3105 |
+
1
|
3106 |
+
1
|
3107 |
+
1
|
3108 |
+
1
|
3109 |
+
0
|
3110 |
+
0
|
3111 |
+
1
|
3112 |
+
0
|
3113 |
+
0
|
3114 |
+
1
|
3115 |
+
0
|
3116 |
+
0
|
3117 |
+
0
|
3118 |
+
1
|
3119 |
+
1
|
3120 |
+
1
|
3121 |
+
0
|
3122 |
+
0
|
3123 |
+
0
|
3124 |
+
1
|
3125 |
+
0
|
3126 |
+
0
|
3127 |
+
0
|
3128 |
+
1
|
3129 |
+
0
|
3130 |
+
1
|
3131 |
+
1
|
3132 |
+
1
|
3133 |
+
0
|
3134 |
+
0
|
3135 |
+
1
|
3136 |
+
1
|
3137 |
+
0
|
3138 |
+
1
|
3139 |
+
1
|
3140 |
+
1
|
3141 |
+
1
|
3142 |
+
1
|
3143 |
+
0
|
3144 |
+
1
|
3145 |
+
1
|
3146 |
+
1
|
3147 |
+
1
|
3148 |
+
1
|
3149 |
+
0
|
3150 |
+
1
|
3151 |
+
1
|
3152 |
+
0
|
3153 |
+
1
|
3154 |
+
1
|
3155 |
+
1
|
3156 |
+
1
|
3157 |
+
0
|
3158 |
+
0
|
3159 |
+
0
|
3160 |
+
1
|
3161 |
+
0
|
3162 |
+
0
|
3163 |
+
1
|
3164 |
+
1
|
3165 |
+
0
|
3166 |
+
1
|
3167 |
+
1
|
3168 |
+
1
|
3169 |
+
0
|
3170 |
+
1
|
3171 |
+
0
|
3172 |
+
0
|
3173 |
+
1
|
3174 |
+
0
|
3175 |
+
0
|
3176 |
+
1
|
3177 |
+
0
|
3178 |
+
1
|
3179 |
+
1
|
3180 |
+
1
|
3181 |
+
0
|
3182 |
+
1
|
3183 |
+
0
|
3184 |
+
1
|
3185 |
+
0
|
3186 |
+
0
|
3187 |
+
1
|
3188 |
+
1
|
3189 |
+
1
|
3190 |
+
1
|
3191 |
+
0
|
3192 |
+
1
|
3193 |
+
0
|
3194 |
+
0
|
3195 |
+
1
|
3196 |
+
0
|
3197 |
+
1
|
3198 |
+
1
|
3199 |
+
0
|
3200 |
+
0
|
3201 |
+
1
|
3202 |
+
0
|
3203 |
+
0
|
3204 |
+
0
|
3205 |
+
0
|
3206 |
+
1
|
3207 |
+
0
|
3208 |
+
1
|
3209 |
+
1
|
3210 |
+
1
|
3211 |
+
0
|
3212 |
+
1
|
3213 |
+
0
|
3214 |
+
0
|
3215 |
+
1
|
3216 |
+
0
|
3217 |
+
0
|
3218 |
+
0
|
3219 |
+
1
|
3220 |
+
0
|
3221 |
+
0
|
3222 |
+
1
|
3223 |
+
1
|
3224 |
+
1
|
3225 |
+
0
|
3226 |
+
1
|
3227 |
+
1
|
3228 |
+
0
|
3229 |
+
0
|
3230 |
+
0
|
3231 |
+
0
|
3232 |
+
0
|
3233 |
+
0
|
3234 |
+
0
|
3235 |
+
1
|
3236 |
+
1
|
3237 |
+
1
|
3238 |
+
1
|
3239 |
+
0
|
3240 |
+
0
|
3241 |
+
0
|
3242 |
+
0
|
3243 |
+
0
|
3244 |
+
0
|
3245 |
+
0
|
3246 |
+
0
|
3247 |
+
1
|
3248 |
+
0
|
3249 |
+
0
|
3250 |
+
0
|
3251 |
+
1
|
3252 |
+
1
|
3253 |
+
1
|
3254 |
+
1
|
3255 |
+
1
|
3256 |
+
0
|
3257 |
+
0
|
3258 |
+
0
|
3259 |
+
0
|
3260 |
+
1
|
3261 |
+
1
|
3262 |
+
1
|
3263 |
+
0
|
3264 |
+
1
|
3265 |
+
0
|
3266 |
+
0
|
3267 |
+
1
|
3268 |
+
1
|
3269 |
+
1
|
3270 |
+
0
|
3271 |
+
1
|
3272 |
+
0
|
3273 |
+
1
|
3274 |
+
1
|
3275 |
+
1
|
3276 |
+
0
|
3277 |
+
1
|
3278 |
+
1
|
3279 |
+
1
|
3280 |
+
0
|
3281 |
+
0
|
3282 |
+
1
|
3283 |
+
1
|
3284 |
+
0
|
3285 |
+
1
|
3286 |
+
1
|
3287 |
+
0
|
3288 |
+
1
|
3289 |
+
1
|
3290 |
+
1
|
3291 |
+
1
|
3292 |
+
1
|
3293 |
+
0
|
3294 |
+
0
|
3295 |
+
1
|
3296 |
+
1
|
3297 |
+
1
|
3298 |
+
1
|
3299 |
+
1
|
3300 |
+
0
|
3301 |
+
1
|
3302 |
+
0
|
3303 |
+
0
|
3304 |
+
1
|
3305 |
+
1
|
3306 |
+
0
|
3307 |
+
0
|
3308 |
+
0
|
3309 |
+
0
|
3310 |
+
1
|
3311 |
+
0
|
3312 |
+
1
|
3313 |
+
1
|
3314 |
+
1
|
3315 |
+
1
|
3316 |
+
1
|
3317 |
+
1
|
3318 |
+
1
|
3319 |
+
1
|
3320 |
+
0
|
3321 |
+
1
|
3322 |
+
1
|
3323 |
+
1
|
3324 |
+
1
|
3325 |
+
0
|
3326 |
+
0
|
3327 |
+
0
|
3328 |
+
1
|
3329 |
+
0
|
3330 |
+
1
|
3331 |
+
1
|
3332 |
+
1
|
3333 |
+
1
|
3334 |
+
1
|
3335 |
+
1
|
3336 |
+
0
|
3337 |
+
1
|
3338 |
+
1
|
3339 |
+
1
|
3340 |
+
1
|
3341 |
+
0
|
3342 |
+
1
|
3343 |
+
0
|
3344 |
+
0
|
3345 |
+
0
|
3346 |
+
0
|
3347 |
+
1
|
3348 |
+
1
|
3349 |
+
1
|
3350 |
+
1
|
3351 |
+
0
|
3352 |
+
0
|
3353 |
+
0
|
3354 |
+
0
|
3355 |
+
1
|
3356 |
+
0
|
3357 |
+
0
|
3358 |
+
0
|
3359 |
+
1
|
3360 |
+
1
|
3361 |
+
1
|
3362 |
+
1
|
3363 |
+
1
|
3364 |
+
0
|
3365 |
+
1
|
3366 |
+
1
|
3367 |
+
1
|
3368 |
+
1
|
3369 |
+
1
|
3370 |
+
1
|
3371 |
+
1
|
3372 |
+
0
|
3373 |
+
1
|
3374 |
+
0
|
3375 |
+
0
|
3376 |
+
1
|
3377 |
+
0
|
3378 |
+
1
|
3379 |
+
1
|
3380 |
+
0
|
3381 |
+
0
|
3382 |
+
1
|
3383 |
+
1
|
3384 |
+
1
|
3385 |
+
1
|
3386 |
+
0
|
3387 |
+
0
|
3388 |
+
1
|
3389 |
+
1
|
3390 |
+
0
|
3391 |
+
1
|
3392 |
+
0
|
3393 |
+
1
|
3394 |
+
0
|
3395 |
+
0
|
3396 |
+
0
|
3397 |
+
1
|
3398 |
+
1
|
3399 |
+
1
|
3400 |
+
1
|
3401 |
+
1
|
3402 |
+
1
|
3403 |
+
1
|
3404 |
+
1
|
3405 |
+
0
|
3406 |
+
0
|
3407 |
+
1
|
3408 |
+
1
|
3409 |
+
0
|
3410 |
+
1
|
3411 |
+
0
|
3412 |
+
1
|
3413 |
+
1
|
3414 |
+
0
|
3415 |
+
1
|
3416 |
+
1
|
3417 |
+
0
|
3418 |
+
0
|
3419 |
+
0
|
3420 |
+
1
|
3421 |
+
0
|
3422 |
+
0
|
3423 |
+
1
|
3424 |
+
1
|
3425 |
+
1
|
3426 |
+
1
|
3427 |
+
1
|
3428 |
+
0
|
3429 |
+
1
|
3430 |
+
1
|
3431 |
+
1
|
3432 |
+
1
|
3433 |
+
1
|
3434 |
+
0
|
3435 |
+
0
|
3436 |
+
0
|
3437 |
+
0
|
3438 |
+
1
|
3439 |
+
0
|
3440 |
+
0
|
3441 |
+
0
|
3442 |
+
0
|
3443 |
+
1
|
3444 |
+
1
|
3445 |
+
0
|
3446 |
+
1
|
3447 |
+
1
|
3448 |
+
1
|
3449 |
+
0
|
3450 |
+
0
|
3451 |
+
0
|
3452 |
+
1
|
3453 |
+
1
|
3454 |
+
1
|
3455 |
+
1
|
3456 |
+
1
|
3457 |
+
0
|
3458 |
+
1
|
3459 |
+
0
|
3460 |
+
1
|
3461 |
+
1
|
3462 |
+
1
|
3463 |
+
0
|
3464 |
+
1
|
3465 |
+
1
|
3466 |
+
1
|
3467 |
+
0
|
3468 |
+
0
|
3469 |
+
0
|
3470 |
+
0
|
3471 |
+
0
|
3472 |
+
1
|
3473 |
+
0
|
3474 |
+
0
|
3475 |
+
0
|
3476 |
+
0
|
3477 |
+
0
|
3478 |
+
0
|
3479 |
+
1
|
3480 |
+
0
|
3481 |
+
1
|
3482 |
+
0
|
3483 |
+
0
|
3484 |
+
1
|
3485 |
+
0
|
3486 |
+
1
|
3487 |
+
1
|
3488 |
+
1
|
3489 |
+
1
|
3490 |
+
1
|
3491 |
+
1
|
3492 |
+
1
|
3493 |
+
0
|
3494 |
+
1
|
3495 |
+
1
|
3496 |
+
0
|
3497 |
+
1
|
3498 |
+
1
|
3499 |
+
1
|
3500 |
+
1
|
3501 |
+
0
|
3502 |
+
0
|
3503 |
+
0
|
3504 |
+
1
|
3505 |
+
0
|
3506 |
+
0
|
3507 |
+
0
|
3508 |
+
1
|
3509 |
+
0
|
3510 |
+
0
|
3511 |
+
0
|
3512 |
+
0
|
3513 |
+
1
|
3514 |
+
0
|
3515 |
+
0
|
3516 |
+
0
|
3517 |
+
1
|
3518 |
+
0
|
3519 |
+
0
|
3520 |
+
1
|
3521 |
+
1
|
3522 |
+
1
|
3523 |
+
0
|
3524 |
+
1
|
3525 |
+
1
|
3526 |
+
1
|
3527 |
+
1
|
3528 |
+
0
|
3529 |
+
1
|
3530 |
+
0
|
3531 |
+
0
|
3532 |
+
0
|
3533 |
+
1
|
3534 |
+
1
|
3535 |
+
0
|
3536 |
+
1
|
3537 |
+
0
|
3538 |
+
1
|
3539 |
+
1
|
3540 |
+
0
|
3541 |
+
0
|
3542 |
+
0
|
3543 |
+
1
|
3544 |
+
0
|
3545 |
+
0
|
3546 |
+
0
|
3547 |
+
0
|
3548 |
+
0
|
3549 |
+
0
|
3550 |
+
0
|
3551 |
+
0
|
3552 |
+
0
|
3553 |
+
0
|
3554 |
+
1
|
3555 |
+
1
|
3556 |
+
0
|
3557 |
+
0
|
3558 |
+
1
|
3559 |
+
1
|
3560 |
+
1
|
3561 |
+
0
|
3562 |
+
0
|
3563 |
+
0
|
3564 |
+
0
|
3565 |
+
1
|
3566 |
+
0
|
3567 |
+
1
|
3568 |
+
1
|
3569 |
+
1
|
3570 |
+
0
|
3571 |
+
1
|
3572 |
+
1
|
3573 |
+
0
|
3574 |
+
1
|
3575 |
+
0
|
3576 |
+
1
|
3577 |
+
1
|
3578 |
+
0
|
3579 |
+
1
|
3580 |
+
1
|
3581 |
+
0
|
3582 |
+
1
|
3583 |
+
0
|
3584 |
+
0
|
3585 |
+
1
|
3586 |
+
1
|
3587 |
+
1
|
3588 |
+
0
|
3589 |
+
0
|
3590 |
+
1
|
3591 |
+
1
|
3592 |
+
0
|
3593 |
+
1
|
3594 |
+
1
|
3595 |
+
0
|
3596 |
+
0
|
3597 |
+
0
|
3598 |
+
1
|
3599 |
+
1
|
3600 |
+
0
|
3601 |
+
1
|
3602 |
+
0
|
3603 |
+
1
|
3604 |
+
1
|
3605 |
+
1
|
3606 |
+
0
|
3607 |
+
1
|
3608 |
+
0
|
3609 |
+
1
|
3610 |
+
0
|
3611 |
+
0
|
3612 |
+
1
|
3613 |
+
1
|
3614 |
+
1
|
3615 |
+
0
|
3616 |
+
0
|
3617 |
+
0
|
3618 |
+
1
|
3619 |
+
1
|
3620 |
+
1
|
3621 |
+
0
|
3622 |
+
1
|
3623 |
+
1
|
3624 |
+
0
|
3625 |
+
0
|
3626 |
+
1
|
3627 |
+
0
|
3628 |
+
0
|
3629 |
+
1
|
3630 |
+
1
|
3631 |
+
0
|
3632 |
+
0
|
3633 |
+
0
|
3634 |
+
1
|
3635 |
+
0
|
3636 |
+
0
|
3637 |
+
0
|
3638 |
+
0
|
3639 |
+
1
|
3640 |
+
0
|
3641 |
+
0
|
3642 |
+
0
|
3643 |
+
0
|
3644 |
+
0
|
3645 |
+
0
|
3646 |
+
0
|
3647 |
+
1
|
3648 |
+
0
|
3649 |
+
1
|
3650 |
+
0
|
3651 |
+
0
|
3652 |
+
0
|
3653 |
+
0
|
3654 |
+
0
|
3655 |
+
1
|
3656 |
+
1
|
3657 |
+
0
|
3658 |
+
1
|
3659 |
+
1
|
3660 |
+
0
|
3661 |
+
1
|
3662 |
+
0
|
3663 |
+
0
|
3664 |
+
1
|
3665 |
+
1
|
3666 |
+
0
|
3667 |
+
0
|
3668 |
+
1
|
3669 |
+
1
|
3670 |
+
1
|
3671 |
+
1
|
3672 |
+
1
|
3673 |
+
1
|
3674 |
+
0
|
3675 |
+
0
|
3676 |
+
1
|
3677 |
+
0
|
3678 |
+
1
|
3679 |
+
0
|
3680 |
+
0
|
3681 |
+
1
|
3682 |
+
1
|
3683 |
+
1
|
3684 |
+
0
|
3685 |
+
0
|
3686 |
+
1
|
3687 |
+
0
|
3688 |
+
1
|
3689 |
+
1
|
3690 |
+
1
|
3691 |
+
1
|
3692 |
+
1
|
3693 |
+
1
|
3694 |
+
1
|
3695 |
+
1
|
3696 |
+
0
|
3697 |
+
0
|
3698 |
+
1
|
3699 |
+
1
|
3700 |
+
1
|
3701 |
+
0
|
3702 |
+
0
|
3703 |
+
0
|
3704 |
+
1
|
3705 |
+
0
|
3706 |
+
0
|
3707 |
+
0
|
3708 |
+
0
|
3709 |
+
0
|
3710 |
+
0
|
3711 |
+
0
|
3712 |
+
1
|
3713 |
+
1
|
3714 |
+
0
|
3715 |
+
0
|
3716 |
+
0
|
3717 |
+
1
|
3718 |
+
1
|
3719 |
+
1
|
3720 |
+
1
|
3721 |
+
0
|
3722 |
+
1
|
3723 |
+
0
|
3724 |
+
1
|
3725 |
+
0
|
3726 |
+
0
|
3727 |
+
0
|
3728 |
+
0
|
3729 |
+
0
|
3730 |
+
1
|
3731 |
+
1
|
3732 |
+
1
|
3733 |
+
0
|
3734 |
+
0
|
3735 |
+
1
|
3736 |
+
1
|
3737 |
+
0
|
3738 |
+
1
|
3739 |
+
0
|
3740 |
+
1
|
3741 |
+
1
|
3742 |
+
1
|
3743 |
+
1
|
3744 |
+
0
|
3745 |
+
0
|
3746 |
+
0
|
3747 |
+
0
|
3748 |
+
1
|
3749 |
+
0
|
3750 |
+
0
|
3751 |
+
1
|
3752 |
+
0
|
3753 |
+
0
|
3754 |
+
1
|
3755 |
+
1
|
3756 |
+
1
|
3757 |
+
0
|
3758 |
+
1
|
3759 |
+
1
|
3760 |
+
0
|
3761 |
+
1
|
3762 |
+
0
|
3763 |
+
1
|
3764 |
+
0
|
3765 |
+
0
|
3766 |
+
0
|
3767 |
+
0
|
3768 |
+
1
|
3769 |
+
0
|
3770 |
+
0
|
3771 |
+
0
|
3772 |
+
0
|
3773 |
+
0
|
3774 |
+
0
|
3775 |
+
0
|
3776 |
+
0
|
3777 |
+
0
|
3778 |
+
0
|
3779 |
+
1
|
3780 |
+
0
|
3781 |
+
1
|
3782 |
+
0
|
3783 |
+
1
|
3784 |
+
1
|
3785 |
+
0
|
3786 |
+
1
|
3787 |
+
0
|
3788 |
+
1
|
3789 |
+
1
|
3790 |
+
0
|
3791 |
+
0
|
3792 |
+
0
|
3793 |
+
1
|
3794 |
+
1
|
3795 |
+
1
|
3796 |
+
1
|
3797 |
+
0
|
3798 |
+
0
|
3799 |
+
0
|
3800 |
+
0
|
3801 |
+
1
|
3802 |
+
0
|
3803 |
+
1
|
3804 |
+
0
|
3805 |
+
0
|
3806 |
+
1
|
3807 |
+
1
|
3808 |
+
1
|
3809 |
+
0
|
3810 |
+
1
|
3811 |
+
1
|
3812 |
+
1
|
3813 |
+
0
|
3814 |
+
1
|
3815 |
+
1
|
3816 |
+
0
|
3817 |
+
1
|
3818 |
+
0
|
3819 |
+
0
|
3820 |
+
0
|
3821 |
+
1
|
3822 |
+
0
|
3823 |
+
1
|
3824 |
+
1
|
3825 |
+
0
|
3826 |
+
0
|
3827 |
+
0
|
3828 |
+
0
|
3829 |
+
1
|
3830 |
+
1
|
3831 |
+
1
|
3832 |
+
0
|
3833 |
+
0
|
3834 |
+
0
|
3835 |
+
0
|
3836 |
+
0
|
3837 |
+
0
|
3838 |
+
0
|
3839 |
+
1
|
3840 |
+
1
|
3841 |
+
0
|
3842 |
+
1
|
3843 |
+
0
|
3844 |
+
0
|
3845 |
+
1
|
3846 |
+
0
|
3847 |
+
0
|
3848 |
+
0
|
3849 |
+
0
|
3850 |
+
0
|
3851 |
+
1
|
3852 |
+
1
|
3853 |
+
1
|
3854 |
+
0
|
3855 |
+
0
|
3856 |
+
1
|
3857 |
+
1
|
3858 |
+
1
|
3859 |
+
1
|
3860 |
+
1
|
3861 |
+
1
|
3862 |
+
1
|
3863 |
+
1
|
3864 |
+
1
|
3865 |
+
0
|
3866 |
+
1
|
3867 |
+
0
|
3868 |
+
0
|
3869 |
+
0
|
3870 |
+
1
|
3871 |
+
0
|
3872 |
+
1
|
3873 |
+
1
|
3874 |
+
1
|
3875 |
+
1
|
3876 |
+
0
|
3877 |
+
0
|
3878 |
+
0
|
3879 |
+
1
|
3880 |
+
1
|
3881 |
+
1
|
3882 |
+
1
|
3883 |
+
0
|
3884 |
+
0
|
3885 |
+
1
|
3886 |
+
1
|
3887 |
+
1
|
3888 |
+
1
|
3889 |
+
1
|
3890 |
+
1
|
3891 |
+
1
|
3892 |
+
1
|
3893 |
+
1
|
3894 |
+
0
|
3895 |
+
0
|
3896 |
+
1
|
3897 |
+
0
|
3898 |
+
1
|
3899 |
+
0
|
3900 |
+
1
|
3901 |
+
0
|
3902 |
+
1
|
3903 |
+
0
|
3904 |
+
1
|
3905 |
+
0
|
3906 |
+
1
|
3907 |
+
1
|
3908 |
+
1
|
3909 |
+
0
|
3910 |
+
0
|
3911 |
+
1
|
3912 |
+
0
|
3913 |
+
0
|
3914 |
+
0
|
3915 |
+
0
|
3916 |
+
0
|
3917 |
+
1
|
3918 |
+
0
|
3919 |
+
1
|
3920 |
+
0
|
3921 |
+
1
|
3922 |
+
0
|
3923 |
+
0
|
3924 |
+
1
|
3925 |
+
0
|
3926 |
+
0
|
3927 |
+
1
|
3928 |
+
0
|
3929 |
+
1
|
3930 |
+
1
|
3931 |
+
0
|
3932 |
+
0
|
3933 |
+
1
|
3934 |
+
0
|
3935 |
+
0
|
3936 |
+
0
|
3937 |
+
1
|
3938 |
+
1
|
3939 |
+
1
|
3940 |
+
1
|
3941 |
+
1
|
3942 |
+
0
|
3943 |
+
1
|
3944 |
+
0
|
3945 |
+
0
|
3946 |
+
0
|
3947 |
+
0
|
3948 |
+
1
|
3949 |
+
1
|
3950 |
+
1
|
3951 |
+
1
|
3952 |
+
0
|
3953 |
+
0
|
3954 |
+
0
|
3955 |
+
1
|
3956 |
+
0
|
3957 |
+
1
|
3958 |
+
1
|
3959 |
+
1
|
3960 |
+
1
|
3961 |
+
1
|
3962 |
+
1
|
3963 |
+
1
|
3964 |
+
1
|
3965 |
+
0
|
3966 |
+
1
|
3967 |
+
1
|
3968 |
+
1
|
3969 |
+
1
|
3970 |
+
0
|
3971 |
+
0
|
3972 |
+
1
|
3973 |
+
0
|
3974 |
+
0
|
3975 |
+
1
|
3976 |
+
1
|
3977 |
+
1
|
3978 |
+
1
|
3979 |
+
0
|
3980 |
+
1
|
3981 |
+
0
|
3982 |
+
0
|
3983 |
+
0
|
3984 |
+
1
|
3985 |
+
1
|
3986 |
+
1
|
3987 |
+
1
|
3988 |
+
1
|
3989 |
+
0
|
3990 |
+
0
|
3991 |
+
0
|
3992 |
+
0
|
3993 |
+
1
|
3994 |
+
1
|
3995 |
+
1
|
3996 |
+
0
|
3997 |
+
1
|
3998 |
+
0
|
3999 |
+
1
|
4000 |
+
0
|
4001 |
+
1
|
4002 |
+
1
|
4003 |
+
0
|
4004 |
+
0
|
4005 |
+
1
|
4006 |
+
1
|
4007 |
+
1
|
4008 |
+
1
|
4009 |
+
0
|
4010 |
+
1
|
4011 |
+
1
|
4012 |
+
1
|
4013 |
+
1
|
4014 |
+
1
|
4015 |
+
1
|
4016 |
+
0
|
4017 |
+
0
|
4018 |
+
0
|
4019 |
+
1
|
4020 |
+
1
|
4021 |
+
0
|
4022 |
+
1
|
4023 |
+
1
|
4024 |
+
1
|
4025 |
+
0
|
4026 |
+
1
|
4027 |
+
1
|
4028 |
+
1
|
4029 |
+
0
|
4030 |
+
0
|
4031 |
+
0
|
4032 |
+
0
|
4033 |
+
1
|
4034 |
+
1
|
4035 |
+
1
|
4036 |
+
1
|
4037 |
+
0
|
4038 |
+
1
|
4039 |
+
1
|
4040 |
+
1
|
4041 |
+
0
|
4042 |
+
0
|
4043 |
+
1
|
4044 |
+
1
|
4045 |
+
1
|
4046 |
+
1
|
4047 |
+
0
|
4048 |
+
0
|
4049 |
+
0
|
4050 |
+
0
|
4051 |
+
1
|
4052 |
+
1
|
4053 |
+
0
|
4054 |
+
1
|
4055 |
+
1
|
4056 |
+
0
|
4057 |
+
1
|
4058 |
+
0
|
4059 |
+
0
|
4060 |
+
1
|
4061 |
+
1
|
4062 |
+
0
|
4063 |
+
1
|
4064 |
+
1
|
4065 |
+
0
|
4066 |
+
1
|
4067 |
+
0
|
4068 |
+
1
|
4069 |
+
1
|
4070 |
+
1
|
4071 |
+
1
|
4072 |
+
0
|
4073 |
+
1
|
4074 |
+
0
|
4075 |
+
1
|
4076 |
+
0
|
4077 |
+
0
|
4078 |
+
1
|
4079 |
+
1
|
4080 |
+
1
|
4081 |
+
1
|
4082 |
+
1
|
4083 |
+
1
|
4084 |
+
1
|
4085 |
+
1
|
4086 |
+
1
|
4087 |
+
1
|
4088 |
+
1
|
4089 |
+
1
|
4090 |
+
1
|
4091 |
+
1
|
4092 |
+
1
|
4093 |
+
1
|
4094 |
+
0
|
4095 |
+
0
|
4096 |
+
0
|
4097 |
+
1
|
4098 |
+
0
|
4099 |
+
0
|
4100 |
+
1
|
4101 |
+
1
|
4102 |
+
0
|
4103 |
+
1
|
4104 |
+
0
|
4105 |
+
0
|
4106 |
+
1
|
4107 |
+
1
|
4108 |
+
0
|
4109 |
+
1
|
4110 |
+
0
|
4111 |
+
1
|
4112 |
+
0
|
4113 |
+
1
|
4114 |
+
0
|
4115 |
+
1
|
4116 |
+
0
|
4117 |
+
1
|
4118 |
+
1
|
4119 |
+
1
|
4120 |
+
0
|
4121 |
+
1
|
4122 |
+
0
|
4123 |
+
1
|
4124 |
+
1
|
4125 |
+
1
|
4126 |
+
0
|
4127 |
+
1
|
4128 |
+
1
|
4129 |
+
0
|
4130 |
+
1
|
4131 |
+
1
|
4132 |
+
0
|
4133 |
+
0
|
4134 |
+
1
|
4135 |
+
1
|
4136 |
+
0
|
4137 |
+
0
|
4138 |
+
0
|
4139 |
+
1
|
4140 |
+
1
|
4141 |
+
1
|
4142 |
+
1
|
4143 |
+
1
|
4144 |
+
1
|
4145 |
+
1
|
4146 |
+
1
|
4147 |
+
0
|
4148 |
+
0
|
4149 |
+
1
|
4150 |
+
1
|
4151 |
+
1
|
4152 |
+
1
|
4153 |
+
1
|
4154 |
+
1
|
4155 |
+
0
|
4156 |
+
0
|
4157 |
+
0
|
4158 |
+
0
|
4159 |
+
1
|
4160 |
+
0
|
4161 |
+
1
|
4162 |
+
1
|
4163 |
+
1
|
4164 |
+
0
|
4165 |
+
0
|
4166 |
+
0
|
4167 |
+
1
|
4168 |
+
1
|
4169 |
+
1
|
4170 |
+
1
|
4171 |
+
1
|
4172 |
+
0
|
4173 |
+
1
|
4174 |
+
1
|
4175 |
+
0
|
4176 |
+
1
|
4177 |
+
1
|
4178 |
+
1
|
4179 |
+
1
|
4180 |
+
1
|
4181 |
+
0
|
4182 |
+
1
|
4183 |
+
0
|
4184 |
+
0
|
4185 |
+
0
|
4186 |
+
1
|
4187 |
+
1
|
4188 |
+
1
|
4189 |
+
0
|
4190 |
+
0
|
4191 |
+
0
|
4192 |
+
0
|
4193 |
+
0
|
4194 |
+
0
|
4195 |
+
1
|
4196 |
+
0
|
4197 |
+
1
|
4198 |
+
0
|
4199 |
+
0
|
4200 |
+
1
|
4201 |
+
0
|
4202 |
+
1
|
4203 |
+
1
|
4204 |
+
1
|
4205 |
+
0
|
4206 |
+
1
|
4207 |
+
1
|
4208 |
+
0
|
4209 |
+
0
|
4210 |
+
0
|
4211 |
+
1
|
4212 |
+
0
|
4213 |
+
1
|
4214 |
+
1
|
4215 |
+
1
|
4216 |
+
1
|
4217 |
+
0
|
4218 |
+
0
|
4219 |
+
1
|
4220 |
+
1
|
4221 |
+
1
|
4222 |
+
0
|
4223 |
+
0
|
4224 |
+
1
|
4225 |
+
1
|
4226 |
+
1
|
4227 |
+
1
|
4228 |
+
1
|
4229 |
+
1
|
4230 |
+
1
|
4231 |
+
0
|
4232 |
+
1
|
4233 |
+
0
|
4234 |
+
1
|
4235 |
+
1
|
4236 |
+
0
|
4237 |
+
1
|
4238 |
+
1
|
4239 |
+
1
|
4240 |
+
1
|
4241 |
+
1
|
4242 |
+
0
|
4243 |
+
0
|
4244 |
+
0
|
4245 |
+
1
|
4246 |
+
1
|
4247 |
+
0
|
4248 |
+
1
|
4249 |
+
1
|
4250 |
+
0
|
4251 |
+
1
|
4252 |
+
1
|
4253 |
+
1
|
4254 |
+
0
|
4255 |
+
1
|
4256 |
+
1
|
4257 |
+
1
|
4258 |
+
0
|
4259 |
+
1
|
4260 |
+
1
|
4261 |
+
1
|
4262 |
+
1
|
4263 |
+
0
|
4264 |
+
0
|
4265 |
+
1
|
4266 |
+
1
|
4267 |
+
0
|
4268 |
+
0
|
4269 |
+
1
|
4270 |
+
1
|
4271 |
+
1
|
4272 |
+
1
|
4273 |
+
0
|
4274 |
+
0
|
4275 |
+
1
|
4276 |
+
1
|
4277 |
+
1
|
4278 |
+
0
|
4279 |
+
1
|
4280 |
+
1
|
4281 |
+
1
|
4282 |
+
1
|
4283 |
+
0
|
4284 |
+
0
|
4285 |
+
1
|
4286 |
+
0
|
4287 |
+
0
|
4288 |
+
1
|
4289 |
+
1
|
4290 |
+
1
|
4291 |
+
0
|
4292 |
+
0
|
4293 |
+
0
|
4294 |
+
0
|
4295 |
+
0
|
4296 |
+
0
|
4297 |
+
0
|
4298 |
+
0
|
4299 |
+
0
|
4300 |
+
0
|
4301 |
+
0
|
4302 |
+
1
|
4303 |
+
1
|
4304 |
+
1
|
4305 |
+
1
|
4306 |
+
1
|
4307 |
+
1
|
4308 |
+
1
|
4309 |
+
0
|
4310 |
+
1
|
4311 |
+
0
|
4312 |
+
0
|
4313 |
+
0
|
4314 |
+
1
|
4315 |
+
1
|
4316 |
+
1
|
4317 |
+
0
|
4318 |
+
0
|
4319 |
+
0
|
4320 |
+
1
|
4321 |
+
1
|
4322 |
+
0
|
4323 |
+
1
|
4324 |
+
1
|
4325 |
+
1
|
4326 |
+
1
|
4327 |
+
0
|
4328 |
+
0
|
4329 |
+
0
|
4330 |
+
0
|
4331 |
+
0
|
4332 |
+
1
|
4333 |
+
0
|
4334 |
+
1
|
4335 |
+
1
|
4336 |
+
0
|
4337 |
+
1
|
4338 |
+
0
|
4339 |
+
0
|
4340 |
+
0
|
4341 |
+
0
|
4342 |
+
1
|
4343 |
+
1
|
4344 |
+
1
|
4345 |
+
1
|
4346 |
+
1
|
4347 |
+
1
|
4348 |
+
1
|
4349 |
+
1
|
4350 |
+
1
|
4351 |
+
1
|
4352 |
+
1
|
4353 |
+
1
|
4354 |
+
0
|
4355 |
+
0
|
4356 |
+
1
|
4357 |
+
1
|
4358 |
+
0
|
4359 |
+
1
|
4360 |
+
1
|
4361 |
+
0
|
4362 |
+
1
|
4363 |
+
1
|
4364 |
+
0
|
4365 |
+
1
|
4366 |
+
0
|
4367 |
+
1
|
4368 |
+
0
|
4369 |
+
1
|
4370 |
+
0
|
4371 |
+
1
|
4372 |
+
1
|
4373 |
+
1
|
4374 |
+
1
|
4375 |
+
1
|
4376 |
+
1
|
4377 |
+
1
|
4378 |
+
0
|
4379 |
+
0
|
4380 |
+
0
|
4381 |
+
0
|
4382 |
+
1
|
4383 |
+
1
|
4384 |
+
0
|
4385 |
+
0
|
4386 |
+
1
|
4387 |
+
1
|
4388 |
+
1
|
4389 |
+
1
|
4390 |
+
1
|
4391 |
+
0
|
4392 |
+
0
|
4393 |
+
1
|
4394 |
+
1
|
4395 |
+
0
|
4396 |
+
1
|
4397 |
+
1
|
4398 |
+
1
|
4399 |
+
0
|
4400 |
+
1
|
4401 |
+
0
|
4402 |
+
0
|
4403 |
+
0
|
4404 |
+
1
|
4405 |
+
1
|
4406 |
+
0
|
4407 |
+
1
|
4408 |
+
1
|
4409 |
+
0
|
4410 |
+
1
|
4411 |
+
1
|
4412 |
+
0
|
4413 |
+
1
|
4414 |
+
0
|
4415 |
+
1
|
4416 |
+
0
|
4417 |
+
1
|
4418 |
+
0
|
4419 |
+
0
|
4420 |
+
0
|
4421 |
+
1
|
4422 |
+
0
|
4423 |
+
0
|
4424 |
+
1
|
4425 |
+
0
|
4426 |
+
0
|
4427 |
+
0
|
4428 |
+
1
|
4429 |
+
0
|
4430 |
+
1
|
4431 |
+
1
|
4432 |
+
0
|
4433 |
+
1
|
4434 |
+
1
|
4435 |
+
1
|
4436 |
+
1
|
4437 |
+
0
|
4438 |
+
0
|
4439 |
+
1
|
4440 |
+
1
|
4441 |
+
0
|
4442 |
+
0
|
4443 |
+
0
|
4444 |
+
1
|
4445 |
+
0
|
4446 |
+
0
|
4447 |
+
1
|
4448 |
+
0
|
4449 |
+
0
|
4450 |
+
0
|
4451 |
+
1
|
4452 |
+
1
|
4453 |
+
1
|
4454 |
+
1
|
4455 |
+
1
|
4456 |
+
1
|
4457 |
+
1
|
4458 |
+
1
|
4459 |
+
1
|
4460 |
+
1
|
4461 |
+
0
|
4462 |
+
1
|
4463 |
+
0
|
4464 |
+
0
|
4465 |
+
1
|
4466 |
+
0
|
4467 |
+
1
|
4468 |
+
1
|
4469 |
+
1
|
4470 |
+
0
|
4471 |
+
0
|
4472 |
+
1
|
4473 |
+
0
|
4474 |
+
0
|
4475 |
+
0
|
4476 |
+
0
|
4477 |
+
0
|
4478 |
+
1
|
4479 |
+
0
|
4480 |
+
1
|
4481 |
+
1
|
4482 |
+
0
|
4483 |
+
1
|
4484 |
+
1
|
4485 |
+
1
|
4486 |
+
1
|
4487 |
+
0
|
4488 |
+
0
|
4489 |
+
1
|
4490 |
+
1
|
4491 |
+
1
|
4492 |
+
1
|
4493 |
+
1
|
4494 |
+
0
|
4495 |
+
1
|
4496 |
+
0
|
4497 |
+
1
|
4498 |
+
0
|
4499 |
+
0
|
4500 |
+
1
|
4501 |
+
0
|
4502 |
+
1
|
4503 |
+
0
|
4504 |
+
0
|
4505 |
+
0
|
4506 |
+
1
|
4507 |
+
1
|
4508 |
+
1
|
4509 |
+
1
|
4510 |
+
1
|
4511 |
+
0
|
4512 |
+
1
|
4513 |
+
0
|
4514 |
+
1
|
4515 |
+
1
|
4516 |
+
1
|
4517 |
+
0
|
4518 |
+
1
|
4519 |
+
0
|
4520 |
+
1
|
4521 |
+
0
|
4522 |
+
0
|
4523 |
+
1
|
4524 |
+
0
|
4525 |
+
0
|
4526 |
+
1
|
4527 |
+
0
|
4528 |
+
0
|
4529 |
+
0
|
4530 |
+
0
|
4531 |
+
1
|
4532 |
+
0
|
4533 |
+
1
|
4534 |
+
1
|
4535 |
+
1
|
4536 |
+
1
|
4537 |
+
1
|
4538 |
+
0
|
4539 |
+
0
|
4540 |
+
1
|
4541 |
+
1
|
4542 |
+
0
|
4543 |
+
1
|
4544 |
+
1
|
4545 |
+
1
|
4546 |
+
0
|
4547 |
+
1
|
4548 |
+
1
|
4549 |
+
0
|
4550 |
+
0
|
4551 |
+
1
|
4552 |
+
0
|
4553 |
+
0
|
4554 |
+
1
|
4555 |
+
0
|
4556 |
+
0
|
4557 |
+
0
|
4558 |
+
0
|
4559 |
+
1
|
4560 |
+
1
|
4561 |
+
1
|
4562 |
+
1
|
4563 |
+
0
|
4564 |
+
1
|
4565 |
+
0
|
4566 |
+
1
|
4567 |
+
0
|
4568 |
+
1
|
4569 |
+
1
|
4570 |
+
0
|
4571 |
+
0
|
4572 |
+
0
|
4573 |
+
0
|
4574 |
+
1
|
4575 |
+
1
|
4576 |
+
1
|
4577 |
+
1
|
4578 |
+
0
|
4579 |
+
1
|
4580 |
+
1
|
4581 |
+
1
|
4582 |
+
0
|
4583 |
+
1
|
4584 |
+
0
|
4585 |
+
1
|
4586 |
+
1
|
4587 |
+
0
|
4588 |
+
0
|
4589 |
+
1
|
4590 |
+
1
|
4591 |
+
0
|
4592 |
+
0
|
4593 |
+
1
|
4594 |
+
0
|
4595 |
+
1
|
4596 |
+
1
|
4597 |
+
1
|
4598 |
+
0
|
4599 |
+
1
|
4600 |
+
0
|
4601 |
+
0
|
4602 |
+
1
|
4603 |
+
0
|
4604 |
+
0
|
4605 |
+
0
|
4606 |
+
0
|
4607 |
+
1
|
4608 |
+
0
|
4609 |
+
0
|
4610 |
+
1
|
4611 |
+
1
|
4612 |
+
1
|
4613 |
+
0
|
4614 |
+
0
|
4615 |
+
0
|
4616 |
+
1
|
4617 |
+
1
|
4618 |
+
0
|
4619 |
+
1
|
4620 |
+
0
|
4621 |
+
1
|
4622 |
+
1
|
4623 |
+
0
|
4624 |
+
1
|
4625 |
+
0
|
4626 |
+
0
|
4627 |
+
0
|
4628 |
+
1
|
4629 |
+
0
|
4630 |
+
1
|
4631 |
+
1
|
4632 |
+
1
|
4633 |
+
1
|
4634 |
+
1
|
4635 |
+
0
|
4636 |
+
1
|
4637 |
+
1
|
4638 |
+
0
|
4639 |
+
1
|
4640 |
+
0
|
4641 |
+
0
|
4642 |
+
1
|
4643 |
+
0
|
4644 |
+
1
|
4645 |
+
1
|
4646 |
+
1
|
4647 |
+
1
|
4648 |
+
1
|
4649 |
+
0
|
4650 |
+
1
|
4651 |
+
0
|
4652 |
+
1
|
4653 |
+
1
|
4654 |
+
0
|
4655 |
+
1
|
4656 |
+
1
|
4657 |
+
0
|
4658 |
+
1
|
4659 |
+
1
|
4660 |
+
1
|
4661 |
+
1
|
4662 |
+
1
|
4663 |
+
1
|
4664 |
+
1
|
4665 |
+
1
|
4666 |
+
0
|
4667 |
+
0
|
4668 |
+
1
|
4669 |
+
1
|
4670 |
+
1
|
4671 |
+
1
|
4672 |
+
1
|
4673 |
+
1
|
4674 |
+
1
|
4675 |
+
0
|
4676 |
+
0
|
4677 |
+
0
|
4678 |
+
1
|
4679 |
+
1
|
4680 |
+
0
|
4681 |
+
1
|
4682 |
+
1
|
4683 |
+
0
|
4684 |
+
1
|
4685 |
+
0
|
4686 |
+
0
|
4687 |
+
1
|
4688 |
+
0
|
4689 |
+
1
|
4690 |
+
1
|
4691 |
+
1
|
4692 |
+
0
|
4693 |
+
1
|
4694 |
+
0
|
4695 |
+
1
|
4696 |
+
0
|
4697 |
+
1
|
4698 |
+
0
|
4699 |
+
0
|
4700 |
+
1
|
4701 |
+
0
|
4702 |
+
0
|
4703 |
+
0
|
4704 |
+
1
|
4705 |
+
1
|
4706 |
+
1
|
4707 |
+
1
|
4708 |
+
0
|
4709 |
+
1
|
4710 |
+
1
|
4711 |
+
1
|
4712 |
+
1
|
4713 |
+
1
|
4714 |
+
0
|
4715 |
+
0
|
4716 |
+
0
|
4717 |
+
0
|
4718 |
+
1
|
4719 |
+
1
|
4720 |
+
0
|
4721 |
+
1
|
4722 |
+
0
|
4723 |
+
0
|
4724 |
+
0
|
4725 |
+
1
|
4726 |
+
0
|
4727 |
+
1
|
4728 |
+
1
|
4729 |
+
0
|
4730 |
+
0
|
4731 |
+
0
|
4732 |
+
0
|
4733 |
+
1
|
4734 |
+
0
|
4735 |
+
0
|
4736 |
+
0
|
4737 |
+
0
|
4738 |
+
1
|
4739 |
+
1
|
4740 |
+
1
|
4741 |
+
1
|
4742 |
+
1
|
4743 |
+
1
|
4744 |
+
1
|
4745 |
+
0
|
4746 |
+
0
|
4747 |
+
0
|
4748 |
+
0
|
4749 |
+
0
|
4750 |
+
1
|
4751 |
+
1
|
4752 |
+
1
|
4753 |
+
1
|
4754 |
+
1
|
4755 |
+
1
|
4756 |
+
1
|
4757 |
+
1
|
4758 |
+
0
|
4759 |
+
0
|
4760 |
+
0
|
4761 |
+
0
|
4762 |
+
1
|
4763 |
+
1
|
4764 |
+
0
|
4765 |
+
0
|
4766 |
+
0
|
4767 |
+
1
|
4768 |
+
1
|
4769 |
+
1
|
4770 |
+
1
|
4771 |
+
1
|
4772 |
+
1
|
4773 |
+
1
|
4774 |
+
0
|
4775 |
+
1
|
4776 |
+
0
|
4777 |
+
0
|
4778 |
+
1
|
4779 |
+
1
|
4780 |
+
1
|
4781 |
+
1
|
4782 |
+
0
|
4783 |
+
1
|
4784 |
+
1
|
4785 |
+
1
|
4786 |
+
1
|
4787 |
+
1
|
4788 |
+
1
|
4789 |
+
1
|
4790 |
+
1
|
4791 |
+
0
|
4792 |
+
1
|
4793 |
+
0
|
4794 |
+
0
|
4795 |
+
0
|
4796 |
+
1
|
4797 |
+
1
|
4798 |
+
1
|
4799 |
+
0
|
4800 |
+
0
|
4801 |
+
1
|
4802 |
+
1
|
4803 |
+
1
|
4804 |
+
0
|
4805 |
+
0
|
4806 |
+
0
|
4807 |
+
0
|
4808 |
+
0
|
4809 |
+
1
|
4810 |
+
1
|
4811 |
+
1
|
4812 |
+
1
|
4813 |
+
1
|
4814 |
+
0
|
4815 |
+
0
|
4816 |
+
0
|
4817 |
+
0
|
4818 |
+
0
|
4819 |
+
0
|
4820 |
+
0
|
4821 |
+
0
|
4822 |
+
0
|
4823 |
+
1
|
4824 |
+
0
|
4825 |
+
0
|
4826 |
+
1
|
4827 |
+
1
|
4828 |
+
1
|
4829 |
+
0
|
4830 |
+
1
|
4831 |
+
1
|
4832 |
+
0
|
4833 |
+
1
|
4834 |
+
1
|
4835 |
+
1
|
4836 |
+
0
|
4837 |
+
1
|
4838 |
+
1
|
4839 |
+
1
|
4840 |
+
1
|
4841 |
+
0
|
4842 |
+
1
|
4843 |
+
1
|
4844 |
+
0
|
4845 |
+
1
|
4846 |
+
1
|
4847 |
+
1
|
4848 |
+
1
|
4849 |
+
0
|
4850 |
+
0
|
4851 |
+
0
|
4852 |
+
1
|
4853 |
+
1
|
4854 |
+
1
|
4855 |
+
1
|
4856 |
+
0
|
4857 |
+
1
|
4858 |
+
0
|
4859 |
+
0
|
4860 |
+
1
|
4861 |
+
0
|
4862 |
+
1
|
4863 |
+
1
|
4864 |
+
0
|
4865 |
+
0
|
4866 |
+
0
|
4867 |
+
1
|
4868 |
+
1
|
4869 |
+
0
|
4870 |
+
1
|
4871 |
+
0
|
4872 |
+
0
|
4873 |
+
1
|
4874 |
+
1
|
4875 |
+
1
|
4876 |
+
0
|
4877 |
+
1
|
4878 |
+
0
|
4879 |
+
1
|
4880 |
+
1
|
4881 |
+
0
|
4882 |
+
1
|
4883 |
+
1
|
4884 |
+
1
|
4885 |
+
1
|
4886 |
+
1
|
4887 |
+
0
|
4888 |
+
0
|
4889 |
+
1
|
4890 |
+
1
|
4891 |
+
0
|
4892 |
+
1
|
4893 |
+
0
|
4894 |
+
0
|
4895 |
+
0
|
4896 |
+
1
|
4897 |
+
0
|
4898 |
+
1
|
4899 |
+
1
|
4900 |
+
0
|
4901 |
+
1
|
4902 |
+
1
|
4903 |
+
1
|
4904 |
+
1
|
4905 |
+
1
|
4906 |
+
1
|
4907 |
+
1
|
4908 |
+
0
|
4909 |
+
1
|
4910 |
+
1
|
4911 |
+
1
|
4912 |
+
0
|
4913 |
+
1
|
4914 |
+
1
|
4915 |
+
0
|
4916 |
+
0
|
4917 |
+
0
|
4918 |
+
0
|
4919 |
+
0
|
4920 |
+
0
|
4921 |
+
1
|
4922 |
+
0
|
4923 |
+
0
|
4924 |
+
0
|
4925 |
+
1
|
4926 |
+
0
|
4927 |
+
0
|
4928 |
+
0
|
4929 |
+
1
|
4930 |
+
1
|
4931 |
+
1
|
4932 |
+
1
|
4933 |
+
1
|
4934 |
+
1
|
4935 |
+
0
|
4936 |
+
1
|
4937 |
+
1
|
4938 |
+
1
|
4939 |
+
1
|
4940 |
+
0
|
4941 |
+
0
|
4942 |
+
0
|
4943 |
+
1
|
4944 |
+
0
|
4945 |
+
1
|
4946 |
+
0
|
4947 |
+
1
|
4948 |
+
1
|
4949 |
+
1
|
4950 |
+
1
|
4951 |
+
0
|
4952 |
+
0
|
4953 |
+
1
|
4954 |
+
1
|
4955 |
+
0
|
4956 |
+
1
|
4957 |
+
1
|
4958 |
+
0
|
4959 |
+
1
|
4960 |
+
0
|
4961 |
+
1
|
4962 |
+
0
|
4963 |
+
0
|
4964 |
+
1
|
4965 |
+
1
|
4966 |
+
0
|
4967 |
+
1
|
4968 |
+
1
|
4969 |
+
0
|
4970 |
+
1
|
4971 |
+
0
|
4972 |
+
1
|
4973 |
+
1
|
4974 |
+
1
|
4975 |
+
0
|
4976 |
+
1
|
4977 |
+
1
|
4978 |
+
1
|
4979 |
+
0
|
4980 |
+
0
|
4981 |
+
0
|
4982 |
+
1
|
4983 |
+
0
|
4984 |
+
1
|
4985 |
+
1
|
4986 |
+
0
|
4987 |
+
0
|
4988 |
+
0
|
4989 |
+
0
|
4990 |
+
0
|
4991 |
+
0
|
4992 |
+
0
|
4993 |
+
0
|
4994 |
+
0
|
4995 |
+
1
|
4996 |
+
0
|
4997 |
+
1
|
4998 |
+
0
|
4999 |
+
1
|
5000 |
+
0
|
5001 |
+
0
|
5002 |
+
0
|
5003 |
+
1
|
5004 |
+
1
|
5005 |
+
1
|
5006 |
+
0
|
5007 |
+
0
|
5008 |
+
0
|
5009 |
+
1
|
5010 |
+
1
|
5011 |
+
1
|
5012 |
+
0
|
5013 |
+
0
|
5014 |
+
1
|
5015 |
+
0
|
5016 |
+
1
|
5017 |
+
1
|
5018 |
+
0
|
5019 |
+
0
|
5020 |
+
0
|
5021 |
+
0
|
5022 |
+
0
|
5023 |
+
1
|
5024 |
+
1
|
5025 |
+
0
|
5026 |
+
1
|
5027 |
+
1
|
5028 |
+
1
|
5029 |
+
1
|
5030 |
+
0
|
5031 |
+
0
|
5032 |
+
1
|
5033 |
+
0
|
5034 |
+
0
|
5035 |
+
0
|
5036 |
+
1
|
5037 |
+
1
|
5038 |
+
1
|
5039 |
+
0
|
5040 |
+
0
|
5041 |
+
0
|
5042 |
+
0
|
5043 |
+
1
|
5044 |
+
1
|
5045 |
+
0
|
5046 |
+
1
|
5047 |
+
1
|
5048 |
+
1
|
5049 |
+
1
|
5050 |
+
1
|
5051 |
+
1
|
5052 |
+
1
|
5053 |
+
1
|
5054 |
+
0
|
5055 |
+
1
|
5056 |
+
0
|
5057 |
+
1
|
5058 |
+
0
|
5059 |
+
0
|
5060 |
+
0
|
5061 |
+
1
|
5062 |
+
0
|
5063 |
+
1
|
5064 |
+
0
|
5065 |
+
1
|
5066 |
+
0
|
5067 |
+
0
|
5068 |
+
0
|
5069 |
+
0
|
5070 |
+
0
|
5071 |
+
0
|
5072 |
+
1
|
5073 |
+
0
|
5074 |
+
0
|
5075 |
+
0
|
5076 |
+
0
|
5077 |
+
0
|
5078 |
+
1
|
5079 |
+
1
|
5080 |
+
1
|
5081 |
+
1
|
5082 |
+
1
|
5083 |
+
1
|
5084 |
+
0
|
5085 |
+
1
|
5086 |
+
0
|
5087 |
+
1
|
5088 |
+
0
|
5089 |
+
0
|
5090 |
+
1
|
5091 |
+
0
|
5092 |
+
1
|
5093 |
+
0
|
5094 |
+
0
|
5095 |
+
1
|
5096 |
+
0
|
5097 |
+
1
|
5098 |
+
1
|
5099 |
+
0
|
5100 |
+
0
|
5101 |
+
1
|
5102 |
+
0
|
5103 |
+
1
|
5104 |
+
0
|
5105 |
+
0
|
5106 |
+
0
|
5107 |
+
0
|
5108 |
+
1
|
5109 |
+
0
|
5110 |
+
0
|
5111 |
+
1
|
5112 |
+
1
|
5113 |
+
0
|
5114 |
+
0
|
5115 |
+
0
|
5116 |
+
1
|
5117 |
+
1
|
5118 |
+
0
|
5119 |
+
1
|
5120 |
+
1
|
5121 |
+
0
|
5122 |
+
0
|
5123 |
+
1
|
5124 |
+
1
|
5125 |
+
0
|
5126 |
+
0
|
5127 |
+
0
|
5128 |
+
0
|
5129 |
+
0
|
5130 |
+
1
|
5131 |
+
0
|
5132 |
+
0
|
5133 |
+
0
|
5134 |
+
0
|
5135 |
+
1
|
5136 |
+
0
|
5137 |
+
0
|
5138 |
+
1
|
5139 |
+
0
|
5140 |
+
1
|
5141 |
+
1
|
5142 |
+
1
|
5143 |
+
1
|
5144 |
+
0
|
5145 |
+
1
|
5146 |
+
1
|
5147 |
+
0
|
5148 |
+
0
|
5149 |
+
1
|
5150 |
+
1
|
5151 |
+
1
|
5152 |
+
0
|
5153 |
+
0
|
5154 |
+
0
|
5155 |
+
0
|
5156 |
+
1
|
5157 |
+
0
|
5158 |
+
1
|
5159 |
+
0
|
5160 |
+
0
|
5161 |
+
1
|
5162 |
+
0
|
5163 |
+
0
|
5164 |
+
1
|
5165 |
+
0
|
5166 |
+
1
|
5167 |
+
1
|
5168 |
+
0
|
5169 |
+
1
|
5170 |
+
0
|
5171 |
+
0
|
5172 |
+
1
|
5173 |
+
1
|
5174 |
+
0
|
5175 |
+
0
|
5176 |
+
1
|
5177 |
+
1
|
5178 |
+
0
|
5179 |
+
1
|
5180 |
+
1
|
5181 |
+
1
|
5182 |
+
1
|
5183 |
+
1
|
5184 |
+
0
|
5185 |
+
1
|
5186 |
+
1
|
5187 |
+
1
|
5188 |
+
0
|
5189 |
+
1
|
5190 |
+
1
|
5191 |
+
1
|
5192 |
+
1
|
5193 |
+
1
|
5194 |
+
0
|
5195 |
+
0
|
5196 |
+
1
|
5197 |
+
1
|
5198 |
+
1
|
5199 |
+
1
|
5200 |
+
0
|
5201 |
+
1
|
5202 |
+
0
|
5203 |
+
1
|
5204 |
+
0
|
5205 |
+
0
|
5206 |
+
1
|
5207 |
+
1
|
5208 |
+
1
|
5209 |
+
1
|
5210 |
+
0
|
5211 |
+
0
|
5212 |
+
1
|
5213 |
+
0
|
5214 |
+
1
|
5215 |
+
0
|
5216 |
+
0
|
5217 |
+
1
|
5218 |
+
0
|
5219 |
+
1
|
5220 |
+
1
|
5221 |
+
1
|
5222 |
+
1
|
5223 |
+
0
|
5224 |
+
0
|
5225 |
+
1
|
5226 |
+
0
|
5227 |
+
1
|
5228 |
+
1
|
5229 |
+
1
|
5230 |
+
1
|
5231 |
+
1
|
5232 |
+
1
|
5233 |
+
0
|
5234 |
+
1
|
5235 |
+
1
|
5236 |
+
1
|
5237 |
+
0
|
5238 |
+
1
|
5239 |
+
1
|
5240 |
+
0
|
5241 |
+
1
|
5242 |
+
1
|
5243 |
+
1
|
5244 |
+
1
|
5245 |
+
1
|
5246 |
+
1
|
5247 |
+
0
|
5248 |
+
0
|
5249 |
+
0
|
5250 |
+
0
|
5251 |
+
0
|
5252 |
+
0
|
5253 |
+
1
|
5254 |
+
0
|
5255 |
+
1
|
5256 |
+
0
|
5257 |
+
0
|
5258 |
+
0
|
5259 |
+
0
|
5260 |
+
1
|
5261 |
+
1
|
5262 |
+
0
|
5263 |
+
1
|
5264 |
+
1
|
5265 |
+
1
|
5266 |
+
0
|
5267 |
+
1
|
5268 |
+
0
|
5269 |
+
1
|
5270 |
+
0
|
5271 |
+
0
|
5272 |
+
0
|
5273 |
+
1
|
5274 |
+
1
|
5275 |
+
0
|
5276 |
+
1
|
5277 |
+
1
|
5278 |
+
1
|
5279 |
+
1
|
5280 |
+
0
|
5281 |
+
0
|
5282 |
+
1
|
5283 |
+
1
|
5284 |
+
0
|
5285 |
+
0
|
5286 |
+
1
|
5287 |
+
1
|
5288 |
+
1
|
5289 |
+
1
|
5290 |
+
0
|
5291 |
+
0
|
5292 |
+
1
|
5293 |
+
1
|
5294 |
+
0
|
5295 |
+
1
|
5296 |
+
1
|
5297 |
+
0
|
5298 |
+
0
|
5299 |
+
0
|
5300 |
+
0
|
5301 |
+
0
|
5302 |
+
0
|
5303 |
+
0
|
5304 |
+
1
|
5305 |
+
0
|
5306 |
+
1
|
5307 |
+
1
|
5308 |
+
1
|
5309 |
+
1
|
5310 |
+
1
|
5311 |
+
1
|
5312 |
+
1
|
5313 |
+
1
|
5314 |
+
0
|
5315 |
+
1
|
5316 |
+
0
|
5317 |
+
1
|
5318 |
+
0
|
5319 |
+
0
|
5320 |
+
1
|
5321 |
+
1
|
5322 |
+
0
|
5323 |
+
0
|
5324 |
+
1
|
5325 |
+
0
|
5326 |
+
0
|
5327 |
+
0
|
5328 |
+
1
|
5329 |
+
1
|
5330 |
+
0
|
5331 |
+
1
|
5332 |
+
1
|
5333 |
+
1
|
5334 |
+
1
|
5335 |
+
1
|
5336 |
+
1
|
5337 |
+
0
|
5338 |
+
1
|
5339 |
+
1
|
5340 |
+
0
|
5341 |
+
1
|
5342 |
+
1
|
5343 |
+
0
|
5344 |
+
0
|
5345 |
+
0
|
5346 |
+
0
|
5347 |
+
1
|
5348 |
+
1
|
5349 |
+
0
|
5350 |
+
1
|
5351 |
+
0
|
5352 |
+
1
|
5353 |
+
1
|
5354 |
+
1
|
5355 |
+
1
|
5356 |
+
1
|
5357 |
+
1
|
5358 |
+
1
|
5359 |
+
1
|
5360 |
+
1
|
5361 |
+
1
|
5362 |
+
1
|
5363 |
+
1
|
5364 |
+
1
|
5365 |
+
0
|
5366 |
+
1
|
5367 |
+
1
|
5368 |
+
1
|
5369 |
+
0
|
5370 |
+
0
|
5371 |
+
1
|
5372 |
+
0
|
5373 |
+
1
|
5374 |
+
1
|
5375 |
+
1
|
5376 |
+
0
|
5377 |
+
0
|
5378 |
+
0
|
5379 |
+
1
|
5380 |
+
0
|
5381 |
+
1
|
5382 |
+
1
|
5383 |
+
0
|
5384 |
+
1
|
5385 |
+
0
|
5386 |
+
0
|
5387 |
+
1
|
5388 |
+
1
|
5389 |
+
1
|
5390 |
+
1
|
5391 |
+
1
|
5392 |
+
0
|
5393 |
+
1
|
5394 |
+
1
|
5395 |
+
0
|
5396 |
+
0
|
5397 |
+
1
|
5398 |
+
1
|
5399 |
+
1
|
5400 |
+
0
|
5401 |
+
0
|
5402 |
+
0
|
5403 |
+
0
|
5404 |
+
0
|
5405 |
+
1
|
5406 |
+
0
|
5407 |
+
0
|
5408 |
+
0
|
5409 |
+
0
|
5410 |
+
0
|
5411 |
+
0
|
5412 |
+
0
|
5413 |
+
1
|
5414 |
+
0
|
5415 |
+
0
|
5416 |
+
0
|
5417 |
+
0
|
5418 |
+
1
|
5419 |
+
0
|
5420 |
+
1
|
5421 |
+
1
|
5422 |
+
0
|
5423 |
+
1
|
5424 |
+
0
|
5425 |
+
0
|
5426 |
+
0
|
5427 |
+
0
|
5428 |
+
1
|
5429 |
+
0
|
5430 |
+
0
|
5431 |
+
1
|
5432 |
+
0
|
5433 |
+
1
|
5434 |
+
0
|
5435 |
+
1
|
5436 |
+
0
|
5437 |
+
1
|
5438 |
+
1
|
5439 |
+
0
|
5440 |
+
0
|
5441 |
+
0
|
5442 |
+
0
|
5443 |
+
1
|
5444 |
+
1
|
5445 |
+
1
|
5446 |
+
1
|
5447 |
+
0
|
5448 |
+
0
|
5449 |
+
1
|
5450 |
+
1
|
5451 |
+
0
|
5452 |
+
0
|
5453 |
+
1
|
5454 |
+
1
|
5455 |
+
0
|
5456 |
+
1
|
5457 |
+
0
|
5458 |
+
0
|
5459 |
+
1
|
5460 |
+
1
|
5461 |
+
1
|
5462 |
+
0
|
5463 |
+
0
|
5464 |
+
0
|
5465 |
+
0
|
5466 |
+
0
|
5467 |
+
1
|
5468 |
+
1
|
5469 |
+
1
|
5470 |
+
0
|
5471 |
+
0
|
5472 |
+
0
|
5473 |
+
1
|
5474 |
+
1
|
5475 |
+
1
|
5476 |
+
0
|
5477 |
+
0
|
5478 |
+
1
|
5479 |
+
1
|
5480 |
+
0
|
5481 |
+
1
|
5482 |
+
1
|
5483 |
+
1
|
5484 |
+
1
|
5485 |
+
1
|
5486 |
+
1
|
5487 |
+
1
|
5488 |
+
1
|
5489 |
+
1
|
5490 |
+
1
|
5491 |
+
1
|
5492 |
+
0
|
5493 |
+
1
|
5494 |
+
1
|
5495 |
+
0
|
5496 |
+
1
|
5497 |
+
1
|
5498 |
+
1
|
5499 |
+
1
|
5500 |
+
1
|
5501 |
+
0
|
5502 |
+
0
|
5503 |
+
1
|
5504 |
+
1
|
5505 |
+
0
|
5506 |
+
0
|
5507 |
+
1
|
5508 |
+
1
|
5509 |
+
0
|
5510 |
+
1
|
5511 |
+
0
|
5512 |
+
1
|
5513 |
+
0
|
5514 |
+
0
|
5515 |
+
1
|
5516 |
+
1
|
5517 |
+
0
|
5518 |
+
0
|
5519 |
+
0
|
5520 |
+
0
|
5521 |
+
1
|
5522 |
+
1
|
5523 |
+
0
|
5524 |
+
0
|
5525 |
+
1
|
5526 |
+
1
|
5527 |
+
1
|
5528 |
+
1
|
5529 |
+
1
|
5530 |
+
0
|
5531 |
+
0
|
5532 |
+
0
|
5533 |
+
0
|
5534 |
+
0
|
5535 |
+
0
|
5536 |
+
0
|
5537 |
+
0
|
5538 |
+
0
|
5539 |
+
0
|
5540 |
+
1
|
5541 |
+
0
|
5542 |
+
1
|
5543 |
+
1
|
5544 |
+
0
|
5545 |
+
1
|
5546 |
+
0
|
5547 |
+
1
|
5548 |
+
1
|
5549 |
+
1
|
5550 |
+
0
|
5551 |
+
0
|
5552 |
+
1
|
5553 |
+
0
|
5554 |
+
0
|
5555 |
+
1
|
5556 |
+
0
|
5557 |
+
1
|
5558 |
+
0
|
5559 |
+
1
|
5560 |
+
1
|
5561 |
+
1
|
5562 |
+
0
|
5563 |
+
1
|
5564 |
+
0
|
5565 |
+
0
|
5566 |
+
0
|
5567 |
+
0
|
5568 |
+
1
|
5569 |
+
1
|
5570 |
+
0
|
5571 |
+
0
|
5572 |
+
1
|
5573 |
+
0
|
5574 |
+
1
|
5575 |
+
0
|
5576 |
+
0
|
5577 |
+
1
|
5578 |
+
0
|
5579 |
+
1
|
5580 |
+
1
|
5581 |
+
1
|
5582 |
+
1
|
5583 |
+
1
|
5584 |
+
0
|
5585 |
+
0
|
5586 |
+
1
|
5587 |
+
1
|
5588 |
+
1
|
5589 |
+
1
|
5590 |
+
1
|
5591 |
+
1
|
5592 |
+
1
|
5593 |
+
0
|
5594 |
+
1
|
5595 |
+
0
|
5596 |
+
1
|
5597 |
+
0
|
5598 |
+
0
|
5599 |
+
1
|
5600 |
+
1
|
5601 |
+
1
|
5602 |
+
0
|
5603 |
+
1
|
5604 |
+
0
|
5605 |
+
0
|
5606 |
+
0
|
5607 |
+
1
|
5608 |
+
1
|
5609 |
+
1
|
5610 |
+
1
|
5611 |
+
1
|
5612 |
+
0
|
5613 |
+
1
|
5614 |
+
0
|
5615 |
+
1
|
5616 |
+
1
|
5617 |
+
1
|
5618 |
+
0
|
5619 |
+
1
|
5620 |
+
0
|
5621 |
+
0
|
5622 |
+
1
|
5623 |
+
0
|
5624 |
+
1
|
5625 |
+
0
|
5626 |
+
1
|
5627 |
+
1
|
5628 |
+
1
|
5629 |
+
1
|
5630 |
+
0
|
5631 |
+
0
|
5632 |
+
0
|
5633 |
+
1
|
5634 |
+
0
|
5635 |
+
0
|
5636 |
+
1
|
5637 |
+
1
|
5638 |
+
1
|
5639 |
+
0
|
5640 |
+
1
|
5641 |
+
1
|
5642 |
+
0
|
5643 |
+
0
|
5644 |
+
1
|
5645 |
+
1
|
5646 |
+
1
|
5647 |
+
0
|
5648 |
+
1
|
5649 |
+
1
|
5650 |
+
0
|
5651 |
+
1
|
5652 |
+
1
|
5653 |
+
0
|
5654 |
+
1
|
5655 |
+
1
|
5656 |
+
0
|
5657 |
+
1
|
5658 |
+
0
|
5659 |
+
0
|
5660 |
+
1
|
5661 |
+
1
|
5662 |
+
0
|
5663 |
+
0
|
5664 |
+
1
|
5665 |
+
0
|
5666 |
+
1
|
5667 |
+
0
|
5668 |
+
0
|
5669 |
+
1
|
5670 |
+
0
|
5671 |
+
1
|
5672 |
+
1
|
5673 |
+
1
|
5674 |
+
0
|
5675 |
+
0
|
5676 |
+
0
|
5677 |
+
1
|
5678 |
+
0
|
5679 |
+
1
|
5680 |
+
1
|
5681 |
+
1
|
5682 |
+
1
|
5683 |
+
0
|
5684 |
+
0
|
5685 |
+
1
|
5686 |
+
1
|
5687 |
+
1
|
5688 |
+
1
|
5689 |
+
1
|
5690 |
+
1
|
5691 |
+
1
|
5692 |
+
0
|
5693 |
+
1
|
5694 |
+
1
|
5695 |
+
1
|
5696 |
+
0
|
5697 |
+
0
|
5698 |
+
0
|
5699 |
+
1
|
5700 |
+
1
|
5701 |
+
0
|
5702 |
+
0
|
5703 |
+
1
|
5704 |
+
1
|
5705 |
+
1
|
5706 |
+
0
|
5707 |
+
0
|
5708 |
+
0
|
5709 |
+
0
|
5710 |
+
1
|
5711 |
+
0
|
5712 |
+
0
|
5713 |
+
1
|
5714 |
+
1
|
5715 |
+
1
|
5716 |
+
1
|
5717 |
+
1
|
5718 |
+
0
|
5719 |
+
1
|
5720 |
+
0
|
5721 |
+
0
|
5722 |
+
0
|
5723 |
+
0
|
5724 |
+
0
|
5725 |
+
0
|
5726 |
+
1
|
5727 |
+
0
|
5728 |
+
1
|
5729 |
+
1
|
5730 |
+
1
|
5731 |
+
0
|
5732 |
+
1
|
5733 |
+
0
|
5734 |
+
0
|
5735 |
+
0
|
5736 |
+
1
|
5737 |
+
1
|
5738 |
+
1
|
5739 |
+
1
|
5740 |
+
1
|
5741 |
+
1
|
5742 |
+
0
|
5743 |
+
1
|
5744 |
+
1
|
5745 |
+
1
|
5746 |
+
0
|
5747 |
+
1
|
5748 |
+
1
|
5749 |
+
1
|
5750 |
+
1
|
5751 |
+
1
|
5752 |
+
1
|
5753 |
+
1
|
5754 |
+
1
|
5755 |
+
0
|
5756 |
+
1
|
5757 |
+
0
|
5758 |
+
1
|
5759 |
+
0
|
5760 |
+
1
|
5761 |
+
0
|
5762 |
+
1
|
5763 |
+
1
|
5764 |
+
1
|
5765 |
+
0
|
5766 |
+
1
|
5767 |
+
0
|
5768 |
+
1
|
5769 |
+
1
|
5770 |
+
1
|
5771 |
+
1
|
5772 |
+
1
|
5773 |
+
1
|
5774 |
+
0
|
5775 |
+
0
|
5776 |
+
1
|
5777 |
+
0
|
5778 |
+
0
|
5779 |
+
0
|
5780 |
+
0
|
5781 |
+
0
|
5782 |
+
0
|
5783 |
+
1
|
5784 |
+
0
|
5785 |
+
1
|
5786 |
+
0
|
5787 |
+
1
|
5788 |
+
0
|
5789 |
+
1
|
5790 |
+
1
|
5791 |
+
0
|
5792 |
+
0
|
5793 |
+
1
|
5794 |
+
0
|
5795 |
+
0
|
5796 |
+
1
|
5797 |
+
0
|
5798 |
+
1
|
5799 |
+
0
|
5800 |
+
1
|
5801 |
+
1
|
5802 |
+
0
|
5803 |
+
0
|
5804 |
+
1
|
5805 |
+
0
|
5806 |
+
0
|
5807 |
+
0
|
5808 |
+
1
|
5809 |
+
1
|
5810 |
+
0
|
5811 |
+
1
|
5812 |
+
1
|
5813 |
+
0
|
5814 |
+
1
|
5815 |
+
1
|
5816 |
+
1
|
5817 |
+
0
|
5818 |
+
1
|
5819 |
+
0
|
5820 |
+
0
|
5821 |
+
1
|
5822 |
+
0
|
5823 |
+
0
|
5824 |
+
1
|
5825 |
+
1
|
5826 |
+
1
|
5827 |
+
1
|
5828 |
+
1
|
5829 |
+
1
|
5830 |
+
0
|
5831 |
+
0
|
5832 |
+
0
|
5833 |
+
0
|
5834 |
+
1
|
5835 |
+
0
|
5836 |
+
1
|
5837 |
+
0
|
5838 |
+
1
|
5839 |
+
0
|
5840 |
+
0
|
5841 |
+
0
|
5842 |
+
1
|
5843 |
+
1
|
5844 |
+
1
|
5845 |
+
1
|
5846 |
+
1
|
5847 |
+
1
|
5848 |
+
1
|
5849 |
+
1
|
5850 |
+
0
|
5851 |
+
0
|
5852 |
+
0
|
5853 |
+
0
|
5854 |
+
1
|
5855 |
+
0
|
5856 |
+
0
|
5857 |
+
0
|
5858 |
+
0
|
5859 |
+
0
|
5860 |
+
1
|
5861 |
+
0
|
5862 |
+
1
|
5863 |
+
0
|
5864 |
+
0
|
5865 |
+
1
|
5866 |
+
0
|
5867 |
+
1
|
5868 |
+
1
|
5869 |
+
0
|
5870 |
+
1
|
5871 |
+
1
|
5872 |
+
0
|
5873 |
+
1
|
5874 |
+
0
|
5875 |
+
0
|
5876 |
+
0
|
5877 |
+
0
|
5878 |
+
0
|
5879 |
+
1
|
5880 |
+
1
|
5881 |
+
0
|
5882 |
+
0
|
5883 |
+
1
|
5884 |
+
1
|
5885 |
+
1
|
5886 |
+
1
|
5887 |
+
0
|
5888 |
+
0
|
5889 |
+
0
|
5890 |
+
0
|
5891 |
+
1
|
5892 |
+
1
|
5893 |
+
0
|
5894 |
+
0
|
5895 |
+
1
|
5896 |
+
0
|
5897 |
+
0
|
5898 |
+
0
|
5899 |
+
0
|
5900 |
+
1
|
5901 |
+
1
|
5902 |
+
1
|
5903 |
+
0
|
5904 |
+
1
|
5905 |
+
1
|
5906 |
+
1
|
5907 |
+
0
|
5908 |
+
1
|
5909 |
+
1
|
5910 |
+
0
|
5911 |
+
0
|
5912 |
+
1
|
5913 |
+
1
|
5914 |
+
0
|
5915 |
+
1
|
5916 |
+
0
|
5917 |
+
0
|
5918 |
+
0
|
5919 |
+
1
|
5920 |
+
0
|
5921 |
+
0
|
5922 |
+
1
|
5923 |
+
1
|
5924 |
+
1
|
5925 |
+
0
|
5926 |
+
0
|
5927 |
+
0
|
5928 |
+
1
|
5929 |
+
1
|
5930 |
+
0
|
5931 |
+
1
|
5932 |
+
1
|
5933 |
+
0
|
5934 |
+
1
|
5935 |
+
1
|
5936 |
+
1
|
5937 |
+
1
|
5938 |
+
1
|
5939 |
+
0
|
5940 |
+
0
|
5941 |
+
0
|
5942 |
+
0
|
5943 |
+
0
|
5944 |
+
0
|
5945 |
+
0
|
5946 |
+
1
|
5947 |
+
1
|
5948 |
+
1
|
5949 |
+
0
|
5950 |
+
0
|
5951 |
+
1
|
5952 |
+
1
|
5953 |
+
1
|
5954 |
+
1
|
5955 |
+
0
|
5956 |
+
0
|
5957 |
+
1
|
5958 |
+
1
|
5959 |
+
0
|
5960 |
+
0
|
5961 |
+
1
|
5962 |
+
0
|
5963 |
+
1
|
5964 |
+
0
|
5965 |
+
1
|
5966 |
+
1
|
5967 |
+
1
|
5968 |
+
0
|
5969 |
+
0
|
5970 |
+
0
|
5971 |
+
0
|
5972 |
+
0
|
5973 |
+
1
|
5974 |
+
0
|
5975 |
+
0
|
5976 |
+
0
|
5977 |
+
1
|
5978 |
+
1
|
5979 |
+
0
|
5980 |
+
1
|
5981 |
+
0
|
5982 |
+
1
|
5983 |
+
0
|
5984 |
+
1
|
5985 |
+
1
|
5986 |
+
0
|
5987 |
+
1
|
5988 |
+
1
|
5989 |
+
1
|
5990 |
+
1
|
5991 |
+
0
|
5992 |
+
0
|
5993 |
+
1
|
5994 |
+
1
|
5995 |
+
0
|
5996 |
+
1
|
5997 |
+
1
|
5998 |
+
0
|
5999 |
+
1
|
6000 |
+
1
|
6001 |
+
0
|
6002 |
+
1
|
6003 |
+
0
|
6004 |
+
1
|
6005 |
+
0
|
6006 |
+
0
|
6007 |
+
1
|
6008 |
+
0
|
6009 |
+
1
|
6010 |
+
1
|
6011 |
+
0
|
6012 |
+
0
|
6013 |
+
0
|
6014 |
+
1
|
6015 |
+
0
|
6016 |
+
1
|
6017 |
+
1
|
6018 |
+
0
|
6019 |
+
1
|
6020 |
+
1
|
6021 |
+
0
|
6022 |
+
0
|
6023 |
+
0
|
6024 |
+
0
|
6025 |
+
1
|
6026 |
+
1
|
6027 |
+
1
|
6028 |
+
1
|
6029 |
+
1
|
6030 |
+
1
|
6031 |
+
1
|
6032 |
+
0
|
6033 |
+
1
|
6034 |
+
1
|
6035 |
+
1
|
6036 |
+
1
|
6037 |
+
1
|
6038 |
+
1
|
6039 |
+
1
|
6040 |
+
1
|
6041 |
+
0
|
6042 |
+
0
|
6043 |
+
1
|
6044 |
+
0
|
6045 |
+
1
|
6046 |
+
0
|
6047 |
+
0
|
6048 |
+
0
|
6049 |
+
0
|
6050 |
+
0
|
6051 |
+
0
|
6052 |
+
0
|
6053 |
+
0
|
6054 |
+
1
|
6055 |
+
0
|
6056 |
+
0
|
6057 |
+
1
|
6058 |
+
1
|
6059 |
+
0
|
6060 |
+
1
|
6061 |
+
1
|
6062 |
+
1
|
6063 |
+
1
|
6064 |
+
1
|
6065 |
+
0
|
6066 |
+
0
|
6067 |
+
1
|
6068 |
+
1
|
6069 |
+
0
|
6070 |
+
0
|
6071 |
+
1
|
6072 |
+
0
|
6073 |
+
0
|
6074 |
+
0
|
6075 |
+
0
|
6076 |
+
1
|
6077 |
+
0
|
6078 |
+
1
|
6079 |
+
1
|
6080 |
+
1
|
6081 |
+
0
|
6082 |
+
0
|
6083 |
+
1
|
6084 |
+
0
|
6085 |
+
0
|
6086 |
+
1
|
6087 |
+
0
|
6088 |
+
0
|
6089 |
+
0
|
6090 |
+
0
|
6091 |
+
1
|
6092 |
+
1
|
6093 |
+
1
|
6094 |
+
1
|
6095 |
+
1
|
6096 |
+
0
|
6097 |
+
1
|
6098 |
+
0
|
6099 |
+
0
|
6100 |
+
0
|
6101 |
+
1
|
6102 |
+
1
|
6103 |
+
1
|
6104 |
+
1
|
6105 |
+
0
|
6106 |
+
1
|
6107 |
+
1
|
6108 |
+
1
|
6109 |
+
0
|
6110 |
+
1
|
6111 |
+
1
|
6112 |
+
1
|
6113 |
+
0
|
6114 |
+
1
|
6115 |
+
1
|
6116 |
+
0
|
6117 |
+
1
|
6118 |
+
1
|
6119 |
+
0
|
6120 |
+
1
|
6121 |
+
0
|
6122 |
+
1
|
6123 |
+
1
|
6124 |
+
1
|
6125 |
+
1
|
6126 |
+
1
|
6127 |
+
1
|
6128 |
+
1
|
6129 |
+
1
|
6130 |
+
1
|
6131 |
+
1
|
6132 |
+
1
|
6133 |
+
1
|
6134 |
+
1
|
6135 |
+
0
|
6136 |
+
1
|
6137 |
+
1
|
6138 |
+
1
|
6139 |
+
0
|
6140 |
+
1
|
6141 |
+
1
|
6142 |
+
1
|
6143 |
+
1
|
6144 |
+
0
|
6145 |
+
1
|
6146 |
+
1
|
6147 |
+
0
|
6148 |
+
0
|
6149 |
+
0
|
6150 |
+
0
|
6151 |
+
1
|
6152 |
+
1
|
6153 |
+
1
|
6154 |
+
0
|
6155 |
+
0
|
6156 |
+
1
|
6157 |
+
1
|
6158 |
+
1
|
6159 |
+
1
|
6160 |
+
0
|
6161 |
+
1
|
6162 |
+
0
|
6163 |
+
1
|
6164 |
+
1
|
6165 |
+
1
|
6166 |
+
0
|
6167 |
+
0
|
6168 |
+
0
|
6169 |
+
1
|
6170 |
+
0
|
6171 |
+
1
|
6172 |
+
0
|
6173 |
+
1
|
6174 |
+
1
|
6175 |
+
0
|
6176 |
+
0
|
6177 |
+
1
|
6178 |
+
0
|
6179 |
+
1
|
6180 |
+
0
|
6181 |
+
1
|
6182 |
+
1
|
6183 |
+
1
|
6184 |
+
1
|
6185 |
+
1
|
6186 |
+
0
|
6187 |
+
1
|
6188 |
+
1
|
6189 |
+
1
|
6190 |
+
1
|
6191 |
+
0
|
6192 |
+
1
|
6193 |
+
0
|
6194 |
+
1
|
6195 |
+
1
|
6196 |
+
0
|
6197 |
+
1
|
6198 |
+
1
|
6199 |
+
1
|
6200 |
+
0
|
6201 |
+
1
|
6202 |
+
0
|
6203 |
+
1
|
6204 |
+
1
|
6205 |
+
1
|
6206 |
+
0
|
6207 |
+
1
|
6208 |
+
0
|
6209 |
+
1
|
6210 |
+
1
|
6211 |
+
1
|
6212 |
+
1
|
6213 |
+
1
|
6214 |
+
0
|
6215 |
+
1
|
6216 |
+
1
|
6217 |
+
1
|
6218 |
+
0
|
6219 |
+
1
|
6220 |
+
1
|
6221 |
+
1
|
6222 |
+
0
|
6223 |
+
1
|
6224 |
+
0
|
6225 |
+
0
|
6226 |
+
0
|
6227 |
+
0
|
6228 |
+
1
|
6229 |
+
0
|
6230 |
+
0
|
6231 |
+
1
|
6232 |
+
1
|
6233 |
+
0
|
6234 |
+
1
|
6235 |
+
0
|
6236 |
+
1
|
6237 |
+
0
|
6238 |
+
1
|
6239 |
+
0
|
6240 |
+
0
|
6241 |
+
1
|
6242 |
+
1
|
6243 |
+
1
|
6244 |
+
0
|
6245 |
+
1
|
6246 |
+
1
|
6247 |
+
1
|
6248 |
+
0
|
6249 |
+
1
|
6250 |
+
1
|
6251 |
+
1
|
6252 |
+
1
|
6253 |
+
0
|
6254 |
+
1
|
6255 |
+
0
|
6256 |
+
0
|
6257 |
+
1
|
6258 |
+
0
|
6259 |
+
1
|
6260 |
+
1
|
6261 |
+
1
|
6262 |
+
0
|
6263 |
+
1
|
6264 |
+
0
|
6265 |
+
0
|
6266 |
+
0
|
6267 |
+
0
|
6268 |
+
0
|
6269 |
+
0
|
6270 |
+
0
|
6271 |
+
0
|
6272 |
+
0
|
6273 |
+
0
|
6274 |
+
0
|
6275 |
+
0
|
6276 |
+
0
|
6277 |
+
0
|
6278 |
+
0
|
6279 |
+
0
|
6280 |
+
0
|
6281 |
+
0
|
6282 |
+
0
|
6283 |
+
0
|
6284 |
+
0
|
6285 |
+
0
|
6286 |
+
1
|
6287 |
+
0
|
6288 |
+
0
|
6289 |
+
1
|
6290 |
+
1
|
6291 |
+
1
|
6292 |
+
1
|
6293 |
+
0
|
6294 |
+
0
|
6295 |
+
1
|
6296 |
+
0
|
6297 |
+
0
|
6298 |
+
0
|
6299 |
+
0
|
6300 |
+
0
|
6301 |
+
0
|
6302 |
+
0
|
6303 |
+
0
|
6304 |
+
1
|
6305 |
+
1
|
6306 |
+
1
|
6307 |
+
1
|
6308 |
+
0
|
6309 |
+
1
|
6310 |
+
0
|
6311 |
+
0
|
6312 |
+
1
|
6313 |
+
1
|
6314 |
+
1
|
6315 |
+
0
|
6316 |
+
1
|
6317 |
+
0
|
6318 |
+
0
|
6319 |
+
0
|
6320 |
+
0
|
6321 |
+
1
|
6322 |
+
0
|
6323 |
+
0
|
6324 |
+
1
|
6325 |
+
0
|
6326 |
+
0
|
6327 |
+
0
|
6328 |
+
0
|
6329 |
+
0
|
6330 |
+
0
|
6331 |
+
1
|
6332 |
+
0
|
6333 |
+
1
|
6334 |
+
1
|
6335 |
+
1
|
6336 |
+
1
|
6337 |
+
1
|
6338 |
+
0
|
6339 |
+
1
|
6340 |
+
1
|
6341 |
+
1
|
6342 |
+
0
|
6343 |
+
0
|
6344 |
+
1
|
6345 |
+
1
|
6346 |
+
0
|
6347 |
+
1
|
6348 |
+
1
|
6349 |
+
1
|
6350 |
+
1
|
6351 |
+
1
|
6352 |
+
0
|
6353 |
+
1
|
6354 |
+
1
|
6355 |
+
1
|
6356 |
+
1
|
6357 |
+
1
|
6358 |
+
0
|
6359 |
+
0
|
6360 |
+
0
|
6361 |
+
1
|
6362 |
+
1
|
6363 |
+
0
|
6364 |
+
1
|
6365 |
+
1
|
6366 |
+
1
|
6367 |
+
1
|
6368 |
+
1
|
6369 |
+
1
|
6370 |
+
1
|
6371 |
+
0
|
6372 |
+
1
|
6373 |
+
1
|
6374 |
+
1
|
6375 |
+
0
|
6376 |
+
1
|
6377 |
+
1
|
6378 |
+
0
|
6379 |
+
1
|
6380 |
+
1
|
6381 |
+
1
|
6382 |
+
1
|
6383 |
+
0
|
6384 |
+
1
|
6385 |
+
1
|
6386 |
+
1
|
6387 |
+
0
|
6388 |
+
0
|
6389 |
+
1
|
6390 |
+
1
|
6391 |
+
0
|
6392 |
+
0
|
6393 |
+
0
|
6394 |
+
1
|
6395 |
+
1
|
6396 |
+
0
|
6397 |
+
1
|
6398 |
+
1
|
6399 |
+
1
|
6400 |
+
0
|
6401 |
+
1
|
6402 |
+
1
|
6403 |
+
0
|
6404 |
+
0
|
6405 |
+
0
|
6406 |
+
1
|
6407 |
+
1
|
6408 |
+
1
|
6409 |
+
1
|
6410 |
+
0
|
6411 |
+
0
|
6412 |
+
0
|
6413 |
+
1
|
6414 |
+
1
|
6415 |
+
0
|
6416 |
+
0
|
6417 |
+
1
|
6418 |
+
1
|
6419 |
+
1
|
6420 |
+
1
|
6421 |
+
1
|
6422 |
+
1
|
6423 |
+
0
|
6424 |
+
1
|
6425 |
+
1
|
6426 |
+
0
|
6427 |
+
0
|
6428 |
+
1
|
6429 |
+
0
|
6430 |
+
0
|
6431 |
+
0
|
6432 |
+
0
|
6433 |
+
0
|
6434 |
+
1
|
6435 |
+
0
|
6436 |
+
1
|
6437 |
+
0
|
6438 |
+
1
|
6439 |
+
0
|
6440 |
+
1
|
6441 |
+
1
|
6442 |
+
1
|
6443 |
+
1
|
6444 |
+
1
|
6445 |
+
1
|
6446 |
+
1
|
6447 |
+
1
|
6448 |
+
1
|
6449 |
+
0
|
6450 |
+
0
|
6451 |
+
0
|
6452 |
+
1
|
6453 |
+
1
|
6454 |
+
1
|
6455 |
+
1
|
6456 |
+
1
|
6457 |
+
1
|
6458 |
+
1
|
6459 |
+
0
|
6460 |
+
1
|
6461 |
+
0
|
6462 |
+
1
|
6463 |
+
1
|
6464 |
+
1
|
6465 |
+
0
|
6466 |
+
0
|
6467 |
+
1
|
6468 |
+
1
|
6469 |
+
1
|
6470 |
+
1
|
6471 |
+
1
|
6472 |
+
0
|
6473 |
+
1
|
6474 |
+
0
|
6475 |
+
1
|
6476 |
+
1
|
6477 |
+
0
|
6478 |
+
0
|
6479 |
+
0
|
6480 |
+
0
|
6481 |
+
0
|
6482 |
+
0
|
6483 |
+
1
|
6484 |
+
1
|
6485 |
+
1
|
6486 |
+
0
|
6487 |
+
0
|
6488 |
+
1
|
6489 |
+
1
|
6490 |
+
0
|
6491 |
+
0
|
6492 |
+
1
|
6493 |
+
1
|
6494 |
+
0
|
6495 |
+
1
|
6496 |
+
0
|
6497 |
+
0
|
6498 |
+
0
|
6499 |
+
0
|
6500 |
+
0
|
6501 |
+
1
|
6502 |
+
0
|
6503 |
+
1
|
6504 |
+
0
|
6505 |
+
0
|
6506 |
+
0
|
6507 |
+
0
|
6508 |
+
1
|
6509 |
+
1
|
6510 |
+
1
|
6511 |
+
1
|
6512 |
+
1
|
6513 |
+
0
|
6514 |
+
1
|
6515 |
+
0
|
6516 |
+
1
|
6517 |
+
0
|
6518 |
+
1
|
6519 |
+
1
|
6520 |
+
1
|
6521 |
+
0
|
6522 |
+
1
|
6523 |
+
1
|
6524 |
+
0
|
6525 |
+
1
|
6526 |
+
0
|
6527 |
+
0
|
6528 |
+
1
|
6529 |
+
0
|
6530 |
+
1
|
6531 |
+
1
|
6532 |
+
1
|
6533 |
+
0
|
6534 |
+
0
|
6535 |
+
0
|
6536 |
+
1
|
6537 |
+
1
|
6538 |
+
0
|
6539 |
+
1
|
6540 |
+
0
|
6541 |
+
1
|
6542 |
+
0
|
6543 |
+
1
|
6544 |
+
0
|
6545 |
+
1
|
6546 |
+
1
|
6547 |
+
0
|
6548 |
+
0
|
6549 |
+
0
|
6550 |
+
0
|
6551 |
+
0
|
6552 |
+
1
|
6553 |
+
0
|
6554 |
+
0
|
6555 |
+
1
|
6556 |
+
0
|
6557 |
+
1
|
6558 |
+
1
|
6559 |
+
0
|
6560 |
+
1
|
6561 |
+
1
|
6562 |
+
0
|
6563 |
+
1
|
6564 |
+
1
|
6565 |
+
1
|
6566 |
+
0
|
6567 |
+
1
|
6568 |
+
1
|
6569 |
+
1
|
6570 |
+
0
|
6571 |
+
1
|
6572 |
+
1
|
6573 |
+
0
|
6574 |
+
1
|
6575 |
+
0
|
6576 |
+
1
|
6577 |
+
1
|
6578 |
+
1
|
6579 |
+
1
|
6580 |
+
0
|
6581 |
+
0
|
6582 |
+
1
|
6583 |
+
1
|
6584 |
+
0
|
6585 |
+
1
|
6586 |
+
1
|
6587 |
+
0
|
6588 |
+
0
|
6589 |
+
1
|
6590 |
+
0
|
6591 |
+
0
|
6592 |
+
1
|
6593 |
+
1
|
6594 |
+
1
|
6595 |
+
1
|
6596 |
+
1
|
6597 |
+
0
|
6598 |
+
0
|
6599 |
+
1
|
6600 |
+
0
|
6601 |
+
1
|
6602 |
+
1
|
6603 |
+
0
|
6604 |
+
0
|
6605 |
+
1
|
6606 |
+
1
|
6607 |
+
1
|
6608 |
+
1
|
6609 |
+
1
|
6610 |
+
1
|
6611 |
+
1
|
6612 |
+
0
|
6613 |
+
0
|
6614 |
+
0
|
6615 |
+
1
|
6616 |
+
0
|
6617 |
+
1
|
6618 |
+
1
|
6619 |
+
1
|
6620 |
+
1
|
6621 |
+
0
|
6622 |
+
1
|
6623 |
+
1
|
6624 |
+
0
|
6625 |
+
1
|
6626 |
+
0
|
6627 |
+
1
|
6628 |
+
1
|
6629 |
+
0
|
6630 |
+
1
|
6631 |
+
1
|
6632 |
+
1
|
6633 |
+
1
|
6634 |
+
0
|
6635 |
+
0
|
6636 |
+
0
|
6637 |
+
1
|
6638 |
+
1
|
6639 |
+
1
|
6640 |
+
1
|
6641 |
+
1
|
6642 |
+
0
|
6643 |
+
1
|
6644 |
+
0
|
6645 |
+
1
|
6646 |
+
1
|
6647 |
+
1
|
6648 |
+
1
|
6649 |
+
0
|
6650 |
+
1
|
6651 |
+
0
|
6652 |
+
0
|
6653 |
+
0
|
6654 |
+
1
|
6655 |
+
0
|
6656 |
+
0
|
6657 |
+
0
|
6658 |
+
1
|
6659 |
+
0
|
6660 |
+
1
|
6661 |
+
0
|
6662 |
+
0
|
6663 |
+
0
|
6664 |
+
1
|
6665 |
+
1
|
6666 |
+
1
|
6667 |
+
0
|
6668 |
+
1
|
6669 |
+
1
|
6670 |
+
0
|
6671 |
+
1
|
6672 |
+
0
|
6673 |
+
1
|
6674 |
+
0
|
6675 |
+
0
|
6676 |
+
1
|
6677 |
+
1
|
6678 |
+
1
|
6679 |
+
1
|
6680 |
+
0
|
6681 |
+
1
|
6682 |
+
1
|
6683 |
+
0
|
6684 |
+
1
|
6685 |
+
0
|
6686 |
+
0
|
6687 |
+
1
|
6688 |
+
1
|
6689 |
+
1
|
6690 |
+
1
|
6691 |
+
0
|
6692 |
+
1
|
6693 |
+
1
|
6694 |
+
1
|
6695 |
+
0
|
6696 |
+
0
|
6697 |
+
0
|
6698 |
+
0
|
6699 |
+
1
|
6700 |
+
1
|
6701 |
+
1
|
6702 |
+
1
|
6703 |
+
0
|
6704 |
+
1
|
6705 |
+
0
|
6706 |
+
0
|
6707 |
+
0
|
6708 |
+
1
|
6709 |
+
0
|
6710 |
+
1
|
6711 |
+
1
|
6712 |
+
0
|
6713 |
+
0
|
6714 |
+
1
|
6715 |
+
1
|
6716 |
+
0
|
6717 |
+
0
|
6718 |
+
0
|
6719 |
+
1
|
6720 |
+
0
|
6721 |
+
1
|
6722 |
+
1
|
6723 |
+
1
|
6724 |
+
1
|
6725 |
+
1
|
6726 |
+
1
|
6727 |
+
1
|
6728 |
+
0
|
6729 |
+
1
|
6730 |
+
0
|
6731 |
+
0
|
6732 |
+
1
|
6733 |
+
1
|
6734 |
+
1
|
6735 |
+
0
|
6736 |
+
0
|
6737 |
+
0
|
6738 |
+
1
|
6739 |
+
0
|
6740 |
+
1
|
6741 |
+
0
|
6742 |
+
0
|
6743 |
+
0
|
6744 |
+
0
|
6745 |
+
1
|
6746 |
+
1
|
6747 |
+
0
|
6748 |
+
1
|
6749 |
+
0
|
6750 |
+
0
|
6751 |
+
1
|
6752 |
+
0
|
6753 |
+
0
|
6754 |
+
1
|
6755 |
+
1
|
6756 |
+
1
|
6757 |
+
0
|
6758 |
+
0
|
6759 |
+
0
|
6760 |
+
1
|
6761 |
+
0
|
6762 |
+
1
|
6763 |
+
1
|
6764 |
+
0
|
6765 |
+
1
|
6766 |
+
1
|
6767 |
+
0
|
6768 |
+
1
|
6769 |
+
0
|
6770 |
+
1
|
6771 |
+
1
|
6772 |
+
1
|
6773 |
+
0
|
6774 |
+
0
|
6775 |
+
1
|
6776 |
+
0
|
6777 |
+
1
|
6778 |
+
1
|
6779 |
+
1
|
6780 |
+
1
|
6781 |
+
1
|
6782 |
+
1
|
6783 |
+
0
|
6784 |
+
0
|
6785 |
+
1
|
6786 |
+
0
|
6787 |
+
1
|
6788 |
+
1
|
6789 |
+
1
|
6790 |
+
0
|
6791 |
+
1
|
6792 |
+
1
|
6793 |
+
0
|
6794 |
+
0
|
6795 |
+
0
|
6796 |
+
0
|
6797 |
+
0
|
6798 |
+
1
|
6799 |
+
1
|
6800 |
+
1
|
6801 |
+
0
|
6802 |
+
1
|
6803 |
+
0
|
6804 |
+
0
|
6805 |
+
0
|
6806 |
+
0
|
6807 |
+
0
|
6808 |
+
1
|
6809 |
+
0
|
6810 |
+
0
|
6811 |
+
0
|
6812 |
+
1
|
6813 |
+
1
|
6814 |
+
0
|
6815 |
+
0
|
6816 |
+
1
|
6817 |
+
0
|
6818 |
+
1
|
6819 |
+
1
|
6820 |
+
1
|
6821 |
+
1
|
6822 |
+
0
|
6823 |
+
0
|
6824 |
+
0
|
6825 |
+
1
|
6826 |
+
1
|
6827 |
+
1
|
6828 |
+
1
|
6829 |
+
1
|
6830 |
+
1
|
6831 |
+
0
|
6832 |
+
0
|
6833 |
+
1
|
6834 |
+
1
|
6835 |
+
0
|
6836 |
+
0
|
6837 |
+
0
|
6838 |
+
0
|
6839 |
+
0
|
6840 |
+
1
|
6841 |
+
0
|
6842 |
+
0
|
6843 |
+
0
|
6844 |
+
0
|
6845 |
+
1
|
6846 |
+
0
|
6847 |
+
0
|
6848 |
+
0
|
6849 |
+
0
|
6850 |
+
1
|
6851 |
+
1
|
6852 |
+
0
|
6853 |
+
1
|
6854 |
+
1
|
6855 |
+
0
|
6856 |
+
0
|
6857 |
+
1
|
6858 |
+
0
|
6859 |
+
1
|
6860 |
+
0
|
6861 |
+
0
|
6862 |
+
0
|
6863 |
+
0
|
6864 |
+
0
|
6865 |
+
1
|
6866 |
+
1
|
6867 |
+
1
|
6868 |
+
0
|
6869 |
+
0
|
6870 |
+
1
|
6871 |
+
0
|
6872 |
+
0
|
6873 |
+
0
|
6874 |
+
1
|
6875 |
+
0
|
6876 |
+
0
|
6877 |
+
0
|
6878 |
+
0
|
6879 |
+
1
|
6880 |
+
1
|
6881 |
+
0
|
6882 |
+
0
|
6883 |
+
1
|
6884 |
+
1
|
6885 |
+
1
|
6886 |
+
0
|
6887 |
+
0
|
6888 |
+
1
|
6889 |
+
0
|
6890 |
+
1
|
6891 |
+
0
|
6892 |
+
0
|
6893 |
+
1
|
6894 |
+
1
|
6895 |
+
0
|
6896 |
+
0
|
6897 |
+
0
|
6898 |
+
0
|
6899 |
+
1
|
6900 |
+
1
|
6901 |
+
0
|
6902 |
+
1
|
6903 |
+
1
|
6904 |
+
1
|
6905 |
+
0
|
6906 |
+
0
|
6907 |
+
0
|
6908 |
+
0
|
6909 |
+
0
|
6910 |
+
0
|
6911 |
+
1
|
6912 |
+
1
|
6913 |
+
1
|
6914 |
+
1
|
6915 |
+
1
|
6916 |
+
0
|
6917 |
+
1
|
6918 |
+
1
|
6919 |
+
1
|
6920 |
+
1
|
6921 |
+
1
|
6922 |
+
1
|
6923 |
+
0
|
6924 |
+
1
|
6925 |
+
1
|
6926 |
+
1
|
6927 |
+
0
|
6928 |
+
0
|
6929 |
+
1
|
6930 |
+
1
|
6931 |
+
0
|
6932 |
+
1
|
6933 |
+
1
|
6934 |
+
0
|
6935 |
+
1
|
6936 |
+
1
|
6937 |
+
1
|
6938 |
+
1
|
6939 |
+
0
|
6940 |
+
1
|
6941 |
+
1
|
6942 |
+
0
|
6943 |
+
0
|
6944 |
+
0
|
6945 |
+
0
|
6946 |
+
0
|
6947 |
+
0
|
6948 |
+
0
|
6949 |
+
0
|
6950 |
+
0
|
6951 |
+
0
|
6952 |
+
1
|
6953 |
+
0
|
6954 |
+
1
|
6955 |
+
0
|
6956 |
+
0
|
6957 |
+
0
|
6958 |
+
0
|
6959 |
+
0
|
6960 |
+
1
|
6961 |
+
0
|
6962 |
+
1
|
6963 |
+
0
|
6964 |
+
0
|
6965 |
+
1
|
6966 |
+
1
|
6967 |
+
1
|
6968 |
+
1
|
6969 |
+
1
|
6970 |
+
1
|
6971 |
0
|
6972 |
0
|
6973 |
0
|
6974 |
+
1
|
6975 |
+
1
|
6976 |
+
0
|
6977 |
+
1
|
6978 |
+
1
|
6979 |
+
0
|
6980 |
+
0
|
6981 |
+
0
|
6982 |
+
0
|
6983 |
+
1
|
6984 |
+
0
|
6985 |
+
1
|
6986 |
+
1
|
6987 |
+
1
|
6988 |
+
0
|
6989 |
+
0
|
6990 |
+
0
|
6991 |
+
1
|
6992 |
+
1
|
6993 |
+
1
|
6994 |
+
1
|
6995 |
+
1
|
6996 |
+
0
|
6997 |
+
0
|
6998 |
+
1
|
6999 |
+
1
|
7000 |
+
0
|
7001 |
+
0
|
7002 |
+
0
|
7003 |
+
0
|
7004 |
+
0
|
7005 |
+
0
|
7006 |
+
1
|
7007 |
+
1
|
7008 |
+
1
|
7009 |
+
1
|
7010 |
+
0
|
7011 |
+
0
|
7012 |
+
1
|
7013 |
+
1
|
7014 |
+
1
|
7015 |
+
1
|
7016 |
+
0
|
7017 |
+
1
|
7018 |
+
1
|
7019 |
+
0
|
7020 |
+
1
|
7021 |
+
1
|
7022 |
+
1
|
7023 |
+
1
|
7024 |
+
0
|
7025 |
+
1
|
7026 |
+
1
|
7027 |
+
1
|
7028 |
+
0
|
7029 |
+
1
|
7030 |
+
0
|
7031 |
+
1
|
7032 |
+
1
|
7033 |
+
1
|
7034 |
+
0
|
7035 |
+
0
|
7036 |
+
1
|
7037 |
+
1
|
7038 |
+
1
|
7039 |
+
0
|
7040 |
+
0
|
7041 |
+
0
|
7042 |
+
1
|
7043 |
+
1
|
7044 |
+
0
|
7045 |
+
0
|
7046 |
+
0
|
7047 |
+
0
|
7048 |
+
0
|
7049 |
+
1
|
7050 |
+
0
|
7051 |
+
0
|
7052 |
+
0
|
7053 |
+
0
|
7054 |
+
1
|
7055 |
+
0
|
7056 |
+
0
|
7057 |
+
1
|
7058 |
+
0
|
7059 |
+
1
|
7060 |
+
1
|
7061 |
+
1
|
7062 |
+
1
|
7063 |
+
1
|
7064 |
+
1
|
7065 |
+
0
|
7066 |
+
1
|
7067 |
+
0
|
7068 |
+
1
|
7069 |
+
0
|
7070 |
+
1
|
7071 |
+
1
|
7072 |
+
1
|
7073 |
+
1
|
7074 |
+
0
|
7075 |
+
1
|
7076 |
+
0
|
7077 |
+
1
|
7078 |
0
|
7079 |
+
1
|
7080 |
0
|
7081 |
+
1
|
7082 |
+
1
|
7083 |
+
1
|
7084 |
0
|
7085 |
0
|
7086 |
0
|
7087 |
+
1
|
7088 |
0
|
7089 |
+
1
|
7090 |
+
1
|
7091 |
+
1
|
7092 |
+
1
|
7093 |
+
1
|
7094 |
0
|
7095 |
+
1
|
7096 |
+
1
|
7097 |
+
1
|
7098 |
+
1
|
7099 |
+
1
|
7100 |
+
1
|
7101 |
0
|
7102 |
+
1
|
7103 |
+
1
|
7104 |
+
1
|
7105 |
+
1
|
7106 |
0
|
7107 |
+
1
|
7108 |
0
|
7109 |
+
1
|
7110 |
+
1
|
7111 |
+
1
|
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/{overallTestData → lowGRschoolAll}/test_label.txt
RENAMED
The diff for this file is too large to render.
See raw diff
|
|
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/overallTestData/test.txt
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:e16cfaea0c20e82ae9a6267b68542a2bc569b757c0c6a3162312207b15cd66e3
|
3 |
-
size 20628909
|
|
|
|
|
|
|
|
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/overallTestData/test_info.txt
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:b9f25a40d85e36d9971bb645550a3a503316265630637c04ccc997b18a68b31b
|
3 |
-
size 161328625
|
|
|
|
|
|
|
|
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/test.txt
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:35569d6f81ef85e6353f36912c1cb79bfb723fe7d2476e10afcb745c170c5130
|
3 |
-
size 24672844
|
|
|
|
|
|
|
|
ratio_proportion_change3_2223/sch_largest_100-coded/finetuning/test_info.txt
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:a6aadba0002bfdfde835b8837b3ff36cd84c64c3e23b6589ec1d002b4b62c2f4
|
3 |
-
size 122629427
|
|
|
|
|
|
|
|
ratio_proportion_change3_2223/sch_largest_100-coded/output/first10/bert_fine_tuned.model.first10%.wfaopttime.wttime.wttopttime.wttnoopttime.ep23
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:2575410884e07a564e39c2777ba88896a56623a546db4b7901d793618a89cb8f
|
3 |
-
size 68489814
|
|
|
|
|
|
|
|
ratio_proportion_change3_2223/sch_largest_100-coded/output/first10/bert_fine_tuned.model.first10%.wskills.ep24
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:8af416689089c3c243d3abe58369a4725dbcfa446da951ccc49ed63961da9a1f
|
3 |
-
size 68474774
|
|
|
|
|
|
|
|
ratio_proportion_change3_2223/sch_largest_100-coded/output/first10/bert_fine_tuned.model.first10%.wskills.wfaopttime.wttime.wttopttime.wttnoopttime.ep40
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:02df4b9e62fc3ee0728ce0cf26b903958f3dca7a949d83c39b24d4d679f64cba
|
3 |
-
size 68491670
|
|
|
|
|
|
|
|
ratio_proportion_change3_2223/sch_largest_100-coded/output/highGRschool10/bert_fine_tuned.model.ep42
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:fe0a59447b0f642ee78b8b577471b08d823b6702db653674cbbae153d5b249c9
|
3 |
-
size 7294550
|
|
|
|
|
|
|
|
ratio_proportion_change3_2223/sch_largest_100-coded/time_info/full_data_normalized_time.pkl
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:197f28e0b0836572fd12eb3c9d13f9f8557b1fb39cd368a535f216caa3a37a75
|
3 |
-
size 4660819
|
|
|
|
|
|
|
|
src/__pycache__/attention.cpython-312.pyc
CHANGED
Binary files a/src/__pycache__/attention.cpython-312.pyc and b/src/__pycache__/attention.cpython-312.pyc differ
|
|
src/__pycache__/bert.cpython-312.pyc
CHANGED
Binary files a/src/__pycache__/bert.cpython-312.pyc and b/src/__pycache__/bert.cpython-312.pyc differ
|
|
src/__pycache__/classifier_model.cpython-312.pyc
CHANGED
Binary files a/src/__pycache__/classifier_model.cpython-312.pyc and b/src/__pycache__/classifier_model.cpython-312.pyc differ
|
|
src/__pycache__/dataset.cpython-312.pyc
CHANGED
Binary files a/src/__pycache__/dataset.cpython-312.pyc and b/src/__pycache__/dataset.cpython-312.pyc differ
|
|
src/__pycache__/embedding.cpython-312.pyc
CHANGED
Binary files a/src/__pycache__/embedding.cpython-312.pyc and b/src/__pycache__/embedding.cpython-312.pyc differ
|
|
src/__pycache__/seq_model.cpython-312.pyc
CHANGED
Binary files a/src/__pycache__/seq_model.cpython-312.pyc and b/src/__pycache__/seq_model.cpython-312.pyc differ
|
|
src/__pycache__/transformer.cpython-312.pyc
CHANGED
Binary files a/src/__pycache__/transformer.cpython-312.pyc and b/src/__pycache__/transformer.cpython-312.pyc differ
|
|
src/__pycache__/transformer_component.cpython-312.pyc
CHANGED
Binary files a/src/__pycache__/transformer_component.cpython-312.pyc and b/src/__pycache__/transformer_component.cpython-312.pyc differ
|
|
src/__pycache__/vocab.cpython-312.pyc
CHANGED
Binary files a/src/__pycache__/vocab.cpython-312.pyc and b/src/__pycache__/vocab.cpython-312.pyc differ
|
|
src/dataset.py
CHANGED
@@ -7,18 +7,208 @@ import random
|
|
7 |
from .vocab import Vocab
|
8 |
import pickle
|
9 |
import copy
|
10 |
-
import
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
class TokenizerDataset(Dataset):
|
13 |
"""
|
14 |
Class name: TokenizerDataset
|
15 |
Tokenize the data in the dataset
|
16 |
-
|
17 |
"""
|
18 |
def __init__(self, dataset_path, label_path, vocab, seq_len=30):
|
19 |
self.dataset_path = dataset_path
|
20 |
self.label_path = label_path
|
21 |
self.vocab = vocab # Vocab object
|
|
|
22 |
|
23 |
# Related to input dataset file
|
24 |
self.lines = []
|
@@ -52,14 +242,39 @@ class TokenizerDataset(Dataset):
|
|
52 |
feat2 = [float(i) for i in line.split(",")[-2].split("\t")]
|
53 |
feat_vec.extend(feat2[1:])
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
if j == 0:
|
56 |
print(len(feat_vec))
|
57 |
j+=1
|
58 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
self.feats.append(feat_vec)
|
60 |
dataset_info_file.close()
|
61 |
except Exception as e:
|
62 |
print(e)
|
|
|
|
|
|
|
|
|
63 |
|
64 |
self.file = open(self.dataset_path, "r")
|
65 |
for line in self.file:
|
@@ -102,315 +317,95 @@ class TokenizerDataset(Dataset):
|
|
102 |
'segment_label': segment_label}
|
103 |
return {key: torch.tensor(value) for key, value in output.items()}
|
104 |
|
105 |
-
|
106 |
-
|
107 |
-
Feature length: 17
|
108 |
-
|
109 |
-
"""
|
110 |
-
def __init__(self, dataset_path, label_path, vocab, seq_len=30):
|
111 |
-
print(f"dataset_path: {dataset_path}")
|
112 |
-
print(f"label_path: {label_path}")
|
113 |
-
|
114 |
-
self.dataset_path = dataset_path
|
115 |
-
self.label_path = label_path
|
116 |
-
self.vocab = vocab # Vocab object
|
117 |
-
self.seq_len = seq_len
|
118 |
-
|
119 |
-
# Related to input dataset file
|
120 |
-
self.lines = []
|
121 |
-
self.labels = []
|
122 |
-
self.feats = []
|
123 |
-
selected_lines = []
|
124 |
-
|
125 |
-
print("TokenizerwSkillsDataset...............................")
|
126 |
-
|
127 |
-
if self.label_path:
|
128 |
-
# Comment this section if you are not using feat attribute
|
129 |
-
dataset_info_file = open(self.label_path.replace("label", "info"), "r").readlines()
|
130 |
-
print(">>>>>>>>>>>>>>>>>", len(dataset_info_file))
|
131 |
-
j = 0
|
132 |
-
for idex, line in enumerate(dataset_info_file):
|
133 |
-
try:
|
134 |
-
if line:
|
135 |
-
line = line.strip()
|
136 |
-
if not line:
|
137 |
-
continue
|
138 |
-
|
139 |
-
feat_vec = [float(i) for i in line.split(",")[-9].split("\t")]
|
140 |
-
feat2 = [float(i) for i in line.split(",")[-8].split("\t")]
|
141 |
-
feat_vec.extend(feat2[1:])
|
142 |
-
|
143 |
-
if j == 0:
|
144 |
-
print(";;;;", len(feat_vec), feat_vec)
|
145 |
-
j+=1
|
146 |
-
self.feats.append(feat_vec)
|
147 |
-
selected_lines.append(idex)
|
148 |
-
except Exception as e:
|
149 |
-
print("................>")
|
150 |
-
print(e)
|
151 |
-
print("Error at index: ", idex)
|
152 |
-
|
153 |
-
self.label_file = open(self.label_path, "r")
|
154 |
-
for idex, line in enumerate(self.label_file):
|
155 |
-
if line:
|
156 |
-
line = line.strip()
|
157 |
-
if not line:
|
158 |
-
continue
|
159 |
-
if idex in selected_lines:
|
160 |
-
self.labels.append(int(line))
|
161 |
-
# self.labels.append(int(line))
|
162 |
-
self.label_file.close()
|
163 |
-
|
164 |
-
self.file = open(self.dataset_path, "r")
|
165 |
-
for idex, line in enumerate(self.file):
|
166 |
-
if line:
|
167 |
-
line = line.strip()
|
168 |
-
if line:
|
169 |
-
if idex in selected_lines:
|
170 |
-
self.lines.append(line)
|
171 |
-
# self.lines.append(line)
|
172 |
-
self.file.close()
|
173 |
-
self.len = len(self.lines)
|
174 |
-
print("Sequence length set at ", self.seq_len, len(self.lines), len(self.labels) if self.label_path else 0)
|
175 |
-
|
176 |
-
def __len__(self):
|
177 |
-
return self.len
|
178 |
-
|
179 |
-
def __getitem__(self, item):
|
180 |
-
org_line = self.lines[item].split("\t")
|
181 |
-
dup_line = []
|
182 |
-
opt = False
|
183 |
-
for l in org_line:
|
184 |
-
if l in ["OptionalTask_1", "EquationAnswer", "NumeratorFactor", "DenominatorFactor", "OptionalTask_2", "FirstRow1:1", "FirstRow1:2", "FirstRow2:1", "FirstRow2:2", "SecondRow", "ThirdRow"]:
|
185 |
-
opt = True
|
186 |
-
if opt and 'FinalAnswer-' in l:
|
187 |
-
dup_line.append('[UNK]')
|
188 |
-
else:
|
189 |
-
dup_line.append(l)
|
190 |
-
dup_line = "\t".join(dup_line)
|
191 |
-
# print(dup_line)
|
192 |
-
s1 = self.vocab.to_seq(dup_line, self.seq_len) # This is like tokenizer and adds [CLS] and [SEP].
|
193 |
-
s1_label = self.labels[item] if self.label_path else 0
|
194 |
-
segment_label = [1 for _ in range(len(s1))]
|
195 |
-
s1_feat = self.feats[item] if len(self.feats)>0 else 0
|
196 |
-
padding = [self.vocab.vocab['[PAD]'] for _ in range(self.seq_len - len(s1))]
|
197 |
-
s1.extend(padding), segment_label.extend(padding)
|
198 |
-
# print(s1_feat)
|
199 |
-
|
200 |
-
output = {'input': s1,
|
201 |
-
'label': s1_label,
|
202 |
-
'feat': s1_feat,
|
203 |
-
'segment_label': segment_label}
|
204 |
-
return {key: torch.tensor(value) for key, value in output.items()}
|
205 |
-
|
206 |
-
|
207 |
-
class TokenizerwTimeDataset(Dataset):
|
208 |
"""
|
209 |
-
|
210 |
-
|
|
|
211 |
"""
|
212 |
def __init__(self, dataset_path, label_path, vocab, seq_len=30):
|
213 |
-
print(f"dataset_path: {dataset_path}")
|
214 |
-
print(f"label_path: {label_path}")
|
215 |
-
|
216 |
self.dataset_path = dataset_path
|
217 |
self.label_path = label_path
|
218 |
self.vocab = vocab # Vocab object
|
219 |
-
self.
|
220 |
-
|
221 |
# Related to input dataset file
|
222 |
self.lines = []
|
223 |
self.labels = []
|
224 |
self.feats = []
|
225 |
-
selected_lines = []
|
226 |
-
|
227 |
-
print("TokenizerwTimeDataset...............................")
|
228 |
-
time_df = pickle.load(open("ratio_proportion_change3_2223/sch_largest_100-coded/time_info/full_data_normalized_time.pkl", "rb"))
|
229 |
-
print("time: ?? ", time_df.shape)
|
230 |
-
|
231 |
if self.label_path:
|
232 |
-
# Comment this section if you are not using feat attribute
|
233 |
-
dataset_info_file = open(self.label_path.replace("label", "info"), "r").readlines()
|
234 |
-
print(">>>>>>>>>>>>>>>>>", len(dataset_info_file))
|
235 |
-
j = 0
|
236 |
-
for idex, line in enumerate(dataset_info_file):
|
237 |
-
try:
|
238 |
-
if line:
|
239 |
-
line = line.strip()
|
240 |
-
if not line:
|
241 |
-
continue
|
242 |
-
|
243 |
-
feat_vec = []
|
244 |
-
|
245 |
-
sch = line.split(",")[0]
|
246 |
-
stu = line.split(",")[2]
|
247 |
-
progress = line.split(",")[3]
|
248 |
-
prob_id = line.split(",")[4]
|
249 |
-
|
250 |
-
total_time = time_df.loc[(sch, stu, progress, prob_id)]['total_time'].item()
|
251 |
-
faopt_time = time_df.loc[(sch, stu, progress, prob_id)]['faopt_time'].item()
|
252 |
-
opt_time = time_df.loc[(sch, stu, progress, prob_id)]['opt_time'].item()
|
253 |
-
nonopt_time = time_df.loc[(sch, stu, progress, prob_id)]['nonopt_time'].item()
|
254 |
-
|
255 |
-
feat_vec.append(faopt_time)
|
256 |
-
feat_vec.append(total_time)
|
257 |
-
feat_vec.append(opt_time)
|
258 |
-
feat_vec.append(nonopt_time)
|
259 |
-
|
260 |
-
if j == 0:
|
261 |
-
print(";;;;", len(feat_vec), feat_vec)
|
262 |
-
j+=1
|
263 |
-
self.feats.append(feat_vec)
|
264 |
-
selected_lines.append(idex)
|
265 |
-
except Exception as e:
|
266 |
-
print("................>")
|
267 |
-
print(e)
|
268 |
-
print("Error at index: ", idex)
|
269 |
-
|
270 |
self.label_file = open(self.label_path, "r")
|
271 |
-
for
|
272 |
if line:
|
273 |
line = line.strip()
|
274 |
if not line:
|
275 |
continue
|
276 |
-
|
277 |
-
self.labels.append(int(line))
|
278 |
-
# self.labels.append(int(line))
|
279 |
self.label_file.close()
|
280 |
-
|
281 |
-
self.file = open(self.dataset_path, "r")
|
282 |
-
for idex, line in enumerate(self.file):
|
283 |
-
if line:
|
284 |
-
line = line.strip()
|
285 |
-
if line:
|
286 |
-
if idex in selected_lines:
|
287 |
-
self.lines.append(line)
|
288 |
-
# self.lines.append(line)
|
289 |
-
self.file.close()
|
290 |
-
self.len = len(self.lines)
|
291 |
-
print("Sequence length set at ", self.seq_len, len(self.lines), len(self.labels) if self.label_path else 0)
|
292 |
-
|
293 |
-
def __len__(self):
|
294 |
-
return self.len
|
295 |
-
|
296 |
-
def __getitem__(self, item):
|
297 |
-
org_line = self.lines[item].split("\t")
|
298 |
-
dup_line = []
|
299 |
-
opt = False
|
300 |
-
for l in org_line:
|
301 |
-
if l in ["OptionalTask_1", "EquationAnswer", "NumeratorFactor", "DenominatorFactor", "OptionalTask_2", "FirstRow1:1", "FirstRow1:2", "FirstRow2:1", "FirstRow2:2", "SecondRow", "ThirdRow"]:
|
302 |
-
opt = True
|
303 |
-
if opt and 'FinalAnswer-' in l:
|
304 |
-
dup_line.append('[UNK]')
|
305 |
-
else:
|
306 |
-
dup_line.append(l)
|
307 |
-
dup_line = "\t".join(dup_line)
|
308 |
-
# print(dup_line)
|
309 |
-
s1 = self.vocab.to_seq(dup_line, self.seq_len) # This is like tokenizer and adds [CLS] and [SEP].
|
310 |
-
s1_label = self.labels[item] if self.label_path else 0
|
311 |
-
segment_label = [1 for _ in range(len(s1))]
|
312 |
-
s1_feat = self.feats[item] if len(self.feats)>0 else 0
|
313 |
-
padding = [self.vocab.vocab['[PAD]'] for _ in range(self.seq_len - len(s1))]
|
314 |
-
s1.extend(padding), segment_label.extend(padding)
|
315 |
-
# print(s1_feat)
|
316 |
-
|
317 |
-
output = {'input': s1,
|
318 |
-
'label': s1_label,
|
319 |
-
'feat': s1_feat,
|
320 |
-
'segment_label': segment_label}
|
321 |
-
return {key: torch.tensor(value) for key, value in output.items()}
|
322 |
-
|
323 |
-
class TokenizerwSkillsTimeDataset(Dataset):
|
324 |
-
"""
|
325 |
-
Feature length: 17+4 = 21
|
326 |
-
|
327 |
-
"""
|
328 |
-
def __init__(self, dataset_path, label_path, vocab, seq_len=30):
|
329 |
-
print(f"dataset_path: {dataset_path}")
|
330 |
-
print(f"label_path: {label_path}")
|
331 |
-
|
332 |
-
self.dataset_path = dataset_path
|
333 |
-
self.label_path = label_path
|
334 |
-
self.vocab = vocab # Vocab object
|
335 |
-
self.seq_len = seq_len
|
336 |
-
|
337 |
-
# Related to input dataset file
|
338 |
-
self.lines = []
|
339 |
-
self.labels = []
|
340 |
-
self.feats = []
|
341 |
-
selected_lines = []
|
342 |
-
|
343 |
-
print("TokenizerwSkillsTimeDataset...............................")
|
344 |
-
time_df = pickle.load(open("ratio_proportion_change3_2223/sch_largest_100-coded/time_info/full_data_normalized_time.pkl", "rb"))
|
345 |
-
print("time: ", time_df.shape)
|
346 |
-
|
347 |
-
if self.label_path:
|
348 |
# Comment this section if you are not using feat attribute
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
try:
|
354 |
if line:
|
355 |
line = line.strip()
|
356 |
if not line:
|
357 |
continue
|
358 |
-
|
359 |
-
|
360 |
-
|
|
|
|
|
|
|
|
|
361 |
feat_vec.extend(feat2[1:])
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
nonopt_time = time_df.loc[(sch, stu, progress, prob_id)]['nonopt_time'].item()
|
372 |
-
|
373 |
-
feat_vec.append(faopt_time)
|
374 |
-
feat_vec.append(total_time)
|
375 |
-
feat_vec.append(opt_time)
|
376 |
-
feat_vec.append(nonopt_time)
|
377 |
-
|
378 |
if j == 0:
|
379 |
-
print(
|
380 |
j+=1
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
|
|
|
|
387 |
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
# self.labels.append(int(line))
|
397 |
-
self.label_file.close()
|
398 |
|
399 |
self.file = open(self.dataset_path, "r")
|
400 |
-
for
|
401 |
if line:
|
402 |
line = line.strip()
|
403 |
if line:
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
self.file.close()
|
408 |
self.len = len(self.lines)
|
|
|
409 |
print("Sequence length set at ", self.seq_len, len(self.lines), len(self.labels) if self.label_path else 0)
|
410 |
-
|
411 |
def __len__(self):
|
412 |
return self.len
|
413 |
-
|
414 |
def __getitem__(self, item):
|
415 |
org_line = self.lines[item].split("\t")
|
416 |
dup_line = []
|
@@ -418,7 +413,7 @@ class TokenizerwSkillsTimeDataset(Dataset):
|
|
418 |
for l in org_line:
|
419 |
if l in ["OptionalTask_1", "EquationAnswer", "NumeratorFactor", "DenominatorFactor", "OptionalTask_2", "FirstRow1:1", "FirstRow1:2", "FirstRow2:1", "FirstRow2:2", "SecondRow", "ThirdRow"]:
|
420 |
opt = True
|
421 |
-
if opt and 'FinalAnswer-' in l:
|
422 |
dup_line.append('[UNK]')
|
423 |
else:
|
424 |
dup_line.append(l)
|
@@ -430,10 +425,35 @@ class TokenizerwSkillsTimeDataset(Dataset):
|
|
430 |
s1_feat = self.feats[item] if len(self.feats)>0 else 0
|
431 |
padding = [self.vocab.vocab['[PAD]'] for _ in range(self.seq_len - len(s1))]
|
432 |
s1.extend(padding), segment_label.extend(padding)
|
433 |
-
|
434 |
-
|
435 |
output = {'input': s1,
|
436 |
'label': s1_label,
|
437 |
'feat': s1_feat,
|
438 |
'segment_label': segment_label}
|
439 |
-
return {key: torch.tensor(value) for key, value in output.items()}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
from .vocab import Vocab
|
8 |
import pickle
|
9 |
import copy
|
10 |
+
# from sklearn.preprocessing import OneHotEncoder
|
11 |
|
12 |
+
class PretrainerDataset(Dataset):
|
13 |
+
"""
|
14 |
+
Class name: PretrainDataset
|
15 |
+
|
16 |
+
"""
|
17 |
+
def __init__(self, dataset_path, vocab, seq_len=30, max_mask=0.15):
|
18 |
+
self.dataset_path = dataset_path
|
19 |
+
self.vocab = vocab # Vocab object
|
20 |
+
|
21 |
+
# Related to input dataset file
|
22 |
+
self.lines = []
|
23 |
+
self.index_documents = {}
|
24 |
+
|
25 |
+
seq_len_list = []
|
26 |
+
with open(self.dataset_path, "r") as reader:
|
27 |
+
i = 0
|
28 |
+
index = 0
|
29 |
+
self.index_documents[i] = []
|
30 |
+
for line in tqdm.tqdm(reader.readlines()):
|
31 |
+
if line:
|
32 |
+
line = line.strip()
|
33 |
+
if not line:
|
34 |
+
i+=1
|
35 |
+
self.index_documents[i] = []
|
36 |
+
else:
|
37 |
+
self.index_documents[i].append(index)
|
38 |
+
self.lines.append(line.split("\t"))
|
39 |
+
len_line = len(line.split("\t"))
|
40 |
+
seq_len_list.append(len_line)
|
41 |
+
index+=1
|
42 |
+
reader.close()
|
43 |
+
print("Sequence Stats: len: %s, min: %s, max: %s, average: %s"% (len(seq_len_list),
|
44 |
+
min(seq_len_list), max(seq_len_list), sum(seq_len_list)/len(seq_len_list)))
|
45 |
+
print("Unique Sequences: ", len({tuple(ll) for ll in self.lines}))
|
46 |
+
self.index_documents = {k:v for k,v in self.index_documents.items() if v}
|
47 |
+
print(len(self.index_documents))
|
48 |
+
self.seq_len = seq_len
|
49 |
+
print("Sequence length set at: ", self.seq_len)
|
50 |
+
self.max_mask = max_mask
|
51 |
+
print("% of input tokens selected for masking : ",self.max_mask)
|
52 |
+
|
53 |
+
|
54 |
+
def __len__(self):
|
55 |
+
return len(self.lines)
|
56 |
+
|
57 |
+
def __getitem__(self, item):
|
58 |
+
token_a = self.lines[item]
|
59 |
+
# sa_masked = None
|
60 |
+
# sa_masked_label = None
|
61 |
+
# token_b = None
|
62 |
+
# is_same_student = None
|
63 |
+
# sb_masked = None
|
64 |
+
# sb_masked_label = None
|
65 |
+
|
66 |
+
# if self.select_next_seq:
|
67 |
+
# is_same_student, token_b = self.get_token_b(item)
|
68 |
+
# is_same_student = 1 if is_same_student else 0
|
69 |
+
# token_a1, token_b1 = self.truncate_to_max_seq(token_a, token_b)
|
70 |
+
# sa_masked, sa_masked_label = self.random_mask_seq(token_a1)
|
71 |
+
# sb_masked, sb_masked_label = self.random_mask_seq(token_b1)
|
72 |
+
# else:
|
73 |
+
token_a = token_a[:self.seq_len-2]
|
74 |
+
sa_masked, sa_masked_label, sa_masked_pos = self.random_mask_seq(token_a)
|
75 |
+
|
76 |
+
s1 = ([self.vocab.vocab['[CLS]']] + sa_masked + [self.vocab.vocab['[SEP]']])
|
77 |
+
s1_label = ([self.vocab.vocab['[PAD]']] + sa_masked_label + [self.vocab.vocab['[PAD]']])
|
78 |
+
segment_label = [1 for _ in range(len(s1))]
|
79 |
+
masked_pos = ([0] + sa_masked_pos + [0])
|
80 |
+
|
81 |
+
# if self.select_next_seq:
|
82 |
+
# s1 = s1 + sb_masked + [self.vocab.vocab['[SEP]']]
|
83 |
+
# s1_label = s1_label + sb_masked_label + [self.vocab.vocab['[PAD]']]
|
84 |
+
# segment_label = segment_label + [2 for _ in range(len(sb_masked)+1)]
|
85 |
+
|
86 |
+
padding = [self.vocab.vocab['[PAD]'] for _ in range(self.seq_len - len(s1))]
|
87 |
+
s1.extend(padding)
|
88 |
+
s1_label.extend(padding)
|
89 |
+
segment_label.extend(padding)
|
90 |
+
masked_pos.extend(padding)
|
91 |
+
|
92 |
+
output = {'bert_input': s1,
|
93 |
+
'bert_label': s1_label,
|
94 |
+
'segment_label': segment_label,
|
95 |
+
'masked_pos': masked_pos}
|
96 |
+
# print(f"tokenA: {token_a}")
|
97 |
+
# print(f"output: {output}")
|
98 |
+
|
99 |
+
# if self.select_next_seq:
|
100 |
+
# output['is_same_student'] = is_same_student
|
101 |
+
|
102 |
+
# print(item, len(s1), len(s1_label), len(segment_label))
|
103 |
+
# print(f"{item}.")
|
104 |
+
return {key: torch.tensor(value) for key, value in output.items()}
|
105 |
+
|
106 |
+
def random_mask_seq(self, tokens):
|
107 |
+
"""
|
108 |
+
Input: original token seq
|
109 |
+
Output: masked token seq, output label
|
110 |
+
"""
|
111 |
+
|
112 |
+
masked_pos = []
|
113 |
+
output_labels = []
|
114 |
+
output_tokens = copy.deepcopy(tokens)
|
115 |
+
opt_step = False
|
116 |
+
for i, token in enumerate(tokens):
|
117 |
+
if token in ['OptionalTask_1', 'EquationAnswer', 'NumeratorFactor', 'DenominatorFactor', 'OptionalTask_2', 'FirstRow1:1', 'FirstRow1:2', 'FirstRow2:1', 'FirstRow2:2', 'SecondRow', 'ThirdRow']:
|
118 |
+
opt_step = True
|
119 |
+
# if opt_step:
|
120 |
+
# prob = random.random()
|
121 |
+
# if prob < self.max_mask:
|
122 |
+
# output_tokens[i] = random.choice([3,7,8,9,11,12,13,14,15,16,22,23,24,25,26,27,30,31,32])
|
123 |
+
# masked_pos.append(1)
|
124 |
+
# else:
|
125 |
+
# output_tokens[i] = self.vocab.vocab.get(token, self.vocab.vocab['[UNK]'])
|
126 |
+
# masked_pos.append(0)
|
127 |
+
# output_labels.append(self.vocab.vocab.get(token, self.vocab.vocab['[UNK]']))
|
128 |
+
# opt_step = False
|
129 |
+
# else:
|
130 |
+
prob = random.random()
|
131 |
+
if prob < self.max_mask:
|
132 |
+
# chooses 15% of token positions at random
|
133 |
+
# prob /= 0.15
|
134 |
+
prob = random.random()
|
135 |
+
if prob < 0.8: #[MASK] token 80% of the time
|
136 |
+
output_tokens[i] = self.vocab.vocab['[MASK]']
|
137 |
+
masked_pos.append(1)
|
138 |
+
elif prob < 0.9: # a random token 10% of the time
|
139 |
+
# print(".......0.8-0.9......")
|
140 |
+
if opt_step:
|
141 |
+
output_tokens[i] = random.choice([7,8,9,11,12,13,14,15,16,22,23,24,25,26,27,30,31,32])
|
142 |
+
opt_step = False
|
143 |
+
else:
|
144 |
+
output_tokens[i] = random.randint(1, len(self.vocab.vocab)-1)
|
145 |
+
masked_pos.append(1)
|
146 |
+
else: # the unchanged i-th token 10% of the time
|
147 |
+
# print(".......unchanged......")
|
148 |
+
output_tokens[i] = self.vocab.vocab.get(token, self.vocab.vocab['[UNK]'])
|
149 |
+
masked_pos.append(0)
|
150 |
+
# True Label
|
151 |
+
output_labels.append(self.vocab.vocab.get(token, self.vocab.vocab['[UNK]']))
|
152 |
+
# masked_pos_label[i] = self.vocab.vocab.get(token, self.vocab.vocab['[UNK]'])
|
153 |
+
else:
|
154 |
+
# i-th token with original value
|
155 |
+
output_tokens[i] = self.vocab.vocab.get(token, self.vocab.vocab['[UNK]'])
|
156 |
+
# Padded label
|
157 |
+
output_labels.append(self.vocab.vocab['[PAD]'])
|
158 |
+
masked_pos.append(0)
|
159 |
+
# label_position = []
|
160 |
+
# label_tokens = []
|
161 |
+
# for k, v in masked_pos_label.items():
|
162 |
+
# label_position.append(k)
|
163 |
+
# label_tokens.append(v)
|
164 |
+
return output_tokens, output_labels, masked_pos
|
165 |
+
|
166 |
+
# def get_token_b(self, item):
|
167 |
+
# document_id = [k for k,v in self.index_documents.items() if item in v][0]
|
168 |
+
# random_document_id = document_id
|
169 |
+
|
170 |
+
# if random.random() < 0.5:
|
171 |
+
# document_ids = [k for k in self.index_documents.keys() if k != document_id]
|
172 |
+
# random_document_id = random.choice(document_ids)
|
173 |
+
|
174 |
+
# same_student = (random_document_id == document_id)
|
175 |
+
|
176 |
+
# nex_seq_list = self.index_documents.get(random_document_id)
|
177 |
+
|
178 |
+
# if same_student:
|
179 |
+
# if len(nex_seq_list) != 1:
|
180 |
+
# nex_seq_list = [v for v in nex_seq_list if v !=item]
|
181 |
+
|
182 |
+
# next_seq = random.choice(nex_seq_list)
|
183 |
+
# tokens = self.lines[next_seq]
|
184 |
+
# # print(f"item = {item}, tokens: {tokens}")
|
185 |
+
# # print(f"item={item}, next={next_seq}, same_student = {same_student}, {document_id} == {random_document_id}, b. {tokens}")
|
186 |
+
# return same_student, tokens
|
187 |
+
|
188 |
+
# def truncate_to_max_seq(self, s1, s2):
|
189 |
+
# sa = copy.deepcopy(s1)
|
190 |
+
# sb = copy.deepcopy(s1)
|
191 |
+
# total_allowed_seq = self.seq_len - 3
|
192 |
+
|
193 |
+
# while((len(sa)+len(sb)) > total_allowed_seq):
|
194 |
+
# if random.random() < 0.5:
|
195 |
+
# sa.pop()
|
196 |
+
# else:
|
197 |
+
# sb.pop()
|
198 |
+
# return sa, sb
|
199 |
+
|
200 |
+
|
201 |
class TokenizerDataset(Dataset):
|
202 |
"""
|
203 |
Class name: TokenizerDataset
|
204 |
Tokenize the data in the dataset
|
205 |
+
|
206 |
"""
|
207 |
def __init__(self, dataset_path, label_path, vocab, seq_len=30):
|
208 |
self.dataset_path = dataset_path
|
209 |
self.label_path = label_path
|
210 |
self.vocab = vocab # Vocab object
|
211 |
+
# self.encoder = OneHotEncoder(sparse=False)
|
212 |
|
213 |
# Related to input dataset file
|
214 |
self.lines = []
|
|
|
242 |
feat2 = [float(i) for i in line.split(",")[-2].split("\t")]
|
243 |
feat_vec.extend(feat2[1:])
|
244 |
|
245 |
+
# # highGRschool_w_prior_w_p_diffskill_wo_fa
|
246 |
+
# feat_vec = [float(i) for i in line.split(",")[-3].split("\t")]
|
247 |
+
# feat2 = [-float(i) for i in line.split(",")[-2].split("\t")]
|
248 |
+
# feat_vec.extend(feat2[1:])
|
249 |
+
|
250 |
+
# # highGRschool_w_prior_w_diffskill_0fa_skill
|
251 |
+
# feat_vec = [float(i) for i in line.split(",")[-3].split("\t")]
|
252 |
+
# feat2 = [float(i) for i in line.split(",")[-2].split("\t")]
|
253 |
+
# fa_feat_vec = [float(i) for i in line.split(",")[-1].split("\t")]
|
254 |
+
|
255 |
+
# diff_skill = [f2 if f1==0 else 0 for f2, f1 in zip(feat2, fa_feat_vec)]
|
256 |
+
# feat_vec.extend(diff_skill)
|
257 |
+
|
258 |
if j == 0:
|
259 |
print(len(feat_vec))
|
260 |
j+=1
|
261 |
+
|
262 |
+
# feat_vec.extend(feat2[1:])
|
263 |
+
# feat_vec.extend(feat2)
|
264 |
+
# feat_vec = [float(i) for i in line.split(",")[-2].split("\t")]
|
265 |
+
# feat_vec = feat_vec[1:]
|
266 |
+
# feat_vec = [float(line.split(",")[-1])]
|
267 |
+
# feat_vec = [float(i) for i in line.split(",")[-1].split("\t")]
|
268 |
+
# feat_vec = [ft-f1 for ft, f1 in zip(feat_vec, fa_feat_vec)]
|
269 |
+
|
270 |
self.feats.append(feat_vec)
|
271 |
dataset_info_file.close()
|
272 |
except Exception as e:
|
273 |
print(e)
|
274 |
+
# labeler = np.array([0, 1]) #np.unique(self.labels)
|
275 |
+
# print(f"Labeler {labeler}")
|
276 |
+
# self.encoder.fit(labeler.reshape(-1,1))
|
277 |
+
# self.labels = self.encoder.transform(np.array(self.labels).reshape(-1,1))
|
278 |
|
279 |
self.file = open(self.dataset_path, "r")
|
280 |
for line in self.file:
|
|
|
317 |
'segment_label': segment_label}
|
318 |
return {key: torch.tensor(value) for key, value in output.items()}
|
319 |
|
320 |
+
|
321 |
+
class TokenizerDatasetForCalibration(Dataset):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
322 |
"""
|
323 |
+
Class name: TokenizerDataset
|
324 |
+
Tokenize the data in the dataset
|
325 |
+
|
326 |
"""
|
327 |
def __init__(self, dataset_path, label_path, vocab, seq_len=30):
|
|
|
|
|
|
|
328 |
self.dataset_path = dataset_path
|
329 |
self.label_path = label_path
|
330 |
self.vocab = vocab # Vocab object
|
331 |
+
# self.encoder = OneHotEncoder(sparse=False)
|
332 |
+
|
333 |
# Related to input dataset file
|
334 |
self.lines = []
|
335 |
self.labels = []
|
336 |
self.feats = []
|
|
|
|
|
|
|
|
|
|
|
|
|
337 |
if self.label_path:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
338 |
self.label_file = open(self.label_path, "r")
|
339 |
+
for line in self.label_file:
|
340 |
if line:
|
341 |
line = line.strip()
|
342 |
if not line:
|
343 |
continue
|
344 |
+
self.labels.append(int(line))
|
|
|
|
|
345 |
self.label_file.close()
|
346 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
347 |
# Comment this section if you are not using feat attribute
|
348 |
+
try:
|
349 |
+
j = 0
|
350 |
+
dataset_info_file = open(self.label_path.replace("label", "info"), "r")
|
351 |
+
for line in dataset_info_file:
|
|
|
352 |
if line:
|
353 |
line = line.strip()
|
354 |
if not line:
|
355 |
continue
|
356 |
+
|
357 |
+
# # highGRschool_w_prior
|
358 |
+
# feat_vec = [float(i) for i in line.split(",")[-3].split("\t")]
|
359 |
+
|
360 |
+
# highGRschool_w_prior_w_diffskill_wo_fa
|
361 |
+
feat_vec = [float(i) for i in line.split(",")[-3].split("\t")]
|
362 |
+
feat2 = [float(i) for i in line.split(",")[-2].split("\t")]
|
363 |
feat_vec.extend(feat2[1:])
|
364 |
+
|
365 |
+
# # highGRschool_w_prior_w_diffskill_0fa_skill
|
366 |
+
# feat_vec = [float(i) for i in line.split(",")[-3].split("\t")]
|
367 |
+
# feat2 = [float(i) for i in line.split(",")[-2].split("\t")]
|
368 |
+
# fa_feat_vec = [float(i) for i in line.split(",")[-1].split("\t")]
|
369 |
+
|
370 |
+
# diff_skill = [f2 if f1==0 else 0 for f2, f1 in zip(feat2, fa_feat_vec)]
|
371 |
+
# feat_vec.extend(diff_skill)
|
372 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
373 |
if j == 0:
|
374 |
+
print(len(feat_vec))
|
375 |
j+=1
|
376 |
+
|
377 |
+
# feat_vec.extend(feat2[1:])
|
378 |
+
# feat_vec.extend(feat2)
|
379 |
+
# feat_vec = [float(i) for i in line.split(",")[-2].split("\t")]
|
380 |
+
# feat_vec = feat_vec[1:]
|
381 |
+
# feat_vec = [float(line.split(",")[-1])]
|
382 |
+
# feat_vec = [float(i) for i in line.split(",")[-1].split("\t")]
|
383 |
+
# feat_vec = [ft-f1 for ft, f1 in zip(feat_vec, fa_feat_vec)]
|
384 |
|
385 |
+
self.feats.append(feat_vec)
|
386 |
+
dataset_info_file.close()
|
387 |
+
except Exception as e:
|
388 |
+
print(e)
|
389 |
+
# labeler = np.array([0, 1]) #np.unique(self.labels)
|
390 |
+
# print(f"Labeler {labeler}")
|
391 |
+
# self.encoder.fit(labeler.reshape(-1,1))
|
392 |
+
# self.labels = self.encoder.transform(np.array(self.labels).reshape(-1,1))
|
|
|
|
|
393 |
|
394 |
self.file = open(self.dataset_path, "r")
|
395 |
+
for line in self.file:
|
396 |
if line:
|
397 |
line = line.strip()
|
398 |
if line:
|
399 |
+
self.lines.append(line)
|
400 |
+
self.file.close()
|
401 |
+
|
|
|
402 |
self.len = len(self.lines)
|
403 |
+
self.seq_len = seq_len
|
404 |
print("Sequence length set at ", self.seq_len, len(self.lines), len(self.labels) if self.label_path else 0)
|
405 |
+
|
406 |
def __len__(self):
|
407 |
return self.len
|
408 |
+
|
409 |
def __getitem__(self, item):
|
410 |
org_line = self.lines[item].split("\t")
|
411 |
dup_line = []
|
|
|
413 |
for l in org_line:
|
414 |
if l in ["OptionalTask_1", "EquationAnswer", "NumeratorFactor", "DenominatorFactor", "OptionalTask_2", "FirstRow1:1", "FirstRow1:2", "FirstRow2:1", "FirstRow2:2", "SecondRow", "ThirdRow"]:
|
415 |
opt = True
|
416 |
+
if opt and 'FinalAnswer-' in l:
|
417 |
dup_line.append('[UNK]')
|
418 |
else:
|
419 |
dup_line.append(l)
|
|
|
425 |
s1_feat = self.feats[item] if len(self.feats)>0 else 0
|
426 |
padding = [self.vocab.vocab['[PAD]'] for _ in range(self.seq_len - len(s1))]
|
427 |
s1.extend(padding), segment_label.extend(padding)
|
428 |
+
|
|
|
429 |
output = {'input': s1,
|
430 |
'label': s1_label,
|
431 |
'feat': s1_feat,
|
432 |
'segment_label': segment_label}
|
433 |
+
return ({key: torch.tensor(value) for key, value in output.items()}, s1_label)
|
434 |
+
|
435 |
+
|
436 |
+
|
437 |
+
# if __name__ == "__main__":
|
438 |
+
# # import pickle
|
439 |
+
# # k = pickle.load(open("dataset/CL4999_1920/unique_steps_list.pkl","rb"))
|
440 |
+
# # print(k)
|
441 |
+
# vocab_obj = Vocab("pretraining/vocab.txt")
|
442 |
+
# vocab_obj.load_vocab()
|
443 |
+
# datasetTrain = PretrainerDataset("pretraining/pretrain.txt", vocab_obj)
|
444 |
+
|
445 |
+
# print(datasetTrain, len(datasetTrain))#, datasetTrain.documents_index)
|
446 |
+
# print(datasetTrain[len(datasetTrain)-1])
|
447 |
+
# for i, d in enumerate(datasetTrain):
|
448 |
+
# print(d.items())
|
449 |
+
# break
|
450 |
+
|
451 |
+
# fine_tune = TokenizerDataset("finetuning/finetune.txt", "finetuning/finetune_label.txt", vocab_obj)
|
452 |
+
# print(fine_tune)
|
453 |
+
# print(fine_tune[len(fine_tune)-1])
|
454 |
+
# print(fine_tune[random.randint(0, len(fine_tune))])
|
455 |
+
# for i, d in enumerate(fine_tune):
|
456 |
+
# print(d.items())
|
457 |
+
# break
|
458 |
+
|
459 |
+
|