diff --git a/.ipynb_checkpoints/README-checkpoint.md b/.ipynb_checkpoints/README-checkpoint.md new file mode 100644 index 0000000..3def13d --- /dev/null +++ b/.ipynb_checkpoints/README-checkpoint.md @@ -0,0 +1,116 @@ +# Tiny Language Models Framework + +This repository contains the implementation and resources for the Tiny Language Models Framework project. In this project, we developed small-scale language models to facilitate detailed research into various aspects of large language models (LLMs), particularly in the domain of code. + +## Project Structure + +- `data/` + - `meta.pkl` : Metadata for the dataset. + - `prepare.py` : Script to prepare data for training. + - `sample_data.txt` : Sample data used for testing and demonstration. + - `test.bin` : Binary file containing test data. + - `test.txt` : Text file containing test data. + - `tinypy_generator.py` : Script to generate TinyPy data. + - `train.bin` : Binary file containing training data. + - `train.txt` : Text file containing training data. + - `val.bin` : Binary file containing validation data. + - `val.txt` : Text file containing validation data. + +- `generalization/` + - `data/` : Contains tokenized data to fine-tune and evaluate Code LLaMa model. + - `models/` : Stores fine-tuned Code LLaMa models. + - `results/` : Holds results from the evaluation. + - `demonstration.ipynb` : Jupyter notebook demonstrating fine-tuned Code LLaMa capabilities. + - `evaluate.py` : Script to evaluate fine-tuned Code LLaMa. + - `finetune.py` : Script for fine-tuning Code LLaMa model. + - `tokenizing.py` : Handles tokenization for Code LLaMa model. + +- `models/` + - `arithmetics_level1_696K.pth` : Pretrained model for arithmetic operations at level 1 with 696K parameters. + +- `results/` + - Directory to store results of model evaluations and tests. + +- `demonstration.ipynb` : Jupyter notebook demonstrating the usage of the models and scripts. + +- `eval.py` : Script to evaluate the trained models. + +- `model.py` : Contains the model architecture and related functions. + +- `README.md` : This file. + +- `train.py` : Script to train the models. + +## Requirements + +To install the required packages, you can use the following: + +```bash +pip install -r requirements.txt +``` + +## Usage + +### Data Generation +Generate the data using TinyPy Generator by running : + +```bash +cd data/ +python tinypy_generator.py --num_programs 1000 --level 1.1 --filename sample_data.txt --deduplicate +``` + +### Data Preparation +Prepare the data by running: + +```bash +python prepare.py +``` + +This generation command is just an example to get you started. If you want to train your own model, you'll likely need to generate significantly more data. + +### Training +Train the model using the following command: + +bash +```bash +cd .. +python train.py --batch_size 64 --max_iters 35000 --learning_rate 0.01 --miles 0.7 0.8 0.9 --eval_interval 10000 --eval_iters 500 --data_dir data +``` + +### Evaluation +Evaluate the trained model by running: + +```bash +python eval.py --dataset_dir data --model_name arithmetics_level1_696K +``` + +### Demonstration +To see a demonstration of the model's capabilities, open the demonstration.ipynb notebook and follow the instructions within. + +### Generalization +This section aims to generalize the results obtained from training tiny language models to large language models. This can be achieved through fine-tuning Code LLaMa. + +#### Fine-tuning +Fine-tune Code LLaMa model using the following command: + +```bash +cd generalization/ +python finetune.py --train_dataset_path data/tokenized_train --val_dataset_path data/tokenized_val --output_dir models/code-llama-finetuned-demo +``` + +#### Evaluation +Evaluate the fine-tuned Code LLaMa model by running: + +```bash +python evaluate.py --checkpoint_dir models/code-llama-finetuned-level1 --test_file data/test.txt --output_file results/result_llama.txt --csv_file results/results_llama.csv +``` + +#### Demonstration +To see a demonstration of the model's capabilities, open the generalization/demonstration.ipynb notebook and follow the instructions within. + + +# License +This project is licensed under the MIT License. + +# Acknowledgements +This work was supported in part through the NYU IT High Performance Computing resources, services, and staff expertise. diff --git a/.ipynb_checkpoints/code_execution-checkpoint.py b/.ipynb_checkpoints/code_execution-checkpoint.py new file mode 100644 index 0000000..3c82637 --- /dev/null +++ b/.ipynb_checkpoints/code_execution-checkpoint.py @@ -0,0 +1,164 @@ +import os +import pickle +import torch +import numpy as np +import pandas as pd +import re +from tqdm import tqdm +import argparse +from model import GPT + +class ScriptEvaluator: + """ + Class to evaluate a GPT model on a dataset and save the results. + """ + + def __init__(self, dataset_dir, model_name): + """ + Initialize ScriptEvaluator with dataset directory and model name. + + Args: + - dataset_dir (str): Directory where the dataset is stored. + - model_name (str): Name of the pre-trained model (without .pth extension). + """ + self.dataset = dataset_dir + self.model_name = model_name + self.device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') + torch.manual_seed(1337) + self.test_data, self.meta = self.load_dataset() + self.m = self.load_model() + + def load_dataset(self): + """ + Load test dataset and metadata. + """ + test_data = np.memmap(os.path.join(self.dataset, 'test.bin'), dtype=np.uint16, mode='r') + meta_path = os.path.join(self.dataset, 'meta.pkl') + meta_vocab_size = None + if os.path.exists(meta_path): + with open(meta_path, 'rb') as f: + meta = pickle.load(f) + meta_vocab_size = meta['vocab_size'] + print(f"Found vocab_size = {meta_vocab_size} (inside {meta_path})") + + return test_data, meta + + def load_model(self): + """ + Load pre-trained model based on the provided model name. + """ + model_path = os.path.join('models', f"{self.model_name}.pth") + if not os.path.exists(model_path): + raise FileNotFoundError(f"Model file '{model_path}' not found.") + + model = GPT() + print("Compiling the model...\n") + try: + model = torch.compile(model) # requires PyTorch 2.0 + except Exception as e: + pass + model.load_state_dict(torch.load(model_path)) + m = model.to(self.device) + return m + + def encode(self, s): + """ + Encode string `s` into token IDs. + """ + return [self.stoi[c] for c in s] + + def decode(self, l): + """ + Decode token IDs `l` into a string. + """ + return ''.join([self.itos[i] for i in l]) + + def evaluate_example(self, example, max_new_tokens=30): + """ + Evaluate an example using the loaded model. + """ + # Split example and determine maximum new tokens allowed + splited_example = example.split("# output") + if not ("for" in splited_example[0]): + max_new_tokens = 22 + + # Encode prompt and prepare for evaluation + encoded_example = torch.tensor(self.encode(splited_example[0] + "# output"), dtype=torch.long).unsqueeze(0).to(self.device) + prompt_text = splited_example[0] + "# output" + result_example = splited_example[-1] + + # Extract real results from example + real_results = [float(match.group()) for match in re.finditer(r"(?<=# )-?\d+(\.\d+)?", result_example.split('\n\n')[0].replace("\n", ""))] + + # Generate response from model and extract generated results + response = self.decode(self.m.generate(encoded_example, max_new_tokens=max_new_tokens)[0].tolist()) + splited_response = response.split("# output") + result_response = splited_response[-1] + generated_results = [float(match.group()) for match in re.finditer(r"(?<=# )-?\d+(\.\d+)?", result_response.split('\n\n')[0].replace("\n", ""))] + + return prompt_text, real_results, generated_results + + def write_results_to_file(self, output_file, prompt, real_results, generated_results): + """ + Write evaluation results to a CSV file. + """ + df = pd.DataFrame({ + 'Prompt': prompt, + 'Real_Results': real_results, + 'Generated_Results': generated_results + }) + df.to_csv(output_file, index=False) + + def main(self): + """ + Main evaluation function. + """ + # Extracting stoi and itos from meta + self.stoi = self.meta['stoi'] + self.itos = self.meta['itos'] + + # Split examples and initialize lists for results + examples = self.decode(self.test_data).split("\n\n") + examples = [example for example in examples if example] + + # Start evaluation process + print(f"Starting evaluation for model '{self.model_name}' on dataset '{self.dataset}'...") + prompt = [] + real_results = [] + generated_results = [] + + # Iterate through examples and evaluate each one + for example in tqdm(examples): + prompt_text, real_result, result = self.evaluate_example(example) + prompt.append(prompt_text) + real_results.append(real_result) + generated_results.append(result) + + # Calculate and print accuracy + correct_count = sum(1 for real, generated in zip(real_results, generated_results) if real == generated) + accuracy = correct_count / len(generated_results) + print(f"Accuracy: {accuracy * 100:.2f}%") + + # Store accuracy in a file + accuracy_file = os.path.join('results', f"{self.model_name}_accuracy.txt") # Saving in 'results' folder + with open(accuracy_file, 'w') as f: + f.write(f"Accuracy: {accuracy * 100:.2f}%\n") + print(f"Accuracy saved to {accuracy_file}") + + # Store results in a CSV file + results_file = os.path.join('results', f"{self.model_name}_results.csv") # Saving in 'results' folder + self.write_results_to_file(results_file, prompt, real_results, generated_results) + print(f"Results saved to {results_file}") + +if __name__ == "__main__": + # Argument parsing + parser = argparse.ArgumentParser(description='Evaluate NanoGPT model on a dataset.') + parser.add_argument('--dataset_dir', type=str, default='data', help='Directory where the dataset is stored') + parser.add_argument('--model_name', type=str, required=True, help='Name of the pre-trained model (without .pth extension)') + + # Parse the command-line arguments + args = parser.parse_args() + + # Create ScriptEvaluator instance and run main function + evaluator = ScriptEvaluator(args.dataset_dir, args.model_name) + evaluator.main() diff --git a/.ipynb_checkpoints/line-level_code_completion-checkpoint.py b/.ipynb_checkpoints/line-level_code_completion-checkpoint.py new file mode 100644 index 0000000..530c982 --- /dev/null +++ b/.ipynb_checkpoints/line-level_code_completion-checkpoint.py @@ -0,0 +1,99 @@ +import os +import pickle +import argparse +import torch +import torch.nn as nn +import torch.nn.functional as F +import numpy as np +import pandas as pd +from tqdm import tqdm +import re +from model import GPT + +# Argument parsing +parser = argparse.ArgumentParser(description='Evaluate NanoGPT model on token-level code completion.') +parser.add_argument('--dataset_dir', type=str, default='data', help='Directory where the dataset is stored') +parser.add_argument('--model_name', type=str, required=True, help='Name of the pre-trained model (without .pth extension)') + +# Parse the command-line arguments +args = parser.parse_args() + +device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') +torch.manual_seed(1337) + + +# Constants for dataset and file paths +MODEL_FILE = f"models/{args.model_name}.pth" +ACCURACY_FILE = f"results/{args.model_name}_acc_line-level_code_completion.txt" +RESULTS_FILE = f"results/{args.model_name}_line-level_code_completion.csv" + + +data_dir = args.dataset_dir +test_data = np.memmap(os.path.join(data_dir, 'test.bin'), dtype=np.uint16, mode='r') + + +# attempt to derive vocab_size from the dataset +meta_path = os.path.join(data_dir, 'meta.pkl') +meta_vocab_size = None +if os.path.exists(meta_path): + with open(meta_path, 'rb') as f: + meta = pickle.load(f) + meta_vocab_size = meta['vocab_size'] + print(f"found vocab_size = {meta_vocab_size} (inside {meta_path})") + +stoi = meta['stoi'] +itos = meta['itos'] +encode = lambda s: [stoi[c] for c in s] +decode = lambda l: ''.join([itos[i] for i in l]) + +model = GPT() +print("Compiling model...") +model = torch.compile(model) # pytorch 2.0 +model.load_state_dict(torch.load(MODEL_FILE)) +m = model.to(device) + +examples = decode(test_data).split("\n\n") +examples = [example for example in examples if example] + +correct_predictions = 0 +total_predictions = 0 + +results = [] + +for code_snippet in tqdm(examples): + + lines = code_snippet.split('\n') + for i in range(1, len(lines)): + + context_lines = lines[:i] + actual_next_line = lines[i] + + context_tokens = torch.tensor(encode('\n'.join(context_lines) + '\n'), dtype=torch.long).unsqueeze(0).to(device) + actual_next_line_tokens = torch.tensor(encode(actual_next_line), dtype=torch.long).unsqueeze(0).to(device) + + n = actual_next_line_tokens.shape[1] # Limit to length of actual next line + predicted_next_line_tokens = m.generate(context_tokens, max_new_tokens=n) + predicted_next_line_tokens = predicted_next_line_tokens[:, -n:] + is_correct = torch.equal(predicted_next_line_tokens, actual_next_line_tokens) + + if is_correct: + correct_predictions += 1 + results.append({ + 'context': context_tokens.cpu(), + 'actual_next_line': actual_next_line_tokens.cpu(), + 'predicted_next_line': predicted_next_line_tokens.cpu(), + 'is_correct': is_correct + }) + + total_predictions += 1 + +df = pd.DataFrame(results) +df.to_csv(RESULTS_FILE, index=False) + +accuracy = (correct_predictions / total_predictions) * 100 + +# Store accuracy in a file +with open(ACCURACY_FILE, 'w') as f: + f.write(f"Accuracy: {accuracy:.2f}%\n") + +print(accuracy) \ No newline at end of file diff --git a/.ipynb_checkpoints/token-level_code_completion-checkpoint.py b/.ipynb_checkpoints/token-level_code_completion-checkpoint.py new file mode 100644 index 0000000..4bb6211 --- /dev/null +++ b/.ipynb_checkpoints/token-level_code_completion-checkpoint.py @@ -0,0 +1,96 @@ +import os +import pickle +import argparse +import torch +import torch.nn as nn +import torch.nn.functional as F +import numpy as np +import pandas as pd +from tqdm import tqdm +import re +from model import GPT + + +# Argument parsing +parser = argparse.ArgumentParser(description='Evaluate NanoGPT model on token-level code completion.') +parser.add_argument('--dataset_dir', type=str, default='data', help='Directory where the dataset is stored') +parser.add_argument('--model_name', type=str, required=True, help='Name of the pre-trained model (without .pth extension)') + +# Parse the command-line arguments +args = parser.parse_args() + +device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') +torch.manual_seed(1337) + + +# Constants for dataset and file paths +MODEL_FILE = f"models/{args.model_name}.pth" +ACCURACY_FILE = f"results/{args.model_name}_acc_token-level_code_completion.txt" +RESULTS_FILE = f"results/{args.model_name}_token-level_code_completion.csv" + + +data_dir = args.dataset_dir +test_data = np.memmap(os.path.join(data_dir, 'test.bin'), dtype=np.uint16, mode='r') + +# attempt to derive vocab_size from the dataset +meta_path = os.path.join(data_dir, 'meta.pkl') +meta_vocab_size = None +if os.path.exists(meta_path): + with open(meta_path, 'rb') as f: + meta = pickle.load(f) + meta_vocab_size = meta['vocab_size'] + print(f"found vocab_size = {meta_vocab_size} (inside {meta_path})") + +stoi = meta['stoi'] +itos = meta['itos'] +encode = lambda s: [stoi[c] for c in s] +decode = lambda l: ''.join([itos[i] for i in l]) + +model = GPT() +print("Compiling model...") +model = torch.compile(model) # pytorch 2.0 +model.load_state_dict(torch.load(MODEL_FILE)) +m = model.to(device) + +examples = decode(test_data).split("\n\n") +examples = [example for example in examples if example] + +correct_predictions = 0 +total_predictions = 0 + +results = [] + +for code_snippet in tqdm(examples): + + tokens = torch.tensor(encode(code_snippet), dtype=torch.long).unsqueeze(0).to(device) + + for i in range(1, tokens.shape[1]): + + context = tokens[:, :i] + actual_next_token = tokens[:, i].item() + predicted_next_token = m.generate(context, max_new_tokens=1) + predicted_next_token = predicted_next_token[:, -1].item() + is_correct = (predicted_next_token == actual_next_token) + + if is_correct: + correct_predictions += 1 + results.append({ + 'context': context.cpu(), + 'actual_next_token': actual_next_token, + 'predicted_next_token': predicted_next_token, + 'is_correct': is_correct + }) + + total_predictions += 1 + +df = pd.DataFrame(results) +df.to_csv(RESULTS_FILE, index=False) + + +accuracy = (correct_predictions / total_predictions) * 100 + +# Store accuracy in a file +with open(ACCURACY_FILE, 'w') as f: + f.write(f"Accuracy: {accuracy:.2f}%\n") + +print(accuracy) \ No newline at end of file diff --git a/README.md b/README.md index 73ceaa2..7e682eb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,12 @@ # Tiny Language Models Framework -This repository contains the implementation and resources for the Tiny Language Models Framework project. In this project, we developed small-scale language models to facilitate detailed research into various aspects of large language models (LLMs), particularly in the domain of code. +This repository contains the implementation and resources for the Tiny Language Models Framework project. In this project, we developed small-scale language models to facilitate detailed research into various aspects of large language models (LLMs), particularly in the domain of code. + +

+ +

+ +We've also prepared a [TinyLM Starter Notebook on Kaggle](https://www.kaggle.com/code/nairmarwa/tinylm-starter-notebook). This notebook is designed to help you get started quickly with our project. It guides you through training a tiny language model from scratch using our dataset and evaluating its performance on code execution tasks. ## Project Structure @@ -33,7 +39,11 @@ This repository contains the implementation and resources for the Tiny Language - `demonstration.ipynb` : Jupyter notebook demonstrating the usage of the models and scripts. -- `eval.py` : Script to evaluate the trained models. +- `code_execution.py` : Script to evaluate the trained models on the code execution task. + +- `token-level_code_completion.py` : Script to evaluate the trained models on the token-level code completion task. + +- `line-level_code_completion.py` : Script to evaluate the trained models on the line-level code completion task. - `model.py` : Contains the model architecture and related functions. @@ -42,6 +52,7 @@ This repository contains the implementation and resources for the Tiny Language - `train.py` : Script to train the models. ## Requirements +We've used Python 3.11.7. To install the required packages, you can use the following: @@ -59,15 +70,15 @@ cd data/ python tinypy_generator.py --num_programs 1000 --level 1.1 --filename sample_data.txt --deduplicate ``` +This generation command is just an example to get you started. If you want to train your own model, you'll likely need to generate significantly more data. + ### Data Preparation -Prepare the data by running: +Prepare (tokenize and split) the data by running: ```bash python prepare.py ``` -This generation command is just an example to get you started. If you want to train your own model, you'll likely need to generate significantly more data. - ### Training Train the model using the following command: @@ -78,10 +89,22 @@ python train.py --batch_size 64 --max_iters 35000 --learning_rate 0.01 --miles 0 ``` ### Evaluation -Evaluate the trained model by running: +Evaluate the trained model on code execution by running: ```bash -python eval.py --dataset_dir data --model_name arithmetics_level1_696K +python code_execution.py --dataset_dir data --model_name arithmetics_level1_696K +``` + +Evaluate the trained model on token-level code completion by running: + +```bash +python token-level_code_completion.py --dataset_dir data --model_name arithmetics_level1_696K +``` + +Evaluate the trained model on line-level code completion by running: + +```bash +python line-level_code_completion.py --dataset_dir data --model_name arithmetics_level1_696K ``` ### Demonstration @@ -108,9 +131,14 @@ python evaluate.py --checkpoint_dir models/code-llama-finetuned-level1 --test_fi #### Demonstration To see a demonstration of the model's capabilities, open the generalization/demonstration.ipynb notebook and follow the instructions within. +# Contact + +- **Kamel Yamani**: [mky2023@nyu.edu](mailto:mky2023@nyu.edu) +- **Marwa Naïr**: [mn3620@nyu.edu](mailto:mn3620@nyu.edu) + # License This project is licensed under the MIT License. # Acknowledgements -Special thanks to all contributors and the community for their support and contribution +This work was supported in part through the NYU IT High Performance Computing resources, services, and staff expertise. diff --git a/__pycache__/model.cpython-311.pyc b/__pycache__/model.cpython-311.pyc new file mode 100644 index 0000000..3491bc4 Binary files /dev/null and b/__pycache__/model.cpython-311.pyc differ diff --git a/code_execution.py b/code_execution.py new file mode 100644 index 0000000..3c82637 --- /dev/null +++ b/code_execution.py @@ -0,0 +1,164 @@ +import os +import pickle +import torch +import numpy as np +import pandas as pd +import re +from tqdm import tqdm +import argparse +from model import GPT + +class ScriptEvaluator: + """ + Class to evaluate a GPT model on a dataset and save the results. + """ + + def __init__(self, dataset_dir, model_name): + """ + Initialize ScriptEvaluator with dataset directory and model name. + + Args: + - dataset_dir (str): Directory where the dataset is stored. + - model_name (str): Name of the pre-trained model (without .pth extension). + """ + self.dataset = dataset_dir + self.model_name = model_name + self.device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') + torch.manual_seed(1337) + self.test_data, self.meta = self.load_dataset() + self.m = self.load_model() + + def load_dataset(self): + """ + Load test dataset and metadata. + """ + test_data = np.memmap(os.path.join(self.dataset, 'test.bin'), dtype=np.uint16, mode='r') + meta_path = os.path.join(self.dataset, 'meta.pkl') + meta_vocab_size = None + if os.path.exists(meta_path): + with open(meta_path, 'rb') as f: + meta = pickle.load(f) + meta_vocab_size = meta['vocab_size'] + print(f"Found vocab_size = {meta_vocab_size} (inside {meta_path})") + + return test_data, meta + + def load_model(self): + """ + Load pre-trained model based on the provided model name. + """ + model_path = os.path.join('models', f"{self.model_name}.pth") + if not os.path.exists(model_path): + raise FileNotFoundError(f"Model file '{model_path}' not found.") + + model = GPT() + print("Compiling the model...\n") + try: + model = torch.compile(model) # requires PyTorch 2.0 + except Exception as e: + pass + model.load_state_dict(torch.load(model_path)) + m = model.to(self.device) + return m + + def encode(self, s): + """ + Encode string `s` into token IDs. + """ + return [self.stoi[c] for c in s] + + def decode(self, l): + """ + Decode token IDs `l` into a string. + """ + return ''.join([self.itos[i] for i in l]) + + def evaluate_example(self, example, max_new_tokens=30): + """ + Evaluate an example using the loaded model. + """ + # Split example and determine maximum new tokens allowed + splited_example = example.split("# output") + if not ("for" in splited_example[0]): + max_new_tokens = 22 + + # Encode prompt and prepare for evaluation + encoded_example = torch.tensor(self.encode(splited_example[0] + "# output"), dtype=torch.long).unsqueeze(0).to(self.device) + prompt_text = splited_example[0] + "# output" + result_example = splited_example[-1] + + # Extract real results from example + real_results = [float(match.group()) for match in re.finditer(r"(?<=# )-?\d+(\.\d+)?", result_example.split('\n\n')[0].replace("\n", ""))] + + # Generate response from model and extract generated results + response = self.decode(self.m.generate(encoded_example, max_new_tokens=max_new_tokens)[0].tolist()) + splited_response = response.split("# output") + result_response = splited_response[-1] + generated_results = [float(match.group()) for match in re.finditer(r"(?<=# )-?\d+(\.\d+)?", result_response.split('\n\n')[0].replace("\n", ""))] + + return prompt_text, real_results, generated_results + + def write_results_to_file(self, output_file, prompt, real_results, generated_results): + """ + Write evaluation results to a CSV file. + """ + df = pd.DataFrame({ + 'Prompt': prompt, + 'Real_Results': real_results, + 'Generated_Results': generated_results + }) + df.to_csv(output_file, index=False) + + def main(self): + """ + Main evaluation function. + """ + # Extracting stoi and itos from meta + self.stoi = self.meta['stoi'] + self.itos = self.meta['itos'] + + # Split examples and initialize lists for results + examples = self.decode(self.test_data).split("\n\n") + examples = [example for example in examples if example] + + # Start evaluation process + print(f"Starting evaluation for model '{self.model_name}' on dataset '{self.dataset}'...") + prompt = [] + real_results = [] + generated_results = [] + + # Iterate through examples and evaluate each one + for example in tqdm(examples): + prompt_text, real_result, result = self.evaluate_example(example) + prompt.append(prompt_text) + real_results.append(real_result) + generated_results.append(result) + + # Calculate and print accuracy + correct_count = sum(1 for real, generated in zip(real_results, generated_results) if real == generated) + accuracy = correct_count / len(generated_results) + print(f"Accuracy: {accuracy * 100:.2f}%") + + # Store accuracy in a file + accuracy_file = os.path.join('results', f"{self.model_name}_accuracy.txt") # Saving in 'results' folder + with open(accuracy_file, 'w') as f: + f.write(f"Accuracy: {accuracy * 100:.2f}%\n") + print(f"Accuracy saved to {accuracy_file}") + + # Store results in a CSV file + results_file = os.path.join('results', f"{self.model_name}_results.csv") # Saving in 'results' folder + self.write_results_to_file(results_file, prompt, real_results, generated_results) + print(f"Results saved to {results_file}") + +if __name__ == "__main__": + # Argument parsing + parser = argparse.ArgumentParser(description='Evaluate NanoGPT model on a dataset.') + parser.add_argument('--dataset_dir', type=str, default='data', help='Directory where the dataset is stored') + parser.add_argument('--model_name', type=str, required=True, help='Name of the pre-trained model (without .pth extension)') + + # Parse the command-line arguments + args = parser.parse_args() + + # Create ScriptEvaluator instance and run main function + evaluator = ScriptEvaluator(args.dataset_dir, args.model_name) + evaluator.main() diff --git a/data/.ipynb_checkpoints/prepare-checkpoint.py b/data/.ipynb_checkpoints/prepare-checkpoint.py new file mode 100644 index 0000000..cb2189e --- /dev/null +++ b/data/.ipynb_checkpoints/prepare-checkpoint.py @@ -0,0 +1,83 @@ +import os +import pickle +import requests +import numpy as np + +input_file_path = os.path.join(os.path.dirname(__file__), 'sample_data.txt' ) + +with open(input_file_path, 'r') as f: + data = f.read() +print(f"length of dataset in characters: {len(data):,}\n") + + +# get all the unique characters that occur in this text +chars = sorted(list(set(data))) +vocab_size = len(chars) +print("all the unique characters:", ''.join(chars)) +print(f"vocab size: {vocab_size:,}") + +# create a mapping from characters to integers +stoi = { ch:i for i,ch in enumerate(chars) } +itos = { i:ch for i,ch in enumerate(chars) } +def encode(s): + return [stoi[c] for c in s] # encoder: take a string, output a list of integers +def decode(l): + ''.join([itos[i] for i in l]) # decoder: take a list of integers, output a string + + +# save the meta information as well, to help us encode/decode later +meta = { + 'vocab_size': vocab_size, + 'itos': itos, + 'stoi': stoi, +} +with open(f'meta.pkl', 'wb') as f: + pickle.dump(meta, f) + + +# split by examples using "\n\n" +examples = data.split("\n\n")[:-1] +n = len(examples) +print(f"total number of examples: {n:,}\n") +# shuffle the examples +np.random.shuffle(examples) + +# split into train, val, and test sets +train_examples = examples[:int(n*0.8)] +val_examples = examples[int(n*0.8):int(n*0.9)] +test_examples = examples[int(n*0.9):] + +# join the examples back into strings +train_data = "\n\n".join(train_examples) +val_data = "\n\n".join(val_examples) +test_data = "\n\n".join(test_examples) + + + +# Save train, val, and test sets to separate files +with open(os.path.join(os.path.dirname(__file__), 'train.txt'), 'w') as f: + f.write(train_data) +with open(os.path.join(os.path.dirname(__file__), 'val.txt'), 'w') as f: + f.write(val_data) +with open(os.path.join(os.path.dirname(__file__), 'test.txt'), 'w') as f: + f.write(test_data) + + + + +# encode both to integers +train_ids = encode(train_data) +val_ids = encode(val_data) +test_ids = encode(test_data) +print(f"train has {len(train_ids):,} tokens for {len(train_examples):,} examples") +print(f"val has {len(val_ids):,} tokens for {len(val_examples):,} examples") +print(f"test has {len(test_ids):,} tokens for {len(test_examples):,} examples\n") + +# export to bin files +train_ids = np.array(train_ids, dtype=np.uint16) +val_ids = np.array(val_ids, dtype=np.uint16) +test_ids = np.array(test_ids, dtype=np.uint16) +train_ids.tofile(os.path.join(os.path.dirname(__file__), 'train.bin')) +val_ids.tofile(os.path.join(os.path.dirname(__file__), 'val.bin')) +test_ids.tofile(os.path.join(os.path.dirname(__file__), 'test.bin')) + diff --git a/data/.ipynb_checkpoints/sample_data-checkpoint.txt b/data/.ipynb_checkpoints/sample_data-checkpoint.txt new file mode 100644 index 0000000..dd6e285 --- /dev/null +++ b/data/.ipynb_checkpoints/sample_data-checkpoint.txt @@ -0,0 +1,6098 @@ +d = 0 +b = d * d +print(b) +# output +# 0 + +c = 5 +d = 5 +d = c - 4 +print(d) +# output +# 1 + +d = 5 +a = 0 +print(a + d) +# output +# 5 + +b = 2 +print(b) +# output +# 2 + +a = 8 +e = a + 1 +print(a / a) +# output +# 1.0 + +e = 8 +print(e) +# output +# 8 + +d = 0 +e = 7 +c = d / 1 +print(e / e) +# output +# 1.0 + +d = 6 +c = 4 + 1 +print(d + 2) +# output +# 8 + +d = 9 +d = 7 +print(d) +# output +# 7 + +c = 2 +e = 8 +print(e) +# output +# 8 + +e = 5 +c = 8 +print(c) +# output +# 8 + +c = 2 +c = 7 + c +print(c * c) +# output +# 81 + +a = 2 +print(a / a) +# output +# 1.0 + +c = 5 +e = 1 +print(c) +# output +# 5 + +d = 6 +d = 0 +b = d * 5 +print(d * d) +# output +# 0 + +e = 1 +c = 8 +print(c * 2) +# output +# 16 + +e = 4 +b = 8 +d = 4 + b +print(d) +# output +# 12 + +d = 9 +print(d) +# output +# 9 + +a = 8 +print(a - a) +# output +# 0 + +d = 5 +a = 0 * d +print(a) +# output +# 0 + +d = 5 +print(d) +# output +# 5 + +a = 8 +print(a) +# output +# 8 + +c = 8 +d = 4 +print(d / 9) +# output +# 0.4444444444444444 + +e = 6 +c = 4 +b = c + c +print(e / e) +# output +# 1.0 + +b = 8 +a = 5 - b +print(a) +# output +# -3 + +a = 4 +e = 4 +print(e) +# output +# 4 + +b = 3 +a = 0 +print(a) +# output +# 0 + +d = 4 +b = 6 / 2 +print(b) +# output +# 3.0 + +d = 9 +b = 6 +print(b - b) +# output +# 0 + +e = 7 +print(e * 9) +# output +# 63 + +e = 4 +e = 8 * 8 +print(e) +# output +# 64 + +a = 5 +a = 7 +a = a + a +print(a) +# output +# 14 + +e = 8 +print(e * e) +# output +# 64 + +e = 9 +e = 9 +print(e + e) +# output +# 18 + +a = 0 +b = a + a +print(a / 9) +# output +# 0.0 + +d = 6 +a = d / d +print(a) +# output +# 1.0 + +e = 2 +b = 0 + e +print(e - 4) +# output +# -2 + +e = 6 +c = 1 / e +print(e + e) +# output +# 12 + +d = 7 +c = 7 +print(c) +# output +# 7 + +b = 7 +print(b) +# output +# 7 + +c = 3 +a = 0 +e = c / 3 +print(a + c) +# output +# 3 + +e = 5 +print(e - 0) +# output +# 5 + +e = 8 +d = 0 - e +print(e / e) +# output +# 1.0 + +a = 5 +b = 5 +e = 9 - 2 +print(a * a) +# output +# 25 + +e = 4 +print(e + e) +# output +# 8 + +e = 2 +b = e / e +print(e + 8) +# output +# 10 + +b = 7 +a = 1 +print(a) +# output +# 1 + +a = 4 +a = 2 +print(a) +# output +# 2 + +b = 2 +a = 7 +print(a) +# output +# 7 + +e = 6 +b = 5 +c = 4 / 9 +print(e * 6) +# output +# 36 + +a = 4 +c = 0 +d = 9 / a +print(d) +# output +# 2.25 + +c = 6 +d = 9 - 5 +print(c / 1) +# output +# 6.0 + +d = 5 +d = 9 - 7 +print(d) +# output +# 2 + +b = 3 +a = 0 +c = 6 - 1 +print(c) +# output +# 5 + +a = 8 +print(a * a) +# output +# 64 + +d = 8 +d = 4 * 5 +print(d) +# output +# 20 + +b = 1 +a = 1 + b +print(a) +# output +# 2 + +c = 8 +print(c / 3) +# output +# 2.6666666666666665 + +c = 0 +b = 1 +c = 4 - 0 +print(b + b) +# output +# 2 + +e = 7 +b = 2 +print(e) +# output +# 7 + +a = 9 +b = a * 0 +print(a / a) +# output +# 1.0 + +d = 8 +a = 5 +print(d) +# output +# 8 + +e = 4 +b = 0 + e +print(e + 1) +# output +# 5 + +e = 9 +a = 1 +c = 9 * a +print(e + 9) +# output +# 18 + +b = 3 +c = 1 +e = 6 - c +print(e) +# output +# 5 + +e = 3 +e = e / 1 +print(e) +# output +# 3.0 + +e = 4 +e = 5 +print(e) +# output +# 5 + +c = 9 +print(c) +# output +# 9 + +a = 9 +print(a) +# output +# 9 + +a = 3 +print(a) +# output +# 3 + +a = 0 +d = a * 9 +print(d) +# output +# 0 + +b = 8 +b = 2 / 5 +print(b / b) +# output +# 1.0 + +b = 4 +b = 8 +d = b - 0 +print(d) +# output +# 8 + +d = 4 +d = 4 +print(d) +# output +# 4 + +b = 1 +print(b * 6) +# output +# 6 + +c = 1 +e = c / c +print(c + 5) +# output +# 6 + +a = 5 +print(a) +# output +# 5 + +a = 9 +c = 2 +a = c - 2 +print(a + a) +# output +# 0 + +d = 3 +c = 7 / 2 +print(d - d) +# output +# 0 + +b = 6 +b = 4 +b = b / b +print(b - 4) +# output +# -3.0 + +c = 6 +a = 0 +d = a - a +print(c / 2) +# output +# 3.0 + +a = 7 +c = a * a +print(a / a) +# output +# 1.0 + +d = 4 +d = 1 +a = 1 - d +print(d / d) +# output +# 1.0 + +d = 2 +e = d + 1 +print(e) +# output +# 3 + +e = 1 +print(e + 3) +# output +# 4 + +b = 6 +c = 4 +print(b / b) +# output +# 1.0 + +b = 7 +d = 4 +print(b) +# output +# 7 + +a = 5 +c = 8 +print(a) +# output +# 5 + +b = 6 +b = 5 +b = b - b +print(b / 3) +# output +# 0.0 + +a = 3 +print(a + a) +# output +# 6 + +b = 3 +print(b) +# output +# 3 + +e = 3 +d = 8 +a = d / d +print(d - e) +# output +# 5 + +c = 3 +d = 5 +a = c - c +print(c / d) +# output +# 0.6 + +c = 4 +d = 5 +d = c / 1 +print(d + c) +# output +# 8.0 + +e = 6 +print(e) +# output +# 6 + +d = 6 +c = 3 +a = 9 + d +print(a) +# output +# 15 + +b = 1 +e = b * b +print(e) +# output +# 1 + +e = 6 +print(e - e) +# output +# 0 + +e = 6 +print(e - 6) +# output +# 0 + +d = 9 +c = 5 +e = c / 7 +print(e) +# output +# 0.7142857142857143 + +e = 9 +c = 0 +print(e) +# output +# 9 + +c = 8 +print(c * c) +# output +# 64 + +e = 2 +c = 3 +print(c) +# output +# 3 + +d = 1 +b = 8 +print(d * 1) +# output +# 1 + +d = 0 +print(d) +# output +# 0 + +e = 9 +print(e) +# output +# 9 + +d = 7 +b = 3 +print(b) +# output +# 3 + +d = 0 +c = 6 +e = 7 * c +print(e) +# output +# 42 + +c = 2 +print(c) +# output +# 2 + +b = 7 +d = 1 +print(d - b) +# output +# -6 + +e = 3 +d = e - 2 +print(e / e) +# output +# 1.0 + +b = 2 +a = b / b +print(a) +# output +# 1.0 + +d = 8 +e = d + d +print(e) +# output +# 16 + +a = 3 +b = 2 +c = b * 7 +print(c) +# output +# 14 + +b = 3 +print(b - b) +# output +# 0 + +b = 6 +c = 1 +print(b) +# output +# 6 + +a = 4 +e = 0 * 7 +print(a + 2) +# output +# 6 + +b = 0 +b = 1 +a = 1 + b +print(b - 7) +# output +# -6 + +a = 7 +e = a + 9 +print(a * 9) +# output +# 63 + +a = 9 +d = 9 + 5 +print(d) +# output +# 14 + +d = 9 +b = 9 +a = b - d +print(a) +# output +# 0 + +e = 3 +print(e / 6) +# output +# 0.5 + +c = 6 +print(c * 2) +# output +# 12 + +b = 1 +e = 7 +e = b * 4 +print(e + e) +# output +# 8 + +c = 5 +print(c - c) +# output +# 0 + +d = 2 +d = 2 + d +print(d) +# output +# 4 + +e = 7 +b = 6 +print(b * 6) +# output +# 36 + +b = 2 +print(b * 6) +# output +# 12 + +e = 7 +d = e + e +print(d) +# output +# 14 + +c = 0 +print(c / 2) +# output +# 0.0 + +b = 6 +a = 5 +e = b / 8 +print(e) +# output +# 0.75 + +c = 1 +c = 9 +d = 0 - 5 +print(d) +# output +# -5 + +a = 3 +c = 8 +d = 5 + 3 +print(d) +# output +# 8 + +d = 2 +a = d + d +print(a) +# output +# 4 + +a = 9 +a = 2 + 7 +print(a) +# output +# 9 + +d = 1 +print(d) +# output +# 1 + +e = 7 +print(e / 6) +# output +# 1.1666666666666667 + +c = 4 +d = 6 +e = d / d +print(c / c) +# output +# 1.0 + +c = 3 +print(c - 0) +# output +# 3 + +b = 1 +e = 0 +b = 4 + e +print(b / 3) +# output +# 1.3333333333333333 + +e = 3 +e = e / e +print(e / e) +# output +# 1.0 + +c = 1 +a = 7 +print(a) +# output +# 7 + +d = 3 +d = 8 +print(d) +# output +# 8 + +e = 9 +d = 2 - e +print(e - 1) +# output +# 8 + +b = 5 +b = 5 +print(b + b) +# output +# 10 + +b = 8 +print(b * 1) +# output +# 8 + +c = 4 +print(c) +# output +# 4 + +e = 9 +b = 1 +print(b) +# output +# 1 + +c = 0 +c = c - c +print(c) +# output +# 0 + +a = 7 +d = 5 +b = 3 / 3 +print(b) +# output +# 1.0 + +d = 5 +b = 2 +b = d * d +print(b) +# output +# 25 + +d = 8 +print(d - 5) +# output +# 3 + +e = 3 +a = e * e +print(e * 0) +# output +# 0 + +e = 2 +print(e * e) +# output +# 4 + +d = 2 +b = 4 +e = 8 + 3 +print(d / 5) +# output +# 0.4 + +d = 7 +d = 9 +print(d + 5) +# output +# 14 + +b = 9 +b = 1 / b +print(b * 0) +# output +# 0.0 + +b = 3 +d = 2 +d = 6 / 6 +print(d) +# output +# 1.0 + +b = 0 +print(b + b) +# output +# 0 + +e = 2 +c = 3 +e = 1 * 5 +print(e * c) +# output +# 15 + +a = 1 +b = 4 +e = 2 + 7 +print(a * b) +# output +# 4 + +a = 0 +e = 4 * a +print(a / 1) +# output +# 0.0 + +a = 9 +print(a - 6) +# output +# 3 + +a = 2 +a = 1 +print(a) +# output +# 1 + +a = 8 +d = 2 +a = d - 8 +print(a) +# output +# -6 + +d = 1 +b = 2 / d +print(b) +# output +# 2.0 + +c = 7 +print(c) +# output +# 7 + +e = 0 +e = 3 +print(e / 6) +# output +# 0.5 + +c = 1 +b = 1 + 4 +print(b) +# output +# 5 + +c = 9 +print(c / c) +# output +# 1.0 + +d = 4 +c = 6 +print(d + c) +# output +# 10 + +c = 4 +d = 3 +print(d + 6) +# output +# 9 + +c = 0 +a = 1 +print(a) +# output +# 1 + +d = 7 +c = 2 + 8 +print(d * 1) +# output +# 7 + +a = 9 +print(a / a) +# output +# 1.0 + +d = 1 +d = 0 +b = 2 * d +print(b) +# output +# 0 + +b = 2 +c = 7 +c = c + c +print(c) +# output +# 14 + +c = 5 +d = 3 +e = 2 + 6 +print(d / 8) +# output +# 0.375 + +a = 6 +e = a - 9 +print(e) +# output +# -3 + +e = 6 +b = 5 +a = 4 / b +print(a) +# output +# 0.8 + +d = 4 +b = 6 +a = 0 / d +print(a) +# output +# 0.0 + +c = 9 +e = 8 +b = 9 * e +print(b) +# output +# 72 + +d = 4 +d = d / d +print(d / 3) +# output +# 0.3333333333333333 + +c = 9 +e = 9 +print(c / c) +# output +# 1.0 + +a = 9 +d = a + 1 +print(a * a) +# output +# 81 + +b = 5 +a = 1 +b = a - a +print(b) +# output +# 0 + +d = 9 +print(d * 9) +# output +# 81 + +d = 4 +d = 3 +e = d * d +print(e) +# output +# 9 + +d = 6 +e = 0 +print(d * d) +# output +# 36 + +a = 4 +e = a / 2 +print(a + 1) +# output +# 5 + +b = 8 +print(b * b) +# output +# 64 + +d = 2 +a = 4 +c = d * 0 +print(c) +# output +# 0 + +c = 3 +a = 8 +e = a + a +print(a - a) +# output +# 0 + +c = 3 +print(c / c) +# output +# 1.0 + +e = 4 +d = 7 +d = e * 8 +print(e / 1) +# output +# 4.0 + +d = 8 +print(d / d) +# output +# 1.0 + +c = 3 +d = 7 +b = d / 8 +print(b) +# output +# 0.875 + +b = 2 +e = b - 5 +print(e) +# output +# -3 + +c = 8 +print(c - 2) +# output +# 6 + +e = 7 +a = e + e +print(a) +# output +# 14 + +b = 3 +e = 6 +print(b) +# output +# 3 + +b = 3 +a = 3 +print(a) +# output +# 3 + +b = 8 +d = 9 +a = d + 5 +print(a) +# output +# 14 + +a = 6 +b = 7 +d = a - 0 +print(d) +# output +# 6 + +a = 5 +print(a / 5) +# output +# 1.0 + +b = 7 +c = b * 6 +print(b * 9) +# output +# 63 + +b = 0 +print(b) +# output +# 0 + +a = 1 +print(a) +# output +# 1 + +c = 6 +a = 5 +d = c + 1 +print(d) +# output +# 7 + +d = 7 +a = 0 +print(a) +# output +# 0 + +c = 9 +e = 4 +print(c - 5) +# output +# 4 + +d = 7 +print(d) +# output +# 7 + +e = 6 +a = 4 - e +print(a) +# output +# -2 + +b = 7 +b = 8 +print(b) +# output +# 8 + +e = 3 +print(e) +# output +# 3 + +c = 9 +c = c + 7 +print(c) +# output +# 16 + +a = 1 +c = a + 9 +print(a * 4) +# output +# 4 + +c = 0 +b = 8 +print(c) +# output +# 0 + +d = 3 +d = 5 +print(d + d) +# output +# 10 + +b = 4 +d = 4 +e = 3 / 9 +print(d + 6) +# output +# 10 + +c = 0 +a = 4 +d = c / 4 +print(a / a) +# output +# 1.0 + +c = 5 +e = 0 +print(c) +# output +# 5 + +a = 6 +c = 8 +c = 6 + a +print(c) +# output +# 12 + +c = 0 +d = 8 +d = d - 9 +print(d) +# output +# -1 + +b = 5 +e = 7 - 8 +print(e) +# output +# -1 + +d = 7 +a = d * d +print(a) +# output +# 49 + +a = 4 +a = 4 +print(a) +# output +# 4 + +d = 4 +print(d * 6) +# output +# 24 + +b = 5 +b = 8 +c = b - b +print(c) +# output +# 0 + +d = 5 +c = 9 + d +print(c) +# output +# 14 + +e = 1 +print(e - e) +# output +# 0 + +b = 9 +print(b / 6) +# output +# 1.5 + +e = 5 +d = 0 * e +print(e + e) +# output +# 10 + +c = 1 +print(c) +# output +# 1 + +e = 7 +print(e) +# output +# 7 + +d = 6 +print(d + d) +# output +# 12 + +b = 8 +a = 2 +c = b + 1 +print(b * a) +# output +# 16 + +c = 8 +print(c / 1) +# output +# 8.0 + +e = 8 +b = 6 / e +print(e / 2) +# output +# 4.0 + +a = 5 +b = 2 +print(b / a) +# output +# 0.4 + +a = 1 +e = 7 - a +print(e) +# output +# 6 + +e = 3 +e = 4 +c = 6 - e +print(e + 3) +# output +# 7 + +b = 4 +e = b - 0 +print(b - 9) +# output +# -5 + +a = 6 +d = 0 +d = d + 0 +print(d) +# output +# 0 + +e = 5 +a = 0 - e +print(a) +# output +# -5 + +e = 6 +c = 3 / e +print(c) +# output +# 0.5 + +c = 8 +e = 8 +print(e * c) +# output +# 64 + +e = 1 +print(e / e) +# output +# 1.0 + +a = 0 +c = 3 +c = 2 + 5 +print(c) +# output +# 7 + +d = 1 +d = d * 2 +print(d) +# output +# 2 + +a = 3 +e = 9 +b = e - a +print(b) +# output +# 6 + +c = 5 +a = c + 9 +print(a) +# output +# 14 + +e = 5 +c = 1 +print(c - e) +# output +# -4 + +d = 7 +d = 9 +e = 3 * d +print(d - 9) +# output +# 0 + +d = 9 +c = 3 +e = d - 5 +print(d + c) +# output +# 12 + +d = 1 +b = 2 +print(b) +# output +# 2 + +e = 5 +print(e - e) +# output +# 0 + +a = 2 +a = 4 +print(a) +# output +# 4 + +b = 0 +c = 3 +print(b) +# output +# 0 + +e = 6 +b = 1 +d = e / e +print(d) +# output +# 1.0 + +e = 4 +print(e) +# output +# 4 + +e = 3 +b = 4 +a = e - 6 +print(a) +# output +# -3 + +c = 2 +c = c * c +print(c - 5) +# output +# -1 + +e = 1 +print(e) +# output +# 1 + +d = 6 +d = 3 / 7 +print(d * 7) +# output +# 3.0 + +d = 5 +d = d - d +print(d) +# output +# 0 + +e = 8 +a = 3 +print(e / a) +# output +# 2.6666666666666665 + +e = 9 +print(e + 9) +# output +# 18 + +b = 8 +e = b + b +print(e) +# output +# 16 + +c = 5 +e = 8 + c +print(e) +# output +# 13 + +c = 3 +c = 0 +a = c + 6 +print(c + 8) +# output +# 8 + +b = 5 +print(b + b) +# output +# 10 + +d = 2 +a = 6 +e = 2 - 6 +print(e) +# output +# -4 + +b = 8 +print(b) +# output +# 8 + +e = 7 +a = 2 +d = e / 3 +print(d) +# output +# 2.3333333333333335 + +a = 4 +e = 9 +print(e + a) +# output +# 13 + +a = 7 +e = 0 +d = 5 * e +print(a * a) +# output +# 49 + +c = 6 +a = 0 / 5 +print(a) +# output +# 0.0 + +e = 2 +c = 8 / e +print(e * 9) +# output +# 18 + +e = 1 +d = 0 +d = 4 - d +print(d - 7) +# output +# -3 + +a = 5 +a = 6 +c = 1 + 9 +print(a * 3) +# output +# 18 + +b = 3 +b = 5 +d = b * 2 +print(d) +# output +# 10 + +e = 1 +c = 3 +print(e - 3) +# output +# -2 + +c = 6 +b = 6 +print(b) +# output +# 6 + +d = 7 +c = 0 + 7 +print(c) +# output +# 7 + +c = 2 +e = 6 +b = c * 6 +print(b) +# output +# 12 + +a = 6 +e = a + a +print(a + a) +# output +# 12 + +e = 1 +b = 0 +print(b) +# output +# 0 + +d = 8 +c = d - 6 +print(c) +# output +# 2 + +e = 9 +a = 5 +print(e) +# output +# 9 + +a = 2 +c = 3 * 5 +print(c) +# output +# 15 + +d = 8 +print(d) +# output +# 8 + +c = 4 +b = 5 +c = 0 / c +print(c) +# output +# 0.0 + +c = 8 +b = 3 +print(b) +# output +# 3 + +e = 4 +e = 4 * e +print(e / 8) +# output +# 2.0 + +c = 3 +print(c) +# output +# 3 + +a = 2 +a = 5 +d = a + a +print(d) +# output +# 10 + +a = 7 +b = 1 +a = a / 5 +print(a) +# output +# 1.4 + +b = 7 +print(b / 4) +# output +# 1.75 + +a = 5 +e = 1 +print(a) +# output +# 5 + +c = 8 +b = c / 7 +print(c - c) +# output +# 0 + +e = 0 +a = 3 +print(a) +# output +# 3 + +e = 5 +e = e - e +print(e - e) +# output +# 0 + +a = 9 +e = 7 +print(e - e) +# output +# 0 + +a = 3 +c = a / 3 +print(c) +# output +# 1.0 + +d = 2 +a = 0 +e = 7 / 8 +print(d + a) +# output +# 2 + +d = 0 +e = 8 +print(e * e) +# output +# 64 + +d = 2 +a = 6 +print(d) +# output +# 2 + +d = 3 +a = 2 +print(d - a) +# output +# 1 + +e = 4 +a = 5 - e +print(e - 7) +# output +# -3 + +e = 7 +e = 9 +print(e) +# output +# 9 + +e = 1 +print(e * e) +# output +# 1 + +e = 5 +d = 2 - e +print(d) +# output +# -3 + +b = 1 +print(b * 9) +# output +# 9 + +e = 0 +c = 6 +print(e) +# output +# 0 + +c = 5 +print(c / c) +# output +# 1.0 + +e = 4 +c = 2 +e = e - 0 +print(c * c) +# output +# 4 + +e = 6 +d = 9 +print(d) +# output +# 9 + +a = 0 +b = a + a +print(b) +# output +# 0 + +c = 8 +b = 5 +print(c - 8) +# output +# 0 + +e = 8 +b = e / 6 +print(b) +# output +# 1.3333333333333333 + +d = 0 +b = 4 +print(b) +# output +# 4 + +c = 4 +d = 9 +b = 6 + 9 +print(b) +# output +# 15 + +e = 9 +print(e / 1) +# output +# 9.0 + +d = 1 +c = 0 +d = d / 7 +print(d * 2) +# output +# 0.2857142857142857 + +a = 9 +b = 0 +d = a + a +print(d) +# output +# 18 + +a = 4 +a = 5 +a = a * 7 +print(a / a) +# output +# 1.0 + +a = 3 +c = 6 +d = c / 7 +print(c - 1) +# output +# 5 + +d = 2 +d = d - d +print(d) +# output +# 0 + +c = 7 +b = 9 / c +print(b) +# output +# 1.2857142857142858 + +c = 4 +e = 4 +print(c * c) +# output +# 16 + +e = 8 +a = 0 +c = a + a +print(a * 7) +# output +# 0 + +a = 9 +d = 9 +b = a + 4 +print(a + 0) +# output +# 9 + +c = 4 +e = 3 +print(c * e) +# output +# 12 + +d = 8 +print(d + 9) +# output +# 17 + +d = 6 +d = 6 +d = d + d +print(d) +# output +# 12 + +a = 0 +print(a - 9) +# output +# -9 + +a = 6 +c = 7 +b = c + c +print(a - c) +# output +# -1 + +d = 4 +a = 8 +print(a * a) +# output +# 64 + +e = 4 +b = 3 +print(b) +# output +# 3 + +e = 9 +d = 6 / 4 +print(e / 1) +# output +# 9.0 + +a = 4 +print(a / a) +# output +# 1.0 + +a = 8 +c = 2 / 7 +print(a * a) +# output +# 64 + +d = 9 +b = 2 +c = 3 / d +print(b - b) +# output +# 0 + +d = 6 +b = d / d +print(b) +# output +# 1.0 + +c = 3 +b = 0 +d = c + b +print(d) +# output +# 3 + +c = 6 +e = 2 +d = 6 + 1 +print(c * 1) +# output +# 6 + +c = 4 +a = 4 +print(a) +# output +# 4 + +e = 9 +print(e / 3) +# output +# 3.0 + +c = 6 +c = 2 +print(c + c) +# output +# 4 + +c = 7 +print(c - c) +# output +# 0 + +b = 2 +c = 1 +print(b + 2) +# output +# 4 + +c = 0 +d = c + 6 +print(c * c) +# output +# 0 + +b = 9 +c = 4 + 6 +print(c) +# output +# 10 + +a = 6 +print(a) +# output +# 6 + +a = 6 +print(a - 3) +# output +# 3 + +e = 3 +a = 9 +a = 8 - a +print(a) +# output +# -1 + +a = 1 +b = 3 +print(a) +# output +# 1 + +b = 2 +a = 8 +d = b / 6 +print(a / 5) +# output +# 1.6 + +a = 6 +b = 0 +a = 3 - 3 +print(b / 9) +# output +# 0.0 + +e = 8 +a = 1 +d = 1 - 9 +print(e * e) +# output +# 64 + +c = 6 +e = 9 +d = 4 * c +print(c - 8) +# output +# -2 + +d = 1 +b = 6 +print(d) +# output +# 1 + +d = 0 +c = 7 +print(d - d) +# output +# 0 + +b = 6 +a = 4 / 9 +print(b - b) +# output +# 0 + +d = 5 +d = 9 +e = 0 - d +print(d * d) +# output +# 81 + +a = 4 +print(a * a) +# output +# 16 + +b = 5 +b = 0 - 7 +print(b) +# output +# -7 + +d = 5 +c = 8 +b = c + c +print(c + 6) +# output +# 14 + +e = 4 +d = 1 +print(e) +# output +# 4 + +a = 3 +c = a / a +print(c) +# output +# 1.0 + +e = 2 +print(e) +# output +# 2 + +b = 8 +b = 8 +print(b) +# output +# 8 + +e = 1 +b = 7 +print(b - 0) +# output +# 7 + +d = 9 +c = 7 - d +print(d - d) +# output +# 0 + +b = 8 +d = 3 +print(d / d) +# output +# 1.0 + +b = 2 +print(b + 3) +# output +# 5 + +b = 9 +a = 2 +b = a - 9 +print(a - 4) +# output +# -2 + +c = 7 +print(c / c) +# output +# 1.0 + +c = 8 +print(c) +# output +# 8 + +b = 8 +b = b / 8 +print(b) +# output +# 1.0 + +a = 0 +c = 8 +print(c) +# output +# 8 + +d = 9 +b = 6 +a = 6 + 5 +print(a) +# output +# 11 + +e = 6 +a = 8 - e +print(e + 3) +# output +# 9 + +c = 6 +a = 4 +print(a) +# output +# 4 + +e = 1 +c = e + 5 +print(e + 7) +# output +# 8 + +d = 8 +b = 7 +print(b) +# output +# 7 + +a = 1 +print(a * 0) +# output +# 0 + +b = 4 +print(b * b) +# output +# 16 + +e = 9 +a = 9 +print(a * e) +# output +# 81 + +e = 8 +a = 6 / e +print(e * e) +# output +# 64 + +b = 7 +d = b - 4 +print(b + 8) +# output +# 15 + +d = 4 +e = 3 +b = 0 + 8 +print(b) +# output +# 8 + +a = 2 +a = 8 +e = a + a +print(a - a) +# output +# 0 + +d = 9 +print(d - 9) +# output +# 0 + +e = 8 +e = 0 +print(e + e) +# output +# 0 + +b = 9 +b = 9 +print(b / 9) +# output +# 1.0 + +d = 4 +e = 3 +a = 9 - 9 +print(d * 4) +# output +# 16 + +c = 9 +d = 5 +print(d) +# output +# 5 + +b = 6 +b = 3 +print(b) +# output +# 3 + +d = 2 +e = d - d +print(d - d) +# output +# 0 + +c = 7 +e = 5 +d = 1 + c +print(c - 7) +# output +# 0 + +d = 0 +a = 9 +print(a * 7) +# output +# 63 + +d = 2 +print(d + d) +# output +# 4 + +e = 1 +a = 3 +e = e / a +print(e) +# output +# 0.3333333333333333 + +b = 2 +b = 3 +print(b * 7) +# output +# 21 + +d = 0 +a = 1 +print(a) +# output +# 1 + +a = 2 +e = 9 +c = 7 * a +print(a * e) +# output +# 18 + +c = 1 +e = 9 +d = 6 * 8 +print(e - e) +# output +# 0 + +a = 7 +b = a / a +print(a * a) +# output +# 49 + +e = 1 +a = 6 +print(a / 6) +# output +# 1.0 + +d = 3 +b = 4 +print(b) +# output +# 4 + +e = 3 +b = e * 6 +print(e / e) +# output +# 1.0 + +c = 4 +print(c + 3) +# output +# 7 + +e = 5 +print(e) +# output +# 5 + +d = 5 +d = d * d +print(d) +# output +# 25 + +d = 4 +a = 1 +print(d) +# output +# 4 + +d = 7 +e = 5 +e = e + d +print(e) +# output +# 12 + +d = 5 +print(d - d) +# output +# 0 + +d = 2 +print(d + 9) +# output +# 11 + +b = 6 +a = 2 +d = 9 - b +print(b - 0) +# output +# 6 + +d = 6 +b = d / 4 +print(d - 3) +# output +# 3 + +c = 7 +a = c - c +print(a) +# output +# 0 + +b = 0 +d = 0 +print(d) +# output +# 0 + +d = 5 +c = d * d +print(d / d) +# output +# 1.0 + +c = 8 +b = 7 +c = c + c +print(c - c) +# output +# 0 + +a = 2 +d = 1 +print(d) +# output +# 1 + +d = 4 +c = 0 + 1 +print(c) +# output +# 1 + +b = 1 +c = b + 3 +print(c) +# output +# 4 + +a = 1 +print(a / 2) +# output +# 0.5 + +b = 6 +c = 5 +print(b / b) +# output +# 1.0 + +a = 8 +a = 8 +print(a) +# output +# 8 + +d = 4 +c = d - d +print(c) +# output +# 0 + +c = 6 +b = 2 +c = b - 4 +print(b + c) +# output +# 0 + +b = 2 +e = 2 +print(e) +# output +# 2 + +e = 5 +print(e + e) +# output +# 10 + +e = 2 +a = 6 +print(e) +# output +# 2 + +a = 8 +a = a / 8 +print(a * a) +# output +# 1.0 + +d = 7 +print(d * d) +# output +# 49 + +d = 9 +b = 5 +print(d) +# output +# 9 + +c = 3 +e = 7 +print(c) +# output +# 3 + +b = 3 +d = b * b +print(d) +# output +# 9 + +b = 9 +c = 6 +a = c * 6 +print(c / 6) +# output +# 1.0 + +a = 2 +c = 1 +b = 7 * c +print(b) +# output +# 7 + +b = 6 +a = 5 +d = b + 9 +print(d) +# output +# 15 + +d = 2 +e = 2 +print(e) +# output +# 2 + +e = 3 +c = e + 2 +print(e + e) +# output +# 6 + +e = 8 +d = e - 9 +print(d) +# output +# -1 + +b = 8 +d = 6 +print(b / d) +# output +# 1.3333333333333333 + +a = 7 +e = 1 +print(a + 3) +# output +# 10 + +c = 9 +c = 9 +print(c - 4) +# output +# 5 + +d = 0 +d = d + 7 +print(d) +# output +# 7 + +a = 1 +e = 6 + a +print(a * 4) +# output +# 4 + +d = 5 +b = 7 +print(d) +# output +# 5 + +c = 9 +d = c / 3 +print(d) +# output +# 3.0 + +c = 6 +d = 1 +print(d) +# output +# 1 + +c = 7 +e = 3 +e = 0 + 0 +print(e) +# output +# 0 + +a = 5 +a = 9 +print(a) +# output +# 9 + +b = 3 +d = 8 +a = d - 6 +print(a) +# output +# 2 + +b = 1 +d = 5 * b +print(d) +# output +# 5 + +e = 8 +a = 9 +print(e) +# output +# 8 + +c = 1 +b = 9 + 5 +print(c / 4) +# output +# 0.25 + +b = 0 +a = 0 / 5 +print(a) +# output +# 0.0 + +a = 9 +d = a * a +print(d) +# output +# 81 + +d = 2 +print(d / 6) +# output +# 0.3333333333333333 + +e = 0 +b = 8 +c = b * b +print(c) +# output +# 64 + +a = 8 +b = 6 / a +print(b) +# output +# 0.75 + +e = 9 +e = e * 2 +print(e) +# output +# 18 + +a = 1 +d = 3 +print(a * 2) +# output +# 2 + +c = 0 +c = 1 * c +print(c - c) +# output +# 0 + +a = 3 +b = 7 +d = a + a +print(d) +# output +# 6 + +a = 7 +b = 8 +e = 9 - 5 +print(a * a) +# output +# 49 + +c = 5 +c = 8 +print(c / 5) +# output +# 1.6 + +b = 6 +e = b + b +print(b + 1) +# output +# 7 + +e = 6 +c = e + e +print(e + e) +# output +# 12 + +b = 4 +b = 3 - b +print(b) +# output +# -1 + +d = 4 +e = 5 +a = 6 * e +print(e / e) +# output +# 1.0 + +b = 9 +print(b * 1) +# output +# 9 + +e = 2 +b = 7 +print(e) +# output +# 2 + +c = 7 +c = c + 2 +print(c - 1) +# output +# 8 + +e = 9 +e = 3 +b = e / 8 +print(e + e) +# output +# 6 + +c = 3 +e = 4 +print(e) +# output +# 4 + +b = 1 +print(b) +# output +# 1 + +a = 6 +b = 0 +e = 5 / a +print(b * b) +# output +# 0 + +e = 9 +d = 6 +print(e) +# output +# 9 + +c = 0 +a = 7 +print(a * a) +# output +# 49 + +d = 5 +a = 6 +a = d / 7 +print(a) +# output +# 0.7142857142857143 + +a = 2 +c = a - 6 +print(a / a) +# output +# 1.0 + +b = 4 +print(b) +# output +# 4 + +b = 3 +a = 5 +print(a + a) +# output +# 10 + +c = 5 +b = c * c +print(b) +# output +# 25 + +d = 4 +d = 7 * 4 +print(d * d) +# output +# 784 + +b = 6 +e = 1 +e = 5 / 1 +print(e - 2) +# output +# 3.0 + +e = 6 +b = 9 +print(e) +# output +# 6 + +d = 7 +d = 8 +e = 7 * 5 +print(e) +# output +# 35 + +d = 3 +print(d) +# output +# 3 + +e = 2 +d = 9 +a = e - 2 +print(a) +# output +# 0 + +a = 0 +a = 0 +print(a) +# output +# 0 + +e = 5 +b = 6 +print(e) +# output +# 5 + +b = 6 +print(b) +# output +# 6 + +b = 8 +d = 3 +a = 4 - 9 +print(d + b) +# output +# 11 + +a = 9 +d = a / a +print(a + 6) +# output +# 15 + +a = 7 +e = 6 +print(a + a) +# output +# 14 + +d = 3 +d = 6 +print(d + d) +# output +# 12 + +d = 6 +a = 6 +print(a) +# output +# 6 + +e = 4 +b = e * e +print(e * 7) +# output +# 28 + +d = 8 +e = 4 +print(e + d) +# output +# 12 + +d = 2 +print(d) +# output +# 2 + +b = 3 +print(b - 6) +# output +# -3 + +d = 3 +b = 5 +print(d) +# output +# 3 + +a = 9 +b = 7 +print(b - b) +# output +# 0 + +c = 3 +a = 3 +print(c / 7) +# output +# 0.42857142857142855 + +b = 9 +print(b) +# output +# 9 + +a = 7 +c = 1 +a = a / 1 +print(a * c) +# output +# 7.0 + +b = 9 +c = b - 8 +print(c) +# output +# 1 + +b = 1 +print(b - 9) +# output +# -8 + +a = 0 +c = 8 +print(a) +# output +# 0 + +a = 2 +e = a + a +print(a * 5) +# output +# 10 + +b = 9 +d = b - b +print(b - b) +# output +# 0 + +d = 0 +a = 4 +print(a) +# output +# 4 + +c = 6 +d = 0 +a = 9 - 0 +print(a) +# output +# 9 + +c = 9 +b = 8 / c +print(b) +# output +# 0.8888888888888888 + +c = 0 +d = 2 +b = 0 / d +print(b) +# output +# 0.0 + +a = 9 +a = a - 6 +print(a - a) +# output +# 0 + +d = 2 +e = 4 +a = d / 2 +print(e / 2) +# output +# 2.0 + +e = 0 +a = 2 +c = e + e +print(c) +# output +# 0 + +a = 0 +d = 8 +b = a * 5 +print(b) +# output +# 0 + +c = 9 +a = 4 +a = 8 - 5 +print(a + 8) +# output +# 11 + +c = 3 +d = 9 +print(c * 3) +# output +# 9 + +a = 6 +d = 8 +print(a) +# output +# 6 + +e = 5 +c = 4 +c = c - e +print(e / c) +# output +# -5.0 + +e = 2 +c = 7 +d = 7 + 4 +print(d) +# output +# 11 + +a = 3 +e = 4 * 7 +print(a - a) +# output +# 0 + +a = 2 +e = 0 / 8 +print(a * a) +# output +# 4 + +e = 0 +d = 6 +a = 0 + 0 +print(e * d) +# output +# 0 + +b = 6 +e = 5 +print(b) +# output +# 6 + +d = 0 +a = 1 * d +print(d + 6) +# output +# 6 + +b = 7 +d = 8 * 6 +print(b - 5) +# output +# 2 + +d = 3 +b = 2 +a = d * b +print(d / 6) +# output +# 0.5 + +d = 9 +d = 8 * d +print(d * d) +# output +# 5184 + +b = 9 +c = 6 / b +print(b * 2) +# output +# 18 + +d = 8 +a = d + d +print(d - 3) +# output +# 5 + +a = 0 +b = 7 +print(b) +# output +# 7 + +e = 7 +c = 4 +print(e) +# output +# 7 + +e = 8 +e = 4 +d = 5 * 3 +print(d) +# output +# 15 + +d = 9 +a = 2 +b = 7 - d +print(a / d) +# output +# 0.2222222222222222 + +b = 7 +a = 2 +print(a) +# output +# 2 + +c = 7 +c = 4 +d = 6 * c +print(c / c) +# output +# 1.0 + +a = 1 +print(a * a) +# output +# 1 + +e = 8 +d = 6 +print(e + d) +# output +# 14 + +c = 4 +print(c * 8) +# output +# 32 + +d = 6 +a = 1 + d +print(a) +# output +# 7 + +d = 3 +a = 4 +a = d * d +print(a * 4) +# output +# 36 + +b = 8 +a = 4 +d = 5 - b +print(b * 3) +# output +# 24 + +c = 5 +d = 2 +print(d + 4) +# output +# 6 + +e = 2 +print(e - 3) +# output +# -1 + +d = 4 +print(d - d) +# output +# 0 + +d = 9 +c = 7 +print(c - 2) +# output +# 5 + +b = 9 +c = 6 +a = c + c +print(c * 5) +# output +# 30 + +d = 7 +e = 7 +a = 3 - d +print(a) +# output +# -4 + +e = 4 +c = 5 +print(c * e) +# output +# 20 + +a = 6 +print(a - 9) +# output +# -3 + +d = 6 +b = 2 +print(d) +# output +# 6 + +d = 7 +c = 9 +a = 0 + 9 +print(c * 4) +# output +# 36 + +d = 1 +b = 1 +a = 2 / b +print(d + 9) +# output +# 10 + +b = 4 +e = 8 - b +print(e) +# output +# 4 + +a = 3 +d = 4 +print(a) +# output +# 3 + +a = 3 +c = a * a +print(c) +# output +# 9 + +a = 8 +c = 4 +b = c / a +print(b) +# output +# 0.5 + +d = 6 +a = 5 +a = 2 + a +print(d - a) +# output +# -1 + +b = 6 +a = 5 +print(a) +# output +# 5 + +d = 6 +print(d) +# output +# 6 + +b = 2 +c = 3 +print(b / b) +# output +# 1.0 + +c = 5 +print(c * c) +# output +# 25 + +c = 5 +a = 9 / c +print(a) +# output +# 1.8 + +d = 8 +d = 0 +c = 7 - 1 +print(c) +# output +# 6 + +e = 7 +c = e + e +print(c) +# output +# 14 + +b = 9 +b = 9 +print(b - 5) +# output +# 4 + +a = 9 +b = 7 +print(b / 5) +# output +# 1.4 + +d = 8 +print(d - d) +# output +# 0 + +b = 2 +b = 6 +print(b - 6) +# output +# 0 + +c = 8 +b = 6 +print(c) +# output +# 8 + +a = 5 +d = 7 +print(d) +# output +# 7 + +c = 9 +a = c * 1 +print(c / 1) +# output +# 9.0 + +e = 3 +b = 5 +print(b * 9) +# output +# 45 + +c = 5 +e = 3 +d = 8 * 3 +print(d) +# output +# 24 + +c = 4 +e = 1 +e = 4 / e +print(e) +# output +# 4.0 + +a = 3 +d = a - a +print(d) +# output +# 0 + +d = 9 +a = 5 +print(a) +# output +# 5 + +e = 1 +c = e / 7 +print(e - e) +# output +# 0 + +d = 6 +a = 6 +print(a / a) +# output +# 1.0 + +a = 0 +b = 4 +b = a / 2 +print(b) +# output +# 0.0 + +a = 4 +b = a / a +print(b) +# output +# 1.0 + +a = 2 +d = 1 +b = a / d +print(b) +# output +# 2.0 + +e = 1 +b = 8 +print(b) +# output +# 8 + +a = 8 +d = a - 7 +print(d) +# output +# 1 + +d = 7 +b = 2 +print(b) +# output +# 2 + +d = 9 +print(d / d) +# output +# 1.0 + +b = 6 +d = 6 +c = 5 - 4 +print(c) +# output +# 1 + +a = 7 +b = 0 +e = 7 - a +print(b / 7) +# output +# 0.0 + +b = 3 +c = 2 / b +print(b * 8) +# output +# 24 + +d = 3 +d = 7 +print(d) +# output +# 7 + +a = 0 +print(a + a) +# output +# 0 + +e = 3 +d = 5 +print(e - 1) +# output +# 2 + +b = 3 +d = 5 +d = b - 7 +print(b - b) +# output +# 0 + +d = 0 +e = 3 +print(e) +# output +# 3 + +b = 3 +e = 1 +e = 9 + e +print(e) +# output +# 10 + +c = 7 +a = 9 +print(a - 2) +# output +# 7 + +c = 1 +b = 8 +a = 7 / 1 +print(a) +# output +# 7.0 + +a = 4 +b = 4 +print(b * b) +# output +# 16 + +d = 6 +d = 8 +e = d - 9 +print(d / 4) +# output +# 2.0 + +c = 3 +a = 0 +print(c - 4) +# output +# -1 + +b = 0 +e = 2 / 1 +print(b - 2) +# output +# -2 + +e = 9 +b = 8 +a = 8 + 3 +print(b * 4) +# output +# 32 + +b = 4 +a = 1 +a = 2 / b +print(a) +# output +# 0.5 + +b = 9 +c = 4 +print(b) +# output +# 9 + +c = 8 +d = c + 1 +print(d) +# output +# 9 + +b = 6 +b = 5 +print(b) +# output +# 5 + +e = 0 +e = e + e +print(e) +# output +# 0 + +d = 3 +c = 0 +a = c * 5 +print(c / 5) +# output +# 0.0 + +d = 8 +b = 2 + d +print(b) +# output +# 10 + +d = 8 +a = 7 +print(d) +# output +# 8 + +a = 2 +print(a + a) +# output +# 4 + +e = 6 +print(e * 4) +# output +# 24 + +d = 8 +e = 2 +print(d + 2) +# output +# 10 + +d = 1 +a = 3 +d = 7 - a +print(d / d) +# output +# 1.0 + +e = 9 +d = 5 +d = e * d +print(e / d) +# output +# 0.2 + +c = 3 +e = 7 +print(c * c) +# output +# 9 + +d = 8 +b = d * d +print(d * d) +# output +# 64 + +e = 4 +b = 8 +e = e - 6 +print(b / 6) +# output +# 1.3333333333333333 + +a = 9 +a = 5 +e = a / 7 +print(e) +# output +# 0.7142857142857143 + +d = 2 +c = 5 +print(d * d) +# output +# 4 + +d = 1 +a = 7 - 4 +print(a) +# output +# 3 + +a = 1 +d = a / 4 +print(d) +# output +# 0.25 + +d = 9 +b = 1 +d = d / 9 +print(b * b) +# output +# 1 + +a = 8 +print(a + a) +# output +# 16 + +a = 5 +e = 8 +b = a / a +print(e - e) +# output +# 0 + +d = 2 +d = 6 * d +print(d) +# output +# 12 + +d = 2 +b = 5 +print(b) +# output +# 5 + +b = 9 +c = 6 +print(c) +# output +# 6 + +e = 3 +c = 0 +print(c) +# output +# 0 + +d = 4 +b = 8 * d +print(d * d) +# output +# 16 + +b = 7 +e = b - b +print(b - 5) +# output +# 2 + +e = 8 +e = 4 +print(e) +# output +# 4 + +a = 8 +a = 4 - a +print(a) +# output +# -4 + +a = 9 +d = 1 +d = 5 + 5 +print(a / 9) +# output +# 1.0 + +d = 5 +b = 6 +print(d) +# output +# 5 + +c = 8 +e = 7 +print(e * 3) +# output +# 21 + +e = 4 +a = e + 9 +print(a) +# output +# 13 + +e = 7 +a = 2 +d = 5 * 7 +print(a * 7) +# output +# 14 + +e = 1 +d = 5 +c = d * d +print(d / 2) +# output +# 2.5 + +c = 6 +a = 6 +print(a) +# output +# 6 + +b = 4 +print(b + b) +# output +# 8 + +b = 8 +a = 2 + b +print(a) +# output +# 10 + +b = 3 +c = 7 +print(c / 3) +# output +# 2.3333333333333335 + +c = 3 +a = c - 9 +print(a) +# output +# -6 + +b = 5 +d = 8 +print(b - 0) +# output +# 5 + +e = 3 +a = 4 +print(e) +# output +# 3 + +c = 6 +b = 0 +c = 0 * 4 +print(c) +# output +# 0 + +a = 9 +c = 7 / 9 +print(c) +# output +# 0.7777777777777778 + +b = 7 +d = 4 +print(d) +# output +# 4 + +c = 1 +b = 1 +print(c) +# output +# 1 + +a = 1 +a = a + a +print(a + a) +# output +# 4 + +b = 1 +c = 3 +print(c) +# output +# 3 + +b = 5 +e = 8 +b = e / e +print(b * 0) +# output +# 0.0 + +b = 1 +b = 9 +print(b) +# output +# 9 + +e = 0 +b = 2 +print(b * b) +# output +# 4 + +b = 7 +d = 6 +a = 0 / d +print(b - 3) +# output +# 4 + +b = 5 +d = b - b +print(d) +# output +# 0 + +c = 6 +print(c / c) +# output +# 1.0 + +c = 3 +e = 0 +d = e + e +print(d) +# output +# 0 + +c = 4 +d = 4 +e = c - c +print(e) +# output +# 0 + +d = 6 +d = 2 +c = d - 0 +print(c) +# output +# 2 + +a = 9 +b = a + a +print(a / a) +# output +# 1.0 + +e = 7 +b = 7 +c = 7 - e +print(b + 2) +# output +# 9 + +e = 7 +print(e + e) +# output +# 14 + +d = 9 +print(d * d) +# output +# 81 + +a = 7 +print(a / 2) +# output +# 3.5 + +b = 4 +b = 4 +b = b / 8 +print(b + 3) +# output +# 3.5 + +b = 0 +d = 9 * 1 +print(d) +# output +# 9 + +b = 3 +e = 8 +print(e) +# output +# 8 + +d = 3 +print(d * 7) +# output +# 21 + +b = 0 +e = 1 +print(b) +# output +# 0 + +a = 6 +e = 7 +b = e + a +print(a / 2) +# output +# 3.0 + +d = 1 +b = 3 +b = b / 8 +print(b / d) +# output +# 0.375 + +a = 7 +c = a / a +print(c) +# output +# 1.0 + +d = 6 +c = d - d +print(c) +# output +# 0 + +a = 7 +print(a) +# output +# 7 + +e = 7 +a = 7 +a = 7 - e +print(a * 0) +# output +# 0 + +a = 4 +print(a) +# output +# 4 + +c = 4 +d = 3 +print(c) +# output +# 4 + +d = 2 +b = 4 +c = d * 9 +print(c) +# output +# 18 + +c = 6 +a = 4 +print(c) +# output +# 6 + +d = 8 +b = 0 * d +print(d - 7) +# output +# 1 + +d = 6 +e = 2 +c = 2 - d +print(c) +# output +# -4 + +c = 1 +c = c * 8 +print(c) +# output +# 8 + +b = 6 +c = 4 +e = c + c +print(e) +# output +# 8 + +b = 1 +c = 1 +d = c / 5 +print(b - 0) +# output +# 1 + +b = 4 +b = 9 +b = b + 4 +print(b) +# output +# 13 + +c = 9 +print(c * c) +# output +# 81 + +b = 1 +a = b + b +print(b / b) +# output +# 1.0 + +b = 5 +a = 1 +print(b) +# output +# 5 + +c = 4 +a = 7 +a = c + a +print(a + 5) +# output +# 16 + +b = 1 +c = 5 +print(c) +# output +# 5 + +a = 5 +a = 2 +print(a * a) +# output +# 4 + +c = 1 +e = 6 +print(e / 7) +# output +# 0.8571428571428571 + +b = 0 +d = 1 +print(d) +# output +# 1 + +a = 3 +b = 7 - a +print(b) +# output +# 4 + +e = 9 +print(e / e) +# output +# 1.0 + +e = 2 +b = 3 +e = 1 - e +print(b + 6) +# output +# 9 + +d = 2 +a = 3 +e = 1 + a +print(e) +# output +# 4 + +a = 2 +e = 0 +a = a * a +print(a) +# output +# 4 + +a = 0 +c = 5 +print(c * 0) +# output +# 0 + +e = 1 +a = 7 +print(a * 3) +# output +# 21 + +c = 8 +a = 4 +b = c / c +print(c + a) +# output +# 12 + +e = 4 +c = 9 +e = 8 - e +print(e / 3) +# output +# 1.3333333333333333 + +c = 3 +a = 7 +b = 3 * 9 +print(a + 6) +# output +# 13 + +e = 5 +print(e / e) +# output +# 1.0 + +a = 2 +print(a / 4) +# output +# 0.5 + +a = 4 +a = 4 +a = 7 / a +print(a) +# output +# 1.75 + +c = 2 +print(c - c) +# output +# 0 + +a = 2 +print(a) +# output +# 2 + +e = 5 +a = 5 +a = e / 4 +print(a) +# output +# 1.25 + +c = 9 +a = 3 +print(a * 4) +# output +# 12 + +a = 8 +b = 5 +print(b / 2) +# output +# 2.5 + +e = 7 +b = 0 +c = b - b +print(e * 4) +# output +# 28 + +b = 0 +d = 7 +e = b + b +print(d + b) +# output +# 7 + +e = 0 +print(e) +# output +# 0 + +a = 1 +print(a + a) +# output +# 2 + +c = 6 +d = 8 +print(d / 4) +# output +# 2.0 + +a = 6 +e = a / 7 +print(a + 4) +# output +# 10 + +e = 6 +c = 4 +print(e / 9) +# output +# 0.6666666666666666 + +d = 3 +b = 6 + 3 +print(b) +# output +# 9 + +e = 4 +b = 6 + e +print(b) +# output +# 10 + +a = 8 +e = 2 +print(a) +# output +# 8 + +b = 9 +a = 3 +d = b / 7 +print(d) +# output +# 1.2857142857142858 + +b = 3 +e = 6 +print(b / 3) +# output +# 1.0 + +c = 3 +a = 5 +a = 4 * 3 +print(a) +# output +# 12 + +a = 5 +c = a / a +print(a + a) +# output +# 10 + +b = 8 +a = 9 +e = 5 / 2 +print(b * a) +# output +# 72 + +e = 6 +b = 3 +e = e - 6 +print(e) +# output +# 0 + +c = 7 +a = 3 +a = 2 / c +print(a) +# output +# 0.2857142857142857 + +a = 2 +d = 8 * 2 +print(a * a) +# output +# 4 + +a = 8 +c = 3 +e = 4 + 1 +print(a / a) +# output +# 1.0 + +c = 4 +b = 2 +d = 6 + 3 +print(b + 9) +# output +# 11 + +a = 5 +d = 5 +print(d) +# output +# 5 + +c = 3 +b = 7 +b = c + c +print(b / 1) +# output +# 6.0 + +d = 2 +b = 1 / 8 +print(d - d) +# output +# 0 + +a = 5 +e = 5 * 9 +print(e) +# output +# 45 + +c = 6 +print(c - c) +# output +# 0 + +d = 0 +e = d * 1 +print(e) +# output +# 0 + +a = 2 +a = 1 +print(a / 2) +# output +# 0.5 + +d = 7 +d = 2 +print(d) +# output +# 2 + +a = 9 +print(a - a) +# output +# 0 + +c = 9 +d = 7 * c +print(d) +# output +# 63 + +e = 4 +b = e + e +print(e / e) +# output +# 1.0 + +d = 8 +d = 1 + 6 +print(d - 2) +# output +# 5 + +d = 5 +print(d + 6) +# output +# 11 + +a = 9 +d = 8 +print(a) +# output +# 9 + +a = 4 +d = 7 + a +print(a - 9) +# output +# -5 + +d = 6 +b = d * d +print(b) +# output +# 36 + +b = 0 +a = b * b +print(b + b) +# output +# 0 + +a = 7 +print(a * a) +# output +# 49 + +d = 9 +c = 7 +print(c + c) +# output +# 14 + +b = 3 +a = 6 +a = 8 - 0 +print(a) +# output +# 8 + +c = 8 +print(c / 4) +# output +# 2.0 + +c = 0 +b = 3 * 6 +print(c - 1) +# output +# -1 + +a = 4 +print(a - a) +# output +# 0 + +e = 4 +d = 2 / e +print(d) +# output +# 0.5 + +c = 6 +a = 4 +print(c / c) +# output +# 1.0 + +b = 2 +d = 5 * b +print(b * 0) +# output +# 0 + +c = 4 +d = 8 +c = 7 + 6 +print(c) +# output +# 13 + +e = 7 +e = 8 +c = 3 / 7 +print(c) +# output +# 0.42857142857142855 + +d = 7 +d = 3 +e = d - d +print(d * 0) +# output +# 0 + +d = 2 +c = 1 +print(d) +# output +# 2 + +d = 4 +print(d) +# output +# 4 + +a = 1 +a = 3 +print(a / 1) +# output +# 3.0 + +a = 7 +e = 4 +d = a / e +print(d) +# output +# 1.75 + +e = 2 +c = 5 +a = e / 3 +print(e / e) +# output +# 1.0 + +b = 7 +b = 3 / b +print(b) +# output +# 0.42857142857142855 + +d = 0 +e = d + 4 +print(d * d) +# output +# 0 + +b = 5 +e = 9 +print(b * b) +# output +# 25 + +c = 3 +e = 2 +print(c) +# output +# 3 + +e = 5 +print(e * 5) +# output +# 25 + +b = 1 +c = 5 +e = c * b +print(c - b) +# output +# 4 + +e = 6 +d = 3 + e +print(d) +# output +# 9 + +d = 4 +c = 6 +d = 1 - 6 +print(d) +# output +# -5 + +d = 2 +b = 2 * 8 +print(d - d) +# output +# 0 + +e = 1 +a = e + 8 +print(a) +# output +# 9 + +d = 9 +c = 2 +print(c) +# output +# 2 + +a = 2 +a = 4 + a +print(a) +# output +# 6 + +d = 1 +c = 7 +print(d) +# output +# 1 + +b = 8 +d = 5 +e = 8 - b +print(d / 3) +# output +# 1.6666666666666667 + +b = 7 +a = b - 9 +print(b - 6) +# output +# 1 + +c = 2 +b = 0 * c +print(c + c) +# output +# 4 + +d = 4 +e = 0 +b = e * 0 +print(b) +# output +# 0 + +b = 9 +a = 8 +c = b + a +print(b / 4) +# output +# 2.25 + +b = 0 +d = 8 +print(b * b) +# output +# 0 + +d = 2 +print(d / d) +# output +# 1.0 + +a = 6 +c = 3 +a = 4 / 7 +print(a) +# output +# 0.5714285714285714 + +e = 7 +b = 1 +print(b) +# output +# 1 + +e = 5 +e = 6 +print(e) +# output +# 6 + +a = 4 +d = 2 +print(a) +# output +# 4 + +e = 6 +b = e * e +print(e / 8) +# output +# 0.75 + +e = 9 +e = e - 7 +print(e) +# output +# 2 + +d = 5 +print(d * d) +# output +# 25 + +b = 1 +c = 0 +print(c / 2) +# output +# 0.0 + +e = 3 +c = 2 +d = 1 + 5 +print(c * c) +# output +# 4 + +e = 8 +b = e / 5 +print(e / 2) +# output +# 4.0 + +a = 7 +print(a + 4) +# output +# 11 + +d = 2 +a = 7 +a = 6 + d +print(a) +# output +# 8 + +d = 0 +b = 4 +print(d) +# output +# 0 + +c = 7 +c = 7 +print(c / 8) +# output +# 0.875 + +a = 2 +e = 0 +b = 5 - 4 +print(b) +# output +# 1 + +a = 2 +b = 2 / 8 +print(a / 8) +# output +# 0.25 + +c = 1 +a = 2 +c = 2 * 3 +print(c) +# output +# 6 + +b = 4 +d = 9 +print(d + 6) +# output +# 15 + +e = 9 +print(e * e) +# output +# 81 + +e = 2 +a = 1 +print(a + a) +# output +# 2 + +d = 2 +b = 4 * d +print(b) +# output +# 8 + +b = 5 +d = 5 +print(d - 6) +# output +# -1 + +b = 7 +e = 4 +d = 0 - b +print(b - e) +# output +# 3 + +d = 6 +b = 5 +print(d - d) +# output +# 0 + +a = 9 +e = 9 +d = 8 + 1 +print(a * 0) +# output +# 0 + +b = 8 +e = 9 +d = 0 - b +print(e - b) +# output +# 1 + +b = 8 +b = 5 +print(b) +# output +# 5 + +d = 8 +b = 2 +e = 2 + b +print(e) +# output +# 4 + +d = 1 +d = 5 / 7 +print(d / d) +# output +# 1.0 + +d = 7 +a = 4 * d +print(d - 3) +# output +# 4 + +c = 6 +b = 3 + 1 +print(b) +# output +# 4 + +d = 3 +d = 8 - d +print(d + d) +# output +# 10 + +d = 2 +d = 7 +d = 7 + 4 +print(d / 9) +# output +# 1.2222222222222223 + +b = 2 +a = b - b +print(b - 6) +# output +# -4 + +e = 6 +d = 1 - 3 +print(d) +# output +# -2 + +c = 3 +e = 9 +e = 0 * c +print(e) +# output +# 0 + +a = 9 +e = 1 - a +print(a - 1) +# output +# 8 + +d = 9 +e = 9 +b = e + 2 +print(e - e) +# output +# 0 + +c = 3 +print(c + 3) +# output +# 6 + +a = 3 +c = 0 +print(c) +# output +# 0 + +a = 1 +d = 5 * 3 +print(a + a) +# output +# 2 + +b = 4 +e = 3 +a = b - 7 +print(e / e) +# output +# 1.0 + +b = 4 +c = 4 +print(b + 5) +# output +# 9 + +a = 5 +print(a / 3) +# output +# 1.6666666666666667 + +a = 0 +e = a + a +print(a + a) +# output +# 0 + +e = 6 +b = 1 +print(b - 2) +# output +# -1 + +b = 7 +e = 2 +b = 0 * 7 +print(b) +# output +# 0 + +d = 7 +print(d / d) +# output +# 1.0 + +a = 3 +print(a + 3) +# output +# 6 + +d = 9 +e = 5 +print(d) +# output +# 9 + +b = 6 +b = 4 - b +print(b + 0) +# output +# -2 + +b = 6 +c = 1 +print(c / 3) +# output +# 0.3333333333333333 + +a = 2 +e = 4 +a = a / 7 +print(a + a) +# output +# 0.5714285714285714 + +a = 4 +c = 0 +print(c - c) +# output +# 0 + +a = 6 +a = 6 +c = 9 - 7 +print(a * 4) +# output +# 24 + +c = 1 +a = 4 / 3 +print(c - 5) +# output +# -4 + +e = 8 +d = 2 - 0 +print(d) +# output +# 2 + +a = 2 +c = a * 6 +print(a / a) +# output +# 1.0 + +a = 3 +c = 5 +e = 2 + a +print(e) +# output +# 5 + +a = 5 +b = 7 +print(b / 2) +# output +# 3.5 + +d = 1 +b = 4 +print(b) +# output +# 4 + +d = 9 +c = d / d +print(c) +# output +# 1.0 + +e = 0 +c = e / 4 +print(e + 6) +# output +# 6 + +c = 0 +a = 3 +print(c + a) +# output +# 3 + +b = 7 +c = 9 +print(b) +# output +# 7 + +b = 8 +c = 3 +print(b) +# output +# 8 + +e = 1 +e = 6 / 6 +print(e) +# output +# 1.0 + +e = 7 +print(e - e) +# output +# 0 + +c = 4 +print(c * 4) +# output +# 16 + +c = 6 +print(c / 4) +# output +# 1.5 + +c = 5 +print(c + c) +# output +# 10 + +c = 4 +b = 5 +print(c + c) +# output +# 8 + +e = 2 +print(e - 7) +# output +# -5 + +c = 2 +d = 9 +print(d) +# output +# 9 + +b = 5 +c = 4 +print(b) +# output +# 5 + +c = 0 +b = 3 +a = 0 + 4 +print(b * 6) +# output +# 18 + +d = 9 +c = 4 +e = d / c +print(e) +# output +# 2.25 + +b = 8 +b = 1 +d = b - 6 +print(d) +# output +# -5 + +e = 7 +d = e - 1 +print(e + e) +# output +# 14 + +e = 8 +c = 7 +e = e - c +print(e) +# output +# 1 + +d = 2 +e = 6 +print(e - 2) +# output +# 4 + +c = 2 +d = 6 +print(c / d) +# output +# 0.3333333333333333 + +d = 2 +print(d - 0) +# output +# 2 + +b = 2 +d = 4 +print(b / 1) +# output +# 2.0 + +a = 2 +e = 7 +print(e) +# output +# 7 + +a = 4 +c = 7 +print(a) +# output +# 4 + +a = 7 +a = 7 +print(a + a) +# output +# 14 + +b = 8 +b = 5 * 4 +print(b) +# output +# 20 + +d = 0 +print(d * d) +# output +# 0 + +d = 7 +b = 7 + d +print(b) +# output +# 14 + +d = 4 +a = 2 * d +print(a) +# output +# 8 + +d = 4 +d = 3 +b = d + 7 +print(b) +# output +# 10 + +e = 2 +a = 6 +c = a / 4 +print(c) +# output +# 1.5 + +c = 0 +a = c - c +print(a) +# output +# 0 + +e = 5 +c = 0 +print(e + 1) +# output +# 6 + +e = 2 +b = e - e +print(e / e) +# output +# 1.0 + +d = 7 +d = 5 +print(d) +# output +# 5 + +c = 8 +e = c + c +print(e) +# output +# 16 + +c = 4 +print(c - c) +# output +# 0 + +e = 9 +e = 7 * e +print(e + 7) +# output +# 70 + +c = 0 +d = 4 +e = c + 6 +print(e) +# output +# 6 + +a = 7 +d = 2 +print(a) +# output +# 7 + +b = 8 +c = 9 +d = c - b +print(d) +# output +# 1 + +d = 7 +e = 5 + d +print(e) +# output +# 12 + +d = 8 +d = 1 +e = d + d +print(d / 5) +# output +# 0.2 + +b = 8 +b = 2 +a = 3 / b +print(a) +# output +# 1.5 + +d = 4 +a = 2 * 5 +print(d / 6) +# output +# 0.6666666666666666 + +a = 3 +a = a * a +print(a) +# output +# 9 + +a = 9 +e = 3 +print(a + 1) +# output +# 10 + +e = 2 +d = e / e +print(d) +# output +# 1.0 + +d = 0 +a = 3 - d +print(a) +# output +# 3 + +d = 7 +a = 6 +print(a) +# output +# 6 + +d = 1 +b = 5 +print(b - 6) +# output +# -1 + +c = 9 +e = 3 - 8 +print(c + 9) +# output +# 18 + +e = 9 +e = e / e +print(e - 0) +# output +# 1.0 + +d = 4 +print(d + 4) +# output +# 8 + +b = 7 +c = 1 +print(c + 7) +# output +# 8 + +a = 2 +b = 1 +print(a / 9) +# output +# 0.2222222222222222 + +e = 6 +a = 7 +d = a - 1 +print(d) +# output +# 6 + +d = 1 +a = 6 +print(d) +# output +# 1 + +c = 0 +d = 5 +print(c) +# output +# 0 + +c = 6 +e = 0 +print(e + 1) +# output +# 1 + +e = 8 +c = 9 +c = 5 - 3 +print(c) +# output +# 2 + +c = 8 +c = 0 +b = 9 * c +print(b) +# output +# 0 + +d = 8 +e = 8 * d +print(d + d) +# output +# 16 + +d = 0 +d = 7 +print(d + 3) +# output +# 10 + +e = 8 +a = 1 +c = 5 * 9 +print(a * 9) +# output +# 9 + +e = 7 +d = 0 +e = 9 - 1 +print(e - 7) +# output +# 1 + +a = 2 +print(a * 6) +# output +# 12 + +c = 3 +a = 2 * 7 +print(c - c) +# output +# 0 + +c = 8 +c = 5 / c +print(c + c) +# output +# 1.25 + +e = 8 +c = 7 +print(c) +# output +# 7 + +b = 8 +a = 6 +print(b) +# output +# 8 + +e = 9 +b = 3 +print(b) +# output +# 3 + +e = 2 +b = 4 +c = e + 0 +print(b * 1) +# output +# 4 + +b = 6 +c = 3 +b = 3 - 3 +print(c - c) +# output +# 0 + +e = 0 +d = e - 4 +print(d) +# output +# -4 + +d = 9 +print(d * 6) +# output +# 54 + +a = 8 +a = 9 +d = a / 8 +print(d) +# output +# 1.125 + +d = 6 +a = d - 2 +print(a) +# output +# 4 + +d = 5 +d = 3 +a = d * d +print(d - 8) +# output +# -5 + +a = 9 +d = 2 +d = a + d +print(d) +# output +# 11 + +e = 2 +c = 2 +print(c * 6) +# output +# 12 + +d = 9 +d = 6 +b = d - 0 +print(b) +# output +# 6 + +d = 9 +b = 4 +a = d + 3 +print(a) +# output +# 12 + +c = 1 +print(c - c) +# output +# 0 + +b = 7 +b = 7 +print(b) +# output +# 7 + +e = 1 +c = e + e +print(c) +# output +# 2 + +b = 5 +d = 1 +e = d - 7 +print(d + b) +# output +# 6 + +e = 2 +a = 6 +print(a) +# output +# 6 + +e = 6 +e = 7 +print(e) +# output +# 7 + +e = 7 +print(e / 7) +# output +# 1.0 + +c = 6 +c = 1 * 4 +print(c) +# output +# 4 + +d = 8 +e = 3 +a = d / d +print(e / e) +# output +# 1.0 + +d = 0 +b = 2 +print(d * d) +# output +# 0 + +b = 2 +print(b - b) +# output +# 0 + +c = 5 +c = 0 +print(c) +# output +# 0 + +e = 7 +e = 6 +b = e * 5 +print(e * e) +# output +# 36 + +b = 8 +a = 8 +print(b - 4) +# output +# 4 + +e = 3 +c = e + e +print(e - e) +# output +# 0 + +b = 0 +a = 4 +print(a * 1) +# output +# 4 + +b = 9 +b = 9 +d = 7 + b +print(d) +# output +# 16 + +e = 3 +b = 7 +print(b) +# output +# 7 + +c = 7 +print(c * 4) +# output +# 28 + +a = 0 +print(a) +# output +# 0 + +c = 0 +c = 6 - 8 +print(c) +# output +# -2 + +b = 9 +e = 1 +print(e) +# output +# 1 + +b = 8 +b = 9 - 6 +print(b) +# output +# 3 + +b = 4 +c = 7 +c = c / c +print(c) +# output +# 1.0 + +e = 3 +print(e + 8) +# output +# 11 + +e = 2 +d = e + e +print(e * e) +# output +# 4 + +e = 3 +e = e + 5 +print(e) +# output +# 8 + +c = 2 +b = c * c +print(c / 1) +# output +# 2.0 + +d = 5 +d = d / d +print(d - 4) +# output +# -3.0 + +d = 3 +b = 4 +d = 4 / 3 +print(b * b) +# output +# 16 + +e = 6 +print(e + e) +# output +# 12 + +b = 8 +c = 7 / 7 +print(b + b) +# output +# 16 + +b = 8 +c = 7 +print(b) +# output +# 8 + +c = 2 +e = 2 +print(c - 1) +# output +# 1 + +c = 4 +b = 1 +print(c + c) +# output +# 8 + +a = 6 +e = 6 +a = e * a +print(a) +# output +# 36 + +e = 1 +a = 0 - 8 +print(a) +# output +# -8 + +c = 1 +print(c + c) +# output +# 2 + +e = 3 +print(e - e) +# output +# 0 + +d = 6 +e = 6 +print(e) +# output +# 6 + +d = 8 +d = 5 +e = 9 - d +print(e) +# output +# 4 + +d = 3 +d = d / d +print(d - 8) +# output +# -7.0 + +a = 8 +a = 9 +print(a) +# output +# 9 + +a = 6 +b = 6 +a = 3 - 3 +print(a) +# output +# 0 + +c = 5 +print(c) +# output +# 5 + +c = 5 +e = 6 +e = e + 2 +print(e) +# output +# 8 + +a = 9 +d = 1 +print(a * d) +# output +# 9 + +b = 3 +e = 1 +d = e * 6 +print(d) +# output +# 6 + +e = 2 +e = 6 +a = e - e +print(e + e) +# output +# 12 + +e = 4 +a = 7 - 0 +print(e * e) +# output +# 16 + +d = 9 +e = 6 +print(e) +# output +# 6 + +d = 7 +e = 8 +print(e / d) +# output +# 1.1428571428571428 + +d = 1 +a = 4 + 6 +print(a) +# output +# 10 + +d = 7 +b = 9 / d +print(d - d) +# output +# 0 + +e = 8 +d = 5 +a = e - d +print(e / e) +# output +# 1.0 + +b = 2 +a = 0 +print(a * 2) +# output +# 0 + diff --git a/data/.ipynb_checkpoints/tinypy_generator-checkpoint.py b/data/.ipynb_checkpoints/tinypy_generator-checkpoint.py new file mode 100644 index 0000000..81b36e7 --- /dev/null +++ b/data/.ipynb_checkpoints/tinypy_generator-checkpoint.py @@ -0,0 +1,332 @@ +from anytree import Node, RenderTree +import random +from io import StringIO +from contextlib import redirect_stdout +import argparse +import time +from tqdm.auto import tqdm +import hashlib +import os +import psutil + + +class CodeGenerator: + def __init__(self): + """ + Initialize the CodeGenerator object with the given context-free grammar rules. + + """ + + self.init_count = 0 + self.max_init = 0 + + # Dictionary containing context-free grammar rules. + self.cfg_rules = { + # Variables and digits + "VARIABLE": ["a", "b", "c", "d", "e"], + "DIGIT": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"], + + # Operators + "ARITHMETIC_OPERATOR": ["+", "-", "*", "/"], + "RELATIONAL_OPERATOR": ["<", ">", "<=", ">=", "!=", "=="], + "LOGICAL_OPERATOR_INFIX": ["and", "or"], + "LOGICAL_OPERATOR_PREFIX": ["not"], + "LOGICAL_OPERATOR": ["LOGICAL_OPERATOR_INFIX", "LOGICAL_OPERATOR_PREFIX"], + "OPERATOR": ["ARITHMETIC_OPERATOR"], + + # Formatting + "NEW_LINE": ["\n"], + "TAB_INDENT": ["\t"], + "BRACKET_OPEN": ['('], + "BRACKET_CLOSE": [')'], + "EQUALS": ["="], + "COLON": [":"], + "COMMA": [","], + + + # Keywords + "IF": ["if"], + "ELIF": ["elif"], + "ELSE": ["else"], + "FOR": ["for"], + "IN": ["in"], + "RANGE": ["range"], + "WHILE": ["while"], + "PRINT": ["print"], + + # Terms and expressions + "TERM": ["EXPRESSION_IDENTIFIER", "DIGIT"], + "EXPRESSION": ["TERM SPACE OPERATOR SPACE TERM"], + "ENCLOSED_EXPRESSION": ["BRACKET_OPEN EXPRESSION BRACKET_CLOSE"], + "DISPLAY_EXPRESSION": ["EXPRESSION_IDENTIFIER SPACE OPERATOR SPACE EXPRESSION_IDENTIFIER" , + "EXPRESSION_IDENTIFIER SPACE OPERATOR SPACE DIGIT"], + + # Initializations and assignments + "IDENTIFIER_INITIALIZATION": ["IDENTIFIER_INITIALIZATION INITIALIZATION", + "INITIALIZATION"], + + "INITIALIZATION": ["VARIABLE SPACE EQUALS SPACE DIGIT NEW_LINE"], + + "SIMPLE_ASSIGNMENTS": ["VARIABLE SPACE EQUALS SPACE EXPRESSION NEW_LINE" , ""], + "ADVANCED_ASSIGNMENTS": ["VARIABLE SPACE EQUALS SPACE SIMPLE_ARITHMETIC_EVALUATION NEW_LINE", + "VARIABLE SPACE EQUALS SPACE EXPRESSION NEW_LINE" , + ""], + + "SIMPLE_ARITHMETIC_EVALUATION": ["SIMPLE_ARITHMETIC_EVALUATION ARITHMETIC_OPERATOR ENCLOSED_EXPRESSION", + "ENCLOSED_EXPRESSION", + ], + + # Conditions + "SIMPLE_IF_STATEMENT": ["IF SPACE CONDITION SPACE COLON NEW_LINE"], + "ADVANCED_IF_STATEMENT": ["IF SPACE CHAIN_CONDITION SPACE COLON NEW_LINE"], + "SIMPLE_ELIF_STATEMENT": ["ELIF SPACE CONDITION SPACE COLON NEW_LINE"], + "ADVANCED_ELIF_STATEMENT": ["ELIF SPACE CHAIN_CONDITION SPACE COLON NEW_LINE"], + "ELSE_STATEMENT": ["ELSE SPACE COLON NEW_LINE"], + + "CHAIN_CONDITION": ["CHAIN_CONDITION SPACE LOGICAL_OPERATOR_INFIX SPACE ENCLOSED_CONDITION", + "LOGICAL_OPERATOR_PREFIX SPACE ENCLOSED_CONDITION", + "ENCLOSED_CONDITION"], + "ENCLOSED_CONDITION": ["BRACKET_OPEN CONDITION BRACKET_CLOSE"], + "CONDITION": ["OPTIONAL_NOT CONDITION_EXPRESSION", "CONDITION_EXPRESSION"], + "CONDITION_EXPRESSION": ["EXPRESSION_IDENTIFIER SPACE RELATIONAL_OPERATOR SPACE EXPRESSION_IDENTIFIER", + "EXPRESSION_IDENTIFIER SPACE RELATIONAL_OPERATOR SPACE DIGIT"], + "OPTIONAL_NOT": ["LOGICAL_OPERATOR_PREFIX SPACE", "SPACE"], + + # Loops + "FOR_HEADER": ["FOR SPACE EXPRESSION_IDENTIFIER SPACE IN SPACE RANGE BRACKET_OPEN INITIAL COMMA SPACE FINAL COMMA SPACE STEP BRACKET_CLOSE SPACE COLON", + "FOR SPACE EXPRESSION_IDENTIFIER SPACE IN SPACE RANGE BRACKET_OPEN INITIAL COMMA SPACE FINAL BRACKET_CLOSE SPACE COLON"], + "INITIAL": ["DIGIT"], + "FOR_LOOP": ["FOR_HEADER NEW_LINE TAB_INDENT DISPLAY"], + "ADVANCED_FOR_LOOP": ["FOR_LOOP", + "FOR_HEADER NEW_LINE TAB_INDENT ADVANCED_DISPLAY"], + + + # Displaying + "DISPLAY" : ["PRINT BRACKET_OPEN DISPLAY_IDENTIFIER BRACKET_CLOSE"], + "ADVANCED_DISPLAY" : ["DISPLAY", + "PRINT BRACKET_OPEN DISPLAY_EXPRESSION BRACKET_CLOSE"], + + + "LEVEL1.1": ["IDENTIFIER_INITIALIZATION SIMPLE_ASSIGNMENTS ADVANCED_DISPLAY"], + "LEVEL1.2": ["IDENTIFIER_INITIALIZATION ADVANCED_ASSIGNMENTS ADVANCED_DISPLAY"], + "LEVEL2.1": ["IDENTIFIER_INITIALIZATION SIMPLE_IF_STATEMENT TAB_INDENT DISPLAY", + "IDENTIFIER_INITIALIZATION SIMPLE_IF_STATEMENT TAB_INDENT DISPLAY NEW_LINE SIMPLE_ELIF_STATEMENT TAB_INDENT DISPLAY NEW_LINE ELSE_STATEMENT TAB_INDENT DISPLAY", + "IDENTIFIER_INITIALIZATION SIMPLE_IF_STATEMENT TAB_INDENT DISPLAY NEW_LINE ELSE_STATEMENT TAB_INDENT DISPLAY"], + "LEVEL2.2": ["IDENTIFIER_INITIALIZATION ADVANCED_ASSIGNMENTS ADVANCED_IF_STATEMENT TAB_INDENT ADVANCED_DISPLAY", + "IDENTIFIER_INITIALIZATION ADVANCED_ASSIGNMENTS ADVANCED_IF_STATEMENT TAB_INDENT ADVANCED_DISPLAY NEW_LINE ADVANCED_ELIF_STATEMENT TAB_INDENT ADVANCED_DISPLAY NEW_LINE ELSE_STATEMENT TAB_INDENT ADVANCED_DISPLAY", + "IDENTIFIER_INITIALIZATION ADVANCED_ASSIGNMENTS ADVANCED_IF_STATEMENT TAB_INDENT ADVANCED_DISPLAY NEW_LINE ELSE_STATEMENT TAB_INDENT ADVANCED_DISPLAY"], + "LEVEL3.1": ["IDENTIFIER_INITIALIZATION FOR_LOOP"], + "LEVEL3.2": ["IDENTIFIER_INITIALIZATION ADVANCED_ASSIGNMENTS ADVANCED_FOR_LOOP"], + + "ALL": ["LEVEL1.1", "LEVEL1.2", "LEVEL2.1", "LEVEL2.2", "LEVEL3.1", "LEVEL3.2"], + + } + + + + def generate_code(self, symbol, assigned_identifiers, last_variable, for_init_step, parent=None ): + """ + Generate code recursively based on the context-free grammar rules. + + Parameters: + - symbol (str): The symbol to generate code for. + - assigned_identifiers (set): Set of assigned identifiers. + - last_variable (set): Set of the last used variables. + - parent (Node): Parent node in the syntax tree. + + Returns: + - str: The generated code. + """ + node = Node(symbol, parent=parent) + + if symbol in self.cfg_rules: + if symbol == "IDENTIFIER_INITIALIZATION": + if self.init_count < self.max_init: + self.init_count += 1 + else: + symbol = "INITIALIZATION" + + rule = random.choice(self.cfg_rules[symbol]) + symbols = rule.split(" ") + + generated_symbols = [self.generate_code(s, assigned_identifiers, last_variable, for_init_step, node) for s in symbols] + + if symbol == "INITIAL": + init = generated_symbols[0] + for_init_step["initial_value"] = init + + + if symbol == "INITIALIZATION": + assigned_identifiers.add(generated_symbols[0]) + + if (symbol == "SIMPLE_ASSIGNMENTS") or (symbol == "ADVANCED_ASSIGNMENTS"): + if generated_symbols[0]: + last_variable.add(generated_symbols[0]) + + return ''.join(generated_symbols) + + elif symbol == "FINAL": + + initial_value = for_init_step.get("initial_value", "0") + + # Generate valid step_value and execution_count + valid_values = [(1, 2), (2, 1), (2, 2), (2, 3), (3, 2)] + step_value, execution_count = random.choice(valid_values) + for_init_step["step"] = str(step_value) + + final_value = step_value * execution_count + int(initial_value) - 1 + return str(final_value) + + + + elif symbol == "STEP": + + return for_init_step.get("step", "0") + + elif symbol == "EXPRESSION_IDENTIFIER": + identifier = random.choice(tuple(assigned_identifiers)) if assigned_identifiers else random.choice(self.cfg_rules["DIGIT"]) + return identifier + + elif symbol == "DISPLAY_IDENTIFIER": + try: + return f"{tuple(last_variable)[0]}" + except: + return f"{random.choice(tuple(assigned_identifiers))}" + else: + return symbol + + + + def print_tree(self, root): + """ + Print the syntax tree using the RenderTree utility from the anytree module. + + Parameters: + - root (Node): The root node of the syntax tree. + """ + for pre, _, node in RenderTree(root): + print(f"{pre}{node.name}") + + def generate_program(self, level): + """ + Generate a program based on the specified level. + + Parameters: + - level (str): The level of the program. + + Returns: + - Tuple[Node, str]: The syntax tree root node and the generated program. + """ + assigned = set() + last_variable = set() + for_init_step = {} + root = Node("ROOT") + + self.init_count = 0 + if level == "1.1": + self.max_init = 2 + elif level == "1.2": + self.max_init = 3 + elif level == "2.1": + self.max_init = 2 + elif level == "3.1": + self.max_init = 2 + elif level == "3.2": + self.max_init = 4 + else: + self.max_init = 5 + + if level == "ALL" : + level_passed = level + else : + level_passed = "LEVEL" + level + + program = self.generate_code(level_passed, assigned, last_variable, for_init_step, root) + + return root, program.replace("SPACE", " ") + + def memory_usage(self): + process = psutil.Process(os.getpid()) + mem_info = process.memory_info() + return mem_info.rss + + def generate_and_write_programs(self, num_programs, level, filename='data.txt', deduplicate=True): + """ + Generate and write a specified number of programs to a file. + + Parameters: + - num_programs (int): Number of programs to generate and write. + - level (str): The level of the programs. + - filename (str): Name of the file to write the programs (default is 'data.txt'). + - deduplicate (bool, optional): Whether to perform deduplication of generated programs (default is True). + """ + start_time = time.time() + start_mem = self.memory_usage() + max_tries = 1000 + num_tries = 0 + + with open(filename, 'w') as file: + + generated_programs = 0 + hashes = set() + pbar = tqdm(desc="Generation", total=num_programs) + while generated_programs < num_programs: + try: + root, program = self.generate_program(level) + code = program + "\n# output" + + SIO = StringIO() + with redirect_stdout(SIO): + exec(code) + output = SIO.getvalue().strip() + + output = '\n'.join([f'# {line}' if line else f'# ' for line in output.split('\n')]) + result = f"""{code}\n{output}""" + + program_hash = hashlib.sha256(result.encode('utf-8')).hexdigest() + + if deduplicate: + if program_hash not in hashes: + hashes.add(program_hash) + file.write(result + '\n\n') + generated_programs += 1 + pbar.update(1) + num_tries = 0 + else: + num_tries += 1 + if num_tries >= max_tries: + print("Hit max tries in deduplication, stopping generation.") + break + else: + file.write(result + '\n\n') + + generated_programs += 1 + pbar.update(1) + + except Exception as e: + continue + + pbar.close() + end_time = time.time() + end_mem = self.memory_usage() + deduplication_info = "with deduplication" if deduplicate else "without deduplication" + print(f"Code generation completed in {end_time - start_time:.2f} seconds.") + print(f"Memory used during code generation: {end_mem - start_mem} bytes") + print(f"Generated {generated_programs} {'unique ' if deduplicate else ''}programs {deduplication_info}.") + print(f"Programs are saved to {filename}.") + + +def main(): + parser = argparse.ArgumentParser(description='Generate and write programs based on a specified level. ') + parser.add_argument('--num_programs', type=int, default=3000000, help='Number of programs to generate and write (default is 1000)') + parser.add_argument('--level', default="3.1", help='The level of the programs (1.1, 1.2, 2.1, 2.2, 3.1, 3.2, ALL)') + parser.add_argument('--filename', default='3.1.txt', help='Name of the file to write the programs (default is data.txt)') + parser.add_argument('--deduplicate', action='store_true', default=True, help='Perform deduplication of generated programs (default is True)a') + + args = parser.parse_args() + + code_generator = CodeGenerator() + code_generator.generate_and_write_programs(num_programs=args.num_programs, level=args.level, filename=args.filename, deduplicate=args.deduplicate) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/data/meta.pkl b/data/meta.pkl new file mode 100644 index 0000000..a5db975 Binary files /dev/null and b/data/meta.pkl differ diff --git a/data/prepare.py b/data/prepare.py new file mode 100644 index 0000000..cb2189e --- /dev/null +++ b/data/prepare.py @@ -0,0 +1,83 @@ +import os +import pickle +import requests +import numpy as np + +input_file_path = os.path.join(os.path.dirname(__file__), 'sample_data.txt' ) + +with open(input_file_path, 'r') as f: + data = f.read() +print(f"length of dataset in characters: {len(data):,}\n") + + +# get all the unique characters that occur in this text +chars = sorted(list(set(data))) +vocab_size = len(chars) +print("all the unique characters:", ''.join(chars)) +print(f"vocab size: {vocab_size:,}") + +# create a mapping from characters to integers +stoi = { ch:i for i,ch in enumerate(chars) } +itos = { i:ch for i,ch in enumerate(chars) } +def encode(s): + return [stoi[c] for c in s] # encoder: take a string, output a list of integers +def decode(l): + ''.join([itos[i] for i in l]) # decoder: take a list of integers, output a string + + +# save the meta information as well, to help us encode/decode later +meta = { + 'vocab_size': vocab_size, + 'itos': itos, + 'stoi': stoi, +} +with open(f'meta.pkl', 'wb') as f: + pickle.dump(meta, f) + + +# split by examples using "\n\n" +examples = data.split("\n\n")[:-1] +n = len(examples) +print(f"total number of examples: {n:,}\n") +# shuffle the examples +np.random.shuffle(examples) + +# split into train, val, and test sets +train_examples = examples[:int(n*0.8)] +val_examples = examples[int(n*0.8):int(n*0.9)] +test_examples = examples[int(n*0.9):] + +# join the examples back into strings +train_data = "\n\n".join(train_examples) +val_data = "\n\n".join(val_examples) +test_data = "\n\n".join(test_examples) + + + +# Save train, val, and test sets to separate files +with open(os.path.join(os.path.dirname(__file__), 'train.txt'), 'w') as f: + f.write(train_data) +with open(os.path.join(os.path.dirname(__file__), 'val.txt'), 'w') as f: + f.write(val_data) +with open(os.path.join(os.path.dirname(__file__), 'test.txt'), 'w') as f: + f.write(test_data) + + + + +# encode both to integers +train_ids = encode(train_data) +val_ids = encode(val_data) +test_ids = encode(test_data) +print(f"train has {len(train_ids):,} tokens for {len(train_examples):,} examples") +print(f"val has {len(val_ids):,} tokens for {len(val_examples):,} examples") +print(f"test has {len(test_ids):,} tokens for {len(test_examples):,} examples\n") + +# export to bin files +train_ids = np.array(train_ids, dtype=np.uint16) +val_ids = np.array(val_ids, dtype=np.uint16) +test_ids = np.array(test_ids, dtype=np.uint16) +train_ids.tofile(os.path.join(os.path.dirname(__file__), 'train.bin')) +val_ids.tofile(os.path.join(os.path.dirname(__file__), 'val.bin')) +test_ids.tofile(os.path.join(os.path.dirname(__file__), 'test.bin')) + diff --git a/data/sample_data.txt b/data/sample_data.txt new file mode 100644 index 0000000..dd6e285 --- /dev/null +++ b/data/sample_data.txt @@ -0,0 +1,6098 @@ +d = 0 +b = d * d +print(b) +# output +# 0 + +c = 5 +d = 5 +d = c - 4 +print(d) +# output +# 1 + +d = 5 +a = 0 +print(a + d) +# output +# 5 + +b = 2 +print(b) +# output +# 2 + +a = 8 +e = a + 1 +print(a / a) +# output +# 1.0 + +e = 8 +print(e) +# output +# 8 + +d = 0 +e = 7 +c = d / 1 +print(e / e) +# output +# 1.0 + +d = 6 +c = 4 + 1 +print(d + 2) +# output +# 8 + +d = 9 +d = 7 +print(d) +# output +# 7 + +c = 2 +e = 8 +print(e) +# output +# 8 + +e = 5 +c = 8 +print(c) +# output +# 8 + +c = 2 +c = 7 + c +print(c * c) +# output +# 81 + +a = 2 +print(a / a) +# output +# 1.0 + +c = 5 +e = 1 +print(c) +# output +# 5 + +d = 6 +d = 0 +b = d * 5 +print(d * d) +# output +# 0 + +e = 1 +c = 8 +print(c * 2) +# output +# 16 + +e = 4 +b = 8 +d = 4 + b +print(d) +# output +# 12 + +d = 9 +print(d) +# output +# 9 + +a = 8 +print(a - a) +# output +# 0 + +d = 5 +a = 0 * d +print(a) +# output +# 0 + +d = 5 +print(d) +# output +# 5 + +a = 8 +print(a) +# output +# 8 + +c = 8 +d = 4 +print(d / 9) +# output +# 0.4444444444444444 + +e = 6 +c = 4 +b = c + c +print(e / e) +# output +# 1.0 + +b = 8 +a = 5 - b +print(a) +# output +# -3 + +a = 4 +e = 4 +print(e) +# output +# 4 + +b = 3 +a = 0 +print(a) +# output +# 0 + +d = 4 +b = 6 / 2 +print(b) +# output +# 3.0 + +d = 9 +b = 6 +print(b - b) +# output +# 0 + +e = 7 +print(e * 9) +# output +# 63 + +e = 4 +e = 8 * 8 +print(e) +# output +# 64 + +a = 5 +a = 7 +a = a + a +print(a) +# output +# 14 + +e = 8 +print(e * e) +# output +# 64 + +e = 9 +e = 9 +print(e + e) +# output +# 18 + +a = 0 +b = a + a +print(a / 9) +# output +# 0.0 + +d = 6 +a = d / d +print(a) +# output +# 1.0 + +e = 2 +b = 0 + e +print(e - 4) +# output +# -2 + +e = 6 +c = 1 / e +print(e + e) +# output +# 12 + +d = 7 +c = 7 +print(c) +# output +# 7 + +b = 7 +print(b) +# output +# 7 + +c = 3 +a = 0 +e = c / 3 +print(a + c) +# output +# 3 + +e = 5 +print(e - 0) +# output +# 5 + +e = 8 +d = 0 - e +print(e / e) +# output +# 1.0 + +a = 5 +b = 5 +e = 9 - 2 +print(a * a) +# output +# 25 + +e = 4 +print(e + e) +# output +# 8 + +e = 2 +b = e / e +print(e + 8) +# output +# 10 + +b = 7 +a = 1 +print(a) +# output +# 1 + +a = 4 +a = 2 +print(a) +# output +# 2 + +b = 2 +a = 7 +print(a) +# output +# 7 + +e = 6 +b = 5 +c = 4 / 9 +print(e * 6) +# output +# 36 + +a = 4 +c = 0 +d = 9 / a +print(d) +# output +# 2.25 + +c = 6 +d = 9 - 5 +print(c / 1) +# output +# 6.0 + +d = 5 +d = 9 - 7 +print(d) +# output +# 2 + +b = 3 +a = 0 +c = 6 - 1 +print(c) +# output +# 5 + +a = 8 +print(a * a) +# output +# 64 + +d = 8 +d = 4 * 5 +print(d) +# output +# 20 + +b = 1 +a = 1 + b +print(a) +# output +# 2 + +c = 8 +print(c / 3) +# output +# 2.6666666666666665 + +c = 0 +b = 1 +c = 4 - 0 +print(b + b) +# output +# 2 + +e = 7 +b = 2 +print(e) +# output +# 7 + +a = 9 +b = a * 0 +print(a / a) +# output +# 1.0 + +d = 8 +a = 5 +print(d) +# output +# 8 + +e = 4 +b = 0 + e +print(e + 1) +# output +# 5 + +e = 9 +a = 1 +c = 9 * a +print(e + 9) +# output +# 18 + +b = 3 +c = 1 +e = 6 - c +print(e) +# output +# 5 + +e = 3 +e = e / 1 +print(e) +# output +# 3.0 + +e = 4 +e = 5 +print(e) +# output +# 5 + +c = 9 +print(c) +# output +# 9 + +a = 9 +print(a) +# output +# 9 + +a = 3 +print(a) +# output +# 3 + +a = 0 +d = a * 9 +print(d) +# output +# 0 + +b = 8 +b = 2 / 5 +print(b / b) +# output +# 1.0 + +b = 4 +b = 8 +d = b - 0 +print(d) +# output +# 8 + +d = 4 +d = 4 +print(d) +# output +# 4 + +b = 1 +print(b * 6) +# output +# 6 + +c = 1 +e = c / c +print(c + 5) +# output +# 6 + +a = 5 +print(a) +# output +# 5 + +a = 9 +c = 2 +a = c - 2 +print(a + a) +# output +# 0 + +d = 3 +c = 7 / 2 +print(d - d) +# output +# 0 + +b = 6 +b = 4 +b = b / b +print(b - 4) +# output +# -3.0 + +c = 6 +a = 0 +d = a - a +print(c / 2) +# output +# 3.0 + +a = 7 +c = a * a +print(a / a) +# output +# 1.0 + +d = 4 +d = 1 +a = 1 - d +print(d / d) +# output +# 1.0 + +d = 2 +e = d + 1 +print(e) +# output +# 3 + +e = 1 +print(e + 3) +# output +# 4 + +b = 6 +c = 4 +print(b / b) +# output +# 1.0 + +b = 7 +d = 4 +print(b) +# output +# 7 + +a = 5 +c = 8 +print(a) +# output +# 5 + +b = 6 +b = 5 +b = b - b +print(b / 3) +# output +# 0.0 + +a = 3 +print(a + a) +# output +# 6 + +b = 3 +print(b) +# output +# 3 + +e = 3 +d = 8 +a = d / d +print(d - e) +# output +# 5 + +c = 3 +d = 5 +a = c - c +print(c / d) +# output +# 0.6 + +c = 4 +d = 5 +d = c / 1 +print(d + c) +# output +# 8.0 + +e = 6 +print(e) +# output +# 6 + +d = 6 +c = 3 +a = 9 + d +print(a) +# output +# 15 + +b = 1 +e = b * b +print(e) +# output +# 1 + +e = 6 +print(e - e) +# output +# 0 + +e = 6 +print(e - 6) +# output +# 0 + +d = 9 +c = 5 +e = c / 7 +print(e) +# output +# 0.7142857142857143 + +e = 9 +c = 0 +print(e) +# output +# 9 + +c = 8 +print(c * c) +# output +# 64 + +e = 2 +c = 3 +print(c) +# output +# 3 + +d = 1 +b = 8 +print(d * 1) +# output +# 1 + +d = 0 +print(d) +# output +# 0 + +e = 9 +print(e) +# output +# 9 + +d = 7 +b = 3 +print(b) +# output +# 3 + +d = 0 +c = 6 +e = 7 * c +print(e) +# output +# 42 + +c = 2 +print(c) +# output +# 2 + +b = 7 +d = 1 +print(d - b) +# output +# -6 + +e = 3 +d = e - 2 +print(e / e) +# output +# 1.0 + +b = 2 +a = b / b +print(a) +# output +# 1.0 + +d = 8 +e = d + d +print(e) +# output +# 16 + +a = 3 +b = 2 +c = b * 7 +print(c) +# output +# 14 + +b = 3 +print(b - b) +# output +# 0 + +b = 6 +c = 1 +print(b) +# output +# 6 + +a = 4 +e = 0 * 7 +print(a + 2) +# output +# 6 + +b = 0 +b = 1 +a = 1 + b +print(b - 7) +# output +# -6 + +a = 7 +e = a + 9 +print(a * 9) +# output +# 63 + +a = 9 +d = 9 + 5 +print(d) +# output +# 14 + +d = 9 +b = 9 +a = b - d +print(a) +# output +# 0 + +e = 3 +print(e / 6) +# output +# 0.5 + +c = 6 +print(c * 2) +# output +# 12 + +b = 1 +e = 7 +e = b * 4 +print(e + e) +# output +# 8 + +c = 5 +print(c - c) +# output +# 0 + +d = 2 +d = 2 + d +print(d) +# output +# 4 + +e = 7 +b = 6 +print(b * 6) +# output +# 36 + +b = 2 +print(b * 6) +# output +# 12 + +e = 7 +d = e + e +print(d) +# output +# 14 + +c = 0 +print(c / 2) +# output +# 0.0 + +b = 6 +a = 5 +e = b / 8 +print(e) +# output +# 0.75 + +c = 1 +c = 9 +d = 0 - 5 +print(d) +# output +# -5 + +a = 3 +c = 8 +d = 5 + 3 +print(d) +# output +# 8 + +d = 2 +a = d + d +print(a) +# output +# 4 + +a = 9 +a = 2 + 7 +print(a) +# output +# 9 + +d = 1 +print(d) +# output +# 1 + +e = 7 +print(e / 6) +# output +# 1.1666666666666667 + +c = 4 +d = 6 +e = d / d +print(c / c) +# output +# 1.0 + +c = 3 +print(c - 0) +# output +# 3 + +b = 1 +e = 0 +b = 4 + e +print(b / 3) +# output +# 1.3333333333333333 + +e = 3 +e = e / e +print(e / e) +# output +# 1.0 + +c = 1 +a = 7 +print(a) +# output +# 7 + +d = 3 +d = 8 +print(d) +# output +# 8 + +e = 9 +d = 2 - e +print(e - 1) +# output +# 8 + +b = 5 +b = 5 +print(b + b) +# output +# 10 + +b = 8 +print(b * 1) +# output +# 8 + +c = 4 +print(c) +# output +# 4 + +e = 9 +b = 1 +print(b) +# output +# 1 + +c = 0 +c = c - c +print(c) +# output +# 0 + +a = 7 +d = 5 +b = 3 / 3 +print(b) +# output +# 1.0 + +d = 5 +b = 2 +b = d * d +print(b) +# output +# 25 + +d = 8 +print(d - 5) +# output +# 3 + +e = 3 +a = e * e +print(e * 0) +# output +# 0 + +e = 2 +print(e * e) +# output +# 4 + +d = 2 +b = 4 +e = 8 + 3 +print(d / 5) +# output +# 0.4 + +d = 7 +d = 9 +print(d + 5) +# output +# 14 + +b = 9 +b = 1 / b +print(b * 0) +# output +# 0.0 + +b = 3 +d = 2 +d = 6 / 6 +print(d) +# output +# 1.0 + +b = 0 +print(b + b) +# output +# 0 + +e = 2 +c = 3 +e = 1 * 5 +print(e * c) +# output +# 15 + +a = 1 +b = 4 +e = 2 + 7 +print(a * b) +# output +# 4 + +a = 0 +e = 4 * a +print(a / 1) +# output +# 0.0 + +a = 9 +print(a - 6) +# output +# 3 + +a = 2 +a = 1 +print(a) +# output +# 1 + +a = 8 +d = 2 +a = d - 8 +print(a) +# output +# -6 + +d = 1 +b = 2 / d +print(b) +# output +# 2.0 + +c = 7 +print(c) +# output +# 7 + +e = 0 +e = 3 +print(e / 6) +# output +# 0.5 + +c = 1 +b = 1 + 4 +print(b) +# output +# 5 + +c = 9 +print(c / c) +# output +# 1.0 + +d = 4 +c = 6 +print(d + c) +# output +# 10 + +c = 4 +d = 3 +print(d + 6) +# output +# 9 + +c = 0 +a = 1 +print(a) +# output +# 1 + +d = 7 +c = 2 + 8 +print(d * 1) +# output +# 7 + +a = 9 +print(a / a) +# output +# 1.0 + +d = 1 +d = 0 +b = 2 * d +print(b) +# output +# 0 + +b = 2 +c = 7 +c = c + c +print(c) +# output +# 14 + +c = 5 +d = 3 +e = 2 + 6 +print(d / 8) +# output +# 0.375 + +a = 6 +e = a - 9 +print(e) +# output +# -3 + +e = 6 +b = 5 +a = 4 / b +print(a) +# output +# 0.8 + +d = 4 +b = 6 +a = 0 / d +print(a) +# output +# 0.0 + +c = 9 +e = 8 +b = 9 * e +print(b) +# output +# 72 + +d = 4 +d = d / d +print(d / 3) +# output +# 0.3333333333333333 + +c = 9 +e = 9 +print(c / c) +# output +# 1.0 + +a = 9 +d = a + 1 +print(a * a) +# output +# 81 + +b = 5 +a = 1 +b = a - a +print(b) +# output +# 0 + +d = 9 +print(d * 9) +# output +# 81 + +d = 4 +d = 3 +e = d * d +print(e) +# output +# 9 + +d = 6 +e = 0 +print(d * d) +# output +# 36 + +a = 4 +e = a / 2 +print(a + 1) +# output +# 5 + +b = 8 +print(b * b) +# output +# 64 + +d = 2 +a = 4 +c = d * 0 +print(c) +# output +# 0 + +c = 3 +a = 8 +e = a + a +print(a - a) +# output +# 0 + +c = 3 +print(c / c) +# output +# 1.0 + +e = 4 +d = 7 +d = e * 8 +print(e / 1) +# output +# 4.0 + +d = 8 +print(d / d) +# output +# 1.0 + +c = 3 +d = 7 +b = d / 8 +print(b) +# output +# 0.875 + +b = 2 +e = b - 5 +print(e) +# output +# -3 + +c = 8 +print(c - 2) +# output +# 6 + +e = 7 +a = e + e +print(a) +# output +# 14 + +b = 3 +e = 6 +print(b) +# output +# 3 + +b = 3 +a = 3 +print(a) +# output +# 3 + +b = 8 +d = 9 +a = d + 5 +print(a) +# output +# 14 + +a = 6 +b = 7 +d = a - 0 +print(d) +# output +# 6 + +a = 5 +print(a / 5) +# output +# 1.0 + +b = 7 +c = b * 6 +print(b * 9) +# output +# 63 + +b = 0 +print(b) +# output +# 0 + +a = 1 +print(a) +# output +# 1 + +c = 6 +a = 5 +d = c + 1 +print(d) +# output +# 7 + +d = 7 +a = 0 +print(a) +# output +# 0 + +c = 9 +e = 4 +print(c - 5) +# output +# 4 + +d = 7 +print(d) +# output +# 7 + +e = 6 +a = 4 - e +print(a) +# output +# -2 + +b = 7 +b = 8 +print(b) +# output +# 8 + +e = 3 +print(e) +# output +# 3 + +c = 9 +c = c + 7 +print(c) +# output +# 16 + +a = 1 +c = a + 9 +print(a * 4) +# output +# 4 + +c = 0 +b = 8 +print(c) +# output +# 0 + +d = 3 +d = 5 +print(d + d) +# output +# 10 + +b = 4 +d = 4 +e = 3 / 9 +print(d + 6) +# output +# 10 + +c = 0 +a = 4 +d = c / 4 +print(a / a) +# output +# 1.0 + +c = 5 +e = 0 +print(c) +# output +# 5 + +a = 6 +c = 8 +c = 6 + a +print(c) +# output +# 12 + +c = 0 +d = 8 +d = d - 9 +print(d) +# output +# -1 + +b = 5 +e = 7 - 8 +print(e) +# output +# -1 + +d = 7 +a = d * d +print(a) +# output +# 49 + +a = 4 +a = 4 +print(a) +# output +# 4 + +d = 4 +print(d * 6) +# output +# 24 + +b = 5 +b = 8 +c = b - b +print(c) +# output +# 0 + +d = 5 +c = 9 + d +print(c) +# output +# 14 + +e = 1 +print(e - e) +# output +# 0 + +b = 9 +print(b / 6) +# output +# 1.5 + +e = 5 +d = 0 * e +print(e + e) +# output +# 10 + +c = 1 +print(c) +# output +# 1 + +e = 7 +print(e) +# output +# 7 + +d = 6 +print(d + d) +# output +# 12 + +b = 8 +a = 2 +c = b + 1 +print(b * a) +# output +# 16 + +c = 8 +print(c / 1) +# output +# 8.0 + +e = 8 +b = 6 / e +print(e / 2) +# output +# 4.0 + +a = 5 +b = 2 +print(b / a) +# output +# 0.4 + +a = 1 +e = 7 - a +print(e) +# output +# 6 + +e = 3 +e = 4 +c = 6 - e +print(e + 3) +# output +# 7 + +b = 4 +e = b - 0 +print(b - 9) +# output +# -5 + +a = 6 +d = 0 +d = d + 0 +print(d) +# output +# 0 + +e = 5 +a = 0 - e +print(a) +# output +# -5 + +e = 6 +c = 3 / e +print(c) +# output +# 0.5 + +c = 8 +e = 8 +print(e * c) +# output +# 64 + +e = 1 +print(e / e) +# output +# 1.0 + +a = 0 +c = 3 +c = 2 + 5 +print(c) +# output +# 7 + +d = 1 +d = d * 2 +print(d) +# output +# 2 + +a = 3 +e = 9 +b = e - a +print(b) +# output +# 6 + +c = 5 +a = c + 9 +print(a) +# output +# 14 + +e = 5 +c = 1 +print(c - e) +# output +# -4 + +d = 7 +d = 9 +e = 3 * d +print(d - 9) +# output +# 0 + +d = 9 +c = 3 +e = d - 5 +print(d + c) +# output +# 12 + +d = 1 +b = 2 +print(b) +# output +# 2 + +e = 5 +print(e - e) +# output +# 0 + +a = 2 +a = 4 +print(a) +# output +# 4 + +b = 0 +c = 3 +print(b) +# output +# 0 + +e = 6 +b = 1 +d = e / e +print(d) +# output +# 1.0 + +e = 4 +print(e) +# output +# 4 + +e = 3 +b = 4 +a = e - 6 +print(a) +# output +# -3 + +c = 2 +c = c * c +print(c - 5) +# output +# -1 + +e = 1 +print(e) +# output +# 1 + +d = 6 +d = 3 / 7 +print(d * 7) +# output +# 3.0 + +d = 5 +d = d - d +print(d) +# output +# 0 + +e = 8 +a = 3 +print(e / a) +# output +# 2.6666666666666665 + +e = 9 +print(e + 9) +# output +# 18 + +b = 8 +e = b + b +print(e) +# output +# 16 + +c = 5 +e = 8 + c +print(e) +# output +# 13 + +c = 3 +c = 0 +a = c + 6 +print(c + 8) +# output +# 8 + +b = 5 +print(b + b) +# output +# 10 + +d = 2 +a = 6 +e = 2 - 6 +print(e) +# output +# -4 + +b = 8 +print(b) +# output +# 8 + +e = 7 +a = 2 +d = e / 3 +print(d) +# output +# 2.3333333333333335 + +a = 4 +e = 9 +print(e + a) +# output +# 13 + +a = 7 +e = 0 +d = 5 * e +print(a * a) +# output +# 49 + +c = 6 +a = 0 / 5 +print(a) +# output +# 0.0 + +e = 2 +c = 8 / e +print(e * 9) +# output +# 18 + +e = 1 +d = 0 +d = 4 - d +print(d - 7) +# output +# -3 + +a = 5 +a = 6 +c = 1 + 9 +print(a * 3) +# output +# 18 + +b = 3 +b = 5 +d = b * 2 +print(d) +# output +# 10 + +e = 1 +c = 3 +print(e - 3) +# output +# -2 + +c = 6 +b = 6 +print(b) +# output +# 6 + +d = 7 +c = 0 + 7 +print(c) +# output +# 7 + +c = 2 +e = 6 +b = c * 6 +print(b) +# output +# 12 + +a = 6 +e = a + a +print(a + a) +# output +# 12 + +e = 1 +b = 0 +print(b) +# output +# 0 + +d = 8 +c = d - 6 +print(c) +# output +# 2 + +e = 9 +a = 5 +print(e) +# output +# 9 + +a = 2 +c = 3 * 5 +print(c) +# output +# 15 + +d = 8 +print(d) +# output +# 8 + +c = 4 +b = 5 +c = 0 / c +print(c) +# output +# 0.0 + +c = 8 +b = 3 +print(b) +# output +# 3 + +e = 4 +e = 4 * e +print(e / 8) +# output +# 2.0 + +c = 3 +print(c) +# output +# 3 + +a = 2 +a = 5 +d = a + a +print(d) +# output +# 10 + +a = 7 +b = 1 +a = a / 5 +print(a) +# output +# 1.4 + +b = 7 +print(b / 4) +# output +# 1.75 + +a = 5 +e = 1 +print(a) +# output +# 5 + +c = 8 +b = c / 7 +print(c - c) +# output +# 0 + +e = 0 +a = 3 +print(a) +# output +# 3 + +e = 5 +e = e - e +print(e - e) +# output +# 0 + +a = 9 +e = 7 +print(e - e) +# output +# 0 + +a = 3 +c = a / 3 +print(c) +# output +# 1.0 + +d = 2 +a = 0 +e = 7 / 8 +print(d + a) +# output +# 2 + +d = 0 +e = 8 +print(e * e) +# output +# 64 + +d = 2 +a = 6 +print(d) +# output +# 2 + +d = 3 +a = 2 +print(d - a) +# output +# 1 + +e = 4 +a = 5 - e +print(e - 7) +# output +# -3 + +e = 7 +e = 9 +print(e) +# output +# 9 + +e = 1 +print(e * e) +# output +# 1 + +e = 5 +d = 2 - e +print(d) +# output +# -3 + +b = 1 +print(b * 9) +# output +# 9 + +e = 0 +c = 6 +print(e) +# output +# 0 + +c = 5 +print(c / c) +# output +# 1.0 + +e = 4 +c = 2 +e = e - 0 +print(c * c) +# output +# 4 + +e = 6 +d = 9 +print(d) +# output +# 9 + +a = 0 +b = a + a +print(b) +# output +# 0 + +c = 8 +b = 5 +print(c - 8) +# output +# 0 + +e = 8 +b = e / 6 +print(b) +# output +# 1.3333333333333333 + +d = 0 +b = 4 +print(b) +# output +# 4 + +c = 4 +d = 9 +b = 6 + 9 +print(b) +# output +# 15 + +e = 9 +print(e / 1) +# output +# 9.0 + +d = 1 +c = 0 +d = d / 7 +print(d * 2) +# output +# 0.2857142857142857 + +a = 9 +b = 0 +d = a + a +print(d) +# output +# 18 + +a = 4 +a = 5 +a = a * 7 +print(a / a) +# output +# 1.0 + +a = 3 +c = 6 +d = c / 7 +print(c - 1) +# output +# 5 + +d = 2 +d = d - d +print(d) +# output +# 0 + +c = 7 +b = 9 / c +print(b) +# output +# 1.2857142857142858 + +c = 4 +e = 4 +print(c * c) +# output +# 16 + +e = 8 +a = 0 +c = a + a +print(a * 7) +# output +# 0 + +a = 9 +d = 9 +b = a + 4 +print(a + 0) +# output +# 9 + +c = 4 +e = 3 +print(c * e) +# output +# 12 + +d = 8 +print(d + 9) +# output +# 17 + +d = 6 +d = 6 +d = d + d +print(d) +# output +# 12 + +a = 0 +print(a - 9) +# output +# -9 + +a = 6 +c = 7 +b = c + c +print(a - c) +# output +# -1 + +d = 4 +a = 8 +print(a * a) +# output +# 64 + +e = 4 +b = 3 +print(b) +# output +# 3 + +e = 9 +d = 6 / 4 +print(e / 1) +# output +# 9.0 + +a = 4 +print(a / a) +# output +# 1.0 + +a = 8 +c = 2 / 7 +print(a * a) +# output +# 64 + +d = 9 +b = 2 +c = 3 / d +print(b - b) +# output +# 0 + +d = 6 +b = d / d +print(b) +# output +# 1.0 + +c = 3 +b = 0 +d = c + b +print(d) +# output +# 3 + +c = 6 +e = 2 +d = 6 + 1 +print(c * 1) +# output +# 6 + +c = 4 +a = 4 +print(a) +# output +# 4 + +e = 9 +print(e / 3) +# output +# 3.0 + +c = 6 +c = 2 +print(c + c) +# output +# 4 + +c = 7 +print(c - c) +# output +# 0 + +b = 2 +c = 1 +print(b + 2) +# output +# 4 + +c = 0 +d = c + 6 +print(c * c) +# output +# 0 + +b = 9 +c = 4 + 6 +print(c) +# output +# 10 + +a = 6 +print(a) +# output +# 6 + +a = 6 +print(a - 3) +# output +# 3 + +e = 3 +a = 9 +a = 8 - a +print(a) +# output +# -1 + +a = 1 +b = 3 +print(a) +# output +# 1 + +b = 2 +a = 8 +d = b / 6 +print(a / 5) +# output +# 1.6 + +a = 6 +b = 0 +a = 3 - 3 +print(b / 9) +# output +# 0.0 + +e = 8 +a = 1 +d = 1 - 9 +print(e * e) +# output +# 64 + +c = 6 +e = 9 +d = 4 * c +print(c - 8) +# output +# -2 + +d = 1 +b = 6 +print(d) +# output +# 1 + +d = 0 +c = 7 +print(d - d) +# output +# 0 + +b = 6 +a = 4 / 9 +print(b - b) +# output +# 0 + +d = 5 +d = 9 +e = 0 - d +print(d * d) +# output +# 81 + +a = 4 +print(a * a) +# output +# 16 + +b = 5 +b = 0 - 7 +print(b) +# output +# -7 + +d = 5 +c = 8 +b = c + c +print(c + 6) +# output +# 14 + +e = 4 +d = 1 +print(e) +# output +# 4 + +a = 3 +c = a / a +print(c) +# output +# 1.0 + +e = 2 +print(e) +# output +# 2 + +b = 8 +b = 8 +print(b) +# output +# 8 + +e = 1 +b = 7 +print(b - 0) +# output +# 7 + +d = 9 +c = 7 - d +print(d - d) +# output +# 0 + +b = 8 +d = 3 +print(d / d) +# output +# 1.0 + +b = 2 +print(b + 3) +# output +# 5 + +b = 9 +a = 2 +b = a - 9 +print(a - 4) +# output +# -2 + +c = 7 +print(c / c) +# output +# 1.0 + +c = 8 +print(c) +# output +# 8 + +b = 8 +b = b / 8 +print(b) +# output +# 1.0 + +a = 0 +c = 8 +print(c) +# output +# 8 + +d = 9 +b = 6 +a = 6 + 5 +print(a) +# output +# 11 + +e = 6 +a = 8 - e +print(e + 3) +# output +# 9 + +c = 6 +a = 4 +print(a) +# output +# 4 + +e = 1 +c = e + 5 +print(e + 7) +# output +# 8 + +d = 8 +b = 7 +print(b) +# output +# 7 + +a = 1 +print(a * 0) +# output +# 0 + +b = 4 +print(b * b) +# output +# 16 + +e = 9 +a = 9 +print(a * e) +# output +# 81 + +e = 8 +a = 6 / e +print(e * e) +# output +# 64 + +b = 7 +d = b - 4 +print(b + 8) +# output +# 15 + +d = 4 +e = 3 +b = 0 + 8 +print(b) +# output +# 8 + +a = 2 +a = 8 +e = a + a +print(a - a) +# output +# 0 + +d = 9 +print(d - 9) +# output +# 0 + +e = 8 +e = 0 +print(e + e) +# output +# 0 + +b = 9 +b = 9 +print(b / 9) +# output +# 1.0 + +d = 4 +e = 3 +a = 9 - 9 +print(d * 4) +# output +# 16 + +c = 9 +d = 5 +print(d) +# output +# 5 + +b = 6 +b = 3 +print(b) +# output +# 3 + +d = 2 +e = d - d +print(d - d) +# output +# 0 + +c = 7 +e = 5 +d = 1 + c +print(c - 7) +# output +# 0 + +d = 0 +a = 9 +print(a * 7) +# output +# 63 + +d = 2 +print(d + d) +# output +# 4 + +e = 1 +a = 3 +e = e / a +print(e) +# output +# 0.3333333333333333 + +b = 2 +b = 3 +print(b * 7) +# output +# 21 + +d = 0 +a = 1 +print(a) +# output +# 1 + +a = 2 +e = 9 +c = 7 * a +print(a * e) +# output +# 18 + +c = 1 +e = 9 +d = 6 * 8 +print(e - e) +# output +# 0 + +a = 7 +b = a / a +print(a * a) +# output +# 49 + +e = 1 +a = 6 +print(a / 6) +# output +# 1.0 + +d = 3 +b = 4 +print(b) +# output +# 4 + +e = 3 +b = e * 6 +print(e / e) +# output +# 1.0 + +c = 4 +print(c + 3) +# output +# 7 + +e = 5 +print(e) +# output +# 5 + +d = 5 +d = d * d +print(d) +# output +# 25 + +d = 4 +a = 1 +print(d) +# output +# 4 + +d = 7 +e = 5 +e = e + d +print(e) +# output +# 12 + +d = 5 +print(d - d) +# output +# 0 + +d = 2 +print(d + 9) +# output +# 11 + +b = 6 +a = 2 +d = 9 - b +print(b - 0) +# output +# 6 + +d = 6 +b = d / 4 +print(d - 3) +# output +# 3 + +c = 7 +a = c - c +print(a) +# output +# 0 + +b = 0 +d = 0 +print(d) +# output +# 0 + +d = 5 +c = d * d +print(d / d) +# output +# 1.0 + +c = 8 +b = 7 +c = c + c +print(c - c) +# output +# 0 + +a = 2 +d = 1 +print(d) +# output +# 1 + +d = 4 +c = 0 + 1 +print(c) +# output +# 1 + +b = 1 +c = b + 3 +print(c) +# output +# 4 + +a = 1 +print(a / 2) +# output +# 0.5 + +b = 6 +c = 5 +print(b / b) +# output +# 1.0 + +a = 8 +a = 8 +print(a) +# output +# 8 + +d = 4 +c = d - d +print(c) +# output +# 0 + +c = 6 +b = 2 +c = b - 4 +print(b + c) +# output +# 0 + +b = 2 +e = 2 +print(e) +# output +# 2 + +e = 5 +print(e + e) +# output +# 10 + +e = 2 +a = 6 +print(e) +# output +# 2 + +a = 8 +a = a / 8 +print(a * a) +# output +# 1.0 + +d = 7 +print(d * d) +# output +# 49 + +d = 9 +b = 5 +print(d) +# output +# 9 + +c = 3 +e = 7 +print(c) +# output +# 3 + +b = 3 +d = b * b +print(d) +# output +# 9 + +b = 9 +c = 6 +a = c * 6 +print(c / 6) +# output +# 1.0 + +a = 2 +c = 1 +b = 7 * c +print(b) +# output +# 7 + +b = 6 +a = 5 +d = b + 9 +print(d) +# output +# 15 + +d = 2 +e = 2 +print(e) +# output +# 2 + +e = 3 +c = e + 2 +print(e + e) +# output +# 6 + +e = 8 +d = e - 9 +print(d) +# output +# -1 + +b = 8 +d = 6 +print(b / d) +# output +# 1.3333333333333333 + +a = 7 +e = 1 +print(a + 3) +# output +# 10 + +c = 9 +c = 9 +print(c - 4) +# output +# 5 + +d = 0 +d = d + 7 +print(d) +# output +# 7 + +a = 1 +e = 6 + a +print(a * 4) +# output +# 4 + +d = 5 +b = 7 +print(d) +# output +# 5 + +c = 9 +d = c / 3 +print(d) +# output +# 3.0 + +c = 6 +d = 1 +print(d) +# output +# 1 + +c = 7 +e = 3 +e = 0 + 0 +print(e) +# output +# 0 + +a = 5 +a = 9 +print(a) +# output +# 9 + +b = 3 +d = 8 +a = d - 6 +print(a) +# output +# 2 + +b = 1 +d = 5 * b +print(d) +# output +# 5 + +e = 8 +a = 9 +print(e) +# output +# 8 + +c = 1 +b = 9 + 5 +print(c / 4) +# output +# 0.25 + +b = 0 +a = 0 / 5 +print(a) +# output +# 0.0 + +a = 9 +d = a * a +print(d) +# output +# 81 + +d = 2 +print(d / 6) +# output +# 0.3333333333333333 + +e = 0 +b = 8 +c = b * b +print(c) +# output +# 64 + +a = 8 +b = 6 / a +print(b) +# output +# 0.75 + +e = 9 +e = e * 2 +print(e) +# output +# 18 + +a = 1 +d = 3 +print(a * 2) +# output +# 2 + +c = 0 +c = 1 * c +print(c - c) +# output +# 0 + +a = 3 +b = 7 +d = a + a +print(d) +# output +# 6 + +a = 7 +b = 8 +e = 9 - 5 +print(a * a) +# output +# 49 + +c = 5 +c = 8 +print(c / 5) +# output +# 1.6 + +b = 6 +e = b + b +print(b + 1) +# output +# 7 + +e = 6 +c = e + e +print(e + e) +# output +# 12 + +b = 4 +b = 3 - b +print(b) +# output +# -1 + +d = 4 +e = 5 +a = 6 * e +print(e / e) +# output +# 1.0 + +b = 9 +print(b * 1) +# output +# 9 + +e = 2 +b = 7 +print(e) +# output +# 2 + +c = 7 +c = c + 2 +print(c - 1) +# output +# 8 + +e = 9 +e = 3 +b = e / 8 +print(e + e) +# output +# 6 + +c = 3 +e = 4 +print(e) +# output +# 4 + +b = 1 +print(b) +# output +# 1 + +a = 6 +b = 0 +e = 5 / a +print(b * b) +# output +# 0 + +e = 9 +d = 6 +print(e) +# output +# 9 + +c = 0 +a = 7 +print(a * a) +# output +# 49 + +d = 5 +a = 6 +a = d / 7 +print(a) +# output +# 0.7142857142857143 + +a = 2 +c = a - 6 +print(a / a) +# output +# 1.0 + +b = 4 +print(b) +# output +# 4 + +b = 3 +a = 5 +print(a + a) +# output +# 10 + +c = 5 +b = c * c +print(b) +# output +# 25 + +d = 4 +d = 7 * 4 +print(d * d) +# output +# 784 + +b = 6 +e = 1 +e = 5 / 1 +print(e - 2) +# output +# 3.0 + +e = 6 +b = 9 +print(e) +# output +# 6 + +d = 7 +d = 8 +e = 7 * 5 +print(e) +# output +# 35 + +d = 3 +print(d) +# output +# 3 + +e = 2 +d = 9 +a = e - 2 +print(a) +# output +# 0 + +a = 0 +a = 0 +print(a) +# output +# 0 + +e = 5 +b = 6 +print(e) +# output +# 5 + +b = 6 +print(b) +# output +# 6 + +b = 8 +d = 3 +a = 4 - 9 +print(d + b) +# output +# 11 + +a = 9 +d = a / a +print(a + 6) +# output +# 15 + +a = 7 +e = 6 +print(a + a) +# output +# 14 + +d = 3 +d = 6 +print(d + d) +# output +# 12 + +d = 6 +a = 6 +print(a) +# output +# 6 + +e = 4 +b = e * e +print(e * 7) +# output +# 28 + +d = 8 +e = 4 +print(e + d) +# output +# 12 + +d = 2 +print(d) +# output +# 2 + +b = 3 +print(b - 6) +# output +# -3 + +d = 3 +b = 5 +print(d) +# output +# 3 + +a = 9 +b = 7 +print(b - b) +# output +# 0 + +c = 3 +a = 3 +print(c / 7) +# output +# 0.42857142857142855 + +b = 9 +print(b) +# output +# 9 + +a = 7 +c = 1 +a = a / 1 +print(a * c) +# output +# 7.0 + +b = 9 +c = b - 8 +print(c) +# output +# 1 + +b = 1 +print(b - 9) +# output +# -8 + +a = 0 +c = 8 +print(a) +# output +# 0 + +a = 2 +e = a + a +print(a * 5) +# output +# 10 + +b = 9 +d = b - b +print(b - b) +# output +# 0 + +d = 0 +a = 4 +print(a) +# output +# 4 + +c = 6 +d = 0 +a = 9 - 0 +print(a) +# output +# 9 + +c = 9 +b = 8 / c +print(b) +# output +# 0.8888888888888888 + +c = 0 +d = 2 +b = 0 / d +print(b) +# output +# 0.0 + +a = 9 +a = a - 6 +print(a - a) +# output +# 0 + +d = 2 +e = 4 +a = d / 2 +print(e / 2) +# output +# 2.0 + +e = 0 +a = 2 +c = e + e +print(c) +# output +# 0 + +a = 0 +d = 8 +b = a * 5 +print(b) +# output +# 0 + +c = 9 +a = 4 +a = 8 - 5 +print(a + 8) +# output +# 11 + +c = 3 +d = 9 +print(c * 3) +# output +# 9 + +a = 6 +d = 8 +print(a) +# output +# 6 + +e = 5 +c = 4 +c = c - e +print(e / c) +# output +# -5.0 + +e = 2 +c = 7 +d = 7 + 4 +print(d) +# output +# 11 + +a = 3 +e = 4 * 7 +print(a - a) +# output +# 0 + +a = 2 +e = 0 / 8 +print(a * a) +# output +# 4 + +e = 0 +d = 6 +a = 0 + 0 +print(e * d) +# output +# 0 + +b = 6 +e = 5 +print(b) +# output +# 6 + +d = 0 +a = 1 * d +print(d + 6) +# output +# 6 + +b = 7 +d = 8 * 6 +print(b - 5) +# output +# 2 + +d = 3 +b = 2 +a = d * b +print(d / 6) +# output +# 0.5 + +d = 9 +d = 8 * d +print(d * d) +# output +# 5184 + +b = 9 +c = 6 / b +print(b * 2) +# output +# 18 + +d = 8 +a = d + d +print(d - 3) +# output +# 5 + +a = 0 +b = 7 +print(b) +# output +# 7 + +e = 7 +c = 4 +print(e) +# output +# 7 + +e = 8 +e = 4 +d = 5 * 3 +print(d) +# output +# 15 + +d = 9 +a = 2 +b = 7 - d +print(a / d) +# output +# 0.2222222222222222 + +b = 7 +a = 2 +print(a) +# output +# 2 + +c = 7 +c = 4 +d = 6 * c +print(c / c) +# output +# 1.0 + +a = 1 +print(a * a) +# output +# 1 + +e = 8 +d = 6 +print(e + d) +# output +# 14 + +c = 4 +print(c * 8) +# output +# 32 + +d = 6 +a = 1 + d +print(a) +# output +# 7 + +d = 3 +a = 4 +a = d * d +print(a * 4) +# output +# 36 + +b = 8 +a = 4 +d = 5 - b +print(b * 3) +# output +# 24 + +c = 5 +d = 2 +print(d + 4) +# output +# 6 + +e = 2 +print(e - 3) +# output +# -1 + +d = 4 +print(d - d) +# output +# 0 + +d = 9 +c = 7 +print(c - 2) +# output +# 5 + +b = 9 +c = 6 +a = c + c +print(c * 5) +# output +# 30 + +d = 7 +e = 7 +a = 3 - d +print(a) +# output +# -4 + +e = 4 +c = 5 +print(c * e) +# output +# 20 + +a = 6 +print(a - 9) +# output +# -3 + +d = 6 +b = 2 +print(d) +# output +# 6 + +d = 7 +c = 9 +a = 0 + 9 +print(c * 4) +# output +# 36 + +d = 1 +b = 1 +a = 2 / b +print(d + 9) +# output +# 10 + +b = 4 +e = 8 - b +print(e) +# output +# 4 + +a = 3 +d = 4 +print(a) +# output +# 3 + +a = 3 +c = a * a +print(c) +# output +# 9 + +a = 8 +c = 4 +b = c / a +print(b) +# output +# 0.5 + +d = 6 +a = 5 +a = 2 + a +print(d - a) +# output +# -1 + +b = 6 +a = 5 +print(a) +# output +# 5 + +d = 6 +print(d) +# output +# 6 + +b = 2 +c = 3 +print(b / b) +# output +# 1.0 + +c = 5 +print(c * c) +# output +# 25 + +c = 5 +a = 9 / c +print(a) +# output +# 1.8 + +d = 8 +d = 0 +c = 7 - 1 +print(c) +# output +# 6 + +e = 7 +c = e + e +print(c) +# output +# 14 + +b = 9 +b = 9 +print(b - 5) +# output +# 4 + +a = 9 +b = 7 +print(b / 5) +# output +# 1.4 + +d = 8 +print(d - d) +# output +# 0 + +b = 2 +b = 6 +print(b - 6) +# output +# 0 + +c = 8 +b = 6 +print(c) +# output +# 8 + +a = 5 +d = 7 +print(d) +# output +# 7 + +c = 9 +a = c * 1 +print(c / 1) +# output +# 9.0 + +e = 3 +b = 5 +print(b * 9) +# output +# 45 + +c = 5 +e = 3 +d = 8 * 3 +print(d) +# output +# 24 + +c = 4 +e = 1 +e = 4 / e +print(e) +# output +# 4.0 + +a = 3 +d = a - a +print(d) +# output +# 0 + +d = 9 +a = 5 +print(a) +# output +# 5 + +e = 1 +c = e / 7 +print(e - e) +# output +# 0 + +d = 6 +a = 6 +print(a / a) +# output +# 1.0 + +a = 0 +b = 4 +b = a / 2 +print(b) +# output +# 0.0 + +a = 4 +b = a / a +print(b) +# output +# 1.0 + +a = 2 +d = 1 +b = a / d +print(b) +# output +# 2.0 + +e = 1 +b = 8 +print(b) +# output +# 8 + +a = 8 +d = a - 7 +print(d) +# output +# 1 + +d = 7 +b = 2 +print(b) +# output +# 2 + +d = 9 +print(d / d) +# output +# 1.0 + +b = 6 +d = 6 +c = 5 - 4 +print(c) +# output +# 1 + +a = 7 +b = 0 +e = 7 - a +print(b / 7) +# output +# 0.0 + +b = 3 +c = 2 / b +print(b * 8) +# output +# 24 + +d = 3 +d = 7 +print(d) +# output +# 7 + +a = 0 +print(a + a) +# output +# 0 + +e = 3 +d = 5 +print(e - 1) +# output +# 2 + +b = 3 +d = 5 +d = b - 7 +print(b - b) +# output +# 0 + +d = 0 +e = 3 +print(e) +# output +# 3 + +b = 3 +e = 1 +e = 9 + e +print(e) +# output +# 10 + +c = 7 +a = 9 +print(a - 2) +# output +# 7 + +c = 1 +b = 8 +a = 7 / 1 +print(a) +# output +# 7.0 + +a = 4 +b = 4 +print(b * b) +# output +# 16 + +d = 6 +d = 8 +e = d - 9 +print(d / 4) +# output +# 2.0 + +c = 3 +a = 0 +print(c - 4) +# output +# -1 + +b = 0 +e = 2 / 1 +print(b - 2) +# output +# -2 + +e = 9 +b = 8 +a = 8 + 3 +print(b * 4) +# output +# 32 + +b = 4 +a = 1 +a = 2 / b +print(a) +# output +# 0.5 + +b = 9 +c = 4 +print(b) +# output +# 9 + +c = 8 +d = c + 1 +print(d) +# output +# 9 + +b = 6 +b = 5 +print(b) +# output +# 5 + +e = 0 +e = e + e +print(e) +# output +# 0 + +d = 3 +c = 0 +a = c * 5 +print(c / 5) +# output +# 0.0 + +d = 8 +b = 2 + d +print(b) +# output +# 10 + +d = 8 +a = 7 +print(d) +# output +# 8 + +a = 2 +print(a + a) +# output +# 4 + +e = 6 +print(e * 4) +# output +# 24 + +d = 8 +e = 2 +print(d + 2) +# output +# 10 + +d = 1 +a = 3 +d = 7 - a +print(d / d) +# output +# 1.0 + +e = 9 +d = 5 +d = e * d +print(e / d) +# output +# 0.2 + +c = 3 +e = 7 +print(c * c) +# output +# 9 + +d = 8 +b = d * d +print(d * d) +# output +# 64 + +e = 4 +b = 8 +e = e - 6 +print(b / 6) +# output +# 1.3333333333333333 + +a = 9 +a = 5 +e = a / 7 +print(e) +# output +# 0.7142857142857143 + +d = 2 +c = 5 +print(d * d) +# output +# 4 + +d = 1 +a = 7 - 4 +print(a) +# output +# 3 + +a = 1 +d = a / 4 +print(d) +# output +# 0.25 + +d = 9 +b = 1 +d = d / 9 +print(b * b) +# output +# 1 + +a = 8 +print(a + a) +# output +# 16 + +a = 5 +e = 8 +b = a / a +print(e - e) +# output +# 0 + +d = 2 +d = 6 * d +print(d) +# output +# 12 + +d = 2 +b = 5 +print(b) +# output +# 5 + +b = 9 +c = 6 +print(c) +# output +# 6 + +e = 3 +c = 0 +print(c) +# output +# 0 + +d = 4 +b = 8 * d +print(d * d) +# output +# 16 + +b = 7 +e = b - b +print(b - 5) +# output +# 2 + +e = 8 +e = 4 +print(e) +# output +# 4 + +a = 8 +a = 4 - a +print(a) +# output +# -4 + +a = 9 +d = 1 +d = 5 + 5 +print(a / 9) +# output +# 1.0 + +d = 5 +b = 6 +print(d) +# output +# 5 + +c = 8 +e = 7 +print(e * 3) +# output +# 21 + +e = 4 +a = e + 9 +print(a) +# output +# 13 + +e = 7 +a = 2 +d = 5 * 7 +print(a * 7) +# output +# 14 + +e = 1 +d = 5 +c = d * d +print(d / 2) +# output +# 2.5 + +c = 6 +a = 6 +print(a) +# output +# 6 + +b = 4 +print(b + b) +# output +# 8 + +b = 8 +a = 2 + b +print(a) +# output +# 10 + +b = 3 +c = 7 +print(c / 3) +# output +# 2.3333333333333335 + +c = 3 +a = c - 9 +print(a) +# output +# -6 + +b = 5 +d = 8 +print(b - 0) +# output +# 5 + +e = 3 +a = 4 +print(e) +# output +# 3 + +c = 6 +b = 0 +c = 0 * 4 +print(c) +# output +# 0 + +a = 9 +c = 7 / 9 +print(c) +# output +# 0.7777777777777778 + +b = 7 +d = 4 +print(d) +# output +# 4 + +c = 1 +b = 1 +print(c) +# output +# 1 + +a = 1 +a = a + a +print(a + a) +# output +# 4 + +b = 1 +c = 3 +print(c) +# output +# 3 + +b = 5 +e = 8 +b = e / e +print(b * 0) +# output +# 0.0 + +b = 1 +b = 9 +print(b) +# output +# 9 + +e = 0 +b = 2 +print(b * b) +# output +# 4 + +b = 7 +d = 6 +a = 0 / d +print(b - 3) +# output +# 4 + +b = 5 +d = b - b +print(d) +# output +# 0 + +c = 6 +print(c / c) +# output +# 1.0 + +c = 3 +e = 0 +d = e + e +print(d) +# output +# 0 + +c = 4 +d = 4 +e = c - c +print(e) +# output +# 0 + +d = 6 +d = 2 +c = d - 0 +print(c) +# output +# 2 + +a = 9 +b = a + a +print(a / a) +# output +# 1.0 + +e = 7 +b = 7 +c = 7 - e +print(b + 2) +# output +# 9 + +e = 7 +print(e + e) +# output +# 14 + +d = 9 +print(d * d) +# output +# 81 + +a = 7 +print(a / 2) +# output +# 3.5 + +b = 4 +b = 4 +b = b / 8 +print(b + 3) +# output +# 3.5 + +b = 0 +d = 9 * 1 +print(d) +# output +# 9 + +b = 3 +e = 8 +print(e) +# output +# 8 + +d = 3 +print(d * 7) +# output +# 21 + +b = 0 +e = 1 +print(b) +# output +# 0 + +a = 6 +e = 7 +b = e + a +print(a / 2) +# output +# 3.0 + +d = 1 +b = 3 +b = b / 8 +print(b / d) +# output +# 0.375 + +a = 7 +c = a / a +print(c) +# output +# 1.0 + +d = 6 +c = d - d +print(c) +# output +# 0 + +a = 7 +print(a) +# output +# 7 + +e = 7 +a = 7 +a = 7 - e +print(a * 0) +# output +# 0 + +a = 4 +print(a) +# output +# 4 + +c = 4 +d = 3 +print(c) +# output +# 4 + +d = 2 +b = 4 +c = d * 9 +print(c) +# output +# 18 + +c = 6 +a = 4 +print(c) +# output +# 6 + +d = 8 +b = 0 * d +print(d - 7) +# output +# 1 + +d = 6 +e = 2 +c = 2 - d +print(c) +# output +# -4 + +c = 1 +c = c * 8 +print(c) +# output +# 8 + +b = 6 +c = 4 +e = c + c +print(e) +# output +# 8 + +b = 1 +c = 1 +d = c / 5 +print(b - 0) +# output +# 1 + +b = 4 +b = 9 +b = b + 4 +print(b) +# output +# 13 + +c = 9 +print(c * c) +# output +# 81 + +b = 1 +a = b + b +print(b / b) +# output +# 1.0 + +b = 5 +a = 1 +print(b) +# output +# 5 + +c = 4 +a = 7 +a = c + a +print(a + 5) +# output +# 16 + +b = 1 +c = 5 +print(c) +# output +# 5 + +a = 5 +a = 2 +print(a * a) +# output +# 4 + +c = 1 +e = 6 +print(e / 7) +# output +# 0.8571428571428571 + +b = 0 +d = 1 +print(d) +# output +# 1 + +a = 3 +b = 7 - a +print(b) +# output +# 4 + +e = 9 +print(e / e) +# output +# 1.0 + +e = 2 +b = 3 +e = 1 - e +print(b + 6) +# output +# 9 + +d = 2 +a = 3 +e = 1 + a +print(e) +# output +# 4 + +a = 2 +e = 0 +a = a * a +print(a) +# output +# 4 + +a = 0 +c = 5 +print(c * 0) +# output +# 0 + +e = 1 +a = 7 +print(a * 3) +# output +# 21 + +c = 8 +a = 4 +b = c / c +print(c + a) +# output +# 12 + +e = 4 +c = 9 +e = 8 - e +print(e / 3) +# output +# 1.3333333333333333 + +c = 3 +a = 7 +b = 3 * 9 +print(a + 6) +# output +# 13 + +e = 5 +print(e / e) +# output +# 1.0 + +a = 2 +print(a / 4) +# output +# 0.5 + +a = 4 +a = 4 +a = 7 / a +print(a) +# output +# 1.75 + +c = 2 +print(c - c) +# output +# 0 + +a = 2 +print(a) +# output +# 2 + +e = 5 +a = 5 +a = e / 4 +print(a) +# output +# 1.25 + +c = 9 +a = 3 +print(a * 4) +# output +# 12 + +a = 8 +b = 5 +print(b / 2) +# output +# 2.5 + +e = 7 +b = 0 +c = b - b +print(e * 4) +# output +# 28 + +b = 0 +d = 7 +e = b + b +print(d + b) +# output +# 7 + +e = 0 +print(e) +# output +# 0 + +a = 1 +print(a + a) +# output +# 2 + +c = 6 +d = 8 +print(d / 4) +# output +# 2.0 + +a = 6 +e = a / 7 +print(a + 4) +# output +# 10 + +e = 6 +c = 4 +print(e / 9) +# output +# 0.6666666666666666 + +d = 3 +b = 6 + 3 +print(b) +# output +# 9 + +e = 4 +b = 6 + e +print(b) +# output +# 10 + +a = 8 +e = 2 +print(a) +# output +# 8 + +b = 9 +a = 3 +d = b / 7 +print(d) +# output +# 1.2857142857142858 + +b = 3 +e = 6 +print(b / 3) +# output +# 1.0 + +c = 3 +a = 5 +a = 4 * 3 +print(a) +# output +# 12 + +a = 5 +c = a / a +print(a + a) +# output +# 10 + +b = 8 +a = 9 +e = 5 / 2 +print(b * a) +# output +# 72 + +e = 6 +b = 3 +e = e - 6 +print(e) +# output +# 0 + +c = 7 +a = 3 +a = 2 / c +print(a) +# output +# 0.2857142857142857 + +a = 2 +d = 8 * 2 +print(a * a) +# output +# 4 + +a = 8 +c = 3 +e = 4 + 1 +print(a / a) +# output +# 1.0 + +c = 4 +b = 2 +d = 6 + 3 +print(b + 9) +# output +# 11 + +a = 5 +d = 5 +print(d) +# output +# 5 + +c = 3 +b = 7 +b = c + c +print(b / 1) +# output +# 6.0 + +d = 2 +b = 1 / 8 +print(d - d) +# output +# 0 + +a = 5 +e = 5 * 9 +print(e) +# output +# 45 + +c = 6 +print(c - c) +# output +# 0 + +d = 0 +e = d * 1 +print(e) +# output +# 0 + +a = 2 +a = 1 +print(a / 2) +# output +# 0.5 + +d = 7 +d = 2 +print(d) +# output +# 2 + +a = 9 +print(a - a) +# output +# 0 + +c = 9 +d = 7 * c +print(d) +# output +# 63 + +e = 4 +b = e + e +print(e / e) +# output +# 1.0 + +d = 8 +d = 1 + 6 +print(d - 2) +# output +# 5 + +d = 5 +print(d + 6) +# output +# 11 + +a = 9 +d = 8 +print(a) +# output +# 9 + +a = 4 +d = 7 + a +print(a - 9) +# output +# -5 + +d = 6 +b = d * d +print(b) +# output +# 36 + +b = 0 +a = b * b +print(b + b) +# output +# 0 + +a = 7 +print(a * a) +# output +# 49 + +d = 9 +c = 7 +print(c + c) +# output +# 14 + +b = 3 +a = 6 +a = 8 - 0 +print(a) +# output +# 8 + +c = 8 +print(c / 4) +# output +# 2.0 + +c = 0 +b = 3 * 6 +print(c - 1) +# output +# -1 + +a = 4 +print(a - a) +# output +# 0 + +e = 4 +d = 2 / e +print(d) +# output +# 0.5 + +c = 6 +a = 4 +print(c / c) +# output +# 1.0 + +b = 2 +d = 5 * b +print(b * 0) +# output +# 0 + +c = 4 +d = 8 +c = 7 + 6 +print(c) +# output +# 13 + +e = 7 +e = 8 +c = 3 / 7 +print(c) +# output +# 0.42857142857142855 + +d = 7 +d = 3 +e = d - d +print(d * 0) +# output +# 0 + +d = 2 +c = 1 +print(d) +# output +# 2 + +d = 4 +print(d) +# output +# 4 + +a = 1 +a = 3 +print(a / 1) +# output +# 3.0 + +a = 7 +e = 4 +d = a / e +print(d) +# output +# 1.75 + +e = 2 +c = 5 +a = e / 3 +print(e / e) +# output +# 1.0 + +b = 7 +b = 3 / b +print(b) +# output +# 0.42857142857142855 + +d = 0 +e = d + 4 +print(d * d) +# output +# 0 + +b = 5 +e = 9 +print(b * b) +# output +# 25 + +c = 3 +e = 2 +print(c) +# output +# 3 + +e = 5 +print(e * 5) +# output +# 25 + +b = 1 +c = 5 +e = c * b +print(c - b) +# output +# 4 + +e = 6 +d = 3 + e +print(d) +# output +# 9 + +d = 4 +c = 6 +d = 1 - 6 +print(d) +# output +# -5 + +d = 2 +b = 2 * 8 +print(d - d) +# output +# 0 + +e = 1 +a = e + 8 +print(a) +# output +# 9 + +d = 9 +c = 2 +print(c) +# output +# 2 + +a = 2 +a = 4 + a +print(a) +# output +# 6 + +d = 1 +c = 7 +print(d) +# output +# 1 + +b = 8 +d = 5 +e = 8 - b +print(d / 3) +# output +# 1.6666666666666667 + +b = 7 +a = b - 9 +print(b - 6) +# output +# 1 + +c = 2 +b = 0 * c +print(c + c) +# output +# 4 + +d = 4 +e = 0 +b = e * 0 +print(b) +# output +# 0 + +b = 9 +a = 8 +c = b + a +print(b / 4) +# output +# 2.25 + +b = 0 +d = 8 +print(b * b) +# output +# 0 + +d = 2 +print(d / d) +# output +# 1.0 + +a = 6 +c = 3 +a = 4 / 7 +print(a) +# output +# 0.5714285714285714 + +e = 7 +b = 1 +print(b) +# output +# 1 + +e = 5 +e = 6 +print(e) +# output +# 6 + +a = 4 +d = 2 +print(a) +# output +# 4 + +e = 6 +b = e * e +print(e / 8) +# output +# 0.75 + +e = 9 +e = e - 7 +print(e) +# output +# 2 + +d = 5 +print(d * d) +# output +# 25 + +b = 1 +c = 0 +print(c / 2) +# output +# 0.0 + +e = 3 +c = 2 +d = 1 + 5 +print(c * c) +# output +# 4 + +e = 8 +b = e / 5 +print(e / 2) +# output +# 4.0 + +a = 7 +print(a + 4) +# output +# 11 + +d = 2 +a = 7 +a = 6 + d +print(a) +# output +# 8 + +d = 0 +b = 4 +print(d) +# output +# 0 + +c = 7 +c = 7 +print(c / 8) +# output +# 0.875 + +a = 2 +e = 0 +b = 5 - 4 +print(b) +# output +# 1 + +a = 2 +b = 2 / 8 +print(a / 8) +# output +# 0.25 + +c = 1 +a = 2 +c = 2 * 3 +print(c) +# output +# 6 + +b = 4 +d = 9 +print(d + 6) +# output +# 15 + +e = 9 +print(e * e) +# output +# 81 + +e = 2 +a = 1 +print(a + a) +# output +# 2 + +d = 2 +b = 4 * d +print(b) +# output +# 8 + +b = 5 +d = 5 +print(d - 6) +# output +# -1 + +b = 7 +e = 4 +d = 0 - b +print(b - e) +# output +# 3 + +d = 6 +b = 5 +print(d - d) +# output +# 0 + +a = 9 +e = 9 +d = 8 + 1 +print(a * 0) +# output +# 0 + +b = 8 +e = 9 +d = 0 - b +print(e - b) +# output +# 1 + +b = 8 +b = 5 +print(b) +# output +# 5 + +d = 8 +b = 2 +e = 2 + b +print(e) +# output +# 4 + +d = 1 +d = 5 / 7 +print(d / d) +# output +# 1.0 + +d = 7 +a = 4 * d +print(d - 3) +# output +# 4 + +c = 6 +b = 3 + 1 +print(b) +# output +# 4 + +d = 3 +d = 8 - d +print(d + d) +# output +# 10 + +d = 2 +d = 7 +d = 7 + 4 +print(d / 9) +# output +# 1.2222222222222223 + +b = 2 +a = b - b +print(b - 6) +# output +# -4 + +e = 6 +d = 1 - 3 +print(d) +# output +# -2 + +c = 3 +e = 9 +e = 0 * c +print(e) +# output +# 0 + +a = 9 +e = 1 - a +print(a - 1) +# output +# 8 + +d = 9 +e = 9 +b = e + 2 +print(e - e) +# output +# 0 + +c = 3 +print(c + 3) +# output +# 6 + +a = 3 +c = 0 +print(c) +# output +# 0 + +a = 1 +d = 5 * 3 +print(a + a) +# output +# 2 + +b = 4 +e = 3 +a = b - 7 +print(e / e) +# output +# 1.0 + +b = 4 +c = 4 +print(b + 5) +# output +# 9 + +a = 5 +print(a / 3) +# output +# 1.6666666666666667 + +a = 0 +e = a + a +print(a + a) +# output +# 0 + +e = 6 +b = 1 +print(b - 2) +# output +# -1 + +b = 7 +e = 2 +b = 0 * 7 +print(b) +# output +# 0 + +d = 7 +print(d / d) +# output +# 1.0 + +a = 3 +print(a + 3) +# output +# 6 + +d = 9 +e = 5 +print(d) +# output +# 9 + +b = 6 +b = 4 - b +print(b + 0) +# output +# -2 + +b = 6 +c = 1 +print(c / 3) +# output +# 0.3333333333333333 + +a = 2 +e = 4 +a = a / 7 +print(a + a) +# output +# 0.5714285714285714 + +a = 4 +c = 0 +print(c - c) +# output +# 0 + +a = 6 +a = 6 +c = 9 - 7 +print(a * 4) +# output +# 24 + +c = 1 +a = 4 / 3 +print(c - 5) +# output +# -4 + +e = 8 +d = 2 - 0 +print(d) +# output +# 2 + +a = 2 +c = a * 6 +print(a / a) +# output +# 1.0 + +a = 3 +c = 5 +e = 2 + a +print(e) +# output +# 5 + +a = 5 +b = 7 +print(b / 2) +# output +# 3.5 + +d = 1 +b = 4 +print(b) +# output +# 4 + +d = 9 +c = d / d +print(c) +# output +# 1.0 + +e = 0 +c = e / 4 +print(e + 6) +# output +# 6 + +c = 0 +a = 3 +print(c + a) +# output +# 3 + +b = 7 +c = 9 +print(b) +# output +# 7 + +b = 8 +c = 3 +print(b) +# output +# 8 + +e = 1 +e = 6 / 6 +print(e) +# output +# 1.0 + +e = 7 +print(e - e) +# output +# 0 + +c = 4 +print(c * 4) +# output +# 16 + +c = 6 +print(c / 4) +# output +# 1.5 + +c = 5 +print(c + c) +# output +# 10 + +c = 4 +b = 5 +print(c + c) +# output +# 8 + +e = 2 +print(e - 7) +# output +# -5 + +c = 2 +d = 9 +print(d) +# output +# 9 + +b = 5 +c = 4 +print(b) +# output +# 5 + +c = 0 +b = 3 +a = 0 + 4 +print(b * 6) +# output +# 18 + +d = 9 +c = 4 +e = d / c +print(e) +# output +# 2.25 + +b = 8 +b = 1 +d = b - 6 +print(d) +# output +# -5 + +e = 7 +d = e - 1 +print(e + e) +# output +# 14 + +e = 8 +c = 7 +e = e - c +print(e) +# output +# 1 + +d = 2 +e = 6 +print(e - 2) +# output +# 4 + +c = 2 +d = 6 +print(c / d) +# output +# 0.3333333333333333 + +d = 2 +print(d - 0) +# output +# 2 + +b = 2 +d = 4 +print(b / 1) +# output +# 2.0 + +a = 2 +e = 7 +print(e) +# output +# 7 + +a = 4 +c = 7 +print(a) +# output +# 4 + +a = 7 +a = 7 +print(a + a) +# output +# 14 + +b = 8 +b = 5 * 4 +print(b) +# output +# 20 + +d = 0 +print(d * d) +# output +# 0 + +d = 7 +b = 7 + d +print(b) +# output +# 14 + +d = 4 +a = 2 * d +print(a) +# output +# 8 + +d = 4 +d = 3 +b = d + 7 +print(b) +# output +# 10 + +e = 2 +a = 6 +c = a / 4 +print(c) +# output +# 1.5 + +c = 0 +a = c - c +print(a) +# output +# 0 + +e = 5 +c = 0 +print(e + 1) +# output +# 6 + +e = 2 +b = e - e +print(e / e) +# output +# 1.0 + +d = 7 +d = 5 +print(d) +# output +# 5 + +c = 8 +e = c + c +print(e) +# output +# 16 + +c = 4 +print(c - c) +# output +# 0 + +e = 9 +e = 7 * e +print(e + 7) +# output +# 70 + +c = 0 +d = 4 +e = c + 6 +print(e) +# output +# 6 + +a = 7 +d = 2 +print(a) +# output +# 7 + +b = 8 +c = 9 +d = c - b +print(d) +# output +# 1 + +d = 7 +e = 5 + d +print(e) +# output +# 12 + +d = 8 +d = 1 +e = d + d +print(d / 5) +# output +# 0.2 + +b = 8 +b = 2 +a = 3 / b +print(a) +# output +# 1.5 + +d = 4 +a = 2 * 5 +print(d / 6) +# output +# 0.6666666666666666 + +a = 3 +a = a * a +print(a) +# output +# 9 + +a = 9 +e = 3 +print(a + 1) +# output +# 10 + +e = 2 +d = e / e +print(d) +# output +# 1.0 + +d = 0 +a = 3 - d +print(a) +# output +# 3 + +d = 7 +a = 6 +print(a) +# output +# 6 + +d = 1 +b = 5 +print(b - 6) +# output +# -1 + +c = 9 +e = 3 - 8 +print(c + 9) +# output +# 18 + +e = 9 +e = e / e +print(e - 0) +# output +# 1.0 + +d = 4 +print(d + 4) +# output +# 8 + +b = 7 +c = 1 +print(c + 7) +# output +# 8 + +a = 2 +b = 1 +print(a / 9) +# output +# 0.2222222222222222 + +e = 6 +a = 7 +d = a - 1 +print(d) +# output +# 6 + +d = 1 +a = 6 +print(d) +# output +# 1 + +c = 0 +d = 5 +print(c) +# output +# 0 + +c = 6 +e = 0 +print(e + 1) +# output +# 1 + +e = 8 +c = 9 +c = 5 - 3 +print(c) +# output +# 2 + +c = 8 +c = 0 +b = 9 * c +print(b) +# output +# 0 + +d = 8 +e = 8 * d +print(d + d) +# output +# 16 + +d = 0 +d = 7 +print(d + 3) +# output +# 10 + +e = 8 +a = 1 +c = 5 * 9 +print(a * 9) +# output +# 9 + +e = 7 +d = 0 +e = 9 - 1 +print(e - 7) +# output +# 1 + +a = 2 +print(a * 6) +# output +# 12 + +c = 3 +a = 2 * 7 +print(c - c) +# output +# 0 + +c = 8 +c = 5 / c +print(c + c) +# output +# 1.25 + +e = 8 +c = 7 +print(c) +# output +# 7 + +b = 8 +a = 6 +print(b) +# output +# 8 + +e = 9 +b = 3 +print(b) +# output +# 3 + +e = 2 +b = 4 +c = e + 0 +print(b * 1) +# output +# 4 + +b = 6 +c = 3 +b = 3 - 3 +print(c - c) +# output +# 0 + +e = 0 +d = e - 4 +print(d) +# output +# -4 + +d = 9 +print(d * 6) +# output +# 54 + +a = 8 +a = 9 +d = a / 8 +print(d) +# output +# 1.125 + +d = 6 +a = d - 2 +print(a) +# output +# 4 + +d = 5 +d = 3 +a = d * d +print(d - 8) +# output +# -5 + +a = 9 +d = 2 +d = a + d +print(d) +# output +# 11 + +e = 2 +c = 2 +print(c * 6) +# output +# 12 + +d = 9 +d = 6 +b = d - 0 +print(b) +# output +# 6 + +d = 9 +b = 4 +a = d + 3 +print(a) +# output +# 12 + +c = 1 +print(c - c) +# output +# 0 + +b = 7 +b = 7 +print(b) +# output +# 7 + +e = 1 +c = e + e +print(c) +# output +# 2 + +b = 5 +d = 1 +e = d - 7 +print(d + b) +# output +# 6 + +e = 2 +a = 6 +print(a) +# output +# 6 + +e = 6 +e = 7 +print(e) +# output +# 7 + +e = 7 +print(e / 7) +# output +# 1.0 + +c = 6 +c = 1 * 4 +print(c) +# output +# 4 + +d = 8 +e = 3 +a = d / d +print(e / e) +# output +# 1.0 + +d = 0 +b = 2 +print(d * d) +# output +# 0 + +b = 2 +print(b - b) +# output +# 0 + +c = 5 +c = 0 +print(c) +# output +# 0 + +e = 7 +e = 6 +b = e * 5 +print(e * e) +# output +# 36 + +b = 8 +a = 8 +print(b - 4) +# output +# 4 + +e = 3 +c = e + e +print(e - e) +# output +# 0 + +b = 0 +a = 4 +print(a * 1) +# output +# 4 + +b = 9 +b = 9 +d = 7 + b +print(d) +# output +# 16 + +e = 3 +b = 7 +print(b) +# output +# 7 + +c = 7 +print(c * 4) +# output +# 28 + +a = 0 +print(a) +# output +# 0 + +c = 0 +c = 6 - 8 +print(c) +# output +# -2 + +b = 9 +e = 1 +print(e) +# output +# 1 + +b = 8 +b = 9 - 6 +print(b) +# output +# 3 + +b = 4 +c = 7 +c = c / c +print(c) +# output +# 1.0 + +e = 3 +print(e + 8) +# output +# 11 + +e = 2 +d = e + e +print(e * e) +# output +# 4 + +e = 3 +e = e + 5 +print(e) +# output +# 8 + +c = 2 +b = c * c +print(c / 1) +# output +# 2.0 + +d = 5 +d = d / d +print(d - 4) +# output +# -3.0 + +d = 3 +b = 4 +d = 4 / 3 +print(b * b) +# output +# 16 + +e = 6 +print(e + e) +# output +# 12 + +b = 8 +c = 7 / 7 +print(b + b) +# output +# 16 + +b = 8 +c = 7 +print(b) +# output +# 8 + +c = 2 +e = 2 +print(c - 1) +# output +# 1 + +c = 4 +b = 1 +print(c + c) +# output +# 8 + +a = 6 +e = 6 +a = e * a +print(a) +# output +# 36 + +e = 1 +a = 0 - 8 +print(a) +# output +# -8 + +c = 1 +print(c + c) +# output +# 2 + +e = 3 +print(e - e) +# output +# 0 + +d = 6 +e = 6 +print(e) +# output +# 6 + +d = 8 +d = 5 +e = 9 - d +print(e) +# output +# 4 + +d = 3 +d = d / d +print(d - 8) +# output +# -7.0 + +a = 8 +a = 9 +print(a) +# output +# 9 + +a = 6 +b = 6 +a = 3 - 3 +print(a) +# output +# 0 + +c = 5 +print(c) +# output +# 5 + +c = 5 +e = 6 +e = e + 2 +print(e) +# output +# 8 + +a = 9 +d = 1 +print(a * d) +# output +# 9 + +b = 3 +e = 1 +d = e * 6 +print(d) +# output +# 6 + +e = 2 +e = 6 +a = e - e +print(e + e) +# output +# 12 + +e = 4 +a = 7 - 0 +print(e * e) +# output +# 16 + +d = 9 +e = 6 +print(e) +# output +# 6 + +d = 7 +e = 8 +print(e / d) +# output +# 1.1428571428571428 + +d = 1 +a = 4 + 6 +print(a) +# output +# 10 + +d = 7 +b = 9 / d +print(d - d) +# output +# 0 + +e = 8 +d = 5 +a = e - d +print(e / e) +# output +# 1.0 + +b = 2 +a = 0 +print(a * 2) +# output +# 0 + diff --git a/data/test.bin b/data/test.bin new file mode 100644 index 0000000..3e30074 Binary files /dev/null and b/data/test.bin differ diff --git a/data/test.txt b/data/test.txt new file mode 100644 index 0000000..dc9b283 --- /dev/null +++ b/data/test.txt @@ -0,0 +1,608 @@ +c = 3 +e = 9 +e = 0 * c +print(e) +# output +# 0 + +e = 2 +a = 6 +c = a / 4 +print(c) +# output +# 1.5 + +e = 6 +c = 3 / e +print(c) +# output +# 0.5 + +e = 8 +a = 3 +print(e / a) +# output +# 2.6666666666666665 + +a = 8 +e = a + 1 +print(a / a) +# output +# 1.0 + +e = 6 +a = 7 +d = a - 1 +print(d) +# output +# 6 + +d = 9 +print(d * d) +# output +# 81 + +c = 4 +print(c + 3) +# output +# 7 + +d = 7 +print(d / d) +# output +# 1.0 + +d = 5 +a = 0 +print(a + d) +# output +# 5 + +a = 6 +b = 0 +a = 3 - 3 +print(b / 9) +# output +# 0.0 + +a = 0 +a = 0 +print(a) +# output +# 0 + +c = 3 +e = 7 +print(c * c) +# output +# 9 + +a = 2 +e = 0 / 8 +print(a * a) +# output +# 4 + +e = 9 +a = 9 +print(a * e) +# output +# 81 + +d = 8 +e = 4 +print(e + d) +# output +# 12 + +a = 2 +c = a - 6 +print(a / a) +# output +# 1.0 + +a = 6 +b = 7 +d = a - 0 +print(d) +# output +# 6 + +b = 7 +e = 2 +b = 0 * 7 +print(b) +# output +# 0 + +c = 9 +e = 4 +print(c - 5) +# output +# 4 + +d = 4 +d = 7 * 4 +print(d * d) +# output +# 784 + +a = 4 +print(a / a) +# output +# 1.0 + +e = 3 +b = 4 +a = e - 6 +print(a) +# output +# -3 + +d = 5 +d = 9 - 7 +print(d) +# output +# 2 + +b = 7 +b = 3 / b +print(b) +# output +# 0.42857142857142855 + +a = 9 +b = a + a +print(a / a) +# output +# 1.0 + +a = 0 +d = a * 9 +print(d) +# output +# 0 + +e = 1 +c = e + e +print(c) +# output +# 2 + +e = 3 +c = e + 2 +print(e + e) +# output +# 6 + +a = 4 +e = 0 * 7 +print(a + 2) +# output +# 6 + +b = 6 +b = 5 +b = b - b +print(b / 3) +# output +# 0.0 + +b = 0 +d = 9 * 1 +print(d) +# output +# 9 + +a = 4 +a = 2 +print(a) +# output +# 2 + +e = 9 +b = 3 +print(b) +# output +# 3 + +d = 6 +c = 4 + 1 +print(d + 2) +# output +# 8 + +d = 8 +c = d - 6 +print(c) +# output +# 2 + +a = 9 +d = 1 +print(a * d) +# output +# 9 + +c = 4 +a = 4 +print(a) +# output +# 4 + +b = 5 +a = 1 +b = a - a +print(b) +# output +# 0 + +d = 2 +c = 1 +print(d) +# output +# 2 + +e = 3 +b = 5 +print(b * 9) +# output +# 45 + +e = 9 +d = 5 +d = e * d +print(e / d) +# output +# 0.2 + +c = 5 +print(c * c) +# output +# 25 + +e = 2 +c = 8 / e +print(e * 9) +# output +# 18 + +c = 0 +c = 6 - 8 +print(c) +# output +# -2 + +e = 7 +a = 2 +d = 5 * 7 +print(a * 7) +# output +# 14 + +e = 1 +print(e * e) +# output +# 1 + +d = 6 +b = d * d +print(b) +# output +# 36 + +e = 8 +b = e / 5 +print(e / 2) +# output +# 4.0 + +d = 6 +c = 3 +a = 9 + d +print(a) +# output +# 15 + +d = 4 +a = 8 +print(a * a) +# output +# 64 + +e = 6 +print(e + e) +# output +# 12 + +b = 3 +a = 3 +print(a) +# output +# 3 + +b = 9 +b = 9 +print(b - 5) +# output +# 4 + +a = 8 +print(a) +# output +# 8 + +b = 2 +e = 2 +print(e) +# output +# 2 + +e = 1 +c = e / 7 +print(e - e) +# output +# 0 + +e = 3 +c = 0 +print(c) +# output +# 0 + +a = 1 +a = 3 +print(a / 1) +# output +# 3.0 + +c = 3 +print(c / c) +# output +# 1.0 + +c = 0 +c = c - c +print(c) +# output +# 0 + +a = 7 +d = 2 +print(a) +# output +# 7 + +c = 3 +a = 0 +print(c - 4) +# output +# -1 + +e = 9 +a = 5 +print(e) +# output +# 9 + +d = 3 +b = 4 +d = 4 / 3 +print(b * b) +# output +# 16 + +c = 5 +d = 5 +d = c - 4 +print(d) +# output +# 1 + +e = 6 +b = 3 +e = e - 6 +print(e) +# output +# 0 + +d = 4 +c = 6 +print(d + c) +# output +# 10 + +b = 8 +a = 9 +e = 5 / 2 +print(b * a) +# output +# 72 + +e = 4 +print(e) +# output +# 4 + +b = 2 +c = 3 +print(b / b) +# output +# 1.0 + +d = 8 +d = 0 +c = 7 - 1 +print(c) +# output +# 6 + +e = 9 +print(e * e) +# output +# 81 + +e = 1 +a = 6 +print(a / 6) +# output +# 1.0 + +d = 5 +d = 9 +e = 0 - d +print(d * d) +# output +# 81 + +d = 5 +d = d * d +print(d) +# output +# 25 + +b = 7 +a = 2 +print(a) +# output +# 2 + +b = 3 +e = 1 +e = 9 + e +print(e) +# output +# 10 + +e = 9 +e = 7 * e +print(e + 7) +# output +# 70 + +e = 3 +c = 2 +d = 1 + 5 +print(c * c) +# output +# 4 + +d = 9 +b = 5 +print(d) +# output +# 9 + +d = 6 +e = 6 +print(e) +# output +# 6 + +e = 6 +e = 7 +print(e) +# output +# 7 + +b = 9 +a = 2 +b = a - 9 +print(a - 4) +# output +# -2 + +e = 2 +c = 3 +print(c) +# output +# 3 + +b = 4 +b = 3 - b +print(b) +# output +# -1 + +d = 0 +d = 7 +print(d + 3) +# output +# 10 + +d = 9 +print(d - 9) +# output +# 0 + +c = 4 +print(c) +# output +# 4 + +c = 3 +e = 2 +print(c) +# output +# 3 + +e = 6 +c = 4 +print(e / 9) +# output +# 0.6666666666666666 + +a = 4 +print(a) +# output +# 4 + +c = 8 +c = 0 +b = 9 * c +print(b) +# output +# 0 + +a = 8 +a = 9 +print(a) +# output +# 9 + +a = 0 +e = a + a +print(a + a) +# output +# 0 + +a = 7 +e = 6 +print(a + a) +# output +# 14 + +b = 8 +e = b + b +print(e) +# output +# 16 + +a = 3 +e = 9 +b = e - a +print(b) +# output +# 6 + +e = 4 +e = 4 * e +print(e / 8) +# output +# 2.0 + +d = 7 +c = 2 + 8 +print(d * 1) +# output +# 7 \ No newline at end of file diff --git a/data/tinypy_generator.py b/data/tinypy_generator.py new file mode 100644 index 0000000..542be31 --- /dev/null +++ b/data/tinypy_generator.py @@ -0,0 +1,332 @@ +from anytree import Node, RenderTree +import random +from io import StringIO +from contextlib import redirect_stdout +import argparse +import time +from tqdm.auto import tqdm +import hashlib +import os +import psutil + + +class CodeGenerator: + def __init__(self): + """ + Initialize the CodeGenerator object with the given context-free grammar rules. + + """ + + self.init_count = 0 + self.max_init = 0 + + # Dictionary containing context-free grammar rules. + self.cfg_rules = { + # Variables and digits + "VARIABLE": ["a", "b", "c", "d", "e"], + "DIGIT": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"], + + # Operators + "ARITHMETIC_OPERATOR": ["+", "-", "*", "/"], + "RELATIONAL_OPERATOR": ["<", ">", "<=", ">=", "!=", "=="], + "LOGICAL_OPERATOR_INFIX": ["and", "or"], + "LOGICAL_OPERATOR_PREFIX": ["not"], + "LOGICAL_OPERATOR": ["LOGICAL_OPERATOR_INFIX", "LOGICAL_OPERATOR_PREFIX"], + "OPERATOR": ["ARITHMETIC_OPERATOR"], + + # Formatting + "NEW_LINE": ["\n"], + "TAB_INDENT": ["\t"], + "BRACKET_OPEN": ['('], + "BRACKET_CLOSE": [')'], + "EQUALS": ["="], + "COLON": [":"], + "COMMA": [","], + + + # Keywords + "IF": ["if"], + "ELIF": ["elif"], + "ELSE": ["else"], + "FOR": ["for"], + "IN": ["in"], + "RANGE": ["range"], + "WHILE": ["while"], + "PRINT": ["print"], + + # Terms and expressions + "TERM": ["EXPRESSION_IDENTIFIER", "DIGIT"], + "EXPRESSION": ["TERM SPACE OPERATOR SPACE TERM"], + "ENCLOSED_EXPRESSION": ["BRACKET_OPEN EXPRESSION BRACKET_CLOSE"], + "DISPLAY_EXPRESSION": ["EXPRESSION_IDENTIFIER SPACE OPERATOR SPACE EXPRESSION_IDENTIFIER" , + "EXPRESSION_IDENTIFIER SPACE OPERATOR SPACE DIGIT"], + + # Initializations and assignments + "IDENTIFIER_INITIALIZATION": ["IDENTIFIER_INITIALIZATION INITIALIZATION", + "INITIALIZATION"], + + "INITIALIZATION": ["VARIABLE SPACE EQUALS SPACE DIGIT NEW_LINE"], + + "SIMPLE_ASSIGNMENTS": ["VARIABLE SPACE EQUALS SPACE EXPRESSION NEW_LINE" , ""], + "ADVANCED_ASSIGNMENTS": ["VARIABLE SPACE EQUALS SPACE SIMPLE_ARITHMETIC_EVALUATION NEW_LINE", + "VARIABLE SPACE EQUALS SPACE EXPRESSION NEW_LINE" , + ""], + + "SIMPLE_ARITHMETIC_EVALUATION": ["SIMPLE_ARITHMETIC_EVALUATION ARITHMETIC_OPERATOR ENCLOSED_EXPRESSION", + "ENCLOSED_EXPRESSION", + ], + + # Conditions + "SIMPLE_IF_STATEMENT": ["IF SPACE CONDITION SPACE COLON NEW_LINE"], + "ADVANCED_IF_STATEMENT": ["IF SPACE CHAIN_CONDITION SPACE COLON NEW_LINE"], + "SIMPLE_ELIF_STATEMENT": ["ELIF SPACE CONDITION SPACE COLON NEW_LINE"], + "ADVANCED_ELIF_STATEMENT": ["ELIF SPACE CHAIN_CONDITION SPACE COLON NEW_LINE"], + "ELSE_STATEMENT": ["ELSE SPACE COLON NEW_LINE"], + + "CHAIN_CONDITION": ["CHAIN_CONDITION SPACE LOGICAL_OPERATOR_INFIX SPACE ENCLOSED_CONDITION", + "LOGICAL_OPERATOR_PREFIX SPACE ENCLOSED_CONDITION", + "ENCLOSED_CONDITION"], + "ENCLOSED_CONDITION": ["BRACKET_OPEN CONDITION BRACKET_CLOSE"], + "CONDITION": ["OPTIONAL_NOT CONDITION_EXPRESSION", "CONDITION_EXPRESSION"], + "CONDITION_EXPRESSION": ["EXPRESSION_IDENTIFIER SPACE RELATIONAL_OPERATOR SPACE EXPRESSION_IDENTIFIER", + "EXPRESSION_IDENTIFIER SPACE RELATIONAL_OPERATOR SPACE DIGIT"], + "OPTIONAL_NOT": ["LOGICAL_OPERATOR_PREFIX SPACE", "SPACE"], + + # Loops + "FOR_HEADER": ["FOR SPACE EXPRESSION_IDENTIFIER SPACE IN SPACE RANGE BRACKET_OPEN INITIAL COMMA SPACE FINAL COMMA SPACE STEP BRACKET_CLOSE SPACE COLON", + "FOR SPACE EXPRESSION_IDENTIFIER SPACE IN SPACE RANGE BRACKET_OPEN INITIAL COMMA SPACE FINAL BRACKET_CLOSE SPACE COLON"], + "INITIAL": ["DIGIT"], + "FOR_LOOP": ["FOR_HEADER NEW_LINE TAB_INDENT DISPLAY"], + "ADVANCED_FOR_LOOP": ["FOR_LOOP", + "FOR_HEADER NEW_LINE TAB_INDENT ADVANCED_DISPLAY"], + + + # Displaying + "DISPLAY" : ["PRINT BRACKET_OPEN DISPLAY_IDENTIFIER BRACKET_CLOSE"], + "ADVANCED_DISPLAY" : ["DISPLAY", + "PRINT BRACKET_OPEN DISPLAY_EXPRESSION BRACKET_CLOSE"], + + + "LEVEL1.1": ["IDENTIFIER_INITIALIZATION SIMPLE_ASSIGNMENTS ADVANCED_DISPLAY"], + "LEVEL1.2": ["IDENTIFIER_INITIALIZATION ADVANCED_ASSIGNMENTS ADVANCED_DISPLAY"], + "LEVEL2.1": ["IDENTIFIER_INITIALIZATION SIMPLE_IF_STATEMENT TAB_INDENT DISPLAY", + "IDENTIFIER_INITIALIZATION SIMPLE_IF_STATEMENT TAB_INDENT DISPLAY NEW_LINE SIMPLE_ELIF_STATEMENT TAB_INDENT DISPLAY NEW_LINE ELSE_STATEMENT TAB_INDENT DISPLAY", + "IDENTIFIER_INITIALIZATION SIMPLE_IF_STATEMENT TAB_INDENT DISPLAY NEW_LINE ELSE_STATEMENT TAB_INDENT DISPLAY"], + "LEVEL2.2": ["IDENTIFIER_INITIALIZATION ADVANCED_ASSIGNMENTS ADVANCED_IF_STATEMENT TAB_INDENT ADVANCED_DISPLAY", + "IDENTIFIER_INITIALIZATION ADVANCED_ASSIGNMENTS ADVANCED_IF_STATEMENT TAB_INDENT ADVANCED_DISPLAY NEW_LINE ADVANCED_ELIF_STATEMENT TAB_INDENT ADVANCED_DISPLAY NEW_LINE ELSE_STATEMENT TAB_INDENT ADVANCED_DISPLAY", + "IDENTIFIER_INITIALIZATION ADVANCED_ASSIGNMENTS ADVANCED_IF_STATEMENT TAB_INDENT ADVANCED_DISPLAY NEW_LINE ELSE_STATEMENT TAB_INDENT ADVANCED_DISPLAY"], + "LEVEL3.1": ["IDENTIFIER_INITIALIZATION FOR_LOOP"], + "LEVEL3.2": ["IDENTIFIER_INITIALIZATION ADVANCED_ASSIGNMENTS ADVANCED_FOR_LOOP"], + + "ALL": ["LEVEL1.1", "LEVEL1.2", "LEVEL2.1", "LEVEL2.2", "LEVEL3.1", "LEVEL3.2"], + + } + + + + def generate_code(self, symbol, assigned_identifiers, last_variable, for_init_step, parent=None ): + """ + Generate code recursively based on the context-free grammar rules. + + Parameters: + - symbol (str): The symbol to generate code for. + - assigned_identifiers (set): Set of assigned identifiers. + - last_variable (set): Set of the last used variables. + - parent (Node): Parent node in the syntax tree. + + Returns: + - str: The generated code. + """ + node = Node(symbol, parent=parent) + + if symbol in self.cfg_rules: + if symbol == "IDENTIFIER_INITIALIZATION": + if self.init_count < self.max_init: + self.init_count += 1 + else: + symbol = "INITIALIZATION" + + rule = random.choice(self.cfg_rules[symbol]) + symbols = rule.split(" ") + + generated_symbols = [self.generate_code(s, assigned_identifiers, last_variable, for_init_step, node) for s in symbols] + + if symbol == "INITIAL": + init = generated_symbols[0] + for_init_step["initial_value"] = init + + + if symbol == "INITIALIZATION": + assigned_identifiers.add(generated_symbols[0]) + + if (symbol == "SIMPLE_ASSIGNMENTS") or (symbol == "ADVANCED_ASSIGNMENTS"): + if generated_symbols[0]: + last_variable.add(generated_symbols[0]) + + return ''.join(generated_symbols) + + elif symbol == "FINAL": + + initial_value = for_init_step.get("initial_value", "0") + + # Generate valid step_value and execution_count + valid_values = [(1, 2), (2, 1), (2, 2), (2, 3), (3, 2)] + step_value, execution_count = random.choice(valid_values) + for_init_step["step"] = str(step_value) + + final_value = step_value * execution_count + int(initial_value) - 1 + return str(final_value) + + + + elif symbol == "STEP": + + return for_init_step.get("step", "0") + + elif symbol == "EXPRESSION_IDENTIFIER": + identifier = random.choice(tuple(assigned_identifiers)) if assigned_identifiers else random.choice(self.cfg_rules["DIGIT"]) + return identifier + + elif symbol == "DISPLAY_IDENTIFIER": + try: + return f"{tuple(last_variable)[0]}" + except: + return f"{random.choice(tuple(assigned_identifiers))}" + else: + return symbol + + + + def print_tree(self, root): + """ + Print the syntax tree using the RenderTree utility from the anytree module. + + Parameters: + - root (Node): The root node of the syntax tree. + """ + for pre, _, node in RenderTree(root): + print(f"{pre}{node.name}") + + def generate_program(self, level): + """ + Generate a program based on the specified level. + + Parameters: + - level (str): The level of the program. + + Returns: + - Tuple[Node, str]: The syntax tree root node and the generated program. + """ + assigned = set() + last_variable = set() + for_init_step = {} + root = Node("ROOT") + + self.init_count = 0 + if level == "1.1": + self.max_init = 2 + elif level == "1.2": + self.max_init = 3 + elif level == "2.1": + self.max_init = 2 + elif level == "3.1": + self.max_init = 2 + elif level == "3.2": + self.max_init = 4 + else: + self.max_init = 5 + + if level == "ALL" : + level_passed = level + else : + level_passed = "LEVEL" + level + + program = self.generate_code(level_passed, assigned, last_variable, for_init_step, root) + + return root, program.replace("SPACE", " ") + + def memory_usage(self): + process = psutil.Process(os.getpid()) + mem_info = process.memory_info() + return mem_info.rss + + def generate_and_write_programs(self, num_programs, level, filename='data.txt', deduplicate=True): + """ + Generate and write a specified number of programs to a file. + + Parameters: + - num_programs (int): Number of programs to generate and write. + - level (str): The level of the programs. + - filename (str): Name of the file to write the programs (default is 'data.txt'). + - deduplicate (bool, optional): Whether to perform deduplication of generated programs (default is True). + """ + start_time = time.time() + start_mem = self.memory_usage() + max_tries = 1000 + num_tries = 0 + + with open(filename, 'w') as file: + + generated_programs = 0 + hashes = set() + pbar = tqdm(desc="Generation", total=num_programs) + while generated_programs < num_programs: + try: + root, program = self.generate_program(level) + code = program + "\n# output" + + SIO = StringIO() + with redirect_stdout(SIO): + exec(code) + output = SIO.getvalue().strip() + + output = '\n'.join([f'# {line}' if line else f'# ' for line in output.split('\n')]) + result = f"""{code}\n{output}""" + + program_hash = hashlib.sha256(result.encode('utf-8')).hexdigest() + + if deduplicate: + if program_hash not in hashes: + hashes.add(program_hash) + file.write(result + '\n\n') + generated_programs += 1 + pbar.update(1) + num_tries = 0 + else: + num_tries += 1 + if num_tries >= max_tries: + print("Hit max tries in deduplication, stopping generation.") + break + else: + file.write(result + '\n\n') + + generated_programs += 1 + pbar.update(1) + + except Exception as e: + continue + + pbar.close() + end_time = time.time() + end_mem = self.memory_usage() + deduplication_info = "with deduplication" if deduplicate else "without deduplication" + print(f"Code generation completed in {end_time - start_time:.2f} seconds.") + print(f"Memory used during code generation: {end_mem - start_mem} bytes") + print(f"Generated {generated_programs} {'unique ' if deduplicate else ''}programs {deduplication_info}.") + print(f"Programs are saved to {filename}.") + + +def main(): + parser = argparse.ArgumentParser(description='Generate and write programs based on a specified level. ') + parser.add_argument('--num_programs', type=int, default=1000, help='Number of programs to generate and write (default is 1000)') + parser.add_argument('--level', default="ALL", help='The level of the programs (1.1, 1.2, 2.1, 2.2, 3.1, 3.2, ALL)') + parser.add_argument('--filename', default='data.txt', help='Name of the file to write the programs (default is data.txt)') + parser.add_argument('--deduplicate', action='store_true', default=True, help='Perform deduplication of generated programs (default is True)a') + + args = parser.parse_args() + + code_generator = CodeGenerator() + code_generator.generate_and_write_programs(num_programs=args.num_programs, level=args.level, filename=args.filename, deduplicate=args.deduplicate) + +if __name__ == "__main__": + main() diff --git a/data/train.bin b/data/train.bin new file mode 100644 index 0000000..4c8911d Binary files /dev/null and b/data/train.bin differ diff --git a/data/train.txt b/data/train.txt new file mode 100644 index 0000000..add0fce --- /dev/null +++ b/data/train.txt @@ -0,0 +1,4870 @@ +c = 3 +a = 7 +b = 3 * 9 +print(a + 6) +# output +# 13 + +e = 2 +print(e - 3) +# output +# -1 + +e = 2 +b = 4 +c = e + 0 +print(b * 1) +# output +# 4 + +d = 8 +d = 1 + 6 +print(d - 2) +# output +# 5 + +a = 2 +print(a / a) +# output +# 1.0 + +c = 8 +e = c + c +print(e) +# output +# 16 + +d = 3 +d = 5 +print(d + d) +# output +# 10 + +e = 1 +print(e / e) +# output +# 1.0 + +c = 8 +c = 5 / c +print(c + c) +# output +# 1.25 + +a = 9 +d = a + 1 +print(a * a) +# output +# 81 + +a = 0 +b = 4 +b = a / 2 +print(b) +# output +# 0.0 + +c = 8 +b = c / 7 +print(c - c) +# output +# 0 + +e = 5 +c = 8 +print(c) +# output +# 8 + +e = 6 +d = 9 +print(d) +# output +# 9 + +e = 2 +c = 3 +e = 1 * 5 +print(e * c) +# output +# 15 + +d = 5 +d = 3 +a = d * d +print(d - 8) +# output +# -5 + +e = 8 +c = 9 +c = 5 - 3 +print(c) +# output +# 2 + +a = 5 +a = 6 +c = 1 + 9 +print(a * 3) +# output +# 18 + +d = 0 +e = d + 4 +print(d * d) +# output +# 0 + +b = 8 +b = 2 / 5 +print(b / b) +# output +# 1.0 + +b = 4 +d = 4 +e = 3 / 9 +print(d + 6) +# output +# 10 + +a = 2 +c = 1 +b = 7 * c +print(b) +# output +# 7 + +a = 9 +print(a / a) +# output +# 1.0 + +d = 6 +b = d / 4 +print(d - 3) +# output +# 3 + +e = 3 +d = 8 +a = d / d +print(d - e) +# output +# 5 + +e = 7 +print(e * 9) +# output +# 63 + +b = 7 +d = 1 +print(d - b) +# output +# -6 + +d = 9 +c = d / d +print(c) +# output +# 1.0 + +d = 5 +c = d * d +print(d / d) +# output +# 1.0 + +d = 7 +print(d * d) +# output +# 49 + +b = 5 +d = 8 +print(b - 0) +# output +# 5 + +d = 2 +a = 6 +e = 2 - 6 +print(e) +# output +# -4 + +a = 2 +e = 0 +b = 5 - 4 +print(b) +# output +# 1 + +d = 2 +b = 2 * 8 +print(d - d) +# output +# 0 + +d = 0 +a = 1 * d +print(d + 6) +# output +# 6 + +a = 8 +c = 4 +b = c / a +print(b) +# output +# 0.5 + +b = 0 +print(b + b) +# output +# 0 + +d = 0 +e = d * 1 +print(e) +# output +# 0 + +d = 5 +b = 6 +print(d) +# output +# 5 + +b = 1 +a = 1 + b +print(a) +# output +# 2 + +d = 3 +c = 7 / 2 +print(d - d) +# output +# 0 + +e = 5 +a = 0 - e +print(a) +# output +# -5 + +d = 7 +e = 5 + d +print(e) +# output +# 12 + +a = 1 +b = 4 +e = 2 + 7 +print(a * b) +# output +# 4 + +a = 1 +print(a * a) +# output +# 1 + +b = 1 +b = 9 +print(b) +# output +# 9 + +e = 9 +print(e / 3) +# output +# 3.0 + +a = 8 +a = a / 8 +print(a * a) +# output +# 1.0 + +b = 4 +d = 9 +print(d + 6) +# output +# 15 + +e = 2 +d = e / e +print(d) +# output +# 1.0 + +b = 2 +b = 3 +print(b * 7) +# output +# 21 + +a = 5 +d = 7 +print(d) +# output +# 7 + +c = 3 +e = 4 +print(e) +# output +# 4 + +c = 0 +b = 3 +a = 0 + 4 +print(b * 6) +# output +# 18 + +d = 1 +print(d) +# output +# 1 + +c = 6 +a = 0 +d = a - a +print(c / 2) +# output +# 3.0 + +e = 7 +a = 2 +d = e / 3 +print(d) +# output +# 2.3333333333333335 + +b = 3 +d = 5 +d = b - 7 +print(b - b) +# output +# 0 + +c = 6 +print(c - c) +# output +# 0 + +a = 8 +b = 6 / a +print(b) +# output +# 0.75 + +e = 4 +c = 5 +print(c * e) +# output +# 20 + +e = 9 +c = 0 +print(e) +# output +# 9 + +a = 2 +e = a + a +print(a * 5) +# output +# 10 + +d = 3 +d = 8 - d +print(d + d) +# output +# 10 + +b = 7 +b = 7 +print(b) +# output +# 7 + +b = 7 +d = 4 +print(d) +# output +# 4 + +e = 9 +print(e / 1) +# output +# 9.0 + +a = 7 +d = 5 +b = 3 / 3 +print(b) +# output +# 1.0 + +c = 2 +b = c * c +print(c / 1) +# output +# 2.0 + +e = 3 +b = 7 +print(b) +# output +# 7 + +a = 8 +print(a + a) +# output +# 16 + +d = 2 +b = 4 +c = d * 9 +print(c) +# output +# 18 + +e = 9 +print(e) +# output +# 9 + +a = 4 +b = a / a +print(b) +# output +# 1.0 + +b = 8 +b = 1 +d = b - 6 +print(d) +# output +# -5 + +a = 5 +print(a) +# output +# 5 + +d = 4 +d = 3 +e = d * d +print(e) +# output +# 9 + +a = 3 +c = a / a +print(c) +# output +# 1.0 + +e = 2 +d = e + e +print(e * e) +# output +# 4 + +d = 8 +print(d) +# output +# 8 + +b = 9 +print(b * 1) +# output +# 9 + +c = 3 +a = 2 * 7 +print(c - c) +# output +# 0 + +e = 4 +b = 0 + e +print(e + 1) +# output +# 5 + +c = 8 +print(c - 2) +# output +# 6 + +c = 2 +e = 8 +print(e) +# output +# 8 + +d = 6 +b = 5 +print(d - d) +# output +# 0 + +c = 5 +a = c + 9 +print(a) +# output +# 14 + +c = 9 +print(c * c) +# output +# 81 + +a = 3 +c = 0 +print(c) +# output +# 0 + +e = 5 +print(e) +# output +# 5 + +d = 7 +e = 7 +a = 3 - d +print(a) +# output +# -4 + +d = 3 +a = 4 +a = d * d +print(a * 4) +# output +# 36 + +e = 1 +print(e) +# output +# 1 + +c = 2 +d = 6 +print(c / d) +# output +# 0.3333333333333333 + +b = 1 +c = 3 +print(c) +# output +# 3 + +e = 1 +a = 3 +e = e / a +print(e) +# output +# 0.3333333333333333 + +a = 8 +a = 8 +print(a) +# output +# 8 + +e = 4 +e = 5 +print(e) +# output +# 5 + +a = 3 +b = 7 +d = a + a +print(d) +# output +# 6 + +d = 9 +d = 6 +b = d - 0 +print(b) +# output +# 6 + +c = 9 +d = 5 +print(d) +# output +# 5 + +e = 5 +print(e + e) +# output +# 10 + +a = 1 +d = 3 +print(a * 2) +# output +# 2 + +d = 7 +b = 9 / d +print(d - d) +# output +# 0 + +b = 8 +d = 6 +print(b / d) +# output +# 1.3333333333333333 + +d = 7 +a = 4 * d +print(d - 3) +# output +# 4 + +d = 9 +c = 2 +print(c) +# output +# 2 + +d = 1 +b = 4 +print(b) +# output +# 4 + +d = 8 +b = 0 * d +print(d - 7) +# output +# 1 + +b = 1 +print(b - 9) +# output +# -8 + +b = 0 +d = 7 +e = b + b +print(d + b) +# output +# 7 + +c = 8 +b = 3 +print(b) +# output +# 3 + +c = 3 +print(c + 3) +# output +# 6 + +c = 0 +d = 4 +e = c + 6 +print(e) +# output +# 6 + +e = 1 +b = 8 +print(b) +# output +# 8 + +e = 7 +print(e + e) +# output +# 14 + +a = 9 +a = 2 + 7 +print(a) +# output +# 9 + +d = 2 +print(d / 6) +# output +# 0.3333333333333333 + +d = 9 +b = 4 +a = d + 3 +print(a) +# output +# 12 + +c = 5 +b = c * c +print(b) +# output +# 25 + +d = 0 +c = 7 +print(d - d) +# output +# 0 + +a = 9 +d = a * a +print(d) +# output +# 81 + +a = 0 +c = 8 +print(a) +# output +# 0 + +e = 5 +b = 6 +print(e) +# output +# 5 + +d = 8 +b = 2 + d +print(b) +# output +# 10 + +b = 7 +c = b * 6 +print(b * 9) +# output +# 63 + +e = 6 +a = 4 - e +print(a) +# output +# -2 + +b = 8 +c = 3 +print(b) +# output +# 8 + +e = 4 +a = e + 9 +print(a) +# output +# 13 + +b = 3 +e = 1 +d = e * 6 +print(d) +# output +# 6 + +a = 2 +e = 4 +a = a / 7 +print(a + a) +# output +# 0.5714285714285714 + +c = 1 +a = 4 / 3 +print(c - 5) +# output +# -4 + +a = 8 +print(a * a) +# output +# 64 + +b = 9 +c = 6 +a = c * 6 +print(c / 6) +# output +# 1.0 + +a = 1 +e = 6 + a +print(a * 4) +# output +# 4 + +a = 7 +e = 0 +d = 5 * e +print(a * a) +# output +# 49 + +a = 5 +d = 5 +print(d) +# output +# 5 + +a = 7 +e = 4 +d = a / e +print(d) +# output +# 1.75 + +a = 5 +b = 5 +e = 9 - 2 +print(a * a) +# output +# 25 + +d = 1 +d = d * 2 +print(d) +# output +# 2 + +a = 3 +d = a - a +print(d) +# output +# 0 + +d = 1 +b = 2 +print(b) +# output +# 2 + +d = 7 +e = 5 +e = e + d +print(e) +# output +# 12 + +d = 8 +b = 2 +e = 2 + b +print(e) +# output +# 4 + +a = 9 +e = 7 +print(e - e) +# output +# 0 + +b = 8 +a = 8 +print(b - 4) +# output +# 4 + +a = 2 +d = 8 * 2 +print(a * a) +# output +# 4 + +c = 5 +c = 0 +print(c) +# output +# 0 + +e = 3 +a = 9 +a = 8 - a +print(a) +# output +# -1 + +c = 0 +d = 2 +b = 0 / d +print(b) +# output +# 0.0 + +e = 2 +d = 9 +a = e - 2 +print(a) +# output +# 0 + +b = 5 +b = 8 +c = b - b +print(c) +# output +# 0 + +b = 2 +a = b / b +print(a) +# output +# 1.0 + +a = 0 +b = a + a +print(a / 9) +# output +# 0.0 + +e = 8 +print(e) +# output +# 8 + +b = 7 +c = 1 +print(c + 7) +# output +# 8 + +b = 4 +a = 1 +a = 2 / b +print(a) +# output +# 0.5 + +e = 3 +e = e + 5 +print(e) +# output +# 8 + +a = 4 +d = 7 + a +print(a - 9) +# output +# -5 + +b = 6 +c = 3 +b = 3 - 3 +print(c - c) +# output +# 0 + +d = 5 +a = 0 * d +print(a) +# output +# 0 + +a = 7 +e = 1 +print(a + 3) +# output +# 10 + +b = 9 +b = 1 / b +print(b * 0) +# output +# 0.0 + +d = 2 +e = 4 +a = d / 2 +print(e / 2) +# output +# 2.0 + +b = 8 +d = 3 +a = 4 - 9 +print(d + b) +# output +# 11 + +e = 8 +d = 6 +print(e + d) +# output +# 14 + +b = 1 +e = b * b +print(e) +# output +# 1 + +e = 8 +a = 1 +d = 1 - 9 +print(e * e) +# output +# 64 + +b = 5 +c = 4 +print(b) +# output +# 5 + +d = 6 +a = 6 +print(a) +# output +# 6 + +a = 0 +b = 7 +print(b) +# output +# 7 + +c = 8 +b = 6 +print(c) +# output +# 8 + +e = 1 +print(e - e) +# output +# 0 + +b = 7 +c = 9 +print(b) +# output +# 7 + +e = 6 +c = 1 / e +print(e + e) +# output +# 12 + +a = 4 +b = 4 +print(b * b) +# output +# 16 + +d = 9 +d = 8 * d +print(d * d) +# output +# 5184 + +a = 8 +c = 2 / 7 +print(a * a) +# output +# 64 + +b = 5 +e = 7 - 8 +print(e) +# output +# -1 + +d = 2 +a = 4 +c = d * 0 +print(c) +# output +# 0 + +d = 9 +c = 3 +e = d - 5 +print(d + c) +# output +# 12 + +a = 2 +print(a / 4) +# output +# 0.5 + +e = 2 +b = 3 +e = 1 - e +print(b + 6) +# output +# 9 + +d = 7 +a = d * d +print(a) +# output +# 49 + +d = 7 +print(d) +# output +# 7 + +d = 5 +print(d * d) +# output +# 25 + +e = 7 +b = 0 +c = b - b +print(e * 4) +# output +# 28 + +d = 0 +b = 2 +print(d * d) +# output +# 0 + +d = 2 +b = 4 * d +print(b) +# output +# 8 + +d = 0 +c = 6 +e = 7 * c +print(e) +# output +# 42 + +b = 4 +print(b) +# output +# 4 + +d = 9 +c = 7 +print(c + c) +# output +# 14 + +e = 7 +print(e) +# output +# 7 + +c = 6 +d = 1 +print(d) +# output +# 1 + +a = 2 +c = 3 * 5 +print(c) +# output +# 15 + +d = 7 +d = 8 +e = 7 * 5 +print(e) +# output +# 35 + +b = 7 +d = b - 4 +print(b + 8) +# output +# 15 + +e = 6 +print(e - 6) +# output +# 0 + +a = 6 +a = 6 +c = 9 - 7 +print(a * 4) +# output +# 24 + +d = 7 +d = 3 +e = d - d +print(d * 0) +# output +# 0 + +d = 7 +c = 9 +a = 0 + 9 +print(c * 4) +# output +# 36 + +e = 8 +d = e - 9 +print(d) +# output +# -1 + +b = 3 +a = 0 +print(a) +# output +# 0 + +c = 8 +print(c) +# output +# 8 + +c = 2 +c = c * c +print(c - 5) +# output +# -1 + +d = 6 +a = d - 2 +print(a) +# output +# 4 + +b = 4 +b = 4 +b = b / 8 +print(b + 3) +# output +# 3.5 + +e = 4 +d = 2 / e +print(d) +# output +# 0.5 + +a = 7 +print(a * a) +# output +# 49 + +d = 8 +print(d / d) +# output +# 1.0 + +c = 9 +d = c / 3 +print(d) +# output +# 3.0 + +c = 5 +print(c / c) +# output +# 1.0 + +e = 0 +b = 8 +c = b * b +print(c) +# output +# 64 + +e = 0 +e = e + e +print(e) +# output +# 0 + +b = 4 +c = 4 +print(b + 5) +# output +# 9 + +e = 9 +b = 8 +a = 8 + 3 +print(b * 4) +# output +# 32 + +d = 8 +d = 1 +e = d + d +print(d / 5) +# output +# 0.2 + +c = 3 +b = 7 +b = c + c +print(b / 1) +# output +# 6.0 + +e = 4 +e = 8 * 8 +print(e) +# output +# 64 + +e = 9 +b = 1 +print(b) +# output +# 1 + +d = 9 +b = 6 +a = 6 + 5 +print(a) +# output +# 11 + +e = 7 +b = 1 +print(b) +# output +# 1 + +d = 8 +a = 5 +print(d) +# output +# 8 + +c = 4 +print(c - c) +# output +# 0 + +c = 6 +print(c / 4) +# output +# 1.5 + +a = 7 +b = 8 +e = 9 - 5 +print(a * a) +# output +# 49 + +a = 9 +d = 9 + 5 +print(d) +# output +# 14 + +b = 8 +b = 2 +a = 3 / b +print(a) +# output +# 1.5 + +d = 6 +d = 6 +d = d + d +print(d) +# output +# 12 + +b = 5 +d = b - b +print(d) +# output +# 0 + +b = 9 +c = 6 / b +print(b * 2) +# output +# 18 + +d = 8 +print(d - d) +# output +# 0 + +d = 0 +e = 7 +c = d / 1 +print(e / e) +# output +# 1.0 + +a = 4 +e = a / 2 +print(a + 1) +# output +# 5 + +d = 2 +b = 5 +print(b) +# output +# 5 + +b = 6 +c = 4 +print(b / b) +# output +# 1.0 + +d = 8 +e = 8 * d +print(d + d) +# output +# 16 + +c = 4 +print(c * 4) +# output +# 16 + +c = 6 +e = 2 +d = 6 + 1 +print(c * 1) +# output +# 6 + +b = 0 +d = 8 +print(b * b) +# output +# 0 + +c = 8 +print(c * c) +# output +# 64 + +a = 6 +print(a) +# output +# 6 + +b = 1 +c = 5 +print(c) +# output +# 5 + +c = 6 +a = 4 +print(c) +# output +# 6 + +b = 4 +b = 8 +d = b - 0 +print(d) +# output +# 8 + +b = 4 +e = 8 - b +print(e) +# output +# 4 + +c = 4 +print(c * 8) +# output +# 32 + +d = 4 +c = 0 + 1 +print(c) +# output +# 1 + +d = 1 +c = 0 +d = d / 7 +print(d * 2) +# output +# 0.2857142857142857 + +d = 6 +d = 3 / 7 +print(d * 7) +# output +# 3.0 + +c = 4 +d = 8 +c = 7 + 6 +print(c) +# output +# 13 + +d = 8 +d = 5 +e = 9 - d +print(e) +# output +# 4 + +d = 9 +b = 1 +d = d / 9 +print(b * b) +# output +# 1 + +c = 1 +a = 2 +c = 2 * 3 +print(c) +# output +# 6 + +b = 9 +c = 4 +print(b) +# output +# 9 + +a = 4 +c = 0 +print(c - c) +# output +# 0 + +e = 1 +c = 3 +print(e - 3) +# output +# -2 + +d = 2 +b = 4 +e = 8 + 3 +print(d / 5) +# output +# 0.4 + +c = 3 +a = c - 9 +print(a) +# output +# -6 + +e = 8 +c = 7 +print(c) +# output +# 7 + +e = 4 +b = 6 + e +print(b) +# output +# 10 + +e = 9 +d = 6 +print(e) +# output +# 9 + +c = 1 +print(c - c) +# output +# 0 + +d = 6 +a = 5 +a = 2 + a +print(d - a) +# output +# -1 + +b = 8 +c = 7 +print(b) +# output +# 8 + +c = 8 +d = 4 +print(d / 9) +# output +# 0.4444444444444444 + +d = 6 +b = d / d +print(b) +# output +# 1.0 + +c = 6 +e = 9 +d = 4 * c +print(c - 8) +# output +# -2 + +e = 1 +a = e + 8 +print(a) +# output +# 9 + +c = 1 +b = 9 + 5 +print(c / 4) +# output +# 0.25 + +b = 9 +d = b - b +print(b - b) +# output +# 0 + +d = 8 +a = 7 +print(d) +# output +# 8 + +e = 5 +c = 4 +c = c - e +print(e / c) +# output +# -5.0 + +a = 3 +e = 4 * 7 +print(a - a) +# output +# 0 + +c = 6 +c = 2 +print(c + c) +# output +# 4 + +d = 2 +c = 5 +print(d * d) +# output +# 4 + +d = 2 +e = d + 1 +print(e) +# output +# 3 + +c = 4 +e = 3 +print(c * e) +# output +# 12 + +c = 7 +a = 3 +a = 2 / c +print(a) +# output +# 0.2857142857142857 + +e = 7 +print(e / 7) +# output +# 1.0 + +d = 7 +a = 6 +print(a) +# output +# 6 + +b = 8 +b = 5 * 4 +print(b) +# output +# 20 + +b = 5 +b = 0 - 7 +print(b) +# output +# -7 + +c = 2 +print(c - c) +# output +# 0 + +d = 1 +b = 6 +print(d) +# output +# 1 + +e = 0 +d = e - 4 +print(d) +# output +# -4 + +a = 5 +e = 5 * 9 +print(e) +# output +# 45 + +d = 8 +a = d + d +print(d - 3) +# output +# 5 + +b = 4 +b = 9 +b = b + 4 +print(b) +# output +# 13 + +b = 3 +e = 6 +print(b / 3) +# output +# 1.0 + +e = 5 +c = 1 +print(c - e) +# output +# -4 + +a = 2 +a = 4 + a +print(a) +# output +# 6 + +e = 4 +a = 5 - e +print(e - 7) +# output +# -3 + +d = 7 +b = 7 + d +print(b) +# output +# 14 + +e = 3 +e = e / e +print(e / e) +# output +# 1.0 + +e = 6 +print(e * 4) +# output +# 24 + +d = 8 +print(d - 5) +# output +# 3 + +d = 9 +c = 4 +e = d / c +print(e) +# output +# 2.25 + +c = 6 +a = 5 +d = c + 1 +print(d) +# output +# 7 + +e = 0 +b = 2 +print(b * b) +# output +# 4 + +c = 0 +b = 3 * 6 +print(c - 1) +# output +# -1 + +a = 9 +e = 9 +d = 8 + 1 +print(a * 0) +# output +# 0 + +e = 1 +a = 7 +print(a * 3) +# output +# 21 + +d = 5 +print(d + 6) +# output +# 11 + +a = 9 +b = 7 +print(b / 5) +# output +# 1.4 + +a = 7 +print(a / 2) +# output +# 3.5 + +a = 2 +a = 4 +print(a) +# output +# 4 + +a = 9 +d = 2 +d = a + d +print(d) +# output +# 11 + +d = 4 +a = 2 * d +print(a) +# output +# 8 + +b = 6 +a = 4 / 9 +print(b - b) +# output +# 0 + +a = 5 +b = 2 +print(b / a) +# output +# 0.4 + +e = 8 +a = 9 +print(e) +# output +# 8 + +d = 3 +b = 6 + 3 +print(b) +# output +# 9 + +e = 6 +b = e * e +print(e / 8) +# output +# 0.75 + +b = 9 +c = 4 + 6 +print(c) +# output +# 10 + +d = 4 +print(d * 6) +# output +# 24 + +a = 6 +e = 7 +b = e + a +print(a / 2) +# output +# 3.0 + +b = 3 +print(b - b) +# output +# 0 + +b = 2 +a = 0 +print(a * 2) +# output +# 0 + +a = 1 +print(a) +# output +# 1 + +e = 7 +c = 4 +print(e) +# output +# 7 + +d = 8 +e = d + d +print(e) +# output +# 16 + +a = 0 +print(a + a) +# output +# 0 + +a = 2 +c = a * 6 +print(a / a) +# output +# 1.0 + +a = 9 +c = 7 / 9 +print(c) +# output +# 0.7777777777777778 + +a = 4 +print(a * a) +# output +# 16 + +b = 0 +c = 3 +print(b) +# output +# 0 + +d = 7 +d = 9 +e = 3 * d +print(d - 9) +# output +# 0 + +a = 9 +e = 3 +print(a + 1) +# output +# 10 + +b = 9 +print(b / 6) +# output +# 1.5 + +d = 9 +c = 5 +e = c / 7 +print(e) +# output +# 0.7142857142857143 + +d = 6 +e = 0 +print(d * d) +# output +# 36 + +e = 2 +b = 7 +print(e) +# output +# 2 + +c = 7 +c = 4 +d = 6 * c +print(c / c) +# output +# 1.0 + +b = 8 +b = 5 +print(b) +# output +# 5 + +d = 3 +a = 2 +print(d - a) +# output +# 1 + +b = 8 +d = 3 +print(d / d) +# output +# 1.0 + +a = 9 +b = 7 +print(b - b) +# output +# 0 + +e = 5 +print(e - 0) +# output +# 5 + +a = 7 +c = 1 +a = a / 1 +print(a * c) +# output +# 7.0 + +e = 6 +c = e + e +print(e + e) +# output +# 12 + +a = 3 +d = 4 +print(a) +# output +# 3 + +d = 9 +print(d * 9) +# output +# 81 + +a = 5 +e = 1 +print(a) +# output +# 5 + +d = 7 +c = 0 + 7 +print(c) +# output +# 7 + +e = 9 +a = 1 +c = 9 * a +print(e + 9) +# output +# 18 + +b = 6 +print(b) +# output +# 6 + +b = 6 +e = b + b +print(b + 1) +# output +# 7 + +c = 5 +e = 8 + c +print(e) +# output +# 13 + +c = 4 +d = 3 +print(c) +# output +# 4 + +a = 6 +b = 6 +a = 3 - 3 +print(a) +# output +# 0 + +e = 6 +b = 1 +d = e / e +print(d) +# output +# 1.0 + +d = 4 +b = 6 +a = 0 / d +print(a) +# output +# 0.0 + +d = 9 +d = 7 +print(d) +# output +# 7 + +d = 0 +print(d * d) +# output +# 0 + +e = 7 +a = 7 +a = 7 - e +print(a * 0) +# output +# 0 + +b = 7 +e = b - b +print(b - 5) +# output +# 2 + +b = 6 +b = 4 +b = b / b +print(b - 4) +# output +# -3.0 + +d = 3 +d = d / d +print(d - 8) +# output +# -7.0 + +d = 5 +c = 9 + d +print(c) +# output +# 14 + +b = 9 +a = 3 +d = b / 7 +print(d) +# output +# 1.2857142857142858 + +e = 7 +b = 6 +print(b * 6) +# output +# 36 + +e = 4 +print(e + e) +# output +# 8 + +a = 7 +b = a / a +print(a * a) +# output +# 49 + +e = 8 +b = 6 / e +print(e / 2) +# output +# 4.0 + +d = 2 +a = 6 +print(d) +# output +# 2 + +b = 2 +a = 8 +d = b / 6 +print(a / 5) +# output +# 1.6 + +b = 9 +e = 1 +print(e) +# output +# 1 + +d = 4 +e = 0 +b = e * 0 +print(b) +# output +# 0 + +e = 9 +e = e - 7 +print(e) +# output +# 2 + +c = 9 +a = 4 +a = 8 - 5 +print(a + 8) +# output +# 11 + +d = 1 +b = 1 +a = 2 / b +print(d + 9) +# output +# 10 + +d = 9 +a = 2 +b = 7 - d +print(a / d) +# output +# 0.2222222222222222 + +d = 8 +b = d * d +print(d * d) +# output +# 64 + +c = 3 +a = 0 +e = c / 3 +print(a + c) +# output +# 3 + +c = 6 +a = 4 +print(c / c) +# output +# 1.0 + +b = 8 +a = 5 - b +print(a) +# output +# -3 + +e = 8 +e = 0 +print(e + e) +# output +# 0 + +b = 5 +a = 1 +print(b) +# output +# 5 + +e = 2 +c = 2 +print(c * 6) +# output +# 12 + +e = 3 +print(e / 6) +# output +# 0.5 + +a = 6 +d = 8 +print(a) +# output +# 6 + +e = 4 +c = 9 +e = 8 - e +print(e / 3) +# output +# 1.3333333333333333 + +e = 7 +d = 0 +e = 9 - 1 +print(e - 7) +# output +# 1 + +d = 6 +print(d + d) +# output +# 12 + +c = 0 +d = 5 +print(c) +# output +# 0 + +d = 2 +print(d) +# output +# 2 + +b = 8 +d = 9 +a = d + 5 +print(a) +# output +# 14 + +b = 1 +a = b + b +print(b / b) +# output +# 1.0 + +b = 5 +print(b + b) +# output +# 10 + +b = 3 +b = 5 +d = b * 2 +print(d) +# output +# 10 + +e = 8 +a = 1 +c = 5 * 9 +print(a * 9) +# output +# 9 + +c = 3 +a = 3 +print(c / 7) +# output +# 0.42857142857142855 + +c = 6 +a = 0 / 5 +print(a) +# output +# 0.0 + +c = 0 +a = 3 +print(c + a) +# output +# 3 + +d = 0 +a = 4 +print(a) +# output +# 4 + +e = 3 +print(e) +# output +# 3 + +a = 5 +print(a / 5) +# output +# 1.0 + +c = 4 +e = 1 +e = 4 / e +print(e) +# output +# 4.0 + +a = 7 +c = a / a +print(c) +# output +# 1.0 + +a = 3 +c = 6 +d = c / 7 +print(c - 1) +# output +# 5 + +b = 8 +a = 2 + b +print(a) +# output +# 10 + +b = 6 +a = 5 +print(a) +# output +# 5 + +b = 7 +b = 8 +print(b) +# output +# 8 + +c = 5 +d = 2 +print(d + 4) +# output +# 6 + +b = 1 +print(b) +# output +# 1 + +e = 1 +b = 0 +print(b) +# output +# 0 + +d = 3 +b = 5 +print(d) +# output +# 3 + +a = 1 +print(a * 0) +# output +# 0 + +a = 2 +print(a + a) +# output +# 4 + +d = 0 +b = 4 +print(b) +# output +# 4 + +d = 0 +a = 9 +print(a * 7) +# output +# 63 + +c = 9 +print(c / c) +# output +# 1.0 + +c = 5 +e = 1 +print(c) +# output +# 5 + +d = 4 +d = 3 +b = d + 7 +print(b) +# output +# 10 + +e = 9 +e = 3 +b = e / 8 +print(e + e) +# output +# 6 + +c = 6 +e = 0 +print(e + 1) +# output +# 1 + +b = 1 +e = 7 +e = b * 4 +print(e + e) +# output +# 8 + +b = 3 +e = 8 +print(e) +# output +# 8 + +d = 3 +print(d) +# output +# 3 + +d = 8 +e = 2 +print(d + 2) +# output +# 10 + +e = 5 +d = 2 - e +print(d) +# output +# -3 + +e = 6 +b = 9 +print(e) +# output +# 6 + +c = 4 +b = 2 +d = 6 + 3 +print(b + 9) +# output +# 11 + +d = 0 +print(d) +# output +# 0 + +b = 1 +c = b + 3 +print(c) +# output +# 4 + +c = 5 +print(c - c) +# output +# 0 + +e = 3 +e = 4 +c = 6 - e +print(e + 3) +# output +# 7 + +d = 4 +e = 3 +a = 9 - 9 +print(d * 4) +# output +# 16 + +d = 4 +a = 1 +print(d) +# output +# 4 + +d = 6 +print(d) +# output +# 6 + +e = 2 +a = 6 +print(a) +# output +# 6 + +b = 0 +d = 0 +print(d) +# output +# 0 + +b = 2 +print(b - b) +# output +# 0 + +e = 8 +a = 6 / e +print(e * e) +# output +# 64 + +b = 2 +c = 1 +print(b + 2) +# output +# 4 + +e = 7 +a = e + e +print(a) +# output +# 14 + +c = 5 +e = 0 +print(c) +# output +# 5 + +a = 3 +b = 2 +c = b * 7 +print(c) +# output +# 14 + +c = 6 +a = 6 +print(a) +# output +# 6 + +a = 2 +b = 2 / 8 +print(a / 8) +# output +# 0.25 + +e = 3 +a = 4 +print(e) +# output +# 3 + +c = 4 +d = 3 +print(d + 6) +# output +# 9 + +e = 6 +b = 5 +c = 4 / 9 +print(e * 6) +# output +# 36 + +d = 2 +a = 0 +e = 7 / 8 +print(d + a) +# output +# 2 + +e = 4 +b = e * e +print(e * 7) +# output +# 28 + +a = 4 +e = 9 +print(e + a) +# output +# 13 + +b = 8 +a = 4 +d = 5 - b +print(b * 3) +# output +# 24 + +b = 1 +d = 5 * b +print(d) +# output +# 5 + +a = 1 +a = a + a +print(a + a) +# output +# 4 + +a = 1 +d = a / 4 +print(d) +# output +# 0.25 + +a = 9 +a = 5 +e = a / 7 +print(e) +# output +# 0.7142857142857143 + +d = 2 +d = 2 + d +print(d) +# output +# 4 + +e = 0 +a = 2 +c = e + e +print(c) +# output +# 0 + +e = 3 +print(e + 8) +# output +# 11 + +c = 0 +d = c + 6 +print(c * c) +# output +# 0 + +c = 7 +b = 9 / c +print(b) +# output +# 1.2857142857142858 + +a = 6 +e = 6 +a = e * a +print(a) +# output +# 36 + +e = 3 +c = e + e +print(e - e) +# output +# 0 + +a = 2 +a = 5 +d = a + a +print(d) +# output +# 10 + +e = 8 +a = 0 +c = a + a +print(a * 7) +# output +# 0 + +d = 1 +b = 3 +b = b / 8 +print(b / d) +# output +# 0.375 + +b = 1 +c = 1 +d = c / 5 +print(b - 0) +# output +# 1 + +b = 8 +a = 6 +print(b) +# output +# 8 + +c = 1 +print(c + c) +# output +# 2 + +a = 4 +a = 5 +a = a * 7 +print(a / a) +# output +# 1.0 + +c = 9 +a = c * 1 +print(c / 1) +# output +# 9.0 + +e = 6 +b = 1 +print(b - 2) +# output +# -1 + +b = 6 +c = 4 +e = c + c +print(e) +# output +# 8 + +b = 9 +b = 9 +d = 7 + b +print(d) +# output +# 16 + +d = 9 +c = 7 - d +print(d - d) +# output +# 0 + +b = 3 +e = 6 +print(b) +# output +# 3 + +c = 6 +c = 1 * 4 +print(c) +# output +# 4 + +a = 9 +print(a - a) +# output +# 0 + +d = 3 +b = 2 +a = d * b +print(d / 6) +# output +# 0.5 + +e = 1 +d = 5 +c = d * d +print(d / 2) +# output +# 2.5 + +d = 9 +print(d * 6) +# output +# 54 + +b = 8 +d = 5 +e = 8 - b +print(d / 3) +# output +# 1.6666666666666667 + +e = 8 +d = 5 +a = e - d +print(e / e) +# output +# 1.0 + +d = 3 +d = 7 +print(d) +# output +# 7 + +a = 0 +print(a) +# output +# 0 + +a = 5 +a = 2 +print(a * a) +# output +# 4 + +e = 2 +print(e * e) +# output +# 4 + +b = 3 +c = 7 +print(c / 3) +# output +# 2.3333333333333335 + +c = 3 +b = 0 +d = c + b +print(d) +# output +# 3 + +a = 3 +print(a) +# output +# 3 + +d = 3 +c = 0 +a = c * 5 +print(c / 5) +# output +# 0.0 + +d = 6 +c = d - d +print(c) +# output +# 0 + +c = 3 +a = 8 +e = a + a +print(a - a) +# output +# 0 + +c = 5 +a = 9 / c +print(a) +# output +# 1.8 + +e = 5 +print(e * 5) +# output +# 25 + +d = 2 +d = d - d +print(d) +# output +# 0 + +c = 4 +d = 9 +b = 6 + 9 +print(b) +# output +# 15 + +e = 6 +c = 4 +b = c + c +print(e / e) +# output +# 1.0 + +c = 1 +print(c) +# output +# 1 + +d = 0 +e = 3 +print(e) +# output +# 3 + +a = 4 +c = 7 +print(a) +# output +# 4 + +e = 9 +e = e / e +print(e - 0) +# output +# 1.0 + +c = 7 +print(c * 4) +# output +# 28 + +a = 9 +e = 1 - a +print(a - 1) +# output +# 8 + +e = 0 +a = 3 +print(a) +# output +# 3 + +c = 6 +d = 8 +print(d / 4) +# output +# 2.0 + +a = 7 +b = 0 +e = 7 - a +print(b / 7) +# output +# 0.0 + +d = 9 +print(d) +# output +# 9 + +c = 3 +e = 0 +d = e + e +print(d) +# output +# 0 + +b = 6 +e = 1 +e = 5 / 1 +print(e - 2) +# output +# 3.0 + +e = 6 +a = 8 - e +print(e + 3) +# output +# 9 + +b = 8 +b = 9 - 6 +print(b) +# output +# 3 + +d = 1 +d = 0 +b = 2 * d +print(b) +# output +# 0 + +c = 5 +e = 6 +e = e + 2 +print(e) +# output +# 8 + +e = 1 +c = 8 +print(c * 2) +# output +# 16 + +b = 8 +print(b) +# output +# 8 + +c = 2 +b = 0 * c +print(c + c) +# output +# 4 + +a = 0 +print(a - 9) +# output +# -9 + +e = 9 +e = e * 2 +print(e) +# output +# 18 + +b = 6 +b = 5 +print(b) +# output +# 5 + +a = 1 +b = 3 +print(a) +# output +# 1 + +a = 2 +d = 1 +print(d) +# output +# 1 + +d = 4 +print(d - d) +# output +# 0 + +a = 9 +b = a * 0 +print(a / a) +# output +# 1.0 + +e = 4 +c = 2 +e = e - 0 +print(c * c) +# output +# 4 + +b = 7 +print(b) +# output +# 7 + +c = 7 +print(c) +# output +# 7 + +d = 3 +print(d * 7) +# output +# 21 + +c = 2 +d = 9 +print(d) +# output +# 9 + +b = 0 +e = 1 +print(b) +# output +# 0 + +b = 2 +e = b - 5 +print(e) +# output +# -3 + +e = 9 +print(e + 9) +# output +# 18 + +a = 6 +e = a / 7 +print(a + 4) +# output +# 10 + +e = 0 +print(e) +# output +# 0 + +a = 5 +c = 8 +print(a) +# output +# 5 + +b = 9 +print(b) +# output +# 9 + +e = 8 +d = 2 - 0 +print(d) +# output +# 2 + +c = 6 +d = 9 - 5 +print(c / 1) +# output +# 6.0 + +c = 6 +print(c / c) +# output +# 1.0 + +b = 1 +c = 0 +print(c / 2) +# output +# 0.0 + +a = 0 +c = 5 +print(c * 0) +# output +# 0 + +b = 6 +c = 1 +print(c / 3) +# output +# 0.3333333333333333 + +e = 8 +b = e / 6 +print(b) +# output +# 1.3333333333333333 + +b = 3 +print(b - 6) +# output +# -3 + +c = 9 +e = 3 - 8 +print(c + 9) +# output +# 18 + +e = 7 +b = 2 +print(e) +# output +# 7 + +a = 2 +d = 1 +b = a / d +print(b) +# output +# 2.0 + +e = 4 +b = 8 +d = 4 + b +print(d) +# output +# 12 + +b = 9 +c = 6 +print(c) +# output +# 6 + +c = 5 +d = 3 +e = 2 + 6 +print(d / 8) +# output +# 0.375 + +b = 8 +print(b * 1) +# output +# 8 + +b = 7 +a = b - 9 +print(b - 6) +# output +# 1 + +d = 0 +b = d * d +print(b) +# output +# 0 + +c = 0 +c = 1 * c +print(c - c) +# output +# 0 + +b = 6 +a = 2 +d = 9 - b +print(b - 0) +# output +# 6 + +c = 1 +c = c * 8 +print(c) +# output +# 8 + +c = 1 +e = 6 +print(e / 7) +# output +# 0.8571428571428571 + +b = 2 +b = 6 +print(b - 6) +# output +# 0 + +a = 5 +e = 8 +b = a / a +print(e - e) +# output +# 0 + +e = 4 +b = 3 +print(b) +# output +# 3 + +a = 5 +print(a / 3) +# output +# 1.6666666666666667 + +a = 8 +b = 5 +print(b / 2) +# output +# 2.5 + +c = 6 +b = 2 +c = b - 4 +print(b + c) +# output +# 0 + +e = 1 +c = e + 5 +print(e + 7) +# output +# 8 + +e = 8 +print(e * e) +# output +# 64 + +b = 3 +a = 0 +c = 6 - 1 +print(c) +# output +# 5 + +a = 9 +a = a - 6 +print(a - a) +# output +# 0 + +e = 1 +a = 0 - 8 +print(a) +# output +# -8 + +d = 6 +d = 2 +c = d - 0 +print(c) +# output +# 2 + +e = 7 +c = e + e +print(c) +# output +# 14 + +b = 2 +print(b * 6) +# output +# 12 + +d = 5 +c = 8 +b = c + c +print(c + 6) +# output +# 14 + +a = 9 +b = 0 +d = a + a +print(d) +# output +# 18 + +d = 4 +c = 6 +d = 1 - 6 +print(d) +# output +# -5 + +c = 4 +a = 7 +a = c + a +print(a + 5) +# output +# 16 + +e = 2 +b = e / e +print(e + 8) +# output +# 10 + +c = 6 +b = 3 + 1 +print(b) +# output +# 4 + +d = 9 +b = 2 +c = 3 / d +print(b - b) +# output +# 0 + +e = 3 +print(e - e) +# output +# 0 + +a = 1 +print(a / 2) +# output +# 0.5 + +e = 5 +print(e / e) +# output +# 1.0 + +a = 6 +e = a + a +print(a + a) +# output +# 12 + +a = 5 +b = 7 +print(b / 2) +# output +# 3.5 + +d = 9 +b = 9 +a = b - d +print(a) +# output +# 0 + +a = 2 +print(a) +# output +# 2 + +a = 2 +e = 0 +a = a * a +print(a) +# output +# 4 + +c = 7 +a = 9 +print(a - 2) +# output +# 7 + +b = 6 +c = 5 +print(b / b) +# output +# 1.0 + +d = 8 +e = 3 +a = d / d +print(e / e) +# output +# 1.0 + +d = 6 +a = 6 +print(a / a) +# output +# 1.0 + +a = 9 +d = 1 +d = 5 + 5 +print(a / 9) +# output +# 1.0 + +b = 2 +a = 7 +print(a) +# output +# 7 + +e = 5 +a = 5 +a = e / 4 +print(a) +# output +# 1.25 + +b = 0 +print(b) +# output +# 0 + +e = 6 +print(e - e) +# output +# 0 + +c = 9 +d = 7 * c +print(d) +# output +# 63 + +a = 3 +c = 5 +e = 2 + a +print(e) +# output +# 5 + +e = 8 +e = 4 +print(e) +# output +# 4 + +a = 6 +c = 3 +a = 4 / 7 +print(a) +# output +# 0.5714285714285714 + +a = 9 +d = 8 +print(a) +# output +# 9 + +d = 7 +d = 5 +print(d) +# output +# 5 + +d = 9 +b = 6 +print(b - b) +# output +# 0 + +e = 9 +print(e / e) +# output +# 1.0 + +e = 3 +a = e * e +print(e * 0) +# output +# 0 + +c = 1 +e = 9 +d = 6 * 8 +print(e - e) +# output +# 0 + +b = 3 +print(b) +# output +# 3 + +b = 8 +a = 2 +c = b + 1 +print(b * a) +# output +# 16 + +b = 3 +a = 6 +a = 8 - 0 +print(a) +# output +# 8 + +d = 2 +e = 6 +print(e - 2) +# output +# 4 + +c = 0 +b = 8 +print(c) +# output +# 0 + +e = 1 +b = 7 +print(b - 0) +# output +# 7 + +d = 4 +d = d / d +print(d / 3) +# output +# 0.3333333333333333 + +d = 5 +print(d - d) +# output +# 0 + +a = 4 +a = 4 +print(a) +# output +# 4 + +c = 2 +e = 2 +print(c - 1) +# output +# 1 + +d = 3 +b = 4 +print(b) +# output +# 4 + +e = 5 +e = e - e +print(e - e) +# output +# 0 + +e = 4 +b = 8 +e = e - 6 +print(b / 6) +# output +# 1.3333333333333333 + +e = 7 +b = 7 +c = 7 - e +print(b + 2) +# output +# 9 + +e = 2 +print(e) +# output +# 2 + +c = 9 +b = 8 / c +print(b) +# output +# 0.8888888888888888 + +d = 9 +print(d / d) +# output +# 1.0 + +d = 1 +c = 7 +print(d) +# output +# 1 + +b = 3 +d = 8 +a = d - 6 +print(a) +# output +# 2 + +b = 7 +e = 4 +d = 0 - b +print(b - e) +# output +# 3 + +b = 7 +a = 1 +print(a) +# output +# 1 + +c = 1 +a = 7 +print(a) +# output +# 7 + +a = 4 +d = 2 +print(a) +# output +# 4 + +d = 2 +d = 6 * d +print(d) +# output +# 12 + +b = 5 +e = 8 +b = e / e +print(b * 0) +# output +# 0.0 + +e = 7 +e = 6 +b = e * 5 +print(e * e) +# output +# 36 + +d = 6 +a = d / d +print(a) +# output +# 1.0 + +b = 8 +c = 7 / 7 +print(b + b) +# output +# 16 + +e = 4 +d = 1 +print(e) +# output +# 4 + +d = 0 +e = 8 +print(e * e) +# output +# 64 + +d = 1 +b = 8 +print(d * 1) +# output +# 1 + +e = 8 +e = 4 +d = 5 * 3 +print(d) +# output +# 15 + +e = 3 +e = e / 1 +print(e) +# output +# 3.0 + +d = 1 +d = 5 / 7 +print(d / d) +# output +# 1.0 + +b = 0 +a = b * b +print(b + b) +# output +# 0 + +d = 3 +d = 6 +print(d + d) +# output +# 12 + +e = 9 +e = 9 +print(e + e) +# output +# 18 + +a = 7 +print(a) +# output +# 7 + +b = 5 +d = 1 +e = d - 7 +print(d + b) +# output +# 6 + +e = 0 +c = e / 4 +print(e + 6) +# output +# 6 + +c = 8 +print(c / 1) +# output +# 8.0 + +c = 5 +c = 8 +print(c / 5) +# output +# 1.6 + +b = 2 +print(b) +# output +# 2 + +e = 7 +e = 9 +print(e) +# output +# 9 + +d = 3 +d = 8 +print(d) +# output +# 8 + +a = 4 +e = 4 +print(e) +# output +# 4 + +b = 6 +b = 4 - b +print(b + 0) +# output +# -2 + +e = 4 +b = e + e +print(e / e) +# output +# 1.0 + +d = 2 +e = 2 +print(e) +# output +# 2 + +e = 0 +e = 3 +print(e / 6) +# output +# 0.5 + +d = 4 +b = 8 * d +print(d * d) +# output +# 16 + +d = 9 +e = 9 +b = e + 2 +print(e - e) +# output +# 0 + +a = 0 +b = a + a +print(b) +# output +# 0 + +d = 4 +print(d) +# output +# 4 + +d = 4 +print(d + 4) +# output +# 8 + +c = 7 +print(c / c) +# output +# 1.0 + +d = 7 +e = 8 +print(e / d) +# output +# 1.1428571428571428 + +d = 7 +d = 2 +print(d) +# output +# 2 + +c = 7 +e = 3 +e = 0 + 0 +print(e) +# output +# 0 + +b = 7 +print(b / 4) +# output +# 1.75 + +b = 5 +b = 5 +print(b + b) +# output +# 10 + +c = 4 +b = 5 +print(c + c) +# output +# 8 + +c = 4 +e = 4 +print(c * c) +# output +# 16 + +e = 3 +b = e * 6 +print(e / e) +# output +# 1.0 + +c = 8 +b = 7 +c = c + c +print(c - c) +# output +# 0 + +d = 4 +e = 3 +b = 0 + 8 +print(b) +# output +# 8 + +d = 5 +d = d - d +print(d) +# output +# 0 + +e = 6 +d = 3 + e +print(d) +# output +# 9 + +e = 2 +c = 5 +a = e / 3 +print(e / e) +# output +# 1.0 + +a = 3 +a = a * a +print(a) +# output +# 9 + +b = 2 +a = b - b +print(b - 6) +# output +# -4 + +b = 8 +b = b / 8 +print(b) +# output +# 1.0 + +d = 1 +b = 2 / d +print(b) +# output +# 2.0 + +d = 2 +print(d - 0) +# output +# 2 + +a = 7 +a = 7 +print(a + a) +# output +# 14 + +a = 4 +print(a - a) +# output +# 0 + +c = 6 +a = 4 +print(a) +# output +# 4 + +d = 5 +b = 2 +b = d * d +print(b) +# output +# 25 + +d = 6 +b = 2 +print(d) +# output +# 6 + +d = 2 +a = 3 +e = 1 + a +print(e) +# output +# 4 + +d = 6 +d = 0 +b = d * 5 +print(d * d) +# output +# 0 + +b = 1 +print(b * 6) +# output +# 6 + +e = 9 +d = 2 - e +print(e - 1) +# output +# 8 + +b = 3 +c = 2 / b +print(b * 8) +# output +# 24 + +c = 0 +a = 7 +print(a * a) +# output +# 49 + +c = 6 +b = 6 +print(b) +# output +# 6 + +e = 5 +e = 6 +print(e) +# output +# 6 + +b = 6 +c = 1 +print(b) +# output +# 6 + +c = 0 +a = 1 +print(a) +# output +# 1 + +b = 0 +a = 4 +print(a * 1) +# output +# 4 + +a = 7 +e = a + 9 +print(a * 9) +# output +# 63 + +e = 1 +e = 6 / 6 +print(e) +# output +# 1.0 + +d = 7 +a = 0 +print(a) +# output +# 0 + +a = 1 +e = 7 - a +print(e) +# output +# 6 + +b = 4 +print(b + b) +# output +# 8 + +e = 6 +b = 5 +a = 4 / b +print(a) +# output +# 0.8 + +c = 4 +d = 4 +e = c - c +print(e) +# output +# 0 + +c = 8 +e = 7 +print(e * 3) +# output +# 21 + +d = 1 +a = 3 +d = 7 - a +print(d / d) +# output +# 1.0 + +c = 8 +print(c / 3) +# output +# 2.6666666666666665 + +e = 3 +d = 5 +print(e - 1) +# output +# 2 + +d = 0 +b = 4 +print(d) +# output +# 0 + +a = 8 +d = 2 +a = d - 8 +print(a) +# output +# -6 + +c = 7 +c = 7 +print(c / 8) +# output +# 0.875 + +c = 9 +e = 9 +print(c / c) +# output +# 1.0 + +c = 4 +d = 5 +d = c / 1 +print(d + c) +# output +# 8.0 + +e = 1 +d = 0 +d = 4 - d +print(d - 7) +# output +# -3 + +e = 2 +e = 6 +a = e - e +print(e + e) +# output +# 12 + +c = 9 +e = 8 +b = 9 * e +print(b) +# output +# 72 + +a = 4 +a = 4 +a = 7 / a +print(a) +# output +# 1.75 + +b = 8 +b = 8 +print(b) +# output +# 8 + +a = 8 +print(a - a) +# output +# 0 + +e = 4 +d = 7 +d = e * 8 +print(e / 1) +# output +# 4.0 + +e = 7 +d = e + e +print(d) +# output +# 14 + +b = 6 +a = 5 +d = b + 9 +print(d) +# output +# 15 + +b = 2 +d = 5 * b +print(b * 0) +# output +# 0 + +c = 1 +e = c / c +print(c + 5) +# output +# 6 + +d = 2 +d = 7 +d = 7 + 4 +print(d / 9) +# output +# 1.2222222222222223 + +a = 0 +c = 3 +c = 2 + 5 +print(c) +# output +# 7 + +c = 4 +d = 6 +e = d / d +print(c / c) +# output +# 1.0 + +d = 6 +d = 8 +e = d - 9 +print(d / 4) +# output +# 2.0 + +c = 0 +b = 1 +c = 4 - 0 +print(b + b) +# output +# 2 + +a = 3 +c = a * a +print(c) +# output +# 9 + +a = 8 +c = 3 +e = 4 + 1 +print(a / a) +# output +# 1.0 + +a = 3 +b = 7 - a +print(b) +# output +# 4 + +b = 0 +e = 2 / 1 +print(b - 2) +# output +# -2 + +a = 8 +a = 4 - a +print(a) +# output +# -4 + +a = 9 +d = a / a +print(a + 6) +# output +# 15 + +a = 2 +print(a * 6) +# output +# 12 + +b = 7 +d = 6 +a = 0 / d +print(b - 3) +# output +# 4 + +e = 3 +d = e - 2 +print(e / e) +# output +# 1.0 + +b = 9 +a = 8 +c = b + a +print(b / 4) +# output +# 2.25 + +b = 0 +b = 1 +a = 1 + b +print(b - 7) +# output +# -6 + +c = 8 +e = 8 +print(e * c) +# output +# 64 + +b = 3 +d = b * b +print(d) +# output +# 9 + +b = 2 +c = 7 +c = c + c +print(c) +# output +# 14 + +d = 9 +e = 5 +print(d) +# output +# 9 + +d = 5 +d = d / d +print(d - 4) +# output +# -3.0 + +a = 3 +print(a + 3) +# output +# 6 + +c = 4 +b = 5 +c = 0 / c +print(c) +# output +# 0.0 + +b = 3 +a = 5 +print(a + a) +# output +# 10 + +d = 1 +a = 6 +print(d) +# output +# 1 + +c = 3 +d = 5 +a = c - c +print(c / d) +# output +# 0.6 + +b = 6 +e = 5 +print(b) +# output +# 6 + +c = 0 +a = c - c +print(a) +# output +# 0 + +c = 7 +c = c + 2 +print(c - 1) +# output +# 8 + +c = 3 +d = 9 +print(c * 3) +# output +# 9 + +a = 5 +a = 9 +print(a) +# output +# 9 + +b = 4 +e = b - 0 +print(b - 9) +# output +# -5 + +b = 1 +c = 5 +e = c * b +print(c - b) +# output +# 4 + +d = 0 +d = d + 7 +print(d) +# output +# 7 + +c = 9 +c = 9 +print(c - 4) +# output +# 5 + +e = 8 +c = 7 +e = e - c +print(e) +# output +# 1 + +b = 9 +c = 6 +a = c + c +print(c * 5) +# output +# 30 + +e = 6 +d = 1 - 3 +print(d) +# output +# -2 + +b = 9 +c = b - 8 +print(c) +# output +# 1 + +c = 0 +print(c / 2) +# output +# 0.0 + +d = 2 +b = 1 / 8 +print(d - d) +# output +# 0 + +d = 5 +print(d) +# output +# 5 + +d = 2 +print(d / d) +# output +# 1.0 + +c = 1 +b = 1 +print(c) +# output +# 1 + +d = 4 +b = 6 / 2 +print(b) +# output +# 3.0 + +c = 2 +print(c) +# output +# 2 + +d = 4 +a = 2 * 5 +print(d / 6) +# output +# 0.6666666666666666 + +e = 2 +c = 7 +d = 7 + 4 +print(d) +# output +# 11 + +d = 0 +a = 1 +print(a) +# output +# 1 + +b = 0 +a = 0 / 5 +print(a) +# output +# 0.0 + +d = 4 +d = 1 +a = 1 - d +print(d / d) +# output +# 1.0 + +b = 9 +b = 9 +print(b / 9) +# output +# 1.0 + +d = 8 +print(d + 9) +# output +# 17 + +a = 6 +c = 8 +c = 6 + a +print(c) +# output +# 12 + +a = 2 +e = 7 +print(e) +# output +# 7 + +c = 7 +print(c - c) +# output +# 0 + +d = 2 +print(d + d) +# output +# 4 + +b = 3 +c = 1 +e = 6 - c +print(e) +# output +# 5 + +b = 6 +d = 6 +c = 5 - 4 +print(c) +# output +# 1 + +e = 2 +a = 6 +print(e) +# output +# 2 + +c = 9 +print(c) +# output +# 9 + +d = 7 +d = 9 +print(d + 5) +# output +# 14 + +a = 6 +b = 0 +e = 5 / a +print(b * b) +# output +# 0 + +a = 3 +c = a / 3 +print(c) +# output +# 1.0 + +c = 4 +b = 1 +print(c + c) +# output +# 8 + +b = 2 +d = 4 +print(b / 1) +# output +# 2.0 + +a = 6 +print(a - 3) +# output +# 3 + +e = 8 +d = 0 - e +print(e / e) +# output +# 1.0 + +c = 1 +b = 1 + 4 +print(b) +# output +# 5 + +e = 5 +c = 0 +print(e + 1) +# output +# 6 + +c = 0 +d = 8 +d = d - 9 +print(d) +# output +# -1 + +c = 3 +print(c) +# output +# 3 + +e = 2 +b = 0 + e +print(e - 4) +# output +# -2 + +a = 6 +print(a - 9) +# output +# -3 + +a = 6 +e = a - 9 +print(e) +# output +# -3 + +c = 2 +e = 6 +b = c * 6 +print(b) +# output +# 12 + +d = 6 +a = 1 + d +print(a) +# output +# 7 + +c = 8 +print(c / 4) +# output +# 2.0 + +b = 4 +print(b * b) +# output +# 16 + +d = 2 +print(d + 9) +# output +# 11 + +d = 2 +e = d - d +print(d - d) +# output +# 0 + +d = 1 +a = 4 + 6 +print(a) +# output +# 10 \ No newline at end of file diff --git a/data/val.bin b/data/val.bin new file mode 100644 index 0000000..3ad9ee7 Binary files /dev/null and b/data/val.bin differ diff --git a/data/val.txt b/data/val.txt new file mode 100644 index 0000000..2231512 --- /dev/null +++ b/data/val.txt @@ -0,0 +1,617 @@ +d = 9 +e = 6 +print(e) +# output +# 6 + +d = 2 +a = d + d +print(a) +# output +# 4 + +a = 7 +c = a * a +print(a / a) +# output +# 1.0 + +e = 7 +d = e - 1 +print(e + e) +# output +# 14 + +a = 2 +a = 8 +e = a + a +print(a - a) +# output +# 0 + +c = 5 +print(c) +# output +# 5 + +c = 5 +print(c + c) +# output +# 10 + +d = 4 +c = d - d +print(c) +# output +# 0 + +a = 9 +d = 9 +b = a + 4 +print(a + 0) +# output +# 9 + +a = 2 +a = 1 +print(a / 2) +# output +# 0.5 + +d = 2 +a = 7 +a = 6 + d +print(a) +# output +# 8 + +a = 5 +c = a / a +print(a + a) +# output +# 10 + +d = 7 +b = 3 +print(b) +# output +# 3 + +d = 0 +a = 3 - d +print(a) +# output +# 3 + +d = 1 +b = 5 +print(b - 6) +# output +# -1 + +e = 5 +print(e - e) +# output +# 0 + +a = 3 +c = 8 +d = 5 + 3 +print(d) +# output +# 8 + +e = 0 +c = 6 +print(e) +# output +# 0 + +c = 3 +print(c - 0) +# output +# 3 + +e = 7 +print(e / 6) +# output +# 1.1666666666666667 + +c = 9 +a = 3 +print(a * 4) +# output +# 12 + +b = 5 +d = 5 +print(d - 6) +# output +# -1 + +c = 3 +a = 5 +a = 4 * 3 +print(a) +# output +# 12 + +e = 4 +a = 7 - 0 +print(e * e) +# output +# 16 + +e = 7 +e = 8 +c = 3 / 7 +print(c) +# output +# 0.42857142857142855 + +d = 9 +c = 7 +print(c - 2) +# output +# 5 + +a = 9 +print(a - 6) +# output +# 3 + +a = 7 +print(a + 4) +# output +# 11 + +e = 2 +b = e - e +print(e / e) +# output +# 1.0 + +a = 9 +c = 2 +a = c - 2 +print(a + a) +# output +# 0 + +c = 3 +d = 7 +b = d / 8 +print(b) +# output +# 0.875 + +a = 2 +a = 1 +print(a) +# output +# 1 + +d = 8 +b = 7 +print(b) +# output +# 7 + +b = 8 +c = 9 +d = c - b +print(d) +# output +# 1 + +a = 2 +e = 9 +c = 7 * a +print(a * e) +# output +# 18 + +a = 0 +d = 8 +b = a * 5 +print(b) +# output +# 0 + +a = 1 +print(a + a) +# output +# 2 + +c = 1 +c = 9 +d = 0 - 5 +print(d) +# output +# -5 + +a = 1 +d = 5 * 3 +print(a + a) +# output +# 2 + +b = 7 +d = 4 +print(b) +# output +# 7 + +b = 5 +e = 9 +print(b * b) +# output +# 25 + +b = 8 +print(b * b) +# output +# 64 + +a = 8 +d = a - 7 +print(d) +# output +# 1 + +a = 8 +e = 2 +print(a) +# output +# 8 + +e = 0 +d = 6 +a = 0 + 0 +print(e * d) +# output +# 0 + +e = 5 +d = 0 * e +print(e + e) +# output +# 10 + +d = 5 +b = 7 +print(d) +# output +# 5 + +b = 4 +c = 7 +c = c / c +print(c) +# output +# 1.0 + +b = 3 +d = 2 +d = 6 / 6 +print(d) +# output +# 1.0 + +d = 4 +e = 5 +a = 6 * e +print(e / e) +# output +# 1.0 + +c = 6 +b = 0 +c = 0 * 4 +print(c) +# output +# 0 + +c = 2 +c = 7 + c +print(c * c) +# output +# 81 + +a = 6 +d = 0 +d = d + 0 +print(d) +# output +# 0 + +c = 1 +b = 8 +a = 7 / 1 +print(a) +# output +# 7.0 + +e = 7 +print(e - e) +# output +# 0 + +e = 1 +print(e + 3) +# output +# 4 + +d = 4 +d = 4 +print(d) +# output +# 4 + +b = 0 +d = 1 +print(d) +# output +# 1 + +a = 2 +b = 1 +print(a / 9) +# output +# 0.2222222222222222 + +a = 0 +c = 8 +print(c) +# output +# 8 + +e = 2 +a = 1 +print(a + a) +# output +# 2 + +d = 7 +b = 2 +print(b) +# output +# 2 + +b = 1 +print(b * 9) +# output +# 9 + +e = 9 +d = 6 / 4 +print(e / 1) +# output +# 9.0 + +a = 3 +print(a + a) +# output +# 6 + +b = 1 +e = 0 +b = 4 + e +print(b / 3) +# output +# 1.3333333333333333 + +c = 8 +d = c + 1 +print(d) +# output +# 9 + +c = 3 +e = 7 +print(c) +# output +# 3 + +d = 7 +c = 7 +print(c) +# output +# 7 + +c = 8 +a = 4 +b = c / c +print(c + a) +# output +# 12 + +d = 1 +a = 7 - 4 +print(a) +# output +# 3 + +a = 7 +b = 1 +a = a / 5 +print(a) +# output +# 1.4 + +a = 5 +a = 7 +a = a + a +print(a) +# output +# 14 + +c = 6 +d = 0 +a = 9 - 0 +print(a) +# output +# 9 + +c = 9 +c = c + 7 +print(c) +# output +# 16 + +b = 7 +d = 8 * 6 +print(b - 5) +# output +# 2 + +c = 7 +a = c - c +print(a) +# output +# 0 + +a = 0 +e = 4 * a +print(a / 1) +# output +# 0.0 + +c = 0 +a = 4 +d = c / 4 +print(a / a) +# output +# 1.0 + +b = 6 +b = 3 +print(b) +# output +# 3 + +c = 6 +print(c * 2) +# output +# 12 + +a = 1 +c = a + 9 +print(a * 4) +# output +# 4 + +b = 6 +a = 5 +e = b / 8 +print(e) +# output +# 0.75 + +d = 8 +d = 4 * 5 +print(d) +# output +# 20 + +c = 8 +b = 5 +print(c - 8) +# output +# 0 + +c = 3 +c = 0 +a = c + 6 +print(c + 8) +# output +# 8 + +d = 6 +e = 2 +c = 2 - d +print(c) +# output +# -4 + +d = 9 +a = 5 +print(a) +# output +# 5 + +b = 4 +e = 3 +a = b - 7 +print(e / e) +# output +# 1.0 + +a = 6 +c = 7 +b = c + c +print(a - c) +# output +# -1 + +c = 7 +e = 5 +d = 1 + c +print(c - 7) +# output +# 0 + +b = 2 +print(b + 3) +# output +# 5 + +e = 6 +print(e) +# output +# 6 + +a = 4 +c = 0 +d = 9 / a +print(d) +# output +# 2.25 + +a = 8 +a = 9 +d = a / 8 +print(d) +# output +# 1.125 + +d = 5 +a = 6 +a = d / 7 +print(a) +# output +# 0.7142857142857143 + +e = 2 +print(e - 7) +# output +# -5 + +a = 9 +print(a) +# output +# 9 + +b = 8 +e = 9 +d = 0 - b +print(e - b) +# output +# 1 + +c = 5 +e = 3 +d = 8 * 3 +print(d) +# output +# 24 \ No newline at end of file diff --git a/demonstration.ipynb b/demonstration.ipynb new file mode 100644 index 0000000..d89bc91 --- /dev/null +++ b/demonstration.ipynb @@ -0,0 +1,476 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "34fdf3ed-1a27-4183-b092-8c86729ba1c6", + "metadata": {}, + "source": [ + "# Evaluating Arithmetic Operations Using Our Tiny Language Model" + ] + }, + { + "cell_type": "markdown", + "id": "75460bdd-35d6-4a66-ae88-34457ca299c4", + "metadata": {}, + "source": [ + "This notebook demonstrates how to use our tiny language model to evaluate simple arithmetic operations in Python code snippets. The process involves loading the model, preparing the necessary metadata for character-integer mappings, and defining functions for encoding and decoding strings. We then evaluate various code examples to observe the model's generated results. This workflow highlights the capabilities of our model in executing arithmetic expressions.\n" + ] + }, + { + "cell_type": "markdown", + "id": "931d2724-c928-4ae0-a003-bfcffc587b55", + "metadata": {}, + "source": [ + "## Import Necessary Libraries" + ] + }, + { + "cell_type": "markdown", + "id": "53303b76-4aa4-4a15-8e62-5e71ae5f6b5c", + "metadata": {}, + "source": [ + "Import essential libraries for model loading, evaluation, and tokenization." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "fd9d1f74-2736-4219-8754-f66be4f98b2d", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import torch\n", + "import numpy as np\n", + "import pickle\n", + "import re\n", + "from model import GPT" + ] + }, + { + "cell_type": "markdown", + "id": "f83b58fe-7d06-4edd-90a4-4aea840868a3", + "metadata": {}, + "source": [ + "## Load the Model" + ] + }, + { + "cell_type": "markdown", + "id": "5fd3f325-1bf4-4c78-a5b3-af55dee68a9c", + "metadata": {}, + "source": [ + "Set the model name and path, and load our tiny language model into the appropriate device (CPU or GPU)." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "318cf23f-07a9-47ea-baa0-6213211dc7bc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "OptimizedModule(\n", + " (_orig_mod): GPT(\n", + " (token_embedding_table): Embedding(33, 96)\n", + " (position_embedding_table): Embedding(256, 96)\n", + " (blocks): Sequential(\n", + " (0): Block(\n", + " (sa): MultiHeadAttention(\n", + " (heads): ModuleList(\n", + " (0-5): 6 x Head(\n", + " (key): Linear(in_features=96, out_features=16, bias=False)\n", + " (query): Linear(in_features=96, out_features=16, bias=False)\n", + " (value): Linear(in_features=96, out_features=16, bias=False)\n", + " (dropout): Dropout(p=0, inplace=False)\n", + " )\n", + " )\n", + " (proj): Linear(in_features=96, out_features=96, bias=True)\n", + " (dropout): Dropout(p=0, inplace=False)\n", + " )\n", + " (ffwd): FeedForward(\n", + " (net): Sequential(\n", + " (0): Linear(in_features=96, out_features=384, bias=False)\n", + " (1): GELU(approximate='none')\n", + " (2): Linear(in_features=384, out_features=96, bias=False)\n", + " (3): Dropout(p=0, inplace=False)\n", + " )\n", + " )\n", + " (ln1): LayerNorm((96,), eps=1e-05, elementwise_affine=True)\n", + " (ln2): LayerNorm((96,), eps=1e-05, elementwise_affine=True)\n", + " )\n", + " (1): Block(\n", + " (sa): MultiHeadAttention(\n", + " (heads): ModuleList(\n", + " (0-5): 6 x Head(\n", + " (key): Linear(in_features=96, out_features=16, bias=False)\n", + " (query): Linear(in_features=96, out_features=16, bias=False)\n", + " (value): Linear(in_features=96, out_features=16, bias=False)\n", + " (dropout): Dropout(p=0, inplace=False)\n", + " )\n", + " )\n", + " (proj): Linear(in_features=96, out_features=96, bias=True)\n", + " (dropout): Dropout(p=0, inplace=False)\n", + " )\n", + " (ffwd): FeedForward(\n", + " (net): Sequential(\n", + " (0): Linear(in_features=96, out_features=384, bias=False)\n", + " (1): GELU(approximate='none')\n", + " (2): Linear(in_features=384, out_features=96, bias=False)\n", + " (3): Dropout(p=0, inplace=False)\n", + " )\n", + " )\n", + " (ln1): LayerNorm((96,), eps=1e-05, elementwise_affine=True)\n", + " (ln2): LayerNorm((96,), eps=1e-05, elementwise_affine=True)\n", + " )\n", + " (2): Block(\n", + " (sa): MultiHeadAttention(\n", + " (heads): ModuleList(\n", + " (0-5): 6 x Head(\n", + " (key): Linear(in_features=96, out_features=16, bias=False)\n", + " (query): Linear(in_features=96, out_features=16, bias=False)\n", + " (value): Linear(in_features=96, out_features=16, bias=False)\n", + " (dropout): Dropout(p=0, inplace=False)\n", + " )\n", + " )\n", + " (proj): Linear(in_features=96, out_features=96, bias=True)\n", + " (dropout): Dropout(p=0, inplace=False)\n", + " )\n", + " (ffwd): FeedForward(\n", + " (net): Sequential(\n", + " (0): Linear(in_features=96, out_features=384, bias=False)\n", + " (1): GELU(approximate='none')\n", + " (2): Linear(in_features=384, out_features=96, bias=False)\n", + " (3): Dropout(p=0, inplace=False)\n", + " )\n", + " )\n", + " (ln1): LayerNorm((96,), eps=1e-05, elementwise_affine=True)\n", + " (ln2): LayerNorm((96,), eps=1e-05, elementwise_affine=True)\n", + " )\n", + " (3): Block(\n", + " (sa): MultiHeadAttention(\n", + " (heads): ModuleList(\n", + " (0-5): 6 x Head(\n", + " (key): Linear(in_features=96, out_features=16, bias=False)\n", + " (query): Linear(in_features=96, out_features=16, bias=False)\n", + " (value): Linear(in_features=96, out_features=16, bias=False)\n", + " (dropout): Dropout(p=0, inplace=False)\n", + " )\n", + " )\n", + " (proj): Linear(in_features=96, out_features=96, bias=True)\n", + " (dropout): Dropout(p=0, inplace=False)\n", + " )\n", + " (ffwd): FeedForward(\n", + " (net): Sequential(\n", + " (0): Linear(in_features=96, out_features=384, bias=False)\n", + " (1): GELU(approximate='none')\n", + " (2): Linear(in_features=384, out_features=96, bias=False)\n", + " (3): Dropout(p=0, inplace=False)\n", + " )\n", + " )\n", + " (ln1): LayerNorm((96,), eps=1e-05, elementwise_affine=True)\n", + " (ln2): LayerNorm((96,), eps=1e-05, elementwise_affine=True)\n", + " )\n", + " (4): Block(\n", + " (sa): MultiHeadAttention(\n", + " (heads): ModuleList(\n", + " (0-5): 6 x Head(\n", + " (key): Linear(in_features=96, out_features=16, bias=False)\n", + " (query): Linear(in_features=96, out_features=16, bias=False)\n", + " (value): Linear(in_features=96, out_features=16, bias=False)\n", + " (dropout): Dropout(p=0, inplace=False)\n", + " )\n", + " )\n", + " (proj): Linear(in_features=96, out_features=96, bias=True)\n", + " (dropout): Dropout(p=0, inplace=False)\n", + " )\n", + " (ffwd): FeedForward(\n", + " (net): Sequential(\n", + " (0): Linear(in_features=96, out_features=384, bias=False)\n", + " (1): GELU(approximate='none')\n", + " (2): Linear(in_features=384, out_features=96, bias=False)\n", + " (3): Dropout(p=0, inplace=False)\n", + " )\n", + " )\n", + " (ln1): LayerNorm((96,), eps=1e-05, elementwise_affine=True)\n", + " (ln2): LayerNorm((96,), eps=1e-05, elementwise_affine=True)\n", + " )\n", + " (5): Block(\n", + " (sa): MultiHeadAttention(\n", + " (heads): ModuleList(\n", + " (0-5): 6 x Head(\n", + " (key): Linear(in_features=96, out_features=16, bias=False)\n", + " (query): Linear(in_features=96, out_features=16, bias=False)\n", + " (value): Linear(in_features=96, out_features=16, bias=False)\n", + " (dropout): Dropout(p=0, inplace=False)\n", + " )\n", + " )\n", + " (proj): Linear(in_features=96, out_features=96, bias=True)\n", + " (dropout): Dropout(p=0, inplace=False)\n", + " )\n", + " (ffwd): FeedForward(\n", + " (net): Sequential(\n", + " (0): Linear(in_features=96, out_features=384, bias=False)\n", + " (1): GELU(approximate='none')\n", + " (2): Linear(in_features=384, out_features=96, bias=False)\n", + " (3): Dropout(p=0, inplace=False)\n", + " )\n", + " )\n", + " (ln1): LayerNorm((96,), eps=1e-05, elementwise_affine=True)\n", + " (ln2): LayerNorm((96,), eps=1e-05, elementwise_affine=True)\n", + " )\n", + " )\n", + " (ln_f): LayerNorm((96,), eps=1e-05, elementwise_affine=True)\n", + " (lm_head): Linear(in_features=96, out_features=33, bias=True)\n", + " )\n", + ")" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model_name = \"arithmetics_level1_696K\"\n", + "model_path = os.path.join('models', f\"{model_name}.pth\")\n", + "device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\n", + "\n", + "model = GPT()\n", + "model = torch.compile(model) \n", + "model.load_state_dict(torch.load(model_path, map_location=device))\n", + "model.to(device)\n", + "model.eval()" + ] + }, + { + "cell_type": "markdown", + "id": "be4f5be4-45ea-4893-bb97-b732cde2a906", + "metadata": {}, + "source": [ + "## Load Tokenizers" + ] + }, + { + "cell_type": "markdown", + "id": "c5e17dbe-14e3-4d12-a2f2-f816cbfa4c44", + "metadata": {}, + "source": [ + "Load the metadata file containing the mappings from characters to integers and vice versa." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "52455912-777d-4147-ba50-413fcb452a43", + "metadata": {}, + "outputs": [], + "source": [ + "meta_path = os.path.join('data', 'meta.pkl') \n", + "with open(meta_path, 'rb') as f:\n", + " meta = pickle.load(f)\n", + "# Récuperer le mapping Caractères-Entiers\n", + "stoi = meta['stoi']\n", + "itos = meta['itos']\n", + "\n", + "# Fonctions pour la tokenisation\n", + "def encode(s):\n", + " \"\"\"\n", + " Encode string `s` into token IDs.\n", + " \"\"\"\n", + " return [stoi[c] for c in s]\n", + "\n", + "def decode(l):\n", + " \"\"\"\n", + " Decode token IDs `l` into a string.\n", + "\"\"\"\n", + " return ''.join([itos[i] for i in l])\n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "6520bed8-0e5f-4df3-bba4-72828dcbf2b3", + "metadata": {}, + "source": [ + "## Define Function to Evaluate Code Example" + ] + }, + { + "cell_type": "markdown", + "id": "63ef6763-3c4f-4f1f-95c7-c7d29f2e536b", + "metadata": {}, + "source": [ + "Implement a function to evaluate a given code snippet using our model, and extract the result from the model's output." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "01cb5618-f797-43de-8ff0-e9515e18dc0c", + "metadata": {}, + "outputs": [], + "source": [ + "# Fonction pour donner au modèle un extrait de code à executer \n", + "def evaluate_example(example , max_new_tokens=22):\n", + " \n", + " encoded_example = torch.tensor(encode(example), dtype=torch.long).unsqueeze(0).to(device)\n", + " \n", + " with torch.no_grad():\n", + " response = decode(model.generate(encoded_example, max_new_tokens=max_new_tokens)[0].tolist())\n", + " splited_response = response.split(\"# output\")\n", + " result_response = splited_response[-1]\n", + " generated_results = [float(match.group()) for match in re.finditer(r\"(?<=# )-?\\d+(\\.\\d+)?\", result_response.split('\\n\\n')[0].replace(\"\\n\", \"\"))]\n", + "\n", + " return generated_results\n" + ] + }, + { + "cell_type": "markdown", + "id": "440dbda2-0e84-4386-914b-6ef812f3945d", + "metadata": {}, + "source": [ + "## Examples" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "f6f6bc4c-e4c6-47e5-9cbd-f3a2f89231b0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Example 1:\n", + "\n", + "a = 5\n", + "b = 7 \n", + "c = a * b\n", + "print(c)\n", + "# output\n", + "\n", + "Generated Result: 35.0\n" + ] + } + ], + "source": [ + "# Exemple 1\n", + "eval_prompt_1 = \"\"\"\n", + "a = 5\n", + "b = 7 \n", + "c = a * b\n", + "print(c)\n", + "# output\n", + "\"\"\"\n", + "\n", + "print(\"Example 1:\")\n", + "print(eval_prompt_1)\n", + "generated_results_1 = evaluate_example(eval_prompt_1)\n", + "print(\"Generated Result:\", generated_results_1[0])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "e7732e8c-caa5-4176-a7a5-e1599d797e95", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Example 2:\n", + "\n", + "e = 10\n", + "c = 10\n", + "a = e / c\n", + "print(a)\n", + "# output\n", + "\n", + "Generated Result: 1.0\n" + ] + } + ], + "source": [ + "# Exemple 2\n", + "eval_prompt_2 = \"\"\"\n", + "e = 10\n", + "c = 10\n", + "a = e / c\n", + "print(a)\n", + "# output\n", + "\"\"\"\n", + "\n", + "print(\"Example 2:\")\n", + "print(eval_prompt_2)\n", + "generated_results_2 = evaluate_example(eval_prompt_2)\n", + "print(\"Generated Result:\", generated_results_2[0])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "7e2f6259-31b1-4459-bc44-de31a9fe7d7c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Example 3:\n", + "\n", + "a = 9\n", + "d = 3\n", + "d = 1\n", + "d = 5 + 8\n", + "print(d * 5)\n", + "# output\n", + "\n", + "Generated Result: 90.0\n" + ] + } + ], + "source": [ + "# Exemple 3\n", + "eval_prompt_3 = \"\"\"\n", + "a = 9\n", + "d = 3\n", + "d = 1\n", + "d = 5 + 8\n", + "print(d * 5)\n", + "# output\n", + "\"\"\"\n", + "\n", + "print(\"Example 3:\")\n", + "print(eval_prompt_3)\n", + "generated_results_3 = evaluate_example(eval_prompt_3)\n", + "print(\"Generated Result:\", generated_results_3[0])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "TinyLM", + "language": "python", + "name": "tinylm" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/generalization/.ipynb_checkpoints/demonstration-checkpoint.ipynb b/generalization/.ipynb_checkpoints/demonstration-checkpoint.ipynb new file mode 100644 index 0000000..e1dbb26 --- /dev/null +++ b/generalization/.ipynb_checkpoints/demonstration-checkpoint.ipynb @@ -0,0 +1,312 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "176621a1-0778-4a21-9de9-dd2ebefef5a6", + "metadata": {}, + "source": [ + "# Evaluating Arithmetic Operations Using Our Finetuned Large Language Model" + ] + }, + { + "cell_type": "markdown", + "id": "26d10bd3-660c-43df-9719-43fa71b119ea", + "metadata": {}, + "source": [ + "This notebook demonstrates how to use our fine-tuned Code Llama model to evaluate simple arithmetic operations in Python code snippets. The process involves loading the pre-trained model, preparing the tokenizer, and defining functions to evaluate code examples. We then evaluate various code snippets to observe the model's generated results. This workflow highlights the capabilities of the Code Llama model in executing arithmetic expressions." + ] + }, + { + "cell_type": "markdown", + "id": "ac948737-336a-4d73-ba56-64601000e561", + "metadata": {}, + "source": [ + "## Import Necessary Libraries" + ] + }, + { + "cell_type": "markdown", + "id": "7654d2f3-bae2-4936-b86c-a5a6b0e2ed51", + "metadata": {}, + "source": [ + "Import essential libraries for model loading, evaluation, and tokenization." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "4c3d4f58-731a-47a8-9121-4689acc8e2c6", + "metadata": {}, + "outputs": [], + "source": [ + "import torch\n", + "import warnings\n", + "from transformers import AutoModelForCausalLM, AutoTokenizer\n", + "from peft import PeftModel\n", + "\n", + "# Ignore all warnings\n", + "warnings.filterwarnings(\"ignore\")\n", + "\n", + "import transformers\n", + "\n", + "transformers.logging.set_verbosity_error()" + ] + }, + { + "cell_type": "markdown", + "id": "edd801aa-d88d-42b0-bfac-3901489f7642", + "metadata": {}, + "source": [ + "## Load the Pre-trained Model" + ] + }, + { + "cell_type": "markdown", + "id": "74874a67-6e25-4395-81fa-768c630db298", + "metadata": {}, + "source": [ + "Load the pre-trained Code Llama model in 8-bit precision." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "b1d25be0-8aed-4825-976f-f066aa45eb8d", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "9e7fc7c9fd3b422fa5413277b16ac29e", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Loading checkpoint shards: 0%| | 0/2 [00:00 1: + print("Enabling parallelism...") + print() + model.is_parallelizable = True + model.model_parallel = True + + # Training arguments + print("Setting up training arguments...") + print() + training_args = TrainingArguments( + per_device_train_batch_size=per_device_train_batch_size, + gradient_accumulation_steps=gradient_accumulation_steps, + warmup_steps=warmup_steps, + max_steps=max_steps, + learning_rate=learning_rate, + fp16=True, + logging_steps=logging_steps, + optim="adamw_torch", + evaluation_strategy="steps", + save_strategy="steps", + eval_steps=eval_steps, + save_steps=save_steps, + output_dir=output_dir, + group_by_length=True, + report_to="wandb", + run_name=f"codellama-{datetime.now().strftime('%Y-%m-%d-%H-%M')}", + ) + + # Initialize the Trainer + trainer = Trainer( + model=model, + train_dataset=tokenized_train_dataset, + eval_dataset=tokenized_val_dataset, + args=training_args, + data_collator=DataCollatorForSeq2Seq( + tokenizer, pad_to_multiple_of=8, return_tensors="pt", padding=True + ), + ) + + # Disable caching for training + model.config.use_cache = False + + # Patch the model's state_dict + old_state_dict = model.state_dict + model.state_dict = (lambda self, *_, **__: get_peft_model_state_dict(self, old_state_dict())).__get__( + model, type(model) + ) + + # Compile the model if applicable + if torch.__version__ >= "2" and sys.platform != "win32": + print("Compiling the model...") + print() + model = torch.compile(model) + + # Start training + print("Starting training...") + trainer.train() + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Train a model with specified parameters.") + parser.add_argument('--base_model', type=str, default="codellama/CodeLlama-7b-hf", help="Base model name or path") + parser.add_argument('--train_dataset_path', type=str, default="data/tokenized_train", help="Path to the tokenized training dataset") + parser.add_argument('--val_dataset_path', type=str, default="data/tokenized_val", help="Path to the tokenized validation dataset") + parser.add_argument('--resume_from_checkpoint', type=str, default="", help="Path to checkpoint to resume training from") + parser.add_argument('--wandb_project', type=str, default="tiny-coder", help="WandB project name") + parser.add_argument('--batch_size', type=int, default=128, help="Total batch size for training") + parser.add_argument('--per_device_train_batch_size', type=int, default=32, help="Batch size per device for training") + parser.add_argument('--gradient_accumulation_steps', type=int, default=4, help="Number of gradient accumulation steps") + parser.add_argument('--output_dir', type=str, default="models/code-llama-finetuned-level1", help="Directory to save the output") + parser.add_argument('--learning_rate', type=float, default=3e-4, help="Learning rate") + parser.add_argument('--warmup_steps', type=int, default=100, help="Number of warmup steps") + parser.add_argument('--max_steps', type=int, default=200, help="Maximum number of training steps") + parser.add_argument('--logging_steps', type=int, default=10, help="Number of steps between logging") + parser.add_argument('--eval_steps', type=int, default=20, help="Number of steps between evaluations") + parser.add_argument('--save_steps', type=int, default=20, help="Number of steps between saving checkpoints") + + args = parser.parse_args() + + train_model( + base_model=args.base_model, + train_dataset_path=args.train_dataset_path, + val_dataset_path=args.val_dataset_path, + resume_from_checkpoint=args.resume_from_checkpoint, + wandb_project=args.wandb_project, + batch_size=args.batch_size, + per_device_train_batch_size=args.per_device_train_batch_size, + gradient_accumulation_steps=args.gradient_accumulation_steps, + output_dir=args.output_dir, + learning_rate=args.learning_rate, + warmup_steps=args.warmup_steps, + max_steps=args.max_steps, + logging_steps=args.logging_steps, + eval_steps=args.eval_steps, + save_steps=args.save_steps + ) \ No newline at end of file diff --git a/generalization/.ipynb_checkpoints/tokenizing-checkpoint.py b/generalization/.ipynb_checkpoints/tokenizing-checkpoint.py new file mode 100644 index 0000000..14a446e --- /dev/null +++ b/generalization/.ipynb_checkpoints/tokenizing-checkpoint.py @@ -0,0 +1,82 @@ +import argparse +import pandas as pd +from datasets import Dataset +from transformers import AutoTokenizer + +import transformers + +transformers.logging.set_verbosity_error() + +def tokenize_data(train_file="../data/train.txt", + test_file="../data/val.txt", + tokenizer_name="codellama/CodeLlama-7b-hf", + train_output_dir="data/tokenized_train", + val_output_dir="data/tokenized_val"): + print("Tokenizing data...") + + # Read the training and test data + with open(train_file) as f: + train_data = f.read() + + with open(test_file) as f: + test_data = f.read() + + # Split the snippets into individual examples + train_snippets = train_data.split('\n\n') + test_snippets = test_data.split('\n\n') + + # Create datasets from the snippets + train_dataset = Dataset.from_pandas(pd.DataFrame({'snippets': train_snippets})) + eval_dataset = Dataset.from_pandas(pd.DataFrame({'snippets': test_snippets})) + + # Load the tokenizer + print("Loading tokenizer...") + tokenizer = AutoTokenizer.from_pretrained(tokenizer_name) + tokenizer.add_eos_token = True + tokenizer.pad_token_id = 0 + tokenizer.padding_side = "left" + + # Function to tokenize a prompt + def tokenize(prompt): + result = tokenizer( + prompt, + truncation=True, + max_length=512, + padding=False, + return_tensors=None, + ) + + # For self-supervised learning, labels are also the inputs + result["labels"] = result["input_ids"].copy() + + return result + + # Function to generate and tokenize a prompt + def generate_and_tokenize_prompt(data_point): + full_prompt = data_point["snippets"] + + return tokenize(full_prompt) + + # Tokenize the training and validation datasets + print("Tokenizing datasets...") + tokenized_train_dataset = train_dataset.map(generate_and_tokenize_prompt) + tokenized_val_dataset = eval_dataset.map(generate_and_tokenize_prompt) + + # Save the tokenized datasets to disk + print(f"Saving tokenized datasets to {train_output_dir} and {val_output_dir}...") + tokenized_train_dataset.save_to_disk(train_output_dir) + tokenized_val_dataset.save_to_disk(val_output_dir) + + print("Tokenization complete.") + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Tokenize data for language model training.") + parser.add_argument("--train_file", type=str, default="../data/train.txt", help="Path to the training file") + parser.add_argument("--test_file", type=str, default="../data/val.txt", help="Path to the test file") + parser.add_argument("--tokenizer_name", type=str, default="codellama/CodeLlama-7b-hf", help="Name or path of the tokenizer") + parser.add_argument("--train_output_dir", type=str, default="data/tokenized_train", help="Path to save the tokenized training dataset") + parser.add_argument("--val_output_dir", type=str, default="data/tokenized_val", help="Path to save the tokenized validation dataset") + + args = parser.parse_args() + + tokenize_data(args.train_file, args.test_file, args.tokenizer_name, args.train_output_dir, args.val_output_dir) diff --git a/generalization/data/tokenized_train/data-00000-of-00001.arrow b/generalization/data/tokenized_train/data-00000-of-00001.arrow new file mode 100644 index 0000000..88be929 Binary files /dev/null and b/generalization/data/tokenized_train/data-00000-of-00001.arrow differ diff --git a/generalization/data/tokenized_train/dataset_info.json b/generalization/data/tokenized_train/dataset_info.json new file mode 100644 index 0000000..c5ed9a8 --- /dev/null +++ b/generalization/data/tokenized_train/dataset_info.json @@ -0,0 +1,33 @@ +{ + "citation": "", + "description": "", + "features": { + "snippets": { + "dtype": "string", + "_type": "Value" + }, + "input_ids": { + "feature": { + "dtype": "int32", + "_type": "Value" + }, + "_type": "Sequence" + }, + "attention_mask": { + "feature": { + "dtype": "int8", + "_type": "Value" + }, + "_type": "Sequence" + }, + "labels": { + "feature": { + "dtype": "int64", + "_type": "Value" + }, + "_type": "Sequence" + } + }, + "homepage": "", + "license": "" +} \ No newline at end of file diff --git a/generalization/data/tokenized_train/state.json b/generalization/data/tokenized_train/state.json new file mode 100644 index 0000000..a9079c7 --- /dev/null +++ b/generalization/data/tokenized_train/state.json @@ -0,0 +1,13 @@ +{ + "_data_files": [ + { + "filename": "data-00000-of-00001.arrow" + } + ], + "_fingerprint": "0b9633717850bc07", + "_format_columns": null, + "_format_kwargs": {}, + "_format_type": null, + "_output_all_columns": false, + "_split": null +} \ No newline at end of file diff --git a/generalization/data/tokenized_val/data-00000-of-00001.arrow b/generalization/data/tokenized_val/data-00000-of-00001.arrow new file mode 100644 index 0000000..7305205 Binary files /dev/null and b/generalization/data/tokenized_val/data-00000-of-00001.arrow differ diff --git a/generalization/data/tokenized_val/dataset_info.json b/generalization/data/tokenized_val/dataset_info.json new file mode 100644 index 0000000..c5ed9a8 --- /dev/null +++ b/generalization/data/tokenized_val/dataset_info.json @@ -0,0 +1,33 @@ +{ + "citation": "", + "description": "", + "features": { + "snippets": { + "dtype": "string", + "_type": "Value" + }, + "input_ids": { + "feature": { + "dtype": "int32", + "_type": "Value" + }, + "_type": "Sequence" + }, + "attention_mask": { + "feature": { + "dtype": "int8", + "_type": "Value" + }, + "_type": "Sequence" + }, + "labels": { + "feature": { + "dtype": "int64", + "_type": "Value" + }, + "_type": "Sequence" + } + }, + "homepage": "", + "license": "" +} \ No newline at end of file diff --git a/generalization/data/tokenized_val/state.json b/generalization/data/tokenized_val/state.json new file mode 100644 index 0000000..0cb7a77 --- /dev/null +++ b/generalization/data/tokenized_val/state.json @@ -0,0 +1,13 @@ +{ + "_data_files": [ + { + "filename": "data-00000-of-00001.arrow" + } + ], + "_fingerprint": "cc8d31de4b82da8d", + "_format_columns": null, + "_format_kwargs": {}, + "_format_type": null, + "_output_all_columns": false, + "_split": null +} \ No newline at end of file diff --git a/generalization/demonstration.ipynb b/generalization/demonstration.ipynb new file mode 100644 index 0000000..e1dbb26 --- /dev/null +++ b/generalization/demonstration.ipynb @@ -0,0 +1,312 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "176621a1-0778-4a21-9de9-dd2ebefef5a6", + "metadata": {}, + "source": [ + "# Evaluating Arithmetic Operations Using Our Finetuned Large Language Model" + ] + }, + { + "cell_type": "markdown", + "id": "26d10bd3-660c-43df-9719-43fa71b119ea", + "metadata": {}, + "source": [ + "This notebook demonstrates how to use our fine-tuned Code Llama model to evaluate simple arithmetic operations in Python code snippets. The process involves loading the pre-trained model, preparing the tokenizer, and defining functions to evaluate code examples. We then evaluate various code snippets to observe the model's generated results. This workflow highlights the capabilities of the Code Llama model in executing arithmetic expressions." + ] + }, + { + "cell_type": "markdown", + "id": "ac948737-336a-4d73-ba56-64601000e561", + "metadata": {}, + "source": [ + "## Import Necessary Libraries" + ] + }, + { + "cell_type": "markdown", + "id": "7654d2f3-bae2-4936-b86c-a5a6b0e2ed51", + "metadata": {}, + "source": [ + "Import essential libraries for model loading, evaluation, and tokenization." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "4c3d4f58-731a-47a8-9121-4689acc8e2c6", + "metadata": {}, + "outputs": [], + "source": [ + "import torch\n", + "import warnings\n", + "from transformers import AutoModelForCausalLM, AutoTokenizer\n", + "from peft import PeftModel\n", + "\n", + "# Ignore all warnings\n", + "warnings.filterwarnings(\"ignore\")\n", + "\n", + "import transformers\n", + "\n", + "transformers.logging.set_verbosity_error()" + ] + }, + { + "cell_type": "markdown", + "id": "edd801aa-d88d-42b0-bfac-3901489f7642", + "metadata": {}, + "source": [ + "## Load the Pre-trained Model" + ] + }, + { + "cell_type": "markdown", + "id": "74874a67-6e25-4395-81fa-768c630db298", + "metadata": {}, + "source": [ + "Load the pre-trained Code Llama model in 8-bit precision." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "b1d25be0-8aed-4825-976f-f066aa45eb8d", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "9e7fc7c9fd3b422fa5413277b16ac29e", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Loading checkpoint shards: 0%| | 0/2 [00:00 1: + print("Enabling parallelism...") + print() + model.is_parallelizable = True + model.model_parallel = True + + # Training arguments + print("Setting up training arguments...") + print() + training_args = TrainingArguments( + per_device_train_batch_size=per_device_train_batch_size, + gradient_accumulation_steps=gradient_accumulation_steps, + warmup_steps=warmup_steps, + max_steps=max_steps, + learning_rate=learning_rate, + fp16=True, + logging_steps=logging_steps, + optim="adamw_torch", + evaluation_strategy="steps", + save_strategy="steps", + eval_steps=eval_steps, + save_steps=save_steps, + output_dir=output_dir, + group_by_length=True, + report_to="wandb", + run_name=f"codellama-{datetime.now().strftime('%Y-%m-%d-%H-%M')}", + ) + + # Initialize the Trainer + trainer = Trainer( + model=model, + train_dataset=tokenized_train_dataset, + eval_dataset=tokenized_val_dataset, + args=training_args, + data_collator=DataCollatorForSeq2Seq( + tokenizer, pad_to_multiple_of=8, return_tensors="pt", padding=True + ), + ) + + # Disable caching for training + model.config.use_cache = False + + # Patch the model's state_dict + old_state_dict = model.state_dict + model.state_dict = (lambda self, *_, **__: get_peft_model_state_dict(self, old_state_dict())).__get__( + model, type(model) + ) + + # Compile the model if applicable + if torch.__version__ >= "2" and sys.platform != "win32": + print("Compiling the model...") + print() + model = torch.compile(model) + + # Start training + print("Starting training...") + trainer.train() + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Train a model with specified parameters.") + parser.add_argument('--base_model', type=str, default="codellama/CodeLlama-7b-hf", help="Base model name or path") + parser.add_argument('--train_dataset_path', type=str, default="data/tokenized_train", help="Path to the tokenized training dataset") + parser.add_argument('--val_dataset_path', type=str, default="data/tokenized_val", help="Path to the tokenized validation dataset") + parser.add_argument('--resume_from_checkpoint', type=str, default="", help="Path to checkpoint to resume training from") + parser.add_argument('--wandb_project', type=str, default="tiny-coder", help="WandB project name") + parser.add_argument('--batch_size', type=int, default=128, help="Total batch size for training") + parser.add_argument('--per_device_train_batch_size', type=int, default=32, help="Batch size per device for training") + parser.add_argument('--gradient_accumulation_steps', type=int, default=4, help="Number of gradient accumulation steps") + parser.add_argument('--output_dir', type=str, default="models/code-llama-finetuned-level1", help="Directory to save the output") + parser.add_argument('--learning_rate', type=float, default=3e-4, help="Learning rate") + parser.add_argument('--warmup_steps', type=int, default=100, help="Number of warmup steps") + parser.add_argument('--max_steps', type=int, default=200, help="Maximum number of training steps") + parser.add_argument('--logging_steps', type=int, default=10, help="Number of steps between logging") + parser.add_argument('--eval_steps', type=int, default=20, help="Number of steps between evaluations") + parser.add_argument('--save_steps', type=int, default=20, help="Number of steps between saving checkpoints") + + args = parser.parse_args() + + train_model( + base_model=args.base_model, + train_dataset_path=args.train_dataset_path, + val_dataset_path=args.val_dataset_path, + resume_from_checkpoint=args.resume_from_checkpoint, + wandb_project=args.wandb_project, + batch_size=args.batch_size, + per_device_train_batch_size=args.per_device_train_batch_size, + gradient_accumulation_steps=args.gradient_accumulation_steps, + output_dir=args.output_dir, + learning_rate=args.learning_rate, + warmup_steps=args.warmup_steps, + max_steps=args.max_steps, + logging_steps=args.logging_steps, + eval_steps=args.eval_steps, + save_steps=args.save_steps + ) \ No newline at end of file diff --git a/generalization/results/.ipynb_checkpoints/result_llama-checkpoint.txt b/generalization/results/.ipynb_checkpoints/result_llama-checkpoint.txt new file mode 100644 index 0000000..c71fe79 --- /dev/null +++ b/generalization/results/.ipynb_checkpoints/result_llama-checkpoint.txt @@ -0,0 +1 @@ +Accuracy: 80.00% diff --git a/generalization/results/.ipynb_checkpoints/results_llama-checkpoint.csv b/generalization/results/.ipynb_checkpoints/results_llama-checkpoint.csv new file mode 100644 index 0000000..9cbdcd6 --- /dev/null +++ b/generalization/results/.ipynb_checkpoints/results_llama-checkpoint.csv @@ -0,0 +1,47 @@ +Prompt,Real_Results,Generated_Results +"b = 7 +e = 2 +e = 1 +d = 8 +print(b - b) +# output +",0.0,0.0 +"a = 7 +c = 0 +a = 1 +for a in range(8, 10) : + print(c) +# output +",0.0,0.0 +"e = 7 +d = 1 +c = 8 +b = 1 +b = (b / d)-(b * 2)/(2 * d)*(b / c)/(e + 0)-(c + 8) +if not (b == 9) or (e < 3) or (c > b) and ( d == b) : + print(c - e) +elif (not c < 0) : + print(d - b) +else : + print(b) +# output +",1.0,7.0 +"d = 2 +d = 0 +d = 6 +if d != 0 : + print(d) +elif not d != d : + print(d) +else : + print(d) +# output +",6.0,6.0 +"e = 6 +d = 4 +e = 0 +b = d / 8 +for d in range(8, 5) : + print(d + 3) +# output +",0.0,0.0 diff --git a/generalization/results/result_llama.txt b/generalization/results/result_llama.txt new file mode 100644 index 0000000..2fe40e2 --- /dev/null +++ b/generalization/results/result_llama.txt @@ -0,0 +1 @@ +Accuracy: 96.00% diff --git a/generalization/results/results_llama.csv b/generalization/results/results_llama.csv new file mode 100644 index 0000000..5d3fb53 --- /dev/null +++ b/generalization/results/results_llama.csv @@ -0,0 +1,510 @@ +Prompt,Real_Results,Generated_Results +"c = 3 +e = 9 +e = 0 * c +print(e) +# output +",0.0,0.0 +"e = 2 +a = 6 +c = a / 4 +print(c) +# output +",1.5,1.5 +"e = 6 +c = 3 / e +print(c) +# output +",0.5,0.5 +"e = 8 +a = 3 +print(e / a) +# output +",2.6666666666666665,2.6666666666666665 +"a = 8 +e = a + 1 +print(a / a) +# output +",1.0,1.0 +"e = 6 +a = 7 +d = a - 1 +print(d) +# output +",6.0,6.0 +"d = 9 +print(d * d) +# output +",81.0,81.0 +"c = 4 +print(c + 3) +# output +",7.0,7.0 +"d = 7 +print(d / d) +# output +",1.0,1.0 +"d = 5 +a = 0 +print(a + d) +# output +",5.0,5.0 +"a = 6 +b = 0 +a = 3 - 3 +print(b / 9) +# output +",0.0,0.0 +"a = 0 +a = 0 +print(a) +# output +",0.0,0.0 +"c = 3 +e = 7 +print(c * c) +# output +",9.0,9.0 +"a = 2 +e = 0 / 8 +print(a * a) +# output +",4.0,4.0 +"e = 9 +a = 9 +print(a * e) +# output +",81.0,81.0 +"d = 8 +e = 4 +print(e + d) +# output +",12.0,12.0 +"a = 2 +c = a - 6 +print(a / a) +# output +",1.0,1.0 +"a = 6 +b = 7 +d = a - 0 +print(d) +# output +",6.0,6.0 +"b = 7 +e = 2 +b = 0 * 7 +print(b) +# output +",0.0,0.0 +"c = 9 +e = 4 +print(c - 5) +# output +",4.0,4.0 +"d = 4 +d = 7 * 4 +print(d * d) +# output +",784.0,289.0 +"a = 4 +print(a / a) +# output +",1.0,1.0 +"e = 3 +b = 4 +a = e - 6 +print(a) +# output +",-3.0,-3.0 +"d = 5 +d = 9 - 7 +print(d) +# output +",2.0,2.0 +"b = 7 +b = 3 / b +print(b) +# output +",0.42857142857142855,0.42857142857142855 +"a = 9 +b = a + a +print(a / a) +# output +",1.0,1.0 +"a = 0 +d = a * 9 +print(d) +# output +",0.0,0.0 +"e = 1 +c = e + e +print(c) +# output +",2.0,2.0 +"e = 3 +c = e + 2 +print(e + e) +# output +",6.0,6.0 +"a = 4 +e = 0 * 7 +print(a + 2) +# output +",6.0,6.0 +"b = 6 +b = 5 +b = b - b +print(b / 3) +# output +",0.0,0.0 +"b = 0 +d = 9 * 1 +print(d) +# output +",9.0,9.0 +"a = 4 +a = 2 +print(a) +# output +",2.0,2.0 +"e = 9 +b = 3 +print(b) +# output +",3.0,3.0 +"d = 6 +c = 4 + 1 +print(d + 2) +# output +",8.0,8.0 +"d = 8 +c = d - 6 +print(c) +# output +",2.0,2.0 +"a = 9 +d = 1 +print(a * d) +# output +",9.0,9.0 +"c = 4 +a = 4 +print(a) +# output +",4.0,4.0 +"b = 5 +a = 1 +b = a - a +print(b) +# output +",0.0,0.0 +"d = 2 +c = 1 +print(d) +# output +",2.0,2.0 +"e = 3 +b = 5 +print(b * 9) +# output +",45.0,45.0 +"e = 9 +d = 5 +d = e * d +print(e / d) +# output +",0.2,0.09090909090909091 +"c = 5 +print(c * c) +# output +",25.0,25.0 +"e = 2 +c = 8 / e +print(e * 9) +# output +",18.0,18.0 +"c = 0 +c = 6 - 8 +print(c) +# output +",-2.0,-2.0 +"e = 7 +a = 2 +d = 5 * 7 +print(a * 7) +# output +",14.0,14.0 +"e = 1 +print(e * e) +# output +",1.0,1.0 +"d = 6 +b = d * d +print(b) +# output +",36.0,36.0 +"e = 8 +b = e / 5 +print(e / 2) +# output +",4.0,4.0 +"d = 6 +c = 3 +a = 9 + d +print(a) +# output +",15.0,15.0 +"d = 4 +a = 8 +print(a * a) +# output +",64.0,64.0 +"e = 6 +print(e + e) +# output +",12.0,12.0 +"b = 3 +a = 3 +print(a) +# output +",3.0,3.0 +"b = 9 +b = 9 +print(b - 5) +# output +",4.0,4.0 +"a = 8 +print(a) +# output +",8.0,8.0 +"b = 2 +e = 2 +print(e) +# output +",2.0,2.0 +"e = 1 +c = e / 7 +print(e - e) +# output +",0.0,0.0 +"e = 3 +c = 0 +print(c) +# output +",0.0,0.0 +"a = 1 +a = 3 +print(a / 1) +# output +",3.0,3.0 +"c = 3 +print(c / c) +# output +",1.0,1.0 +"c = 0 +c = c - c +print(c) +# output +",0.0,0.0 +"a = 7 +d = 2 +print(a) +# output +",7.0,7.0 +"c = 3 +a = 0 +print(c - 4) +# output +",-1.0,-1.0 +"e = 9 +a = 5 +print(e) +# output +",9.0,9.0 +"d = 3 +b = 4 +d = 4 / 3 +print(b * b) +# output +",16.0,16.0 +"c = 5 +d = 5 +d = c - 4 +print(d) +# output +",1.0,1.0 +"e = 6 +b = 3 +e = e - 6 +print(e) +# output +",0.0,0.0 +"d = 4 +c = 6 +print(d + c) +# output +",10.0,10.0 +"b = 8 +a = 9 +e = 5 / 2 +print(b * a) +# output +",72.0,72.0 +"e = 4 +print(e) +# output +",4.0,4.0 +"b = 2 +c = 3 +print(b / b) +# output +",1.0,1.0 +"d = 8 +d = 0 +c = 7 - 1 +print(c) +# output +",6.0,6.0 +"e = 9 +print(e * e) +# output +",81.0,81.0 +"e = 1 +a = 6 +print(a / 6) +# output +",1.0,1.0 +"d = 5 +d = 9 +e = 0 - d +print(d * d) +# output +",81.0,81.0 +"d = 5 +d = d * d +print(d) +# output +",25.0,25.0 +"b = 7 +a = 2 +print(a) +# output +",2.0,2.0 +"b = 3 +e = 1 +e = 9 + e +print(e) +# output +",10.0,10.0 +"e = 9 +e = 7 * e +print(e + 7) +# output +",70.0,103.0 +"e = 3 +c = 2 +d = 1 + 5 +print(c * c) +# output +",4.0,4.0 +"d = 9 +b = 5 +print(d) +# output +",9.0,9.0 +"d = 6 +e = 6 +print(e) +# output +",6.0,6.0 +"e = 6 +e = 7 +print(e) +# output +",7.0,7.0 +"b = 9 +a = 2 +b = a - 9 +print(a - 4) +# output +",-2.0,-2.0 +"e = 2 +c = 3 +print(c) +# output +",3.0,3.0 +"b = 4 +b = 3 - b +print(b) +# output +",-1.0,-1.0 +"d = 0 +d = 7 +print(d + 3) +# output +",10.0,10.0 +"d = 9 +print(d - 9) +# output +",0.0,0.0 +"c = 4 +print(c) +# output +",4.0,4.0 +"c = 3 +e = 2 +print(c) +# output +",3.0,3.0 +"e = 6 +c = 4 +print(e / 9) +# output +",0.6666666666666666,0.6666666666666666 +"a = 4 +print(a) +# output +",4.0,4.0 +"c = 8 +c = 0 +b = 9 * c +print(b) +# output +",0.0,0.0 +"a = 8 +a = 9 +print(a) +# output +",9.0,9.0 +"a = 0 +e = a + a +print(a + a) +# output +",0.0,0.0 +"a = 7 +e = 6 +print(a + a) +# output +",14.0,14.0 +"b = 8 +e = b + b +print(e) +# output +",16.0,16.0 +"a = 3 +e = 9 +b = e - a +print(b) +# output +",6.0,6.0 +"e = 4 +e = 4 * e +print(e / 8) +# output +",2.0,1.0 +"d = 7 +c = 2 + 8 +print(d * 1) +# output +",7.0,7.0 diff --git a/generalization/tokenizing.py b/generalization/tokenizing.py new file mode 100644 index 0000000..14a446e --- /dev/null +++ b/generalization/tokenizing.py @@ -0,0 +1,82 @@ +import argparse +import pandas as pd +from datasets import Dataset +from transformers import AutoTokenizer + +import transformers + +transformers.logging.set_verbosity_error() + +def tokenize_data(train_file="../data/train.txt", + test_file="../data/val.txt", + tokenizer_name="codellama/CodeLlama-7b-hf", + train_output_dir="data/tokenized_train", + val_output_dir="data/tokenized_val"): + print("Tokenizing data...") + + # Read the training and test data + with open(train_file) as f: + train_data = f.read() + + with open(test_file) as f: + test_data = f.read() + + # Split the snippets into individual examples + train_snippets = train_data.split('\n\n') + test_snippets = test_data.split('\n\n') + + # Create datasets from the snippets + train_dataset = Dataset.from_pandas(pd.DataFrame({'snippets': train_snippets})) + eval_dataset = Dataset.from_pandas(pd.DataFrame({'snippets': test_snippets})) + + # Load the tokenizer + print("Loading tokenizer...") + tokenizer = AutoTokenizer.from_pretrained(tokenizer_name) + tokenizer.add_eos_token = True + tokenizer.pad_token_id = 0 + tokenizer.padding_side = "left" + + # Function to tokenize a prompt + def tokenize(prompt): + result = tokenizer( + prompt, + truncation=True, + max_length=512, + padding=False, + return_tensors=None, + ) + + # For self-supervised learning, labels are also the inputs + result["labels"] = result["input_ids"].copy() + + return result + + # Function to generate and tokenize a prompt + def generate_and_tokenize_prompt(data_point): + full_prompt = data_point["snippets"] + + return tokenize(full_prompt) + + # Tokenize the training and validation datasets + print("Tokenizing datasets...") + tokenized_train_dataset = train_dataset.map(generate_and_tokenize_prompt) + tokenized_val_dataset = eval_dataset.map(generate_and_tokenize_prompt) + + # Save the tokenized datasets to disk + print(f"Saving tokenized datasets to {train_output_dir} and {val_output_dir}...") + tokenized_train_dataset.save_to_disk(train_output_dir) + tokenized_val_dataset.save_to_disk(val_output_dir) + + print("Tokenization complete.") + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Tokenize data for language model training.") + parser.add_argument("--train_file", type=str, default="../data/train.txt", help="Path to the training file") + parser.add_argument("--test_file", type=str, default="../data/val.txt", help="Path to the test file") + parser.add_argument("--tokenizer_name", type=str, default="codellama/CodeLlama-7b-hf", help="Name or path of the tokenizer") + parser.add_argument("--train_output_dir", type=str, default="data/tokenized_train", help="Path to save the tokenized training dataset") + parser.add_argument("--val_output_dir", type=str, default="data/tokenized_val", help="Path to save the tokenized validation dataset") + + args = parser.parse_args() + + tokenize_data(args.train_file, args.test_file, args.tokenizer_name, args.train_output_dir, args.val_output_dir) diff --git a/line-level_code_completion.py b/line-level_code_completion.py new file mode 100644 index 0000000..530c982 --- /dev/null +++ b/line-level_code_completion.py @@ -0,0 +1,99 @@ +import os +import pickle +import argparse +import torch +import torch.nn as nn +import torch.nn.functional as F +import numpy as np +import pandas as pd +from tqdm import tqdm +import re +from model import GPT + +# Argument parsing +parser = argparse.ArgumentParser(description='Evaluate NanoGPT model on token-level code completion.') +parser.add_argument('--dataset_dir', type=str, default='data', help='Directory where the dataset is stored') +parser.add_argument('--model_name', type=str, required=True, help='Name of the pre-trained model (without .pth extension)') + +# Parse the command-line arguments +args = parser.parse_args() + +device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') +torch.manual_seed(1337) + + +# Constants for dataset and file paths +MODEL_FILE = f"models/{args.model_name}.pth" +ACCURACY_FILE = f"results/{args.model_name}_acc_line-level_code_completion.txt" +RESULTS_FILE = f"results/{args.model_name}_line-level_code_completion.csv" + + +data_dir = args.dataset_dir +test_data = np.memmap(os.path.join(data_dir, 'test.bin'), dtype=np.uint16, mode='r') + + +# attempt to derive vocab_size from the dataset +meta_path = os.path.join(data_dir, 'meta.pkl') +meta_vocab_size = None +if os.path.exists(meta_path): + with open(meta_path, 'rb') as f: + meta = pickle.load(f) + meta_vocab_size = meta['vocab_size'] + print(f"found vocab_size = {meta_vocab_size} (inside {meta_path})") + +stoi = meta['stoi'] +itos = meta['itos'] +encode = lambda s: [stoi[c] for c in s] +decode = lambda l: ''.join([itos[i] for i in l]) + +model = GPT() +print("Compiling model...") +model = torch.compile(model) # pytorch 2.0 +model.load_state_dict(torch.load(MODEL_FILE)) +m = model.to(device) + +examples = decode(test_data).split("\n\n") +examples = [example for example in examples if example] + +correct_predictions = 0 +total_predictions = 0 + +results = [] + +for code_snippet in tqdm(examples): + + lines = code_snippet.split('\n') + for i in range(1, len(lines)): + + context_lines = lines[:i] + actual_next_line = lines[i] + + context_tokens = torch.tensor(encode('\n'.join(context_lines) + '\n'), dtype=torch.long).unsqueeze(0).to(device) + actual_next_line_tokens = torch.tensor(encode(actual_next_line), dtype=torch.long).unsqueeze(0).to(device) + + n = actual_next_line_tokens.shape[1] # Limit to length of actual next line + predicted_next_line_tokens = m.generate(context_tokens, max_new_tokens=n) + predicted_next_line_tokens = predicted_next_line_tokens[:, -n:] + is_correct = torch.equal(predicted_next_line_tokens, actual_next_line_tokens) + + if is_correct: + correct_predictions += 1 + results.append({ + 'context': context_tokens.cpu(), + 'actual_next_line': actual_next_line_tokens.cpu(), + 'predicted_next_line': predicted_next_line_tokens.cpu(), + 'is_correct': is_correct + }) + + total_predictions += 1 + +df = pd.DataFrame(results) +df.to_csv(RESULTS_FILE, index=False) + +accuracy = (correct_predictions / total_predictions) * 100 + +# Store accuracy in a file +with open(ACCURACY_FILE, 'w') as f: + f.write(f"Accuracy: {accuracy:.2f}%\n") + +print(accuracy) \ No newline at end of file diff --git a/model.py b/model.py new file mode 100644 index 0000000..9d869d5 --- /dev/null +++ b/model.py @@ -0,0 +1,162 @@ +import random +import torch +import torch.nn as nn +import torch.nn.functional as F +import numpy as np +import pandas as pd +import os +import pickle + +# Set the random seed for reproducibility +seed = 42 +torch.manual_seed(seed) +random.seed(seed) +np.random.seed(seed) + +# Set the device to GPU if available, otherwise CPU +device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') + +# Directory where the dataset is stored +DATA_DIR = 'data' + +# Hyperparameters for the GPT model +block_size = 256 # Maximum context length +n_embd = 96 # Embedding dimension +n_head = 6 # Number of attention heads +n_layer = 6 # Number of transformer blocks +dropout = 0 # Dropout rate + +# Attempt to derive vocab_size from the dataset +meta_path = os.path.join(DATA_DIR, 'meta.pkl') +meta_vocab_size = None +if os.path.exists(meta_path): + with open(meta_path, 'rb') as f: + meta = pickle.load(f) + meta_vocab_size = meta['vocab_size'] + +vocab_size = meta_vocab_size + +class LayerNorm(nn.Module): + """ LayerNorm with an optional bias. PyTorch's LayerNorm doesn't support simply bias=False """ + + def __init__(self, ndim, bias): + super().__init__() + self.weight = nn.Parameter(torch.ones(ndim)) + self.bias = nn.Parameter(torch.zeros(ndim)) if bias else None + + def forward(self, input): + return F.layer_norm(input, self.weight.shape, self.weight, self.bias, 1e-5) + +class Head(nn.Module): + """One head of self-attention.""" + + def __init__(self, head_size): + super().__init__() + self.key = nn.Linear(n_embd, head_size, bias=False) + self.query = nn.Linear(n_embd, head_size, bias=False) + self.value = nn.Linear(n_embd, head_size, bias=False) + self.flash = hasattr(torch.nn.functional, 'scaled_dot_product_attention') + self.dropout = nn.Dropout(dropout) + + def forward(self, x): + B, T, C = x.shape + k = self.key(x) # (B, T, head_size) + q = self.query(x) # (B, T, head_size) + v = self.value(x) # (B, T, head_size) + + # Apply scaled dot-product attention + out = torch.nn.functional.scaled_dot_product_attention( + q, k, v, attn_mask=None, dropout_p=dropout if self.training else 0, is_causal=True + ) + + return out + +class MultiHeadAttention(nn.Module): + """Multiple heads of self-attention in parallel.""" + + def __init__(self, num_heads, head_size): + super().__init__() + self.heads = nn.ModuleList([Head(head_size) for _ in range(num_heads)]) + self.proj = nn.Linear(n_embd, n_embd) + self.dropout = nn.Dropout(dropout) + + def forward(self, x): + # Concatenate the outputs from each head + out = torch.cat([h(x) for h in self.heads], dim=-1) + out = self.dropout(self.proj(out)) + return out + +class FeedForward(nn.Module): + """A simple linear layer followed by a non-linearity.""" + + def __init__(self, n_embd): + super().__init__() + self.net = nn.Sequential( + nn.Linear(n_embd, 4 * n_embd, bias=False), + nn.GELU(), + nn.Linear(4 * n_embd, n_embd, bias=False), + nn.Dropout(dropout), + ) + + def forward(self, x): + return self.net(x) + +class Block(nn.Module): + """Transformer block: communication followed by feedforward.""" + + def __init__(self, n_embd, n_head): + super().__init__() + head_size = n_embd // n_head + self.sa = MultiHeadAttention(n_head, head_size) + self.ffwd = FeedForward(n_embd) + self.ln1 = nn.LayerNorm(n_embd, bias=False) + self.ln2 = nn.LayerNorm(n_embd, bias=False) + + def forward(self, x): + x = x + self.sa(self.ln1(x)) + x = x + self.ffwd(self.ln2(x)) + return x + +class GPT(nn.Module): + """GPT language model.""" + + def __init__(self): + super().__init__() + self.token_embedding_table = nn.Embedding(vocab_size, n_embd) + self.position_embedding_table = nn.Embedding(block_size, n_embd) + self.blocks = nn.Sequential(*[Block(n_embd, n_head=n_head) for _ in range(n_layer)]) + self.ln_f = nn.LayerNorm(n_embd, bias=False) + self.lm_head = nn.Linear(n_embd, vocab_size) + + def forward(self, idx, targets=None): + B, T = idx.shape + + # Token and position embeddings + tok_emb = self.token_embedding_table(idx) # (B, T, n_embd) + pos_emb = self.position_embedding_table(torch.arange(T, device=device)) # (T, n_embd) + x = tok_emb + pos_emb # (B, T, n_embd) + x = self.blocks(x) # (B, T, n_embd) + x = self.ln_f(x) # (B, T, n_embd) + logits = self.lm_head(x) # (B, T, vocab_size) + + # Compute loss if targets are provided + if targets is None: + loss = None + else: + B, T, C = logits.shape + logits = logits.view(B * T, C) + targets = targets.view(B * T) + loss = F.cross_entropy(logits, targets) + + return logits, loss + + def generate(self, idx, max_new_tokens): + """Generate new tokens given an initial context `idx`.""" + for _ in range(max_new_tokens): + idx_cond = idx[:, -block_size:] # Crop to the last block_size tokens + logits, _ = self(idx_cond) + logits = logits[:, -1, :] # Focus on the last time step + probs = F.softmax(logits, dim=-1) # Convert to probabilities + idx_next = torch.multinomial(probs, num_samples=1) # Sample from the distribution + idx = torch.cat((idx, idx_next), dim=1) # Append sampled index to the sequence + return idx diff --git a/models/arithmetics_level1_696K.pth b/models/arithmetics_level1_696K.pth new file mode 100644 index 0000000..170fd1e Binary files /dev/null and b/models/arithmetics_level1_696K.pth differ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..122940a --- /dev/null +++ b/requirements.txt @@ -0,0 +1,11 @@ +anytree==2.12.1 +tqdm==4.66.2 +requests==2.31.0 +numpy==1.26.4 +pandas==2.2.1 +torch==2.2.2 +transformers==4.30.2 +datasets==2.18.0 +psutil==5.9.8 +argparse==1.1 +peft @ git+https://github.com/huggingface/peft.git@e536616888d51b453ed354a6f1e243fecb02ea08 diff --git a/results/.ipynb_checkpoints/arithmetics_level1_696K_accuracy-checkpoint.txt b/results/.ipynb_checkpoints/arithmetics_level1_696K_accuracy-checkpoint.txt new file mode 100644 index 0000000..2fe40e2 --- /dev/null +++ b/results/.ipynb_checkpoints/arithmetics_level1_696K_accuracy-checkpoint.txt @@ -0,0 +1 @@ +Accuracy: 96.00% diff --git a/results/arithmetics_level1_696K_acc_line-level_code_completion.txt b/results/arithmetics_level1_696K_acc_line-level_code_completion.txt new file mode 100644 index 0000000..95d063c --- /dev/null +++ b/results/arithmetics_level1_696K_acc_line-level_code_completion.txt @@ -0,0 +1 @@ +Accuracy: 51.83% diff --git a/results/arithmetics_level1_696K_acc_token-level_code_completion.txt b/results/arithmetics_level1_696K_acc_token-level_code_completion.txt new file mode 100644 index 0000000..0a26c80 --- /dev/null +++ b/results/arithmetics_level1_696K_acc_token-level_code_completion.txt @@ -0,0 +1 @@ +Accuracy: 82.54% diff --git a/results/arithmetics_level1_696K_accuracy.txt b/results/arithmetics_level1_696K_accuracy.txt new file mode 100644 index 0000000..2fe40e2 --- /dev/null +++ b/results/arithmetics_level1_696K_accuracy.txt @@ -0,0 +1 @@ +Accuracy: 96.00% diff --git a/results/arithmetics_level1_696K_line-level_code_completion.csv b/results/arithmetics_level1_696K_line-level_code_completion.csv new file mode 100644 index 0000000..bb89d68 --- /dev/null +++ b/results/arithmetics_level1_696K_line-level_code_completion.csv @@ -0,0 +1,673 @@ +context,actual_next_line,predicted_next_line,is_correct +"tensor([[23, 1, 20, 1, 13, 0]])","tensor([[25, 1, 20, 1, 19]])","tensor([[25, 1, 20, 1, 12]])",False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0]])","tensor([[25, 1, 20, 1, 10, 1, 5, 1, 23]])","tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26]])",False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 4]])","tensor([[29, 30, 26, 27, 31, 3, 23, 1]])",False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])","tensor([[ 2, 1, 10]])","tensor([[ 2, 1, 10]])",True +"tensor([[25, 1, 20, 1, 12, 0]])","tensor([[21, 1, 20, 1, 16]])","tensor([[21, 1, 20, 1, 10]])",False +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0]])","tensor([[23, 1, 20, 1, 21, 1, 9, 1, 14]])","tensor([[25, 1, 20, 1, 13, 1, 9, 1, 21]])",False +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4]])",True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])","tensor([[ 2, 1, 11, 8, 15]])","tensor([[ 2, 1, 11, 8, 15]])",True +"tensor([[25, 1, 20, 1, 16, 0]])","tensor([[23, 1, 20, 1, 13, 1, 9, 1, 25]])","tensor([[24, 1, 20, 1, 18, 1, 5, 1, 25]])",False +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4]])",True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 10, 8, 15]])","tensor([[ 2, 1, 10, 8, 15]])",True +"tensor([[25, 1, 20, 1, 18, 0]])","tensor([[21, 1, 20, 1, 13]])","tensor([[24, 1, 20, 1, 17]])",False +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 21, 4]])","tensor([[25, 1, 20, 1, 16, 1, 6, 1, 14, 0, 29, 30]])",False +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 12, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 15]])","tensor([[ 2, 1, 12, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 15]])",True +"tensor([[21, 1, 20, 1, 18, 0]])","tensor([[25, 1, 20, 1, 21, 1, 6, 1, 11]])","tensor([[22, 1, 20, 1, 10, 1, 7, 1, 23]])",False +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4]])","tensor([[29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 17, 4]])",False +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])","tensor([[ 2, 1, 11, 8, 10]])","tensor([[ 2, 1, 11, 8, 10]])",True +"tensor([[25, 1, 20, 1, 16, 0]])","tensor([[21, 1, 20, 1, 17]])","tensor([[22, 1, 20, 1, 19]])",False +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0]])","tensor([[24, 1, 20, 1, 21, 1, 7, 1, 11]])","tensor([[24, 1, 20, 1, 19, 1, 6, 1, 25]])",False +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 4]])","tensor([[29, 30, 26, 27, 31, 3, 24, 1]])",False +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])","tensor([[ 2, 1, 16]])","tensor([[ 2, 1, 16]])",True +"tensor([[24, 1, 20, 1, 19, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 18, 4]])",False +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, + 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 18, 11]])","tensor([[ 2, 1, 18, 11]])",True +"tensor([[23, 1, 20, 1, 14, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 13, 4]])","tensor([[23, 1, 20, 1, 23, 1, 5, 1, 12, 0, 29, 30]])",False +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 13, 4, + 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 13, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 17]])","tensor([[ 2, 1, 17]])",True +"tensor([[24, 1, 20, 1, 17, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4]])","tensor([[24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3]])",False +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4, + 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 11, 8, 10]])","tensor([[ 2, 1, 11, 8, 10]])",True +"tensor([[24, 1, 20, 1, 15, 0]])","tensor([[21, 1, 20, 1, 10]])","tensor([[22, 1, 20, 1, 16]])",False +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 6, 1, 24, 4]])","tensor([[21, 1, 20, 1, 10, 1, 5, 1, 14, 0, 29, 30]])",False +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 24, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 15]])","tensor([[ 2, 1, 15]])",True +"tensor([[21, 1, 20, 1, 16, 0]])","tensor([[22, 1, 20, 1, 10]])","tensor([[29, 30, 26, 27, 31]])",False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0]])","tensor([[21, 1, 20, 1, 13, 1, 7, 1, 13]])","tensor([[24, 1, 20, 1, 18, 0, 29, 30, 26]])",False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 17, 4]])",False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 10, 8, 10]])","tensor([[ 2, 1, 10, 8, 10]])",True +"tensor([[21, 1, 20, 1, 10, 0]])","tensor([[21, 1, 20, 1, 10]])","tensor([[24, 1, 20, 1, 13]])",False +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 4]])","tensor([[22, 1, 20, 1, 12, 1, 7, 1]])",False +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 10]])","tensor([[ 2, 1, 10]])",True +"tensor([[23, 1, 20, 1, 13, 0]])","tensor([[25, 1, 20, 1, 17]])","tensor([[25, 1, 20, 1, 12]])",False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4]])","tensor([[21, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3]])",False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5, 1, 23, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5, 1, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 19]])","tensor([[ 2, 1, 19]])",True +"tensor([[21, 1, 20, 1, 12, 0]])","tensor([[25, 1, 20, 1, 10, 1, 9, 1, 18]])","tensor([[25, 1, 20, 1, 17, 0, 29, 30, 26]])",False +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 21, 4]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 6, 1, 21, 4]])",False +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5, 1, 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])","tensor([[ 2, 1, 14]])","tensor([[ 2, 1, 14]])",True +"tensor([[25, 1, 20, 1, 19, 0]])","tensor([[21, 1, 20, 1, 19]])","tensor([[21, 1, 20, 1, 15]])",False +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 25, 4]])","tensor([[24, 1, 20, 1, 11, 0, 24, 1, 20, 1, 24, 1]])",False +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 25, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 18, 11]])","tensor([[ 2, 1, 18, 11]])",True +"tensor([[24, 1, 20, 1, 18, 0]])","tensor([[25, 1, 20, 1, 14]])","tensor([[24, 1, 20, 1, 19]])",False +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 24, 4]])","tensor([[22, 1, 20, 1, 25, 1, 6, 1, 13, 0, 29, 30]])",False +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1, 24, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 11, 12]])","tensor([[ 2, 1, 11, 12]])",True +"tensor([[21, 1, 20, 1, 12, 0]])","tensor([[23, 1, 20, 1, 21, 1, 7, 1, 16]])","tensor([[24, 1, 20, 1, 12, 0, 29, 30, 26]])",False +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 6, 1, 17, 4]])",False +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])","tensor([[ 2, 1, 11, 8, 10]])","tensor([[ 2, 1, 11, 8, 10]])",True +"tensor([[21, 1, 20, 1, 16, 0]])","tensor([[22, 1, 20, 1, 17]])","tensor([[21, 1, 20, 1, 18]])",False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0]])","tensor([[24, 1, 20, 1, 21, 1, 7, 1, 10]])","tensor([[21, 1, 20, 1, 17, 1, 6, 1, 11]])",False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 4]])","tensor([[29, 30, 26, 27, 31, 3, 24, 4]])",True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])","tensor([[ 2, 1, 16]])","tensor([[ 2, 1, 16]])",True +"tensor([[22, 1, 20, 1, 17, 0]])","tensor([[25, 1, 20, 1, 12]])","tensor([[23, 1, 20, 1, 18]])",False +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0]])","tensor([[22, 1, 20, 1, 10, 1, 5, 1, 17]])","tensor([[29, 30, 26, 27, 31, 3, 21, 4, 0]])",False +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0]])","tensor([[29, 30, 26, 27, 31, 3, 22, 4]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1]])",False +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])","tensor([[ 2, 1, 10]])","tensor([[ 2, 1, 10]])",True +"tensor([[23, 1, 20, 1, 19, 0]])","tensor([[25, 1, 20, 1, 14]])","tensor([[21, 1, 20, 1, 12]])",False +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 1, 7, 1, 15, 4]])","tensor([[22, 1, 20, 1, 12, 1, 9, 1, 25, 0, 29, 30]])",False +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 15, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 14]])","tensor([[ 2, 1, 14]])",True +"tensor([[24, 1, 20, 1, 14, 0]])","tensor([[24, 1, 20, 1, 17, 1, 5, 1, 14]])","tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20]])",False +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4]])","tensor([[29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 14, 4]])",False +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])","tensor([[ 2, 1, 17, 18, 14]])","tensor([[ 2, 1, 13, 14, 10]])",False +"tensor([[21, 1, 20, 1, 14, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4]])","tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 12, 0]])",False +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, + 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 11, 8, 10]])","tensor([[ 2, 1, 11, 8, 10]])",True +"tensor([[25, 1, 20, 1, 13, 0]])","tensor([[22, 1, 20, 1, 14]])","tensor([[21, 1, 20, 1, 25]])",False +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0]])","tensor([[21, 1, 20, 1, 25, 1, 7, 1, 16]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1, 7]])",False +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 4]])","tensor([[29, 30, 26, 27, 31, 3, 21, 4]])",True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])","tensor([[ 2, 1, 7, 13]])","tensor([[ 2, 1, 7, 13]])",True +"tensor([[24, 1, 20, 1, 15, 0]])","tensor([[24, 1, 20, 1, 19, 1, 7, 1, 17]])","tensor([[21, 1, 20, 1, 16, 0, 23, 1, 20]])",False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 4]])","tensor([[29, 30, 26, 27, 31, 3, 24, 4]])",True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 12]])","tensor([[ 2, 1, 12]])",True +"tensor([[22, 1, 20, 1, 17, 0]])","tensor([[22, 1, 20, 1, 13, 1, 9, 1, 22]])","tensor([[21, 1, 20, 1, 17, 0, 22, 1, 20]])",False +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0]])","tensor([[29, 30, 26, 27, 31, 3, 22, 4]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1]])",False +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 10, 8, 14, 12, 18, 15, 17, 11, 14, 12, 18, 15, 17, 11, 14, 12, + 18, 15, 15]])","tensor([[ 2, 1, 10, 8, 14, 12, 18, 15, 17, 11, 14, 12, 18, 15, 17, 11, 14, 12, + 18, 15, 15]])",True +"tensor([[21, 1, 20, 1, 19, 0]])","tensor([[22, 1, 20, 1, 21, 1, 6, 1, 21]])","tensor([[22, 1, 20, 1, 14, 0, 23, 1, 20]])",False +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4]])","tensor([[29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28]])",False +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])","tensor([[ 2, 1, 11, 8, 10]])","tensor([[ 2, 1, 11, 8, 10]])",True +"tensor([[21, 1, 20, 1, 10, 0]])","tensor([[24, 1, 20, 1, 21, 1, 5, 1, 19]])","tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26]])",False +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 4]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1]])",False +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 10]])","tensor([[ 2, 1, 10]])",True +"tensor([[25, 1, 20, 1, 11, 0]])","tensor([[23, 1, 20, 1, 25, 1, 6, 1, 25]])","tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20]])",False +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4]])",True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 12]])","tensor([[ 2, 1, 12]])",True +"tensor([[25, 1, 20, 1, 13, 0]])","tensor([[23, 1, 20, 1, 25, 1, 6, 1, 12]])","tensor([[23, 1, 20, 1, 19, 0, 23, 1, 20]])",False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 13, 4]])",False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])","tensor([[ 2, 1, 16]])","tensor([[ 2, 1, 16]])",True +"tensor([[21, 1, 20, 1, 14, 0]])","tensor([[25, 1, 20, 1, 10, 1, 5, 1, 17]])","tensor([[25, 1, 20, 1, 15, 0, 25, 1, 20]])",False +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 6, 1, 12, 4]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 22, 4]])",False +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 12, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])","tensor([[ 2, 1, 16]])","tensor([[ 2, 1, 16]])",True +"tensor([[22, 1, 20, 1, 16, 0]])","tensor([[22, 1, 20, 1, 15]])","tensor([[22, 1, 20, 1, 22]])",False +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0]])","tensor([[22, 1, 20, 1, 22, 1, 7, 1, 22]])","tensor([[21, 1, 20, 1, 18, 1, 9, 1, 18]])",False +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4]])","tensor([[29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28]])",False +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 10, 8, 10]])","tensor([[ 2, 1, 10, 8, 10]])",True +"tensor([[22, 1, 20, 1, 10, 0]])","tensor([[24, 1, 20, 1, 19, 1, 5, 1, 11]])","tensor([[23, 1, 20, 1, 18, 0, 22, 1, 20]])",False +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 4]])","tensor([[29, 30, 26, 27, 31, 3, 24, 4]])",True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 19]])","tensor([[ 2, 1, 19]])",True +"tensor([[21, 1, 20, 1, 14, 0]])","tensor([[21, 1, 20, 1, 12]])","tensor([[24, 1, 20, 1, 13]])",False +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 4]])","tensor([[25, 1, 20, 1, 10, 0, 29, 30]])",False +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 12]])","tensor([[ 2, 1, 12]])",True +"tensor([[25, 1, 20, 1, 19, 0]])","tensor([[22, 1, 20, 1, 13]])","tensor([[23, 1, 20, 1, 15]])",False +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0]])","tensor([[29, 30, 26, 27, 31, 3, 22, 4]])","tensor([[25, 1, 20, 1, 14, 1, 7, 1]])",False +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 13]])","tensor([[ 2, 1, 13]])",True +"tensor([[24, 1, 20, 1, 16, 0]])","tensor([[23, 1, 20, 1, 14, 1, 6, 1, 11]])","tensor([[24, 1, 20, 1, 12, 0, 22, 1, 20]])",False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 1, 6, 1, 12, 4]])","tensor([[29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 22, 4]])",False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6, 1, 12, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])","tensor([[ 2, 1, 18]])","tensor([[ 2, 1, 18]])",True +"tensor([[24, 1, 20, 1, 18, 0]])","tensor([[23, 1, 20, 1, 24, 1, 7, 1, 16]])","tensor([[24, 1, 20, 1, 10, 0, 23, 1, 20]])",False +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4]])","tensor([[29, 30, 26, 27, 31, 3, 24, 1]])",False +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 12]])","tensor([[ 2, 1, 12]])",True +"tensor([[21, 1, 20, 1, 19, 0]])","tensor([[24, 1, 20, 1, 11]])","tensor([[24, 1, 20, 1, 18]])",False +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 24, 4]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1, 6, 1, 10, 4]])",False +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 24, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 19]])","tensor([[ 2, 1, 19]])",True +"tensor([[23, 1, 20, 1, 14, 0]])","tensor([[21, 1, 20, 1, 14]])","tensor([[22, 1, 20, 1, 12]])",False +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 4]])","tensor([[23, 1, 20, 1, 23, 1, 5, 1]])",False +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 14]])","tensor([[ 2, 1, 14]])",True +"tensor([[22, 1, 20, 1, 15, 0]])","tensor([[21, 1, 20, 1, 11]])","tensor([[29, 30, 26, 27, 31]])",False +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0]])","tensor([[22, 1, 20, 1, 21, 1, 7, 1, 21]])","tensor([[29, 30, 26, 27, 31, 3, 22, 4, 0]])",False +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0]])","tensor([[29, 30, 26, 27, 31, 3, 22, 4]])","tensor([[29, 30, 26, 27, 31, 3, 22, 4]])",True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])","tensor([[ 2, 1, 10]])","tensor([[ 2, 1, 10]])",True +"tensor([[24, 1, 20, 1, 12, 0]])","tensor([[23, 1, 20, 1, 11]])","tensor([[29, 30, 26, 27, 31]])",False +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 4]])","tensor([[22, 1, 20, 1, 23, 1, 7, 1]])",False +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 12]])","tensor([[ 2, 1, 12]])",True +"tensor([[25, 1, 20, 1, 13, 0]])","tensor([[22, 1, 20, 1, 15]])","tensor([[21, 1, 20, 1, 25]])",False +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 19, 4]])","tensor([[22, 1, 20, 1, 14, 1, 7, 1, 25, 0, 29, 30]])",False +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1, 19, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 14, 15]])","tensor([[ 2, 1, 14, 15]])",True +"tensor([[25, 1, 20, 1, 19, 0]])","tensor([[24, 1, 20, 1, 15]])","tensor([[21, 1, 20, 1, 10]])",False +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0]])","tensor([[24, 1, 20, 1, 25, 1, 5, 1, 24]])","tensor([[24, 1, 20, 1, 11, 1, 5, 1, 14]])",False +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4]])","tensor([[29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28]])",False +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 10, 8, 12]])","tensor([[ 2, 1, 10, 8, 13]])",False +"tensor([[23, 1, 20, 1, 15, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4]])","tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0]])",False +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, + 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 12, 15]])","tensor([[ 2, 1, 12, 15]])",True +"tensor([[25, 1, 20, 1, 12, 0]])","tensor([[23, 1, 20, 1, 18, 1, 9, 1, 25]])","tensor([[25, 1, 20, 1, 18, 0, 25, 1, 20]])",False +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 19, 4]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 17, 4]])",False +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1, 19, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])","tensor([[ 2, 1, 11, 18]])","tensor([[ 2, 1, 11, 18]])",True +"tensor([[23, 1, 20, 1, 10, 0]])","tensor([[23, 1, 20, 1, 16, 1, 7, 1, 18]])","tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20]])",False +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4]])",True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 7, 12]])","tensor([[ 2, 1, 7, 12]])",True +"tensor([[25, 1, 20, 1, 17, 0]])","tensor([[21, 1, 20, 1, 12]])","tensor([[22, 1, 20, 1, 14]])",False +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0]])","tensor([[24, 1, 20, 1, 15, 1, 5, 1, 17]])","tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20]])",False +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17, 4]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 16, 4]])",False +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 11, 14]])","tensor([[ 2, 1, 11, 14]])",True +"tensor([[25, 1, 20, 1, 11, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4]])","tensor([[24, 1, 20, 1, 15, 1, 6, 1, 11, 0, 29, 30]])",False +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 11]])","tensor([[ 2, 1, 11]])",True +"tensor([[24, 1, 20, 1, 16, 0]])","tensor([[22, 1, 20, 1, 24, 1, 5, 1, 24]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1, 7]])",False +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0]])","tensor([[29, 30, 26, 27, 31, 3, 22, 4]])","tensor([[29, 30, 26, 27, 31, 3, 22, 4]])",True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 13, 16]])","tensor([[ 2, 1, 13, 16]])",True +"tensor([[25, 1, 20, 1, 18, 0]])","tensor([[22, 1, 20, 1, 25, 1, 9, 1, 15]])","tensor([[21, 1, 20, 1, 19, 0, 25, 1, 20]])",False +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 12, 4]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 23, 4]])",False +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])","tensor([[ 2, 1, 14, 8, 10]])","tensor([[ 2, 1, 14, 8, 10]])",True +"tensor([[24, 1, 20, 1, 16, 0]])","tensor([[23, 1, 20, 1, 13]])","tensor([[22, 1, 20, 1, 24]])",False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0]])","tensor([[21, 1, 20, 1, 19, 1, 6, 1, 24]])","tensor([[21, 1, 20, 1, 23, 1, 5, 1, 23]])",False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 4]])","tensor([[29, 30, 26, 27, 31, 3, 24, 1]])",False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])","tensor([[ 2, 1, 11, 15]])","tensor([[ 2, 1, 11, 15]])",True +"tensor([[24, 1, 20, 1, 14, 0]])","tensor([[21, 1, 20, 1, 18]])","tensor([[21, 1, 20, 1, 15]])",False +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 21, 4]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 19, 4]])",False +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 16, 14]])","tensor([[ 2, 1, 16, 14]])",True +"tensor([[25, 1, 20, 1, 16, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4]])","tensor([[22, 1, 20, 1, 11, 0, 24, 1, 20, 1, 25, 1]])",False +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, + 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 11, 12]])","tensor([[ 2, 1, 11, 12]])",True +"tensor([[22, 1, 20, 1, 13, 0]])","tensor([[21, 1, 20, 1, 13]])","tensor([[29, 30, 26, 27, 31]])",False +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 4]])","tensor([[25, 1, 20, 1, 17, 1, 7, 1]])",False +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 13]])","tensor([[ 2, 1, 13]])",True +"tensor([[22, 1, 20, 1, 19, 0]])","tensor([[22, 1, 20, 1, 19]])","tensor([[23, 1, 20, 1, 24]])",False +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1, 7, 1, 15, 4]])","tensor([[25, 1, 20, 1, 23, 1, 6, 1, 19, 0, 29, 30]])",False +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7, 1, 15, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 14]])","tensor([[ 2, 1, 14]])",True +"tensor([[21, 1, 20, 1, 18, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 4]])","tensor([[22, 1, 20, 1, 19, 0, 24, 1]])",False +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 18]])","tensor([[ 2, 1, 18]])",True +"tensor([[22, 1, 20, 1, 12, 0]])","tensor([[25, 1, 20, 1, 12]])","tensor([[23, 1, 20, 1, 22]])",False +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 4]])","tensor([[24, 1, 20, 1, 10, 0, 29, 30]])",False +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 12]])","tensor([[ 2, 1, 12]])",True +"tensor([[25, 1, 20, 1, 11, 0]])","tensor([[23, 1, 20, 1, 25, 1, 9, 1, 17]])","tensor([[22, 1, 20, 1, 15, 1, 6, 1, 10]])",False +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 7, 1, 25, 4]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28]])",False +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7, 1, 25, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])","tensor([[ 2, 1, 10]])","tensor([[ 2, 1, 10]])",True +"tensor([[25, 1, 20, 1, 13, 0]])","tensor([[23, 1, 20, 1, 10]])","tensor([[24, 1, 20, 1, 11]])",False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4]])","tensor([[21, 1, 20, 1, 19, 0, 29, 30]])",False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 10]])","tensor([[ 2, 1, 10]])",True +"tensor([[21, 1, 20, 1, 11, 0]])","tensor([[21, 1, 20, 1, 13]])","tensor([[21, 1, 20, 1, 19]])",False +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 11, 4]])","tensor([[24, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3]])",False +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 13, 8, 10]])","tensor([[ 2, 1, 13, 8, 10]])",True +"tensor([[23, 1, 20, 1, 13, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4]])","tensor([[29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 12, 4]])",False +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4, + 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 11, 8, 10]])","tensor([[ 2, 1, 11, 8, 10]])",True +"tensor([[23, 1, 20, 1, 10, 0]])","tensor([[23, 1, 20, 1, 23, 1, 7, 1, 23]])","tensor([[25, 1, 20, 1, 14, 0, 22, 1, 20]])",False +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4]])","tensor([[29, 30, 26, 27, 31, 3, 23, 1]])",False +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 10]])","tensor([[ 2, 1, 10]])",True +"tensor([[21, 1, 20, 1, 17, 0]])","tensor([[24, 1, 20, 1, 12]])","tensor([[22, 1, 20, 1, 21]])",False +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 4]])","tensor([[22, 1, 20, 1, 10, 0, 21, 1]])",False +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 17]])","tensor([[ 2, 1, 17]])",True +"tensor([[23, 1, 20, 1, 13, 0]])","tensor([[21, 1, 20, 1, 10]])","tensor([[25, 1, 20, 1, 23]])",False +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 1, 7, 1, 14, 4]])","tensor([[29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 21, 4]])",False +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 14, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 14, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 7, 11]])","tensor([[ 2, 1, 7, 11]])",True +"tensor([[25, 1, 20, 1, 19, 0]])","tensor([[21, 1, 20, 1, 15]])","tensor([[25, 1, 20, 1, 16]])",False +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 4]])","tensor([[22, 1, 20, 1, 13, 1, 6, 1]])",False +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 19]])","tensor([[ 2, 1, 19]])",True +"tensor([[24, 1, 20, 1, 13, 0]])","tensor([[22, 1, 20, 1, 14]])","tensor([[24, 1, 20, 1, 12]])",False +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0]])","tensor([[24, 1, 20, 1, 14, 1, 9, 1, 13]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1, 5]])",False +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22, 4]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1, 6, 1, 22, 4]])",False +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 11, 16]])","tensor([[ 2, 1, 11, 16]])",True +"tensor([[23, 1, 20, 1, 15, 0]])","tensor([[24, 1, 20, 1, 15]])","tensor([[29, 30, 26, 27, 31]])",False +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0]])","tensor([[24, 1, 20, 1, 23, 1, 7, 1, 14]])","tensor([[23, 1, 20, 1, 14, 0, 23, 1, 20]])",False +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 4]])","tensor([[29, 30, 26, 27, 31, 3, 23, 1]])",False +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])","tensor([[ 2, 1, 11]])","tensor([[ 2, 1, 11]])",True +"tensor([[25, 1, 20, 1, 16, 0]])","tensor([[22, 1, 20, 1, 13]])","tensor([[24, 1, 20, 1, 19]])",False +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0]])","tensor([[25, 1, 20, 1, 25, 1, 7, 1, 16]])","tensor([[25, 1, 20, 1, 18, 0, 25, 1, 20]])",False +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 4]])","tensor([[29, 30, 26, 27, 31, 3, 25, 4]])",True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])","tensor([[ 2, 1, 10]])","tensor([[ 2, 1, 10]])",True +"tensor([[24, 1, 20, 1, 14, 0]])","tensor([[23, 1, 20, 1, 16]])","tensor([[21, 1, 20, 1, 16]])",False +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 1, 6, 1, 23, 4]])","tensor([[29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28]])",False +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 23, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 11, 10]])","tensor([[ 2, 1, 11, 10]])",True +"tensor([[22, 1, 20, 1, 18, 0]])","tensor([[21, 1, 20, 1, 19]])","tensor([[25, 1, 20, 1, 18]])",False +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0]])","tensor([[25, 1, 20, 1, 15, 1, 9, 1, 12]])","tensor([[23, 1, 20, 1, 11, 0, 25, 1, 20]])",False +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21, 4]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1, 7, 1, 21, 4]])",False +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 17, 12]])","tensor([[ 2, 1, 17, 12]])",True +"tensor([[25, 1, 20, 1, 14, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 4]])","tensor([[25, 1, 20, 1, 16, 0, 22, 1]])",False +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 14]])","tensor([[ 2, 1, 14]])",True +"tensor([[22, 1, 20, 1, 12, 0]])","tensor([[23, 1, 20, 1, 13]])","tensor([[21, 1, 20, 1, 10]])",False +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 22, 4]])","tensor([[21, 1, 20, 1, 17, 0, 22, 1, 20, 1, 23, 1]])",False +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 11, 8, 10]])","tensor([[ 2, 1, 11, 8, 10]])",True +"tensor([[24, 1, 20, 1, 18, 0]])","tensor([[24, 1, 20, 1, 10]])","tensor([[21, 1, 20, 1, 18]])",False +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0]])","tensor([[23, 1, 20, 1, 17, 1, 7, 1, 11]])","tensor([[21, 1, 20, 1, 19, 1, 9, 1, 24]])",False +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4]])",True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])","tensor([[ 2, 1, 16]])","tensor([[ 2, 1, 16]])",True +"tensor([[25, 1, 20, 1, 19, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4]])","tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3]])",False +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 18, 11]])","tensor([[ 2, 1, 18, 11]])",True +"tensor([[25, 1, 20, 1, 11, 0]])","tensor([[21, 1, 20, 1, 16]])","tensor([[21, 1, 20, 1, 19]])",False +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 16, 4]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 18, 4]])",False +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 11, 8, 10]])","tensor([[ 2, 1, 11, 8, 10]])",True +"tensor([[24, 1, 20, 1, 15, 0]])","tensor([[24, 1, 20, 1, 19]])","tensor([[24, 1, 20, 1, 18]])",False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0]])","tensor([[25, 1, 20, 1, 10, 1, 7, 1, 24]])","tensor([[22, 1, 20, 1, 24, 1, 5, 1, 24]])",False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4]])","tensor([[29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28]])",False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 18, 11]])","tensor([[ 2, 1, 18, 11]])",True +"tensor([[24, 1, 20, 1, 15, 0]])","tensor([[24, 1, 20, 1, 24, 1, 5, 1, 24]])","tensor([[24, 1, 20, 1, 11, 0, 22, 1, 20]])",False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 4]])","tensor([[29, 30, 26, 27, 31, 3, 24, 4]])",True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 12, 15]])","tensor([[ 2, 1, 12, 15]])",True +"tensor([[22, 1, 20, 1, 17, 0]])","tensor([[21, 1, 20, 1, 12]])","tensor([[21, 1, 20, 1, 13]])",False +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 4]])","tensor([[24, 1, 20, 1, 10, 0, 22, 1]])",False +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 12]])","tensor([[ 2, 1, 12]])",True +"tensor([[22, 1, 20, 1, 13, 0]])","tensor([[25, 1, 20, 1, 11]])","tensor([[21, 1, 20, 1, 22]])",False +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0]])","tensor([[25, 1, 20, 1, 19, 1, 6, 1, 25]])","tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26]])",False +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 4]])","tensor([[29, 30, 26, 27, 31, 3, 25, 4]])",True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])","tensor([[ 2, 1, 11, 10]])","tensor([[ 2, 1, 11, 10]])",True +"tensor([[25, 1, 20, 1, 19, 0]])","tensor([[25, 1, 20, 1, 17, 1, 5, 1, 25]])","tensor([[21, 1, 20, 1, 14, 0, 23, 1, 20]])",False +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 17, 4]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 14, 4]])",False +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 17, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 17, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])","tensor([[ 2, 1, 17, 10]])","tensor([[ 2, 1, 16, 13]])",False +"tensor([[25, 1, 20, 1, 13, 0]])","tensor([[23, 1, 20, 1, 12]])","tensor([[29, 30, 26, 27, 31]])",False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0]])","tensor([[24, 1, 20, 1, 11, 1, 6, 1, 15]])","tensor([[24, 1, 20, 1, 13, 0, 25, 1, 20]])",False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4]])","tensor([[29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28]])",False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 14]])","tensor([[ 2, 1, 14]])",True +"tensor([[24, 1, 20, 1, 19, 0]])","tensor([[22, 1, 20, 1, 15]])","tensor([[29, 30, 26, 27, 31]])",False +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 4]])","tensor([[24, 1, 20, 1, 24, 1, 7, 1]])",False +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 19]])","tensor([[ 2, 1, 19]])",True +"tensor([[24, 1, 20, 1, 16, 0]])","tensor([[25, 1, 20, 1, 16]])","tensor([[21, 1, 20, 1, 16]])",False +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 4]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1]])",False +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 16]])","tensor([[ 2, 1, 16]])",True +"tensor([[25, 1, 20, 1, 16, 0]])","tensor([[25, 1, 20, 1, 17]])","tensor([[25, 1, 20, 1, 14]])",False +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 4]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1]])",False +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 17]])","tensor([[ 2, 1, 17]])",True +"tensor([[22, 1, 20, 1, 19, 0]])","tensor([[21, 1, 20, 1, 12]])","tensor([[24, 1, 20, 1, 13]])",False +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0]])","tensor([[22, 1, 20, 1, 21, 1, 7, 1, 19]])","tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26]])",False +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14, 4]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 18, 4]])",False +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 7, 12]])","tensor([[ 2, 1, 7, 12]])",True +"tensor([[25, 1, 20, 1, 12, 0]])","tensor([[23, 1, 20, 1, 13]])","tensor([[24, 1, 20, 1, 15]])",False +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4]])","tensor([[21, 1, 20, 1, 13, 0, 24, 1]])",False +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 13]])","tensor([[ 2, 1, 13]])",True +"tensor([[22, 1, 20, 1, 14, 0]])","tensor([[22, 1, 20, 1, 13, 1, 7, 1, 22]])","tensor([[21, 1, 20, 1, 19, 1, 7, 1, 22]])",False +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0]])","tensor([[29, 30, 26, 27, 31, 3, 22, 4]])","tensor([[29, 30, 26, 27, 31, 3, 22, 1]])",False +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 7, 11]])","tensor([[ 2, 1, 7, 11]])",True +"tensor([[24, 1, 20, 1, 10, 0]])","tensor([[24, 1, 20, 1, 17]])","tensor([[21, 1, 20, 1, 13]])",False +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 1, 6, 1, 13, 4]])","tensor([[29, 30, 26, 27, 31, 3, 24, 1, 6, 1, 12, 4]])",False +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 13, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 13, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 11, 10]])","tensor([[ 2, 1, 11, 10]])",True +"tensor([[24, 1, 20, 1, 19, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 19, 4]])","tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0]])",False +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 19, 4, + 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 19, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 10]])","tensor([[ 2, 1, 10]])",True +"tensor([[23, 1, 20, 1, 14, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4]])","tensor([[23, 1, 20, 1, 11, 0, 29, 30]])",False +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 14]])","tensor([[ 2, 1, 14]])",True +"tensor([[23, 1, 20, 1, 13, 0]])","tensor([[25, 1, 20, 1, 12]])","tensor([[23, 1, 20, 1, 18]])",False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4]])","tensor([[21, 1, 20, 1, 10, 0, 25, 1]])",False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 13]])","tensor([[ 2, 1, 13]])",True +"tensor([[25, 1, 20, 1, 16, 0]])","tensor([[23, 1, 20, 1, 14]])","tensor([[22, 1, 20, 1, 12]])",False +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 19, 4]])","tensor([[24, 1, 20, 1, 17, 1, 7, 1, 18, 0, 29, 30]])",False +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 10, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16]])","tensor([[ 2, 1, 10, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16]])",True +"tensor([[21, 1, 20, 1, 14, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 4]])","tensor([[22, 1, 20, 1, 11, 0, 25, 1]])",False +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 14]])","tensor([[ 2, 1, 14]])",True +"tensor([[23, 1, 20, 1, 18, 0]])","tensor([[23, 1, 20, 1, 10]])","tensor([[23, 1, 20, 1, 25]])",False +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0]])","tensor([[22, 1, 20, 1, 19, 1, 5, 1, 23]])","tensor([[25, 1, 20, 1, 15, 0, 23, 1, 20]])",False +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0]])","tensor([[29, 30, 26, 27, 31, 3, 22, 4]])","tensor([[29, 30, 26, 27, 31, 3, 22, 4]])",True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])","tensor([[ 2, 1, 10]])","tensor([[ 2, 1, 10]])",True +"tensor([[21, 1, 20, 1, 18, 0]])","tensor([[21, 1, 20, 1, 19]])","tensor([[23, 1, 20, 1, 18]])",False +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 4]])","tensor([[22, 1, 20, 1, 21, 1, 5, 1]])",False +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 19]])","tensor([[ 2, 1, 19]])",True +"tensor([[21, 1, 20, 1, 10, 0]])","tensor([[25, 1, 20, 1, 21, 1, 6, 1, 21]])","tensor([[24, 1, 20, 1, 12, 0, 25, 1, 20]])",False +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 6, 1, 21, 4]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 6, 1, 15, 4]])",False +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])","tensor([[ 2, 1, 10]])","tensor([[ 2, 1, 10]])",True +"tensor([[21, 1, 20, 1, 17, 0]])","tensor([[25, 1, 20, 1, 16]])","tensor([[22, 1, 20, 1, 14]])",False +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 6, 1, 21, 4]])","tensor([[23, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30]])",False +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 21, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 11, 14]])","tensor([[ 2, 1, 11, 14]])",True +"tensor([[22, 1, 20, 1, 18, 0]])","tensor([[25, 1, 20, 1, 22, 1, 6, 1, 22]])","tensor([[22, 1, 20, 1, 19, 1, 6, 1, 15]])",False +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 4]])","tensor([[29, 30, 26, 27, 31, 3, 25, 4]])",True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 25, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])","tensor([[ 2, 1, 11, 16]])","tensor([[ 2, 1, 11, 16]])",True +"tensor([[21, 1, 20, 1, 13, 0]])","tensor([[25, 1, 20, 1, 19]])","tensor([[23, 1, 20, 1, 21]])",False +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0]])","tensor([[22, 1, 20, 1, 25, 1, 7, 1, 21]])","tensor([[29, 30, 26, 27, 31, 3, 21, 1, 6]])",False +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0]])","tensor([[29, 30, 26, 27, 31, 3, 22, 4]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1]])",False +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])","tensor([[ 2, 1, 16]])","tensor([[ 2, 1, 16]])",True +"tensor([[25, 1, 20, 1, 14, 0]])","tensor([[25, 1, 20, 1, 14, 1, 5, 1, 25]])","tensor([[23, 1, 20, 1, 10, 0, 21, 1, 20]])",False +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 18, 4]])","tensor([[29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4]])",False +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])","tensor([[ 2, 1, 12, 8, 10]])","tensor([[ 2, 1, 11, 8, 15]])",False +"tensor([[24, 1, 20, 1, 17, 0]])","tensor([[23, 1, 20, 1, 12, 1, 6, 1, 18]])","tensor([[24, 1, 20, 1, 12, 0, 22, 1, 20]])",False +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0]])","tensor([[29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 11, 4]])","tensor([[29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28]])",False +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 11, 4, 0]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])","tensor([[ 2, 1, 28, 32, 31, 29, 32, 31]])",True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 11, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])","tensor([[ 2, 1, 17]])","tensor([[ 2, 1, 17]])",True diff --git a/results/arithmetics_level1_696K_results.csv b/results/arithmetics_level1_696K_results.csv new file mode 100644 index 0000000..f25c674 --- /dev/null +++ b/results/arithmetics_level1_696K_results.csv @@ -0,0 +1,410 @@ +Prompt,Real_Results,Generated_Results +"c = 3 +e = 9 +e = 0 * c +print(e) +# output",[0.0],[0.0] +"e = 2 +a = 6 +c = a / 4 +print(c) +# output",[1.5],[1.5] +"e = 6 +c = 3 / e +print(c) +# output",[0.5],[0.5] +"e = 8 +a = 3 +print(e / a) +# output",[2.6666666666666665],[2.6666666666666665] +"a = 8 +e = a + 1 +print(a / a) +# output",[1.0],[1.0] +"e = 6 +a = 7 +d = a - 1 +print(d) +# output",[6.0],[6.0] +"d = 9 +print(d * d) +# output",[81.0],[81.0] +"c = 4 +print(c + 3) +# output",[7.0],[7.0] +"d = 7 +print(d / d) +# output",[1.0],[1.0] +"d = 5 +a = 0 +print(a + d) +# output",[5.0],[5.0] +"a = 6 +b = 0 +a = 3 - 3 +print(b / 9) +# output",[0.0],[0.0] +"a = 0 +a = 0 +print(a) +# output",[0.0],[0.0] +"c = 3 +e = 7 +print(c * c) +# output",[9.0],[9.0] +"a = 2 +e = 0 / 8 +print(a * a) +# output",[4.0],[4.0] +"e = 9 +a = 9 +print(a * e) +# output",[81.0],[81.0] +"d = 8 +e = 4 +print(e + d) +# output",[12.0],[12.0] +"a = 2 +c = a - 6 +print(a / a) +# output",[1.0],[1.0] +"a = 6 +b = 7 +d = a - 0 +print(d) +# output",[6.0],[6.0] +"b = 7 +e = 2 +b = 0 * 7 +print(b) +# output",[0.0],[0.0] +"c = 9 +e = 4 +print(c - 5) +# output",[4.0],[4.0] +"d = 4 +d = 7 * 4 +print(d * d) +# output",[784.0],[196.0] +"a = 4 +print(a / a) +# output",[1.0],[1.0] +"e = 3 +b = 4 +a = e - 6 +print(a) +# output",[-3.0],[-3.0] +"d = 5 +d = 9 - 7 +print(d) +# output",[2.0],[2.0] +"b = 7 +b = 3 / b +print(b) +# output",[0.42857142857142855],[0.42857142857142855] +"a = 9 +b = a + a +print(a / a) +# output",[1.0],[1.0] +"a = 0 +d = a * 9 +print(d) +# output",[0.0],[0.0] +"e = 1 +c = e + e +print(c) +# output",[2.0],[2.0] +"e = 3 +c = e + 2 +print(e + e) +# output",[6.0],[6.0] +"a = 4 +e = 0 * 7 +print(a + 2) +# output",[6.0],[6.0] +"b = 6 +b = 5 +b = b - b +print(b / 3) +# output",[0.0],[0.0] +"b = 0 +d = 9 * 1 +print(d) +# output",[9.0],[9.0] +"a = 4 +a = 2 +print(a) +# output",[2.0],[2.0] +"e = 9 +b = 3 +print(b) +# output",[3.0],[3.0] +"d = 6 +c = 4 + 1 +print(d + 2) +# output",[8.0],[8.0] +"d = 8 +c = d - 6 +print(c) +# output",[2.0],[2.0] +"a = 9 +d = 1 +print(a * d) +# output",[9.0],[9.0] +"c = 4 +a = 4 +print(a) +# output",[4.0],[4.0] +"b = 5 +a = 1 +b = a - a +print(b) +# output",[0.0],[0.0] +"d = 2 +c = 1 +print(d) +# output",[2.0],[2.0] +"e = 3 +b = 5 +print(b * 9) +# output",[45.0],[45.0] +"e = 9 +d = 5 +d = e * d +print(e / d) +# output",[0.2],[0.9] +"c = 5 +print(c * c) +# output",[25.0],[25.0] +"e = 2 +c = 8 / e +print(e * 9) +# output",[18.0],[18.0] +"c = 0 +c = 6 - 8 +print(c) +# output",[-2.0],[-2.0] +"e = 7 +a = 2 +d = 5 * 7 +print(a * 7) +# output",[14.0],[14.0] +"e = 1 +print(e * e) +# output",[1.0],[1.0] +"d = 6 +b = d * d +print(b) +# output",[36.0],[36.0] +"e = 8 +b = e / 5 +print(e / 2) +# output",[4.0],[4.0] +"d = 6 +c = 3 +a = 9 + d +print(a) +# output",[15.0],[15.0] +"d = 4 +a = 8 +print(a * a) +# output",[64.0],[64.0] +"e = 6 +print(e + e) +# output",[12.0],[12.0] +"b = 3 +a = 3 +print(a) +# output",[3.0],[3.0] +"b = 9 +b = 9 +print(b - 5) +# output",[4.0],[4.0] +"a = 8 +print(a) +# output",[8.0],[8.0] +"b = 2 +e = 2 +print(e) +# output",[2.0],[2.0] +"e = 1 +c = e / 7 +print(e - e) +# output",[0.0],[0.0] +"e = 3 +c = 0 +print(c) +# output",[0.0],[0.0] +"a = 1 +a = 3 +print(a / 1) +# output",[3.0],[3.0] +"c = 3 +print(c / c) +# output",[1.0],[1.0] +"c = 0 +c = c - c +print(c) +# output",[0.0],[0.0] +"a = 7 +d = 2 +print(a) +# output",[7.0],[7.0] +"c = 3 +a = 0 +print(c - 4) +# output",[-1.0],[-1.0] +"e = 9 +a = 5 +print(e) +# output",[9.0],[9.0] +"d = 3 +b = 4 +d = 4 / 3 +print(b * b) +# output",[16.0],[16.0] +"c = 5 +d = 5 +d = c - 4 +print(d) +# output",[1.0],[1.0] +"e = 6 +b = 3 +e = e - 6 +print(e) +# output",[0.0],[0.0] +"d = 4 +c = 6 +print(d + c) +# output",[10.0],[10.0] +"b = 8 +a = 9 +e = 5 / 2 +print(b * a) +# output",[72.0],[72.0] +"e = 4 +print(e) +# output",[4.0],[4.0] +"b = 2 +c = 3 +print(b / b) +# output",[1.0],[1.0] +"d = 8 +d = 0 +c = 7 - 1 +print(c) +# output",[6.0],[6.0] +"e = 9 +print(e * e) +# output",[81.0],[81.0] +"e = 1 +a = 6 +print(a / 6) +# output",[1.0],[1.0] +"d = 5 +d = 9 +e = 0 - d +print(d * d) +# output",[81.0],[81.0] +"d = 5 +d = d * d +print(d) +# output",[25.0],[25.0] +"b = 7 +a = 2 +print(a) +# output",[2.0],[2.0] +"b = 3 +e = 1 +e = 9 + e +print(e) +# output",[10.0],[10.0] +"e = 9 +e = 7 * e +print(e + 7) +# output",[70.0],[63.0] +"e = 3 +c = 2 +d = 1 + 5 +print(c * c) +# output",[4.0],[4.0] +"d = 9 +b = 5 +print(d) +# output",[9.0],[9.0] +"d = 6 +e = 6 +print(e) +# output",[6.0],[6.0] +"e = 6 +e = 7 +print(e) +# output",[7.0],[7.0] +"b = 9 +a = 2 +b = a - 9 +print(a - 4) +# output",[-2.0],[-2.0] +"e = 2 +c = 3 +print(c) +# output",[3.0],[3.0] +"b = 4 +b = 3 - b +print(b) +# output",[-1.0],[0.0] +"d = 0 +d = 7 +print(d + 3) +# output",[10.0],[10.0] +"d = 9 +print(d - 9) +# output",[0.0],[0.0] +"c = 4 +print(c) +# output",[4.0],[4.0] +"c = 3 +e = 2 +print(c) +# output",[3.0],[3.0] +"e = 6 +c = 4 +print(e / 9) +# output",[0.6666666666666666],[0.6666666666666666] +"a = 4 +print(a) +# output",[4.0],[4.0] +"c = 8 +c = 0 +b = 9 * c +print(b) +# output",[0.0],[0.0] +"a = 8 +a = 9 +print(a) +# output",[9.0],[9.0] +"a = 0 +e = a + a +print(a + a) +# output",[0.0],[0.0] +"a = 7 +e = 6 +print(a + a) +# output",[14.0],[14.0] +"b = 8 +e = b + b +print(e) +# output",[16.0],[16.0] +"a = 3 +e = 9 +b = e - a +print(b) +# output",[6.0],[6.0] +"e = 4 +e = 4 * e +print(e / 8) +# output",[2.0],[2.0] +"d = 7 +c = 2 + 8 +print(d * 1) +# output",[7.0],[7.0] diff --git a/results/arithmetics_level1_696K_token-level_code_completion.csv b/results/arithmetics_level1_696K_token-level_code_completion.csv new file mode 100644 index 0000000..54d7074 --- /dev/null +++ b/results/arithmetics_level1_696K_token-level_code_completion.csv @@ -0,0 +1,6096 @@ +context,actual_next_token,predicted_next_token,is_correct +tensor([[23]]),1,1,True +"tensor([[23, 1]])",20,20,True +"tensor([[23, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1]])",13,11,False +"tensor([[23, 1, 20, 1, 13]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0]])",25,23,False +"tensor([[23, 1, 20, 1, 13, 0, 25]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1]])",20,20,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1]])",19,13,False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0]])",25,29,False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1]])",20,20,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1]])",10,12,False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10]])",1,0,False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1]])",5,6,False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1]])",23,25,False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0]])",29,29,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29]])",30,30,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30]])",26,26,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26]])",27,27,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3]])",25,25,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 25]])",4,4,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 25, 4]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1]])",28,28,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29]])",32,32,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1]])",10,10,True +tensor([[25]]),1,4,False +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",12,10,False +"tensor([[25, 1, 20, 1, 12]])",0,0,True +"tensor([[25, 1, 20, 1, 12, 0]])",21,25,False +"tensor([[25, 1, 20, 1, 12, 0, 21]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1]])",16,19,False +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16]])",0,0,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0]])",23,29,False +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1]])",21,14,False +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1]])",9,9,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1]])",14,21,False +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14]])",0,0,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3]])",23,23,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23]])",4,4,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, + 29]])",32,32,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, + 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1]])",11,11,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1, 11]])",8,8,True +"tensor([[25, 1, 20, 1, 12, 0, 21, 1, 20, 1, 16, 0, 23, 1, 20, 1, 21, 1, + 9, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1, 11, 8]])",15,15,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",16,18,False +"tensor([[25, 1, 20, 1, 16]])",0,1,False +"tensor([[25, 1, 20, 1, 16, 0]])",23,22,False +"tensor([[25, 1, 20, 1, 16, 0, 23]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1]])",13,16,False +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13]])",1,0,False +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1]])",9,6,False +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1]])",25,14,False +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26]])",27,27,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3]])",23,23,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23]])",4,4,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",10,10,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10]])",8,8,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8]])",15,15,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,6,False +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",18,10,False +"tensor([[25, 1, 20, 1, 18]])",0,0,True +"tensor([[25, 1, 20, 1, 18, 0]])",21,24,False +"tensor([[25, 1, 20, 1, 18, 0, 21]])",1,1,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1]])",13,25,False +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13]])",0,0,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3]])",25,21,False +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25]])",1,1,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1]])",9,9,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9]])",1,1,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1]])",21,17,False +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21]])",4,4,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",12,12,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12]])",8,8,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12, 8]])",16,16,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12, 8, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12, 8, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12, 8, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12, 8, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12, 8, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12, 8, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12, 8, 16, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12, 8, 16, 16, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 18, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]])",15,15,True +tensor([[21]]),1,1,True +"tensor([[21, 1]])",20,20,True +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",18,18,True +"tensor([[21, 1, 20, 1, 18]])",0,0,True +"tensor([[21, 1, 20, 1, 18, 0]])",25,24,False +"tensor([[21, 1, 20, 1, 18, 0, 25]])",1,1,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1]])",21,19,False +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1]])",6,6,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6]])",1,1,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1]])",11,16,False +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11]])",0,0,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0]])",29,29,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26]])",27,27,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3]])",21,21,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1]])",9,5,False +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9]])",1,1,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1]])",21,19,False +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21]])",4,4,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31]])",0,0,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1]])",11,11,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1, 11]])",8,8,True +"tensor([[21, 1, 20, 1, 18, 0, 25, 1, 20, 1, 21, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1, 11, 8]])",10,10,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,6,False +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",16,16,True +"tensor([[25, 1, 20, 1, 16]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0]])",21,29,False +"tensor([[25, 1, 20, 1, 16, 0, 21]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1]])",17,25,False +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0]])",24,25,False +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1]])",21,11,False +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1]])",7,5,False +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1]])",11,25,False +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3]])",24,24,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 24]])",4,4,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 24, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29]])",32,32,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1]])",16,16,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,20,True +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",19,19,True +"tensor([[24, 1, 20, 1, 19]])",0,0,True +"tensor([[24, 1, 20, 1, 19, 0]])",29,29,True +"tensor([[24, 1, 20, 1, 19, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26]])",27,27,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3]])",24,24,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24]])",1,1,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1]])",5,5,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5]])",1,1,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1]])",24,11,False +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24]])",4,4,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, + 0]])",2,2,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, + 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, + 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, + 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, + 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, + 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, + 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, + 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",18,18,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 18]])",11,11,True +tensor([[23]]),1,1,True +"tensor([[23, 1]])",20,5,False +"tensor([[23, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1]])",14,14,True +"tensor([[23, 1, 20, 1, 14]])",0,0,True +"tensor([[23, 1, 20, 1, 14, 0]])",29,24,False +"tensor([[23, 1, 20, 1, 14, 0, 29]])",30,30,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30]])",26,26,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26]])",27,27,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3]])",23,23,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23]])",1,1,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1]])",6,7,False +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6]])",1,1,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6, 1]])",13,23,False +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 13]])",4,4,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 13, 4]])",0,0,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 13, 4, + 0]])",2,2,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 13, 4, + 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 13, 4, + 0, 2, 1]])",28,28,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 13, 4, + 0, 2, 1, 28]])",32,32,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 13, 4, + 0, 2, 1, 28, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 13, 4, + 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 13, 4, + 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 13, 4, + 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 13, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 13, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 13, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 1, 6, 1, 13, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",17,17,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,20,True +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",17,17,True +"tensor([[24, 1, 20, 1, 17]])",0,0,True +"tensor([[24, 1, 20, 1, 17, 0]])",29,25,False +"tensor([[24, 1, 20, 1, 17, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26]])",27,27,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3]])",24,24,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24]])",1,1,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1]])",9,5,False +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9]])",1,1,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1]])",24,24,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24]])",4,4,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4, + 0]])",2,2,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4, + 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4, + 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4, + 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4, + 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4, + 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4, + 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4, + 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",11,11,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 11]])",8,8,True +"tensor([[24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, 24, 1, 9, 1, 24, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 11, 8]])",10,10,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,7,False +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",15,19,False +"tensor([[24, 1, 20, 1, 15]])",0,1,False +"tensor([[24, 1, 20, 1, 15, 0]])",21,22,False +"tensor([[24, 1, 20, 1, 15, 0, 21]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1]])",10,24,False +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10]])",0,1,False +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0]])",29,25,False +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26]])",27,27,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3]])",21,24,False +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1]])",6,6,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1]])",24,21,False +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 24]])",4,4,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 24, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 24, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 24, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 24, 4, 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 24, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",15,15,True +tensor([[21]]),1,1,True +"tensor([[21, 1]])",20,5,False +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",16,17,False +"tensor([[21, 1, 20, 1, 16]])",0,0,True +"tensor([[21, 1, 20, 1, 16, 0]])",22,25,False +"tensor([[21, 1, 20, 1, 16, 0, 22]])",1,1,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1]])",10,21,False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10]])",0,0,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0]])",21,25,False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1]])",13,17,False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13]])",1,0,False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1]])",7,6,False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7]])",1,1,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1]])",13,25,False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13]])",0,0,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0]])",29,29,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26]])",27,27,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3]])",22,21,False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22]])",1,1,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1]])",9,5,False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9]])",1,1,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1]])",19,12,False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19]])",4,4,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4, 0, 2, + 1]])",28,28,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4, 0, 2, + 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4, 0, 2, + 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4, 0, 2, + 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4, 0, 2, + 1, 28, 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4, 0, 2, + 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",10,10,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 10]])",8,8,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 10, 0, 21, 1, 20, 1, 13, 1, + 7, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 19, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 10, 8]])",10,10,True +tensor([[21]]),1,4,False +"tensor([[21, 1]])",20,9,False +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",10,18,False +"tensor([[21, 1, 20, 1, 10]])",0,0,True +"tensor([[21, 1, 20, 1, 10, 0]])",21,21,True +"tensor([[21, 1, 20, 1, 10, 0, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1]])",10,10,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10]])",0,0,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0]])",29,24,False +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26]])",27,27,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3]])",21,22,False +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21]])",4,1,False +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",10,10,True +tensor([[23]]),1,1,True +"tensor([[23, 1]])",20,20,True +"tensor([[23, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1]])",13,16,False +"tensor([[23, 1, 20, 1, 13]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0]])",25,21,False +"tensor([[23, 1, 20, 1, 13, 0, 25]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1]])",20,20,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1]])",17,23,False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17]])",0,1,False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0]])",29,21,False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29]])",30,30,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30]])",26,26,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26]])",27,27,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3]])",23,25,False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1]])",5,9,False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5, 1]])",23,19,False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5, 1, 23]])",4,4,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5, 1, 23, 4]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5, 1, 23, 4, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5, 1, 23, 4, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5, 1, 23, 4, 0, 2, 1]])",28,28,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5, 1, 23, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5, 1, 23, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5, 1, 23, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5, 1, 23, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5, 1, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5, 1, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5, 1, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5, 1, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 5, 1, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",19,19,True +tensor([[21]]),1,1,True +"tensor([[21, 1]])",20,20,True +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",12,12,True +"tensor([[21, 1, 20, 1, 12]])",0,0,True +"tensor([[21, 1, 20, 1, 12, 0]])",25,24,False +"tensor([[21, 1, 20, 1, 12, 0, 25]])",1,1,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1]])",10,10,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10]])",1,0,False +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1]])",9,5,False +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9]])",1,1,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1]])",18,21,False +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18]])",0,0,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0]])",29,29,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26]])",27,27,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3]])",21,21,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1]])",5,7,False +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5]])",1,1,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5, 1]])",21,19,False +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5, 1, 21]])",4,4,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5, 1, 21, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5, 1, 21, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5, 1, 21, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5, 1, 21, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5, 1, 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31]])",0,0,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 12, 0, 25, 1, 20, 1, 10, 1, 9, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1]])",14,14,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,5,False +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",19,11,False +"tensor([[25, 1, 20, 1, 19]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0]])",21,29,False +"tensor([[25, 1, 20, 1, 19, 0, 21]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1]])",19,10,False +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19]])",0,1,False +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0]])",29,23,False +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3]])",21,21,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1]])",5,6,False +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1]])",25,12,False +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 25]])",4,4,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 25, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 25, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 25, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 25, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 25, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 25, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 25, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",18,18,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 18]])",11,11,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,20,True +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",18,23,False +"tensor([[24, 1, 20, 1, 18]])",0,0,True +"tensor([[24, 1, 20, 1, 18, 0]])",25,23,False +"tensor([[24, 1, 20, 1, 18, 0, 25]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1]])",14,17,False +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14]])",0,0,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0]])",29,29,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26]])",27,27,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3]])",25,22,False +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1]])",6,9,False +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1]])",24,25,False +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1, 24]])",4,4,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1, 24, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1, 24, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1, 24, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1, 24, 4, 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1, 24, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",11,11,True +"tensor([[24, 1, 20, 1, 18, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 6, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 11]])",12,12,True +tensor([[21]]),1,1,True +"tensor([[21, 1]])",20,9,False +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",12,17,False +"tensor([[21, 1, 20, 1, 12]])",0,0,True +"tensor([[21, 1, 20, 1, 12, 0]])",23,25,False +"tensor([[21, 1, 20, 1, 12, 0, 23]])",1,1,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1]])",21,19,False +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1]])",7,6,False +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7]])",1,1,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1]])",16,25,False +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16]])",0,0,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0]])",29,29,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26]])",27,27,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3]])",21,21,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1]])",9,7,False +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9]])",1,1,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1]])",21,15,False +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21]])",4,4,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31]])",0,0,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1]])",11,11,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1, 11]])",8,8,True +"tensor([[21, 1, 20, 1, 12, 0, 23, 1, 20, 1, 21, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1, 11, 8]])",10,10,True +tensor([[21]]),1,1,True +"tensor([[21, 1]])",20,20,True +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",16,15,False +"tensor([[21, 1, 20, 1, 16]])",0,0,True +"tensor([[21, 1, 20, 1, 16, 0]])",22,22,True +"tensor([[21, 1, 20, 1, 16, 0, 22]])",1,1,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1]])",17,12,False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17]])",0,0,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0]])",24,25,False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24]])",1,1,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1]])",21,18,False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1]])",7,7,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7]])",1,1,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1]])",10,17,False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10]])",0,0,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0]])",29,29,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26]])",27,27,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31, 3]])",24,22,False +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31, 3, 24]])",4,4,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31, 3, 24, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29]])",32,32,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31]])",0,0,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 16, 0, 22, 1, 20, 1, 17, 0, 24, 1, 20, 1, 21, 1, + 7, 1, 10, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1]])",16,16,True +tensor([[22]]),1,1,True +"tensor([[22, 1]])",20,20,True +"tensor([[22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1]])",17,13,False +"tensor([[22, 1, 20, 1, 17]])",0,0,True +"tensor([[22, 1, 20, 1, 17, 0]])",25,22,False +"tensor([[22, 1, 20, 1, 17, 0, 25]])",1,1,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1]])",12,10,False +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12]])",0,0,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0]])",22,21,False +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22]])",1,1,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1]])",10,19,False +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10]])",1,1,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1]])",5,6,False +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5]])",1,1,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1]])",17,25,False +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17]])",0,0,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0]])",29,29,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29]])",30,30,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30]])",26,26,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26]])",27,27,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3]])",22,25,False +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 22]])",4,4,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 22, 4]])",0,0,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1]])",28,28,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29]])",32,32,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31]])",0,0,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 17, 0, 25, 1, 20, 1, 12, 0, 22, 1, 20, 1, 10, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1]])",10,10,True +tensor([[23]]),1,1,True +"tensor([[23, 1]])",20,20,True +"tensor([[23, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1]])",19,17,False +"tensor([[23, 1, 20, 1, 19]])",0,1,False +"tensor([[23, 1, 20, 1, 19, 0]])",25,23,False +"tensor([[23, 1, 20, 1, 19, 0, 25]])",1,1,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1]])",20,20,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1]])",14,19,False +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14]])",0,0,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0]])",29,22,False +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29]])",30,30,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30]])",26,26,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26]])",27,27,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3]])",23,25,False +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23]])",1,1,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1]])",7,5,False +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7]])",1,1,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1]])",15,11,False +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 15]])",4,4,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 15, 4]])",0,0,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 15, 4, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 15, 4, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 15, 4, 0, 2, 1]])",28,28,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 15, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 19, 0, 25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",14,14,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,20,True +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",14,15,False +"tensor([[24, 1, 20, 1, 14]])",0,1,False +"tensor([[24, 1, 20, 1, 14, 0]])",24,21,False +"tensor([[24, 1, 20, 1, 14, 0, 24]])",1,1,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1]])",17,16,False +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17]])",1,1,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1]])",5,6,False +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5]])",1,1,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1]])",14,11,False +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14]])",0,0,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0]])",29,29,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26]])",27,27,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3]])",24,24,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24]])",1,4,False +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1]])",5,7,False +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5]])",1,1,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1]])",24,24,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24]])",4,4,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31]])",0,0,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1]])",17,14,False +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1, 17]])",18,18,True +"tensor([[24, 1, 20, 1, 14, 0, 24, 1, 20, 1, 17, 1, 5, 1, 14, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1, 17, 18]])",14,14,True +tensor([[21]]),1,1,True +"tensor([[21, 1]])",20,20,True +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",14,19,False +"tensor([[21, 1, 20, 1, 14]])",0,0,True +"tensor([[21, 1, 20, 1, 14, 0]])",29,21,False +"tensor([[21, 1, 20, 1, 14, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26]])",27,27,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3]])",21,21,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1]])",9,9,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9]])",1,1,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1]])",21,16,False +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21]])",4,4,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, + 0]])",2,2,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, + 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, + 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, + 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, + 0, 2, 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, + 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, + 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, + 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",11,11,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 11]])",8,8,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 11, 8]])",10,10,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",13,15,False +"tensor([[25, 1, 20, 1, 13]])",0,1,False +"tensor([[25, 1, 20, 1, 13, 0]])",22,29,False +"tensor([[25, 1, 20, 1, 13, 0, 22]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1]])",14,14,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14]])",0,1,False +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0]])",21,29,False +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1]])",25,11,False +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1]])",7,9,False +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1]])",16,22,False +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16]])",0,0,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3]])",21,25,False +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 21]])",4,4,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 21, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31, + 29]])",32,32,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31, + 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1]])",7,7,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 21, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1, 7]])",13,13,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,20,True +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",15,10,False +"tensor([[24, 1, 20, 1, 15]])",0,0,True +"tensor([[24, 1, 20, 1, 15, 0]])",24,29,False +"tensor([[24, 1, 20, 1, 15, 0, 24]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1]])",19,18,False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19]])",1,0,False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1]])",7,5,False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1]])",17,22,False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17]])",0,0,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0]])",29,29,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26]])",27,27,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31, 3]])",24,24,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 24]])",4,1,False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 24, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 1, 7, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",12,14,False +tensor([[22]]),1,1,True +"tensor([[22, 1]])",20,20,True +"tensor([[22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1]])",17,12,False +"tensor([[22, 1, 20, 1, 17]])",0,0,True +"tensor([[22, 1, 20, 1, 17, 0]])",22,22,True +"tensor([[22, 1, 20, 1, 17, 0, 22]])",1,1,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1]])",13,22,False +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13]])",1,0,False +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1]])",9,6,False +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9]])",1,1,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1]])",22,22,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22]])",0,0,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0]])",29,29,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29]])",30,30,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30]])",26,26,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26]])",27,27,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3]])",22,22,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22]])",4,1,False +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4]])",0,0,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1]])",28,28,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",10,10,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10]])",8,8,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8]])",14,14,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 14]])",12,12,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 14, 12]])",18,18,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 14, 12, 18]])",15,15,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 14, 12, 18, 15]])",17,17,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 14, 12, 18, 15, 17]])",11,11,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 14, 12, 18, 15, 17, 11]])",14,14,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 14, 12, 18, 15, 17, 11, 14]])",12,12,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 14, 12, 18, 15, 17, 11, 14, 12]])",18,18,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 14, 12, 18, 15, 17, 11, 14, 12, 18]])",15,15,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 14, 12, 18, 15, 17, 11, 14, 12, 18, 15]])",17,17,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 14, 12, 18, 15, 17, 11, 14, 12, 18, 15, 17]])",11,11,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 14, 12, 18, 15, 17, 11, 14, 12, 18, 15, 17, 11]])",14,14,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 14, 12, 18, 15, 17, 11, 14, 12, 18, 15, 17, 11, 14]])",12,12,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 14, 12, 18, 15, 17, 11, 14, 12, 18, 15, 17, 11, 14, 12]])",18,18,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 14, 12, 18, 15, 17, 11, 14, 12, 18, 15, 17, 11, 14, 12, 18]])",15,15,True +"tensor([[22, 1, 20, 1, 17, 0, 22, 1, 20, 1, 13, 1, 9, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 14, 12, 18, 15, 17, 11, 14, 12, 18, 15, 17, 11, 14, 12, 18, 15]])",15,15,True +tensor([[21]]),1,0,False +"tensor([[21, 1]])",20,7,False +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",19,18,False +"tensor([[21, 1, 20, 1, 19]])",0,0,True +"tensor([[21, 1, 20, 1, 19, 0]])",22,24,False +"tensor([[21, 1, 20, 1, 19, 0, 22]])",1,1,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1]])",21,15,False +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1]])",6,6,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6]])",1,1,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1]])",21,21,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21]])",0,0,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0]])",29,29,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26]])",27,27,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3]])",21,21,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1]])",9,7,False +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9]])",1,1,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1]])",21,13,False +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21]])",4,4,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31]])",0,0,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1]])",11,11,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1, 11]])",8,8,True +"tensor([[21, 1, 20, 1, 19, 0, 22, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 9, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1, 11, 8]])",10,10,True +tensor([[21]]),1,1,True +"tensor([[21, 1]])",20,20,True +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",10,25,False +"tensor([[21, 1, 20, 1, 10]])",0,1,False +"tensor([[21, 1, 20, 1, 10, 0]])",24,25,False +"tensor([[21, 1, 20, 1, 10, 0, 24]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1]])",21,14,False +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1]])",5,7,False +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1]])",19,13,False +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19]])",0,0,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0]])",29,29,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26]])",27,27,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31, 3]])",24,24,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31, 3, 24]])",4,4,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31, 3, 24, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 24, 1, 20, 1, 21, 1, 5, 1, 19, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",10,10,True +tensor([[25]]),1,4,False +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",11,24,False +"tensor([[25, 1, 20, 1, 11]])",0,0,True +"tensor([[25, 1, 20, 1, 11, 0]])",23,21,False +"tensor([[25, 1, 20, 1, 11, 0, 23]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1]])",25,11,False +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1]])",6,7,False +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1]])",25,17,False +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25]])",0,0,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26]])",27,27,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31, 3]])",23,25,False +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23]])",4,4,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 6, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",12,12,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",13,10,False +"tensor([[25, 1, 20, 1, 13]])",0,0,True +"tensor([[25, 1, 20, 1, 13, 0]])",23,29,False +"tensor([[25, 1, 20, 1, 13, 0, 23]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1]])",25,14,False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1]])",6,6,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1]])",12,19,False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12]])",0,0,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26]])",27,27,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3]])",25,23,False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1]])",6,6,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1]])",25,10,False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 25]])",4,4,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 25, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31]])",0,0,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 25, 1, 6, 1, 12, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1]])",16,16,True +tensor([[21]]),1,0,False +"tensor([[21, 1]])",20,20,True +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",14,18,False +"tensor([[21, 1, 20, 1, 14]])",0,0,True +"tensor([[21, 1, 20, 1, 14, 0]])",25,23,False +"tensor([[21, 1, 20, 1, 14, 0, 25]])",1,1,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1]])",10,23,False +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10]])",1,0,False +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1]])",5,5,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5]])",1,1,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1]])",17,14,False +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17]])",0,0,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0]])",29,29,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26]])",27,27,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3]])",21,25,False +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1]])",6,5,False +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6]])",1,1,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1]])",12,18,False +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 12]])",4,4,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 12, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 12, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 12, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 12, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 12, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31]])",0,0,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 14, 0, 25, 1, 20, 1, 10, 1, 5, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1]])",16,16,True +tensor([[22]]),1,1,True +"tensor([[22, 1]])",20,20,True +"tensor([[22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1]])",16,17,False +"tensor([[22, 1, 20, 1, 16]])",0,0,True +"tensor([[22, 1, 20, 1, 16, 0]])",22,23,False +"tensor([[22, 1, 20, 1, 16, 0, 22]])",1,1,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1]])",15,14,False +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15]])",0,1,False +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0]])",22,29,False +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22]])",1,1,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1]])",22,14,False +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22]])",1,1,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1]])",7,9,False +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7]])",1,1,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1]])",22,16,False +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22]])",0,0,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0]])",29,29,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29]])",30,30,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30]])",26,26,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26]])",27,27,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3]])",22,22,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22]])",1,4,False +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1]])",9,5,False +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9]])",1,1,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1]])",13,24,False +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13]])",4,4,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4]])",0,0,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4, 0, 2, + 1]])",28,28,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4, 0, 2, + 1, 28]])",32,32,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4, 0, 2, + 1, 28, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4, 0, 2, + 1, 28, 32, 31]])",29,29,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4, 0, 2, + 1, 28, 32, 31, 29]])",32,32,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4, 0, 2, + 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",10,10,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 10]])",8,8,True +"tensor([[22, 1, 20, 1, 16, 0, 22, 1, 20, 1, 15, 0, 22, 1, 20, 1, 22, 1, + 7, 1, 22, 0, 29, 30, 26, 27, 31, 3, 22, 1, 9, 1, 13, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 10, 8]])",10,10,True +tensor([[22]]),1,1,True +"tensor([[22, 1]])",20,9,False +"tensor([[22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1]])",10,19,False +"tensor([[22, 1, 20, 1, 10]])",0,0,True +"tensor([[22, 1, 20, 1, 10, 0]])",24,25,False +"tensor([[22, 1, 20, 1, 10, 0, 24]])",1,1,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1]])",19,15,False +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19]])",1,0,False +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1]])",5,9,False +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5]])",1,1,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1]])",11,17,False +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11]])",0,0,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0]])",29,29,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29]])",30,30,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30]])",26,26,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26]])",27,27,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31, 3]])",24,22,False +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24]])",4,4,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 4]])",0,0,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1]])",28,28,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 10, 0, 24, 1, 20, 1, 19, 1, 5, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",19,19,True +tensor([[21]]),1,4,False +"tensor([[21, 1]])",20,20,True +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",14,10,False +"tensor([[21, 1, 20, 1, 14]])",0,0,True +"tensor([[21, 1, 20, 1, 14, 0]])",21,21,True +"tensor([[21, 1, 20, 1, 14, 0, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1]])",12,14,False +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12]])",0,0,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0]])",29,24,False +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26]])",27,27,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3]])",21,21,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21]])",4,1,False +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 14, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",12,12,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",19,15,False +"tensor([[25, 1, 20, 1, 19]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0]])",22,22,True +"tensor([[25, 1, 20, 1, 19, 0, 22]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1]])",13,17,False +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3]])",22,25,False +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22]])",4,1,False +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",13,13,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,20,True +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",16,19,False +"tensor([[24, 1, 20, 1, 16]])",0,0,True +"tensor([[24, 1, 20, 1, 16, 0]])",23,29,False +"tensor([[24, 1, 20, 1, 16, 0, 23]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1]])",14,19,False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14]])",1,0,False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1]])",6,5,False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1]])",11,24,False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11]])",0,0,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0]])",29,29,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26]])",27,27,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3]])",24,22,False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1]])",6,7,False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6, 1]])",12,24,False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6, 1, 12]])",4,4,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6, 1, 12, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6, 1, 12, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6, 1, 12, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6, 1, 12, 4, 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6, 1, 12, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31]])",0,0,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 1, 6, 1, 11, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 6, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1]])",18,18,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,20,True +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",18,10,False +"tensor([[24, 1, 20, 1, 18]])",0,1,False +"tensor([[24, 1, 20, 1, 18, 0]])",23,25,False +"tensor([[24, 1, 20, 1, 18, 0, 23]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1]])",24,17,False +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1]])",7,9,False +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1]])",16,24,False +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16]])",0,0,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0]])",29,29,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26]])",27,27,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3]])",23,24,False +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 23]])",4,4,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 23, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 23, 1, 20, 1, 24, 1, 7, 1, 16, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",12,12,True +tensor([[21]]),1,1,True +"tensor([[21, 1]])",20,9,False +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",19,18,False +"tensor([[21, 1, 20, 1, 19]])",0,0,True +"tensor([[21, 1, 20, 1, 19, 0]])",24,29,False +"tensor([[21, 1, 20, 1, 19, 0, 24]])",1,1,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1]])",11,13,False +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11]])",0,1,False +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0]])",29,23,False +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26]])",27,27,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3]])",21,24,False +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21]])",1,1,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1]])",5,5,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5]])",1,1,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1]])",24,13,False +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 24]])",4,4,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 24, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 24, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 24, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 24, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 24, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 19, 0, 24, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",19,19,True +tensor([[23]]),1,4,False +"tensor([[23, 1]])",20,20,True +"tensor([[23, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1]])",14,19,False +"tensor([[23, 1, 20, 1, 14]])",0,0,True +"tensor([[23, 1, 20, 1, 14, 0]])",21,22,False +"tensor([[23, 1, 20, 1, 14, 0, 21]])",1,1,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1]])",20,20,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1]])",14,12,False +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14]])",0,0,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0]])",29,21,False +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29]])",30,30,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30]])",26,26,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26]])",27,27,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3]])",21,23,False +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 21]])",4,1,False +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 21, 4]])",0,0,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1]])",28,28,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 14, 0, 21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",14,14,True +tensor([[22]]),1,1,True +"tensor([[22, 1]])",20,20,True +"tensor([[22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1]])",15,10,False +"tensor([[22, 1, 20, 1, 15]])",0,0,True +"tensor([[22, 1, 20, 1, 15, 0]])",21,21,True +"tensor([[22, 1, 20, 1, 15, 0, 21]])",1,1,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1]])",11,14,False +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11]])",0,1,False +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0]])",22,25,False +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22]])",1,1,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1]])",21,10,False +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21]])",1,1,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1]])",7,7,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7]])",1,1,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1]])",21,12,False +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21]])",0,0,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0]])",29,29,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29]])",30,30,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30]])",26,26,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26]])",27,27,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3]])",22,22,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22]])",4,1,False +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4]])",0,0,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1]])",28,28,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29]])",32,32,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31]])",0,0,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 15, 0, 21, 1, 20, 1, 11, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1]])",10,10,True +tensor([[24]]),1,4,False +"tensor([[24, 1]])",20,20,True +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",12,10,False +"tensor([[24, 1, 20, 1, 12]])",0,1,False +"tensor([[24, 1, 20, 1, 12, 0]])",23,25,False +"tensor([[24, 1, 20, 1, 12, 0, 23]])",1,1,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1]])",11,18,False +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11]])",0,0,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0]])",29,24,False +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26]])",27,27,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3]])",24,23,False +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 24]])",4,1,False +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 24, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 12, 0, 23, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",12,12,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,7,False +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",13,15,False +"tensor([[25, 1, 20, 1, 13]])",0,0,True +"tensor([[25, 1, 20, 1, 13, 0]])",22,23,False +"tensor([[25, 1, 20, 1, 13, 0, 22]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1]])",15,18,False +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15]])",0,1,False +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0]])",29,21,False +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3]])",22,22,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22]])",1,4,False +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1]])",5,6,False +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1]])",19,13,False +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1, 19]])",4,4,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1, 19, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1, 19, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1, 19, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1, 19, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1, 19, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",14,14,True +"tensor([[25, 1, 20, 1, 13, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 14]])",15,15,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,6,False +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",19,14,False +"tensor([[25, 1, 20, 1, 19]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0]])",24,24,True +"tensor([[25, 1, 20, 1, 19, 0, 24]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1]])",15,17,False +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15]])",0,1,False +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0]])",24,29,False +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1]])",25,14,False +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1]])",5,5,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1]])",24,25,False +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3]])",25,23,False +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1]])",9,7,False +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1]])",24,24,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24]])",4,4,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4, 0, 2, + 1]])",28,28,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4, 0, 2, + 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4, 0, 2, + 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4, 0, 2, + 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4, 0, 2, + 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4, 0, 2, + 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",10,10,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 10]])",8,8,True +"tensor([[25, 1, 20, 1, 19, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 25, 1, + 5, 1, 24, 0, 29, 30, 26, 27, 31, 3, 25, 1, 9, 1, 24, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 10, 8]])",12,11,False +tensor([[23]]),1,1,True +"tensor([[23, 1]])",20,20,True +"tensor([[23, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1]])",15,10,False +"tensor([[23, 1, 20, 1, 15]])",0,0,True +"tensor([[23, 1, 20, 1, 15, 0]])",29,29,True +"tensor([[23, 1, 20, 1, 15, 0, 29]])",30,30,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30]])",26,26,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26]])",27,27,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3]])",23,23,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23]])",1,1,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1]])",5,7,False +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5]])",1,1,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1]])",23,16,False +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23]])",4,4,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4]])",0,0,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, + 0]])",2,2,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, + 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, + 0, 2, 1]])",28,28,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, + 0, 2, 1, 28]])",32,32,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, + 0, 2, 1, 28, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, + 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, + 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, + 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",12,12,True +"tensor([[23, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 12]])",15,15,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",12,13,False +"tensor([[25, 1, 20, 1, 12]])",0,0,True +"tensor([[25, 1, 20, 1, 12, 0]])",23,23,True +"tensor([[25, 1, 20, 1, 12, 0, 23]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1]])",18,10,False +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18]])",1,0,False +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1]])",9,5,False +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1]])",25,14,False +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25]])",0,0,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26]])",27,27,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3]])",25,25,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1]])",5,6,False +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1]])",19,15,False +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1, 19]])",4,4,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1, 19, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1, 19, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1, 19, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1, 19, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1, 19, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31]])",0,0,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1]])",11,11,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 18, 1, 9, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 5, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1, 11]])",18,18,True +tensor([[23]]),1,4,False +"tensor([[23, 1]])",20,20,True +"tensor([[23, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1]])",10,16,False +"tensor([[23, 1, 20, 1, 10]])",0,0,True +"tensor([[23, 1, 20, 1, 10, 0]])",23,21,False +"tensor([[23, 1, 20, 1, 10, 0, 23]])",1,1,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1]])",20,20,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1]])",16,12,False +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16]])",1,0,False +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1]])",7,7,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7]])",1,1,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1]])",18,22,False +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18]])",0,0,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0]])",29,29,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29]])",30,30,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30]])",26,26,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26]])",27,27,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3]])",23,23,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 23]])",4,4,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 23, 4]])",0,0,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1]])",28,28,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",7,7,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 16, 1, 7, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 7]])",12,12,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",17,12,False +"tensor([[25, 1, 20, 1, 17]])",0,0,True +"tensor([[25, 1, 20, 1, 17, 0]])",21,21,True +"tensor([[25, 1, 20, 1, 17, 0, 21]])",1,1,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1]])",12,10,False +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12]])",0,1,False +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0]])",24,22,False +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24]])",1,1,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1]])",15,19,False +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15]])",1,1,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1]])",5,9,False +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5]])",1,1,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1]])",17,25,False +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17]])",0,0,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3]])",21,25,False +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21]])",1,1,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1]])",5,7,False +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5]])",1,1,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1]])",17,25,False +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17]])",4,4,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17, 4, 0, 2, + 1]])",28,28,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17, 4, 0, 2, + 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17, 4, 0, 2, + 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17, 4, 0, 2, + 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17, 4, 0, 2, + 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17, 4, 0, 2, + 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",11,11,True +"tensor([[25, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 24, 1, 20, 1, 15, 1, + 5, 1, 17, 0, 29, 30, 26, 27, 31, 3, 21, 1, 5, 1, 17, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 11]])",14,14,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",11,18,False +"tensor([[25, 1, 20, 1, 11]])",0,1,False +"tensor([[25, 1, 20, 1, 11, 0]])",29,25,False +"tensor([[25, 1, 20, 1, 11, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3]])",25,22,False +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1]])",5,9,False +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1]])",25,25,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25]])",4,4,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0]])",2,2,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",11,11,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,5,False +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",16,10,False +"tensor([[24, 1, 20, 1, 16]])",0,1,False +"tensor([[24, 1, 20, 1, 16, 0]])",22,21,False +"tensor([[24, 1, 20, 1, 16, 0, 22]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1]])",24,16,False +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1]])",5,6,False +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1]])",24,15,False +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24]])",0,0,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0]])",29,29,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26]])",27,27,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3]])",22,22,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 22]])",4,4,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 22, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",13,13,True +"tensor([[24, 1, 20, 1, 16, 0, 22, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 13]])",16,16,True +tensor([[25]]),1,4,False +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",18,10,False +"tensor([[25, 1, 20, 1, 18]])",0,1,False +"tensor([[25, 1, 20, 1, 18, 0]])",22,24,False +"tensor([[25, 1, 20, 1, 18, 0, 22]])",1,1,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1]])",25,13,False +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1]])",9,7,False +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9]])",1,1,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1]])",15,19,False +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15]])",0,0,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26]])",27,27,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3]])",25,22,False +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1]])",9,6,False +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9]])",1,1,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1]])",12,25,False +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12]])",4,4,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31]])",0,0,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1]])",14,14,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1, 14]])",8,8,True +"tensor([[25, 1, 20, 1, 18, 0, 22, 1, 20, 1, 25, 1, 9, 1, 15, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 12, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1, 14, 8]])",10,10,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,20,True +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",16,18,False +"tensor([[24, 1, 20, 1, 16]])",0,0,True +"tensor([[24, 1, 20, 1, 16, 0]])",23,21,False +"tensor([[24, 1, 20, 1, 16, 0, 23]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1]])",13,24,False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13]])",0,0,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0]])",21,21,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1]])",19,22,False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19]])",1,0,False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1]])",6,5,False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1]])",24,17,False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24]])",0,0,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0]])",29,29,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26]])",27,27,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3]])",21,24,False +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3, 21]])",4,4,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3, 21, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31, + 29]])",32,32,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31, + 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1]])",11,11,True +"tensor([[24, 1, 20, 1, 16, 0, 23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 19, 1, + 6, 1, 24, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1, 11]])",15,15,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,20,True +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",14,17,False +"tensor([[24, 1, 20, 1, 14]])",0,0,True +"tensor([[24, 1, 20, 1, 14, 0]])",21,29,False +"tensor([[24, 1, 20, 1, 14, 0, 21]])",1,1,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1]])",18,10,False +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18]])",0,0,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0]])",29,24,False +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26]])",27,27,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3]])",21,24,False +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21]])",1,4,False +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1]])",5,5,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5]])",1,1,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1]])",21,18,False +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 21]])",4,4,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 21, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 21, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 21, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 21, 4, 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",16,16,True +"tensor([[24, 1, 20, 1, 14, 0, 21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 5, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 16]])",14,14,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",16,25,False +"tensor([[25, 1, 20, 1, 16]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0]])",29,23,False +"tensor([[25, 1, 20, 1, 16, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3]])",25,22,False +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25]])",1,4,False +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1]])",6,6,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1]])",25,25,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25]])",4,4,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, + 0]])",2,2,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, + 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, + 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, + 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, + 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, + 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",11,11,True +"tensor([[25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 1, 6, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 11]])",12,12,True +tensor([[22]]),1,1,True +"tensor([[22, 1]])",20,20,True +"tensor([[22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1]])",13,10,False +"tensor([[22, 1, 20, 1, 13]])",0,0,True +"tensor([[22, 1, 20, 1, 13, 0]])",21,24,False +"tensor([[22, 1, 20, 1, 13, 0, 21]])",1,1,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1]])",13,10,False +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13]])",0,0,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0]])",29,21,False +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29]])",30,30,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30]])",26,26,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26]])",27,27,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3]])",21,21,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21]])",4,1,False +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 4]])",0,0,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1]])",28,28,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 13, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",13,13,True +tensor([[22]]),1,1,True +"tensor([[22, 1]])",20,20,True +"tensor([[22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1]])",19,21,False +"tensor([[22, 1, 20, 1, 19]])",0,0,True +"tensor([[22, 1, 20, 1, 19, 0]])",22,24,False +"tensor([[22, 1, 20, 1, 19, 0, 22]])",1,1,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1]])",19,16,False +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19]])",0,0,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0]])",29,22,False +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29]])",30,30,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30]])",26,26,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26]])",27,27,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3]])",22,21,False +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22]])",1,1,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1]])",7,5,False +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7]])",1,1,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7, 1]])",15,14,False +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7, 1, 15]])",4,4,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7, 1, 15, 4]])",0,0,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7, 1, 15, 4, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7, 1, 15, 4, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7, 1, 15, 4, 0, 2, 1]])",28,28,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7, 1, 15, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 19, 0, 22, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 7, 1, 15, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",14,14,True +tensor([[21]]),1,1,True +"tensor([[21, 1]])",20,20,True +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",18,18,True +"tensor([[21, 1, 20, 1, 18]])",0,0,True +"tensor([[21, 1, 20, 1, 18, 0]])",29,21,False +"tensor([[21, 1, 20, 1, 18, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26]])",27,27,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3]])",21,21,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, 21]])",4,1,False +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, 21, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32]])",31,31,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31]])",0,0,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 18, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31, 0, 2, 1]])",18,18,True +tensor([[22]]),1,1,True +"tensor([[22, 1]])",20,6,False +"tensor([[22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1]])",12,21,False +"tensor([[22, 1, 20, 1, 12]])",0,0,True +"tensor([[22, 1, 20, 1, 12, 0]])",25,25,True +"tensor([[22, 1, 20, 1, 12, 0, 25]])",1,1,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1]])",12,11,False +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12]])",0,1,False +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0]])",29,22,False +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29]])",30,30,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30]])",26,26,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26]])",27,27,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3]])",25,25,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 25]])",4,1,False +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 25, 4]])",0,0,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1]])",28,28,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 12, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",12,12,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,7,False +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",11,16,False +"tensor([[25, 1, 20, 1, 11]])",0,0,True +"tensor([[25, 1, 20, 1, 11, 0]])",23,29,False +"tensor([[25, 1, 20, 1, 11, 0, 23]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1]])",25,25,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1]])",9,5,False +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1]])",17,25,False +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17]])",0,0,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26]])",27,27,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3]])",25,25,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1]])",7,9,False +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7, 1]])",25,25,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7, 1, 25]])",4,4,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7, 1, 25, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7, 1, 25, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7, 1, 25, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7, 1, 25, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7, 1, 25, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7, 1, 25, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7, 1, 25, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31]])",0,0,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 23, 1, 20, 1, 25, 1, 9, 1, 17, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 7, 1, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1]])",10,10,True +tensor([[25]]),1,0,False +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",13,23,False +"tensor([[25, 1, 20, 1, 13]])",0,0,True +"tensor([[25, 1, 20, 1, 13, 0]])",23,25,False +"tensor([[25, 1, 20, 1, 13, 0, 23]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1]])",10,16,False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10]])",0,1,False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0]])",29,24,False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3]])",23,22,False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23]])",4,1,False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",10,10,True +tensor([[21]]),1,4,False +"tensor([[21, 1]])",20,20,True +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",11,18,False +"tensor([[21, 1, 20, 1, 11]])",0,0,True +"tensor([[21, 1, 20, 1, 11, 0]])",21,24,False +"tensor([[21, 1, 20, 1, 11, 0, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1]])",13,10,False +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13]])",0,0,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0]])",29,23,False +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26]])",27,27,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3]])",21,22,False +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21]])",1,1,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1]])",9,6,False +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9]])",1,1,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1]])",11,15,False +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11]])",4,4,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",13,13,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 13]])",8,8,True +"tensor([[21, 1, 20, 1, 11, 0, 21, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 11, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 13, 8]])",10,10,True +tensor([[23]]),1,4,False +"tensor([[23, 1]])",20,20,True +"tensor([[23, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1]])",13,11,False +"tensor([[23, 1, 20, 1, 13]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0]])",29,22,False +"tensor([[23, 1, 20, 1, 13, 0, 29]])",30,30,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30]])",26,26,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26]])",27,27,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3]])",23,23,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1]])",9,6,False +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1]])",23,15,False +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23]])",4,4,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4, + 0]])",2,2,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4, + 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4, + 0, 2, 1]])",28,28,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4, + 0, 2, 1, 28]])",32,32,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4, + 0, 2, 1, 28, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4, + 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4, + 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4, + 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",11,11,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 11]])",8,8,True +"tensor([[23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, 23, 1, 9, 1, 23, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 11, 8]])",10,10,True +tensor([[23]]),1,4,False +"tensor([[23, 1]])",20,20,True +"tensor([[23, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1]])",10,11,False +"tensor([[23, 1, 20, 1, 10]])",0,0,True +"tensor([[23, 1, 20, 1, 10, 0]])",23,21,False +"tensor([[23, 1, 20, 1, 10, 0, 23]])",1,1,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1]])",20,20,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1]])",23,19,False +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23]])",1,1,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1]])",7,5,False +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7]])",1,1,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1]])",23,23,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23]])",0,0,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0]])",29,29,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29]])",30,30,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30]])",26,26,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26]])",27,27,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31, 3]])",23,23,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31, 3, 23]])",4,1,False +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31, 3, 23, 4]])",0,0,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1]])",28,28,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 10, 0, 23, 1, 20, 1, 23, 1, 7, 1, 23, 0, 29, 30, + 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",10,10,True +tensor([[21]]),1,1,True +"tensor([[21, 1]])",20,20,True +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",17,17,True +"tensor([[21, 1, 20, 1, 17]])",0,0,True +"tensor([[21, 1, 20, 1, 17, 0]])",24,25,False +"tensor([[21, 1, 20, 1, 17, 0, 24]])",1,1,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1]])",12,24,False +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12]])",0,0,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0]])",29,25,False +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26]])",27,27,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3]])",21,22,False +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21]])",4,1,False +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 17, 0, 24, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",17,17,True +tensor([[23]]),1,1,True +"tensor([[23, 1]])",20,20,True +"tensor([[23, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1]])",13,15,False +"tensor([[23, 1, 20, 1, 13]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0]])",21,23,False +"tensor([[23, 1, 20, 1, 13, 0, 21]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1]])",20,20,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1]])",10,23,False +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10]])",0,1,False +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0]])",29,29,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29]])",30,30,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30]])",26,26,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26]])",27,27,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3]])",23,21,False +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1]])",7,9,False +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1]])",14,10,False +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 14]])",4,4,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 14, 4]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 14, 4, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 14, 4, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 14, 4, 0, 2, 1]])",28,28,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 14, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 14, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 14, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 14, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 14, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 14, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 14, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 14, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 14, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",7,7,True +"tensor([[23, 1, 20, 1, 13, 0, 21, 1, 20, 1, 10, 0, 29, 30, 26, 27, 31, 3, + 23, 1, 7, 1, 14, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 7]])",11,11,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",19,16,False +"tensor([[25, 1, 20, 1, 19]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0]])",21,21,True +"tensor([[25, 1, 20, 1, 19, 0, 21]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1]])",15,17,False +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3]])",25,25,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 25]])",4,1,False +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 25, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 21, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",19,19,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,9,False +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",13,12,False +"tensor([[24, 1, 20, 1, 13]])",0,0,True +"tensor([[24, 1, 20, 1, 13, 0]])",22,21,False +"tensor([[24, 1, 20, 1, 13, 0, 22]])",1,1,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1]])",14,13,False +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14]])",0,1,False +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0]])",24,21,False +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24]])",1,1,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1]])",14,16,False +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14]])",1,1,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1]])",9,9,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9]])",1,1,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1]])",13,24,False +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13]])",0,0,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0]])",29,29,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26]])",27,27,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3]])",22,24,False +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22]])",1,1,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1]])",5,5,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5]])",1,1,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1]])",22,24,False +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22]])",4,4,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22, 4, 0, 2, + 1]])",28,28,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22, 4, 0, 2, + 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22, 4, 0, 2, + 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22, 4, 0, 2, + 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22, 4, 0, 2, + 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22, 4, 0, 2, + 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",11,11,True +"tensor([[24, 1, 20, 1, 13, 0, 22, 1, 20, 1, 14, 0, 24, 1, 20, 1, 14, 1, + 9, 1, 13, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 22, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 11]])",16,16,True +tensor([[23]]),1,1,True +"tensor([[23, 1]])",20,20,True +"tensor([[23, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1]])",15,16,False +"tensor([[23, 1, 20, 1, 15]])",0,0,True +"tensor([[23, 1, 20, 1, 15, 0]])",24,21,False +"tensor([[23, 1, 20, 1, 15, 0, 24]])",1,1,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1]])",20,20,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1]])",15,14,False +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15]])",0,1,False +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0]])",24,22,False +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24]])",1,1,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1]])",20,20,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1]])",23,11,False +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23]])",1,1,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1]])",7,6,False +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7]])",1,1,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1]])",14,24,False +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14]])",0,0,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0]])",29,29,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29]])",30,30,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30]])",26,26,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26]])",27,27,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31, 3]])",24,24,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31, 3, 24]])",4,1,False +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31, 3, 24, 4]])",0,0,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1]])",28,28,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29]])",32,32,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31]])",0,0,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 15, 0, 24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 23, 1, + 7, 1, 14, 0, 29, 30, 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1]])",11,11,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",16,13,False +"tensor([[25, 1, 20, 1, 16]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0]])",22,29,False +"tensor([[25, 1, 20, 1, 16, 0, 22]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1]])",13,13,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0]])",25,23,False +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1]])",25,25,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1]])",7,6,False +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1]])",16,18,False +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3]])",25,22,False +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25]])",4,1,False +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29]])",32,32,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 25, 1, + 7, 1, 16, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1]])",10,10,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,20,True +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",14,15,False +"tensor([[24, 1, 20, 1, 14]])",0,1,False +"tensor([[24, 1, 20, 1, 14, 0]])",23,24,False +"tensor([[24, 1, 20, 1, 14, 0, 23]])",1,1,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1]])",16,16,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16]])",0,0,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0]])",29,24,False +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26]])",27,27,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3]])",24,21,False +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24]])",1,4,False +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1]])",6,5,False +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6]])",1,1,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1]])",23,23,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 23]])",4,4,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 23, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 23, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 23, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 23, 4, 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 23, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 23, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 23, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 23, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",11,11,True +"tensor([[24, 1, 20, 1, 14, 0, 23, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 11]])",10,10,True +tensor([[22]]),1,1,True +"tensor([[22, 1]])",20,20,True +"tensor([[22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1]])",18,13,False +"tensor([[22, 1, 20, 1, 18]])",0,0,True +"tensor([[22, 1, 20, 1, 18, 0]])",21,22,False +"tensor([[22, 1, 20, 1, 18, 0, 21]])",1,1,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1]])",19,17,False +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19]])",0,0,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0]])",25,24,False +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25]])",1,1,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1]])",15,14,False +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15]])",1,0,False +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1]])",9,7,False +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9]])",1,1,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1]])",12,22,False +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12]])",0,0,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0]])",29,29,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29]])",30,30,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30]])",26,26,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26]])",27,27,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3]])",22,25,False +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22]])",1,1,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1]])",5,6,False +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5]])",1,1,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1]])",21,21,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21]])",4,4,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21, 4]])",0,0,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21, 4, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21, 4, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21, 4, 0, 2, + 1]])",28,28,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21, 4, 0, 2, + 1, 28]])",32,32,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21, 4, 0, 2, + 1, 28, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21, 4, 0, 2, + 1, 28, 32, 31]])",29,29,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21, 4, 0, 2, + 1, 28, 32, 31, 29]])",32,32,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21, 4, 0, 2, + 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",17,17,True +"tensor([[22, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 25, 1, 20, 1, 15, 1, + 9, 1, 12, 0, 29, 30, 26, 27, 31, 3, 22, 1, 5, 1, 21, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 17]])",12,12,True +tensor([[25]]),1,0,False +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",14,17,False +"tensor([[25, 1, 20, 1, 14]])",0,0,True +"tensor([[25, 1, 20, 1, 14, 0]])",29,23,False +"tensor([[25, 1, 20, 1, 14, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3]])",25,21,False +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 25]])",4,4,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 25, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, + 32]])",31,31,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, + 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, + 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, + 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31, 0, 2, 1]])",14,14,True +tensor([[22]]),1,1,True +"tensor([[22, 1]])",20,9,False +"tensor([[22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1]])",12,12,True +"tensor([[22, 1, 20, 1, 12]])",0,0,True +"tensor([[22, 1, 20, 1, 12, 0]])",23,24,False +"tensor([[22, 1, 20, 1, 12, 0, 23]])",1,1,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1]])",13,24,False +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13]])",0,0,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0]])",29,29,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29]])",30,30,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30]])",26,26,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26]])",27,27,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3]])",22,23,False +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22]])",1,1,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1]])",9,9,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9]])",1,1,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1]])",22,15,False +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22]])",4,4,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22, 4]])",0,0,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22, 4, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22, 4, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22, 4, 0, 2, 1]])",28,28,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",11,11,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 11]])",8,8,True +"tensor([[22, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 22, 1, 9, 1, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 11, 8]])",10,10,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,20,True +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",18,10,False +"tensor([[24, 1, 20, 1, 18]])",0,0,True +"tensor([[24, 1, 20, 1, 18, 0]])",24,22,False +"tensor([[24, 1, 20, 1, 18, 0, 24]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1]])",10,24,False +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10]])",0,1,False +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0]])",23,22,False +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1]])",17,11,False +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17]])",1,0,False +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1]])",7,6,False +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1]])",11,24,False +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11]])",0,0,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0]])",29,29,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26]])",27,27,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3]])",23,23,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 23]])",4,4,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 23, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, + 29]])",32,32,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, + 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 18, 0, 24, 1, 20, 1, 10, 0, 23, 1, 20, 1, 17, 1, + 7, 1, 11, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1]])",16,16,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",19,19,True +"tensor([[25, 1, 20, 1, 19]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0]])",29,23,False +"tensor([[25, 1, 20, 1, 19, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3]])",25,25,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25]])",1,4,False +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1]])",5,6,False +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1]])",25,22,False +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25]])",4,4,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0]])",2,2,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",18,18,True +"tensor([[25, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 25, 1, 5, 1, 25, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 18]])",11,11,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",11,11,True +"tensor([[25, 1, 20, 1, 11]])",0,0,True +"tensor([[25, 1, 20, 1, 11, 0]])",21,22,False +"tensor([[25, 1, 20, 1, 11, 0, 21]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1]])",16,19,False +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16]])",0,0,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0]])",29,21,False +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3]])",21,25,False +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1]])",9,6,False +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1]])",16,13,False +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16]])",4,4,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",11,11,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 11]])",8,8,True +"tensor([[25, 1, 20, 1, 11, 0, 21, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 9, 1, 16, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 11, 8]])",10,10,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,6,False +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",15,24,False +"tensor([[24, 1, 20, 1, 15]])",0,1,False +"tensor([[24, 1, 20, 1, 15, 0]])",24,29,False +"tensor([[24, 1, 20, 1, 15, 0, 24]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1]])",19,14,False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19]])",0,1,False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0]])",25,25,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1]])",10,15,False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10]])",1,0,False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1]])",7,6,False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1]])",24,17,False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24]])",0,0,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0]])",29,29,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26]])",27,27,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3]])",24,23,False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1]])",5,9,False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1]])",24,19,False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24]])",4,4,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, + 1]])",28,28,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, + 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, + 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, + 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, + 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, + 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",18,18,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 19, 0, 25, 1, 20, 1, 10, 1, + 7, 1, 24, 0, 29, 30, 26, 27, 31, 3, 24, 1, 5, 1, 24, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 18]])",11,11,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,5,False +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",15,16,False +"tensor([[24, 1, 20, 1, 15]])",0,1,False +"tensor([[24, 1, 20, 1, 15, 0]])",24,21,False +"tensor([[24, 1, 20, 1, 15, 0, 24]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1]])",24,24,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1]])",5,9,False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1]])",24,11,False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24]])",0,0,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0]])",29,29,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26]])",27,27,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3]])",24,24,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 24]])",4,1,False +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 24, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",12,12,True +"tensor([[24, 1, 20, 1, 15, 0, 24, 1, 20, 1, 24, 1, 5, 1, 24, 0, 29, 30, + 26, 27, 31, 3, 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 12]])",15,15,True +tensor([[22]]),1,1,True +"tensor([[22, 1]])",20,20,True +"tensor([[22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1]])",17,17,True +"tensor([[22, 1, 20, 1, 17]])",0,0,True +"tensor([[22, 1, 20, 1, 17, 0]])",21,23,False +"tensor([[22, 1, 20, 1, 17, 0, 21]])",1,1,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1]])",12,17,False +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12]])",0,1,False +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0]])",29,22,False +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29]])",30,30,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30]])",26,26,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26]])",27,27,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3]])",21,21,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21]])",4,4,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4]])",0,0,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1]])",28,28,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 17, 0, 21, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",12,12,True +tensor([[22]]),1,1,True +"tensor([[22, 1]])",20,20,True +"tensor([[22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1]])",13,17,False +"tensor([[22, 1, 20, 1, 13]])",0,0,True +"tensor([[22, 1, 20, 1, 13, 0]])",25,22,False +"tensor([[22, 1, 20, 1, 13, 0, 25]])",1,1,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1]])",11,24,False +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11]])",0,1,False +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0]])",25,25,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25]])",1,1,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1]])",19,12,False +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19]])",1,1,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1]])",6,7,False +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6]])",1,1,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1]])",25,25,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25]])",0,0,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0]])",29,29,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29]])",30,30,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30]])",26,26,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26]])",27,27,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3]])",25,25,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3, 25]])",4,1,False +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3, 25, 4]])",0,0,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1]])",28,28,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29]])",32,32,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31]])",0,0,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1]])",11,11,True +"tensor([[22, 1, 20, 1, 13, 0, 25, 1, 20, 1, 11, 0, 25, 1, 20, 1, 19, 1, + 6, 1, 25, 0, 29, 30, 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1, 11]])",10,10,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",19,21,False +"tensor([[25, 1, 20, 1, 19]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0]])",25,23,False +"tensor([[25, 1, 20, 1, 19, 0, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1]])",17,13,False +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17]])",1,0,False +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1]])",5,5,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1]])",25,18,False +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26]])",27,27,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3]])",25,25,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1]])",6,7,False +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1]])",17,25,False +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 17]])",4,4,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 17, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 17, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 17, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 17, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 17, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 17, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 17, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 17, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 17, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 17, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31]])",0,0,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 17, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 17, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 17, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1]])",17,17,True +"tensor([[25, 1, 20, 1, 19, 0, 25, 1, 20, 1, 17, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 6, 1, 17, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1, 17]])",10,10,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",13,11,False +"tensor([[25, 1, 20, 1, 13]])",0,1,False +"tensor([[25, 1, 20, 1, 13, 0]])",23,23,True +"tensor([[25, 1, 20, 1, 13, 0, 23]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1]])",12,11,False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12]])",0,0,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0]])",24,23,False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1]])",11,16,False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1]])",6,9,False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1]])",15,25,False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15]])",0,0,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3]])",23,24,False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1]])",5,5,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1]])",23,14,False +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23]])",4,4,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, 0, 2, + 1]])",28,28,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, 0, 2, + 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, 0, 2, + 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, 0, 2, + 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, 0, 2, + 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, 0, 2, + 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 13, 0, 23, 1, 20, 1, 12, 0, 24, 1, 20, 1, 11, 1, + 6, 1, 15, 0, 29, 30, 26, 27, 31, 3, 23, 1, 5, 1, 23, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",14,14,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,20,True +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",19,17,False +"tensor([[24, 1, 20, 1, 19]])",0,0,True +"tensor([[24, 1, 20, 1, 19, 0]])",22,23,False +"tensor([[24, 1, 20, 1, 19, 0, 22]])",1,1,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1]])",15,23,False +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15]])",0,0,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0]])",29,24,False +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26]])",27,27,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3]])",24,24,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 24]])",4,1,False +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 24, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 19, 0, 22, 1, 20, 1, 15, 0, 29, 30, 26, 27, 31, 3, + 24, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",19,19,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,20,True +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",16,23,False +"tensor([[24, 1, 20, 1, 16]])",0,0,True +"tensor([[24, 1, 20, 1, 16, 0]])",25,23,False +"tensor([[24, 1, 20, 1, 16, 0, 25]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1]])",16,19,False +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16]])",0,1,False +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0]])",29,29,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26]])",27,27,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3]])",25,24,False +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 25]])",4,1,False +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 25, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 16, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",16,16,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",16,13,False +"tensor([[25, 1, 20, 1, 16]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0]])",25,25,True +"tensor([[25, 1, 20, 1, 16, 0, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1]])",17,15,False +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3]])",25,25,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 25]])",4,4,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 25, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 25, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",17,17,True +tensor([[22]]),1,1,True +"tensor([[22, 1]])",20,20,True +"tensor([[22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1]])",19,15,False +"tensor([[22, 1, 20, 1, 19]])",0,0,True +"tensor([[22, 1, 20, 1, 19, 0]])",21,24,False +"tensor([[22, 1, 20, 1, 19, 0, 21]])",1,1,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1]])",12,18,False +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12]])",0,1,False +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0]])",22,21,False +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22]])",1,1,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1]])",21,12,False +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21]])",1,1,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1]])",7,9,False +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7]])",1,1,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1]])",19,18,False +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19]])",0,0,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0]])",29,29,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29]])",30,30,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30]])",26,26,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26]])",27,27,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3]])",21,22,False +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21]])",1,1,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1]])",7,5,False +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7]])",1,1,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1]])",14,18,False +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14]])",4,4,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14, 4]])",0,0,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14, 4, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14, 4, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14, 4, 0, 2, + 1]])",28,28,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14, 4, 0, 2, + 1, 28]])",32,32,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14, 4, 0, 2, + 1, 28, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14, 4, 0, 2, + 1, 28, 32, 31]])",29,29,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14, 4, 0, 2, + 1, 28, 32, 31, 29]])",32,32,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14, 4, 0, 2, + 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",7,7,True +"tensor([[22, 1, 20, 1, 19, 0, 21, 1, 20, 1, 12, 0, 22, 1, 20, 1, 21, 1, + 7, 1, 19, 0, 29, 30, 26, 27, 31, 3, 21, 1, 7, 1, 14, 4, 0, 2, + 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, 7]])",12,12,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",12,12,True +"tensor([[25, 1, 20, 1, 12]])",0,0,True +"tensor([[25, 1, 20, 1, 12, 0]])",23,24,False +"tensor([[25, 1, 20, 1, 12, 0, 23]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1]])",13,15,False +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13]])",0,0,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0]])",29,25,False +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3]])",23,25,False +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 23]])",4,1,False +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 23, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 12, 0, 23, 1, 20, 1, 13, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",13,13,True +tensor([[22]]),1,1,True +"tensor([[22, 1]])",20,20,True +"tensor([[22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1]])",14,19,False +"tensor([[22, 1, 20, 1, 14]])",0,0,True +"tensor([[22, 1, 20, 1, 14, 0]])",22,24,False +"tensor([[22, 1, 20, 1, 14, 0, 22]])",1,1,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1]])",13,12,False +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13]])",1,0,False +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1]])",7,5,False +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7]])",1,1,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1]])",22,24,False +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22]])",0,0,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0]])",29,29,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29]])",30,30,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30]])",26,26,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26]])",27,27,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3]])",22,22,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22]])",4,1,False +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4]])",0,0,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1]])",28,28,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",7,7,True +"tensor([[22, 1, 20, 1, 14, 0, 22, 1, 20, 1, 13, 1, 7, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 7]])",11,11,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,20,True +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",10,12,False +"tensor([[24, 1, 20, 1, 10]])",0,0,True +"tensor([[24, 1, 20, 1, 10, 0]])",24,29,False +"tensor([[24, 1, 20, 1, 10, 0, 24]])",1,1,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1]])",17,10,False +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17]])",0,0,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0]])",29,25,False +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26]])",27,27,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3]])",24,24,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24]])",1,1,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1]])",6,7,False +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6]])",1,1,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1]])",13,17,False +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 13]])",4,4,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 13, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 13, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 13, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 13, 4, 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 13, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 13, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 13, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 13, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 13, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 13, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 13, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 13, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 13, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",11,11,True +"tensor([[24, 1, 20, 1, 10, 0, 24, 1, 20, 1, 17, 0, 29, 30, 26, 27, 31, 3, + 24, 1, 6, 1, 13, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 11]])",10,10,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,20,True +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",19,15,False +"tensor([[24, 1, 20, 1, 19]])",0,0,True +"tensor([[24, 1, 20, 1, 19, 0]])",29,23,False +"tensor([[24, 1, 20, 1, 19, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26]])",27,27,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3]])",24,23,False +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24]])",1,4,False +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1]])",7,7,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7]])",1,1,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7, 1]])",19,19,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 19]])",4,4,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 19, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 19, 4, + 0]])",2,2,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 19, 4, + 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 19, 4, + 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 19, 4, + 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 19, 4, + 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 19, 4, + 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 19, 4, + 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 19, 4, + 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 19, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 19, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 19, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, 24, 1, 7, 1, 19, 4, + 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",10,10,True +tensor([[23]]),1,1,True +"tensor([[23, 1]])",20,20,True +"tensor([[23, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1]])",14,12,False +"tensor([[23, 1, 20, 1, 14]])",0,0,True +"tensor([[23, 1, 20, 1, 14, 0]])",29,25,False +"tensor([[23, 1, 20, 1, 14, 0, 29]])",30,30,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30]])",26,26,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26]])",27,27,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3]])",23,24,False +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23]])",4,1,False +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4]])",0,0,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1]])",28,28,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, + 32]])",31,31,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, + 32, 31]])",29,29,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, + 32, 31, 29]])",32,32,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, + 32, 31, 29, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31]])",0,0,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 23, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31, 0, 2, 1]])",14,14,True +tensor([[23]]),1,1,True +"tensor([[23, 1]])",20,5,False +"tensor([[23, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1]])",13,16,False +"tensor([[23, 1, 20, 1, 13]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0]])",25,21,False +"tensor([[23, 1, 20, 1, 13, 0, 25]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1]])",20,20,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1]])",12,15,False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0]])",29,29,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29]])",30,30,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30]])",26,26,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26]])",27,27,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3]])",23,24,False +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 23]])",4,4,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 23, 4]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1]])",28,28,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 13, 0, 25, 1, 20, 1, 12, 0, 29, 30, 26, 27, 31, 3, + 23, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",13,13,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",16,15,False +"tensor([[25, 1, 20, 1, 16]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0]])",23,29,False +"tensor([[25, 1, 20, 1, 16, 0, 23]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1]])",14,12,False +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0]])",29,23,False +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26]])",27,27,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3]])",25,25,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25]])",1,4,False +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1]])",9,9,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1]])",19,22,False +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19]])",4,4,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",10,10,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10]])",8,8,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8]])",16,16,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 16, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 16, 16, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]])",16,16,True +"tensor([[25, 1, 20, 1, 16, 0, 23, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, + 25, 1, 9, 1, 19, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 10, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]])",16,16,True +tensor([[21]]),1,1,True +"tensor([[21, 1]])",20,20,True +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",14,21,False +"tensor([[21, 1, 20, 1, 14]])",0,0,True +"tensor([[21, 1, 20, 1, 14, 0]])",29,21,False +"tensor([[21, 1, 20, 1, 14, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26]])",27,27,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3]])",21,21,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21]])",4,1,False +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32]])",31,31,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31]])",0,0,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 14, 0, 29, 30, 26, 27, 31, 3, 21, 4, 0, 2, 1, 28, + 32, 31, 29, 32, 31, 0, 2, 1]])",14,14,True +tensor([[23]]),1,1,True +"tensor([[23, 1]])",20,20,True +"tensor([[23, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1]])",18,18,True +"tensor([[23, 1, 20, 1, 18]])",0,0,True +"tensor([[23, 1, 20, 1, 18, 0]])",23,25,False +"tensor([[23, 1, 20, 1, 18, 0, 23]])",1,1,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1]])",20,20,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1]])",10,13,False +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10]])",0,0,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0]])",22,21,False +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22]])",1,1,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1]])",20,20,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20]])",1,1,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1]])",19,18,False +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19]])",1,1,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1]])",5,6,False +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5]])",1,1,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1]])",23,22,False +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23]])",0,0,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0]])",29,29,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29]])",30,30,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30]])",26,26,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26]])",27,27,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3]])",22,25,False +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 22]])",4,4,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 22, 4]])",0,0,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1]])",28,28,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29]])",32,32,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32]])",31,31,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31]])",0,0,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])",2,2,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2]])",1,1,True +"tensor([[23, 1, 20, 1, 18, 0, 23, 1, 20, 1, 10, 0, 22, 1, 20, 1, 19, 1, + 5, 1, 23, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1]])",10,10,True +tensor([[21]]),1,1,True +"tensor([[21, 1]])",20,20,True +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",18,16,False +"tensor([[21, 1, 20, 1, 18]])",0,0,True +"tensor([[21, 1, 20, 1, 18, 0]])",21,25,False +"tensor([[21, 1, 20, 1, 18, 0, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1]])",19,21,False +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19]])",0,0,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0]])",29,24,False +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26]])",27,27,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3]])",21,22,False +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21]])",4,1,False +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 18, 0, 21, 1, 20, 1, 19, 0, 29, 30, 26, 27, 31, 3, + 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",19,19,True +tensor([[21]]),1,1,True +"tensor([[21, 1]])",20,20,True +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",10,16,False +"tensor([[21, 1, 20, 1, 10]])",0,0,True +"tensor([[21, 1, 20, 1, 10, 0]])",25,29,False +"tensor([[21, 1, 20, 1, 10, 0, 25]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1]])",21,13,False +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1]])",6,6,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1]])",21,21,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21]])",0,0,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0]])",29,29,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26]])",27,27,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3]])",21,21,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1]])",6,7,False +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1]])",21,13,False +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 21]])",4,4,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 21, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 21, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 21, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 21, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31]])",0,0,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 10, 0, 25, 1, 20, 1, 21, 1, 6, 1, 21, 0, 29, 30, + 26, 27, 31, 3, 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1]])",10,10,True +tensor([[21]]),1,1,True +"tensor([[21, 1]])",20,20,True +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",17,15,False +"tensor([[21, 1, 20, 1, 17]])",0,0,True +"tensor([[21, 1, 20, 1, 17, 0]])",25,29,False +"tensor([[21, 1, 20, 1, 17, 0, 25]])",1,1,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1]])",16,17,False +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16]])",0,0,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0]])",29,21,False +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26]])",27,27,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3]])",21,21,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21]])",1,1,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1]])",6,9,False +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6]])",1,1,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1]])",21,14,False +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 21]])",4,4,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 21, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 21, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 21, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 21, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 21, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",11,11,True +"tensor([[21, 1, 20, 1, 17, 0, 25, 1, 20, 1, 16, 0, 29, 30, 26, 27, 31, 3, + 21, 1, 6, 1, 21, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 11]])",14,14,True +tensor([[22]]),1,1,True +"tensor([[22, 1]])",20,20,True +"tensor([[22, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1]])",18,11,False +"tensor([[22, 1, 20, 1, 18]])",0,0,True +"tensor([[22, 1, 20, 1, 18, 0]])",25,24,False +"tensor([[22, 1, 20, 1, 18, 0, 25]])",1,1,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1]])",20,20,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20]])",1,1,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1]])",22,19,False +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22]])",1,1,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1]])",6,6,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6]])",1,1,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1]])",22,17,False +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22]])",0,0,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0]])",29,29,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29]])",30,30,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30]])",26,26,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26]])",27,27,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3]])",25,25,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 25]])",4,4,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 25, 4]])",0,0,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 25, 4, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 25, 4, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 25, 4, 0, 2, 1]])",28,28,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 25, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31]])",0,0,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0]])",2,2,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2]])",1,1,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1]])",11,11,True +"tensor([[22, 1, 20, 1, 18, 0, 25, 1, 20, 1, 22, 1, 6, 1, 22, 0, 29, 30, + 26, 27, 31, 3, 25, 4, 0, 2, 1, 28, 32, 31, 29, 32, 31, 0, 2, 1, + 11]])",16,16,True +tensor([[21]]),1,1,True +"tensor([[21, 1]])",20,5,False +"tensor([[21, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1]])",13,17,False +"tensor([[21, 1, 20, 1, 13]])",0,0,True +"tensor([[21, 1, 20, 1, 13, 0]])",25,21,False +"tensor([[21, 1, 20, 1, 13, 0, 25]])",1,1,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1]])",19,17,False +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19]])",0,0,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0]])",22,22,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22]])",1,1,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1]])",20,20,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20]])",1,1,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1]])",25,11,False +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25]])",1,1,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1]])",7,5,False +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7]])",1,1,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1]])",21,21,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21]])",0,0,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0]])",29,29,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29]])",30,30,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30]])",26,26,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26]])",27,27,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27]])",31,31,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31]])",3,3,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3]])",22,25,False +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22]])",4,4,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4]])",0,0,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1]])",28,28,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29]])",32,32,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32]])",31,31,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31]])",0,0,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0]])",2,2,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2]])",1,1,True +"tensor([[21, 1, 20, 1, 13, 0, 25, 1, 20, 1, 19, 0, 22, 1, 20, 1, 25, 1, + 7, 1, 21, 0, 29, 30, 26, 27, 31, 3, 22, 4, 0, 2, 1, 28, 32, 31, + 29, 32, 31, 0, 2, 1]])",16,16,True +tensor([[25]]),1,1,True +"tensor([[25, 1]])",20,20,True +"tensor([[25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1]])",14,14,True +"tensor([[25, 1, 20, 1, 14]])",0,0,True +"tensor([[25, 1, 20, 1, 14, 0]])",25,24,False +"tensor([[25, 1, 20, 1, 14, 0, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1]])",20,20,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20]])",1,1,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1]])",14,21,False +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14]])",1,0,False +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1]])",5,5,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5]])",1,1,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1]])",25,25,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25]])",0,0,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0]])",29,29,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29]])",30,30,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30]])",26,26,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26]])",27,27,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3]])",25,25,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25]])",1,1,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1]])",9,5,False +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9]])",1,1,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1]])",18,25,False +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18]])",4,4,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18, 4]])",0,0,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18, 4, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18, 4, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18, 4, 0, 2, 1]])",28,28,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31]])",0,0,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])",2,2,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2]])",1,1,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1]])",12,11,False +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1, 12]])",8,8,True +"tensor([[25, 1, 20, 1, 14, 0, 25, 1, 20, 1, 14, 1, 5, 1, 25, 0, 29, 30, + 26, 27, 31, 3, 25, 1, 9, 1, 18, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1, 12, 8]])",10,10,True +tensor([[24]]),1,1,True +"tensor([[24, 1]])",20,20,True +"tensor([[24, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1]])",17,15,False +"tensor([[24, 1, 20, 1, 17]])",0,1,False +"tensor([[24, 1, 20, 1, 17, 0]])",23,22,False +"tensor([[24, 1, 20, 1, 17, 0, 23]])",1,1,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1]])",20,20,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20]])",1,1,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1]])",12,18,False +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12]])",1,0,False +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1]])",6,9,False +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6]])",1,1,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1]])",18,12,False +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18]])",0,0,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0]])",29,29,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29]])",30,30,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30]])",26,26,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26]])",27,27,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27]])",31,31,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31]])",3,3,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3]])",24,23,False +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24]])",1,1,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1]])",5,5,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5]])",1,1,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1]])",11,11,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 11]])",4,4,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 11, 4]])",0,0,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 11, 4, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 11, 4, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 11, 4, 0, 2, 1]])",28,28,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 11, 4, 0, 2, 1, 28]])",32,32,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 11, 4, 0, 2, 1, 28, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 11, 4, 0, 2, 1, 28, 32, 31]])",29,29,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 11, 4, 0, 2, 1, 28, 32, 31, 29]])",32,32,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 11, 4, 0, 2, 1, 28, 32, 31, 29, 32]])",31,31,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 11, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31]])",0,0,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 11, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0]])",2,2,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 11, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2]])",1,1,True +"tensor([[24, 1, 20, 1, 17, 0, 23, 1, 20, 1, 12, 1, 6, 1, 18, 0, 29, 30, + 26, 27, 31, 3, 24, 1, 5, 1, 11, 4, 0, 2, 1, 28, 32, 31, 29, 32, + 31, 0, 2, 1]])",17,17,True diff --git a/tasks/line _execution_counting/README.md b/tasks/line _execution_counting/README.md new file mode 100644 index 0000000..d7145c0 --- /dev/null +++ b/tasks/line _execution_counting/README.md @@ -0,0 +1,30 @@ +# Line execution counting guide + +the task consists of the model predicting the count of how many lines of code will be executed given a random python code snippet + + +this folder contains .py and .ipynb files achieving the following goals : + +## Data generation + +[tinypy_generator.py](./tinypy_generator.py) is the main file that generates the dataset in the form of labeled python code snippets, this file is a modified version of the original [tinypy_generator](https://github.com/MarwaNair/TinyPy-Generator) which generates python code snippets and labels it with the output of that code. + +for our case, we will keep the code snippet, and just change the label, instead of labeling with the code output, we will label with the line count, hence the modification. + +the modification that you would notice after exploring that [file](./tinypy_generator.py) is that a new independent method has been added - given a python code snippet, the method returns its count - + +for the sake of experiments, that same method has been written in a separate demonstrative .py file : [lineCounter.py](./lineCounter.py), the method accepts any functionning python code as an input. + +a detailed explanation of how that method works is provided in the following [Docs](https://docs.google.com/document/d/1Fz0KGN1wb-6rVqU0BdrTBSaodM-pksPXhfoAGQbU7Dk/edit?usp=sharing) file. + +## Data split + +before moving on to finetuning, [prepare.py](./prepare.py) makes it possible to format the data generated previously, from a .txt file it splits the code examples into training, evaluation and test examples, saved in 3 separate files, in addition to generating a meta.pkl file that will help in the next stage "retrieve the needed information about the generated data"... + +## Finetuning the model + +[finetuning.ipynb](./finetuning.ipynb) contains the entire process "explained in the comments" that follows data generation : +- Data preparation "tokenization.. etc" +- Model structure definition "and lora implementation" +- Training "or finetuning if lora is activated" +- Evaluation \ No newline at end of file diff --git a/tasks/line _execution_counting/finetuning.ipynb b/tasks/line _execution_counting/finetuning.ipynb new file mode 100644 index 0000000..4d6b600 --- /dev/null +++ b/tasks/line _execution_counting/finetuning.ipynb @@ -0,0 +1 @@ +{"cells":[{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"aa556b17-8ea0-4788-aea8-8d6259526157","_uuid":"a14f6813-426a-4666-9280-7ed88ebdb85e","collapsed":false,"execution":{"iopub.execute_input":"2024-09-23T12:47:30.282920Z","iopub.status.busy":"2024-09-23T12:47:30.282569Z","iopub.status.idle":"2024-09-23T12:47:30.288207Z","shell.execute_reply":"2024-09-23T12:47:30.287329Z","shell.execute_reply.started":"2024-09-23T12:47:30.282894Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"outputs":[],"source":["import random\n","import os\n","import pickle\n","import time\n","import datetime\n","import torch\n","import torch.nn as nn\n","import torch.nn.functional as F\n","from torch.optim.lr_scheduler import StepLR\n","import numpy as np\n","import pandas as pd\n","from tqdm import tqdm\n","import re"]},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"063623b6-121d-4c18-a660-93d2f1be3305","_uuid":"f10e66ef-f466-4cfc-8ddb-594df92adb45","collapsed":false,"execution":{"iopub.execute_input":"2024-09-23T12:47:31.741666Z","iopub.status.busy":"2024-09-23T12:47:31.741274Z","iopub.status.idle":"2024-09-23T12:47:31.747701Z","shell.execute_reply":"2024-09-23T12:47:31.746726Z","shell.execute_reply.started":"2024-09-23T12:47:31.741638Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"outputs":[],"source":["# Set the random seed for reproducibility\n","seed = 42\n","torch.manual_seed(seed) \n","random.seed(seed)\n","np.random.seed(seed)\n","\n","# Set the device to GPU if available, otherwise CPU\n","device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\n","print(f\"Device set to {device}.\")"]},{"cell_type":"markdown","metadata":{"_cell_guid":"4776333c-08cd-4127-bea7-d7ec8898df7b","_uuid":"f61836e4-3f71-432d-8c50-9de1ff2e05e0","trusted":true},"source":["# Data Preparation"]},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"fcc4b173-f5e5-4110-b14f-46a8fa6da9ae","_uuid":"0aa1c1b8-a945-4baa-8d46-3a08056a9004","collapsed":false,"execution":{"iopub.execute_input":"2024-09-23T12:47:33.450870Z","iopub.status.busy":"2024-09-23T12:47:33.450042Z","iopub.status.idle":"2024-09-23T12:47:33.455749Z","shell.execute_reply":"2024-09-23T12:47:33.454855Z","shell.execute_reply.started":"2024-09-23T12:47:33.450837Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"outputs":[],"source":["# Helper functions to load and save data\n","def save_data(data, file_path):\n"," with open(file_path, 'w') as f:\n"," f.write(data)\n","\n","def load_data(file_path):\n"," with open(file_path, 'r') as f:\n"," return f.read()"]},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"9731ee3f-b4d1-4b6e-afb2-859c56bef6c6","_uuid":"3da5ca68-e0d7-4aed-b89f-5f2a4ab910d9","collapsed":false,"execution":{"iopub.execute_input":"2024-09-23T12:47:44.813132Z","iopub.status.busy":"2024-09-23T12:47:44.812785Z","iopub.status.idle":"2024-09-23T12:47:44.817401Z","shell.execute_reply":"2024-09-23T12:47:44.816456Z","shell.execute_reply.started":"2024-09-23T12:47:44.813103Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"outputs":[],"source":["# Directory where the data is stored \"must contain 4 files : train.txt, val.txt, test.txt and a meta.pkl file\"\n","DATA_DIR = \"/yourDataDirectoryHere\"\n","# Directory where the model is stored\n","MODEL_DIR = \"/yourModelDirectoryHere\""]},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"ddae0037-0f42-425d-a2e9-4238f4c608f2","_uuid":"6d064118-585d-46a9-8f40-f9472fe879b4","collapsed":false,"execution":{"iopub.execute_input":"2024-09-23T12:47:46.392475Z","iopub.status.busy":"2024-09-23T12:47:46.391663Z","iopub.status.idle":"2024-09-23T12:47:46.403456Z","shell.execute_reply":"2024-09-23T12:47:46.402524Z","shell.execute_reply.started":"2024-09-23T12:47:46.392441Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"outputs":[],"source":["# Attempt to derive vocab_size from the dataset\n","\n","meta_path = os.path.join(DATA_DIR, 'meta.pkl')\n","vocab_size = None\n","\n","if os.path.exists(meta_path):\n"," with open(meta_path, 'rb') as f:\n"," meta = pickle.load(f)\n"," vocab_size = meta['vocab_size']\n"," print(f\"found vocab_size = {vocab_size} (inside {meta_path})\")\n","else:\n"," print(\"Meta file not found. Please ensure the meta.pkl file is present in the data directory.\")\n","\n","# Encode and decode functions for character-level Tokenzation \n","def encode(s):\n"," return [meta['stoi'][c] for c in s]\n","\n","def decode(l):\n"," return ''.join([meta['itos'][i] for i in l])"]},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"ff53a3e0-09ab-4396-90d9-cef86df0605b","_uuid":"1b2892b5-a904-4550-a8d6-ae8f51f1841f","collapsed":false,"execution":{"iopub.execute_input":"2024-09-23T12:47:48.476650Z","iopub.status.busy":"2024-09-23T12:47:48.476261Z","iopub.status.idle":"2024-09-23T12:47:49.391422Z","shell.execute_reply":"2024-09-23T12:47:49.390496Z","shell.execute_reply.started":"2024-09-23T12:47:48.476620Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"outputs":[],"source":["# Load data\n","train_data = load_data(os.path.join(DATA_DIR, 'train.txt'))\n","val_data = load_data(os.path.join(DATA_DIR, 'val.txt'))\n","test_data = load_data(os.path.join(DATA_DIR, 'test.txt'))\n","\n","# Encode data\n","train_ids = encode(train_data)\n","val_ids = encode(val_data)\n","test_ids = encode(test_data)\n","\n","# Save encoded data to bin files, make sure to choose \"Files only\" on the persistence option of the session so that you don't encode data each time\n","train_ids = np.array(train_ids, dtype=np.uint16)\n","val_ids = np.array(val_ids, dtype=np.uint16)\n","test_ids = np.array(test_ids, dtype=np.uint16)\n","\n","train_ids.tofile( 'train.bin')\n","val_ids.tofile( 'val.bin')\n","test_ids.tofile('test.bin')\n","\n","print(\"Encoded data saved as binary files.\")"]},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"125ce42e-8df9-4094-b0c5-242fcd99a597","_uuid":"6a2d1ac2-5ef7-441c-9837-050c59120ab9","collapsed":false,"execution":{"iopub.execute_input":"2024-09-23T12:47:51.225679Z","iopub.status.busy":"2024-09-23T12:47:51.225322Z","iopub.status.idle":"2024-09-23T12:47:51.230098Z","shell.execute_reply":"2024-09-23T12:47:51.229117Z","shell.execute_reply.started":"2024-09-23T12:47:51.225651Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"outputs":[],"source":["del(train_ids)\n","del(val_ids)\n","del(test_ids)"]},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"c53f3930-8d16-443d-a5ec-a6926f3f6cf4","_uuid":"9cd8ff5a-2170-4c53-be17-02ac7d0cffd9","collapsed":false,"execution":{"iopub.execute_input":"2024-09-23T12:47:52.915803Z","iopub.status.busy":"2024-09-23T12:47:52.915072Z","iopub.status.idle":"2024-09-23T12:47:52.920735Z","shell.execute_reply":"2024-09-23T12:47:52.919741Z","shell.execute_reply.started":"2024-09-23T12:47:52.915770Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"outputs":[],"source":["# Load encoded data\n","train_data = np.memmap(\"/kaggle/working/train.bin\", dtype=np.uint16, mode='r')\n","val_data = np.memmap(\"/kaggle/working/val.bin\", dtype=np.uint16, mode='r')"]},{"cell_type":"markdown","metadata":{"_cell_guid":"8574d987-cef6-47d1-b889-e8242a0bcd23","_uuid":"f4fc1523-1d72-49db-a3bc-8d521f236993","trusted":true},"source":["# Model"]},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"2d4305c5-c1c6-48b0-a048-953a98954854","_uuid":"1fd63d8c-f842-444c-9dc8-cab3263ae6e4","collapsed":false,"execution":{"iopub.execute_input":"2024-09-23T12:47:54.647417Z","iopub.status.busy":"2024-09-23T12:47:54.647052Z","iopub.status.idle":"2024-09-23T12:47:54.653828Z","shell.execute_reply":"2024-09-23T12:47:54.652930Z","shell.execute_reply.started":"2024-09-23T12:47:54.647386Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"outputs":[],"source":["# Hyperparameters for the GPT model\n","block_size = 256 # Maximum context length\n","n_embd = 372 # Embedding dimension\n","n_head = 6 # Number of attention heads\n","n_layer = 6 # Number of transformer blocks\n","dropout = 0 # Dropout rate\n","batch_size = 64 # Batch size for training\n","max_iters = 100_000 # Maximum number of iterations\n","learning_rate = 1e-3 # Initial Learning rate value\n","miles = [int(max_iters * m) for m in [0.7, 0.8, 0.9]] # Milestones for learning rate decay as fractions of max_iters\n","eval_interval = 10_000 # Evaluation interval\n","eval_iters = 1000 # Number of iterations for evaluation\n","vocab_size = 53 # Vocabulary size\n","\n","# Model to be fine-tuned \"set the model name without .pth\" (Keep it empty for training from scratch)\n","model_name = 'yourModelNameWithoutExtensionHere'\n","\n","# LoRA Rank - Set it to 0 if you want to train from scratch or perform full fine-tuning\n","lora_r = 12\n","\n","compile = False"]},{"cell_type":"code","execution_count":null,"metadata":{"execution":{"iopub.execute_input":"2024-09-23T12:47:57.166947Z","iopub.status.busy":"2024-09-23T12:47:57.166102Z","iopub.status.idle":"2024-09-23T12:47:57.171883Z","shell.execute_reply":"2024-09-23T12:47:57.170912Z","shell.execute_reply.started":"2024-09-23T12:47:57.166910Z"},"trusted":true},"outputs":[],"source":["print(f\"Data in tokens: {len(train_data)}\")\n","iters4epoch = len(train_data)//(batch_size * block_size)\n","print(f\"Number of iters for one pseudo-epoch : {iters4epoch}\")\n","print(f\"Number of pseudo-epochs : {max_iters / iters4epoch:.2f}\")"]},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"17ff6e02-86d2-4f49-a384-be8c035377a7","_uuid":"9c3a2af2-99a7-4657-bb8d-168a3e8dfcfb","collapsed":false,"execution":{"iopub.execute_input":"2024-09-23T12:47:59.282904Z","iopub.status.busy":"2024-09-23T12:47:59.282430Z","iopub.status.idle":"2024-09-23T12:47:59.430364Z","shell.execute_reply":"2024-09-23T12:47:59.429483Z","shell.execute_reply.started":"2024-09-23T12:47:59.282864Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"outputs":[],"source":["# defining the entire structure of the model, and in parallel implementing lora\n","class LayerNorm(nn.Module):\n"," \"\"\" LayerNorm with an optional bias. PyTorch's LayerNorm doesn't support simply bias=False \"\"\"\n","\n"," def __init__(self, ndim, bias):\n"," super().__init__()\n"," self.weight = nn.Parameter(torch.ones(ndim))\n"," self.bias = nn.Parameter(torch.zeros(ndim)) if bias else None\n","\n"," def forward(self, input):\n"," return F.layer_norm(input, self.weight.shape, self.weight, self.bias, 1e-5)\n","\n","class Head(nn.Module):\n"," \"\"\"One head of self-attention.\"\"\"\n","\n"," def __init__(self, head_size):\n"," super().__init__()\n"," self.key = nn.Linear(n_embd, head_size, bias=False)\n"," self.query = nn.Linear(n_embd, head_size, bias=False)\n"," self.value = nn.Linear(n_embd, head_size, bias=False)\n"," self.flash = hasattr(torch.nn.functional, 'scaled_dot_product_attention')\n"," self.dropout = nn.Dropout(dropout)\n","\n"," def forward(self, x):\n"," B, T, C = x.shape\n"," k = self.key(x) # (B, T, head_size)\n"," q = self.query(x) # (B, T, head_size)\n"," v = self.value(x) # (B, T, head_size)\n","\n"," # Apply scaled dot-product attention\n"," out = torch.nn.functional.scaled_dot_product_attention(\n"," q, k, v, attn_mask=None, dropout_p=dropout if self.training else 0, is_causal=True\n"," )\n"," \n"," return out\n"," \n","\n","class MultiHeadAttention(nn.Module):\n"," \"\"\"Multiple heads of self-attention in parallel.\"\"\"\n","\n"," def __init__(self, num_heads, head_size):\n"," super().__init__()\n"," self.heads = nn.ModuleList([Head(head_size) for _ in range(num_heads)])\n"," self.proj = nn.Linear(n_embd, n_embd)\n"," self.dropout = nn.Dropout(dropout)\n"," \n"," def forward(self, x):\n"," # Concatenate the outputs from each head\n"," out = torch.cat([h(x) for h in self.heads], dim=-1)\n"," out = self.dropout(self.proj(out))\n"," return out\n"," \n","class FeedForward(nn.Module):\n"," \"\"\"A simple linear layer followed by a non-linearity.\"\"\"\n","\n"," def __init__(self, n_embd):\n"," super().__init__()\n"," self.net = nn.Sequential(\n"," nn.Linear(n_embd, 4 * n_embd, bias=False),\n"," nn.GELU(),\n"," nn.Linear(4 * n_embd, n_embd, bias=False),\n"," nn.Dropout(dropout),\n"," )\n","\n"," def forward(self, x):\n"," return self.net(x)\n","\n","class LinearLoRA(nn.Module):\n"," def __init__(self, original_layer, rank=8):\n"," super().__init__()\n"," self.original_layer = original_layer\n"," self.original_layer.weight.requires_grad = False\n"," self.rank = rank\n"," \n"," self.lora_a = nn.Parameter(torch.randn((original_layer.in_features, rank)))\n"," self.lora_b = nn.Parameter(torch.randn((rank, original_layer.out_features)))\n"," \n"," self.reset_parameters()\n"," \n"," def reset_parameters(self):\n"," nn.init.kaiming_uniform_(self.lora_a, a=np.sqrt(5))\n"," nn.init.zeros_(self.lora_b)\n"," \n"," def forward(self, x):\n"," lora_output = x @ self.lora_a @ self.lora_b\n"," return self.original_layer(x) + lora_output\n"," \n","class Block(nn.Module):\n"," \"\"\"Transformer block: communication followed by feedforward.\"\"\"\n","\n"," def __init__(self, n_embd, n_head):\n"," super().__init__()\n"," head_size = n_embd // n_head\n"," self.sa = MultiHeadAttention(n_head, head_size)\n"," self.ffwd = FeedForward(n_embd)\n"," self.ln1 = nn.LayerNorm(n_embd, bias=False)\n"," self.ln2 = nn.LayerNorm(n_embd, bias=False)\n","\n"," def forward(self, x):\n"," x = x + self.sa(self.ln1(x))\n"," x = x + self.ffwd(self.ln2(x))\n"," return x\n","\n","class GPT(nn.Module):\n"," \"\"\"GPT language model.\"\"\"\n","\n"," def __init__(self):\n"," super().__init__()\n"," self.token_embedding_table = nn.Embedding(vocab_size, n_embd)\n"," self.position_embedding_table = nn.Embedding(block_size, n_embd)\n"," self.blocks = nn.Sequential(*[Block(n_embd, n_head=n_head) for _ in range(n_layer)])\n"," self.ln_f = nn.LayerNorm(n_embd, bias=False) \n"," self.lm_head = nn.Linear(n_embd, vocab_size)\n","\n"," def forward(self, idx, targets=None):\n"," B, T = idx.shape\n","\n"," # Token and position embeddings\n"," tok_emb = self.token_embedding_table(idx) # (B, T, n_embd)\n"," pos_emb = self.position_embedding_table(torch.arange(T, device=device)) # (T, n_embd)\n"," x = tok_emb + pos_emb # (B, T, n_embd)\n"," x = self.blocks(x) # (B, T, n_embd)\n"," x = self.ln_f(x) # (B, T, n_embd)\n"," logits = self.lm_head(x) # (B, T, vocab_size)\n","\n"," # Compute loss if targets are provided\n"," if targets is None:\n"," loss = None\n"," else:\n"," B, T, C = logits.shape\n"," logits = logits.view(B * T, C)\n"," targets = targets.view(B * T)\n"," loss = F.cross_entropy(logits, targets)\n","\n"," return logits, loss\n"," \n"," def generate(self, idx, max_new_tokens):\n"," \"\"\"Generate new tokens given an initial context `idx`.\"\"\"\n"," for _ in range(max_new_tokens):\n"," idx_cond = idx[:, -block_size:] # Crop to the last block_size tokens\n"," logits, _ = self(idx_cond)\n"," logits = logits[:, -1, :] # Focus on the last time step\n"," probs = F.softmax(logits, dim=-1) # Convert to probabilities\n"," idx_next = torch.multinomial(probs, num_samples=1) # Sample from the distribution\n"," idx = torch.cat((idx, idx_next), dim=1) # Append sampled index to the sequence\n"," return idx\n"," \n"," def activate_lora(self, r=8, heads_only=False, freeze_others=True):\n"," self.lora_rank = r\n"," self.replace_multihead_attention_recursion(heads_only)\n"," if freeze_others:\n"," self.freeze_parameters_except_lora_and_bias()\n"," \n"," def replace_multihead_attention_recursion(self, heads_only=False, model=None):\n"," children = self.named_children() if model is None else model.named_children()\n"," for name, module in children:\n"," if heads_only and name in {\"query\", \"key\", \"value\"}:\n"," # Replace with Lora SelfAttention\n"," new_layer = LinearLoRA(module, rank=self.lora_rank)\n","\n"," if model == None:\n"," self.__setattr__(name, new_layer)\n"," else:\n"," setattr(model, name, new_layer)\n"," \n"," elif isinstance(module, nn.Linear) and not heads_only:\n"," new_layer = LinearLoRA(module, rank=self.lora_rank)\n"," \n"," if model == None:\n"," self.__setattr__(name, new_layer)\n"," else:\n"," setattr(model, name, new_layer)\n"," \n"," else:\n"," # Recursive call for child modules\n"," self.replace_multihead_attention_recursion(heads_only, model=module)\n"," \n"," \n"," def freeze_parameters_except_lora_and_bias(self):\n"," for name, param in self.named_parameters():\n"," is_trainable = (\n"," \"lora_\" in name\n"," #(self.train_layer_norms and \"LayerNorm\" in name)\n"," )\n","\n"," param.requires_grad = is_trainable"]},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"a716f789-f605-42d0-9494-d8927ed09a6f","_uuid":"be441d8d-c18b-4694-b2ff-607aac4b11e6","collapsed":false,"execution":{"iopub.execute_input":"2024-09-23T12:48:03.987746Z","iopub.status.busy":"2024-09-23T12:48:03.987386Z","iopub.status.idle":"2024-09-23T12:48:03.998567Z","shell.execute_reply":"2024-09-23T12:48:03.997639Z","shell.execute_reply.started":"2024-09-23T12:48:03.987716Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"outputs":[],"source":["# Get random batch of data\n","def get_batch(split):\n"," data = train_data if split == 'train' else val_data\n"," ix = torch.randint(len(data) - block_size, (batch_size,))\n"," x = torch.stack([torch.from_numpy((data[i:i+block_size]).astype(np.int64)) for i in ix])\n"," y = torch.stack([torch.from_numpy((data[i+1:i+1+block_size]).astype(np.int64)) for i in ix])\n"," x, y = x.to(device), y.to(device)\n"," return x, y\n","\n","# Estimate loss on train and val splits\n","@torch.no_grad()\n","def estimate_loss():\n"," out = {}\n"," model.eval()\n"," for split in ['train', 'val']:\n"," losses = torch.zeros(eval_iters) \n"," for k in range(eval_iters):\n"," X, Y = get_batch(split)\n"," logits, loss = model(X, Y)\n"," losses[k] = loss.item()\n"," out[split] = losses.mean()\n"," model.train()\n"," return out\n","\n","\n","# Helper function to make large numbers of parameters human-readable\n","def human_readable(num):\n"," magnitude = 0\n"," while abs(num) >= 1000:\n"," magnitude += 1\n"," num /= 1000.0\n"," return '%.0f%s' % (num, ['', 'K', 'M', 'G', 'T', 'P'][magnitude])"]},{"cell_type":"code","execution_count":null,"metadata":{"execution":{"iopub.execute_input":"2024-09-23T12:48:08.446054Z","iopub.status.busy":"2024-09-23T12:48:08.445693Z","iopub.status.idle":"2024-09-23T12:48:08.456231Z","shell.execute_reply":"2024-09-23T12:48:08.455320Z","shell.execute_reply.started":"2024-09-23T12:48:08.446025Z"},"trusted":true},"outputs":[],"source":["# load the language model\n","def load_model():\n"," \"\"\"\n"," Load pre-trained model based on the provided model name.\n"," \"\"\"\n"," model_path = os.path.join(MODEL_DIR, f\"{model_name}.pth\")\n"," if not os.path.exists(model_path):\n"," raise FileNotFoundError(f\"Model file '{model_path}' not found.\")\n"," \n"," model = GPT()\n"," print(\"Compiling the model...\\n\")\n"," r = -1\n"," if compile:\n"," try:\n"," model = torch.compile(model) # requires PyTorch 2.0\n"," except Exception as e:\n"," pass\n","\n"," checkpoint = torch.load(model_path, map_location=device)\n"," if 'lora_rank' in checkpoint.keys():\n"," r = checkpoint['lora_rank']\n"," state = checkpoint['state_dict']\n","\n"," if r > 0:\n"," model.activate_lora(r)\n"," model.load_state_dict(state)\n"," else:\n"," model.load_state_dict(checkpoint)\n"," else:\n"," checkpoint = torch.load(model_path, map_location=device)\n"," if 'lora_rank' in checkpoint.keys():\n"," r = checkpoint['lora_rank']\n"," state_dict = checkpoint['state_dict']\n","\n"," if r > 0:\n"," model.activate_lora(r)\n"," else:\n"," state_dict = checkpoint\n"," \n"," state_dict_keys = map(lambda x: x.replace(\"_orig_mod.\", \"\"), state_dict.keys())\n"," state_dict = dict(zip(state_dict_keys, state_dict.values()))\n"," model.load_state_dict(state_dict)\n","\n"," m = model.to(device)\n"," return m, (r > 0)"]},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"21de39d0-d298-45ce-a590-c6be400f31e8","_uuid":"db1edcb0-7dae-40b8-99f0-3a524bd1311e","collapsed":false,"execution":{"iopub.execute_input":"2024-09-23T12:48:10.715656Z","iopub.status.busy":"2024-09-23T12:48:10.714845Z","iopub.status.idle":"2024-09-23T12:48:11.061542Z","shell.execute_reply":"2024-09-23T12:48:11.060652Z","shell.execute_reply.started":"2024-09-23T12:48:10.715624Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"outputs":[],"source":["# Initialize model and move it to the device (GPU)\n","if len(model_name) > 0:\n"," print(\"Loading model...\\n\")\n"," model, r_exists = load_model()\n","\n","else:\n"," model = GPT()\n"," m = model.to(device)\n"," r_exists = False\n","\n"," # compile the model\n"," if compile:\n"," print(\"compiling the model... (takes a ~minute)\")\n"," model = torch.compile(model)\n","\n","if lora_r > 0 and not r_exists:\n"," print(\"Activating LoRA...\")\n"," model.activate_lora(lora_r)\n"," model = model.to(device)\n","\n","num_parameters = sum(p.numel() for p in model.parameters() if p.requires_grad)\n","num_parameters_hr = human_readable(num_parameters)\n","print(f'The model has {num_parameters_hr} trainable parameters')"]},{"cell_type":"markdown","metadata":{"_cell_guid":"ac1fe251-e0c8-4079-9da4-68aff59262f4","_uuid":"8cdf45cc-0d3a-43a9-b10d-5381799a21f2","trusted":true},"source":["# Training"]},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"e725706a-19a1-4e82-91b1-514dd0488f33","_uuid":"45093d41-9498-45e4-b93b-95b0b239c0af","collapsed":false,"execution":{"iopub.execute_input":"2024-09-11T16:44:05.970233Z","iopub.status.busy":"2024-09-11T16:44:05.969481Z","iopub.status.idle":"2024-09-11T16:44:07.752808Z","shell.execute_reply":"2024-09-11T16:44:07.751536Z","shell.execute_reply.started":"2024-09-11T16:44:05.970172Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"outputs":[],"source":["# Initialize optimizer\n","optimizer = torch.optim.AdamW(model.parameters(), lr=learning_rate)\n","\n","# Initialize learning rate scheduler\n","scheduler = torch.optim.lr_scheduler.MultiStepLR(optimizer, milestones=miles, gamma=0.1)"]},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"76b8e469-893d-4151-a175-99b54dbabe60","_uuid":"534a6c6a-e6b8-4632-8078-86aab93500de","collapsed":false,"execution":{"iopub.execute_input":"2024-09-11T10:57:07.371504Z","iopub.status.busy":"2024-09-11T10:57:07.371046Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"outputs":[],"source":["# Get current date and hour to get track of experiments\n","now = datetime.datetime.now()\n","date_hour = now.strftime(\"%Y-%m-%d_%H-%M\")\n","\n","# Train\n","# Start training timer\n","start_time = time.time()\n","\n","# Training loop\n","for iter in range(max_iters):\n","\n"," # evaluate the model on the train and val splits and log the losses\n"," if iter % eval_interval == 0:\n"," losses = estimate_loss()\n"," print(f'iter {iter:5d} | train loss {losses[\"train\"]:.4f} | val loss {losses[\"val\"]:.4f}')\n"," \n"," # train the model for one iteration\n"," xb, yb = get_batch('train')\n","\n"," # forward passd\n"," logits, loss = model(xb, yb)\n"," optimizer.zero_grad(set_to_none=True)\n"," #loss.requires_grad = True\n"," loss.backward()\n"," optimizer.step()\n","\n"," # Step the scheduler\n"," scheduler.step()\n","\n","# End training timer\n","end_time = time.time()\n","print(f'Training time: {(end_time - start_time) / 60} min')\n","\n","# Save the trained model\n","model_path = f\"{num_parameters_hr}_{date_hour}.pth\"\n","checkpoint = {\n"," 'lora_rank': model.lora_rank if(hasattr(model, \"lora_rank\")) else -1,\n"," 'state_dict': model.state_dict()\n","}\n","\n","torch.save(checkpoint, model_path)\n","print(f\"Model saved to {model_path}\\n\")"]},{"cell_type":"markdown","metadata":{"_cell_guid":"e831564c-6b76-489b-98b0-69cad098fdd6","_uuid":"facd8250-1fd4-4486-a9a6-f099df266caf","trusted":true},"source":["# Evaluation"]},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"d8071f1a-961b-4410-ae36-ba54b5b525d0","_uuid":"f4e10d4c-a4c8-4e6b-891e-f3d14947adfb","collapsed":false,"execution":{"iopub.execute_input":"2024-09-23T12:48:15.483123Z","iopub.status.busy":"2024-09-23T12:48:15.482531Z","iopub.status.idle":"2024-09-23T12:48:15.490084Z","shell.execute_reply":"2024-09-23T12:48:15.489192Z","shell.execute_reply.started":"2024-09-23T12:48:15.483092Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"outputs":[],"source":["test_data = np.memmap('test.bin', dtype=np.uint16, mode='r')"]},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"f3d6ae4b-e069-43bd-be3f-9e46f19146d3","_uuid":"2e9f95ba-ca83-48bc-bb18-8910efc37422","collapsed":false,"execution":{"iopub.execute_input":"2024-09-23T12:48:20.950761Z","iopub.status.busy":"2024-09-23T12:48:20.950432Z","iopub.status.idle":"2024-09-23T12:48:20.961347Z","shell.execute_reply":"2024-09-23T12:48:20.960565Z","shell.execute_reply.started":"2024-09-23T12:48:20.950737Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"outputs":[],"source":["# Evaluate example \"line execution counting\"\n","def evaluate_example(model, example, max_new_tokens=30):\n"," \n"," # Split example and determine maximum new tokens allowed\n"," splited_example = example.split(\"# count\")\n"," if not (\"for\" in splited_example[0]):\n"," max_new_tokens = 22\n"," # Encode prompt and prepare for evaluation \n"," encoded_example = torch.tensor(encode(splited_example[0] + \"# count\"), dtype=torch.long).unsqueeze(0).to(device)\n"," prompt_text = splited_example[0] + \"# count\"\n"," result_example = splited_example[-1]\n"," \n"," # Extract real results from example\n"," real_results = [float(match.group()) for match in re.finditer(r\"(?<=# )-?\\d+(\\.\\d+)?\", result_example.split('\\n\\n')[0].replace(\"\\n\", \"\"))]\n"," \n"," # Generate response from model and extract generated results\n"," try:\n"," response = decode(model.generate(encoded_example, max_new_tokens=max_new_tokens)[0].tolist())\n"," splited_response = response.split(\"# count\")\n"," result_response = splited_response[-1]\n"," generated_results = [float(match.group()) for match in re.finditer(r\"(?<=# )-?\\d+(\\.\\d+)?\", result_response.split('\\n\\n')[0].replace(\"\\n\", \"\"))]\n"," except:\n"," generated_results = \"error\"\n"," return prompt_text, real_results, generated_results\n","\n","\n","\n","# Write results to file\n","def write_results_to_file(output_file, prompt, real_results, generated_results):\n"," df = pd.DataFrame({\n"," 'Prompt': prompt,\n"," 'Real_Results': real_results,\n"," 'Generated_Results': generated_results\n"," })\n"," df.to_csv(output_file, index=False)"]},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"2536ece9-1d3c-4373-b308-fd1049f3297f","_uuid":"7b21f8fd-2e4c-443b-8120-e0af732bf558","collapsed":false,"execution":{"iopub.execute_input":"2024-09-23T12:48:31.214124Z","iopub.status.busy":"2024-09-23T12:48:31.213222Z","iopub.status.idle":"2024-09-23T13:32:13.381039Z","shell.execute_reply":"2024-09-23T13:32:13.380177Z","shell.execute_reply.started":"2024-09-23T12:48:31.214089Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"outputs":[],"source":["# Evaluation Loop\n","\n","# Split examples and initialize lists for results\n","examples = decode(test_data).split(\"\\n\\n\")\n","examples = [example for example in examples if example]\n","# Taking a subset of the examples for short \"aimed for verification purposes\" evaluations\n","example_subset = examples[:5000]\n","# Start evaluation process\n","prompt = []\n","real_results = []\n","generated_results = []\n","\n","# Iterate through examples and evaluate the model on each one\n","for example in tqdm(example_subset):\n"," prompt_text, real_result, result = evaluate_example(model, example)\n"," prompt.append(prompt_text)\n"," real_results.append(real_result)\n"," generated_results.append(result)\n","\n","# Calculate and print accuracy\n","correct_count = sum(1 for real, generated in zip(real_results, generated_results) if real == generated)\n","accuracy = correct_count / len(generated_results)\n","print(f\"Accuracy: {accuracy * 100:.2f}%\")\n","\n","# Store accuracy in a file\n","with open(\"accuracy.txt\", 'w') as f:\n"," f.write(f\"Accuracy: {accuracy * 100:.2f}%\\n\")\n","\n","# Store predictions in a CSV file\n"," write_results_to_file(\"predictions.csv\", prompt, real_results, generated_results)"]}],"metadata":{"kaggle":{"accelerator":"gpu","dataSources":[{"datasetId":5419152,"sourceId":9104825,"sourceType":"datasetVersion"},{"datasetId":5544565,"sourceId":9174472,"sourceType":"datasetVersion"},{"datasetId":5546822,"sourceId":9177797,"sourceType":"datasetVersion"},{"datasetId":5527817,"sourceId":9194009,"sourceType":"datasetVersion"},{"datasetId":5559645,"sourceId":9196288,"sourceType":"datasetVersion"},{"datasetId":5560892,"sourceId":9198028,"sourceType":"datasetVersion"},{"datasetId":5560896,"sourceId":9198035,"sourceType":"datasetVersion"},{"datasetId":5560904,"sourceId":9198045,"sourceType":"datasetVersion"},{"datasetId":5566438,"sourceId":9206254,"sourceType":"datasetVersion"},{"datasetId":5592996,"sourceId":9245526,"sourceType":"datasetVersion"},{"datasetId":5596284,"sourceId":9250376,"sourceType":"datasetVersion"},{"datasetId":5603809,"sourceId":9261202,"sourceType":"datasetVersion"},{"datasetId":5603815,"sourceId":9261210,"sourceType":"datasetVersion"},{"datasetId":5628994,"sourceId":9297219,"sourceType":"datasetVersion"},{"datasetId":5628996,"sourceId":9297222,"sourceType":"datasetVersion"},{"datasetId":5628998,"sourceId":9297227,"sourceType":"datasetVersion"},{"datasetId":5628999,"sourceId":9297228,"sourceType":"datasetVersion"},{"datasetId":5629001,"sourceId":9297232,"sourceType":"datasetVersion"},{"datasetId":5629005,"sourceId":9297237,"sourceType":"datasetVersion"},{"datasetId":5670920,"sourceId":9354642,"sourceType":"datasetVersion"},{"datasetId":5673838,"sourceId":9358533,"sourceType":"datasetVersion"},{"datasetId":5673878,"sourceId":9358581,"sourceType":"datasetVersion"},{"datasetId":5676378,"sourceId":9361789,"sourceType":"datasetVersion"},{"datasetId":5676476,"sourceId":9361942,"sourceType":"datasetVersion"},{"datasetId":5680088,"sourceId":9366638,"sourceType":"datasetVersion"},{"datasetId":5681041,"sourceId":9367903,"sourceType":"datasetVersion"},{"datasetId":5707886,"sourceId":9402486,"sourceType":"datasetVersion"},{"datasetId":5708526,"sourceId":9403279,"sourceType":"datasetVersion"},{"datasetId":5708753,"sourceId":9403553,"sourceType":"datasetVersion"},{"datasetId":5720522,"sourceId":9418762,"sourceType":"datasetVersion"},{"datasetId":5749118,"sourceId":9457179,"sourceType":"datasetVersion"},{"datasetId":5749126,"sourceId":9457191,"sourceType":"datasetVersion"},{"datasetId":5752981,"sourceId":9462317,"sourceType":"datasetVersion"},{"datasetId":5753388,"sourceId":9462832,"sourceType":"datasetVersion"},{"modelId":103985,"modelInstanceId":79512,"sourceId":94818,"sourceType":"modelInstanceVersion"},{"modelId":104098,"modelInstanceId":79617,"sourceId":94938,"sourceType":"modelInstanceVersion"},{"modelId":106026,"modelInstanceId":81700,"sourceId":97385,"sourceType":"modelInstanceVersion"},{"modelId":106655,"modelInstanceId":82335,"sourceId":98147,"sourceType":"modelInstanceVersion"},{"modelId":107006,"modelInstanceId":82700,"sourceId":98573,"sourceType":"modelInstanceVersion"},{"modelId":107017,"modelInstanceId":82711,"sourceId":98585,"sourceType":"modelInstanceVersion"},{"modelId":108993,"modelInstanceId":84758,"sourceId":101069,"sourceType":"modelInstanceVersion"},{"isSourceIdPinned":true,"modelId":109445,"modelInstanceId":85225,"sourceId":101650,"sourceType":"modelInstanceVersion"},{"isSourceIdPinned":true,"modelId":117231,"modelInstanceId":93025,"sourceId":111042,"sourceType":"modelInstanceVersion"},{"modelId":121705,"modelInstanceId":97518,"sourceId":116074,"sourceType":"modelInstanceVersion"},{"isSourceIdPinned":true,"modelId":124007,"modelInstanceId":99834,"sourceId":118695,"sourceType":"modelInstanceVersion"},{"isSourceIdPinned":true,"modelId":124376,"modelInstanceId":100207,"sourceId":119159,"sourceType":"modelInstanceVersion"}],"dockerImageVersionId":30747,"isGpuEnabled":true,"isInternetEnabled":true,"language":"python","sourceType":"notebook"},"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.10.13"}},"nbformat":4,"nbformat_minor":4} diff --git a/tasks/line _execution_counting/lineCounter.py b/tasks/line _execution_counting/lineCounter.py new file mode 100644 index 0000000..7964dbd --- /dev/null +++ b/tasks/line _execution_counting/lineCounter.py @@ -0,0 +1,47 @@ +import sys +from io import StringIO +from contextlib import redirect_stdout + +def line_counter(code_snippet): + """ + this function counts how many lines of code in total have been executed + the function follows the following rules : + - a line is not counted if : + - it falls in a condition bloc where the condition is not verified + - it falls in a loop where the number of iterations is equal to zero + - a line is counted as much as it has been iterated through "if it sits in a for loop bloc for example " + """ + counter = 0 + + def trace_lines(frame, event, arg): + nonlocal counter # declaring the outer variable + if event == 'line': # every time the tracer detects the execution of a line of code + filename = frame.f_code.co_filename + if filename == '' : # counting only the lines that are in the code snippet we provided "and not in some other internal libraries" + counter += 1 # increment the global counter + return trace_lines + + + # Set the trace function + sys.settrace(trace_lines) + + # Capture the output of the program. + SIO = StringIO() + with redirect_stdout(SIO): + # executing the code, the execution is being traced by the trace_lines() function that has been set previously + exec(code_snippet,{'__file__': ''}) # Execute the code and setting the "fake file" name to so that we can recognise this code snippet later in trace_lines() + + # Disable the trace function + sys.settrace(None) + + return counter + +code_snippet = """e = 6 +e = 0 +e = 7 +if not (e != e) or ( e <= e) : + print(e) +else : + print(e)""" +number = line_counter(code_snippet) +print(f"\n{number} lines executed successfully\n") \ No newline at end of file diff --git a/tasks/line _execution_counting/prepare.py b/tasks/line _execution_counting/prepare.py new file mode 100644 index 0000000..52612cd --- /dev/null +++ b/tasks/line _execution_counting/prepare.py @@ -0,0 +1,84 @@ +import os +import pickle +import requests +import numpy as np + +# change the file name which contains the entire dataset, so that it can be fragmented later on to : train, eval and test data +input_file_path = os.path.join(os.path.dirname(__file__), 'fileNameHere.txt' ) + +with open(input_file_path, 'r') as f: + data = f.read() +print(f"length of dataset in characters: {len(data):,}\n") + + +# get all the unique characters that occur in this text +chars = sorted(list(set(data))) +vocab_size = len(chars) +print("all the unique characters:", ''.join(chars)) +print(f"vocab size: {vocab_size:,}") + +# create a mapping from characters to integers +stoi = { ch:i for i,ch in enumerate(chars) } +itos = { i:ch for i,ch in enumerate(chars) } +def encode(s): + return [stoi[c] for c in s] # encoder: take a string, output a list of integers +def decode(l): + ''.join([itos[i] for i in l]) # decoder: take a list of integers, output a string + + +# save the meta information as well, to help us encode/decode later +meta = { + 'vocab_size': vocab_size, + 'itos': itos, + 'stoi': stoi, +} +with open(f'meta.pkl', 'wb') as f: + pickle.dump(meta, f) + + +# split by examples using "\n\n" +examples = data.split("\n\n")[:-1] +n = len(examples) +print(f"total number of examples: {n:,}\n") +# shuffle the examples +np.random.shuffle(examples) + +# split into train, val, and test sets +train_examples = examples[:int(n*0.8)] +val_examples = examples[int(n*0.8):int(n*0.9)] +test_examples = examples[int(n*0.9):] + +# join the examples back into strings +train_data = "\n\n".join(train_examples) +val_data = "\n\n".join(val_examples) +test_data = "\n\n".join(test_examples) + + + +# Save train, val, and test sets to separate files +with open(os.path.join(os.path.dirname(__file__), 'train.txt'), 'w') as f: + f.write(train_data) +with open(os.path.join(os.path.dirname(__file__), 'val.txt'), 'w') as f: + f.write(val_data) +with open(os.path.join(os.path.dirname(__file__), 'test.txt'), 'w') as f: + f.write(test_data) + + + + +# encode both to integers +train_ids = encode(train_data) +val_ids = encode(val_data) +test_ids = encode(test_data) +print(f"train has {len(train_ids):,} tokens for {len(train_examples):,} examples") +print(f"val has {len(val_ids):,} tokens for {len(val_examples):,} examples") +print(f"test has {len(test_ids):,} tokens for {len(test_examples):,} examples\n") + +# export to bin files +train_ids = np.array(train_ids, dtype=np.uint16) +val_ids = np.array(val_ids, dtype=np.uint16) +test_ids = np.array(test_ids, dtype=np.uint16) +train_ids.tofile(os.path.join(os.path.dirname(__file__), 'train.bin')) +val_ids.tofile(os.path.join(os.path.dirname(__file__), 'val.bin')) +test_ids.tofile(os.path.join(os.path.dirname(__file__), 'test.bin')) + diff --git a/tasks/line _execution_counting/tinypy_generator.py b/tasks/line _execution_counting/tinypy_generator.py new file mode 100644 index 0000000..087c76d --- /dev/null +++ b/tasks/line _execution_counting/tinypy_generator.py @@ -0,0 +1,358 @@ +from anytree import Node, RenderTree +import random +from io import StringIO +from contextlib import redirect_stdout +import argparse +import time +from tqdm.auto import tqdm +import hashlib +import os +import psutil +import sys + + +class CodeGenerator: + def __init__(self): + """ + Initialize the CodeGenerator object with the given context-free grammar rules. + + """ + + self.init_count = 0 + self.max_init = 0 + # Dictionary containing context-free grammar rules. + self.cfg_rules = { + # Variables and digits + "VARIABLE": ["a", "b", "c", "d", "e"], + "DIGIT": ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"], + + # Operators + "ARITHMETIC_OPERATOR": ["+", "-", "*", "/"], + "RELATIONAL_OPERATOR": ["<", ">", "<=", ">=", "!=", "=="], + "LOGICAL_OPERATOR_INFIX": ["and", "or"], + "LOGICAL_OPERATOR_PREFIX": ["not"], + "LOGICAL_OPERATOR": ["LOGICAL_OPERATOR_INFIX", "LOGICAL_OPERATOR_PREFIX"], + "OPERATOR": ["ARITHMETIC_OPERATOR"], + + # Formatting + "NEW_LINE": ["\n"], + "TAB_INDENT": ["\t"], + "BRACKET_OPEN": ['('], + "BRACKET_CLOSE": [')'], + "EQUALS": ["="], + "COLON": [":"], + "COMMA": [","], + + + # Keywords + "IF": ["if"], + "ELIF": ["elif"], + "ELSE": ["else"], + "FOR": ["for"], + "IN": ["in"], + "RANGE": ["range"], + "WHILE": ["while"], + "PRINT": ["print"], + + # Terms and expressions + "TERM": ["EXPRESSION_IDENTIFIER", "DIGIT"], + "EXPRESSION": ["TERM SPACE OPERATOR SPACE TERM"], + "ENCLOSED_EXPRESSION": ["BRACKET_OPEN EXPRESSION BRACKET_CLOSE"], + "DISPLAY_EXPRESSION": ["EXPRESSION_IDENTIFIER SPACE OPERATOR SPACE EXPRESSION_IDENTIFIER" , + "EXPRESSION_IDENTIFIER SPACE OPERATOR SPACE DIGIT"], + + # Initializations and assignments + "IDENTIFIER_INITIALIZATION": ["IDENTIFIER_INITIALIZATION INITIALIZATION", + "INITIALIZATION"], + + "INITIALIZATION": ["VARIABLE SPACE EQUALS SPACE DIGIT NEW_LINE"], + + "SIMPLE_ASSIGNMENTS": ["VARIABLE SPACE EQUALS SPACE EXPRESSION NEW_LINE" , ""], + "ADVANCED_ASSIGNMENTS": ["VARIABLE SPACE EQUALS SPACE SIMPLE_ARITHMETIC_EVALUATION NEW_LINE", + "VARIABLE SPACE EQUALS SPACE EXPRESSION NEW_LINE" , + ""], + + "SIMPLE_ARITHMETIC_EVALUATION": ["SIMPLE_ARITHMETIC_EVALUATION ARITHMETIC_OPERATOR ENCLOSED_EXPRESSION", + "ENCLOSED_EXPRESSION", + ], + + # Conditions + "SIMPLE_IF_STATEMENT": ["IF SPACE CONDITION SPACE COLON NEW_LINE"], + "ADVANCED_IF_STATEMENT": ["IF SPACE CHAIN_CONDITION SPACE COLON NEW_LINE"], + "SIMPLE_ELIF_STATEMENT": ["ELIF SPACE CONDITION SPACE COLON NEW_LINE"], + "ADVANCED_ELIF_STATEMENT": ["ELIF SPACE CHAIN_CONDITION SPACE COLON NEW_LINE"], + "ELSE_STATEMENT": ["ELSE SPACE COLON NEW_LINE"], + + "CHAIN_CONDITION": ["CHAIN_CONDITION SPACE LOGICAL_OPERATOR_INFIX SPACE ENCLOSED_CONDITION", + "LOGICAL_OPERATOR_PREFIX SPACE ENCLOSED_CONDITION", + "ENCLOSED_CONDITION"], + "ENCLOSED_CONDITION": ["BRACKET_OPEN CONDITION BRACKET_CLOSE"], + "CONDITION": ["OPTIONAL_NOT CONDITION_EXPRESSION", "CONDITION_EXPRESSION"], + "CONDITION_EXPRESSION": ["EXPRESSION_IDENTIFIER SPACE RELATIONAL_OPERATOR SPACE EXPRESSION_IDENTIFIER", + "EXPRESSION_IDENTIFIER SPACE RELATIONAL_OPERATOR SPACE DIGIT"], + "OPTIONAL_NOT": ["LOGICAL_OPERATOR_PREFIX SPACE", "SPACE"], + + # Loops + "FOR_HEADER": ["FOR SPACE EXPRESSION_IDENTIFIER SPACE IN SPACE RANGE BRACKET_OPEN INITIAL COMMA SPACE FINAL COMMA SPACE STEP BRACKET_CLOSE SPACE COLON", + "FOR SPACE EXPRESSION_IDENTIFIER SPACE IN SPACE RANGE BRACKET_OPEN INITIAL COMMA SPACE FINAL BRACKET_CLOSE SPACE COLON"], + "INITIAL": ["DIGIT"], + "FINAL": ["STEP * EXECUTION_COUNT + INITIAL - 1"], + "STEP": ["1", "2", "3"], + "EXECUTION_COUNT": [ "2", "3"], + "FOR_LOOP": ["FOR_HEADER NEW_LINE TAB_INDENT DISPLAY"], + "ADVANCED_FOR_LOOP": ["FOR_LOOP", + "FOR_HEADER NEW_LINE TAB_INDENT ADVANCED_DISPLAY"], + + + # Displaying + "DISPLAY" : ["PRINT BRACKET_OPEN DISPLAY_IDENTIFIER BRACKET_CLOSE"], + "ADVANCED_DISPLAY" : ["DISPLAY", + "PRINT BRACKET_OPEN DISPLAY_EXPRESSION BRACKET_CLOSE"], + + + "LEVEL1.1": ["IDENTIFIER_INITIALIZATION SIMPLE_ASSIGNMENTS ADVANCED_DISPLAY"], + "LEVEL1.2": ["IDENTIFIER_INITIALIZATION ADVANCED_ASSIGNMENTS ADVANCED_DISPLAY"], + "LEVEL2.1": ["IDENTIFIER_INITIALIZATION SIMPLE_IF_STATEMENT TAB_INDENT DISPLAY", + "IDENTIFIER_INITIALIZATION SIMPLE_IF_STATEMENT TAB_INDENT DISPLAY NEW_LINE SIMPLE_ELIF_STATEMENT TAB_INDENT DISPLAY NEW_LINE ELSE_STATEMENT TAB_INDENT DISPLAY", + "IDENTIFIER_INITIALIZATION SIMPLE_IF_STATEMENT TAB_INDENT DISPLAY NEW_LINE ELSE_STATEMENT TAB_INDENT DISPLAY"], + "LEVEL2.2": ["IDENTIFIER_INITIALIZATION ADVANCED_ASSIGNMENTS ADVANCED_IF_STATEMENT TAB_INDENT ADVANCED_DISPLAY", + "IDENTIFIER_INITIALIZATION ADVANCED_ASSIGNMENTS ADVANCED_IF_STATEMENT TAB_INDENT ADVANCED_DISPLAY NEW_LINE ADVANCED_ELIF_STATEMENT TAB_INDENT ADVANCED_DISPLAY NEW_LINE ELSE_STATEMENT TAB_INDENT ADVANCED_DISPLAY", + "IDENTIFIER_INITIALIZATION ADVANCED_ASSIGNMENTS ADVANCED_IF_STATEMENT TAB_INDENT ADVANCED_DISPLAY NEW_LINE ELSE_STATEMENT TAB_INDENT ADVANCED_DISPLAY"], + "LEVEL3.1": ["IDENTIFIER_INITIALIZATION FOR_LOOP"], + "LEVEL3.2": ["IDENTIFIER_INITIALIZATION ADVANCED_ASSIGNMENTS ADVANCED_FOR_LOOP"], + + "ALL": ["LEVEL1.1", "LEVEL1.2","LEVEL2.1", "LEVEL2.2","LEVEL3.1", "LEVEL3.2"], + + } + + def line_counter(self,code_snippet): + """ + this function counts how many lines of code in total have been executed + the function follows the following rules : + - a line is not counted if : + - it falls in a condition bloc where the condition is not verified + - it falls in a loop where the number of iterations is equal to zero + - a line is counted as much as it has been iterated through "if it sits in a for loop bloc for example " + """ + counter = 0 + + def trace_lines(frame, event, arg): + nonlocal counter # declaring the outer variable + if event == 'line': # every time the tracer detects the execution of a line of code + filename = frame.f_code.co_filename + if filename == '' : # counting only the lines that are in the code snippet we provided "and not in some other internal libraries" + counter += 1 # increment the global counter + return trace_lines + + + # Set the trace function + sys.settrace(trace_lines) + + # Capture the output of the program. + SIO = StringIO() + with redirect_stdout(SIO): + # executing the code, the execution is being traced by the trace_lines() function that has been set previously + exec(code_snippet,{'__file__': ''}) # Execute the code and setting the "fake file" name to so that we can recognise this code snippet later in trace_lines() + + # Disable the trace function + sys.settrace(None) + + return counter + + def generate_code(self, symbol, assigned_identifiers, last_variable, parent=None): + """ + Generate code recursively based on the context-free grammar rules. + + Parameters: + - symbol (str): The symbol to generate code for. + - assigned_identifiers (set): Set of assigned identifiers. + - last_variable (set): Set of the last used variables. + - parent (Node): Parent node in the syntax tree. + + Returns: + - str: The generated code. + """ + node = Node(symbol, parent=parent) + + # If the symbol is a non-terminal, expand it using the CFG rules. + if symbol in self.cfg_rules: + # Initialization count. + if symbol == "IDENTIFIER_INITIALIZATION": + if self.init_count < self.max_init: + self.init_count += 1 + else: + symbol = "INITIALIZATION" + # Choose a random rule for the symbol and split it into individual symbols. + rule = random.choice(self.cfg_rules[symbol]) + symbols = rule.split(" ") + + # Recursively generate code for each symbol in the rule. + generated_symbols = [self.generate_code(s, assigned_identifiers, last_variable, node) for s in symbols] + + # Handle special case for "FINAL" symbol where we need to evaluate an expression. + if symbol == "FINAL": + return str(eval(''.join(generated_symbols))) + + # Add initialized variables to the assigned identifiers set. + if symbol == "INITIALIZATION": + assigned_identifiers.add(generated_symbols[0]) + + # Keep track of the last used variables for assignments. + if (symbol == "SIMPLE_ASSIGNMENTS") or (symbol == "ADVANCED_ASSIGNMENTS"): + if generated_symbols[0]: + last_variable.add(generated_symbols[0]) + + return ''.join(generated_symbols) + + # Handle the terminal symbols. + elif symbol == "EXPRESSION_IDENTIFIER": + identifier = random.choice(tuple(assigned_identifiers)) if assigned_identifiers else random.choice(self.cfg_rules["DIGIT"]) + return identifier + + elif symbol == "DISPLAY_IDENTIFIER": + try: + return f"{tuple(last_variable)[0]}" + except: + return f"{random.choice(tuple(assigned_identifiers))}" + else: + return symbol + + def print_tree(self, root): + """ + Print the syntax tree using the RenderTree utility from the anytree module. + + Parameters: + - root (Node): The root node of the syntax tree. + """ + for pre, _, node in RenderTree(root): + print(f"{pre}{node.name}") + + def generate_program(self, level): + """ + Generate a program based on the specified level. + + Parameters: + - level (str): The level of the program. + + Returns: + - Tuple[Node, str]: The syntax tree root node and the generated program. + """ + assigned = set() + last_variable = set() + root = Node("ROOT") + + # Set the maximum number of initializations based on the level. + self.init_count = 0 + if level == "1.1": + self.max_init = 1 + elif level == "1.2": + self.max_init = 3 + elif level == "3.1": + self.max_init = 2 + elif level == "3.2": + self.max_init = 4 + else: + self.max_init = 5 + + # Choose a rule for the specified level and generate code. + if level == "ALL" : + level_passed = level + else : + level_passed = "LEVEL" + level + + program = self.generate_code(level_passed, assigned, last_variable, root) + + return root, program.replace("SPACE", " ") + + def memory_usage(self): + """ + Get the current memory usage of the process. + + Returns: + - int: The memory usage in bytes. + """ + process = psutil.Process(os.getpid()) + mem_info = process.memory_info() + return mem_info.rss + + def generate_and_write_programs(self, num_programs, level, filename='data.txt', deduplicate=True): + """ + Generate and write a specified number of programs to a file. + + Parameters: + - num_programs (int): Number of programs to generate and write. + - level (str): The level of the programs. + - filename (str): Name of the file to write the programs (default is 'data.txt'). + - deduplicate (bool, optional): Whether to perform deduplication of generated programs (default is True). + """ + start_time = time.time() # Track the start time for performance measurement. + start_mem = self.memory_usage() # Track the initial memory usage. + max_tries = 1000 # Set the maximum number of tries for deduplication. + num_tries = 0 # Initialize the number of tries counter. + + with open(filename, 'w') as file: + + generated_programs = 0 # Initialize the counter for generated programs. + hashes = set() # Set to keep track of unique program hashes for deduplication. + pbar = tqdm(desc="Generation", total=num_programs) + + while generated_programs < num_programs: + try: + root, program = self.generate_program(level) # Generate a program. + + count = self.line_counter(program)# count how many executed lines + + result = f"""# Snippet\n{program}\n# count\n# {count}""" # fuse the code snippet with its label "count" + + program_hash = hashlib.sha256(result.encode('utf-8')).hexdigest() + + if deduplicate: + if program_hash not in hashes: + hashes.add(program_hash) # Add the hash to the set if it's unique. + file.write(result + '\n\n') # Write the program to the file. + generated_programs += 1 # Increment the counter for generated programs. + pbar.update(1) + num_tries = 0 # Reset the tries counter. + else: + num_tries += 1 # Increment the tries counter. + if num_tries >= max_tries: + print("Hit max tries in deduplication, stopping generation.") + break # Stop generation if max tries are reached. + else: + + file.write(result + '\n\n') # Write the program to the file without deduplication. + generated_programs += 1 # Increment the counter for generated programs. + pbar.update(1) + + except Exception as e: + continue # Ignore code snippets containing division by zero error. + + + pbar.close() + end_time = time.time() # Track the end time for performance measurement. + end_mem = self.memory_usage() # Track the final memory usage. + deduplication_info = "with deduplication" if deduplicate else "without deduplication" + print(f"Code generation completed in {end_time - start_time:.2f} seconds.") + print(f"Memory used during code generation: {end_mem - start_mem} bytes") + print(f"Generated {generated_programs} {'unique ' if deduplicate else ''}programs {deduplication_info}.") + print(f"Programs are saved to {filename}.") + + +def main(): + parser = argparse.ArgumentParser(description='Generate and write programs based on a specified level. ') + parser.add_argument('--num_programs', type=int, default=1000, help='Number of programs to generate and write (default is 1000)') + parser.add_argument('--level', default="ALL", help='The level of the programs (1.1, 1.2, 2.1, 2.2, 3.1, 3.2, ALL)') + parser.add_argument('--filename', default='data/data.txt', help='Name of the file to write the programs (default is data/data.txt)') + parser.add_argument('--deduplicate', action='store_true', default=True, help='Perform deduplication of generated programs (default is True)') + + args = parser.parse_args() + + valid_levels = ["1.1", "1.2", "2.1", "2.2", "3.1", "3.2", "ALL"] + if args.level not in valid_levels: + print(f"Error: Invalid level '{args.level}'. Please choose from {', '.join(valid_levels)}.") + return + code_generator = CodeGenerator() + code_generator.generate_and_write_programs(num_programs=args.num_programs, level=args.level, filename=args.filename, deduplicate=args.deduplicate) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/tasks/operator_prediction/finetune.py b/tasks/operator_prediction/finetune.py new file mode 100644 index 0000000..83f3240 --- /dev/null +++ b/tasks/operator_prediction/finetune.py @@ -0,0 +1,522 @@ +import random +import os +import pickle +import time +import datetime +import torch +import torch.nn as nn +import torch.nn.functional as F +from torch.optim.lr_scheduler import StepLR +import numpy as np +import time +import argparse +from tqdm.auto import tqdm +import pandas as pd +import argparse + +class GPTTrainer: + def __init__(self, device, batch_size, block_size, eval_iters, compile=True): + self.device = device + self.batch_size = batch_size + self.block_size = block_size + self.eval_iters = eval_iters + self.compile = compile + self.model = None + self.train_data = None + self.val_data = None + self.test_data = None + self.optimizer = None + self.scheduler = None + self.meta = None + + # Helper functions to load and save data + def save_data(self,data, file_path): + with open(file_path, 'w') as f: + f.write(data) + + def read_data(self,file_path): + with open(file_path, 'r') as f: + return f.read() + + def load_data(self, data_directory): + print(f"Loading data from {data_directory}...\n") + # Load meta information + with open(os.path.join(data_directory,"meta.pkl"), 'rb') as f: + self.meta = pickle.load(f) + + args.vocab_size = self.meta['vocab_size'] + itos = self.meta['itos'] + stoi = self.meta['stoi'] + + print(f"vocab size: {args.vocab_size:,}") + print("all the unique characters:", ''.join(sorted(stoi.keys()))) + + # Load data + train_data = self.read_data(os.path.join(data_directory, 'train.txt')) + val_data = self.read_data(os.path.join(data_directory, 'val.txt')) + test_data = self.read_data(os.path.join(data_directory, 'test.txt')) + + # Encode data + train_ids = self.encode(train_data) + val_ids = self.encode(val_data) + test_ids = self.encode(test_data) + + # Save encoded data to bin files, make sure to choose "Files only" on the persistence option of the session so that you don't encode data each time + train_ids = np.array(train_ids, dtype=np.uint16) + val_ids = np.array(val_ids, dtype=np.uint16) + test_ids = np.array(test_ids, dtype=np.uint16) + + train_ids.tofile( 'train.bin') + val_ids.tofile( 'val.bin') + test_ids.tofile('test.bin') + + print(f"train has {len(train_data):,} tokens") + print(f"val has {len(val_data):,} tokens") + print(f"test has {len(test_data):,} tokens") + print("Encoded data saved as binary files.") + + print(f"Data in tokens: {len(train_data)}") + iters4epoch = len(train_data)//(args.batch_size * args.block_size) + print(f"Number of iters for one pseudo-epoch : {iters4epoch}") + print(f"Number of pseudo-epochs : {args.max_iters / iters4epoch:.2f}") + + + del(train_ids) + del(val_ids) + del(test_ids) + + + self.train_data = np.memmap("train.bin", dtype=np.uint16, mode='r') + self.val_data = np.memmap("val.bin", dtype=np.uint16, mode='r') + self.test_data = np.memmap("test.bin", dtype=np.uint16, mode='r') + + def encode(self, s): + return np.array([self.meta['stoi'][c] for c in s], dtype=np.int32) + + def decode(self, l): + return ''.join([self.meta['itos'][i] for i in l]) + + def get_batch(self, split): + data = self.train_data if split == 'train' else self.val_data + ix = torch.randint(len(data) - self.block_size, (self.batch_size,)) + x = torch.stack([torch.from_numpy((data[i:i+self.block_size]).astype(np.int64)) for i in ix]) + y = torch.stack([torch.from_numpy((data[i+1:i+1+self.block_size]).astype(np.int64)) for i in ix]) + x, y = x.to(self.device), y.to(self.device) + return x, y + + + @torch.no_grad() + def estimate_loss(self): + out = {} + self.model.eval() + for split in ['train', 'val']: + losses = torch.zeros(self.eval_iters) + for k in range(self.eval_iters): + X, Y = self.get_batch(split) + logits, loss = self.model(X, Y) + losses[k] = loss.item() + out[split] = losses.mean() + self.model.train() + return out + + @staticmethod + def human_readable(num): + magnitude = 0 + while abs(num) >= 1000: + magnitude += 1 + num /= 1000.0 + return '%.0f%s' % (num, ['', 'K', 'M', 'G', 'T', 'P'][magnitude]) + + def load_model(self, model_path): + if not os.path.exists(model_path): + raise FileNotFoundError(f"Model file '{model_path}' not found.") + + self.model = GPT() # Now correctly using the imported GPT class + print("Compiling the model...\n") + r = -1 + + if self.compile: + try: + self.model = torch.compile(self.model) + except Exception as e: + print(f"Compilation failed: {e}") + + checkpoint = torch.load(model_path, map_location=self.device) + + if 'lora_rank' in checkpoint: + r = checkpoint['lora_rank'] + state = checkpoint['state_dict'] + if r > 0: + self.model.activate_lora(r) + self.model.load_state_dict(state) + else: + state_dict = checkpoint + state_dict_keys = map(lambda x: x.replace("_orig_mod.", ""), state_dict.keys()) + state_dict = dict(zip(state_dict_keys, state_dict.values())) + self.model.load_state_dict(state_dict) + + self.model = self.model.to(self.device) + return r + + def initialize_model(self, model_path, lora_r): + if model_path: + print("Loading model...\n") + r = self.load_model(model_path) + + if r > 0: + lora_r = r + else: + self.model = GPT().to(self.device) # Using the imported GPT class + r = -1 + if self.compile: + print("Compiling the model... (takes a ~minute)") + self.model = torch.compile(self.model) + + if lora_r > 0 and r < 0: + print("Activating LoRA...") + self.model.activate_lora(lora_r) + self.model = self.model.to(self.device) + + num_parameters = sum(p.numel() for p in self.model.parameters() if p.requires_grad) + num_parameters_hr = self.human_readable(num_parameters) + print(f'The model has {num_parameters_hr} trainable parameters') + + def setup_optimizer(self, learning_rate, milestones): + self.optimizer = torch.optim.AdamW(self.model.parameters(), lr=learning_rate) + self.scheduler = torch.optim.lr_scheduler.MultiStepLR(self.optimizer, milestones=milestones, gamma=0.1) + + def train(self, max_iters, eval_interval): + now = datetime.datetime.now() + date_hour = now.strftime("%Y-%m-%d_%H-%M") + start_time = time.time() + + for iter in range(max_iters): + if iter % eval_interval == 0: + losses = self.estimate_loss() + print(f'iter {iter:5d} | train loss {losses["train"]:.4f} | val loss {losses["val"]:.4f}') + + xb, yb = self.get_batch('train') + logits, loss = self.model(xb, yb) + self.optimizer.zero_grad(set_to_none=True) + loss.backward() + self.optimizer.step() + self.scheduler.step() + + end_time = time.time() + print(f'Training time: {(end_time - start_time) / 60:.2f} min') + + return date_hour + + def save_model(self, date_hour): + num_parameters = sum(p.numel() for p in self.model.parameters() if p.requires_grad) + num_parameters_hr = self.human_readable(num_parameters) + model_path = f"./output/{num_parameters_hr}_{date_hour}.pth" + checkpoint = { + 'lora_rank': self.model.lora_rank if hasattr(self.model, "lora_rank") else -1, + 'state_dict': self.model.state_dict() + } + torch.save(checkpoint, model_path) + print(f"Model saved to {model_path}\n") + # Evaluate example + + def evaluate_example(self,example): + """ + Evaluate an example using the loaded model. + """ + + # Encode prompt and prepare for evaluation + prompt_text = example[:-1] + encoded_example = torch.tensor(self.encode(prompt_text), dtype=torch.long).unsqueeze(0).to(self.device) + result_example = example[-1] + + # Generate response from model and extract generated results + with torch.no_grad(): + response = self.decode(self.model.generate(encoded_example, max_new_tokens=1)[0].tolist()) + generated_results = response[-1] + + return prompt_text, result_example, generated_results + + # Write results to file + def write_results_to_file(self,output_file, prompt, real_results, generated_results): + df = pd.DataFrame({ + 'Prompt': prompt, + 'Real_Results': real_results, + 'Generated_Results': generated_results + }) + df.to_csv(output_file, index=False) + + def evaluate_model(self,examples): + # Start evaluation process + prompt = [] + real_results = [] + generated_results = [] + + examples = self.decode(self.test_data).split("\n\n") + + # Iterate through examples and evaluate the model on each one + for example in tqdm(examples): + prompt_text, real_result, result = self.evaluate_example(example) + prompt.append(prompt_text) + real_results.append(real_result) + generated_results.append(result) + + # Calculate and print accuracy + correct_count = sum(1 for real, generated in zip(real_results, generated_results) if real == generated) + accuracy = correct_count / len(generated_results) + print(f"Accuracy: {accuracy * 100:.2f}%") + + # Store accuracy in a file + with open("./output/accuracy.txt", 'w') as f: + f.write(f"Accuracy: {accuracy * 100:.2f}%\n") + + # Store predictions in a CSV file + self.write_results_to_file("./output/predictions.csv", prompt, real_results, generated_results) + + +class LayerNorm(nn.Module): + """ LayerNorm with an optional bias. PyTorch's LayerNorm doesn't support simply bias=False """ + + def __init__(self, ndim, bias): + super().__init__() + self.weight = nn.Parameter(torch.ones(ndim)) + self.bias = nn.Parameter(torch.zeros(ndim)) if bias else None + + def forward(self, input): + return F.layer_norm(input, self.weight.shape, self.weight, self.bias, 1e-5) + +class Head(nn.Module): + """One head of self-attention.""" + + def __init__(self, head_size): + super().__init__() + self.key = nn.Linear(args.n_embd, head_size, bias=False) + self.query = nn.Linear(args.n_embd, head_size, bias=False) + self.value = nn.Linear(args.n_embd, head_size, bias=False) + self.flash = hasattr(torch.nn.functional, 'scaled_dot_product_attention') + self.dropout = nn.Dropout(args.dropout) + + def forward(self, x): + B, T, C = x.shape + k = self.key(x) # (B, T, head_size) + q = self.query(x) # (B, T, head_size) + v = self.value(x) # (B, T, head_size) + + # Apply scaled dot-product attention + out = torch.nn.functional.scaled_dot_product_attention( + q, k, v, attn_mask=None, dropout_p=args.dropout if self.training else 0, is_causal=True + ) + + return out + + +class MultiHeadAttention(nn.Module): + """Multiple heads of self-attention in parallel.""" + + def __init__(self, num_heads, head_size): + super().__init__() + self.heads = nn.ModuleList([Head(head_size) for _ in range(num_heads)]) + self.proj = nn.Linear(args.n_embd, args.n_embd) + self.dropout = nn.Dropout(args.dropout) + + def forward(self, x): + # Concatenate the outputs from each head + out = torch.cat([h(x) for h in self.heads], dim=-1) + out = self.dropout(self.proj(out)) + return out + +class FeedForward(nn.Module): + """A simple linear layer followed by a non-linearity.""" + + def __init__(self, n_embd): + super().__init__() + self.net = nn.Sequential( + nn.Linear(n_embd, 4 * n_embd, bias=False), + nn.GELU(), + nn.Linear(4 * n_embd, n_embd, bias=False), + nn.Dropout(args.dropout), + ) + + def forward(self, x): + return self.net(x) + +class LinearLoRA(nn.Module): + def __init__(self, original_layer, rank=8): + super().__init__() + self.original_layer = original_layer + self.original_layer.weight.requires_grad = False + self.rank = rank + + self.lora_a = nn.Parameter(torch.randn((original_layer.in_features, rank))) + self.lora_b = nn.Parameter(torch.randn((rank, original_layer.out_features))) + + self.reset_parameters() + + def reset_parameters(self): + nn.init.kaiming_uniform_(self.lora_a, a=np.sqrt(5)) + nn.init.zeros_(self.lora_b) + + def forward(self, x): + lora_output = x @ self.lora_a @ self.lora_b + return self.original_layer(x) + lora_output + +class Block(nn.Module): + """Transformer block: communication followed by feedforward.""" + + def __init__(self, n_embd, n_head): + super().__init__() + head_size = n_embd // n_head + self.sa = MultiHeadAttention(n_head, head_size) + self.ffwd = FeedForward(n_embd) + self.ln1 = nn.LayerNorm(n_embd, bias=False) + self.ln2 = nn.LayerNorm(n_embd, bias=False) + + def forward(self, x): + x = x + self.sa(self.ln1(x)) + x = x + self.ffwd(self.ln2(x)) + return x + +class GPT(nn.Module): + """GPT language model.""" + + def __init__(self): + super().__init__() + self.token_embedding_table = nn.Embedding(args.vocab_size, args.n_embd) + self.position_embedding_table = nn.Embedding(args.block_size, args.n_embd) + self.blocks = nn.Sequential(*[Block(args.n_embd, n_head=args.n_head) for _ in range(args.n_layer)]) + self.ln_f = nn.LayerNorm(args.n_embd, bias=False) + self.lm_head = nn.Linear(args.n_embd, args.vocab_size) + + def forward(self, idx, targets=None): + B, T = idx.shape + + # Token and position embeddings + tok_emb = self.token_embedding_table(idx) # (B, T, n_embd) + pos_emb = self.position_embedding_table(torch.arange(T, device=args.device)) # (T, n_embd) + x = tok_emb + pos_emb # (B, T, n_embd) + x = self.blocks(x) # (B, T, n_embd) + x = self.ln_f(x) # (B, T, n_embd) + logits = self.lm_head(x) # (B, T, vocab_size) + + # Compute loss if targets are provided + if targets is None: + loss = None + else: + B, T, C = logits.shape + logits = logits.view(B * T, C) + targets = targets.view(B * T) + loss = F.cross_entropy(logits, targets) + + return logits, loss + + def generate(self, idx, max_new_tokens): + """Generate new tokens given an initial context `idx`.""" + for _ in range(max_new_tokens): + idx_cond = idx[:, -args.block_size:] # Crop to the last block_size tokens + logits, _ = self(idx_cond) + logits = logits[:, -1, :] # Focus on the last time step + probs = F.softmax(logits, dim=-1) # Convert to probabilities + idx_next = torch.multinomial(probs, num_samples=1) # Sample from the distribution + idx = torch.cat((idx, idx_next), dim=1) # Append sampled index to the sequence + return idx + + def activate_lora(self, r=8, heads_only=False, freeze_others=True): + self.lora_rank = r + self.replace_multihead_attention_recursion(heads_only) + if freeze_others: + self.freeze_parameters_except_lora_and_bias() + + def replace_multihead_attention_recursion(self, heads_only=False, model=None): + children = self.named_children() if model is None else model.named_children() + for name, module in children: + if heads_only and name in {"query", "key", "value"}: + # Replace with Lora SelfAttention + new_layer = LinearLoRA(module, rank=self.lora_rank) + + if model == None: + self.__setattr__(name, new_layer) + else: + setattr(model, name, new_layer) + elif isinstance(module, nn.Linear) and not heads_only: + new_layer = LinearLoRA(module, rank=self.lora_rank) + + if model == None: + self.__setattr__(name, new_layer) + else: + setattr(model, name, new_layer) + else: + # Recursive call for child modules + self.replace_multihead_attention_recursion(heads_only, model=module) + + + def freeze_parameters_except_lora_and_bias(self): + for name, param in self.named_parameters(): + is_trainable = ( + "lora_" in name + #(self.train_layer_norms and "LayerNorm" in name) + ) + + param.requires_grad = is_trainable + + + + + +parser = argparse.ArgumentParser(description="Fine-tune a GPT model") +parser.add_argument("--device", type=str, default="cuda" if torch.cuda.is_available() else "cpu", + help="Device to run the model on (cuda or cpu)") +parser.add_argument("--batch_size", type=int, default=64, + help="Batch size for training") +parser.add_argument("--block_size", type=int, default=256, + help="Block size for input sequences") +parser.add_argument("--eval_iters", type=int, default=10, + help="Number of iterations for evaluation") +parser.add_argument("--model_path", type=str, default="./model/model.pth", + help="Name of the pre-trained model to load") +parser.add_argument("--lora_r", type=int, default=20, + help="LoRA rank (0 to disable)") +parser.add_argument("--learning-rate", type=float, default=1e-3, + help="Learning rate for the optimizer") +parser.add_argument("--max_iters", type=int, default=10, + help="Maximum number of training iterations") +parser.add_argument("--eval_interval", type=int, default=2000, + help="Interval between evaluations") +parser.add_argument("--input_path", type=str, required=True, default="./data/", + help="Path to the input data file") +parser.add_argument("--dropout", type=float, default=0) +parser.add_argument("--n_embd", type=int, default=372) +parser.add_argument("--n_head", type=int, default=6) +parser.add_argument("--n_layer", type=int, default=6) + + + +args = parser.parse_args() + +args.milestones = [int(args.max_iters * m) for m in [0.7, 0.8, 0.9]] +args.compile = False + + +# Create trainer instance +trainer = GPTTrainer( + device=torch.device(args.device), + batch_size=args.batch_size, + block_size=args.block_size, + eval_iters=args.eval_iters, + compile=args.compile +) + +# Load and process data +trainer.load_data(args.input_path) + +# Initialize model +trainer.initialize_model(args.model_path, args.lora_r) + +# Setup optimizer and scheduler +trainer.setup_optimizer(args.learning_rate, args.milestones) + +# Train the model +date_hour = trainer.train(args.max_iters, args.eval_interval) + +# Save the trained model +trainer.save_model(date_hour) + +trainer.evaluate_model(trainer.test_data) \ No newline at end of file diff --git a/tinylm-starter-notebook.ipynb b/tinylm-starter-notebook.ipynb new file mode 100644 index 0000000..a779101 --- /dev/null +++ b/tinylm-starter-notebook.ipynb @@ -0,0 +1 @@ +{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.13","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"gpu","dataSources":[{"sourceId":8996886,"sourceType":"datasetVersion","datasetId":5419152}],"dockerImageVersionId":30747,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":true}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import random\nimport os\nimport pickle\nimport time\nimport datetime\nimport torch\nimport torch.nn as nn\nimport torch.nn.functional as F\nfrom torch.optim.lr_scheduler import StepLR\nimport numpy as np\nimport pandas as pd\nfrom tqdm import tqdm\nimport re","metadata":{"_uuid":"a14f6813-426a-4666-9280-7ed88ebdb85e","_cell_guid":"aa556b17-8ea0-4788-aea8-8d6259526157","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-07-20T17:22:00.966528Z","iopub.execute_input":"2024-07-20T17:22:00.966880Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Set the random seed for reproducibility\nseed = 42\ntorch.manual_seed(seed)\nrandom.seed(seed)\nnp.random.seed(seed)\n\n# Set the device to GPU if available, otherwise CPU\ndevice = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\nprint(f\"Device set to {device}.\")","metadata":{"_uuid":"f10e66ef-f466-4cfc-8ddb-594df92adb45","_cell_guid":"063623b6-121d-4c18-a660-93d2f1be3305","collapsed":false,"execution":{"iopub.status.busy":"2024-07-20T14:56:35.876424Z","iopub.execute_input":"2024-07-20T14:56:35.876901Z","iopub.status.idle":"2024-07-20T14:56:35.918570Z","shell.execute_reply.started":"2024-07-20T14:56:35.876871Z","shell.execute_reply":"2024-07-20T14:56:35.917691Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Data Preparation","metadata":{"_uuid":"f61836e4-3f71-432d-8c50-9de1ff2e05e0","_cell_guid":"4776333c-08cd-4127-bea7-d7ec8898df7b","trusted":true}},{"cell_type":"code","source":"# Helper functions to load and save data\ndef save_data(data, file_path):\n with open(file_path, 'w') as f:\n f.write(data)\n\ndef load_data(file_path):\n with open(file_path, 'r') as f:\n return f.read()","metadata":{"_uuid":"0aa1c1b8-a945-4baa-8d46-3a08056a9004","_cell_guid":"fcc4b173-f5e5-4110-b14f-46a8fa6da9ae","collapsed":false,"execution":{"iopub.status.busy":"2024-07-20T14:56:35.919649Z","iopub.execute_input":"2024-07-20T14:56:35.919920Z","iopub.status.idle":"2024-07-20T14:56:35.925793Z","shell.execute_reply.started":"2024-07-20T14:56:35.919896Z","shell.execute_reply":"2024-07-20T14:56:35.924714Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Directory where the data is stored\nDATA_DIR = \"/kaggle/input/tinylm-data\"","metadata":{"_uuid":"3da5ca68-e0d7-4aed-b89f-5f2a4ab910d9","_cell_guid":"9731ee3f-b4d1-4b6e-afb2-859c56bef6c6","collapsed":false,"execution":{"iopub.status.busy":"2024-07-20T14:56:35.927835Z","iopub.execute_input":"2024-07-20T14:56:35.928144Z","iopub.status.idle":"2024-07-20T14:56:35.934561Z","shell.execute_reply.started":"2024-07-20T14:56:35.928121Z","shell.execute_reply":"2024-07-20T14:56:35.933680Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Attempt to derive vocab_size from the dataset\n\nmeta_path = os.path.join(DATA_DIR, 'meta.pkl')\nvocab_size = None\n\nif os.path.exists(meta_path):\n with open(meta_path, 'rb') as f:\n meta = pickle.load(f)\n vocab_size = meta['vocab_size']\n print(f\"found vocab_size = {vocab_size} (inside {meta_path})\")\nelse:\n print(\"Meta file not found. Please ensure the meta.pkl file is present in the data directory.\")\n\n# Encode and decode functions for character-level Tokenzation \ndef encode(s):\n return [meta['stoi'][c] for c in s]\n\ndef decode(l):\n return ''.join([meta['itos'][i] for i in l])","metadata":{"_uuid":"6d064118-585d-46a9-8f40-f9472fe879b4","_cell_guid":"ddae0037-0f42-425d-a2e9-4238f4c608f2","collapsed":false,"execution":{"iopub.status.busy":"2024-07-20T14:56:35.935881Z","iopub.execute_input":"2024-07-20T14:56:35.936315Z","iopub.status.idle":"2024-07-20T14:56:35.954533Z","shell.execute_reply.started":"2024-07-20T14:56:35.936285Z","shell.execute_reply":"2024-07-20T14:56:35.953576Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Load data\ntrain_data = load_data(os.path.join(DATA_DIR, 'train.txt'))\nval_data = load_data(os.path.join(DATA_DIR, 'val.txt'))\ntest_data = load_data(os.path.join(DATA_DIR, 'test.txt'))\n\n# Encode data\ntrain_ids = encode(train_data)\nval_ids = encode(val_data)\ntest_ids = encode(test_data)\n\n# Save encoded data to bin files, make sure to choose \"Files only\" on the persistence option of the session so that you don't encode data each time\ntrain_ids = np.array(train_ids, dtype=np.uint16)\nval_ids = np.array(val_ids, dtype=np.uint16)\ntest_ids = np.array(test_ids, dtype=np.uint16)\n\ntrain_ids.tofile( 'train.bin')\nval_ids.tofile( 'val.bin')\ntest_ids.tofile('test.bin')\n\nprint(\"Encoded data saved as binary files.\")","metadata":{"_uuid":"1b2892b5-a904-4550-a8d6-ae8f51f1841f","_cell_guid":"ff53a3e0-09ab-4396-90d9-cef86df0605b","collapsed":false,"execution":{"iopub.status.busy":"2024-07-20T14:56:35.955777Z","iopub.execute_input":"2024-07-20T14:56:35.956201Z","iopub.status.idle":"2024-07-20T14:58:30.560356Z","shell.execute_reply.started":"2024-07-20T14:56:35.956153Z","shell.execute_reply":"2024-07-20T14:58:30.559345Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"del(train_ids)\ndel(val_ids)\ndel(test_ids)","metadata":{"_uuid":"6a2d1ac2-5ef7-441c-9837-050c59120ab9","_cell_guid":"125ce42e-8df9-4094-b0c5-242fcd99a597","collapsed":false,"execution":{"iopub.status.busy":"2024-07-20T14:58:30.561546Z","iopub.execute_input":"2024-07-20T14:58:30.561837Z","iopub.status.idle":"2024-07-20T14:58:30.569102Z","shell.execute_reply.started":"2024-07-20T14:58:30.561811Z","shell.execute_reply":"2024-07-20T14:58:30.568232Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Load encoded data\ntrain_data = np.memmap(\"/kaggle/working/train.bin\", dtype=np.uint16, mode='r')\nval_data = np.memmap(\"/kaggle/working/val.bin\", dtype=np.uint16, mode='r')","metadata":{"_uuid":"9cd8ff5a-2170-4c53-be17-02ac7d0cffd9","_cell_guid":"c53f3930-8d16-443d-a5ec-a6926f3f6cf4","collapsed":false,"execution":{"iopub.status.busy":"2024-07-20T14:58:30.570357Z","iopub.execute_input":"2024-07-20T14:58:30.570777Z","iopub.status.idle":"2024-07-20T14:58:30.611964Z","shell.execute_reply.started":"2024-07-20T14:58:30.570746Z","shell.execute_reply":"2024-07-20T14:58:30.611224Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Model","metadata":{"_uuid":"f4fc1523-1d72-49db-a3bc-8d521f236993","_cell_guid":"8574d987-cef6-47d1-b889-e8242a0bcd23","trusted":true}},{"cell_type":"code","source":"# Hyperparameters for the GPT model\nblock_size = 256 # Maximum context length\nn_embd = 120 # Embedding dimension\nn_head = 6 # Number of attention heads\nn_layer = 6 # Number of transformer blocks\ndropout = 0 # Dropout rate\nbatch_size = 64 # Batch size for training\nmax_iters = 60000 # Maximum number of iterations\nlearning_rate = 1e-3 # Initial Learning rate value\nmiles = [int(max_iters * m) for m in [0.7, 0.8, 0.9]] # Milestones for learning rate decay as fractions of max_iters\neval_interval = 10000 # Evaluation interval\neval_iters = 500 # Number of iterations for evaluation\n\ncompile = False # requires PyTorch 2.0","metadata":{"_uuid":"1fd63d8c-f842-444c-9dc8-cab3263ae6e4","_cell_guid":"2d4305c5-c1c6-48b0-a048-953a98954854","collapsed":false,"execution":{"iopub.status.busy":"2024-07-20T14:58:30.613008Z","iopub.execute_input":"2024-07-20T14:58:30.613362Z","iopub.status.idle":"2024-07-20T14:58:30.626685Z","shell.execute_reply.started":"2024-07-20T14:58:30.613331Z","shell.execute_reply":"2024-07-20T14:58:30.625843Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"class LayerNorm(nn.Module):\n \"\"\" LayerNorm but with an optional bias. PyTorch doesn't support simply bias=False \"\"\"\n\n def __init__(self, ndim, bias):\n super().__init__()\n self.weight = nn.Parameter(torch.ones(ndim))\n self.bias = nn.Parameter(torch.zeros(ndim)) if bias else None\n\n def forward(self, input):\n return F.layer_norm(input, self.weight.shape, self.weight, self.bias, 1e-5)\n\nclass Head(nn.Module):\n \"\"\"One head of self-attention.\"\"\"\n\n def __init__(self, head_size):\n super().__init__()\n self.key = nn.Linear(n_embd, head_size, bias=False)\n self.query = nn.Linear(n_embd, head_size, bias=False)\n self.value = nn.Linear(n_embd, head_size, bias=False)\n self.flash = hasattr(torch.nn.functional, 'scaled_dot_product_attention')\n\n self.dropout = nn.Dropout(dropout)\n\n def forward(self, x):\n B,T,C = x.shape\n k = self.key(x) # (B, T, 16)\n q = self.query(x) # (B, T, 16)\n v = self.value(x)\n \n out = torch.nn.functional.scaled_dot_product_attention(q, k, v, attn_mask=None, dropout_p=dropout if self.training else 0, is_causal=True)\n \n return out\n\nclass MultiHeadAttention(nn.Module):\n \"\"\"multiple heads of self-attention in parallel.\"\"\"\n\n def __init__(self, num_heads, head_size):\n super().__init__()\n self.heads = nn.ModuleList([Head(head_size) for _ in range(num_heads)])\n self.proj = nn.Linear(n_embd, n_embd)\n self.dropout = nn.Dropout(dropout)\n \n def forward(self, x):\n out = torch.cat([h(x) for h in self.heads], dim=-1)\n out = self.dropout(self.proj(out))\n return out\n \nclass FeedForward(nn.Module):\n \"\"\" a simple linear layer followed by a non-linearity.\"\"\"\n\n def __init__(self, n_embd):\n super().__init__()\n self.net = nn.Sequential(\n nn.Linear(n_embd, 4 * n_embd, bias=False),\n nn.GELU(),\n nn.Linear( 4 * n_embd, n_embd, bias=False),\n nn.Dropout(dropout),\n )\n\n def forward(self, x):\n return self.net(x)\n \nclass Block(nn.Module):\n \"\"\" Transformer block: communication followed by feedforward.\"\"\"\n\n def __init__(self, n_embd, n_head):\n super().__init__()\n head_size = n_embd // n_head\n self.sa = MultiHeadAttention(n_head, head_size)\n self.ffwd = FeedForward(n_embd)\n self.ln1 = nn.LayerNorm(n_embd, bias=False)\n self.ln2 = nn.LayerNorm(n_embd, bias=False)\n\n def forward(self, x):\n x = x + self.sa(self.ln1(x))\n x = x + self.ffwd(self.ln2(x))\n return x\n\nclass GPT(nn.Module):\n\n def __init__(self):\n super().__init__()\n # each token directly reads off the logits for the next token from a lookup table\n self.token_embedding_table = nn.Embedding(vocab_size, n_embd)\n self.position_embedding_table = nn.Embedding(block_size, n_embd)\n self.blocks = nn.Sequential(*[Block(n_embd, n_head=n_head) for _ in range(n_layer)])\n self.ln_f = nn.LayerNorm(n_embd, bias=False) \n self.lm_head = nn.Linear(n_embd, vocab_size)\n\n def forward(self, idx, targets=None):\n B, T = idx.shape\n\n # idx and targets are both (B,T) tensor of integers\n tok_emb = self.token_embedding_table(idx) # (B,T,C)\n pos_emb = self.position_embedding_table(torch.arange(T, device=device)) # (T,C)\n x = tok_emb + pos_emb # (B,T,C)\n x = self.blocks(x) # (B,T,C)\n x = self.ln_f(x) # (B,T,C)\n logits = self.lm_head(x) # (B,T,vocab_size)\n\n if targets is None:\n loss = None\n else:\n B, T, C = logits.shape\n logits = logits.view(B*T, C)\n targets = targets.view(B*T)\n loss = F.cross_entropy(logits, targets)\n\n return logits, loss\n \n def generate(self, idx, max_new_tokens):\n # idx is (B, T) array of indices in the current context\n for _ in range(max_new_tokens):\n # crop idx to the last block_size tokens\n idx_cond = idx[:, -block_size:] # (B, T)\n # get the predictions\n logits, loss = self(idx_cond)\n # focus only on the last time step\n logits = logits[:, -1, :] # becomes (B, C)\n # apply softmax to get probabilities\n probs = F.softmax(logits, dim=-1) # (B, C)\n # sample from the distribution\n idx_next = torch.multinomial(probs, num_samples=1) # (B, 1)\n # append sampled index to the running sequence\n idx = torch.cat((idx, idx_next), dim=1) # (B, T+1)\n return idx","metadata":{"_uuid":"9c3a2af2-99a7-4657-bb8d-168a3e8dfcfb","_cell_guid":"17ff6e02-86d2-4f49-a384-be8c035377a7","collapsed":false,"execution":{"iopub.status.busy":"2024-07-20T14:58:30.630074Z","iopub.execute_input":"2024-07-20T14:58:30.630394Z","iopub.status.idle":"2024-07-20T14:58:30.656067Z","shell.execute_reply.started":"2024-07-20T14:58:30.630370Z","shell.execute_reply":"2024-07-20T14:58:30.655234Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Get random batch of data\ndef get_batch(split):\n data = train_data if split == 'train' else val_data\n ix = torch.randint(len(data) - block_size, (batch_size,))\n x = torch.stack([torch.from_numpy((data[i:i+block_size]).astype(np.int64)) for i in ix])\n y = torch.stack([torch.from_numpy((data[i+1:i+1+block_size]).astype(np.int64)) for i in ix])\n x, y = x.to(device), y.to(device)\n return x, y\n\n# Estimate loss on train and val splits\n@torch.no_grad()\ndef estimate_loss():\n out = {}\n model.eval()\n for split in ['train', 'val']:\n losses = torch.zeros(eval_iters) \n for k in range(eval_iters):\n X, Y = get_batch(split)\n logits, loss = model(X, Y)\n losses[k] = loss.item()\n out[split] = losses.mean()\n model.train()\n return out\n\n\n# Helper function to make large numbers of parameters human-readable\ndef human_readable(num):\n magnitude = 0\n while abs(num) >= 1000:\n magnitude += 1\n num /= 1000.0\n return '%.0f%s' % (num, ['', 'K', 'M', 'G', 'T', 'P'][magnitude])","metadata":{"_uuid":"be441d8d-c18b-4694-b2ff-607aac4b11e6","_cell_guid":"a716f789-f605-42d0-9494-d8927ed09a6f","collapsed":false,"execution":{"iopub.status.busy":"2024-07-20T14:58:30.657121Z","iopub.execute_input":"2024-07-20T14:58:30.657474Z","iopub.status.idle":"2024-07-20T14:58:30.670624Z","shell.execute_reply.started":"2024-07-20T14:58:30.657443Z","shell.execute_reply":"2024-07-20T14:58:30.669729Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Initialize model and move it to the device (GPU)\nmodel = GPT()\nm = model.to(device)\nnum_parameters = sum(p.numel() for p in model.parameters() if p.requires_grad)\n\n# compile the model\nif compile:\n print(\"compiling the model... (takes a ~minute)\")\n model = torch.compile(model) \n \nnum_parameters_hr = human_readable(num_parameters)\nprint(f'The model has {num_parameters_hr} trainable parameters')","metadata":{"_uuid":"db1edcb0-7dae-40b8-99f0-3a524bd1311e","_cell_guid":"21de39d0-d298-45ce-a590-c6be400f31e8","collapsed":false,"execution":{"iopub.status.busy":"2024-07-20T14:58:30.671622Z","iopub.execute_input":"2024-07-20T14:58:30.671881Z","iopub.status.idle":"2024-07-20T14:58:30.893571Z","shell.execute_reply.started":"2024-07-20T14:58:30.671859Z","shell.execute_reply":"2024-07-20T14:58:30.892594Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Training","metadata":{"_uuid":"8cdf45cc-0d3a-43a9-b10d-5381799a21f2","_cell_guid":"ac1fe251-e0c8-4079-9da4-68aff59262f4","trusted":true}},{"cell_type":"code","source":"# Initialize optimizer\noptimizer = torch.optim.AdamW(model.parameters(), lr=learning_rate)\n\n# Initialize learning rate scheduler\nscheduler = torch.optim.lr_scheduler.MultiStepLR(optimizer, milestones=miles, gamma=0.1)","metadata":{"_uuid":"45093d41-9498-45e4-b93b-95b0b239c0af","_cell_guid":"e725706a-19a1-4e82-91b1-514dd0488f33","collapsed":false,"execution":{"iopub.status.busy":"2024-07-20T14:58:30.894863Z","iopub.execute_input":"2024-07-20T14:58:30.895301Z","iopub.status.idle":"2024-07-20T14:58:32.215917Z","shell.execute_reply.started":"2024-07-20T14:58:30.895264Z","shell.execute_reply":"2024-07-20T14:58:32.215087Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Get current date and hour to get track of experiments\nnow = datetime.datetime.now()\ndate_hour = now.strftime(\"%Y-%m-%d_%H-%M\")\n\n# Train\n# Start training timer\nstart_time = time.time()\n\n# Training loop\nfor iter in range(max_iters):\n\n # evaluate the model on the train and val splits and log the losses\n if iter % eval_interval == 0:\n losses = estimate_loss()\n print(f'iter {iter:5d} | train loss {losses[\"train\"]:.4f} | val loss {losses[\"val\"]:.4f}')\n \n # train the model for one iteration\n xb, yb = get_batch('train')\n\n # forward pass\n logits, loss = model(xb, yb)\n optimizer.zero_grad(set_to_none=True)\n loss.backward()\n optimizer.step()\n\n # Step the scheduler\n \n \n \n \n scheduler.step()\n\n# End training timer\nend_time = time.time()\nprint(f'Training time: {(end_time - start_time) / 60} min')\n\n# Save the trained model\ntorch.save(model.state_dict(), f\"{num_parameters_hr}_{date_hour}.pth\")","metadata":{"_uuid":"534a6c6a-e6b8-4632-8078-86aab93500de","_cell_guid":"76b8e469-893d-4151-a175-99b54dbabe60","collapsed":false,"execution":{"iopub.status.busy":"2024-07-20T14:58:32.216993Z","iopub.execute_input":"2024-07-20T14:58:32.217407Z","iopub.status.idle":"2024-07-20T15:28:44.728335Z","shell.execute_reply.started":"2024-07-20T14:58:32.217380Z","shell.execute_reply":"2024-07-20T15:28:44.726717Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Evaluation","metadata":{"_uuid":"facd8250-1fd4-4486-a9a6-f099df266caf","_cell_guid":"e831564c-6b76-489b-98b0-69cad098fdd6","trusted":true}},{"cell_type":"code","source":"test_data = np.memmap('test.bin', dtype=np.uint16, mode='r')","metadata":{"_uuid":"f4e10d4c-a4c8-4e6b-891e-f3d14947adfb","_cell_guid":"d8071f1a-961b-4410-ae36-ba54b5b525d0","collapsed":false,"execution":{"iopub.status.busy":"2024-07-20T15:28:53.687568Z","iopub.execute_input":"2024-07-20T15:28:53.688312Z","iopub.status.idle":"2024-07-20T15:28:53.719102Z","shell.execute_reply.started":"2024-07-20T15:28:53.688275Z","shell.execute_reply":"2024-07-20T15:28:53.718217Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Evaluate example\ndef evaluate_example(example, model, max_new_tokens=30):\n \n # Split example and determine maximum new tokens allowed\n splited_example = example.split(\"# output\")\n if not (\"for\" in splited_example[0]):\n max_new_tokens = 22\n # Encode prompt and prepare for evaluation \n encoded_example = torch.tensor(encode(splited_example[0] + \"# output\"), dtype=torch.long).unsqueeze(0).to(device)\n prompt_text = splited_example[0] + \"# output\"\n result_example = splited_example[-1]\n \n # Extract real results from example\n real_results = [float(match.group()) for match in re.finditer(r\"(?<=# )-?\\d+(\\.\\d+)?\", result_example.split('\\n\\n')[0].replace(\"\\n\", \"\"))]\n \n # Generate response from model and extract generated results\n response = decode(model.generate(encoded_example, max_new_tokens=max_new_tokens)[0].tolist())\n splited_response = response.split(\"# output\")\n result_response = splited_response[-1]\n generated_results = [float(match.group()) for match in re.finditer(r\"(?<=# )-?\\d+(\\.\\d+)?\", result_response.split('\\n\\n')[0].replace(\"\\n\", \"\"))]\n\n return prompt_text, real_results, generated_results\n\n\n\n# Write results to file\ndef write_results_to_file(output_file, prompt, real_results, generated_results):\n df = pd.DataFrame({\n 'Prompt': prompt,\n 'Real_Results': real_results,\n 'Generated_Results': generated_results\n })\n df.to_csv(output_file, index=False)","metadata":{"_uuid":"2e9f95ba-ca83-48bc-bb18-8910efc37422","_cell_guid":"f3d6ae4b-e069-43bd-be3f-9e46f19146d3","collapsed":false,"execution":{"iopub.status.busy":"2024-07-20T15:31:17.995588Z","iopub.execute_input":"2024-07-20T15:31:17.996005Z","iopub.status.idle":"2024-07-20T15:31:18.006157Z","shell.execute_reply.started":"2024-07-20T15:31:17.995974Z","shell.execute_reply":"2024-07-20T15:31:18.005244Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Evaluation Loop\n\n# Split examples and initialize lists for results\nexamples = decode(test_data).split(\"\\n\\n\")\nexamples = [example for example in examples if example]\n\n# Start evaluation process\nprompt = []\nreal_results = []\ngenerated_results = []\n\n# Iterate through examples and evaluate the model on each one\nfor example in tqdm(examples):\n prompt_text, real_result, result = evaluate_example(example, model)\n prompt.append(prompt_text)\n real_results.append(real_result)\n generated_results.append(result)\n\n# Calculate and print accuracy\ncorrect_count = sum(1 for real, generated in zip(real_results, generated_results) if real == generated)\naccuracy = correct_count / len(generated_results)\nprint(f\"Accuracy: {accuracy * 100:.2f}%\")\n\n# Store accuracy in a file\nwith open(\"accuracy.txt\", 'w') as f:\n f.write(f\"Accuracy: {accuracy * 100:.2f}%\\n\")\n\n# Store predictions in a CSV file\n write_results_to_file(\"predictions.csv\", prompt, real_results, generated_results)","metadata":{"_uuid":"7b21f8fd-2e4c-443b-8120-e0af732bf558","_cell_guid":"2536ece9-1d3c-4373-b308-fd1049f3297f","collapsed":false,"execution":{"iopub.status.busy":"2024-07-20T15:32:25.564254Z","iopub.execute_input":"2024-07-20T15:32:25.564645Z","iopub.status.idle":"2024-07-20T15:32:30.853268Z","shell.execute_reply.started":"2024-07-20T15:32:25.564616Z","shell.execute_reply":"2024-07-20T15:32:30.852339Z"},"jupyter":{"outputs_hidden":false},"trusted":true},"execution_count":null,"outputs":[]}]} \ No newline at end of file diff --git a/token-level_code_completion.py b/token-level_code_completion.py new file mode 100644 index 0000000..4bb6211 --- /dev/null +++ b/token-level_code_completion.py @@ -0,0 +1,96 @@ +import os +import pickle +import argparse +import torch +import torch.nn as nn +import torch.nn.functional as F +import numpy as np +import pandas as pd +from tqdm import tqdm +import re +from model import GPT + + +# Argument parsing +parser = argparse.ArgumentParser(description='Evaluate NanoGPT model on token-level code completion.') +parser.add_argument('--dataset_dir', type=str, default='data', help='Directory where the dataset is stored') +parser.add_argument('--model_name', type=str, required=True, help='Name of the pre-trained model (without .pth extension)') + +# Parse the command-line arguments +args = parser.parse_args() + +device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') +torch.manual_seed(1337) + + +# Constants for dataset and file paths +MODEL_FILE = f"models/{args.model_name}.pth" +ACCURACY_FILE = f"results/{args.model_name}_acc_token-level_code_completion.txt" +RESULTS_FILE = f"results/{args.model_name}_token-level_code_completion.csv" + + +data_dir = args.dataset_dir +test_data = np.memmap(os.path.join(data_dir, 'test.bin'), dtype=np.uint16, mode='r') + +# attempt to derive vocab_size from the dataset +meta_path = os.path.join(data_dir, 'meta.pkl') +meta_vocab_size = None +if os.path.exists(meta_path): + with open(meta_path, 'rb') as f: + meta = pickle.load(f) + meta_vocab_size = meta['vocab_size'] + print(f"found vocab_size = {meta_vocab_size} (inside {meta_path})") + +stoi = meta['stoi'] +itos = meta['itos'] +encode = lambda s: [stoi[c] for c in s] +decode = lambda l: ''.join([itos[i] for i in l]) + +model = GPT() +print("Compiling model...") +model = torch.compile(model) # pytorch 2.0 +model.load_state_dict(torch.load(MODEL_FILE)) +m = model.to(device) + +examples = decode(test_data).split("\n\n") +examples = [example for example in examples if example] + +correct_predictions = 0 +total_predictions = 0 + +results = [] + +for code_snippet in tqdm(examples): + + tokens = torch.tensor(encode(code_snippet), dtype=torch.long).unsqueeze(0).to(device) + + for i in range(1, tokens.shape[1]): + + context = tokens[:, :i] + actual_next_token = tokens[:, i].item() + predicted_next_token = m.generate(context, max_new_tokens=1) + predicted_next_token = predicted_next_token[:, -1].item() + is_correct = (predicted_next_token == actual_next_token) + + if is_correct: + correct_predictions += 1 + results.append({ + 'context': context.cpu(), + 'actual_next_token': actual_next_token, + 'predicted_next_token': predicted_next_token, + 'is_correct': is_correct + }) + + total_predictions += 1 + +df = pd.DataFrame(results) +df.to_csv(RESULTS_FILE, index=False) + + +accuracy = (correct_predictions / total_predictions) * 100 + +# Store accuracy in a file +with open(ACCURACY_FILE, 'w') as f: + f.write(f"Accuracy: {accuracy:.2f}%\n") + +print(accuracy) \ No newline at end of file diff --git a/train.py b/train.py new file mode 100644 index 0000000..37bae77 --- /dev/null +++ b/train.py @@ -0,0 +1,183 @@ +import os +import time +import datetime +import pickle +import argparse + +import torch +import torch.nn as nn +import torch.nn.functional as F +from torch.optim.lr_scheduler import StepLR + +import numpy as np +import pandas as pd +from tqdm import tqdm + +from model import GPT + +# Argument parsing +parser = argparse.ArgumentParser(description='Training script for NanoGPT model.') +# Define command-line arguments +parser.add_argument('--batch_size', type=int, default=64, help='Batch size for training') +parser.add_argument('--max_iters', type=int, default=35000, help='Maximum number of iterations') +parser.add_argument('--learning_rate', type=float, default=1e-2, help='Learning rate') +parser.add_argument('--miles', type=float, nargs='+', default=[0.7, 0.8, 0.9], help='Milestones for learning rate decay as fractions of max_iters') +parser.add_argument('--eval_interval', type=int, default=10000, help='Evaluation interval') +parser.add_argument('--eval_iters', type=int, default=500, help='Number of iterations for evaluation') +parser.add_argument('--data_dir', type=str, default='data', help='Directory where the data is stored') + +# Parse the command-line arguments +args = parser.parse_args() + +# Use the parsed arguments +batch_size = args.batch_size +max_iters = args.max_iters +learning_rate = args.learning_rate +# Calculate milestone iterations based on fractions +miles = [int(max_iters * m) for m in args.miles] +eval_interval = args.eval_interval +eval_iters = args.eval_iters +data_dir = args.data_dir + +# Set directories for data and models +DATA_DIR = data_dir +MODELS_DIR = os.path.join(os.path.dirname(__file__), 'models') + +# Other settings +block_size = 256 +device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') +dropout = 0 +compile = True + +# wandb settings +wandb_log = True +wandb_project = 'TinyLanguageModel' + +# For logging purposes +config_keys = [k for k,v in globals().items() if not k.startswith('_') and isinstance(v, (int, float, bool, str))] +config = {k: globals()[k] for k in config_keys} + +# Set random seed for reproducibility +torch.manual_seed(1337) + +print(f"Loading training data from {DATA_DIR}...\n") +train_data = np.memmap(os.path.join(DATA_DIR, 'train.bin'), dtype=np.uint16, mode='r') +val_data = np.memmap(os.path.join(DATA_DIR, 'val.bin'), dtype=np.uint16, mode='r') + +# Attempt to derive vocab_size from the dataset +meta_path = os.path.join(DATA_DIR, 'meta.pkl') +meta_vocab_size = None +if os.path.exists(meta_path): + with open(meta_path, 'rb') as f: + meta = pickle.load(f) + meta_vocab_size = meta['vocab_size'] + print(f"Found vocab_size = {meta_vocab_size} (inside {meta_path})\n") + +# Function to get random batch of data +def get_batch(split): + data = train_data if split == 'train' else val_data + ix = torch.randint(len(data) - block_size, (batch_size,)) + x = torch.stack([torch.from_numpy((data[i:i+block_size]).astype(np.int64)) for i in ix]) + y = torch.stack([torch.from_numpy((data[i+1:i+1+block_size]).astype(np.int64)) for i in ix]) + x, y = x.to(device), y.to(device) + return x, y + +# Function to calculate loss on train and validation splits +@torch.no_grad() +def estimate_loss(): + out = {} + model.eval() + for split in ['train', 'val']: + losses = torch.zeros(eval_iters) + for k in range(eval_iters): + X, Y = get_batch(split) + logits, loss = model(X, Y) + losses[k] = loss.item() + out[split] = losses.mean() + model.train() + return out + +# Initialize model and move it to the device (GPU/CPU) +print("Initializing the model...\n") +model = GPT() +m = model.to(device) +num_parameters = sum(p.numel() for p in model.parameters() if p.requires_grad) + +# Compile the model if enabled +if compile: + print("Compiling the model... (takes a ~minute)\n") + try: + model = torch.compile(model) # requires PyTorch 2.0 + except Exception as e: + pass + +# Helper function to make large numbers of parameters human-readable +def human_readable(num): + magnitude = 0 + while abs(num) >= 1000: + magnitude += 1 + num /= 1000.0 + return '%.0f%s' % (num, ['', 'K', 'M', 'G', 'T', 'P'][magnitude]) + +num_parameters_hr = human_readable(num_parameters) +print(f'The model has {num_parameters_hr} trainable parameters\n') + +# Get current date and time +now = datetime.datetime.now() +date_hour = now.strftime("%Y-%m-%d_%H-%M") + +# Construct wandb run name +wandb_run_name = f'TLM_RUN_{num_parameters_hr}_{date_hour}' + +# Initialize optimizer +optimizer = torch.optim.AdamW(model.parameters(), lr=learning_rate) + +# Initialize learning rate scheduler +scheduler = torch.optim.lr_scheduler.MultiStepLR(optimizer, milestones=miles, gamma=0.1) + +# Initialize wandb if logging is enabled +if wandb_log: + import wandb + wandb.init(project=wandb_project, name=wandb_run_name, config=config) + print(f"wandb logging is enabled. Project: {wandb_project}, Run name: {wandb_run_name}\n") + +# Start training timer +start_time = time.time() +print("Starting training...\n") + +# Training loop +for iter in range(max_iters): + # Evaluate the model on the train and val splits and log the losses + if iter % eval_interval == 0: + losses = estimate_loss() + print(f'iter {iter:5d} | train loss {losses["train"]:.4f} | val loss {losses["val"]:.4f}') + if wandb_log: + wandb.log({ + "iter": iter, + "train/loss": losses['train'], + "val/loss": losses['val'], + "lr": scheduler.get_last_lr()[0], + }) + + # Train the model for one iteration + xb, yb = get_batch('train') + + # Forward pass + logits, loss = model(xb, yb) + optimizer.zero_grad(set_to_none=True) + loss.backward() + optimizer.step() + + # Step the scheduler + scheduler.step() + + + +# End training timer +end_time = time.time() +print(f'Training complete! Total time: {(end_time - start_time) / 60:.2f} minutes\n') + +# Save the trained model +model_path = f"{MODELS_DIR}/{num_parameters_hr}_{date_hour}.pth" +torch.save(model.state_dict(), model_path) +print(f"Model saved to {model_path}\n")