[
  {
    "path": "Financial_NLP/final_demo/README.md",
    "content": "\n#### 1.项目结构\n##### 1.1代码文件说明\n>**./final_demo/util.py**：1.管理整个项目的文件存放路径 \n2.存储和读取各种方法抽取的特征，并组合成DataFrame输出。\n**./final_demo/data_prepare.py**：1.文本的清理工作 2.词向量训练工作</br>\n**./final_demo/extract_feature.py**：1.各种方法进行特征抽取，并进行保存</br>\n**./final_demo/train_model.py**：1.深度模型的构建工作</br>\n**./final_demo/main.py**：1.最后整个项目的运行，读取各个方法抽取的特征并使用分类模型进行分类预测</br>\n\n##### 1.2代码运行期间生成文件的目录说明(根目录为./atec/data)\n>1./atec/data :根目录,存放该项目下的相关文件夹，和比赛最初的.csv文件(原始数据文件)</br>\n>2../atec/data/aux :存放最后提交测试平台的重压文件，包括分词字典，词向量矩阵，停用词，拼写纠错，疑问词。</br>\n>3./atec/data/feature :特征存放文件，存放各个方法进行抽取后的特征，一个抽取方法包括3个文件，特征值文件和特征列名文件。</br>\n4./atec/data/preprocessed: 原始数据文本预处理文件目录</br>\n5../atec/data/tmp: 存放用于提取特征的深度模型</br>\n6../atec/data/trained: 存放最后需要提交测试平台的模型文件</br>\n#### 2.项目使用步骤\n>1.整个项目的初始化工作(设置整个项目的根目录，决定是否需要创建(第一次为create_dir为True,之后为False))</br>\n2.文本的预处理工作</br>\n3.特征抽取</br>\n4.整个项目的运行(构建最终的分类模型，交叉验证的方式)</br>\n\n```python\n#最终的运行方式\npython util.py\npython data_prepare.py\npython extract_feature.py\npython main.py\n```\n#### 3赛题思路\n[蚂蚁金融NLP竞赛——文本语义相似度赛题总结](https://jianwenjun.xyz/2018/07/13/%E8%9A%82%E8%9A%81%E9%87%91%E8%9E%8DNLP%E7%AB%9E%E8%B5%9B%E2%80%94%E2%80%94%E6%96%87%E6%9C%AC%E8%AF%AD%E4%B9%89%E7%9B%B8%E4%BC%BC%E5%BA%A6%E8%B5%9B%E9%A2%98%E6%80%BB%E7%BB%93/)\n"
  },
  {
    "path": "Financial_NLP/final_demo/__init__.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/6/15 下午8:52 \n# @Author : ComeOnJian \n# @File : __init__.py.py \n\n"
  },
  {
    "path": "Financial_NLP/final_demo/data_prepare.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/6/15 下午10:50 \n# @Author : ComeOnJian \n# @File : data_prepare.py \n\n\nimport jieba\nfrom util import *\nimport json\nimport re\nfrom collections import defaultdict\nfrom gensim.models import word2vec\nfrom gensim.models import KeyedVectors\nfrom keras.preprocessing import sequence\nfrom keras.preprocessing.text import Tokenizer\n\n\n# file paths\ntrain_data_all = 'atec_nlp_sim_train_all.csv'\ntrain_all = 'atec_nlp_sim_train_0.6.csv'\ntest_all = 'atec_nlp_sim_test_0.4.csv' #6550个为1的label\nstop_words_path = 'stop_words.txt'\ndict_path = 'dict_all.txt'\nspelling_corrections_path = 'spelling_corrections.json'\nw2v_model_path = 'train_corpus.model'\nw2v_vocab_path = 'train_corpus_vocab.txt'\n\n# data\n\n\n#param\nembedding_size = 300\nmax_sentence_length = 20\nmax_word_length = 25\n# os.path.join(project.aux_dir,'fasttext','')\nmax_vovab_size = 100000\n\n#################### 文本的清理工作 ####################\ndef preprocessing(data_df,fname):\n    \"\"\"\n    :param data_df:需要处理的数据集\n    :param fname:\n    :return:\n    \"\"\"\n    # 加载停用词\n    stopwords = load_stopwordslist(project.aux_dir + stop_words_path)\n    # 加载拼写错误替换词\n    spelling_corrections = load_spelling_corrections(project.aux_dir + spelling_corrections_path)\n\n    re_object = re.compile(r'\\*+') #去除句子中的脱敏数字***，替换成一\n    vocabs = defaultdict(int)# 记录词汇表词频\n    for index, row in data_df.iterrows():\n        # 每1000个打印一下句子的词向量\n        if index != 0 and index % 2000 == 0:\n            print(\"{:,}  {}-sentence embedding.\".format(index,fname))\n        # 分别遍历每行的两个句子，并进行分词处理\n        for col_name in [\"s1\", \"s2\"]:\n            # 替换掉脱敏的数字\n            re_str = re_object.subn(u\"十一\",unicode(row[col_name],'utf-8'))\n            # 纠正一些词\n            spell_corr_str = transform_other_word(re_str[0],spelling_corrections)\n            # 分词\n            seg_str = seg_sentence(spell_corr_str, stopwords)\n            for word in seg_str.split(\" \"):\n                vocabs[word] = vocabs[word] + 1\n                data_df.at[index, col_name] = seg_str\n\n    data_df.to_csv(project.preprocessed_data_dir + '{}.csv'.format(fname), sep='\\t', header=None,index=None,encoding='utf-8')\n    project.save(project.preprocessed_data_dir + '{}.pickle'.format(fname),vocabs)\n    del data_df\n\ndef seg_sentence(sentence,stop_words):\n    \"\"\"\n    对句子进行分词\n    :param sentence:句子，String\n    \"\"\"\n    sentence_seged = jieba.cut(sentence.strip())\n    out_str = \"\"\n    for word in sentence_seged:\n        if word not in stop_words:\n            if word != \" \":\n                out_str += word\n                out_str += \" \"\n    return out_str\n\ndef load_stopwordslist(filepath):\n    \"\"\"\n    加载停用词\n    :param filepath:停用词文件路径\n    :return:\n    \"\"\"\n    with io.open(filepath,\"r\",encoding=\"utf-8\") as file:\n        stop_words = [line.strip() for line in file]\n        return stop_words\n\ndef load_spelling_corrections(filepath):\n    with io.open(filepath,\"r\",encoding=\"utf-8\") as file:\n        spelling_corrections = json.load(file)\n        return spelling_corrections\n\ndef load_doubt_words(filpath):\n    \"\"\"\n    加载疑问词\n    :param filpath:\n    :return:\n    \"\"\"\n    with io.open(filpath,'r',encoding=\"utf-8\") as file:\n        doubt_words = [line.strip() for line in file]\n        return doubt_words\n\ndef transform_other_word(str_text,reg_dict):\n    for token_str,replac_str in reg_dict.items():\n        str_text = str_text.replace(token_str, replac_str)\n    return str_text\n\ndef strip_why(rawq):\n    rawq = re.sub('为什么|为何|为啥|为么|为撒|咋个|为什|怎么回事|是什么原因|什么原因', '', rawq)\n    if re.match(r'怎么.*(不|没|了|只|会|又|要|老|总|才|是)',rawq):\n        rawq = re.sub('怎么', '', rawq)\n    return rawq\n\ndef strip_how(rawq):\n    rawq = re.sub('怎么办|咋办', '', rawq)\n    return rawq\n\n#################### 文本的Embeding工作 ####################\ndef process_save_embedding_wv(nfile,type = 1,isStore_ids = False):\n    \"\"\"\n    :param type: 词向量的选择：1，知乎，2，训练集 3 知乎+训练集\n    :return:\n    \"\"\"\n    w2v_path = project.aux_dir + 'sgns.zhihu.bigram'\n\n    if type == 2:\n        w2v_path = project.aux_dir + 'train_all_data.bigram'\n\n    # vocabs_path = project.preprocessed_data_dir + 'data_all_seg.pickle'\n\n    tokenizer = Tokenizer(\n        num_words=max_vovab_size,\n        split=' ',\n        lower=False,\n        char_level=False,\n        filters=''\n    )\n    # 加载所有的词汇表训练集和测试集\n    pre_deal_train_df = pd.read_csv(project.preprocessed_data_dir + 'train_0.6_seg.csv',\n                                    names=[\"index\", \"s1\", \"s2\", \"label\"],\n                                    header=None,encoding='utf-8',\n                                    sep='\\t')\n    pre_deal_test_df = pd.read_csv(project.preprocessed_data_dir + 'test_0.4_seg.csv',\n                                   names=[\"index\", \"s1\", \"s2\", \"label\"],\n                                   header=None,encoding='utf-8',\n                                   sep='\\t',\n                                   )\n    texts = []\n    texts_s1_test = pre_deal_test_df['s1'].tolist()\n    texts_s2_test = pre_deal_test_df['s2'].tolist()\n\n    texts_s1_train = pre_deal_train_df['s1'].tolist()\n    texts_s2_train = pre_deal_train_df['s2'].tolist()\n\n    texts.extend(texts_s1_test)\n    texts.extend(texts_s2_test)\n    texts.extend(texts_s1_train)\n    texts.extend(texts_s2_train)\n\n    # print pre_deal_train_df.isnull().any()\n    # print pre_deal_test_df.isnull().any()\n    # 生成token词典\n    # tests = [u'中 国', u'矿业 大学', u'不错哦']\n    tokenizer.fit_on_texts(texts)\n\n    # 生成各个词对应的index列表\n    s1_train_ids = tokenizer.texts_to_sequences(texts_s1_train)\n    s2_train_ids = tokenizer.texts_to_sequences(texts_s2_train)\n\n\n    s1_test_ids = tokenizer.texts_to_sequences(texts_s1_test)\n    s2_test_ids = tokenizer.texts_to_sequences(texts_s2_test)\n\n    num_words_dict = tokenizer.word_index\n\n    # 训练集的词汇表的词向量矩阵,行数为最大值+1,形式为：index->vec\n    embedding_matrix = 1 * np.random.randn(len(num_words_dict) + 1, embedding_size)\n    embedding_matrix[0] = np.random.randn(embedding_size)\n\n    # 加载预训练的词向量w2v\n    print 'load w2v_model...'\n    w2v_model = KeyedVectors.load_word2vec_format(w2v_path, binary=False)\n    print 'finish w2v_model...'\n\n    if type == 3:\n        w2v_path2 = project.aux_dir + 'train_all_data.bigram'\n        w2v_model2 = KeyedVectors.load_word2vec_format(w2v_path2, binary=False)\n    count = 0\n    for word,index in num_words_dict.items():\n        if word in w2v_model.vocab:\n            embedding_matrix[index] = w2v_model.word_vec(word)\n            count = count +1\n        else:\n            if type == 3:\n                if word in w2v_model2.vocab:\n                    embedding_matrix[index] = w2v_model2.word_vec(word)\n                    count = count + 1\n    print('total {}, word in model have {}'.format(len(num_words_dict),count))\n\n    project.save(project.aux_dir + nfile,embedding_matrix)\n\n    if isStore_ids:\n        s1_train_ids_pad = sequence.pad_sequences(s1_train_ids,maxlen=max_sentence_length)\n        s2_train_ids_pad = sequence.pad_sequences(s2_train_ids,maxlen=max_sentence_length)\n\n        s1_test_ids_pad = sequence.pad_sequences(s1_test_ids,maxlen=max_sentence_length)\n        s2_test_ids_pad = sequence.pad_sequences(s2_test_ids,maxlen=max_sentence_length)\n\n        project.save(project.preprocessed_data_dir + 's1_train_ids_pad.pickle',s1_train_ids_pad)\n        project.save(project.preprocessed_data_dir + 's2_train_ids_pad.pickle',s2_train_ids_pad)\n        project.save(project.preprocessed_data_dir + 's1_test_ids_pad.pickle',s1_test_ids_pad)\n        project.save(project.preprocessed_data_dir + 's2_test_ids_pad.pickle',s2_test_ids_pad)\n    print('finish')\n\ndef process_save_char_embedding_wv(isStore_ids = False):\n    data_local_df = pd.read_csv(project.data_dir + train_all, sep='\\t', header=None,names=[\"index\", \"s1\", \"s2\", \"label\"])\n    data_test_df = pd.read_csv(project.data_dir + test_all, sep='\\t', header=None, names=[\"index\", \"s1\", \"s2\", \"label\"])\n    w2v_char_path = project.aux_dir + 'train_char_all__data.bigram'\n    w2v_char_model = KeyedVectors.load_word2vec_format(w2v_char_path, binary=False)\n    # 加载拼写错误替换词\n    spelling_corrections = load_spelling_corrections(project.aux_dir + spelling_corrections_path)\n    re_object = re.compile(r'\\*+')  # 去除句子中的脱敏数字***，替换成一\n    char_vocabs = project.load(project.preprocessed_data_dir + 'train_all_char_vocabs.pickle')\n    data_df_list = [data_local_df,data_test_df]\n\n    embedding_word_matrix = 1 * np.random.randn((len(char_vocabs) + 1), embedding_size)\n    embedding_word_matrix[0] = np.random.randn(embedding_size)\n\n    for word,index in char_vocabs.items():\n        if word in w2v_char_model.vocab:\n            embedding_word_matrix[index] = w2v_char_model.word_vec(word)\n            if index % 100 == 0:\n                print 'char {}'.format(index)\n\n    project.save(project.aux_dir + 'train_all_char_embedding_matrix.pickle',embedding_word_matrix)\n\n    for data_df in data_df_list:\n        for index, row in data_df.iterrows():\n            # 每1000个打印一下句子的词向量\n            if index != 0 and index % 5000 == 0:\n                print(\"{:,}sentence word embedding.\".format(index))\n            # 分别遍历每行的两个句子，并进行分词处理\n            for col_name in [\"s1\", \"s2\"]:\n                # 替换掉脱敏的数字\n                re_str = re_object.subn(u\"十一\",unicode(row[col_name],'utf-8'))\n                # 纠正一些词\n                spell_corr_str = transform_other_word(re_str[0],spelling_corrections)\n                spell_corr_str = list(spell_corr_str)\n                indexs = []\n                for char in spell_corr_str:\n                    if char in char_vocabs:\n                        indexs.append(char_vocabs[char])\n                    else:\n                        if not char.strip()==u\"\":\n                            indexs.append(0)\n                data_df.at[index, col_name] = indexs\n\n    if isStore_ids:\n        s1_train_ids_pad = sequence.pad_sequences(data_local_df['s1'],maxlen=max_word_length)\n        s2_train_ids_pad = sequence.pad_sequences(data_local_df['s2'],maxlen=max_word_length)\n\n        s1_test_ids_pad = sequence.pad_sequences(data_test_df['s1'],maxlen=max_word_length)\n        s2_test_ids_pad = sequence.pad_sequences(data_test_df['s2'],maxlen=max_word_length)\n\n        project.save(project.preprocessed_data_dir + 's1_train_char_ids_pad.pickle',s1_train_ids_pad)\n        project.save(project.preprocessed_data_dir + 's2_train_char_ids_pad.pickle',s2_train_ids_pad)\n        project.save(project.preprocessed_data_dir + 's1_test_char_ids_pad.pickle',s1_test_ids_pad)\n        project.save(project.preprocessed_data_dir + 's2_test_char_ids_pad.pickle',s2_test_ids_pad)\n    print('finish')\n\n#################### 使用训练集train_all做 pre_train word embedding ####################\ndef pre_train_w2v(binary = False):\n    \"\"\"\n    利用已经训练集训练词向量\n    :param nfile_corpus:已经分好词的文本路径，如\"train_segment.corpus\"\n    :param binary:将词向量表是否存储为二进制文件\n    :return:\n    \"\"\"\n    # 加载所有的词汇表训练集和测试集\n    pre_deal_train_df = pd.read_csv(project.preprocessed_data_dir + 'train_0.6_seg.csv',\n                                    names=[\"index\", \"s1\", \"s2\", \"label\"],\n                                    header=None, encoding='utf-8',\n                                    sep='\\t')\n    pre_deal_test_df = pd.read_csv(project.preprocessed_data_dir + 'test_0.4_seg.csv',\n                                   names=[\"index\", \"s1\", \"s2\", \"label\"],\n                                   header=None, encoding='utf-8',\n                                   sep='\\t',\n                                   )\n    texts = []\n    texts_s1_test = [line.strip().split(\" \") for line in pre_deal_test_df['s1'].tolist()]\n    texts_s2_test = [line.strip().split(\" \") for line in pre_deal_test_df['s2'].tolist()]\n\n    texts_s1_train = [line.strip().split(\" \") for line in pre_deal_train_df['s1'].tolist()]\n    texts_s2_train = [line.strip().split(\" \") for line in pre_deal_train_df['s2'].tolist()]\n\n    texts.extend(texts_s1_test)\n    texts.extend(texts_s2_test)\n    texts.extend(texts_s1_train)\n    texts.extend(texts_s2_train)\n\n    model = word2vec.Word2Vec(sentences=texts,size=300,window=2,min_count=3,workers=2)\n    model.wv.save_word2vec_format(fname=project.aux_dir + \"train_all_data.bigram\",binary=binary,fvocab=None)\n\ndef pre_train_char_w2v(binary = False):\n    data_local_df = pd.read_csv(project.data_dir + train_all, sep='\\t', header=None,names=[\"index\", \"s1\", \"s2\", \"label\"])\n    data_test_df = pd.read_csv(project.data_dir + test_all, sep='\\t', header=None, names=[\"index\", \"s1\", \"s2\", \"label\"])\n    # 加载停用词\n    stopwords = load_stopwordslist(project.aux_dir + stop_words_path)\n    # 加载拼写错误替换词\n    spelling_corrections = load_spelling_corrections(project.aux_dir + spelling_corrections_path)\n\n    re_object = re.compile(r'\\*+')  # 去除句子中的脱敏数字***，替换成一\n    data_df_list = [data_local_df,data_test_df]\n    texts = []\n    char_vocabs = {}\n    char_index = 1\n    for data_df in data_df_list:\n        for index, row in data_df.iterrows():\n            if index != 0 and index % 5000 == 0:\n                print(\"{:,} sentence word embedding.\".format(index))\n            # 分别遍历每行的两个句子，并进行分词处理\n            for col_name in [\"s1\", \"s2\"]:\n                # 替换掉脱敏的数字\n                re_str = re_object.subn(u\"十一\", unicode(row[col_name], 'utf-8'))\n                # 纠正一些词\n                spell_corr_str = transform_other_word(re_str[0], spelling_corrections)\n                spell_corr_str = list(spell_corr_str)\n                for char in spell_corr_str:\n                    if char not in char_vocabs and char not in stopwords and not char.strip()==u\"\":\n                        char_vocabs[char] = char_index\n                        char_index = char_index + 1\n                texts.extend(spell_corr_str)\n\n    model = word2vec.Word2Vec(sentences=texts,size=300,window=3,workers=2)\n    model.wv.save_word2vec_format(fname=project.aux_dir + \"train_char_all__data.bigram\",binary=binary,fvocab=None)\n    project.save(project.preprocessed_data_dir + 'train_all_char_vocabs.pickle', char_vocabs)\n\nif __name__ == '__main__':\n\n    # step 1 # 预处理文本\n    jieba.load_userdict(project.aux_dir + dict_path)\n    data_local_df = pd.read_csv(project.data_dir + train_all, sep='\\t', header=None,names=[\"index\", \"s1\", \"s2\", \"label\"])\n\n    data_test_df = pd.read_csv(project.data_dir + test_all, sep='\\t', header=None, names=[\"index\", \"s1\", \"s2\", \"label\"])\n    data_all_df = pd.read_csv(project.data_dir + train_data_all, sep='\\t', header=None, names=[\"index\", \"s1\", \"s2\", \"label\"])\n\n    pre_train_char_w2v()\n    #\n    preprocessing(data_local_df,'train_0.6_seg')\n    preprocessing(data_test_df,'test_0.4_seg')\n    preprocessing(data_all_df,'data_all_seg')\n\n    # 保存label\n    project.save(project.features_dir + 'y_0.4_test.pickle', data_test_df['label'].tolist())\n    project.save(project.features_dir + 'y_0.6_train.pickle', data_local_df['label'].tolist())\n    project.save(project.features_dir + 'y_train.pickle', data_all_df['label'].tolist())\n\n    # step 2\n    pre_train_w2v()\n\n\n    # step 3\n    process_save_embedding_wv('train_all_w2v_embedding_matrix.pickle',type=2,isStore_ids=True)\n    # process_save_embedding_wv('zhihu_w2v_embedding_matrix.pickle',type=2,isStore_ids=False)\n    # process_save_embedding_wv('zhihu_w2v_embedding_matrix.pickle',type=3,isStore_ids=False)\n\n    # step 4 char wordembedding\n    process_save_char_embedding_wv(isStore_ids=True)\n\n\n\n"
  },
  {
    "path": "Financial_NLP/final_demo/extract_feature.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/6/15 下午8:12 \n# @Author : ComeOnJian \n# @File : extract_feature.py \n\n\n##\nimport pandas as pd\nfrom train_model import *\nfrom data_prepare import *\nfrom sklearn.model_selection import StratifiedKFold\nfrom keras.callbacks import EarlyStopping,ModelCheckpoint\nfrom keras.utils import to_categorical\nfrom keras.models import load_model\nimport gc\n\ndef before_extract_feature_load_data(train_file,test_file):\n\n    train_data = pd.read_csv(train_file,sep='\\t', header=None,\n                                names=[\"index\", \"s1\", \"s2\", \"label\"])\n\n    test_data = pd.read_csv(test_file, sep='\\t', header=None,\n                                names=[\"index\", \"s1\", \"s2\", \"label\"])\n\n    return train_data,test_data\n\ndef after_extract_feature_save_data(feature_train,feature_test,col_names,feature_name):\n    project.save_features(feature_train, feature_test, col_names, feature_name)\n\n#################### 深度学习特征提取 ####################\n\ndef extract_feature_siamese_lstm_manDist():\n    # 前期参数设置\n    embedding_matrix_file_path = 'train_all_w2v_embedding_matrix.pickle'\n    feature_name = 'dl_siamese_lstm_manDist'\n    RANOD_SEED = 42\n    np.random.seed(RANOD_SEED)\n    nepoch = 40\n    num_folds = 5\n    batch_size = 512\n\n    # 加载Embeding矩阵\n    embedding_matrix = project.load(project.aux_dir + embedding_matrix_file_path)\n\n    #加载输入数据\n    X_train_s1 = project.load(project.preprocessed_data_dir + 's1_train_ids_pad.pickle')\n    X_train_s2 = project.load(project.preprocessed_data_dir + 's2_train_ids_pad.pickle')\n\n    X_test_s1 = project.load(project.preprocessed_data_dir + 's1_test_ids_pad.pickle')\n    X_test_s2 = project.load(project.preprocessed_data_dir + 's2_test_ids_pad.pickle')\n\n    #y_0.6_train.pickle 存储的为list\n    y_train = np.array(project.load(project.features_dir + 'y_0.6_train.pickle'))\n    y_val =  np.array(project.load(project.features_dir + 'y_0.4_test.pickle'))\n\n    #定义model param\n    model_param = {\n        'lstm_units':50,\n        'lstm_dropout_rate':0.,\n        'lstm_re_dropout_rate':0.,\n        'desen_dropout_rate':0.75,\n        'num_dense':128\n    }\n    # model_checkpoint_path = project.temp_dir + 'fold-checkpoint-'+feature_name + '.h5'\n    kfold = StratifiedKFold(\n        n_splits=num_folds,\n        shuffle=True,\n        random_state=RANOD_SEED\n    )\n    # 存放最后预测结果\n    y_train_oofp = np.zeros((len(y_train),2),dtype='float64')\n    y_test_oofp = np.zeros((len(X_test_s1),2),dtype='float64')\n\n    train_y = to_categorical(y_train, 2)\n    val_y = to_categorical(y_val,2)\n\n    for fold_num, (ix_train, ix_val) in enumerate(kfold.split(X_train_s1,y_train)):\n\n        # 选出需要添加的样本\n        train_true_mask = y_train[ix_train] == 1\n        X_train_true_s1 = X_train_s1[ix_train][train_true_mask]\n        X_train_true_s2 = X_train_s2[ix_train][train_true_mask]\n        y_train_true = train_y[ix_train][train_true_mask]\n\n        # 进行添加\n        X_add_train_fold_s1 = np.vstack([X_train_s1[ix_train],X_train_true_s2])\n        X_add_train_fold_s2 = np.vstack([X_train_s2[ix_train],X_train_true_s1])\n        y_add_train_fold = np.concatenate([train_y[ix_train],y_train_true])\n\n\n\n        val_true_mask = y_train[ix_val]==1\n        X_val_true_s1 = X_train_s1[ix_val][val_true_mask]\n        X_val_true_s2 = X_train_s2[ix_val][val_true_mask]\n        y_val_true = train_y[ix_val][val_true_mask]\n\n        # 进行添加\n        X_add_val_fold_s1 = np.vstack([X_train_s1[ix_val], X_val_true_s2])\n        X_add_val_fold_s2 = np.vstack([X_train_s2[ix_val], X_val_true_s1])\n        y_add_val_fold = np.concatenate([train_y[ix_val], y_val_true])\n\n        print 'start train fold {} of {} ......'.format((fold_num + 1), 5)\n        # 创建模型\n        model = create_siamese_lstm_ManDistance_model(embedding_matrix, model_param)\n        # 训练模型\n        model_checkpoint_path = project.trained_model_dir + 'dl_siamese_lstm_manDist_model{}.h5'.format(fold_num)\n        model.fit(x=[X_add_train_fold_s1,X_add_train_fold_s2],y=y_add_train_fold,\n                      validation_data=([X_add_val_fold_s1,X_add_val_fold_s2],y_add_val_fold),\n                      batch_size=batch_size,\n                      epochs=nepoch,\n                      verbose=1,\n                      class_weight={0: 1, 1: 2},\n                      callbacks=[\n                          EarlyStopping(\n                              monitor='val_loss',\n                              min_delta=0.005,\n                              patience=5,\n                              verbose=1,\n                              mode='auto'\n                          ),\n                          ModelCheckpoint(\n                              model_checkpoint_path,\n                              monitor='val_loss',\n                              save_best_only=True,\n                              save_weights_only=False,\n                              verbose=1\n                          )]\n                  )\n        model.load_weights(model_checkpoint_path)\n        y_train_oofp[ix_val] = predict(model,X_train_s1[ix_val],X_train_s2[ix_val])\n        K.clear_session()\n        del X_add_train_fold_s1\n        del X_add_train_fold_s2\n        del X_add_val_fold_s1\n        del X_add_val_fold_s2\n        del y_add_train_fold\n        del y_add_val_fold\n        gc.collect()\n\n    # save feature\n\n    model_path = project.trained_model_dir + 'dl_siamese_lstm_manDist_model0.h5'\n    model0 = load_model(model_path,\n                    custom_objects={'ManDist': ManDist, 'fbeta_score': fbeta_score, 'precision': precision,\n                                        'recall': recall})\n    y_test_oofp = predict(model0,X_test_s1,X_test_s2)\n    col_names = ['{}_{}'.format(feature_name,index) for index in range(2)]\n    after_extract_feature_save_data(y_train_oofp,y_test_oofp,col_names,feature_name)\n\ndef extract_feature_siamese_lstm_attention():\n    # 前期参数设置\n    embedding_matrix_file_path = 'train_all_w2v_embedding_matrix.pickle'\n    feature_name = 'dl_siamese_lstm_attention'\n    RANOD_SEED = 42\n    np.random.seed(RANOD_SEED)\n    nepoch = 50\n    num_folds = 5\n    batch_size = 512\n\n    # 加载Embeding矩阵\n    embedding_matrix = project.load(project.aux_dir + embedding_matrix_file_path)\n\n    #加载输入数据\n    X_train_s1 = project.load(project.preprocessed_data_dir + 's1_train_ids_pad.pickle')\n    X_train_s2 = project.load(project.preprocessed_data_dir + 's2_train_ids_pad.pickle')\n\n    X_test_s1 = project.load(project.preprocessed_data_dir + 's1_test_ids_pad.pickle')\n    X_test_s2 = project.load(project.preprocessed_data_dir + 's2_test_ids_pad.pickle')\n\n    #y_0.6_train.pickle 存储的为list\n    y_train = np.array(project.load(project.features_dir + 'y_0.6_train.pickle'))\n    y_val =  np.array(project.load(project.features_dir + 'y_0.4_test.pickle'))\n\n    #定义model param\n    model_param = {\n        'lstm_units':50,\n        'lstm_dropout_rate':0.,\n        'lstm_re_dropout_rate':0.,\n        'desen_dropout_rate':0.75,\n        'num_dense':128\n    }\n    model_checkpoint_path = project.temp_dir + 'fold-checkpoint-'+feature_name + '.h5'\n    kfold = StratifiedKFold(\n        n_splits=num_folds,\n        shuffle=True,\n        random_state=RANOD_SEED\n    )\n    # 存放最后预测结果\n    # y_train_oofp = np.zeros_like(y_train,dtype='float64')\n\n    y_train_oofp = np.zeros((len(y_train),1),dtype='float64')\n\n    y_test_oofp = np.zeros((len(X_test_s1),1),dtype='float64')\n\n    for fold_num, (ix_train, ix_val) in enumerate(kfold.split(X_train_s1,y_train)):\n\n        # 选出需要添加的样本\n        train_true_mask = y_train[ix_train] == 1\n        X_train_true_s1 = X_train_s1[ix_train][train_true_mask]\n        X_train_true_s2 = X_train_s2[ix_train][train_true_mask]\n        y_train_true = y_train[ix_train][train_true_mask]\n\n        # 进行添加\n        X_add_train_fold_s1 = np.vstack([X_train_s1[ix_train],X_train_true_s2])\n        X_add_train_fold_s2 = np.vstack([X_train_s2[ix_train],X_train_true_s1])\n        y_add_train_fold = np.concatenate([y_train[ix_train],y_train_true])\n\n\n\n        val_true_mask = y_train[ix_val]==1\n        X_val_true_s1 = X_train_s1[ix_val][val_true_mask]\n        X_val_true_s2 = X_train_s2[ix_val][val_true_mask]\n        y_val_true = y_train[ix_val][val_true_mask]\n\n        # 进行添加\n        X_add_val_fold_s1 = np.vstack([X_train_s1[ix_val], X_val_true_s2])\n        X_add_val_fold_s2 = np.vstack([X_train_s2[ix_val], X_val_true_s1])\n        y_add_val_fold = np.concatenate([y_train[ix_val], y_val_true])\n\n        print 'start train fold {} of {} ......'.format((fold_num + 1), 5)\n        # 创建模型\n        model = create_siamese_lstm_attention_model(embedding_matrix, model_param)\n        # 训练模型\n        model_checkpoint_path = project.trained_model_dir + 'dl_siamese_lstm_attention_model{}.h5'.format(fold_num)\n        model.fit(x=[X_add_train_fold_s1,X_add_train_fold_s2],y=y_add_train_fold,\n                      validation_data=([X_add_val_fold_s1,X_add_val_fold_s2],y_add_val_fold),\n                      batch_size=batch_size,\n                      epochs=nepoch,\n                      verbose=1,\n                      class_weight={0: 1, 1: 2},\n                      callbacks=[\n                          EarlyStopping(\n                              monitor='val_loss',\n                              min_delta=0.005,\n                              patience=5,\n                              verbose=1,\n                              mode='auto'\n                          ),\n                          ModelCheckpoint(\n                              model_checkpoint_path,\n                              monitor='val_loss',\n                              save_best_only=True,\n                              save_weights_only=False,\n                              verbose=1\n                          )]\n                  )\n        model.load_weights(model_checkpoint_path)\n        y_train_oofp[ix_val] = predict(model,X_train_s1[ix_val],X_train_s2[ix_val])\n        K.clear_session()\n        del X_add_train_fold_s1\n        del X_add_train_fold_s2\n        del X_add_val_fold_s1\n        del X_add_val_fold_s2\n        del y_add_train_fold\n        del y_add_val_fold\n        gc.collect()\n\n    model_path = project.trained_model_dir + 'dl_siamese_lstm_attention_model0.h5'\n    model0 = load_model(model_path,\n                        custom_objects={'AttentionLayer1': AttentionLayer1, 'fbeta_score': fbeta_score, 'precision': precision,\n                                        'recall': recall})\n    y_test_oofp = predict(model0, X_test_s1, X_test_s2)\n\n    col_names = ['{}_{}'.format(feature_name,index) for index in range(1)]\n    after_extract_feature_save_data(y_train_oofp,y_test_oofp,col_names,feature_name)\n\ndef extract_feature_siamese_lstm_dssm():\n    # 前期参数设置\n    embedding_matrix_file_path = 'train_all_w2v_embedding_matrix.pickle'\n    embedding_char_matrix_file_path = 'train_all_char_embedding_matrix.pickle'\n    feature_name = 'dl_siamese_lstm_dssm'\n    RANOD_SEED = 42\n    np.random.seed(RANOD_SEED)\n    nepoch = 30\n    num_folds = 5\n    batch_size = 512\n\n    # 加载Embeding矩阵\n    embedding_matrix = project.load(project.aux_dir + embedding_matrix_file_path)\n    char_embedding_matrix =  project.load(project.aux_dir + embedding_char_matrix_file_path)\n\n    # 加载输入数据\n    X_train_s1 = project.load(project.preprocessed_data_dir + 's1_train_ids_pad.pickle')\n    X_train_s2 = project.load(project.preprocessed_data_dir + 's2_train_ids_pad.pickle')\n\n    print X_train_s2.shape\n\n    X_test_s1 = project.load(project.preprocessed_data_dir + 's1_test_ids_pad.pickle')\n    X_test_s2 = project.load(project.preprocessed_data_dir + 's2_test_ids_pad.pickle')\n\n    X_char_train_s1 = project.load(project.preprocessed_data_dir + 's1_train_char_ids_pad.pickle')\n    X_char_train_s2 = project.load(project.preprocessed_data_dir + 's2_train_char_ids_pad.pickle')\n\n    X_char_test_s1 = project.load(project.preprocessed_data_dir + 's1_test_char_ids_pad.pickle')\n    X_char_test_s2 = project.load(project.preprocessed_data_dir + 's2_test_char_ids_pad.pickle')\n\n    # y_0.6_train.pickle 存储的为list\n    y_train = np.array(project.load(project.features_dir + 'y_0.6_train.pickle'))\n    y_val = np.array(project.load(project.features_dir + 'y_0.4_test.pickle'))\n\n    # train_y = to_categorical(y_train, 2)\n    # val_y = to_categorical(y_val,2)\n    # 定义model param\n    model_param = {\n        'lstm_units': 50,\n        'lstm_dropout_rate': 0.,\n        'lstm_re_dropout_rate': 0.,\n        'desen_dropout_rate': 0.75,\n        'num_dense': 128\n    }\n    kfold = StratifiedKFold(\n        n_splits=num_folds,\n        shuffle=True,\n        random_state=RANOD_SEED\n    )\n    # 存放最后预测结果\n    # y_train_oofp = np.zeros_like(y_train,dtype='float64')\n\n    y_train_oofp = np.zeros((len(y_train), 1), dtype='float64')\n\n    y_test_oofp = np.zeros((len(X_test_s1), 1), dtype='float64')\n\n    for fold_num, (ix_train, ix_val) in enumerate(kfold.split(X_train_s1, y_train)):\n        # 选出需要添加的样本\n        train_true_mask = y_train[ix_train] == 1\n        X_train_true_s1 = X_train_s1[ix_train][train_true_mask]\n        X_train_true_s2 = X_train_s2[ix_train][train_true_mask]\n        y_train_true = y_train[ix_train][train_true_mask]\n\n        # 进行添加\n        X_add_train_fold_s1 = np.vstack([X_train_s1[ix_train], X_train_true_s2])\n        X_add_train_fold_s2 = np.vstack([X_train_s2[ix_train], X_train_true_s1])\n        y_add_train_fold = np.concatenate([y_train[ix_train], y_train_true])\n\n\n\n        X_train_true_s1_char = X_char_train_s1[ix_train][train_true_mask]\n        X_train_true_s2_char = X_char_train_s2[ix_train][train_true_mask]\n\n        # 进行添加\n        X_add_train_fold_s1_char = np.vstack([X_char_train_s1[ix_train], X_train_true_s2_char])\n        X_add_train_fold_s2_char = np.vstack([X_char_train_s2[ix_train], X_train_true_s1_char])\n\n        #   验证部分\n        val_true_mask = y_train[ix_val] == 1\n        X_val_true_s1 = X_train_s1[ix_val][val_true_mask]\n        X_val_true_s2 = X_train_s2[ix_val][val_true_mask]\n        y_val_true = y_train[ix_val][val_true_mask]\n\n        # 进行添加\n        X_add_val_fold_s1 = np.vstack([X_train_s1[ix_val], X_val_true_s2])\n        X_add_val_fold_s2 = np.vstack([X_train_s2[ix_val], X_val_true_s1])\n        y_add_val_fold = np.concatenate([y_train[ix_val], y_val_true])\n\n        X_val_true_s1_char = X_char_train_s1[ix_val][val_true_mask]\n        X_val_true_s2_char = X_char_train_s2[ix_val][val_true_mask]\n\n        X_add_val_fold_s1_char = np.vstack([X_char_train_s1[ix_val], X_val_true_s2_char])\n        X_add_val_fold_s2_char = np.vstack([X_char_train_s2[ix_val], X_val_true_s1_char])\n\n        print 'start train fold {} of {} ......'.format((fold_num + 1), 5)\n        # 创建模型\n        model = create_siamese_lstm_dssm_mdoel(embedding_matrix,char_embedding_matrix, model_param)\n        # 训练模型\n        model_checkpoint_path = project.trained_model_dir + 'dl_siamese_lstm_dssm_model{}.h5'.format(fold_num)\n        model.fit(x=[X_add_train_fold_s1, X_add_train_fold_s2,X_add_train_fold_s1_char,X_add_train_fold_s2_char], y=y_add_train_fold,\n                  validation_data=([X_add_val_fold_s1, X_add_val_fold_s2,X_add_val_fold_s1_char,X_add_val_fold_s2_char], y_add_val_fold),\n                  batch_size=batch_size,\n                  epochs=nepoch,\n                  class_weight={0:1,1:2},\n                  verbose=1,\n                  callbacks=[\n                      EarlyStopping(\n                          monitor='val_loss',\n                          min_delta=0.001,\n                          patience=3,\n                          verbose=1,\n                          mode='auto'\n                      ),\n                      ModelCheckpoint(\n                          model_checkpoint_path,\n                          monitor='val_loss',\n                          save_best_only=True,\n                          save_weights_only=False,\n                          verbose=1\n                      )]\n                  )\n        model.load_weights(model_checkpoint_path)\n        y_train_oofp[ix_val] = predict1(model, X_train_s1[ix_val], X_train_s2[ix_val],X_char_train_s1[ix_val],X_char_train_s2[ix_val])\n        K.clear_session()\n        del X_add_train_fold_s1\n        del X_add_train_fold_s2\n        del X_add_val_fold_s1\n        del X_add_val_fold_s2\n        del y_add_train_fold\n        del y_add_val_fold\n        gc.collect()\n\n    model_path = project.trained_model_dir + 'dl_siamese_lstm_dssm_model0.h5'\n    model0 = load_model(model_path,\n                        custom_objects={'AttentionLayer': AttentionLayer,'ManDist': ManDist,'ConsDist':ConsDist, 'fbeta_score': fbeta_score,\n                                        'precision': precision,\n                                        'recall': recall})\n    y_test_oofp = predict1(model0, X_test_s1, X_test_s2,X_char_test_s1,X_char_test_s2)\n    col_names = ['{}_{}'.format(feature_name, index) for index in range(1)]\n    after_extract_feature_save_data(y_train_oofp, y_test_oofp, col_names, feature_name)\n\ndef extract_feature_siamese_lstm_manDist_char():\n    feature_name = 'dl_siamese_lstm_manDist_char'\n    embedding_char_matrix_file_path = 'train_all_char_embedding_matrix.pickle'\n    nb_filter = 300\n    filter_width = [4, 3]\n\n\n    y_train_oofp = np.zeros((len(y_train), 1), dtype='float64')\n\n    y_test_oofp = np.zeros((len(X_test_s1), 1), dtype='float64')\n\n    kfold = StratifiedKFold(\n        n_splits=5,\n        shuffle=True,\n        random_state=44\n    )\n    for fold_num, (ix_train, ix_val) in enumerate(kfold.split(X_train_s1,y_train)):\n\n        # 选出需要添加的样本\n        train_true_mask = y_train[ix_train] == 1\n        X_train_true_s1 = X_train_s1[ix_train][train_true_mask]\n        X_train_true_s2 = X_train_s2[ix_train][train_true_mask]\n        y_train_true = y_train[ix_train][train_true_mask]\n\n        # 进行添加\n        X_add_train_fold_s1 = np.vstack([X_train_s1[ix_train],X_train_true_s2])\n        X_add_train_fold_s2 = np.vstack([X_train_s2[ix_train],X_train_true_s1])\n        y_add_train_fold = np.concatenate([y_train[ix_train],y_train_true])\n\n\n\n        val_true_mask = y_train[ix_val]==1\n        X_val_true_s1 = X_train_s1[ix_val][val_true_mask]\n        X_val_true_s2 = X_train_s2[ix_val][val_true_mask]\n        y_val_true = y_train[ix_val][val_true_mask]\n\n        # 进行添加\n        X_add_val_fold_s1 = np.vstack([X_train_s1[ix_val], X_val_true_s2])\n        X_add_val_fold_s2 = np.vstack([X_train_s2[ix_val], X_val_true_s1])\n        y_add_val_fold = np.concatenate([y_train[ix_val], y_val_true])\n\n        print 'start train fold {} of {} ......'.format((fold_num + 1), 5)\n        # 创建模型\n        model = create_abcnn_model(embedding_matrix,nb_filter,filter_width)\n        # 训练模型\n        model_checkpoint_path = project.trained_model_dir + 'dl_abcnn_model{}.h5'.format(fold_num)\n        model.fit(x=[X_add_train_fold_s1,X_add_train_fold_s2],y=y_add_train_fold,\n                      validation_data=([X_add_val_fold_s1,X_add_val_fold_s2],y_add_val_fold),\n                      batch_size=512,\n                      epochs=30,\n                      verbose=1,\n                      class_weight={0: 1, 1: 2},\n                      callbacks=[\n                          EarlyStopping(\n                              monitor='val_loss',\n                              min_delta=0.005,\n                              patience=5,\n                              verbose=1,\n                              mode='auto'\n                          ),\n                          ModelCheckpoint(\n                              model_checkpoint_path,\n                              monitor='val_loss',\n                              save_best_only=True,\n                              save_weights_only=False,\n                              verbose=1\n                          )]\n                  )\n        model.load_weights(model_checkpoint_path)\n        y_train_oofp[ix_val] = predict(model,X_train_s1[ix_val],X_train_s2[ix_val])\n        K.clear_session()\n        del X_add_train_fold_s1\n        del X_add_train_fold_s2\n        del X_add_val_fold_s1\n        del X_add_val_fold_s2\n        del y_add_train_fold\n        del y_add_val_fold\n        gc.collect()\n    model_path = project.trained_model_dir + 'dl_abcnn_model0.h5'\n    model0 = load_model(model_path,\n                        custom_objects={'fbeta_score': fbeta_score, 'precision': precision,\n                                        'recall': recall})\n    y_test_oofp = predict(model0, X_test_s1, X_test_s2)\n\n    col_names = ['{}_{}'.format(feature_name,index) for index in range(1)]\n    after_extract_feature_save_data(y_train_oofp,y_test_oofp,col_names,feature_name)\n\n#################### NLP特征提取 ####################\n\ndef extract_sentece_length_diff():\n    \"\"\"\n    长度差特征\n    \"\"\"\n    # step1 定义抽取特征的方式名\n    feature_name = 'nlp_sentece_length_diff'\n\n    # step2 载入数据\n    train_data ,test_data = before_extract_feature_load_data(train_file=project.preprocessed_data_dir + 'train_0.6_seg.csv',\n                                                             test_file=project.preprocessed_data_dir + 'test_0.4_seg.csv')\n\n    feature_train = np.zeros((train_data.shape[0],1),dtype='float64')\n    feature_test = np.zeros((test_data.shape[0],1),dtype='float64')\n\n    # 计算两个句子的长度差\n    def get_length_diff(s1, s2):\n        return 1 - abs(len(s1) - len(s2)) / float(max(len(s1), len(s2)))\n\n    for index,row in train_data.iterrows():\n        s1 = row['s1'].strip().split(' ')\n        s2 = row['s2'].strip().split(' ')\n        diff = get_length_diff(s1,s2)\n        feature_train[index] = round(diff,5)\n\n    for index, row in test_data.iterrows():\n        s1 = row['s1'].strip().split(' ')\n        s2 = row['s2'].strip().split(' ')\n        diff = get_length_diff(s1, s2)\n        feature_test[index] = round(diff,5)\n\n    # step 3 保存特征：参数有：训练集的特征，测试集的特征，抽取特征的方法的多列特征的列名，抽取特征的方式名\n    col_names = [feature_name]\n    after_extract_feature_save_data(feature_train, feature_test, col_names, feature_name)\n\ndef extract_edit_distance():\n\n    # step1 定义抽取特征的方式名\n    feature_name = 'nlp_edit_distance'\n\n    # step2 载入数据\n    train_data, test_data = before_extract_feature_load_data(\n        train_file=project.data_dir + 'atec_nlp_sim_train_0.6.csv',\n        test_file=project.data_dir + 'atec_nlp_sim_test_0.4.csv')\n\n    feature_train = np.zeros((train_data.shape[0], 1), dtype='float64')\n    feature_test = np.zeros((test_data.shape[0], 1), dtype='float64')\n\n    # 计算编辑距离\n    def get_edit_distance(rawq1, rawq2):\n        m, n = len(rawq1) + 1, len(rawq2) + 1\n        matrix = [[0] * n for i in range(m)]\n        matrix[0][0] = 0\n        for i in range(1, m):\n            matrix[i][0] = matrix[i - 1][0] + 1\n        for j in range(1, n):\n            matrix[0][j] = matrix[0][j - 1] + 1\n        cost = 0\n        for i in range(1, m):\n            for j in range(1, n):\n                if rawq1[i - 1] == rawq2[j - 1]:\n                    cost = 0\n                else:\n                    cost = 1\n                matrix[i][j] = min(matrix[i - 1][j] + 1, matrix[i][j - 1] + 1, matrix[i - 1][j - 1] + cost)\n        return 1 - matrix[m - 1][n - 1] / float(max(len(rawq1), len(rawq2)))\n\n    for index,row in train_data.iterrows():\n        s1 = row['s1'].strip()\n        s2 = row['s2'].strip()\n        edit_distance = get_edit_distance(s1,s2)\n        feature_train[index] = round(edit_distance,5)\n\n    for index, row in test_data.iterrows():\n        s1 = row['s1'].strip()\n        s2 = row['s2'].strip()\n        edit_distance = get_edit_distance(s1, s2)\n        feature_test[index] = round(edit_distance,5)\n\n    # step 3 保存特征：参数有：训练集的特征，测试集的特征，抽取特征的方法的多列特征的列名，抽取特征的方式名\n    col_names = [feature_name]\n    after_extract_feature_save_data(feature_train,feature_test,col_names,feature_name)\n\ndef extract_ngram(max_ngram = 3):\n    '''\n    提取ngram特征\n    :return:\n    '''\n    # step1 定义抽取特征的方式名\n    feature_name = 'nlp_ngram'\n\n    # step2 载入数据\n    train_data, test_data = before_extract_feature_load_data(\n        train_file=project.preprocessed_data_dir + 'train_0.6_seg.csv',\n        test_file=project.preprocessed_data_dir + 'test_0.4_seg.csv')\n\n    feature_train = np.zeros((train_data.shape[0], max_ngram), dtype='float64')\n    feature_test = np.zeros((test_data.shape[0], max_ngram), dtype='float64')\n\n    # 定义n_gram的方法\n    def get_ngram(rawq, ngram_value):\n        result = []\n        for i in range(len(rawq)):\n            if i + ngram_value < len(rawq) + 1:\n                result.append(rawq[i:i + ngram_value])\n        return result\n\n    def get_ngram_sim(q1_ngram, q2_ngram):\n        q1_dict = {}\n        q2_dict = {}\n        for token in q1_ngram:\n            if token not in q1_dict:\n                q1_dict[token] = 1\n            else:\n                q1_dict[token] = q1_dict[token] + 1\n        q1_count = np.sum([value for key, value in q1_dict.items()])\n\n        for token in q2_ngram:\n            if token not in q2_dict:\n                q2_dict[token] = 1\n            else:\n                q2_dict[token] = q2_dict[token] + 1\n        q2_count = np.sum([value for key, value in q2_dict.items()])\n\n        # ngram1有但是ngram2没有\n        q1_count_only = np.sum([value for key, value in q1_dict.items() if key not in q2_dict])\n        # ngram2有但是ngram1没有\n        q2_count_only = np.sum([value for key, value in q2_dict.items() if key not in q1_dict])\n        # ngram1和ngram2都有的话，计算value的差值\n        q1_q2_count = np.sum([abs(value - q2_dict[key]) for key, value in q1_dict.items() if key in q2_dict])\n        # ngram1和ngram2的总值\n        all_count = q1_count + q2_count\n        # print(q1_dict)\n        # print(q2_dict)\n        # print(q1_count_only)\n        # print(q2_count_only)\n        # print(q1_q2_count)\n        # print(all_count)\n        return (1 - float(q1_count_only + q2_count_only + q1_q2_count) / (float(all_count) + 0.00000001))\n\n    for ngram_value in range(max_ngram):\n        for index, row in train_data.iterrows():\n            s1 = row['s1'].strip()\n            s2 = row['s2'].strip()\n            ngram1 = get_ngram(s1, ngram_value + 1)\n            ngram2 = get_ngram(s2, ngram_value + 1)\n            ngram_sim = get_ngram_sim(ngram1, ngram2)\n            feature_train[index,ngram_value] = round(ngram_sim,5)\n\n        for index, row in test_data.iterrows():\n            s1 = row['s1'].strip()\n            s2 = row['s2'].strip()\n            ngram1 = get_ngram(s1, ngram_value + 1)\n            ngram2 = get_ngram(s2, ngram_value + 1)\n            ngram_sim = get_ngram_sim(ngram1, ngram2)\n            ngram_sim = get_ngram_sim(ngram1, ngram2)\n            feature_test[index, ngram_value] = round(ngram_sim, 5)\n\n\n    # step 3 保存特征：参数有：训练集的特征，测试集的特征，抽取特征的方法的多列特征的列名，抽取特征的方式名\n    col_names = [('{}_{}'.format(feature_name,ngram_value))for ngram_value in range(max_ngram)]\n    after_extract_feature_save_data(feature_train,feature_test,col_names,feature_name)\n\ndef extract_sentence_diff_same():\n    '''\n    两个句子的相同和不同的词特征\n    '''\n    # step1 定义抽取特征的方式名\n    feature_name = 'nlp_sentece_diff_some'\n    col_num = 6\n    # step2 载入数据\n    train_data, test_data = before_extract_feature_load_data(\n        train_file=project.preprocessed_data_dir + 'train_0.6_seg.csv',\n        test_file=project.preprocessed_data_dir + 'test_0.4_seg.csv')\n\n    feature_train = np.zeros((train_data.shape[0],col_num),dtype='float64')\n    feature_test = np.zeros((test_data.shape[0],col_num),dtype='float64')\n\n    #统计两个句子的相同和不同\n    def get_word_diff(q1, q2):\n        set1 = set(q1.split(\" \"))\n        set2 = set(q2.split(\" \"))\n        same_word_len = len(set1 & set2)\n        unique_word1_len = len(set1 - set2)\n        unique_word2_len = len(set2 - set1)\n        word1_len = len(set1)\n        word2_len = len(set2)\n        avg_len = (word1_len + word2_len) / 2.0\n        max_len = max(word1_len, word2_len)\n        min_len = min(word1_len, word2_len)\n        jaccard_sim = same_word_len / float(len(set1 | set2))\n\n        return same_word_len / float(max_len), same_word_len / float(min_len), same_word_len / float(avg_len), \\\n               unique_word1_len / float(word1_len), unique_word2_len /float(word2_len), jaccard_sim\n\n    for index,row in train_data.iterrows():\n        s1 = row['s1'].strip()\n        s2 = row['s2'].strip()\n        features = tuple()\n        features = get_word_diff(s1,s2)\n        for col_index,feature in enumerate(features):\n            feature_train[index,col_index] = round(feature,5)\n\n    for index, row in test_data.iterrows():\n        s1 = row['s1'].strip()\n        s2 = row['s2'].strip()\n        features = tuple()\n        features = get_word_diff(s1, s2)\n        for col_index,feature in enumerate(features):\n            feature_test[index,col_index] = round(feature,5)\n\n\n    # step 3 保存特征：参数有：训练集的特征，测试集的特征，抽取特征的方法的多列特征的列名，抽取特征的方式名\n    col_names = [('{}_{}'.format(feature_name,col_index))for col_index in range(col_num)]\n    after_extract_feature_save_data(feature_train,feature_test,col_names,feature_name)\n\ndef extract_doubt_sim():\n    '''\n    抽取疑问词相同的比例\n    '''\n    # step1 定义抽取特征的方式名\n    feature_name = 'nlp_doubt_sim'\n\n    # step2 载入数据\n    train_data, test_data = before_extract_feature_load_data(\n        train_file=project.preprocessed_data_dir + 'train_0.6_seg.csv',\n        test_file=project.preprocessed_data_dir + 'test_0.4_seg.csv')\n    feature_train = np.zeros((train_data.shape[0], 1), dtype='float64')\n    feature_test = np.zeros((test_data.shape[0],1),dtype='float64')\n\n    doubt_words = load_doubt_words(project.aux_dir + 'doubt_words.txt')\n    # 获取疑问词相同的比例\n    def get_doubt_sim(q1, q2, doubt_words):\n        q1_doubt_words = set(q1.split(\" \")) & set(doubt_words)\n        q2_doubt_words = set(q2.split(\" \")) & set(doubt_words)\n        return len(q1_doubt_words & q2_doubt_words) / float(len(q1_doubt_words | q2_doubt_words) + 1)\n\n    for index,row in train_data.iterrows():\n        # 因为doubt_words词表加载出来的是Unicode，所以需要将s1,s2解码成Unicode\n        s1 = row['s1'].strip().decode('utf-8')\n        s2 = row['s2'].strip().decode('utf-8')\n        doubt_sim = get_doubt_sim(s1,s2,doubt_words)\n        feature_train[index] = round(doubt_sim,5)\n\n    for index, row in test_data.iterrows():\n        s1 = row['s1'].strip().decode('utf-8')\n        s2 = row['s2'].strip().decode('utf-8')\n        doubt_sim = get_doubt_sim(s1, s2, doubt_words)\n        feature_test[index] = round(doubt_sim,5)\n\n    col_names = [feature_name]\n    after_extract_feature_save_data(feature_train,feature_test,col_names,feature_name)\n\ndef extract_sentence_exist_topic():\n    \"\"\"\n    抽取两个句子中是否同时存在蚂蚁花呗或者蚂蚁借呗的特征,同时包含花呗为1，同时包含借呗为1，否则为0\n    :return:\n    \"\"\"\n    # step1 定义抽取特征的方式名\n    feature_name = 'nlp_sentece_exist_topic'\n\n    # step2 载入数据\n    train_data, test_data = before_extract_feature_load_data(\n        train_file=project.data_dir + 'atec_nlp_sim_train_0.6.csv',\n        test_file=project.data_dir + 'atec_nlp_sim_test_0.4.csv')\n    feature_train = np.zeros((train_data.shape[0], 2), dtype='float64')\n    feature_test = np.zeros((test_data.shape[0], 2), dtype='float64')\n\n    def get_exist_same_topic(rawq1,rawq2):\n        hua_flag = 0.\n        jie_flag = 0.\n        if '花呗' in rawq1 and '花呗' in rawq2:\n            hua_flag = 1.\n\n        if '借呗' in rawq1 and '借呗' in rawq2:\n            jie_flag = 1.\n\n        return hua_flag,jie_flag\n\n    for index,row in train_data.iterrows():\n        s1 = row['s1'].strip()\n        s2 = row['s2'].strip()\n        hua_flag, jie_flag = get_exist_same_topic(s1,s2)\n        feature_train[index,0] = hua_flag\n        feature_train[index,1] = jie_flag\n\n    for index, row in test_data.iterrows():\n        s1 = row['s1'].strip()\n        s2 = row['s2'].strip()\n        hua_flag, jie_flag = get_exist_same_topic(s1, s2)\n        feature_test[index, 0] = hua_flag\n        feature_test[index, 1] = jie_flag\n\n    col_names = ['nlp_sentece_exist_topic_hua_flag','nlp_sentece_exist_topic_jie_flag']\n    after_extract_feature_save_data(feature_train,feature_test,col_names,feature_name)\n\ndef extract_word_embedding_sim(w2v_model_path = 'train_all_data.bigram'):\n    '''\n    提取句子的词向量组合的相似度\n    w2v_model_path为词向量文件\n    :return:\n    '''\n    # step1 定义抽取特征的方式名\n    feature_name = 'nlp_word_embedding_sim'\n\n    # step2 载入数据\n    train_data ,test_data = before_extract_feature_load_data(train_file=project.preprocessed_data_dir + 'train_0.6_seg.csv',\n                                                             test_file=project.preprocessed_data_dir + 'test_0.4_seg.csv')\n    feature_train = np.zeros((train_data.shape[0], 1), dtype='float64')\n    feature_test = np.zeros((test_data.shape[0], 1), dtype='float64')\n\n    train_all_w2v_model = KeyedVectors.load_word2vec_format(project.aux_dir + w2v_model_path, binary=False)\n\n    # 得到句子的词向量组合（tfidf）\n    def get_sen_vec(q, train_all_w2v_model, tfidf_dict, tfidf_flag=True):\n        sen_vec = 0\n        for word in q.split(' '):\n            if word in train_all_w2v_model.vocab:\n                word_vec = train_all_w2v_model.word_vec(word)\n                word_tfidf = tfidf_dict.get(word, None)\n\n                if tfidf_flag == True:\n                    sen_vec += word_vec * word_tfidf\n                else:\n                    sen_vec += word_vec\n        sen_vec = sen_vec / np.sqrt(np.sum(np.power(sen_vec, 2)) + 0.000001)\n        return sen_vec\n\n    def get_sentece_embedding_sim(q1, q2, train_all_w2v_model, tfidf_dict, tfidf_flag=True):\n        # 得到两个问句的词向量组合\n        q1_sec = get_sen_vec(q1, train_all_w2v_model, tfidf_dict, tfidf_flag)\n        q2_sec = get_sen_vec(q2, train_all_w2v_model, tfidf_dict, tfidf_flag)\n\n        # 曼哈顿距离\n        # manhattan_distance = np.sum(np.abs(np.subtract(q1_sec, q2_sec)))\n\n        # 欧式距离\n        # enclidean_distance = np.sqrt(np.sum(np.power((q1_sec - q2_sec),2)))\n\n        # 余弦相似度\n        molecular = np.sum(np.multiply(q1_sec, q2_sec))\n        denominator = np.sqrt(np.sum(np.power(q1_sec, 2))) * np.sqrt(np.sum(np.power(q2_sec, 2)))\n        cos_sim = molecular / (denominator + 0.000001)\n\n        # 闵可夫斯基距离\n        # minkowski_distance = np.power(np.sum(np.power(np.abs(np.subtract(q1_sec, q2_sec)), 3)), 0.333333)\n\n        # return manhattan_distance, enclidean_distance, cos_sim, minkowski_distance\n        return cos_sim\n\n    for index,row in train_data.iterrows():\n        s1 = row['s1'].strip().decode('utf-8')\n        s2 = row['s2'].strip().decode('utf-8')\n        sentece_embedding_sim = get_sentece_embedding_sim(s1,s2,train_all_w2v_model,{},False)\n        feature_train[index] = round(sentece_embedding_sim,5)\n\n    for index, row in test_data.iterrows():\n        s1 = row['s1'].strip().decode('utf-8')\n        s2 = row['s2'].strip().decode('utf-8')\n        sentece_embedding_sim = get_sentece_embedding_sim(s1, s2, train_all_w2v_model,{}, False)\n        feature_test[index] = round(sentece_embedding_sim,5)\n\n    col_names = [feature_name]\n    after_extract_feature_save_data(feature_train,feature_test,col_names,feature_name)\n\nif __name__ == '__main__':\n\n    # 提取深度学习特征\n    # extract_feature_siamese_lstm_manDist()\n    # extract_feature_siamese_lstm_attention()\n    extract_feature_siamese_lstm_dssm()\n    # extract_feature_abcnn()\n    # 提取NLP特征\n    extract_sentece_length_diff()\n    extract_edit_distance()\n    extract_ngram()\n    extract_sentence_diff_same()\n    extract_doubt_sim()\n    extract_sentence_exist_topic()\n    extract_word_embedding_sim()\n    # model_path = project.trained_model_dir + 'dl_siamese_lstm_dssm_model0.h5'\n    # atten1 = AttentionLayer(20)\n    # atten2 = AttentionLayer(25)\n    #\n    # model0 = load_model(model_path,\n    #                     custom_objects={'AttentionLayer':AttentionLayer,'fbeta_score': fbeta_score,\n    #                                     'precision': precision,\n    #                                     'recall': recall})\n\n\n    pass\n"
  },
  {
    "path": "Financial_NLP/final_demo/main.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/6/15 下午10:49 \n# @Author : ComeOnJian \n# @File : main.py \n\nfrom data_prepare import *\n\nfrom sklearn.model_selection import StratifiedKFold\nfrom sklearn.metrics import accuracy_score\nfrom sklearn.metrics import f1_score\nfrom train_model import *\n\ndef star_process(X_train,y_train,X_test,y_test):\n    # Step2 分类模型\n    num_folds = 5\n\n\n    # Step3 定义交叉验证，及模型gbm参数\n    rand_seed = 456\n    kfold = StratifiedKFold(\n        n_splits=5,\n        shuffle=True,\n        random_state=rand_seed\n    )\n    lgb_param = {\n        'objective':'binary',\n        'metric':'binary_logloss',\n        'boosting':'gbdt',\n        'device':'cpu',\n        'feature_fraction': 1,     #抽取所有特征的0.75个进行训练\n        'num_leaves':16,\n        'learning_rate':0.01,\n        'verbose':1,\n        'bagging_seed':rand_seed,\n        'feature_fraction_seed':rand_seed\n    }\n    y_test_pred = np.zeros((len(X_test),5))\n\n    for fold_num,(ix_train,ix_val) in enumerate(kfold.split(X=X_train,y=y_train)):\n        # 准备数据\n        X_fold_train = X_train[ix_train]\n        X_fold_val = X_train[ix_val]\n\n        y_fold_train = y_train[ix_train]\n        y_fold_val = y_train[ix_val]\n        print 'train fold {} of {} ......'.format((fold_num + 1), 5)\n        # 定义模型\n        lgb_data_train = lgb.Dataset(X_fold_train,y_fold_train)\n        lgb_data_val = lgb.Dataset(X_fold_val,y_fold_val)\n        evals_res = {}\n\n        model = lgb.train(\n            params=lgb_param,\n            train_set= lgb_data_train,\n            valid_sets=[lgb_data_train,lgb_data_val], # 训练集和测试集都需要验证\n            valid_names = ['train','val'],\n            evals_result= evals_res,\n            num_boost_round=2500,\n            early_stopping_rounds=10,\n            verbose_eval=False,\n        )\n        fold_train_score = evals_res['train'][lgb_param['metric']]\n        fold_val_score = evals_res['val'][lgb_param['metric']]\n\n        print 'fold {}: {} rounds ,train loss {:.6f}, val loss {:.6f}'.format(\n            (fold_num+1),\n            len(fold_train_score),\n            fold_train_score[-1],\n            fold_val_score[-1]\n        )\n\n        y_test_pred[:,fold_num] = model.predict(X_test).reshape(-1)\n\n        # print model.feature_importance()\n        # model.save_model(project.trained_model_dir + 'lgb_{}.model'.format(fold_num))\n\n    print y_test_pred.shape, '0'\n    y_test_p = np.mean(y_test_pred,axis=1)\n\n    # np.save('y_test_pre','pre.npy')\n    print y_test_pred.shape ,'1'\n    print y_test_p.shape ,'2'\n\n    for index,pre in enumerate(y_test_p):\n        if pre >=0.5:\n            y_test_p[index] = 1\n        else:\n            y_test_p[index] = 0\n\n    print y_test.shape,'3'\n    print accuracy_score(y_test,y_test_p)\n    print f1_score(y_test,y_test_p)\n\nif __name__ == '__main__':\n    # step1 选出的特征\n    feature_names_list = [\n        'dl_siamese_lstm_manDist',\n        'dl_siamese_lstm_dssm',\n        'dl_siamese_lstm_attention',\n        'nlp_sentece_length_diff',\n        'nlp_edit_distance',\n        'nlp_ngram',\n        'nlp_sentece_diff_some',\n        'nlp_doubt_sim',\n        'nlp_sentece_exist_topic',\n        'nlp_word_embedding_sim'\n    ]\n    # 加载数据\n    df_train,df_test,feature_index_ix = project.load_feature_lists(feature_names_list)\n    # 查看抽取的特征情况\n    feature_view_df = pd.DataFrame(feature_index_ix, columns=['feature_name', 'start_index', 'end_index'])\n    print feature_view_df\n\n    print df_train.head(20)\n    print df_train.tail(20)\n    y_train = np.array(project.load(project.features_dir + 'y_0.6_train.pickle'))\n\n    y_test = pd.read_csv(project.data_dir + 'atec_nlp_sim_test_0.4.csv', sep='\\t', header=None,\n                                names=[\"index\", \"s1\", \"s2\", \"label\"])['label'].values.reshape((-1))\n\n    X_test = df_test.values\n    X_train = df_train.values\n\n    # star_process(X_train,y_train,X_test,y_test)\n    #\n    #\n    # lr = LogisticRegression(class_weight={0:1,1:4})\n    # lr.fit(X_train,y_train)\n    # y_p = lr.predict(X_test)\n    # print y_p[0:20]\n    # for index, pre in enumerate(y_p):\n    #     if pre >= 0.5:\n    #         y_p[index] = 1\n    #     else:\n    #         y_p[index] = 0\n    #\n    # print accuracy_score(y_test, y_p)\n    # print f1_score(y_test, y_p)\n    #\n    # clf = RandomForestClassifier(n_estimators=25,\n    #                              max_depth=4,\n    #\n    #                              class_weight={\n    #                                  0: 1,\n    #                                  1: 4\n    #                              }\n    #                              )\n    # clf.fit(X_train, y_train)\n    # y_p1 = clf.predict(X_test)\n    # print accuracy_score(y_test, y_p1)\n    # print f1_score(y_test, y_p1)\n    #\n    #\n    # gb = GaussianNB()\n    # gb.fit(X_train, y_train)\n    # y_p2 = gb.predict(X_test)\n    # print accuracy_score(y_test, y_p2)\n    # print f1_score(y_test, y_p2)\n    #\n    # dt = DecisionTreeClassifier(class_weight={\n    #                                  0: 1,\n    #                                  1: 4\n    #                              },max_depth=4)\n    # dt.fit(X_train, y_train)\n    # y_p3 = dt.predict(X_test)\n    # print accuracy_score(y_test, y_p3)\n    # print f1_score(y_test, y_p3)\n\n    # stacking 第一层模型训练\n    # lgb_cls = LGBClassifier()\n    # lgb_oofp_train, lgb_oofp_val = lgb_cls.get_model_out(X_train,y_train,X_test)\n    # print lgb_oofp_val[0:25]\n\n    gnb_cls = GussianNBClassifier()\n    gnb_oop_train,gnb_oofp_val = gnb_cls.get_model_out(X_train,y_train,X_test)\n    print gnb_oofp_val[0:25]\n\n    rf_cls = RFClassifer()\n    rf_oop_train, rf_oofp_val = rf_cls.get_model_out(X_train, y_train, X_test)\n    print rf_oofp_val[0:25]\n\n    lg_cls = LogisicClassifier()\n    lg_oop_train, lg_oofp_val = lg_cls.get_model_out(X_train, y_train, X_test)\n    print lg_oofp_val[0:25]\n\n    dt_cls = DecisionClassifier()\n    dt_oop_train, dt_oofp_val = dt_cls.get_model_out(X_train, y_train, X_test)\n    print dt_oofp_val[0:25]\n\n\n    # 构造输入\n    input_train = [gnb_oop_train,rf_oop_train,lg_oop_train,dt_oop_train]\n    input_test = [gnb_oofp_val,rf_oofp_val,lg_oofp_val,dt_oofp_val]\n\n    stacked_train = np.concatenate([data.reshape(-1,1) for data in input_train],axis=1)\n    stacked_test = np.concatenate([data.reshape(-1,1) for data in input_test],axis=1)\n\n    # stacking 第二层模型训练\n\n    second_model = DecisionTreeClassifier(max_depth=3,class_weight={0: 1, 1: 4})\n    second_model.fit(stacked_train,y_train)\n\n    y_test_p = second_model.predict(stacked_test)\n\n    for index,pre in enumerate(y_test_p):\n        if pre >=0.5:\n            y_test_p[index] = 1\n        else:\n            y_test_p[index] = 0\n\n    print accuracy_score(y_test,y_test_p)\n    print f1_score(y_test,y_test_p)\n\n"
  },
  {
    "path": "Financial_NLP/final_demo/train_model.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/6/16 上午9:34\n# @Author : ComeOnJian\n# @File : train_model.py\n\nfrom keras.models import Sequential,Model\nfrom keras.layers.convolutional import Conv2D\nfrom keras.layers.pooling import MaxPooling2D\nfrom keras.layers import Embedding,LSTM,Layer,initializers,regularizers,constraints,Input,\\\n    Dropout,concatenate,BatchNormalization,Dense,Bidirectional,\\\n    Concatenate,Multiply,Maximum,Subtract,Lambda,dot,Flatten,Reshape\nfrom keras import backend as K\nfrom sklearn.model_selection import KFold\nimport numpy as np\n\n\n####################  模型的一些辅助类 ####################\n\nclass AttentionLayer(Layer):\n    def __init__(self,step_dim,W_regularizer=None, b_regularizer=None,\n                 W_constraint=None, b_constraint=None,\n                 bias=True, **kwargs):\n        self.supports_masking = True\n        self.init = initializers.get('glorot_uniform')\n\n        self.W_regularizer = regularizers.get(W_regularizer)\n        self.b_regularizer = regularizers.get(b_regularizer)\n\n        self.W_constraint = constraints.get(W_constraint)\n        self.b_constraint = constraints.get(b_constraint)\n\n        self.bias = bias\n        self.step_dim = step_dim\n        self.features_dim = 0\n\n        super(AttentionLayer,self).__init__(**kwargs)\n\n    #设置self.supports_masking = True后需要复写该方法\n    def compute_mask(self, inputs, mask=None):\n        return None\n\n    #参数设置，必须实现\n    def build(self, input_shape):\n        assert len(input_shape) == 3\n        self.W = self.add_weight((input_shape[-1],),\n                                 initializer=self.init,\n                                 name='{}_W'.format(self.name),\n                                 regularizer=self.W_regularizer,\n                                 constraint=self.W_constraint)\n        self.features_dim = input_shape[-1]\n        if self.bias:\n            self.b = self.add_weight((input_shape[1],),\n                                     initializer='zero',\n                                     name='{}_b'.format(self.name),\n                                     regularizer=self.b_regularizer,\n                                     constraint=self.b_constraint)\n        else:\n            self.b = None\n        self.built = True\n\n    # input (None,sentence_length,embedding_size)\n    def call(self, x, mask = None):\n        # 计算输出\n        features_dim = self.features_dim\n        step_dim = self.step_dim\n\n        eij = K.reshape(K.dot(K.reshape(x, (-1, features_dim)), K.reshape(self.W, (features_dim, 1))), (-1, step_dim))\n\n        if self.bias:\n            eij += self.b\n\n        eij = K.tanh(eij)\n\n        a = K.exp(eij)\n\n        # apply mask after the exp. will be re-normalized next\n        if mask is not None:\n            # Cast the mask to floatX to avoid float64 upcasting in theano\n            a *= K.cast(mask, K.floatx())\n\n        # in some cases especially in the early stages of training the sum may be almost zero\n        a /= K.cast(K.sum(a, axis=1, keepdims=True) + K.epsilon(), K.floatx())\n\n        a = K.expand_dims(a)\n        weighted_input = x * a\n        # print weigthted_input.shape\n        return K.sum(weighted_input, axis=1)\n\n    def compute_output_shape(self, input_shape):\n        return input_shape[0], self.features_dim\n\n\n    def get_config(self):\n        config = {'step_dim': self.step_dim}\n        base_config = super(AttentionLayer, self).get_config()\n        return dict(list(base_config.items()) + list(config.items()))\n\nclass ManDist(Layer):\n    \"\"\"\n    自定义定义曼哈顿距离计算层，继承Layer层，必须实现三个父类方法\n    build,call,comput_output_shape\n    \"\"\"\n    def __init__(self, **kwargs):\n        self.res = None  # 表示相似度\n        # self.match_vector = None\n        super(ManDist, self).__init__(**kwargs)\n\n    def build(self, input_shape):\n        \"\"\"Creates the layer weights.\n              # Arguments\n                  input_shape: Keras tensor (future input to layer)\n                      or list/tuple of Keras tensors to reference\n                      for weight shape computations.\n              \"\"\"\n        super(ManDist, self).build(input_shape)\n\n    def call(self, inputs, **kwargs):\n        \"\"\"This is where the layer's logic lives.\n         # Arguments\n             inputs: Input tensor, or list/tuple of input tensors.\n             **kwargs: Additional keyword arguments.\n         # Returns\n             A tensor or list/tuple of tensors.\n         \"\"\"\n        # 计算曼哈顿距离,因为输入计算曼哈顿距离的有两个Input层分别为inputs[0]和inputs[1]\n        # lstm model\n        self.res  = K.exp(- K.sum(K.abs(inputs[0]-inputs[1]),axis = 1,keepdims = True))\n        return self.res\n\n        # encode_s1 = inputs[0]\n        # encode_s2 = inputs[1]\n        # sentence_differerce = encode_s1 - encode_s2\n        # sentece_product = encode_s1 * encode_s2\n        #\n        # self.match_vector = K.concatenate([encode_s1,sentence_differerce,sentece_product,encode_s2],1)\n        #\n        # return self.match_vector\n\n    def compute_output_shape(self, input_shape):\n        \"\"\"Computes the output shape of the layer.\n               Assumes that the layer will be built\n               to match that input shape provided.\n               # Arguments\n                   input_shape: Shape tuple (tuple of integers)\n                       or list of shape tuples (one per output tensor of the layer).\n                       Shape tuples can include None for free dimensions,\n                       instead of an integer.\n\n               # Returns\n                   An input shape tuple.\n               \"\"\"\n        return K.int_shape(self.res)\n\nclass ConsDist(Layer):\n    \"\"\"\n    自定义定义曼哈顿距离计算层，继承Layer层，必须实现三个父类方法\n    build,call,comput_output_shape\n    \"\"\"\n    def __init__(self, **kwargs):\n        self.res = None  # 表示相似度\n        # self.match_vector = None\n        super(ConsDist, self).__init__(**kwargs)\n\n    def build(self, input_shape):\n        \"\"\"Creates the layer weights.\n              # Arguments\n                  input_shape: Keras tensor (future input to layer)\n                      or list/tuple of Keras tensors to reference\n                      for weight shape computations.\n              \"\"\"\n        super(ConsDist, self).build(input_shape)\n\n    def call(self, inputs, **kwargs):\n        \"\"\"This is where the layer's logic lives.\n         # Arguments\n             inputs: Input tensor, or list/tuple of input tensors.\n             **kwargs: Additional keyword arguments.\n         # Returns\n             A tensor or list/tuple of tensors.\n         \"\"\"\n        # 计算曼哈顿距离,因为输入计算曼哈顿距离的有两个Input层分别为inputs[0]和inputs[1]\n        # lstm model\n        self.res = K.sum(inputs[0] * inputs[1],axis=1,keepdims=True)/(K.sum(inputs[0]**2,axis=1,keepdims=True) * K.sum(inputs[1]**2,axis=1,keepdims=True))\n        return self.res\n    def compute_output_shape(self, input_shape):\n        \"\"\"Computes the output shape of the layer.\n               Assumes that the layer will be built\n               to match that input shape provided.\n               # Arguments\n                   input_shape: Shape tuple (tuple of integers)\n                       or list of shape tuples (one per output tensor of the layer).\n                       Shape tuples can include None for free dimensions,\n                       instead of an integer.\n\n               # Returns\n                   An input shape tuple.\n               \"\"\"\n        return K.int_shape(self.res)\n\nclass AttentionLayer1(Layer):\n    def __init__(self, **kwargs):\n        # self.res = None  # 表示相似度\n        self.match_vector = None\n        super(AttentionLayer1, self).__init__(**kwargs)\n\n    def build(self, input_shape):\n        \"\"\"Creates the layer weights.\n              # Arguments\n                  input_shape: Keras tensor (future input to layer)\n                      or list/tuple of Keras tensors to reference\n                      for weight shape computations.\n              \"\"\"\n        super(AttentionLayer1, self).build(input_shape)\n\n    def call(self, inputs, **kwargs):\n        \"\"\"This is where the layer's logic lives.\n         # Arguments\n             inputs: Input tensor, or list/tuple of input tensors.\n             **kwargs: Additional keyword arguments.\n         # Returns\n             A tensor or list/tuple of tensors.\n         \"\"\"\n        encode_s1 = inputs[0]\n        encode_s2 = inputs[1]\n        sentence_differerce = encode_s1 - encode_s2\n        sentece_product = encode_s1 * encode_s2\n        self.match_vector = K.concatenate([encode_s1,sentence_differerce,sentece_product,encode_s2],1)\n        #\n        return self.match_vector\n\n    def compute_output_shape(self, input_shape):\n        \"\"\"Computes the output shape of the layer.\n               Assumes that the layer will be built\n               to match that input shape provided.\n               # Arguments\n                   input_shape: Shape tuple (tuple of integers)\n                       or list of shape tuples (one per output tensor of the layer).\n                       Shape tuples can include None for free dimensions,\n                       instead of an integer.\n\n               # Returns\n                   An input shape tuple.\n               \"\"\"\n        return K.int_shape(self.match_vector)\n\ndef precision(y_true, y_pred):\n    \"\"\"Precision metric.\n    Only computes a batch-wise average of precision.\n    Computes the precision, a metric for multi-label classification of\n    how many selected items are relevant.\n    \"\"\"\n\n    #y_t = K.cast(K.argmax(y_true,axis=1),dtype='float32')\n    #y_p = K.cast(K.argmax(y_pred,axis=1),dtype='float32')\n    y_t = y_true\n    y_p = y_pred\n\n    true_positives = K.sum(K.round(K.clip(y_t * y_p, 0, 1)))\n    predicted_positives = K.sum(K.round(K.clip(y_p, 0, 1)))\n    precision = true_positives / (predicted_positives + K.epsilon())\n    return precision\n\ndef recall(y_true, y_pred):\n    \"\"\"Recall metric.\n    Only computes a batch-wise average of recall.\n    Computes the recall, a metric for multi-label classification of\n    how many relevant items are selected.\n    \"\"\"\n    #y_t = K.cast(K.argmax(y_true,axis=1),dtype='float32')\n    #y_p = K.cast(K.argmax(y_pred,axis=1),dtype='float32')\n    y_t = y_true\n    y_p = y_pred\n\n    true_positives = K.sum(K.round(K.clip(y_t * y_p, 0, 1)))\n    possible_positives = K.sum(K.round(K.clip(y_t, 0, 1)))\n\n    recall = true_positives / (possible_positives + K.epsilon())\n    return recall\n\ndef fbeta_score(y_t, y_p, beta=1):\n    \"\"\"Computes the F score.\n    The F score is the weighted harmonic mean of precision and recall.\n    Here it is only computed as a batch-wise average, not globally.\n    This is useful for multi-label classification, where input samples can be\n    classified as sets of labels. By only using accuracy (precision) a model\n    would achieve a perfect score by simply assigning every class to every\n    input. In order to avoid this, a metric should penalize incorrect class\n    assignments as well (recall). The F-beta score (ranged from 0.0 to 1.0)\n    computes this, as a weighted mean of the proportion of correct class\n    assignments vs. the proportion of incorrect class assignments.\n    With beta = 1, this is equivalent to a F-measure. With beta < 1, assigning\n    correct classes becomes more important, and with beta > 1 the metric is\n    instead weighted towards penalizing incorrect class assignments.\n    \"\"\"\n    if beta < 0:\n        raise ValueError('The lowest choosable beta is zero (only precision).')\n\n    # If there are no true positives, fix the F score at 0 like sklearn.\n    if K.sum(K.round(K.clip(y_t, 0, 1))) == 0:\n        return 0\n\n\n    p = precision(y_t, y_p)\n    r = recall(y_t, y_p)\n    bb = beta ** 2\n    fbeta_score = (1 + bb) * (p * r) / (bb * p + r + K.epsilon())\n    return fbeta_score\n\ndef contrastive_loss(y_true,y_pred):\n    \"\"\"\n\n    定义孪生网络的代价函数，对比代价函数,每个样本的误差为L=(1 - y) * d + y * max((margin - d),0) 其中margin为相似度的阈值默认为1\n    http://yann.lecun.com/exdb/publis/pdf/hadsell-chopra-lecun-06.pdf\n    :param y_true:1表示两个样本相似，0表示不匹配,y\n    :param y_pred:表示相似度d，范围是(0,1)\n    :return:\n    \"\"\"\n    margin = 0.8\n    # return K.mean(y_true * K.square(y_pred) +\n    #                  (1 - y_true) * K.square(K.maximum(margin - y_pred, 0)))\n\n    return K.mean((1-y_true) * y_pred + y_true * K.maximum((margin - y_pred),0))\n\ndef create_siamese_lstm_attention_model(embedding_matrix,model_param,embedding_size = 300,max_sentence_length = 20):\n\n    # step 1 定义孪生网络的公共层\n    X = Sequential()\n    embedding_layer = Embedding(\n        input_dim=len(embedding_matrix,),\n        output_dim=embedding_size,\n        weights=[embedding_matrix],\n        trainable=True,\n        input_length=max_sentence_length\n    )\n    # 一般来说return_sequences为true时，需要使用attention\n    lstm_layer = LSTM(\n        units=model_param['lstm_units']\n        ,return_sequences=False\n    )\n    # attention_layer = AttentionLayer()\n    X.add(embedding_layer)\n    X.add(lstm_layer)\n    # X.add(attention_layer)\n\n    #share_model为孪生网络的共同拥有的层\n    share_model = X\n\n    # step 2 模型是多输入的结构，定义两个句子的输入\n    left_input = Input(shape=(max_sentence_length,), dtype='int32')\n    right_input = Input(shape=(max_sentence_length,), dtype='int32')\n\n    # Step3定义两个输入合并后的模型层\n    s1_net = share_model(left_input)\n    s2_net = share_model(right_input)\n\n    # Dropout 防止过拟合连接层\n    # merge_model = concatenate([s1_net,s2_net])\n    # merge_model = Dropout(model_param['desen_dropout_rate'])(merge_model)\n    # merge_model = BatchNormalization()(merge_model)\n    #\n    matching_layer = AttentionLayer1()([s1_net,s2_net])\n\n    # merge_model = Dropout(model_param['desen_dropout_rate'])(man_layer)\n    # merge_model = BatchNormalization()(merge_model)\n    # # Dense层\n    # activation = 'relu'\n    merge_model = Dense(model_param['num_dense'])(matching_layer)\n    merge_model = Dropout(model_param['desen_dropout_rate'])(merge_model)\n    merge_model = BatchNormalization()(merge_model)\n\n    # Step4 定义输出层\n    output_layer = Dense(1,activation='sigmoid')(merge_model)\n\n    model = Model(\n        inputs=[left_input, right_input],\n        outputs=[output_layer], name=\"simaese_lstm_attention\"\n    )\n    model.compile(\n        #categorical_crossentropy,contrastive_loss,binary_crossentropy\n        loss='binary_crossentropy',\n        optimizer='adam',\n        metrics=[\"accuracy\",fbeta_score,precision,recall]\n    )\n    return model\n\ndef create_siamese_lstm_ManDistance_model(embedding_matrix,model_param,embedding_size = 300,max_sentence_length = 20):\n\n    # step 1 定义孪生网络的公共层\n    X = Sequential()\n    embedding_layer = Embedding(\n        input_dim=len(embedding_matrix,),\n        output_dim=embedding_size,\n        weights=[embedding_matrix],\n        trainable=True,\n        input_length=max_sentence_length\n    )\n    # 一般来说return_sequences为true时，需要使用attention\n    lstm_layer = LSTM(\n        units=model_param['lstm_units'],\n        dropout=model_param['lstm_dropout_rate'],\n        recurrent_dropout=model_param['lstm_re_dropout_rate']\n        ,return_sequences=False\n    )\n    # attention_layer = AttentionLayer()\n\n    X.add(embedding_layer)\n    X.add(lstm_layer)\n    # X.add(attention_layer)\n\n    #share_model为孪生网络的共同拥有的层\n    share_model = X\n\n    # step 2 模型是多输入的结构，定义两个句子的输入\n    left_input = Input(shape=(max_sentence_length,), dtype='int32')\n    right_input = Input(shape=(max_sentence_length,), dtype='int32')\n\n    # Step3定义两个输入合并后的模型层\n    s1_net = share_model(left_input)\n    s2_net = share_model(right_input)\n\n    # Step4 定义输出层\n    man_layer = ManDist()([s1_net,s2_net])\n    out_put_layer = Dense(2, activation='softmax')(man_layer)\n    # out_put_layer = Dense(1,activation='sigmoid')(man_layer)\n    model = Model(\n        inputs=[left_input, right_input],\n        outputs=[out_put_layer], name=\"simaese_lstm_manDist\"\n    )\n    model.compile(\n        # contrastive_loss binary_crossentropy categorical_crossentropy\n        loss= 'categorical_crossentropy',\n        optimizer='adam',\n        metrics=[\"accuracy\",fbeta_score,precision,recall]\n    )\n    # model.predict()\n    return model\n\ndef create_siamese_lstm_dssm_mdoel(embedding_matrix,embedding_word_matrix,model_param,embedding_size = 300,max_sentence_length = 20,max_word_length=25):\n    # 第一部分\n    # step 1 定义复杂模型的输入\n    num_conv2d_layers = 1\n    filters_2d = [6, 12]\n    kernel_size_2d = [[3, 3], [3, 3]]\n    mpool_size_2d = [[2, 2], [2, 2]]\n    left_input = Input(shape=(max_sentence_length,), dtype='int32')\n    right_input = Input(shape=(max_sentence_length,), dtype='int32')\n\n    # 定义需要使用的网络层\n    embedding_layer1 = Embedding(\n        input_dim=len(embedding_matrix, ),\n        output_dim=embedding_size,\n        weights=[embedding_matrix],\n        trainable=True,\n        input_length=max_sentence_length\n    )\n    att_layer1 = AttentionLayer(20)\n    bi_lstm_layer =Bidirectional(LSTM(model_param['lstm_units']))\n    lstm_layer1 = LSTM(model_param['lstm_units'],\n                            return_sequences=True)\n    lstm_layer2 = LSTM(model_param['lstm_units'])\n\n    # 组合模型结构,两个输入添加Embeding层\n    s1 = embedding_layer1(left_input)\n    s2 = embedding_layer1(right_input)\n\n\n    # 在Embeding层上添加双向LSTM层\n    s1_bi = bi_lstm_layer(s1)\n    s2_bi = bi_lstm_layer(s2)\n\n    # 另在Embeding层上添加双层LSTM层\n    s1_lstm_lstm = lstm_layer2(lstm_layer1(s1))\n    s2_lstm_lstm = lstm_layer2(lstm_layer1(s2))\n\n    s1_lstm = lstm_layer1(s1)\n    s2_lstm = lstm_layer1(s2)\n    #\n    cnn_input_layer = dot([s1_lstm,s2_lstm],axes=-1)\n    cnn_input_layer_dot = Reshape((20,20,-1))(cnn_input_layer)\n    layer_conv1 = Conv2D(filters=8,kernel_size=3,padding='same',activation='relu')(cnn_input_layer_dot)\n    z = MaxPooling2D(pool_size=(2,2))(layer_conv1)\n\n    for i in range(num_conv2d_layers):\n        z = Conv2D(filters=filters_2d[i], kernel_size=kernel_size_2d[i], padding='same', activation='relu')(z)\n        z = MaxPooling2D(pool_size=(mpool_size_2d[i][0], mpool_size_2d[i][1]))(z)\n\n    pool1_flat = Flatten()(z)\n    # # print pool1_flat\n    pool1_flat_drop = Dropout(rate=0.1)(pool1_flat)\n    ccn1 = Dense(32, activation='relu')(pool1_flat_drop)\n    ccn2 = Dense(16, activation='relu')(ccn1)\n\n    # 另在Embeding层上添加attention层\n    s1_att = att_layer1(s1)\n    s2_att = att_layer1(s2)\n\n    # 组合在Embeding层上添加attention层和在Embeding层上添加双向LSTM层\n    s1_last = Concatenate(axis=1)([s1_att,s1_bi])\n    s2_last = Concatenate(axis=1)([s2_att,s2_bi])\n\n    cos_layer = ConsDist()([s1_last,s2_last])\n    man_layer = ManDist()([s1_last,s2_last])\n    # 第二部分\n    left_w_input = Input(shape=(max_word_length,), dtype='int32')\n    right_w_input = Input(shape=(max_word_length,), dtype='int32')\n\n    # 定义需要使用的网络层\n    embedding_layer2 = Embedding(\n        input_dim=len(embedding_word_matrix, ),\n        output_dim=embedding_size,\n        weights=[embedding_word_matrix],\n        trainable=True,\n        input_length=max_word_length\n    )\n    lstm_word_bi_layer = Bidirectional(LSTM(6))\n    att_layer2 = AttentionLayer(25)\n\n    s1_words = embedding_layer2(left_w_input)\n    s2_words = embedding_layer2(right_w_input)\n\n    # s1_word_lstm = lstm_layer1(s1_words)\n    # s2_word_lstm = lstm_layer1(s2_words)\n    #\n    # cnn_input_layer1 = dot([s1_word_lstm, s2_word_lstm], axes=-1)\n    # cnn_input_layer_dot1 = Reshape((25, 25, -1))(cnn_input_layer1)\n    # layer_conv11 = Conv2D(filters=8, kernel_size=3, padding='same', activation='relu')(cnn_input_layer_dot1)\n    # z1 = MaxPooling2D(pool_size=(2, 2))(layer_conv11)\n    #\n    # for i in range(num_conv2d_layers):\n    #     z1 = Conv2D(filters=filters_2d[i], kernel_size=kernel_size_2d[i], padding='same', activation='relu')(z1)\n    #     z1 = MaxPooling2D(pool_size=(mpool_size_2d[i][0], mpool_size_2d[i][1]))(z1)\n    #\n    # pool1_flat1 = Flatten()(z1)\n    # # print pool1_flat\n    # pool1_flat_drop1 = Dropout(rate=0.1)(pool1_flat1)\n    # mlp11 = Dense(32, activation='relu')(pool1_flat_drop1)\n    # mlp21 = Dense(16, activation='relu')(mlp11)\n\n    s1_words_bi = lstm_word_bi_layer(s1_words)\n    s2_words_bi = lstm_word_bi_layer(s2_words)\n\n    s1_words_att = att_layer2(s1_words)\n    s2_words_att = att_layer2(s2_words)\n\n    s1_words_last = Concatenate(axis=1)([s1_words_att,s1_words_bi])\n    s2_words_last = Concatenate(axis=1)([s2_words_att,s2_words_bi])\n    cos_layer1 = ConsDist()([s1_words_last,s2_words_last])\n    man_layer1 = ManDist()([s1_words_last,s2_words_last])\n\n\n    # 第三部分，前两部分模型组合\n    s1_s2_mul = Multiply()([s1_last,s2_last])\n    s1_s2_sub = Lambda(lambda x: K.abs(x))(Subtract()([s1_last,s2_last]))\n    s1_s2_maxium = Maximum()([Multiply()([s1_last,s1_last]),Multiply()([s2_last,s2_last])])\n    s1_s2_sub1 = Lambda(lambda x: K.abs(x))(Subtract()([s1_lstm_lstm,s2_lstm_lstm]))\n\n\n    s1_words_s2_words_mul = Multiply()([s1_words_last,s2_words_last])\n    s1_words_s2_words_sub = Lambda(lambda x: K.abs(x))(Subtract()([s1_words_last,s2_words_last]))\n    s1_words_s2_words_maxium = Maximum()([Multiply()([s1_words_last,s1_words_last]),Multiply()([s2_words_last,s2_words_last])])\n\n    last_list_layer = Concatenate(axis=1)([s1_s2_mul,s1_s2_sub,s1_s2_sub1,s1_s2_maxium,s1_words_s2_words_mul,s1_words_s2_words_sub,s1_words_s2_words_maxium])\n    last_list_layer = Dropout(0.05)(last_list_layer)\n    # Dense 层\n    dense_layer1 = Dense(32,activation='relu')(last_list_layer)\n    dense_layer2 = Dense(48,activation='sigmoid')(last_list_layer)\n\n    output_layer = Concatenate(axis=1)([dense_layer1,dense_layer2,cos_layer,man_layer,cos_layer1,man_layer1,ccn2])\n    # Step4 定义输出层\n    output_layer = Dense(1, activation='sigmoid')(output_layer)\n\n    model = Model(\n        inputs=[left_input,right_input,left_w_input,right_w_input],\n        outputs=[output_layer], name=\"simaese_lstm_attention\"\n    )\n    model.compile(\n        # categorical_crossentropy,contrastive_loss,binary_crossentropy\n        loss='binary_crossentropy',\n        optimizer='adam',\n        metrics=[\"accuracy\", fbeta_score, precision, recall]\n    )\n    return model\n\ndef predict(model,X_s1,X_s2):\n\n    # y1 = model.predict([X_s1,X_s2]).reshape(-1)\n    # y2 = model.predict([X_s1,X_s2]).reshape(-1)\n\n    y1 = model.predict([X_s1,X_s2])\n    y2 = model.predict([X_s1,X_s2])\n    print y1.shape\n    res = (y1 + y2)/2\n    # print res[0:15]\n    return res\n\ndef predict1(model,X_s1,X_s2,X_s1_char,X_s2_char):\n\n    # y1 = model.predict([X_s1,X_s2]).reshape(-1)\n    # y2 = model.predict([X_s1,X_s2]).reshape(-1)\n    y1 = model.predict([X_s1,X_s2,X_s1_char,X_s2_char])\n    y2 = model.predict([X_s1,X_s2,X_s1_char,X_s2_char])\n    res = (y1 + y2)/2\n    # print res[0:15]\n    return res\n\n#################### Stacking 模型的融合 ####################\nfrom sklearn.naive_bayes import GaussianNB\n# import lightgbm as lgb\nfrom sklearn.tree import DecisionTreeClassifier\nfrom sklearn.ensemble import RandomForestClassifier\nfrom sklearn.linear_model import LogisticRegression\n\nclass StackingBaseClassifier(object):\n\n    def train(self, x_train, y_train, x_val=None, y_val=None):\n        \"\"\"\n        主要用于Stacking的基础模型的训练\n        :param x_train:\n        :param y_train:\n        :param x_val:\n        :param y_val:\n        :return:model和auc\n        \"\"\"\n        pass\n\n    def predict(self, model, x_test):\n        pass\n\n    def get_model_out(self, x_train, y_train, x_test, n_fold=5):\n        \"\"\"\n        交叉验证预测出基础模型的输出\n        :param x_train:\n        :param y_train:\n        :param x_test:\n        :param n_fold:\n        :return:\n        \"\"\"\n        n_train = x_train.shape[0]\n        n_test = x_test.shape[0]\n\n        train_oofp = np.zeros((n_train,))  # 存储每个fold的预测结果\n        test_oofp = np.zeros((n_test, n_fold))  # 存储对测试集预测结果\n\n        kfold = KFold(n_splits=n_fold, random_state=44, shuffle=True)\n\n\n        for index, (ix_train, ix_val) in enumerate(kfold.split(x_train)):\n            print '{} fold of {} start train and predict...'.format(index, n_fold)\n            X_fold_train = x_train[ix_train]\n            y_fold_train = y_train[ix_train]\n\n            X_fold_val = x_train[ix_val]\n            y_fold_val = y_train[ix_val]\n\n            model = self.train(X_fold_train, y_fold_train, X_fold_val, y_fold_val)\n\n            train_oofp[ix_val] = self.predict(model, X_fold_val)\n            test_oofp[:, index] = self.predict(model, x_test)\n\n        test_oofp_mean = np.mean(test_oofp, axis=1)\n        return train_oofp, test_oofp_mean\n\nclass GussianNBClassifier(StackingBaseClassifier):\n    def __init__(self):\n        # 参数设置\n        pass\n\n    def train(self, x_train, y_train, x_val, y_val):\n        print 'use GaussianNB train model...'\n        gnb = GaussianNB()\n        gnb.fit(x_train, y_train)\n        return gnb #, gnb.score(x_val, y_val)\n\n    def predict(self, model, x_test):\n        print 'use GaussianNB model test... '\n        return model.predict(x_test)\n\n# class LGBClassifier(StackingBaseClassifier):\n#     def __init__(self):\n#         self.lgb_param = {\n#             'objective': 'binary',\n#             'metric': {'auc', 'binary_logloss'},\n#             'boosting': 'gbdt',\n#             'device': 'cpu',\n#             'feature_fraction': 0.8,  # 抽取所有特征的0.75个进行训练\n#             'num_leaves': 16,\n#             'learning_rate': 0.01,\n#             'verbose': 1,\n#             'bagging_seed': 456,\n#             'feature_fraction_seed': 456\n#         }\n#\n#     def train(self, x_train, y_train, x_val, y_val):\n#         print 'use LGB train model...'\n#         lgb_data_train = lgb.Dataset(x_train, y_train)\n#         lgb_data_val = lgb.Dataset(x_val, y_val)\n#         evals_res = {}\n#\n#         model = lgb.train(\n#             params=self.lgb_param,\n#             train_set=lgb_data_train,\n#             valid_sets=[lgb_data_train, lgb_data_val],  # 训练集和测试集都需要验证\n#             valid_names=['train', 'val'],\n#             evals_result=evals_res,\n#             num_boost_round=2500,\n#             early_stopping_rounds=10,\n#             verbose_eval=False\n#         )\n#         return model\n#\n#     def predict(self, model, x_test):\n#         print 'use LGB model test... '\n#         return model.predict(x_test)\n\nclass RFClassifer(StackingBaseClassifier):\n    def train(self, x_train, y_train, x_val, y_val):\n        print 'use RandomForest train model...'\n        clf = RandomForestClassifier(n_estimators=25,\n                                     max_depth=4,\n                                     class_weight={\n                                         0: 1,\n                                         1: 4\n                                     }\n                                     )\n        clf.fit(x_train, y_train)\n        return clf #, 0.\n\n    def predict(self, model, x_test):\n        print 'use RandomForest test...'\n        return model.predict(x_test)\n\nclass LogisicClassifier(StackingBaseClassifier):\n    def train(self, x_train, y_train, x_val=None, y_val=None):\n        print 'use LogisticRegression train model...'\n        lr = LogisticRegression(class_weight={0: 1, 1: 4})\n        lr.fit(x_train, y_train)\n        return lr\n    def predict(self, model, x_test):\n        print 'use LogisticRegression test...'\n        return model.predict(x_test)\n\nclass DecisionClassifier(StackingBaseClassifier):\n    def train(self, x_train, y_train, x_val=None, y_val=None):\n        print 'use DecisionClassifier train model...'\n        dt = DecisionTreeClassifier(class_weight={0: 1, 1: 4},max_depth=5)\n        dt.fit(x_train, y_train)\n        return dt\n    def predict(self, model, x_test):\n        print 'use DecisionClassifier test...'\n        return model.predict(x_test)\n\n\n\n\n\n\n\n"
  },
  {
    "path": "Financial_NLP/final_demo/util.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/6/15 下午8:54 \n# @Author : ComeOnJian \n# @File : project.py \n# 参考https://github.com/YuriyGuts/pygoose/blob/master/pygoose\n\"\"\"\n整个项目的结构\n\"\"\"\nimport os\nimport io\nimport numpy as np\nimport pandas as pd\nimport pickle\n\n\nclass Project:\n\n    def __init__(self,root_dir):\n        self._root_dir = root_dir\n        self._init_all_paths()\n\n    def _init_all_paths(self):\n        self._data_dir = os.path.join(self._root_dir, 'data')#存放训练数据和测试数据\n        # self._notebooks_dir = os.path.join(self._root_dir, 'notebooks')\n        self._aux_data_dir = os.path.join(self._data_dir, 'external') #存放外部数据源\n        self._preprocessed_data_dir = os.path.join(self._data_dir, 'preprocessed') ##存放预处理好的数据\n        self._features_dir = os.path.join(self._data_dir, 'features') #存放抽取的特征数据\n        # self._submissions_dir = os.path.join(self._data_dir, 'submissions') #存放最终提交的文件\n        self._trained_model_dir = os.path.join(self._data_dir, 'trained') #存放训练的模型文件\n        self._temp_dir = os.path.join(self._data_dir, 'tmp') #存放临时文件\n\n    # 设置成只读属性\n    @property\n    def root_dir(self):\n        return self._root_dir + os.path.sep\n\n    @property\n    def data_dir(self):\n        return self._data_dir + os.path.sep\n\n    @property\n    def aux_dir(self):\n        return self._aux_data_dir + os.path.sep\n\n    @property\n    def preprocessed_data_dir(self):\n        return self._preprocessed_data_dir + os.path.sep\n\n    @property\n    def features_dir(self):\n        return self._features_dir + os.path.sep\n\n    @property\n    def trained_model_dir(self):\n        return self._trained_model_dir + os.path.sep\n\n    @property\n    def temp_dir(self):\n        return self._temp_dir + os.path.sep\n\n    # print os.getcwd()  # 获取当前工作目录路径\n    # print os.path.abspath('.')  # 获取当前工作目录路径\n    # print os.path.abspath('test.txt')  # 获取当前目录文件下的工作目录路径\n    # print os.path.abspath('..')  # 获取当前工作的父目录 ！注意是父目录路径\n    # print os.path.abspath(os.curdir)  # 获取当前工作目录路径\n\n    @staticmethod\n    def init(root_dir,create_dir = True):\n        \"\"\"\n        :param root_dir:项目根目录\n        :param create_dir:是否需要重新创建项目存放的资料目录\n        :return:放回项目操作的对象\n        \"\"\"\n        project = Project(root_dir)\n        if create_dir:\n            paths_to_create = [\n                project.data_dir,\n                project.aux_dir,\n                project.features_dir,\n                project.preprocessed_data_dir,\n                project.trained_model_dir,\n                project.temp_dir\n            ]\n            for path in paths_to_create:\n                if os.path.exists(path):\n                    continue\n                else:\n                    os.makedirs(path)\n        return project\n\n    \"\"\"\n    说明：\n         某中方法提取特征后，产生多列的数据如下，分别存放两个文件中feature.name(列名)和feature.pickle(根据该抽取方法获得的样本数据)        \n         列名:  f_1 f_2 f_3 f_4 f_5 f_6 f_7 f_8 f_9 f_10\n         样本1: 0.1 0.4 8   2   4   2   3   0.1 0.4 0.33\n         样本2: 0.1 0.4 8   2   4   2   3   0.1 0.4 0.33\n         \n    \"\"\"\n    def load_feature_lists(self,feature_lists):\n        \"\"\"\n        根据特征名的列表，从运用各个方法抽取的特征文件中提出数据组合成DataFrame\n        :param feature_lists:特征名组成的列表,可以将feature看成是抽取特征的方式\n        :return:特征数据组成的DataFrame\n        \"\"\"\n        column_names = []\n        feature_ranges = []\n        running_feature_count = 0\n\n        # 从存放特征列名的文件中加载出列名，并记录各个特征对应的起始列的index\n        for feature_name in feature_lists:\n            feature_col_name_list = self._load_feature_col_name(self.features_dir + 'X_train_{}.names'.format(feature_name))\n            column_names.extend(feature_col_name_list)\n            start_index = running_feature_count\n            end_index = running_feature_count + len(feature_col_name_list) - 1\n            running_feature_count = running_feature_count + len(feature_col_name_list)\n            feature_ranges.append([feature_name,start_index,end_index])\n\n        # 从存放多个列文件中将数据的特征组合起来\n        X_train = np.hstack([self._load_feature_data(self.features_dir + 'X_train_{}.pickle'.format(feature_name))\n                                 for feature_name in feature_lists\n                                 ])\n        X_test = np.hstack([self._load_feature_data(self.features_dir + 'X_test_{}.pickle'.format(feature_name))\n                                for feature_name in feature_lists\n                                ])\n\n        train_df = pd.DataFrame(X_train,columns=column_names)\n        test_df = pd.DataFrame(X_test,columns=column_names)\n\n        return train_df,test_df,feature_ranges\n\n    def save_features(self,train_fea,test_fea,fea_names,feature_name):\n        \"\"\"\n        使用某种方式使用本方法来保存特征\n        :param train_fea:某种方法抽取的特征的多列数据来源于训练数据\n        :param test_fea:某种方法抽取的特征的多列数据来源于测试数据\n        :param fea_names:某种方法抽取的特征的形成的多列的数据对应的列名,list类型\n        :param feature_name:抽取的方法名\n        \"\"\"\n        self.save_feature_names(fea_names,feature_name)\n        self.save_feature_col_list(train_fea,'train',feature_name)\n        self.save_feature_col_list(test_fea,'test',feature_name)\n\n    def save_feature_names(self,fea_names,feature_name):\n        # 保存列名\n        self._save_feature_col_name(fea_names,self.features_dir + 'X_train_{}.names'.format(feature_name))\n\n    def save_feature_col_list(self,fea_data,type,feature_name):\n        # 保存各列对应的数据\n        self._save_feature_data(fea_data,self.features_dir + 'X_{}_{}.pickle'.format(type,feature_name))\n\n    def _load_feature_col_name(self,nfile):\n\n        with io.open(nfile,'r',encoding=\"utf-8\") as file:\n            return [line.rstrip('\\n') for line in file.readlines()]\n\n    def _load_feature_data(self,nfile):\n        with open(nfile,'rb') as file:\n            return pickle.load(file)\n\n    def _save_feature_data(self,data,nfile):\n        with open(nfile,'wb') as file:\n            pickle.dump(data,file)\n\n    def _save_feature_col_name(self,col_names,nfile):\n        with open(nfile,'w') as file:\n            file.write('\\n'.join(col_names))\n\n    def save(self,nfile,object):\n        with open(nfile, 'wb') as file:\n            pickle.dump(object, file)\n    def load(self,nfile):\n        with open(nfile, 'rb') as file:\n            return pickle.load(file)\n\n# 初始化整个项目的基础类\nproject = Project.init('/Users/jian/PythonPrMl/Financial_NLP/atec',create_dir=False)\n\n\n\n\n"
  },
  {
    "path": "ML/DecisionTree/Boosting.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/4/12 下午5:27 \n# @Author : ComeOnJian \n# @File : Boosting.py\n\nfrom sklearn.metrics import accuracy_score\nfrom sklearn.tree import DecisionTreeClassifier\nimport math\nimport numpy as np\nimport time\n\nclass ThresholdClass():\n    \"\"\"\n    构造一个阈值分类器\n    x<v ,val = 1\n    x>= -1 ,val = 0\n    Adult是二分类问题，当阈值分类器输出val为1表示预测为正例，当阈值分类器输出val为0表示预测为负例\n    \"\"\"\n    def __init__(self,train_x,train_y,w):\n        \"\"\"\n        初始化阈值分类器\n        :param features: 特征集\n        :param labels:标签集\n        :param w: 样本对应的权重\n        \"\"\"\n        self.X = train_x\n        self.y = train_y\n\n        self.sample_num = train_x.shape[0]\n        #每个样本对应的参数\n        self.w = w\n        #初始化 feature取值的阈值范围\n        self.values = self._get_V_list(self.X)\n        self.best_V = -1\n\n    def train(self):\n        \"\"\"\n        计算使得分类误差率最小的阈值\n        :return: 返回误差率\n        \"\"\"\n        best_error_rate = 1.1\n        error_rate = 0.0\n        for V in self.values:\n            #计算每个阈值对应的误差率\n            for feature_v_index in range(self.sample_num):\n                val = 0\n                if self.X[feature_v_index] < V:\n                    val = 1\n                # error 出现的情况\n                if val != self.y[feature_v_index]:\n                    error_rate = error_rate + self.w[feature_v_index] * 1\n\n            if error_rate != 0.0 and error_rate < best_error_rate:\n                best_error_rate = error_rate\n                self.best_V = V\n\n            #没有error的情况\n            if best_error_rate == 1.1:\n                self.best_V = V\n        return best_error_rate\n\n    def predict(self,feature_value):\n        \"\"\"\n        :param feature_value:单个维度的值\n        :return:预测值\n        \"\"\"\n        if feature_value < self.best_V:\n            return 1\n        else:\n            return 0\n\n    def _get_V_list(self,X):\n        \"\"\"\n        :param X:特征对应的取值\n        :return:该特征对应的阈值可取值列表\n        \"\"\"\n        values_set = set(X)\n        values = []\n        for iter,value in enumerate(values_set):\n            if iter==0:\n                continue\n            else:\n                values.append(value-0.5)\n        return values\n\n\"\"\"\n如果特征有n维，我们针对每一维特征求一个分类器，选取这些分类器中分类误差率最低的分类器作为本轮的分类器，将其特征index与分类器一起存入G(x)中。 \n\"\"\"\nclass AdaBoostBasic():\n    def __init__(self,M = 10):\n        # 由M个弱分类器叠加\n        self.M = M\n        pass\n    def _init_parameters_(self,train_x,train_y):\n        self.X = train_x\n        self.y = train_y\n        # 特征数\n        self.feature_num = train_x.shape[1]\n        self.sample_num = train_x.shape[0]\n\n        # 分类器Gm(x)的系数列表\n        self.alpha = []\n        # 列表item 为(维度即特征index，维度对应的分类器)\n        self.classifier = []\n\n        # 数据集样本的权值分布,类型为列表\n        self.w = [1.0/self.sample_num] * self.sample_num\n\n    def train(self,train_x,train_y):\n        self._init_parameters_(train_x,train_y)\n        #计算M个弱分类器\n        for iter in range(self.M):\n            print('start %d ThresholdClass ...'%(iter))\n            #对于多维度的分类，需要计算特定的维度的最好的分类器即误差率最小\n            # 分别对应的误差率，特征index，分类器对象\n            best_ThresholdClass = (1,None,None)\n\n            #从多维度的数据中找出维度对应的误差最小的特征及对应的分类器\n            for feature_index in range(self.feature_num):\n                #取feature对应的列，作为单维特征\n                feature_X = self.X[:,feature_index]\n                thresholdClass = ThresholdClass(feature_X,self.y,self.w)\n                error_rate = thresholdClass.train()\n\n                if error_rate < best_ThresholdClass[0]:\n                    best_ThresholdClass = (error_rate,feature_index,thresholdClass)\n            error_rate_iter = best_ThresholdClass[0]\n            print('No %d ThresholdClass error rate is : %f , feature index is :%d'\n                  % (iter,best_ThresholdClass[0],best_ThresholdClass[1]))\n\n            #记录下第iter轮的分类器\n            self.classifier.append(best_ThresholdClass)\n\n            # 记录下参数alpha\n            alpha_iter = 100\n            if error_rate_iter == 1.1:\n                #没有分错的情况\n\n                self.alpha.append(alpha_iter)\n            else:\n                alpha_iter = self._get_alpha(error_rate_iter)\n                self.alpha.append(alpha_iter)\n\n            #更新训练集记录的权值分布\n            Zm = self._get_Z_m(alpha_iter,best_ThresholdClass[1],best_ThresholdClass[2])\n            self._updata_w(alpha_iter,best_ThresholdClass[1],best_ThresholdClass[2],Zm)\n\n    def predict(self,sample):\n        predict = 0\n        for index in range(self.M):\n            alpha_m = self.alpha[index] # 系数\n            classfiler_m = self.classifier[index] # 分类器参数\n            feature_index_m = classfiler_m[1] #分类器对应的Feature index\n            thresholfclass_m = classfiler_m[2]\n            feature_value = sample[feature_index_m]\n            Gm = thresholfclass_m.predict(feature_value)\n\n            predict = predict + alpha_m * Gm\n        predict = self._sigmoid(predict)\n        if predict >= 0.5:\n            return 1\n        else:\n            return 0\n    def _sigmoid(self,x):\n        return 1.0/(1 + math.exp(-x))\n\n\n    def _get_alpha(self,error_rate_iter):\n        alpha = 0.5 * math.log((1-error_rate_iter)/error_rate_iter)\n        return alpha\n    #规范因子\n    def _get_Z_m(self,alpha,feature_index,classifler):\n        \"\"\"\n        :param alpha:第m个弱分类前的系数\n        :param feature_index 分类的特征的index\n        :param classifler:第m个弱分类\n        :return:Zm\n        \"\"\"\n        Zm = 0.0\n        for index in range(self.sample_num):\n            temp = - alpha * self.y[index,:][0] * classifler.predict(self.X[index,feature_index])\n            Zm = Zm + self.w[index] * math.exp(temp)\n        return Zm\n\n    def _updata_w(self,alpha,feature_index,classifler,Zm):\n        \"\"\"更新w值\"\"\"\n        for index in range(self.sample_num):\n            temp = - alpha * self.y[index, :][0] * classifler.predict(self.X[index, feature_index])\n            self.w[index] = self.w[index] / Zm * math.exp(temp)\nclass AdaBoostTree():\n    \"\"\"\n    以CART为基类-弱分类器的提升方法\n    \"\"\"\n    def __init__(self):\n        pass\n\nclass AdaBoostGDBT():\n    pass\n\ntrain_file = '../data/adult/adult_deal_value.data'\ntest_file = '../data/adult/adult_deal_value.test'\n\nif __name__ == '__main__':\n    flods = [train_file, test_file]\n    print('load data...')\n    from ML.DecisionTree import decision_tree as dt\n    train_x, train_y, test_x, test_y = dt.load_data(flods)\n\n    print('finish data load...')\n\n    start_time = time.time()\n    adboost = AdaBoostBasic(M = 30)\n    adboost.train(train_x,train_y)\n    end_time = time.time()\n    train_time = end_time - start_time\n    print('total train time is :%.3f'%train_time)\n\n    pred_y = []\n    for sample in test_x:\n        pred_yi = adboost.predict(sample)\n        pred_y.append(pred_yi)\n    # pred_y = [0]* (test_y.shape[0])\n    print(\"accuracy is : \",accuracy_score(y_true=test_y,y_pred=pred_y))"
  },
  {
    "path": "ML/DecisionTree/RandomForest.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/4/5 上午10:55 \n# @Author : ComeOnJian \n# @File : RandomForst.py \n\nfrom sklearn.tree import DecisionTreeRegressor\nfrom sklearn.tree import DecisionTreeClassifier\n\n# from sklearn.ensemble import RandomForestClassifier\nimport numpy as np\nimport pandas as pd\nimport random\n\"\"\"\n随机示例对于回归问题此处采用的是平均法，对于分类问题采用的是投票法\n\"\"\"\nfrom enum import Enum\n\nclass TypeClass(Enum):\n    DecisionTreeClassifier_type = 1\n    DecisionTreeRegressor_type = 2\n\ndef randomforst(D,N,M,K,type_class):\n    \"\"\"\n    :param D: 数据集D，格式为[Feature,label]，类型为np.ndarray\n    :param N: 一次随机选取出的样本数\n    :param M: M个基分类器\n    :param k: 所有特征中选取K个属性\n    :return:\n    \"\"\"\n    D_df = pd.DataFrame(D)\n    D_df.as_matrix()\n    trees = []\n    for count in M:\n        # 随机采样N个样本\n        D_df_i = D_df.sample(N)\n\n        # 随机选取K个特征\n        #包含label所以需要减1\n        feature_length = D_df.shape[0] - 1\n        feature_list = range(feature_length)\n        choice_features = random.sample(feature_list,K)\n\n        #最终的Di数据集\n        D_df_i_data = D_df_i[choice_features]\n        if isinstance(type_class,TypeClass):\n            if type_class == TypeClass.DecisionTreeClassifier_type:\n                cart_t = DecisionTreeClassifier(criterion='gini')\n            else:\n                cart_t = DecisionTreeRegressor(criterion='mse')\n            y = D_df_i_data[-1].as_matrix()\n            X = D_df_i_data.drop([-1], axis=1).as_matrix()\n            tree = cart_t.fit(X, y)\n            trees.append(tree)\n        else:\n            raise Exception('input param error')\n        return trees\ndef randomforst_predict(trees,test_x, type_class):\n\n    if isinstance(type_class, TypeClass):\n        results = []\n        for tree in trees:\n            result = tree.predict(test_x)\n            results.append(result)\n        results_np = np.array(results)\n        if type_class == TypeClass.DecisionTreeClassifier_type:\n            return get_max_count_array(results_np)\n        else:\n            return np.mean(results_np)\n\n\n    else:\n        raise Exception('input param error')\ndef get_max_count_array(arr):\n    count = np.bincount(arr)\n    max_value = np.argmax(count)\n    return max_value"
  },
  {
    "path": "ML/DecisionTree/decision_tree.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/3/23 下午3:43 \n# @Author : ComeOnJian \n# @File : decision_tree.py \n\nimport pandas as pd\nimport numpy as np\nfrom sklearn.utils import shuffle\nimport pickle\nfrom tqdm import tqdm\nimport copy\n\n\n# ######################### 数据集操作 ################\n##dataframe中的值数值化，包括一些简单的连续值离散化处理\ndef adult_label(x):\n    \"\"\"\n    转换样本的类别\n    :param s: key\n    \"\"\"\n    label = {'>50K': 1,'<=50K' : 0,'>50K.': 1,'<=50K.' : 0}\n    return label[x]\ndef adult_age(x):\n    key = '17-35'\n    x = int(x)\n    if x>=36 and x<=53:\n        key = '36-53'\n    elif x>=54 and x<=71:\n        key = '54-71'\n    elif  x>=72 and x<=90:\n        key = '72-90'\n    age = {'17-35': 0, '36-53': 1, '54-71': 2, '72-90': 3}\n    return age[key]\ndef adult_workclass(x):\n    workclass = {'Private': 0, 'Self-emp-not-inc': 1, 'Self-emp-inc': 2, 'Federal-gov': 3, 'Local-gov': 4,\n                 'State-gov': 5, 'Without-pay': 6}\n    return workclass[x]\ndef adult_education(x):\n    education = {'Bachelors': 0, 'Some-college': 1, '11th': 2, 'HS-grad': 3, 'Prof-school': 4, 'Assoc-acdm': 5,\n                 'Assoc-voc': 6, '9th': 7,\n                 '7th-8th': 8, '12th': 9, 'Masters': 10, '1st-4th': 11, '10th': 12, 'Doctorate': 13, '5th-6th': 14,\n                 'Preschool': 15}\n    return education[x]\ndef adult_education_num(x):\n    key = '1-4'\n    x = int(x)\n    if x>=5 and x<=8:\n        key = '5-8'\n    elif x>=9 and x<=12:\n        key = '9-12'\n    elif  x>=13 and x<=16:\n        key = '13-16'\n    education_num = {'1-4': 0, '5-8': 1, '9-12': 2, '13-16': 3}\n    return education_num[key]\ndef adult_marital_status(x):\n    marital_status = {'Married-civ-spouse': 0, 'Divorced': 1, 'Never-married': 2, 'Separated': 3, 'Widowed': 4,\n                      'Married-spouse-absent': 5, 'Married-AF-spouse': 6}\n    return marital_status[x]\ndef adult_occupation(x):\n    occupation = {'Tech-support': 0, 'Craft-repair': 1, 'Other-service': 2, 'Sales': 3, 'Exec-managerial': 4,\n                  'Prof-specialty': 5, 'Handlers-cleaners': 6, 'Machine-op-inspct': 7,\n                  'Adm-clerical': 8, 'Farming-fishing': 9, 'Transport-moving': 10, 'Priv-house-serv': 11,\n                  'Protective-serv': 12, 'Armed-Forces': 13}\n    return occupation[x]\ndef adult_relationship(x):\n    relationship = {'Wife': 0, 'Own-child': 1, 'Husband': 2, 'Not-in-family': 3, 'Other-relative' :4, 'Unmarried': 5}\n    return relationship[x]\ndef adult_race(x):\n    race = {'White': 0, 'Asian-Pac-Islander': 1, 'Amer-Indian-Eskimo': 2, 'Other': 3,'Black': 4}\n    return race[x]\ndef adult_sex(x):\n    sex = {'Female': 0, 'Male': 1}\n    return sex[x]\ndef adult_capital_gain_loss(x):\n    capital_gain_loss = {'=0': 0, '>0': 1}\n    key = '=0'\n    x = int(x)\n    if x>=0:\n        key = '>0'\n    return capital_gain_loss[key]\ndef adult_hours_per_week(x):\n    hours_per_week = {'=40': 0, '>40': 1, '<40': 2}\n    key = '=40'\n    x = int(x)\n    if x > 40:\n        key = '>40'\n    elif x < 40:\n        key = '<40'\n    return hours_per_week[key]\ndef adult_native_country(x):\n    key = 'USA'\n    native_country = {'USA': 0, 'not USA': 1}\n    if x != 'United-States ':\n        key = 'not USA'\n    return native_country[key]\n\ndef transToValues(file_name,save_name,remove_unKnowValue=True,remove_duplicates=True):\n\n    converters = {0: adult_age,1: adult_workclass,3: adult_education,4: adult_education_num,5: adult_marital_status,\n                  6: adult_occupation,7: adult_relationship,8: adult_race,9: adult_sex,10: adult_capital_gain_loss,\n                  11: adult_capital_gain_loss,12: adult_hours_per_week,13: adult_native_country,14: adult_label}\n    adult_df = pd.read_table(file_name, header=None ,sep=',',converters=converters,\n                                   names=['age', 'workclass', 'fnlwgt', 'education', 'education-num', 'marital-status',\n                                          'occupation','relationship', 'race', 'sex', 'capital-gain', 'capital-loss',\n                                          'hours-per-week', 'native-country','label'],engine='python')\n    if remove_duplicates:\n        # 移除df中重复的值\n        adult_df.drop_duplicates(inplace=True)\n        print('delete duplicates shape train-test =================')\n        print(adult_df.shape)\n\n    if remove_unKnowValue:\n        # 移除df中缺失的值\n        adult_df.replace(['?'], np.NaN, inplace=True)\n        adult_df.dropna(inplace=True)\n        print('delete unKnowValues shape train-test =================')\n        print(adult_df.shape)\n        adult_df.drop('fnlwgt',axis=1,inplace=True)\n\n    adult_df.to_csv(save_name,header=False,index=False)\n\nif __name__ == '__main__':\n    train_file = '../data/adult/adult.data'\n    test_file = '../data/adult/adult.test'\n\n    train_deal_file = '../data/adult/adult_deal.data'\n    test_deal_file = '../data/adult/adult_deal.test'\n\n    #deal with duplicates and unKnowValue\n    transToValues(train_file,train_deal_file)\n    transToValues(test_file,test_deal_file)\n\n    # trans to value\n    transToValues(train_deal_file,'../data/adult/adult_deal_value.data',remove_duplicates=False,remove_unKnowValue=False)\n    transToValues(test_deal_file,'../data/adult/adult_deal_value.test',remove_duplicates=False,remove_unKnowValue=False)\n\ndef load_data(flods):\n    adult_train_df = pd.read_table(flods[0], header=None ,sep=',',\n                                   names=['age', 'workclass', 'education', 'education-num', 'marital-status',\n                                          'occupation','relationship', 'race', 'sex', 'capital-gain', 'capital-loss',\n                                          'hours-per-week', 'native-country','label'],engine='python',dtype=int)\n    adult_test_df = pd.read_table(flods[1], header=None, sep=',',\n                                   names=['age', 'workclass', 'education', 'education-num', 'marital-status',\n                                          'occupation', 'relationship', 'race', 'sex', 'capital-gain', 'capital-loss',\n                                          'hours-per-week', 'native-country', 'label'], engine='python',dtype=int)\n    # 打乱data中样本的顺序\n    # adult_train_df = shuffle(adult_train_df)\n    adult_train_df = adult_train_df.sample(frac=1).reset_index(drop=True)\n    # adult_test_df = shuffle(adult_test_df)\n    adult_test_df = adult_test_df.sample(frac=1).reset_index(drop=True)\n    print('init shape train-test =================')\n    print(adult_train_df.shape)\n    print(adult_test_df.shape)\n\n    # 离散分段处理\n    # D = np.array(adult_train_df['label']).reshape(adult_train_df.shape[0], 1)\n    # age_did = devide_feature_value(adult_train_df['age'],D)\n\n    train_data_x = np.array(adult_train_df.iloc[:,0:13])\n    train_data_y = np.array(adult_train_df.iloc[:,13:])\n\n    test_data_x = np.array(adult_test_df.iloc[:, 0:13])\n    test_data_y = np.array(adult_test_df.iloc[:, 13:])\n\n    return train_data_x,train_data_y,test_data_x,test_data_y\n\n## 连续值离散处理\ndef devide_feature_value(series,D):\n    sets = set(series)\n    mid_value = []\n    a = float(sets.pop())\n    #取相邻点的中值\n    for par in sets:\n        a = (a + par) / 2.0\n        mid_value.append(a)\n        a = float(par)\n    max_divide = mid_value[0]\n    max_ent = 0.0\n    ent_d = calc_ent(D)\n    #查找最好的分裂点\n    for mid in mid_value:\n        Q1 = D[series < mid]\n        Q2 = D[series >= mid]\n        D_length = float(D.shape[0])\n        Q1_length = Q1.shape[0]\n        Q2_length = D_length - Q1_length\n        #条件熵\n        H_Q_D = Q1_length / D_length * calc_ent(Q1) + Q2_length / D_length * calc_ent(Q2)\n        H = ent_d - H_Q_D\n        if(H > max_ent):\n            max_ent = H\n            max_divide = mid\n    return max_divide\n\n\n\n# ######################### 数学计算 ################\n\ndef calc_ent(D):\n    \"\"\"\n    计算数据集D的信息熵(经验熵),输入的labels\n    :param x:数据集D,labels\n    :return:ent\n    \"\"\"\n    ent = 0.0\n\n    x_value_list = set([D[i][0] for i in range(D.shape[0])]) #Ck 数据集中的类别数\n    for x_value in x_value_list:\n        p = float(D[D == x_value].shape[0]) / D.shape[0]\n        logp = np.log2(p)\n        ent -= p*logp\n    return ent\n\ndef calc_condition_ent(A,D):\n    \"\"\"\n    计算条件熵 H(D|A),x是特征项，y是D数据集labels\n    :param x: A,某个特征项目\n    :param y: D，数据集labels\n    :return:条件熵\n    \"\"\"\n    ent = 0.0\n    x_value_list = set([A[i] for i in range(A.shape[0])]) #X 特征能取得值\n    for x_value in x_value_list:\n        sub_y = D[A == x_value] #Di\n        ent_di = calc_ent(sub_y)\n        ent += (float(sub_y.shape[0])/D.shape[0]) * ent_di\n    return  ent\n\ndef calc_ent_gain(A,D):\n    \"\"\"\n    :param A:某个特征项目\n    :param D:数据集,labels\n    :return:计算信息增益\n    \"\"\"\n    ent_d = calc_ent(D)\n    ent_condition_d_a = calc_condition_ent(A,D)\n    return (ent_d - ent_condition_d_a)\n\ndef calc_ent_gain_rate(A,D):\n    \"\"\"\n    计算信息增益比\n    :param A:\n    :param D:labels\n    :return:信息增益比\n    \"\"\"\n    ent = 0.0\n    ent_gain = calc_ent_gain(A,D)\n\n    x_values_list = set([A[i] for i in range(A.shape[0])])\n\n    for x_value in x_values_list:\n        sub_y = D[A == x_value]# Di\n        p = float(sub_y.shape[0])/D.shape[0] #Di/D\n        logp = np.log2(p)\n        ent -= p * logp\n\n    return ent_gain/ent\n\ndef calc_gini(D):\n    \"\"\"\n    计算样本集D的基尼系数\n    :param D: labels\n    :return:\n    \"\"\"\n    gini = 0.0\n    x_value_list = set([D[i][0] for i in range(D.shape[0])])\n    for x_value in x_value_list:\n        Ck_count = D[D == x_value].shape[0]\n        D_count = D.shape[0]\n        p = float(Ck_count)/D_count\n        gini += np.square(p)\n    gini = 1 - gini\n    return gini\n\ndef calc_condition_gini(A,D,a):\n    \"\"\"\n    在特征A的条件下，集合D的基尼系数\n    :param A:特征A\n    :param D:labels\n    :param a:特征A的确却的值a\n    :return:\n    \"\"\"\n\n    D1 = D[A == a]\n    # D2 = D - D1 无此种形式\n    # 取差集\n    mask = A != a\n    D2 = D[mask]\n    p1 = float(D1.shape[0])/D.shape[0]\n    p2 = float(D2.shape[0])/D.shape[0]\n\n    gini1 = calc_gini(D1)\n    gini2 = calc_gini(D2)\n\n    gini = p1 * gini1 + p2 * gini2\n\n    return gini\n\n# ######################### 模型分类效果评价 ################\n\ndef eval(y_true,y_predict):\n\n    from sklearn.metrics import average_precision_score\n    from sklearn.metrics import matthews_corrcoef\n    from sklearn.metrics import classification_report\n    import matplotlib.pyplot as plt\n    from sklearn.metrics import roc_curve, auc\n    from sklearn.metrics import precision_score, recall_score, f1_score\n\n    print('average_precision_score: %f' % (average_precision_score(y_true=y_true, y_score=y_predict)))\n    print('MMC: %f' % (matthews_corrcoef(y_true=y_true, y_pred=y_predict)))\n\n    print(classification_report(y_true=y_true, y_pred=y_predict))\n\n\n    # Calculate precision score\n    print(precision_score(y_true, y_predict, average='macro'))\n    print(precision_score(y_true, y_predict, average='micro'))\n    print(precision_score(y_true, y_predict, average=None))\n\n    # Calculate recall score\n    print(recall_score(y_true, y_predict, average='macro'))\n    print(recall_score(y_true, y_predict, average='micro'))\n    print(recall_score(y_true, y_predict, average=None))\n\n    # Calculate f1 score\n    print(f1_score(y_true, y_predict, average='macro'))\n    print(f1_score(y_true, y_predict, average='micro'))\n    print(f1_score(y_true, y_predict, average=None))\n\n    fpr, tpr, thresholds = roc_curve(y_true, y_predict)\n    roc_auc = auc(fpr, tpr)\n    # 画图，只需要plt.plot(fpr,tpr),变量roc_auc只是记录auc的值，通过auc()函数能计算出来\n    plt.plot(fpr, tpr, lw=1, label='ROC(area = %0.2f)' % (roc_auc))\n    plt.xlabel(\"FPR (False Positive Rate)\")\n    plt.ylabel(\"TPR (True Positive Rate)\")\n    plt.title(\"Receiver Operating Characteristic, ROC(AUC = %0.2f)\" % (roc_auc))\n    plt.show()\n\n# ######################### TreeNode ################\n\nclass TreeNode():\n   \"\"\"\n   树节点类\n   \"\"\"\n   def __init__(self):\n       #叶子结点需要的属性\n\n       self.type = -1  # 结点的类型label-类标记\n\n       #非叶子结点需要的属性\n       self.next_nodes = []  # 该结点指向的下一层结点\n       self.feature_index = -1 #该结点对应的特征编号\n       # self.feature_value = 0 #该结点划分的特征取值\n       self.select_value = 0 #特征选择（信息增益、信息增益比、gini）值\n\n   def add_next_node(self,node):\n       if type(node) == TreeNode:\n           self.next_nodes.append(node)\n       else:\n           raise Exception('node not belong to TreeNode type')\n   def add_attr_and_value(self,attr_name,attr_value):\n       \"\"\"\n       动态给节点添加属性，因为结点分为叶子结点，正常结点\n       :param attr_name:属性名\n       :param attr_value:属性值\n       \"\"\"\n       setattr(self,attr_name,attr_value)\n\n# ######################### Decision Tree  ################\n\nclass DecisionTree():\n    def __init__(self,mode):\n        self._tree = TreeNode() #指向根结点的指针\n        if mode == 'ID3' or mode == 'C4.5':\n            self._mode = mode\n        else:\n            raise Exception('mode should is C4.5 or ID3 or CARTClassification or CARTRegression')\n    def train(self,train_x,train_y,epsoion):\n        \"\"\"\n        构建树\n        :param train_x:\n        :param train_y:\n        :return:该树 ———— 模型\n        \"\"\"\n        feature_list = [index for index in range(train_x.shape[1])]\n\n        self._create_tree(train_x,train_y,feature_list,epsoion,self._tree)\n        # print (22)\n\n    def predict(self,test_x):\n        if (len(self._tree.next_nodes) == 0):\n            raise Exception('no train model')\n\n        # classfiy one sample\n        def _classfiy(node,sample):\n            feature_index = node.feature_index\n            #叶子结点\n            if feature_index == -1:\n                return node.type\n            #\n            sample_feature_v = sample[feature_index]\n            next_node = None\n            for sub_node in node.next_nodes:\n                if  hasattr(sub_node,'feature_value'):\n                    if sub_node.feature_value == sample_feature_v:\n                        next_node = sub_node\n                        break;\n\n            if next_node ==  None:\n                return node.type\n            else:\n                return _classfiy(next_node,sample)\n\n\n        predict_labels = []\n        for sample in tqdm(test_x):\n            label = _classfiy(self._tree.next_nodes[0],list(sample))\n            predict_labels.append(label)\n        return predict_labels\n\n    def _create_tree(self,X,y,feature_list,epsoion,start_node,Vi=-1):\n        \"\"\"\n        :param X: 数据集X\n        :param y: label集合\n        :param feature_list: 特征的id list\n        :param epsoion:阈值\n        :param start_node:决策树的启始结点\n        :param Vi: feature value\n        :return: 指向决策树的根结点的指针\n        \"\"\"\n        # 结点\n        node = TreeNode()\n        #若所有实例都属于一个类别\n        C = set(y[:,0]) #分类的类别集合\n        if(len(C) == 1 ):\n            node.type = tuple(C)[0] #该Ck作为该结点的类标记\n            start_node.add_next_node(node)\n            return\n\n        # 特征集合A为空,将D中实例数最大的类Ck作为该结点的类标记\n        if(len(feature_list) == 0):\n            max_value = self._get_max_count_array(y[:,0])\n            node.type = max_value\n            start_node.add_next_node(node)\n            return\n\n        # select feature\n        if self._mode == 'ID3' or self._mode == 'C4.5':\n            select_func = calc_ent_gain\n            if self._mode == 'C4.5':\n                select_func = calc_ent_gain_rate\n            ent_gain_max, ent_max_feature_index = self._select_feature(X,y,feature_list,select_func)\n            # 最大信息增益小于设定的某个阈值\n            if ent_gain_max < epsoion:\n                type_value = self._get_max_count_array(y[:, 0])\n                node.type = type_value\n                start_node.add_next_node(node)\n                return\n            else:\n                node.feature_index = ent_max_feature_index\n                node.select_value = ent_gain_max\n                type_value = self._get_max_count_array(y[:,0])\n                node.type = type_value\n                if (Vi != -1):\n                    node.add_attr_and_value(\"feature_value\", Vi)\n                start_node.add_next_node(node)\n                # 获取选取的特征的所有可能值\n                Ag_v = set(X[:,ent_max_feature_index])\n                # A - Ag\n                feature_list.remove(ent_max_feature_index)\n                # Di\n                for v in Ag_v:\n                    # Di 为 Xi , yi\n                    mask = X[:,ent_max_feature_index] == v\n                    Xi = X[mask]\n                    yi = y[mask]\n                    feature_list_new = copy.deepcopy(feature_list)\n                    self._create_tree(Xi, yi, feature_list_new, epsoion, node, Vi=v)\n                return\n        else:\n            pass\n\n        pass\n\n    def _select_feature(self,X,y,feature_list,select_func):\n        ent_gain_max = 0.0\n        ent_max_feature_index = 0\n        for feature in feature_list:\n            A = X[:,feature]\n            D = y\n            ent_gain = select_func(A,D)\n            if(ent_gain > ent_gain_max):\n                ent_gain_max = ent_gain\n                ent_max_feature_index = feature\n\n        return ent_gain_max,ent_max_feature_index\n\n\n    def _get_max_count_array(self,arr):\n        count = np.bincount(arr)\n        max_value = np.argmax(count)\n        return max_value\n\n\n"
  },
  {
    "path": "ML/DecisionTree/titanic_data_analy.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"<class 'pandas.core.frame.DataFrame'>\\nRangeIndex: 891 entries, 0 to 890\\nData columns (total 12 columns):\\nPassengerId    891 non-null int64\\nSurvived       891 non-null int64\\nPclass         891 non-null int64\\nName           891 non-null object\\nSex            891 non-null object\\nAge            714 non-null float64\\nSibSp          891 non-null int64\\nParch          891 non-null int64\\nTicket         891 non-null object\\nFare           891 non-null float64\\nCabin          204 non-null object\\nEmbarked       889 non-null object\\ndtypes: float64(2), int64(5), object(5)\\nmemory usage: 83.6+ KB\\nNone\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"import numpy as np\\n\",\n    \"import pandas as pd\\n\",\n    \"train = pd.read_csv(\\\"ML/data/Titanic/train.csv\\\")\\n\",\n    \"test = pd.read_csv(\\\"ML/data/Titanic/test.csv\\\")\\n\",\n    \"full_data = [train,test]\\n\",\n    \"print(train.info())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"1    216\\n2    184\\n3    491\\nName: Pclass, dtype: int64\\n   Pclass  Survived\\n0       1  0.629630\\n1       2  0.472826\\n2       3  0.242363\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"\\n\",\n    \"print (train['Pclass'].value_counts(sort=False).sort_index())\\n\",\n    \"print train[['Pclass','Survived']].groupby('Pclass',as_index=False).mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"female    314\\nmale      577\\nName: Sex, dtype: int64\\n      Sex  Survived\\n0  female  0.742038\\n1    male  0.188908\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"\\n\",\n    \"print (train['Sex'].value_counts(sort=False).sort_index())\\n\",\n    \"print train[['Sex','Survived']].groupby('Sex',as_index=False).mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"collapsed\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/Users/jian/anaconda2/lib/python2.7/site-packages/ipykernel_launcher.py:8: SettingWithCopyWarning: \\nA value is trying to be set on a copy of a slice from a DataFrame\\n\\nSee the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\\n  \\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"for dataset in full_data:\\n\",\n    \"    age_avg = dataset['Age'].mean()\\n\",\n    \"    age_std = dataset['Age'].std()\\n\",\n    \"    \\n\",\n    \"    age_null_count = dataset['Age'].isnull().sum()\\n\",\n    \"    age_default_list = np.random.randint(low=age_avg-age_std,high=age_avg+age_std,size=age_null_count,)\\n\",\n    \"    \\n\",\n    \"    dataset['Age'][np.isnan(dataset['Age'])] = age_default_list\\n\",\n    \"    dataset['Age'] = dataset['Age'].astype(int)\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"  CategoricalAge  Survived\\n0  (-0.08, 16.0]  0.540541\\n1   (16.0, 32.0]  0.362187\\n2   (32.0, 48.0]  0.352490\\n3   (48.0, 64.0]  0.434783\\n4   (64.0, 80.0]  0.090909\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"train['CategoricalAge'] = pd.cut(train['Age'], 5)\\n\",\n    \"print (train[['CategoricalAge', 'Survived']].groupby(['CategoricalAge'], as_index=False).mean())\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"0    608\\n1    209\\n2     28\\n3     16\\n4     18\\n5      5\\n8      7\\nName: SibSp, dtype: int64\\n   SibSp  Survived\\n0      0  0.345395\\n1      1  0.535885\\n2      2  0.464286\\n3      3  0.250000\\n4      4  0.166667\\n5      5  0.000000\\n6      8  0.000000\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"\\n\",\n    \"print (train['SibSp'].value_counts(sort=False).sort_index())\\n\",\n    \"print train[['SibSp','Survived']].groupby('SibSp',as_index=False).mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"0    678\\n1    118\\n2     80\\n3      5\\n4      4\\n5      5\\n6      1\\nName: Parch, dtype: int64\\n   Parch  Survived\\n0      0  0.343658\\n1      1  0.550847\\n2      2  0.500000\\n3      3  0.600000\\n4      4  0.000000\\n5      5  0.200000\\n6      6  0.000000\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"\\n\",\n    \"print (train['Parch'].value_counts(sort=False).sort_index())\\n\",\n    \"print train[['Parch','Survived']].groupby('Parch',as_index=False).mean()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"   FamilySize  Survived\\n0           1  0.303538\\n1           2  0.552795\\n2           3  0.578431\\n3           4  0.724138\\n4           5  0.200000\\n5           6  0.136364\\n6           7  0.333333\\n7           8  0.000000\\n8          11  0.000000\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"for dataset in full_data:\\n\",\n    \"    dataset['FamilySize'] = dataset['SibSp'] + dataset['Parch'] + 1\\n\",\n    \"print (train[['FamilySize', 'Survived']].groupby(['FamilySize'], as_index=False).mean())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"     CategoricalFare  Survived\\n0    (-0.001, 7.775]  0.205128\\n1     (7.775, 8.662]  0.190789\\n2    (8.662, 14.454]  0.366906\\n3     (14.454, 26.0]  0.436242\\n4     (26.0, 52.369]  0.417808\\n5  (52.369, 512.329]  0.697987\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"for dataset in full_data:\\n\",\n    \"    dataset['Fare'] = dataset['Fare'].fillna(train['Fare'].median())\\n\",\n    \"train['CategoricalFare'] = pd.qcut(train['Fare'],6)\\n\",\n    \"print (train[['CategoricalFare', 'Survived']].groupby(['CategoricalFare'], as_index=False).mean())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"C    168\\nQ     77\\nS    644\\nName: Embarked, dtype: int64\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"\\n\",\n    \"print (train['Embarked'].value_counts(sort=False).sort_index())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"C    168\\nQ     77\\nS    646\\nName: Embarked, dtype: int64\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"for data in full_data:\\n\",\n    \"    data['Embarked'] = data['Embarked'].fillna('S')\\n\",\n    \"print (train['Embarked'].value_counts(sort=False).sort_index())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"  Embarked  Survived\\n0        C  0.553571\\n1        Q  0.389610\\n2        S  0.339009\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print (train[['Embarked', 'Survived']].groupby(['Embarked'], as_index=False).mean())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Sex        female  male\\nTitleName              \\nCapt            0     1\\nCol             0     2\\nCountess        1     0\\nDon             0     1\\nDr              1     6\\nJonkheer        0     1\\nLady            1     0\\nMajor           0     2\\nMaster          0    40\\nMiss          182     0\\nMlle            2     0\\nMme             1     0\\nMr              0   517\\nMrs           125     0\\nMs              1     0\\nRev             0     6\\nSir             0     1\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"\\n\",\n    \"import re\\n\",\n    \"def get_title_name(name):\\n\",\n    \"    title_s = re.search(' ([A-Za-z]+)\\\\.', name)\\n\",\n    \"    if title_s:\\n\",\n    \"        return title_s.group(1)\\n\",\n    \"    return \\\"\\\"\\n\",\n    \"for dataset in full_data:\\n\",\n    \"    dataset['TitleName'] = dataset['Name'].apply(get_title_name)\\n\",\n    \"print(pd.crosstab(train['TitleName'],train['Sex']))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"  TitleName  Survived\\n0    Master  0.575000\\n1      Miss  0.702703\\n2        Mr  0.156673\\n3       Mrs  0.793651\\n4     Other  0.347826\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"train['TitleName'] = train['TitleName'].replace('Mme', 'Mrs')\\n\",\n    \"train['TitleName'] = train['TitleName'].replace('Mlle', 'Miss')\\n\",\n    \"train['TitleName'] = train['TitleName'].replace('Ms', 'Miss')\\n\",\n    \"train['TitleName'] = train['TitleName'].replace(['Lady', 'Countess','Capt', 'Col',\\\\\\n\",\n    \"     'Don', 'Dr', 'Major', 'Rev', 'Sir', 'Jonkheer', 'Dona'], 'Other')\\n\",\n    \"print (train[['TitleName', 'Survived']].groupby(['TitleName'], as_index=False).mean())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"   IsAlone  Survived\\n0        0  0.505650\\n1        1  0.303538\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"train['IsAlone'] = 0\\n\",\n    \"train.loc[train['FamilySize']==1,'IsAlone'] = 1\\n\",\n    \"print (train[['IsAlone', 'Survived']].groupby(['IsAlone'], as_index=False).mean())\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 2\",\n   \"language\": \"python\",\n   \"name\": \"python2\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 2\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython2\",\n   \"version\": \"2.7.6\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "ML/DecisionTree/tree_main.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/3/23 下午8:47 \n# @Author : ComeOnJian \n# @File : tree_main.py\n\nfrom ML.DecisionTree import  decision_tree as dt\nimport time\nimport numpy as np\nfrom sklearn.metrics import accuracy_score\n\nfrom sklearn.tree import DecisionTreeClassifier\n\ntrain_file = '../data/adult/adult_deal_value.data'\ntest_file = '../data/adult/adult_deal_value.test'\n\nif __name__ == '__main__':\n    flods = [train_file,test_file]\n    print('load data...')\n    train_x, train_y, test_x, test_y = dt.load_data(flods)\n\n    # print(type(train_x[:,0][0]))\n    print('finish data load...')\n\n    my_decision_tree = dt.DecisionTree(mode='ID3')\n    my_decision_tree.train(train_x,train_y,0.01)\n    predict_y = my_decision_tree.predict(test_x)\n    print('my tree accuracy: %f' % (accuracy_score(y_true=test_y, y_pred=predict_y)))\n\n\n    decisiont_tr = DecisionTreeClassifier(criterion='entropy',max_depth=8,min_samples_split=9)\n    decisiont_tr.fit(train_x,train_y)\n    p_y =  decisiont_tr.predict(test_x)\n    print('sklearn tree accuracy: %f' % (accuracy_score(y_true=test_y, y_pred=p_y)))\n    print(decisiont_tr.feature_importances_)\n\n\n\n"
  },
  {
    "path": "ML/DecisionTree/xgboost_demo.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/4/28 下午7:24 \n# @Author : ComeOnJian \n# @File : xgboost.py \n\nimport pandas as pd\nimport numpy as np\nimport re\nfrom sklearn.preprocessing import OneHotEncoder\nfrom sklearn.preprocessing import LabelBinarizer\nfrom sklearn.ensemble import RandomForestRegressor\nfrom sklearn.model_selection import GridSearchCV\nfrom sklearn import metrics\n\nimport xgboost as xgb\nfrom xgboost.sklearn import XGBClassifier\nimport matplotlib.pylab as plt\n\ntrain_file = '../data/Titanic/train.csv'\ntest_file = '../data/Titanic/test.csv'\ntest_result_file = '../data/Titanic/gender_submission.csv'\n\ndef data_feature_engineering(full_data,age_default_avg=True,one_hot=True):\n    \"\"\"\n    :param full_data:全部数据集包括train,test\n    :param age_default_avg:age默认填充方式，是否使用平均值进行填充\n    :param one_hot: Embarked字符处理是否是one_hot编码还是映射处理\n    :return: 处理好的数据集\n    \"\"\"\n    for dataset in full_data:\n        # Pclass、Parch、SibSp不需要处理\n\n        # sex 0,1\n        dataset['Sex'] = dataset['Sex'].map(Passenger_sex).astype(int)\n\n        # FamilySize\n        dataset['FamilySize'] = dataset['SibSp'] + dataset['Parch'] + 1\n\n        # IsAlone\n        dataset['IsAlone'] = 0\n        isAlone_mask = dataset['FamilySize'] == 1\n        dataset.loc[isAlone_mask, 'IsAlone'] = 1\n\n        # Fare 离散化处理，6个阶段\n        fare_median = dataset['Fare'].median()\n        dataset['CategoricalFare'] = dataset['Fare'].fillna(fare_median)\n        dataset['CategoricalFare'] = pd.qcut(dataset['CategoricalFare'],6,labels=[0,1,2,3,4,5])\n\n        # Embarked映射处理，one-hot编码,极少部分缺失值处理\n        dataset['Embarked'] = dataset['Embarked'].fillna('S')\n        dataset['Embarked'] = dataset['Embarked'].astype(str)\n        if one_hot:\n            # 因为OneHotEncoder只能编码数值型，所以此处使用LabelBinarizer进行独热编码\n            Embarked_arr = LabelBinarizer().fit_transform(dataset['Embarked'])\n            dataset['Embarked_0'] = Embarked_arr[:, 0]\n            dataset['Embarked_1'] = Embarked_arr[:, 1]\n            dataset['Embarked_2'] = Embarked_arr[:, 2]\n            dataset.drop('Embarked',axis=1,inplace=True)\n        else:\n            # 字符串映射处理\n            dataset['Embarked'] = dataset['Embarked'].map(Passenger_Embarked).astype(int)\n\n        # Name选取称呼Title_name\n        dataset['TitleName'] = dataset['Name'].apply(get_title_name)\n        dataset['TitleName'] = dataset['TitleName'].replace('Mme', 'Mrs')\n        dataset['TitleName'] = dataset['TitleName'].replace('Mlle', 'Miss')\n        dataset['TitleName'] = dataset['TitleName'].replace('Ms', 'Miss')\n        dataset['TitleName'] = dataset['TitleName'].replace(['Lady', 'Countess', 'Capt', 'Col', \\\n                                                             'Don', 'Dr', 'Major', 'Rev', 'Sir', 'Jonkheer', 'Dona'],\n                                                            'Other')\n        dataset['TitleName'] = dataset['TitleName'].map(Passenger_TitleName).astype(int)\n\n        # age —— 缺失值，分段处理\n        if age_default_avg:\n            # 缺失值使用avg处理\n            age_avg = dataset['Age'].mean()\n            age_std = dataset['Age'].std()\n            age_null_count = dataset['Age'].isnull().sum()\n            age_default_list = np.random.randint(low=age_avg - age_std, high=age_avg + age_std, size=age_null_count)\n\n            dataset.loc[np.isnan(dataset['Age']), 'Age'] = age_default_list\n            dataset['Age'] = dataset['Age'].astype(int)\n        else:\n            # 将age作为label，预测缺失的age\n            # 特征为 TitleName,Sex,pclass,SibSP,Parch,IsAlone,CategoricalFare,FamileSize,Embarked\n            feature_list = ['TitleName', 'Sex', 'Pclass', 'SibSp', 'Parch', 'IsAlone','CategoricalFare',\n                            'FamilySize', 'Embarked','Age']\n            if one_hot:\n                feature_list.append('Embarked_0')\n                feature_list.append('Embarked_1')\n                feature_list.append('Embarked_2')\n                feature_list.remove('Embarked')\n            Age_data = dataset.loc[:,feature_list]\n\n            un_Age_mask = np.isnan(Age_data['Age'])\n            Age_train = Age_data[~un_Age_mask] #要训练的Age\n\n            # print(Age_train.shape)\n            feature_list.remove('Age')\n            rf0 = RandomForestRegressor(n_estimators=60,oob_score=True,min_samples_split=10,min_samples_leaf=2,\n                                                                   max_depth=7,random_state=10)\n\n            rf0.fit(Age_train[feature_list],Age_train['Age'])\n\n            def set_default_age(age):\n                if np.isnan(age['Age']):\n                    # print(age['PassengerId'])\n                    # print age.loc[feature_list]\n                    data_x = np.array(age.loc[feature_list]).reshape(1,-1)\n                    # print data_x\n                    age_v = round(rf0.predict(data_x))\n                    # print('pred:',age_v)\n                    # age['Age'] = age_v\n                    return age_v\n                    # print age\n                return age['Age']\n\n            dataset['Age'] = dataset.apply(set_default_age, axis=1)\n            # print(dataset.tail())\n            #\n            # data_age_no_full = dataset[dataset['Age'].]\n\n        # pd.cut与pd.qcut的区别，前者是根据取值范围来均匀划分，\n        # 后者是根据取值范围的各个取值的频率来换分，划分后的某个区间的频率数相同\n        # print(dataset.tail())\n        dataset['CategoricalAge'] = pd.cut(dataset['Age'], 5,labels=[0,1,2,3,4])\n    return full_data\ndef data_feature_select(full_data):\n    \"\"\"\n    :param full_data:全部数据集\n    :return:\n    \"\"\"\n    for data_set in full_data:\n        drop_list = ['PassengerId','Name','Age','Fare','Ticket','Cabin']\n        data_set.drop(drop_list,axis=1,inplace=True)\n    train_y = np.array(full_data[0]['Survived'])\n    train = full_data[0].drop('Survived',axis=1,inplace=False)\n    # print(train.head())\n    train_X = np.array(train)\n    test_X = np.array(full_data[1])\n    return train_X,train_y,test_X\ndef Passenger_sex(x):\n    sex = {'female': 0, 'male': 1}\n    return sex[x]\ndef Passenger_Embarked(x):\n    Embarked = {'S': 0, 'C': 1 , 'Q': 2}\n    return Embarked[x]\ndef Passenger_TitleName(x):\n    TitleName = {'Mr': 0, 'Miss': 1, 'Mrs': 2,'Master': 3, 'Other': 4}\n    return TitleName[x]\ndef get_title_name(name):\n    title_s = re.search(' ([A-Za-z]+)\\.', name)\n    if title_s:\n        return title_s.group(1)\n    return \"\"\n\ndef modelfit(alg,dtrain_x,dtrain_y,useTrainCV=True,cv_flods=5,early_stopping_rounds=50):\n    \"\"\"\n    :param alg: 初始模型\n    :param dtrain_x:训练数据X\n    :param dtrain_y:训练数据y（label）\n    :param useTrainCV: 是否使用cv函数来确定最佳n_estimators\n    :param cv_flods:交叉验证的cv数\n    :param early_stopping_rounds:在该数迭代次数之前，eval_metric都没有提升的话则停止\n    \"\"\"\n    if useTrainCV:\n        xgb_param = alg.get_xgb_params()\n        xgtrain = xgb.DMatrix(dtrain_x,dtrain_y)\n        cv_result = xgb.cv(xgb_param,xgtrain,num_boost_round = alg.get_params()['n_estimators'],\n                           nfold = cv_flods,metrics = 'auc',early_stopping_rounds=early_stopping_rounds)\n\n        # print(cv_result)\n        alg.set_params(n_estimators=cv_result.shape[0])\n\n    # train data\n    alg.fit(train_X,train_y,eval_metric='auc')\n\n    #predict train data\n    train_y_pre = alg.predict(train_X)\n\n    print (\"\\nModel Report\")\n    print (\"Accuracy : %.4g\" % metrics.accuracy_score(train_y, train_y_pre))\n\n    feat_imp = pd.Series(alg.get_booster().get_fscore()).sort_values(ascending=False)\n    feat_imp.plot(kind = 'bar',title='Feature Importance')\n    plt.ylabel('Feature Importance Score')\n    plt.show()\n    return alg\ndef xgboost_change_param(train_X,train_y):\n\n    # Xgboost 调参\n\n    # step1 确定学习速率和迭代次数n_estimators，即集分类器的数量\n    xgb1 = XGBClassifier(learning_rate=0.1,\n                         booster='gbtree',\n                                   n_estimators=300,\n                                   max_depth=4,\n                                   min_child_weight=1,\n                                   gamma=0,\n                                   subsample=0.8,\n                                   colsample_bytree=0.8,\n                                   objective='binary:logistic',\n                                   nthread=2,\n                                   scale_pos_weight=1,\n                                   seed=10\n                                   )\n    #最佳 n_estimators = 59 ，learning_rate=0.1\n    modelfit(xgb1,train_X,train_y,early_stopping_rounds=45)\n\n    # setp2 调试的参数是min_child_weight以及max_depth\n    param_test1 = {\n        'max_depth': range(3,8,1),\n        'min_child_weight':range(1,6,2)\n    }\n    gsearch1 = GridSearchCV(estimator=XGBClassifier(learning_rate=0.1,n_estimators=59,\n                                                    max_depth=4,min_child_weight=1,gamma=0,\n                                                    subsample=0.8,colsample_bytree=0.8,\n                                                    objective='binary:logistic',nthread=2,\n                                                    scale_pos_weight=1,seed=10\n                                                    ),\n                            param_grid=param_test1,\n                            scoring='roc_auc',n_jobs=1,cv=5)\n    gsearch1.fit(train_X,train_y)\n    print gsearch1.best_params_,gsearch1.best_score_\n    # 最佳 max_depth = 7 ，min_child_weight=3\n    # modelfit(gsearch1.best_estimator_) 最佳模型为：gsearch1.best_estimator_\n\n    # step3 gamma参数调优\n    param_test2 = {\n        'gamma': [i/10.0 for i in range(0,5)]\n    }\n    gsearch2 = GridSearchCV(estimator=XGBClassifier(learning_rate=0.1,n_estimators=59,\n                                                    max_depth=7,min_child_weight=3,gamma=0,\n                                                    subsample=0.8,colsample_bytree=0.8,\n                                                    objective='binary:logistic',nthread=2,\n                                                    scale_pos_weight=1,seed=10),\n                            param_grid=param_test2,\n                            scoring='roc_auc',\n                            cv=5\n                            )\n    gsearch2.fit(train_X, train_y)\n    print gsearch2.best_params_, gsearch2.best_score_\n    # 最佳 gamma=0.3\n    # modelfit(gsearch2.best_estimator_)\n\n    #step4 调整subsample 和 colsample_bytree 参数\n    param_test3 = {\n        'subsample': [i / 10.0 for i in range(6, 10)],\n        'colsample_bytree': [i / 10.0 for i in range(6, 10)]\n    }\n    gsearch3 = GridSearchCV(estimator=XGBClassifier(learning_rate=0.1,n_estimators=59,\n                                                    max_depth=7,min_child_weight=3,gamma=0.3,\n                                                    subsample=0.8,colsample_bytree=0.8,\n                                                    objective='binary:logistic',nthread=2,\n                                                    scale_pos_weight=1,seed=10),\n                            param_grid=param_test3,\n                            scoring='roc_auc',\n                            cv=5\n                            )\n    gsearch3.fit(train_X, train_y)\n    print gsearch3.best_params_, gsearch3.best_score_\n    # 最佳'subsample': 0.8, 'colsample_bytree': 0.6\n\n    # step5 正则化参数调优\n\nif __name__ == '__main__':\n    train = pd.read_csv(train_file)\n    test = pd.read_csv(test_file)\n    test_y = pd.read_csv(test_result_file)\n\n    full_data = [train,test]\n\n    # train.apply(axis=0)\n\n    full_data = data_feature_engineering(full_data,age_default_avg=True,one_hot=False)\n    train_X, train_y, test_X = data_feature_select(full_data)\n\n    # XGBoost调参\n    # xgboost_change_param(train_X,train_y)\n\n    xgb1 = XGBClassifier(learning_rate=0.1,n_estimators=59,\n                        max_depth=7,min_child_weight=3,\n                        gamma=0.3,subsample=0.8,\n                        colsample_bytree=0.6,objective='binary:logistic',\n                        nthread=2,scale_pos_weight=1,seed=10)\n    xgb1.fit(train_X,train_y)\n\n    y_test_pre = xgb1.predict(test_X)\n    y_test_true = np.array(test_y['Survived'])\n    print (\"the xgboost model Accuracy : %.4g\" % metrics.accuracy_score(y_pred=y_test_pre, y_true=y_test_true))\n\n"
  },
  {
    "path": "ML/LogisticRegression_MEM/LR_MEM_demo.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/5/16 上午11:44 \n# @Author : ComeOnJian \n# @File : LR_MEM_demo.py \n\nimport numpy as np\nimport pandas as pd\nimport random\nimport re\nimport copy\nfrom collections import defaultdict\nfrom sklearn import metrics\nfrom sklearn.preprocessing import LabelBinarizer\n\ntrain_file = '../data/Titanic/train.csv'\ntest_file = '../data/Titanic/test.csv'\ntest_result_file = '../data/Titanic/gender_submission.csv'\n\ndef data_feature_engineering(full_data,age_default_avg=True,one_hot=True):\n    \"\"\"\n    :param full_data:全部数据集包括train,test\n    :param age_default_avg:age默认填充方式，是否使用平均值进行填充\n    :param one_hot: Embarked字符处理是否是one_hot编码还是映射处理\n    :return: 处理好的数据集\n    \"\"\"\n    for dataset in full_data:\n        # Pclass、Parch、SibSp不需要处理\n\n        # sex 0,1\n        dataset['Sex'] = dataset['Sex'].map(Passenger_sex).astype(int)\n\n        # FamilySize\n        dataset['FamilySize'] = dataset['SibSp'] + dataset['Parch'] + 1\n\n        # IsAlone\n        dataset['IsAlone'] = 0\n        isAlone_mask = dataset['FamilySize'] == 1\n        dataset.loc[isAlone_mask, 'IsAlone'] = 1\n\n        # Fare 离散化处理，6个阶段\n        fare_median = dataset['Fare'].median()\n        dataset['CategoricalFare'] = dataset['Fare'].fillna(fare_median)\n        dataset['CategoricalFare'] = pd.qcut(dataset['CategoricalFare'],6,labels=[0,1,2,3,4,5])\n\n        # Embarked映射处理，one-hot编码,极少部分缺失值处理\n        dataset['Embarked'] = dataset['Embarked'].fillna('S')\n        dataset['Embarked'] = dataset['Embarked'].astype(str)\n        if one_hot:\n            # 因为OneHotEncoder只能编码数值型，所以此处使用LabelBinarizer进行独热编码\n            Embarked_arr = LabelBinarizer().fit_transform(dataset['Embarked'])\n            dataset['Embarked_0'] = Embarked_arr[:, 0]\n            dataset['Embarked_1'] = Embarked_arr[:, 1]\n            dataset['Embarked_2'] = Embarked_arr[:, 2]\n            dataset.drop('Embarked',axis=1,inplace=True)\n        else:\n            # 字符串映射处理\n            dataset['Embarked'] = dataset['Embarked'].map(Passenger_Embarked).astype(int)\n\n        # Name选取称呼Title_name\n        dataset['TitleName'] = dataset['Name'].apply(get_title_name)\n        dataset['TitleName'] = dataset['TitleName'].replace('Mme', 'Mrs')\n        dataset['TitleName'] = dataset['TitleName'].replace('Mlle', 'Miss')\n        dataset['TitleName'] = dataset['TitleName'].replace('Ms', 'Miss')\n        dataset['TitleName'] = dataset['TitleName'].replace(['Lady', 'Countess', 'Capt', 'Col', \\\n                                                             'Don', 'Dr', 'Major', 'Rev', 'Sir', 'Jonkheer', 'Dona'],\n                                                            'Other')\n        dataset['TitleName'] = dataset['TitleName'].map(Passenger_TitleName).astype(int)\n\n        # age —— 缺失值，分段处理\n        if age_default_avg:\n            # 缺失值使用avg处理\n            age_avg = dataset['Age'].mean()\n            age_std = dataset['Age'].std()\n            age_null_count = dataset['Age'].isnull().sum()\n            age_default_list = np.random.randint(low=age_avg - age_std, high=age_avg + age_std, size=age_null_count)\n\n            dataset.loc[np.isnan(dataset['Age']), 'Age'] = age_default_list\n            dataset['Age'] = dataset['Age'].astype(int)\n        else:\n            # 将age作为label，预测缺失的age\n            # 特征为 TitleName,Sex,pclass,SibSP,Parch,IsAlone,CategoricalFare,FamileSize,Embarked\n            feature_list = ['TitleName', 'Sex', 'Pclass', 'SibSp', 'Parch', 'IsAlone','CategoricalFare',\n                            'FamilySize', 'Embarked','Age']\n            if one_hot:\n                feature_list.append('Embarked_0')\n                feature_list.append('Embarked_1')\n                feature_list.append('Embarked_2')\n                feature_list.remove('Embarked')\n            Age_data = dataset.loc[:,feature_list]\n\n            un_Age_mask = np.isnan(Age_data['Age'])\n            Age_train = Age_data[~un_Age_mask] #要训练的Age\n\n            # print(Age_train.shape)\n            feature_list.remove('Age')\n            rf0 = RandomForestRegressor(n_estimators=60,oob_score=True,min_samples_split=10,min_samples_leaf=2,\n                                                                   max_depth=7,random_state=10)\n\n            rf0.fit(Age_train[feature_list],Age_train['Age'])\n\n            def set_default_age(age):\n                if np.isnan(age['Age']):\n                    # print(age['PassengerId'])\n                    # print age.loc[feature_list]\n                    data_x = np.array(age.loc[feature_list]).reshape(1,-1)\n                    # print data_x\n                    age_v = round(rf0.predict(data_x))\n                    # print('pred:',age_v)\n                    # age['Age'] = age_v\n                    return age_v\n                    # print age\n                return age['Age']\n\n            dataset['Age'] = dataset.apply(set_default_age, axis=1)\n            # print(dataset.tail())\n            #\n            # data_age_no_full = dataset[dataset['Age'].]\n\n        # pd.cut与pd.qcut的区别，前者是根据取值范围来均匀划分，\n        # 后者是根据取值范围的各个取值的频率来换分，划分后的某个区间的频率数相同\n        # print(dataset.tail())\n        dataset['CategoricalAge'] = pd.cut(dataset['Age'], 5,labels=[0,1,2,3,4])\n    return full_data\ndef data_feature_select(full_data):\n    \"\"\"\n    :param full_data:全部数据集\n    :return:\n    \"\"\"\n    for data_set in full_data:\n        drop_list = ['PassengerId','Name','Age','Fare','Ticket','Cabin']\n        data_set.drop(drop_list,axis=1,inplace=True)\n    train_y = np.array(full_data[0]['Survived'])\n    train = full_data[0].drop('Survived',axis=1,inplace=False)\n    # print(train.head())\n    train_X = np.array(train)\n    test_X = np.array(full_data[1])\n    return train_X,train_y,test_X\ndef Passenger_sex(x):\n    sex = {'female': 0, 'male': 1}\n    return sex[x]\ndef Passenger_Embarked(x):\n    Embarked = {'S': 0, 'C': 1 , 'Q': 2}\n    return Embarked[x]\ndef Passenger_TitleName(x):\n    TitleName = {'Mr': 0, 'Miss': 1, 'Mrs': 2,'Master': 3, 'Other': 4}\n    return TitleName[x]\ndef get_title_name(name):\n    title_s = re.search(' ([A-Za-z]+)\\.', name)\n    if title_s:\n        return title_s.group(1)\n    return \"\"\n\nclass LR:\n    def __init__(self,iterNum = 2000,learn_late = 0.005):\n        self.maxIter = iterNum\n        self.learn_late = learn_late\n\n    def train(self,train_X,train_y):\n        feature_size = train_X.shape[1]\n        sample_size = train_X.shape[0]\n        # 将w,b 融合了\n        self.w = np.zeros(feature_size + 1)\n\n\n\n        correct_num = 0\n        #梯度下降算法\n        for iter in range(self.maxIter):\n            # 随机选取一个样本\n            sample_index = random.randint(0,sample_size-1)\n            sample_select = train_X[sample_index].tolist()\n            sample_select.append(1.0)\n            sample_y = train_y[sample_index]\n\n            if sample_y == self.predict(sample_select):\n                # 连续预测对一定的数量\n                correct_num = correct_num + 1\n                if correct_num > self.maxIter:\n                    break\n                continue\n            correct_num = 0\n            temp = np.exp(sum(self.w * sample_select))\n\n            for index in range(feature_size):\n                self.w[index] = self.w[index] - self.learn_late * \\\n                                (- sample_y * sample_select[index] + float(temp * sample_select[index])/float(1 + temp))\n\n    def predict(self,sample):\n        # 《统计学习方法》公式6.3、6.4\n        tmp = sum(self.w * sample)\n        y_0 = 1 / float(1+np.exp(tmp))\n        y_1 = np.exp(tmp) / float(1+np.exp(tmp))\n        if y_0 > y_1:\n            return 0\n        else:\n            return 1\n\nclass MEM:\n    # 算法模型为：《统计学习方法》公式6.28&6.29\n\n    def __init__(self,iterNum = 2000,epsion = 0.01):\n        self.epsion = epsion # 精度阈值\n        self.maxIter = iterNum\n\n    def train(self,train_X,train_y):\n        # 使用《统计学习方法》P92算法6.2——BFGS，求解参数\n        self.feature_size = train_X.shape[1]\n        self.sample_num = train_X.shape[0]\n\n        self.samples = train_X\n        self.labels = train_y\n\n        # 统计数据集中的特征函数个数\n        self._cal_feature_func()\n        self._f2id()\n        self.n = len(self.P_x_y) # n为特征函数的个数\n        # 计算每个特征函数关于经验分布p(x,y)的期望，并保持于EPxy字典中\n        self._cal_EPxy()\n\n        self.w = np.zeros(self.n) #wi为拉格函数中的乘子\n        self.g = np.zeros(self.n) #对应g(w),《统计学习方法》P92,最上面g(w)的公式\n\n        self.B = np.eye(self.n) #正定对称矩阵\n\n        for iter in range(self.maxIter):\n\n            # 算法6.2——(2）\n            self._cal_Gw()\n            if self._cal_g_l2() < self.epsion:\n                break\n            # 算法6.2——(3）\n            p_k = - (self.B ** -1) * np.reshape(self.g,(self.n,1))\n\n            # np.linalg.solve()\n            # 算法6.2——(4）\n            r_k = self._liear_search(p_k)\n\n            # 算法6.2——(5）\n            old_g = copy.deepcopy(self.g)\n            old_w = copy.deepcopy(self.w)\n\n            self.w = self.w + r_k * p_k\n            # 算法6.2——(6）\n            self._cal_Gw()\n            if self._cal_g_l2() < self.epsion:\n                break\n            y_k = self.g - old_g\n            fai_k = self.w - old_w\n\n            y_k = np.reshape(y_k,(self.n,1))\n            fai_k = np.reshape(fai_k,(self.n,1))\n\n            temp1 = np.dot(y_k,y_k.T) / float((np.dot(y_k.T,fai_k).reshape(1)[0]))\n            temp2 = np.dot(np.dot(np.dot(self.B,fai_k),fai_k.T),self.B) / float(np.dot(np.dot(fai_k.T,self.B),fai_k).reshape(1)[0])\n            self.B =self.B + temp1 - temp2\n\n\n    def change_sample_feature_name(self,samples):\n        new_samples = []\n        for sample in samples:\n            new_sample = []\n            for feature_index,feature_v in enumerate(sample):\n                new_feature_v = 'x' + str(feature_index) + '_' + str(feature_v)\n                new_sample.append(new_feature_v)\n            new_samples.append(np.array(new_sample))\n        return np.array(new_samples)\n\n    def _cal_Pxy_Px(self):\n        # 从数据集中计算特征函数，f(x,y),有该样本就为1，没有则为0,x为样本X的某一个特征的取值\n        self.P_x_y = defaultdict(int) # 其中P_x_y的键的个数则为特征函数的个数。\n        self.P_x = defaultdict(int)\n\n        for index in range(self.sample_num):\n            # 取出样本值\n            sample = self.samples[index]\n            label = self.labels[index]\n\n            for feature_index in range(self.feature_size):\n                x = sample[feature_index]\n                y = label\n                self.P_x_y[(x,y)] = self.P_x_y[(x,y)] + 1\n                self.P_x[x]  = self.P_x[x] + 1\n\n    def _cal_EPxy(self):\n        #计算特征函数f关于经验分布的P(x,y)的期望值\n        self.EPxy = defaultdict(int) # 记录每个特征函数关于经验分布的P(x,y)的期望值\n        #遍历特征函数，求出期望值\n        for index in range(self.n):\n            (x,y) = self.id2f[index]\n            self.EPxy[index] = float(self.P_x_y[(x,y)]) / float(self.sample_num)\n\n    def _f2id(self):\n        #将index与特征函数对应起来\n        self.id2f = {}\n        self.f2id = {}\n        for index,(x,y) in enumerate(self.P_x_y):\n            self.id2f[index] = (x,y)\n            self.f2id[(x,y)] = index\n\n    def _cal_Pw(self,X,y):\n        #《统计学习方法》公式6.28,计算Pw(y|x)，此处y只取0或1\n        res = 0.\n        for feature_v in X:\n            if self.f2id.has_key((feature_v,y)):\n                index = self.f2id[(feature_v,y)]\n                res = res + (self.w[index] * 1)\n\n        if y == 0:\n            y = 1\n        else:\n            y = 0\n\n        res_y = 0.\n        for feature_v in X:\n            if self.f2id.has_key((feature_v,y)):\n                index = self.f2id[(feature_v,y)]\n                res_y = res_y + (self.w[index] * 1)\n        return float(res) / float(res + res_y)\n\n    def _cal_Gw(self):\n\n        # 计算f(w)对w_i的偏导数，《统计学习方法》P92,最上面g(w)的公式\n        for index in range(self.n):\n            res = 0.\n            (x,y) = self.id2f[index]\n            feature_index = int(x[1])\n            # 累加\n            for sample_index in range(self.sample_num):\n                sample = self.samples[index]\n                label = self.labels[index]\n\n                if label != y:\n                    continue\n                if sample[feature_index] != x:\n                    continue\n\n                p_w = self._cal_Pw(sample, y)\n                num = 0\n                for feature_v in sample:\n                    num = self.P_x[feature_v] + num\n                #《统计学习方法》P82,计算P(X=x)公式\n                p_x = float(num) / float(self.sample_num)\n                res = res + p_w * p_x * 1 # 1为f_i特征函数的值\n\n            self.g[index] = res - self.EPxy[index]\n\n    def _cal_g_l2(self):\n        res = sum(self.g * self.g) ** 0.5\n        return res\n\n    def _liear_search(self,p_k):\n        # 一维搜索，求r_k,使得f(w_k + r_k * p_k)极小\n        # new_w = self.w + r_k * p_k\n        # r_k = argmin f(w_k + r_k * p_k)\n        pass\n\n\n    # def _cal_fw(self):\n    #     # 《统计学习方法》P91,f(w)计算公式\n    #     res\n    #     for index in range(self.n):\n    #         (x,y) = self.id2f(index)\n\n\nif __name__ == '__main__':\n    train = pd.read_csv(train_file)\n    test = pd.read_csv(test_file)\n    test_y = pd.read_csv(test_result_file)\n    full_data = [train, test]\n\n    # train.apply(axis=0)\n\n    full_data = data_feature_engineering(full_data, age_default_avg=True, one_hot=False)\n    train_X, train_y, test_X = data_feature_select(full_data)\n\n    # lr = LR(iterNum=2000,learn_late=0.001)\n    #\n    # lr.train(train_X, train_y)\n    #\n    # results = []\n    # for test_sample in test_X:\n    #     sample = list(test_sample)\n    #     sample.append(1.0)\n    #     result = lr.predict(sample)\n    #     results.append(result)\n    #\n    # y_test_true = np.array(test_y['Survived'])\n    # print(\"the LR model Accuracy : %.4g\" % metrics.accuracy_score(y_pred=results, y_true=y_test_true))\n\n    mem = MEM()\n    # 对于包含多特征属性的样本需要重新给每个属性值定义，用于区分f(x,y)中的x\n    print(train_X[0:5])\n    print('==============')\n    print (mem.change_sample_feature_name(train_X[0:5]))\n    # mem.train(train_X,train_y)"
  },
  {
    "path": "ML/Perce_SVM/SVM.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/5/10 下午5:14 \n# @Author : ComeOnJian \n# @File : SVM.py\n\n# 参考 SVM https://blog.csdn.net/sinat_33829806/article/details/78388025\n\n\nimport math\nimport numpy as np\nimport random\nimport copy\nimport re\nfrom sklearn import metrics\nimport pandas as pd\nfrom sklearn.preprocessing import LabelBinarizer\nfrom sklearn import svm\n\ntrain_file = '../data/Titanic/train.csv'\ntest_file = '../data/Titanic/test.csv'\ntest_result_file = '../data/Titanic/gender_submission.csv'\n\ndef data_feature_engineering(full_data,age_default_avg=True,one_hot=True):\n    \"\"\"\n    :param full_data:全部数据集包括train,test\n    :param age_default_avg:age默认填充方式，是否使用平均值进行填充\n    :param one_hot: Embarked字符处理是否是one_hot编码还是映射处理\n    :return: 处理好的数据集\n    \"\"\"\n    for dataset in full_data:\n        # Pclass、Parch、SibSp不需要处理\n\n        # sex 0,1\n        dataset['Sex'] = dataset['Sex'].map(Passenger_sex).astype(int)\n\n        # FamilySize\n        dataset['FamilySize'] = dataset['SibSp'] + dataset['Parch'] + 1\n\n        # IsAlone\n        dataset['IsAlone'] = 0\n        isAlone_mask = dataset['FamilySize'] == 1\n        dataset.loc[isAlone_mask, 'IsAlone'] = 1\n\n        # Fare 离散化处理，6个阶段\n        fare_median = dataset['Fare'].median()\n        dataset['CategoricalFare'] = dataset['Fare'].fillna(fare_median)\n        dataset['CategoricalFare'] = pd.qcut(dataset['CategoricalFare'],6,labels=[0,1,2,3,4,5])\n\n        # Embarked映射处理，one-hot编码,极少部分缺失值处理\n        dataset['Embarked'] = dataset['Embarked'].fillna('S')\n        dataset['Embarked'] = dataset['Embarked'].astype(str)\n        if one_hot:\n            # 因为OneHotEncoder只能编码数值型，所以此处使用LabelBinarizer进行独热编码\n            Embarked_arr = LabelBinarizer().fit_transform(dataset['Embarked'])\n            dataset['Embarked_0'] = Embarked_arr[:, 0]\n            dataset['Embarked_1'] = Embarked_arr[:, 1]\n            dataset['Embarked_2'] = Embarked_arr[:, 2]\n            dataset.drop('Embarked',axis=1,inplace=True)\n        else:\n            # 字符串映射处理\n            dataset['Embarked'] = dataset['Embarked'].map(Passenger_Embarked).astype(int)\n\n        # Name选取称呼Title_name\n        dataset['TitleName'] = dataset['Name'].apply(get_title_name)\n        dataset['TitleName'] = dataset['TitleName'].replace('Mme', 'Mrs')\n        dataset['TitleName'] = dataset['TitleName'].replace('Mlle', 'Miss')\n        dataset['TitleName'] = dataset['TitleName'].replace('Ms', 'Miss')\n        dataset['TitleName'] = dataset['TitleName'].replace(['Lady', 'Countess', 'Capt', 'Col', \\\n                                                             'Don', 'Dr', 'Major', 'Rev', 'Sir', 'Jonkheer', 'Dona'],\n                                                            'Other')\n        dataset['TitleName'] = dataset['TitleName'].map(Passenger_TitleName).astype(int)\n\n        # age —— 缺失值，分段处理\n        if age_default_avg:\n            # 缺失值使用avg处理\n            age_avg = dataset['Age'].mean()\n            age_std = dataset['Age'].std()\n            age_null_count = dataset['Age'].isnull().sum()\n            age_default_list = np.random.randint(low=age_avg - age_std, high=age_avg + age_std, size=age_null_count)\n\n            dataset.loc[np.isnan(dataset['Age']), 'Age'] = age_default_list\n            dataset['Age'] = dataset['Age'].astype(int)\n        else:\n            # 将age作为label，预测缺失的age\n            # 特征为 TitleName,Sex,pclass,SibSP,Parch,IsAlone,CategoricalFare,FamileSize,Embarked\n            feature_list = ['TitleName', 'Sex', 'Pclass', 'SibSp', 'Parch', 'IsAlone','CategoricalFare',\n                            'FamilySize', 'Embarked','Age']\n            if one_hot:\n                feature_list.append('Embarked_0')\n                feature_list.append('Embarked_1')\n                feature_list.append('Embarked_2')\n                feature_list.remove('Embarked')\n            Age_data = dataset.loc[:,feature_list]\n\n            un_Age_mask = np.isnan(Age_data['Age'])\n            Age_train = Age_data[~un_Age_mask] #要训练的Age\n\n            # print(Age_train.shape)\n            feature_list.remove('Age')\n            rf0 = RandomForestRegressor(n_estimators=60,oob_score=True,min_samples_split=10,min_samples_leaf=2,\n                                                                   max_depth=7,random_state=10)\n\n            rf0.fit(Age_train[feature_list],Age_train['Age'])\n\n            def set_default_age(age):\n                if np.isnan(age['Age']):\n                    # print(age['PassengerId'])\n                    # print age.loc[feature_list]\n                    data_x = np.array(age.loc[feature_list]).reshape(1,-1)\n                    # print data_x\n                    age_v = round(rf0.predict(data_x))\n                    # print('pred:',age_v)\n                    # age['Age'] = age_v\n                    return age_v\n                    # print age\n                return age['Age']\n\n            dataset['Age'] = dataset.apply(set_default_age, axis=1)\n            # print(dataset.tail())\n            #\n            # data_age_no_full = dataset[dataset['Age'].]\n\n        # pd.cut与pd.qcut的区别，前者是根据取值范围来均匀划分，\n        # 后者是根据取值范围的各个取值的频率来换分，划分后的某个区间的频率数相同\n        # print(dataset.tail())\n        dataset['CategoricalAge'] = pd.cut(dataset['Age'], 5,labels=[0,1,2,3,4])\n    return full_data\ndef data_feature_select(full_data):\n    \"\"\"\n    :param full_data:全部数据集\n    :return:\n    \"\"\"\n    for data_set in full_data:\n        drop_list = ['PassengerId','Name','Age','Fare','Ticket','Cabin']\n        data_set.drop(drop_list,axis=1,inplace=True)\n    train_y = np.array(full_data[0]['Survived'])\n    train = full_data[0].drop('Survived',axis=1,inplace=False)\n    # print(train.head())\n    train_X = np.array(train)\n    test_X = np.array(full_data[1])\n    return train_X,train_y,test_X\ndef Passenger_sex(x):\n    sex = {'female': 0, 'male': 1}\n    return sex[x]\ndef Passenger_Embarked(x):\n    Embarked = {'S': 0, 'C': 1 , 'Q': 2}\n    return Embarked[x]\ndef Passenger_TitleName(x):\n    TitleName = {'Mr': 0, 'Miss': 1, 'Mrs': 2,'Master': 3, 'Other': 4}\n    return TitleName[x]\ndef Passenger_Survived(x):\n    Survived = {0: -1, 1: 1}\n    return Survived[x]\ndef get_title_name(name):\n    title_s = re.search(' ([A-Za-z]+)\\.', name)\n    if title_s:\n        return title_s.group(1)\n    return \"\"\n\nclass SVM():\n    def __init__(self,kernal,maxIter,C,epsilon,sigma = 0.001):\n        \"\"\"\n        :param kernal:核函数\n        :param maxIter:最大迭代次数\n        :param C:松弛变量前的惩罚系数\n        :param epseion:\n        \"\"\"\n        self.kernal = kernal\n        self.C = C\n        self.maxIter = maxIter\n        self.epsilon = epsilon\n        self.sigma = sigma #高斯核函数的sigma值\n\n\n    def train(self,train_X,train_y):\n\n        self.sample_num = train_X.shape[0]\n        self.feature_num = train_X.shape[1]\n\n        self.labels =train_y\n        self.samples = train_X\n\n        # 算法的模型为 《统计学习方法》——公式7.104，主要包括a,b,核函数\n        self.a = np.zeros(self.sample_num)#[0 for a_i in range(self.sample_num)]\n        self.b = 0\n\n        self.eCache = np.zeros(shape=(self.sample_num,2))# 存储差值\n        self._smo()\n\n        # self._update()\n\n    def predict(self,test_x):\n        # 《统计学习方法》——公式7.104，计算预测值\n        pre_v = 0\n        for index in range(self.sample_num):\n            pre_v = pre_v + self.a[index] * self.labels[index] * self._kernel(test_x,self.samples[index])\n        pre_v = pre_v + self.b\n        return np.sign(pre_v)\n\n    def _smo(self):\n        pre_a = copy.deepcopy(self.a)  # 复制，pre_a是old的a数组\n        for iter in range(self.maxIter):\n            flag = 1\n            for index in range(self.sample_num):\n                diff = 0\n                # self._update()\n                E_i = self._calE(self.samples[index],self.labels[index])\n                j,E_j = self._chooseJ(index,E_i)\n\n                # 计算L H\n                (L,H) = self._calLH(pre_a,j,index)\n\n                # 《统计学习方法》——公式7.107，n = K11 + K22 - 2 * K12\n                n = self._kernel(self.samples[index],self.samples[index]) \\\n                        + self._kernel(self.samples[j],self.samples[j])\\\n                        - 2 * self._kernel(self.samples[index],self.samples[j])\n                if (n == 0):\n                    continue\n                # 《统计学习方法》——公式7.106，计算未剪切的a_j极值\n                self.a[j] = pre_a[j] + float(self.labels[j] * (E_i - E_j))/n\n                # 《统计学习方法》——公式7.108，计算剪切的a_j极值\n                if self.a[j] > H:\n                    self.a[j] = H\n                elif self.a[j] < L:\n                    self.a[j] = L\n                # 《统计学习方法》——公式7.109，更新a[i]\n                self.a[index] = pre_a[index] + self.labels[index] * self.labels[j] * (pre_a[j] - self.a[j])\n\n                # 更新b,《统计学习方法》——公式7.114到7.116，更新a[i]\n                b1 = self.b - E_i \\\n                     - self.labels[index] * self._kernel(self.samples[index],self.samples[index]) * (self.a[index] - pre_a[index]) \\\n                     - self.labels[j] * self._kernel(self.samples[j],self.samples[index]) * (self.a[j] - pre_a[j])\n                b2 = self.b - E_j \\\n                     - self.labels[index] * self._kernel(self.samples[index], self.samples[j]) * (\n                             self.a[index] - pre_a[index]) \\\n                     - self.labels[j] * self._kernel(self.samples[j], self.samples[j]) * (self.a[j] - pre_a[j])\n                if (0 < self.a[index]< self.C):\n                    self.b = b1\n                elif (0 < self.a[j]< self.C):\n                    self.b = b2\n                else:\n                    self.b = (b1 + b2)/2.0\n\n                # 更新E_i,E_j统计学习方法》——公式7.117，\n                self.eCache[j] = [1,self._calE(self.samples[j],self.labels[j])]\n                self.eCache[index] = [1,self._calE(self.samples[index],self.labels[index])]\n\n                diff = sum([abs(pre_a[m] - self.a[m]) for m in range(len(self.a))])\n                if diff < self.epsilon:\n                    # 满足精度条件\n                    flag = 0\n                pre_a = copy.deepcopy(self.a)\n\n                if flag == 0:\n                    break\n\n    def _calE(self,sample,y):\n        # 计算E_i,输入X_i与真实值之间的误差，《统计学习方法》——公式7.105\n        pre_v = self.predict(sample)\n        return pre_v - y\n\n    def _calLH(self,a,j,i):\n        #《统计学习方法》——p126页\n        if(self.labels[j] != self.labels[i]):\n            return (max(0,a[j]-a[i]),min(self.C,self.C+a[j]-a[i]))\n        else:\n            return (max(0, a[j] + a[i] - self.C), min(self.C, a[j] + a[i]))\n\n\n    def _kernel(self,X_i,X_j):\n        \"\"\"\n        :param X_i:\n        :param X_j:\n        :return: 核函数K(X_i,X_j)计算结果\n        \"\"\"\n        result = 0.\n        # 高斯内核\n        if self.kernal == 'Gauss':\n            temp = -sum((X_i - X_j)**2)/(2 * self.sigma**2)\n            result = math.exp(temp)\n        # 线性内核\n        elif self.kernal == 'line':\n            result = sum(X_i * X_j)\n\n        return result\n\n    def _chooseJ(self,i,E_i):\n        # 选择变量\n        self.eCache[i] = [1,E_i]\n        choose_list = []\n        # 查找之前计算的可选择的的E_i\n        for cache_index in range(len(self.eCache)):\n            if self.eCache[cache_index][0] != 0 and cache_index != i:\n                choose_list.append(cache_index)\n        if len(choose_list)>1:\n            E_k =0\n            delta_E = 0\n            max_E = 0\n            j = 0 # 要选择的J\n            E_j = 0# 及其对应的E\n            for choose_index in choose_list:\n                E_k = self._calE(self.samples[choose_index],self.labels[choose_index])\n                delta_E = abs(E_k-E_i)\n                if delta_E > max_E:\n                    max_E = delta_E\n                    j = choose_index\n                    E_j = E_k\n            return j,E_j\n        # 初始状态，没有已经计算好的E\n        else:\n            j = self._randJ(i)\n            E_j = self._calE(self.samples[j],self.labels[j])\n            return j , E_j\n\n    def _randJ(self,i):\n        j = i\n        while(j == i):\n            j = random.randint(0,self.sample_num-1)\n        return j\n\nif __name__ == '__main__':\n    train = pd.read_csv(train_file)\n    test = pd.read_csv(test_file)\n    test_y = pd.read_csv(test_result_file)\n    train['Survived'] = train['Survived'].map(Passenger_Survived).astype(int)\n    full_data = [train, test]\n\n    full_data = data_feature_engineering(full_data, age_default_avg=True, one_hot=False)\n    train_X, train_y, test_X = data_feature_select(full_data)\n\n    svm1 = SVM('line',1000,0.05,0.001)\n    svm1.train(train_X, train_y)\n    results = []\n    for test_sample in test_X:\n        y = svm1.predict(test_sample)\n        results.append(y)\n\n    y_test_true = np.array(test_y['Survived'])\n    print(\"the svm model Accuracy : %.4g\" % metrics.accuracy_score(y_pred=results, y_true=y_test_true))\n\n    # svm_s = svm.SVC(C=1,kernel='linear')\n    # svm_s.fit(train_X, train_y)\n    # pre_y = svm_s.predict(test_X)\n    # y_test_true = np.array(test_y['Survived'])\n    # print(\"the svm model Accuracy : %.4g\" % metrics.accuracy_score(y_pred=pre_y, y_true=y_test_true))"
  },
  {
    "path": "ML/Perce_SVM/perceptron.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/5/6 下午3:55 \n# @Author : ComeOnJian \n# @File : perceptron.py \n\nimport numpy as np\nimport pandas as pd\nimport random\nimport re\nfrom sklearn import metrics\n################特征工程部分###############\ntrain_file = '../data/Titanic/train.csv'\ntest_file = '../data/Titanic/test.csv'\ntest_result_file = '../data/Titanic/gender_submission.csv'\n\ndef data_feature_engineering(full_data,age_default_avg=True,one_hot=True):\n    \"\"\"\n    :param full_data:全部数据集包括train,test\n    :param age_default_avg:age默认填充方式，是否使用平均值进行填充\n    :param one_hot: Embarked字符处理是否是one_hot编码还是映射处理\n    :return: 处理好的数据集\n    \"\"\"\n    for dataset in full_data:\n        # Pclass、Parch、SibSp不需要处理\n\n        # sex 0,1\n        dataset['Sex'] = dataset['Sex'].map(Passenger_sex).astype(int)\n\n        # FamilySize\n        dataset['FamilySize'] = dataset['SibSp'] + dataset['Parch'] + 1\n\n        # IsAlone\n        dataset['IsAlone'] = 0\n        isAlone_mask = dataset['FamilySize'] == 1\n        dataset.loc[isAlone_mask, 'IsAlone'] = 1\n\n        # Fare 离散化处理，6个阶段\n        fare_median = dataset['Fare'].median()\n        dataset['CategoricalFare'] = dataset['Fare'].fillna(fare_median)\n        dataset['CategoricalFare'] = pd.qcut(dataset['CategoricalFare'],6,labels=[0,1,2,3,4,5])\n\n        # Embarked映射处理，one-hot编码,极少部分缺失值处理\n        dataset['Embarked'] = dataset['Embarked'].fillna('S')\n        dataset['Embarked'] = dataset['Embarked'].astype(str)\n        if one_hot:\n            # 因为OneHotEncoder只能编码数值型，所以此处使用LabelBinarizer进行独热编码\n            Embarked_arr = LabelBinarizer().fit_transform(dataset['Embarked'])\n            dataset['Embarked_0'] = Embarked_arr[:, 0]\n            dataset['Embarked_1'] = Embarked_arr[:, 1]\n            dataset['Embarked_2'] = Embarked_arr[:, 2]\n            dataset.drop('Embarked',axis=1,inplace=True)\n        else:\n            # 字符串映射处理\n            dataset['Embarked'] = dataset['Embarked'].map(Passenger_Embarked).astype(int)\n\n        # Name选取称呼Title_name\n        dataset['TitleName'] = dataset['Name'].apply(get_title_name)\n        dataset['TitleName'] = dataset['TitleName'].replace('Mme', 'Mrs')\n        dataset['TitleName'] = dataset['TitleName'].replace('Mlle', 'Miss')\n        dataset['TitleName'] = dataset['TitleName'].replace('Ms', 'Miss')\n        dataset['TitleName'] = dataset['TitleName'].replace(['Lady', 'Countess', 'Capt', 'Col', \\\n                                                             'Don', 'Dr', 'Major', 'Rev', 'Sir', 'Jonkheer', 'Dona'],\n                                                            'Other')\n        dataset['TitleName'] = dataset['TitleName'].map(Passenger_TitleName).astype(int)\n\n        # age —— 缺失值，分段处理\n        if age_default_avg:\n            # 缺失值使用avg处理\n            age_avg = dataset['Age'].mean()\n            age_std = dataset['Age'].std()\n            age_null_count = dataset['Age'].isnull().sum()\n            age_default_list = np.random.randint(low=age_avg - age_std, high=age_avg + age_std, size=age_null_count)\n\n            dataset.loc[np.isnan(dataset['Age']), 'Age'] = age_default_list\n            dataset['Age'] = dataset['Age'].astype(int)\n        else:\n            # 将age作为label，预测缺失的age\n            # 特征为 TitleName,Sex,pclass,SibSP,Parch,IsAlone,CategoricalFare,FamileSize,Embarked\n            feature_list = ['TitleName', 'Sex', 'Pclass', 'SibSp', 'Parch', 'IsAlone','CategoricalFare',\n                            'FamilySize', 'Embarked','Age']\n            if one_hot:\n                feature_list.append('Embarked_0')\n                feature_list.append('Embarked_1')\n                feature_list.append('Embarked_2')\n                feature_list.remove('Embarked')\n            Age_data = dataset.loc[:,feature_list]\n\n            un_Age_mask = np.isnan(Age_data['Age'])\n            Age_train = Age_data[~un_Age_mask] #要训练的Age\n\n            # print(Age_train.shape)\n            feature_list.remove('Age')\n            rf0 = RandomForestRegressor(n_estimators=60,oob_score=True,min_samples_split=10,min_samples_leaf=2,\n                                                                   max_depth=7,random_state=10)\n\n            rf0.fit(Age_train[feature_list],Age_train['Age'])\n\n            def set_default_age(age):\n                if np.isnan(age['Age']):\n                    # print(age['PassengerId'])\n                    # print age.loc[feature_list]\n                    data_x = np.array(age.loc[feature_list]).reshape(1,-1)\n                    # print data_x\n                    age_v = round(rf0.predict(data_x))\n                    # print('pred:',age_v)\n                    # age['Age'] = age_v\n                    return age_v\n                    # print age\n                return age['Age']\n\n            dataset['Age'] = dataset.apply(set_default_age, axis=1)\n            # print(dataset.tail())\n            #\n            # data_age_no_full = dataset[dataset['Age'].]\n\n        # pd.cut与pd.qcut的区别，前者是根据取值范围来均匀划分，\n        # 后者是根据取值范围的各个取值的频率来换分，划分后的某个区间的频率数相同\n        # print(dataset.tail())\n        dataset['CategoricalAge'] = pd.cut(dataset['Age'], 5,labels=[0,1,2,3,4])\n    return full_data\ndef data_feature_select(full_data):\n    \"\"\"\n    :param full_data:全部数据集\n    :return:\n    \"\"\"\n    for data_set in full_data:\n        drop_list = ['PassengerId','Name','Age','Fare','Ticket','Cabin']\n        data_set.drop(drop_list,axis=1,inplace=True)\n    train_y = np.array(full_data[0]['Survived'])\n    train = full_data[0].drop('Survived',axis=1,inplace=False)\n    # print(train.head())\n    train_X = np.array(train)\n    test_X = np.array(full_data[1])\n    return train_X,train_y,test_X\ndef Passenger_sex(x):\n    sex = {'female': 0, 'male': 1}\n    return sex[x]\ndef Passenger_Embarked(x):\n    Embarked = {'S': 0, 'C': 1 , 'Q': 2}\n    return Embarked[x]\ndef Passenger_TitleName(x):\n    TitleName = {'Mr': 0, 'Miss': 1, 'Mrs': 2,'Master': 3, 'Other': 4}\n    return TitleName[x]\ndef get_title_name(name):\n    title_s = re.search(' ([A-Za-z]+)\\.', name)\n    if title_s:\n        return title_s.group(1)\n    return \"\"\nclass Perceptron:\n    def __init__(self,alpha = 0.01,updata_count_total = 3000,nochange_count_limit = 600):\n        \"\"\"\n        :param alpha:梯度下降的学习参数\n        :param updata_count: 梯度下降的参数更新限制次数\n        :param nochange_count_limit:随机选择的样本连续分类正确的数\n        \"\"\"\n        self.alpha = alpha\n        self.updata_count_total = updata_count_total\n        self.nochange_count_limit = nochange_count_limit\n\n    def train(self,train_X,train_y):\n\n        feature_size = train_X.shape[1]\n        sample_size = train_X.shape[0]\n        # 初始化w,b参数\n        self.w = np.zeros((feature_size,1))\n        self.b = 0\n\n        update_count = 0\n        correct_count = 0\n        while True:\n            if correct_count > self.nochange_count_limit:\n                break\n            # 随机选取一个误分类点\n            sample_select_index = random.randint(0,sample_size-1)\n            sample = train_X[[sample_select_index]]\n            sample_y = train_y[sample_select_index]\n\n            # 将labe分类为0，1转换为-1，1，其中0对应-1，1对应着1\n            y_i = -1\n            if sample_y == 1:\n                y_i = 1\n            # 计算该样本的distance距离yi(xi*w)+b\n            distance = - (np.dot(sample,self.w)[0][0] + self.b) * y_i\n\n            if distance >= 0:\n                # 挑选出误分类点，更新w,b\n                correct_count = 0;\n                sample = np.reshape(sample,(feature_size,1))\n                add_w = self.alpha * y_i * sample\n                self.w = self.w + add_w\n                self.b += (self.alpha * y_i)\n\n                update_count += 1\n                if update_count > self.updata_count_total:\n                    break;\n            else:\n                correct_count = correct_count + 1\n\n    def predict(self,sample_x):\n        result = np.dot(sample_x,self.w) + self.b\n        return int(result > 0)\n\nif __name__ == '__main__':\n    train = pd.read_csv(train_file)\n    test = pd.read_csv(test_file)\n    test_y = pd.read_csv(test_result_file)\n    full_data = [train, test]\n\n    # train.apply(axis=0)\n\n    full_data = data_feature_engineering(full_data, age_default_avg=True, one_hot=False)\n    train_X, train_y, test_X = data_feature_select(full_data)\n\n    perce = Perceptron(alpha=0.01,updata_count_total = 3000)\n    perce.train(train_X,train_y)\n    results = []\n    for test_sample in test_X:\n        result = perce.predict(test_sample)\n        results.append(result)\n\n    y_test_true = np.array(test_y['Survived'])\n    print (\"the Perceptron model Accuracy : %.4g\" % metrics.accuracy_score(y_pred=results, y_true=y_test_true))\n"
  },
  {
    "path": "ML/REDAME.md",
    "content": "ML文件夹说明"
  },
  {
    "path": "ML/TensorDemo/NN_tf.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/2/28 下午4:22 \n# @Author : ComeOnJian \n# @File : NN_tf.py \n\nimport tensorflow as tf\nfrom tensorflow.examples.tutorials.mnist import input_data\n\n# step 1 NN的参数设置\n\nin_unit = 784\nh1_unit = 300\n\nlearningrate = 0.05  # 梯度下降法学习率\ndropout_keep_prob = 0.75  # dropout时保留神经元的比例，神经网络不为0的参数变为原理的1/dropout_keep_prob倍\n\nbatch_size = 100  # 梯度下降法选取的batch的size\nmax_iter = 3000  # 迭代次数\n\nsava_dir = '../data/'  # 存放数据结果\nlog_dir = '../log/'  # 日志目录\n\n\ndef variable_summeries(var):\n    \"\"\"\n    :param var: Tensor, Attach a lot of summaries to a Tensor (for TensorBoard visualization).\n    \"\"\"\n    with tf.name_scope('summeries'):\n        mean = tf.reduce_mean(var)\n        tf.summary.scalar('mean',mean) #记录参数的均值\n\n        with tf.name_scope('stddev'):\n            stddev = tf.sqrt(tf.reduce_mean(tf.square(var - mean)))\n            tf.summary.scalar('stddev',stddev)\n            tf.summary.scalar('max',tf.reduce_max(var))\n            tf.summary.scalar('min',tf.reduce_min(var))\n\n            # 用直方图记录参数的分布\n            tf.summary.histogram('histogram',var)\n\ndef weight_variable(shape):\n    \"\"\"\n    将每一层的神经网络的对应的权重参数w,初始化并封装到function中\n    \"\"\"\n    inita_w = tf.truncated_normal(shape,stddev=0.1)\n    return tf.Variable(inita_w,dtype=tf.float32)\ndef bias_variable(shape):\n    \"\"\"\n    将每一层的神经网络的对应的偏置项b,初始化并封装到function中\n    \"\"\"\n    inita_b = tf.constant(0.1,shape=shape)\n    return tf.Variable(inita_b)\n\ndef nn_layer(input_tensor,input_dim,output_dim,layer_name,act=tf.nn.relu):\n    \"\"\"\n    建立神经网络层（一层）\n    :param input_tensor:特征数据\n    :param input_dim:输入数据的维度大小\n    :param output_dim:该层神经元的个数\n    :param layer_name:命名空间\n    :param act:神经元对应的激活函数\n    \"\"\"\n    #设置命名空间\n    with tf.name_scope(layer_name):\n        #初始化权重，并记录权重变化\n        with tf.name_scope('weights'):\n            weight = weight_variable([input_dim,output_dim])\n            variable_summeries(weight)# 记录权重变化\n\n        with tf.name_scope('bias'):\n            bias = bias_variable([output_dim])\n            variable_summeries(bias)\n\n        with tf.name_scope('linear_compute'):\n            preact = tf.matmul(input_tensor,weight)+bias\n            tf.summary.histogram('linear',preact)\n\n        activeation = act(preact,name = 'activation')\n        tf.summary.histogram('activation',activeation)\n\n        return activeation\n# def set_computer_Graph():\n#\n#     \"\"\"\n#     设计tf的计算图，并返回\n#     :return:\n#     \"\"\"\n#     tf.reset_default_graph()\n#     train_graph = tf.Graph()\n#\n#     with train_graph.as_default():\n#\n#         # step 3.1 设置算法模型中的输入，使用占位符，占用输入的数据(什么情况下使用占位符，什么情况下设置tf变量)\n#\n#         train_x = tf.placeholder(dtype=tf.float32,shape=[None,in_unit],name = 'train_x')\n#         train_y = tf.placeholder(dtype=tf.float32,shape=[None,10],name = 'train_y')\n#\n#         # step 3.2构造神经网络\n#\n#         # 创建第一层隐藏层\n#         hidden_layer1 = nn_layer(train_x,input_dim=in_unit,output_dim=h1_unit,layer_name='hider_layer1',act=tf.nn.relu)\n#\n#         #在第一层隐藏层上创建一层 dropout层 —— 随机关闭一些hidden_layer1的神经元\n#         with tf.name_scope('dropout'):\n#             dropout_prob = tf.placeholder(dtype=tf.float32, name='dropout_prob')\n#             tf.summary.scalar('dropout_keep_probability',dropout_prob)\n#             hidden_layer1_dropout = tf.nn.dropout(hidden_layer1,dropout_prob)\n#\n#         #创建输出层,包括10个类别，输出层的输入是hidden_layer1_dropout,输出是[1,10]\n#         y = nn_layer(hidden_layer1_dropout,h1_unit,10,layer_name='out_layer',act=tf.identity)\n#\n#         # step 3.3 创建损失函数\n#\n#         with tf.name_scope('loss'):\n#             cross_entropy_diff = tf.nn.softmax_cross_entropy_with_logits(labels=train_y,logits=y)\n#\n#             with tf.name_scope('total'):\n#                 cross_entropy = tf.reduce_mean(cross_entropy_diff)\n#         tf.summary.scalar('loss',cross_entropy)\n#\n#         # step 3.4 选择优化器训练并计算准确率\n#         optimizer = tf.train.AdamOptimizer(learning_rate=learningrate)\n#         train_op = optimizer.minimize(cross_entropy)\n#\n#         with tf.name_scope('accuracy'):\n#             with tf.name_scope('correct_prediction'):\n#                 correct_prediction = tf.equal(tf.argmax(y,1),tf.argmax(train_y,1))\n#             with tf.name_scope('accuracy'):\n#                 accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32))\n#         tf.summary.scalar('accuracy',accuracy)\n#     return train_graph,train_op,accuracy\n#\nif __name__ == '__main__':\n    # step 2 加载数据\n    mnist = input_data.read_data_sets('./MNIST_data/',one_hot=True)\n\n    #step 3设置tf 计算图\n    tf.reset_default_graph()\n    train_graph = tf.Graph()\n    with train_graph.as_default():\n        # step 3.1 设置算法模型中的输入，使用占位符，占用输入的数据(什么情况下使用占位符，什么情况下设置tf变量)\n        train_x = tf.placeholder(dtype=tf.float32,shape=[None,in_unit],name = 'train_x')\n        train_y = tf.placeholder(dtype=tf.float32,shape=[None,10],name = 'train_y')\n\n        # step 3.2构造神经网络\n        # 创建第一层隐藏层\n        hidden_layer1 = nn_layer(train_x,input_dim=in_unit,output_dim=h1_unit,layer_name='hider_layer1',act=tf.nn.relu)\n\n        #在第一层隐藏层上创建一层 dropout层 —— 随机关闭一些hidden_layer1的神经元\n        with tf.name_scope('dropout'):\n            dropout_prob = tf.placeholder(dtype=tf.float32, name='dropout_prob')\n            tf.summary.scalar('dropout_keep_probability',dropout_prob)\n            hidden_layer1_dropout = tf.nn.dropout(hidden_layer1,dropout_prob)\n\n        #创建输出层,包括10个类别，输出层的输入是hidden_layer1_dropout,输出是[1,10]\n        y = nn_layer(hidden_layer1_dropout,h1_unit,10,layer_name='out_layer',act=tf.identity)\n\n        # step 3.3 创建损失函数\n        with tf.name_scope('loss'):\n            cross_entropy_diff = tf.nn.softmax_cross_entropy_with_logits(labels=train_y, logits=y)\n\n            with tf.name_scope('total'):\n                cross_entropy = tf.reduce_mean(cross_entropy_diff)\n        tf.summary.scalar('loss', cross_entropy)\n\n        # step 3.4 选择优化器训练并计算准确率\n        optimizer = tf.train.AdamOptimizer(learning_rate=learningrate)\n        train_op = optimizer.minimize(cross_entropy)\n\n        with tf.name_scope('accuracy'):\n            with tf.name_scope('correct_prediction'):\n                correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(train_y, 1))\n            with tf.name_scope('accuracy'):\n                accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))\n        tf.summary.scalar('accuracy', accuracy)\n\n\n    session = tf.InteractiveSession(graph=train_graph)\n\n    # step 4 合并summary并初始化所有变量\n    merged = tf.summary.merge_all()\n    train_writer = tf.summary.FileWriter(log_dir+'/train',graph=train_graph)\n    test_writer = tf.summary.FileWriter(log_dir+'/test',graph=train_graph)\n\n    tf.global_variables_initializer().run()\n\n    # Step 5 训练模型并记录到TensorBoard\n    for iter in range(max_iter):\n        trainx_batch_x,train_batch_y = mnist.train.next_batch(batch_size)\n        #迭代10次记录一下accuracy\n        if iter % 10 == 0:\n            summmary,acc,loss = session.run([merged,accuracy,cross_entropy],feed_dict={train_x:trainx_batch_x,train_y:train_batch_y,dropout_prob:1.0})\n            test_writer.add_summary(summmary,iter)#写入日志\n            print('loss at step %s: %s'%(iter,loss))\n            print('Accuracy at step %s: %s'%(iter,acc))\n        else:\n            if iter % 100 == 0:\n                #记录tensor运行节点的信息\n                run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)\n                run_metadata = tf.RunMetadata()\n                #将配置信息和记录运行信息的proto传入运行的过程，从而记录运行时每一个节点的时间、空间开销信息\n                summmary,_ = session.run([merged,train_op],\n                                         feed_dict={train_x:trainx_batch_x,train_y:train_batch_y,dropout_prob:dropout_keep_prob},\n                                         options=run_options,\n                                         run_metadata=run_metadata)\n                #将节点运行时的信息写入日志文件\n                train_writer.add_run_metadata(run_metadata,'step %d' % iter)\n                train_writer.add_summary(summmary,iter)\n                pass\n            else:\n                summmary,_ = session.run([merged,train_op],feed_dict={train_x:trainx_batch_x,train_y:train_batch_y,dropout_prob:dropout_keep_prob})\n                train_writer.add_summary(summmary,iter)\n    train_writer.close()\n    test_writer.close()\n    session.close()\n\n"
  },
  {
    "path": "ML/TensorDemo/README.md",
    "content": "#### TensorDemo文件说明\n##### [TensorFlow实现多层感知机及可视化训练过程中的数据记录](http://blog.csdn.net/u014732537/article/details/79412672) NN_ty.py\n"
  },
  {
    "path": "ML/data/adult/adult_deal_value.data",
    "content": "1,5,0,3,2,8,3,0,1,1,1,0,1,0\n1,1,0,3,0,4,2,0,1,1,1,2,1,0\n1,0,3,2,1,6,3,0,1,1,1,0,1,0\n1,0,2,1,0,6,2,4,1,1,1,0,1,0\n0,0,0,3,0,5,0,4,0,1,1,0,1,0\n1,0,10,3,0,4,0,0,0,1,1,0,1,0\n1,0,7,1,5,2,3,4,0,1,1,2,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,10,3,2,5,3,0,0,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,2,4,1,1,1,1,1,1\n0,5,0,3,0,5,2,1,1,1,1,0,1,1\n0,0,0,3,2,8,1,0,0,1,1,2,1,0\n0,0,5,2,2,3,3,4,1,1,1,1,1,0\n0,0,8,0,0,10,2,2,1,1,1,1,1,0\n0,1,3,2,2,9,1,0,1,1,1,2,1,0\n0,0,3,2,2,7,5,0,1,1,1,0,1,0\n1,0,2,1,0,3,2,0,1,1,1,1,1,0\n1,1,10,3,1,4,5,0,0,1,1,1,1,1\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,3,2,5,4,0,1,1,2,1,0\n0,3,7,1,0,9,2,4,1,1,1,0,1,0\n1,0,2,1,0,10,2,0,1,1,1,0,1,0\n2,0,3,2,1,0,5,0,0,1,1,0,1,0\n2,4,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,1,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,4,5,2,2,12,3,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,4,1,1,1,1,1,0\n1,0,0,3,1,4,1,0,1,1,1,0,1,0\n0,3,1,2,0,8,1,0,1,1,1,0,1,0\n0,5,1,2,0,2,2,4,1,1,1,2,1,0\n1,0,2,1,2,7,5,0,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,6,8,0,0,0,1,1,2,1,0\n1,1,5,2,0,5,2,0,1,1,1,0,1,0\n0,0,7,1,0,7,2,0,1,1,1,1,1,0\n1,1,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,0,3,0,0,2,0,1,1,1,1,1,0\n1,0,3,2,3,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,2,1,0\n2,3,0,3,0,5,2,4,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,2,1,0\n1,0,10,3,1,4,5,0,0,1,1,0,1,0\n1,5,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,5,3,0,1,1,1,1,1,0\n0,0,1,2,0,4,0,3,0,1,1,0,1,0\n1,0,4,3,0,5,0,0,0,1,1,1,1,1\n1,3,0,3,1,4,3,0,1,1,1,1,1,1\n1,2,3,2,1,4,3,0,1,1,1,1,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,0,14,0,0,7,2,0,1,1,1,0,1,0\n0,0,6,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,1,0,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,5,1,0,1,1,1,2,1,0\n0,0,0,3,3,3,1,4,0,1,1,0,1,0\n0,1,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n3,0,1,2,0,5,4,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n1,0,5,2,0,8,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,4,8,0,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,1,1,1,2,1,0\n1,0,0,3,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,0,2,0,0,0,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,1,1,3,0,0,1,1,0,1,1\n1,0,3,2,1,3,1,0,0,1,1,2,1,0\n1,4,3,2,0,12,2,0,1,1,1,0,1,1\n0,0,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,7,1,2,3,3,0,1,1,1,0,1,0\n1,3,13,3,2,5,3,0,0,1,1,1,1,1\n2,0,6,2,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,1,1,5,0,0,1,1,0,1,0\n0,0,1,2,1,7,5,4,0,1,1,2,1,0\n0,4,0,3,0,12,2,0,1,1,1,0,1,1\n0,4,1,2,2,6,3,0,1,1,1,1,1,0\n1,1,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,5,2,1,4,5,0,0,1,1,0,1,0\n0,3,3,2,2,2,1,4,1,1,1,0,1,0\n3,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,1,2,2,0,1,0,0,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,2,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,2,1,2,6,1,0,1,1,1,0,1,0\n0,4,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,4,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,0,1,1\n2,1,3,2,0,2,2,0,1,1,1,1,1,1\n0,0,1,2,0,3,0,0,0,1,1,2,1,0\n1,0,3,2,2,7,1,0,0,1,1,0,1,0\n1,0,7,1,0,6,2,0,1,1,1,1,1,0\n2,2,1,2,0,3,2,0,1,1,1,1,1,0\n1,4,6,2,0,1,2,4,1,1,1,0,1,1\n2,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,1,4,1,1,1,0,1,0\n0,5,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,4,1,1,1,2,1,0\n1,0,0,3,0,4,0,0,0,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,5,2,0,8,2,0,1,1,1,0,1,1\n1,0,1,2,1,1,3,0,1,1,1,0,1,0\n0,0,5,2,2,3,3,0,0,1,1,1,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,5,2,1,0,3,4,0,1,1,2,1,0\n1,3,10,3,0,5,2,0,1,1,1,0,1,1\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,6,2,0,8,0,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,1,1,1,1,0,1,1\n2,2,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,6,2,2,5,3,0,0,1,1,0,1,1\n2,0,1,2,2,0,4,0,1,1,1,0,1,0\n0,0,3,2,2,10,5,4,0,1,1,2,1,0\n0,0,1,2,0,2,2,0,1,1,1,2,1,0\n1,0,3,2,4,2,5,0,0,1,1,2,1,0\n2,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,4,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,4,4,1,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,6,3,0,1,1,1,0,1,0\n2,1,1,2,3,3,5,4,1,1,1,2,1,0\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,0,0,3,3,2,4,4,1,1,1,1,1,0\n0,0,3,2,2,2,5,0,0,1,1,0,1,0\n1,2,10,3,1,4,5,1,0,1,1,0,1,0\n0,0,3,2,2,4,3,1,0,1,1,0,1,0\n1,1,10,3,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,1,2,5,0,0,1,1,0,1,0\n1,3,5,2,2,4,3,0,1,1,1,1,1,0\n1,5,10,3,4,12,5,0,1,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n2,4,6,2,4,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,5,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,2,1,3,0,1,1,1,1,1,0\n0,5,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,5,3,5,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,4,1,1,1,0,1,0\n0,0,3,2,2,6,3,4,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n1,4,1,2,0,4,2,4,1,1,1,2,1,1\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,1,3,4,1,1,1,1,1,0\n1,0,8,0,0,7,2,0,1,1,1,0,1,1\n1,3,1,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,0,8,2,4,1,1,1,0,1,0\n1,1,0,3,1,4,3,0,0,1,1,0,1,0\n0,0,10,3,0,5,0,0,0,1,1,1,1,0\n2,5,13,3,0,5,2,0,1,1,1,2,1,1\n1,0,1,2,1,7,3,4,0,1,1,2,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,4,0,3,0,1,2,4,1,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,1,1,0\n1,3,0,3,0,0,2,0,1,1,1,2,1,0\n0,0,14,0,0,10,4,0,1,1,1,0,1,0\n1,0,1,2,1,1,3,0,1,1,1,0,1,0\n1,3,10,3,2,4,3,0,0,1,1,1,1,1\n0,0,10,3,0,5,4,0,1,1,1,0,1,1\n0,1,3,2,2,3,3,0,1,1,1,0,1,0\n0,0,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,1,2,2,5,3,0,0,1,1,0,1,0\n1,5,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,2,1,2,3,1,0,0,1,1,0,1,0\n1,0,0,3,0,2,2,4,1,1,1,2,1,1\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n2,2,3,2,0,3,0,0,0,1,1,2,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,4,3,2,0,10,2,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,3,2,0,1,1,0,1,0\n2,0,3,2,0,1,2,1,1,1,1,0,1,0\n2,2,8,0,0,7,2,0,1,1,1,0,1,1\n1,0,0,3,2,4,3,4,1,1,1,1,1,1\n1,0,5,2,1,3,3,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,12,1,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n3,0,3,2,2,2,3,4,1,1,1,0,1,0\n2,0,3,2,0,8,2,4,1,1,1,2,1,0\n1,4,15,0,2,7,3,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n3,0,6,2,4,8,3,0,0,1,1,2,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,2,1,3,10,3,4,1,1,1,0,1,0\n1,0,3,2,1,3,5,4,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,1,1,1,1,1,0\n0,0,1,2,1,1,4,3,0,1,1,0,1,0\n0,0,4,3,2,5,3,0,1,1,1,1,1,1\n2,5,3,2,0,2,2,0,1,1,1,0,1,0\n1,5,1,2,2,8,3,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,1,3,2,0,2,0,0,0,1,1,2,1,0\n0,5,5,2,0,12,2,0,1,1,1,1,1,0\n1,0,1,2,1,1,3,0,1,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n1,0,5,2,0,0,2,0,1,1,1,1,1,1\n1,0,4,3,0,5,0,0,0,1,1,0,1,1\n1,0,0,3,0,8,0,4,0,1,1,0,1,0\n2,4,12,1,4,2,5,4,0,1,1,2,1,0\n0,4,1,2,2,8,1,0,1,1,1,0,1,0\n2,0,1,2,2,10,3,0,1,1,1,2,1,0\n1,1,3,2,0,9,2,1,1,1,1,0,1,1\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,3,2,3,2,3,0,0,1,1,2,1,0\n1,0,6,2,4,4,3,0,0,1,1,1,1,0\n1,0,8,0,1,1,3,0,1,1,1,0,1,0\n1,0,0,3,1,5,1,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,2,1,2,0,4,2,1,1,1,1,1,1,1\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,0,1,0,0,0,1,1,0,1,1\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,7,1,2,2,1,0,1,1,1,2,1,0\n1,1,10,3,0,9,2,0,1,1,1,1,1,0\n0,4,10,3,2,5,1,0,1,1,1,2,1,0\n0,0,3,2,1,5,1,0,0,1,1,0,1,0\n1,0,3,2,0,6,2,4,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,2,0,1,0,0,1,1,0,1,0\n0,0,1,2,0,7,0,0,0,1,1,1,1,1\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n1,4,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,5,2,1,3,5,4,0,1,1,1,1,0\n2,0,0,3,1,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n2,3,10,3,0,3,2,0,1,1,1,0,1,1\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,1,2,3,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,1,5,3,0,0,1,1,0,1,0\n0,4,0,3,2,12,3,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,1,1,0\n0,0,0,3,2,0,5,4,0,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,2,1,0\n1,2,0,3,1,3,3,0,0,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,1,3,3,0,1,1,1,1,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,3,1,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n2,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,0,8,0,1,0,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,5,2,2,0,3,0,1,1,1,1,1,0\n1,0,5,2,2,5,3,0,0,1,1,2,1,0\n0,0,5,2,0,8,2,0,1,1,1,0,1,1\n1,2,1,2,0,9,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n0,0,10,3,0,4,2,1,1,1,1,2,1,1\n1,1,0,3,1,5,3,4,0,1,1,0,1,1\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n3,1,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,14,0,0,7,4,0,0,1,1,0,1,0\n0,0,1,2,2,0,3,0,0,1,1,0,1,0\n2,0,3,2,4,2,3,0,0,1,1,2,1,0\n1,1,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,2,1,2,4,3,0,0,1,1,0,1,0\n3,1,10,3,0,1,2,0,1,1,1,2,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,0,5,0,0,0,1,1,1,1,1\n2,1,3,2,0,6,2,0,1,1,1,0,1,0\n2,0,3,2,2,10,3,0,1,1,1,1,1,0\n1,0,1,2,2,1,3,4,1,1,1,1,1,0\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n1,0,6,2,2,2,3,0,1,1,1,0,1,0\n2,4,12,1,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,14,0,2,2,4,0,1,1,1,1,1,0\n0,0,3,2,2,1,4,0,1,1,1,0,1,0\n1,0,10,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,3,5,4,1,1,1,2,1,0\n1,0,3,2,0,2,2,4,1,1,1,0,1,0\n0,0,5,2,2,3,3,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,5,3,2,0,12,2,0,1,1,1,0,1,1\n0,0,3,2,2,9,3,0,1,1,1,2,1,0\n0,5,1,2,2,12,1,4,0,1,1,0,1,0\n1,1,0,3,2,3,3,0,1,1,1,1,1,0\n2,0,5,2,5,2,3,0,1,1,1,2,1,0\n0,0,0,3,2,5,1,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,4,2,1,0,10,2,0,1,1,1,2,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,1\n2,0,2,1,4,2,5,3,1,1,1,0,1,0\n1,0,6,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,0,8,0,0,0,1,1,2,1,0\n0,1,7,1,0,1,2,0,1,1,1,0,1,0\n1,0,12,1,0,2,0,0,0,1,1,2,1,0\n2,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,1,4,3,0,1,1,1,1,1,1\n0,0,3,2,5,3,3,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,5,2,2,3,3,0,0,1,1,2,1,0\n2,0,0,3,1,4,3,0,0,1,1,1,1,1\n1,0,3,2,1,3,5,0,0,1,1,0,1,0\n0,3,1,2,2,8,5,0,0,1,1,2,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,5,6,2,0,7,2,0,1,1,1,2,1,1\n1,0,3,2,0,7,2,4,1,1,1,0,1,0\n1,0,3,2,2,1,3,4,1,1,1,0,1,0\n0,4,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,0,0,0,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n1,1,10,3,1,4,3,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,1,10,3,0,1,1,1,0,1,0\n1,0,14,0,1,1,3,0,0,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,3,3,0,0,1,1,0,1,0\n1,4,1,2,0,10,0,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,3,7,3,0,1,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,2,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,4,0,0,1,1,0,1,0\n0,0,3,2,0,2,0,0,0,1,1,0,1,1\n0,0,0,3,2,1,3,0,1,1,1,1,1,0\n1,1,5,2,3,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,0\n1,0,1,2,1,6,5,0,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n1,5,0,3,0,12,2,0,1,1,1,0,1,1\n0,0,6,2,1,0,3,0,0,1,1,1,1,0\n0,0,8,0,0,6,2,3,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,4,1,2,1,2,3,4,0,1,1,2,1,0\n0,0,3,2,2,6,5,4,0,1,1,0,1,0\n0,0,1,2,1,4,5,0,0,1,1,0,1,0\n1,0,13,3,0,4,2,0,1,1,1,1,1,1\n0,5,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,9,1,1,1,3,0,1,1,1,1,1,1\n1,0,11,0,0,7,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,4,2,1,3,7,3,4,1,1,1,0,1,0\n0,5,3,2,1,10,5,0,0,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,2,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,5,0,3,0,4,0,0,0,1,1,0,1,1\n0,0,3,2,1,9,3,0,1,1,1,0,1,0\n0,0,12,1,2,1,5,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,3,10,3,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n2,2,3,2,0,4,2,0,1,1,1,0,1,1\n1,4,10,3,0,5,2,0,1,1,1,0,1,0\n1,1,0,3,5,5,3,0,0,1,1,0,1,0\n0,0,5,2,0,2,0,0,0,1,1,2,1,1\n0,0,1,2,2,1,1,1,1,1,1,0,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,4,3,2,2,9,3,4,1,1,1,1,1,0\n0,4,1,2,2,12,3,0,0,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,4,1,2,0,8,0,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,2,1,0\n0,3,3,2,2,13,1,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n0,0,7,1,2,1,4,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n1,0,3,2,4,4,5,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,2,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,4,0,1,1,0,1,0\n1,2,1,2,0,1,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,1,3,2,0,3,0,0,0,1,1,0,1,1\n1,0,6,2,0,7,2,1,1,1,1,0,1,1\n0,0,3,2,0,4,0,0,0,1,1,0,1,0\n1,0,1,2,0,10,2,4,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,5,2,2,9,1,0,1,1,1,0,1,0\n2,4,3,2,0,10,2,4,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,11,0,5,1,5,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,0,1,1,2,1,0\n1,0,3,2,0,8,0,0,0,1,1,1,1,0\n1,0,3,2,1,10,5,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,0,0,0,0,1,1,2,1,1\n2,0,1,2,2,5,5,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n2,0,6,2,1,2,3,0,0,1,1,2,1,0\n1,0,0,3,2,1,3,0,0,1,1,0,1,0\n0,0,7,1,2,2,3,0,1,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,12,1,2,2,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,5,0,0,1,1,2,1,0\n0,0,5,2,0,1,2,0,1,1,1,1,1,0\n1,1,1,2,0,1,2,0,1,1,1,2,1,0\n0,5,0,3,2,5,3,0,1,1,1,2,1,0\n1,0,3,2,5,1,5,0,0,1,1,0,1,0\n0,0,1,2,5,8,1,4,0,1,1,2,1,0\n2,4,3,2,0,10,2,0,1,1,1,1,1,0\n1,4,0,3,1,5,5,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,2,2,3,0,0,1,1,2,1,0\n1,3,3,2,1,8,3,0,1,1,1,0,1,0\n0,0,5,2,2,4,3,0,0,1,1,1,1,0\n0,0,3,2,1,5,5,0,0,1,1,2,1,0\n0,0,0,3,2,1,1,0,1,1,1,2,1,0\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n0,0,14,0,2,2,1,0,1,1,1,0,1,0\n0,0,1,2,2,5,3,0,0,1,1,2,1,0\n0,4,3,2,2,9,3,0,1,1,1,0,1,0\n2,4,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n2,0,1,2,1,2,5,0,0,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,4,1,1,1,0,1,0\n0,0,1,2,2,12,1,0,1,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,4,3,2,3,8,5,4,0,1,1,0,1,0\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n1,0,6,2,5,6,5,0,1,1,1,1,1,0\n0,0,6,2,2,1,3,0,1,1,1,1,1,0\n0,0,1,2,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,2,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,4,1,2,1,6,3,4,1,1,1,1,1,0\n1,4,1,2,0,0,2,0,1,1,1,1,1,1\n1,0,1,2,1,7,5,0,1,1,1,1,1,1\n0,0,1,2,0,3,0,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n3,0,1,2,1,8,3,0,0,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,1,10,3,0,5,2,0,1,1,1,0,1,0\n1,0,2,1,1,7,5,3,0,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,4,1,1,1,0,1,0\n1,0,5,2,0,4,0,0,0,1,1,1,1,1\n2,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,4,9,1,0,0,2,0,1,1,1,1,1,0\n2,0,11,0,4,11,3,4,0,1,1,2,1,0\n0,0,6,2,3,1,3,0,1,1,1,0,1,0\n0,2,0,3,2,9,3,0,0,1,1,1,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n0,0,13,3,2,5,1,0,1,1,1,0,1,0\n0,0,1,2,2,6,5,0,0,1,1,0,1,0\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,3,0,0,1,1,1,1,0\n2,0,12,1,0,2,0,0,0,1,1,2,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,1,2,2,1,5,0,1,1,1,0,1,0\n1,1,1,2,1,4,3,0,1,1,1,1,1,0\n1,1,3,2,3,2,5,0,0,1,1,0,1,0\n3,0,2,1,4,8,5,0,0,1,1,0,1,0\n0,0,3,2,0,7,0,4,0,1,1,0,1,0\n0,3,6,2,1,1,5,4,0,1,1,0,1,1\n2,0,2,1,2,7,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,0,0,0,0,1,1,2,1,0\n0,0,2,1,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,2,10,3,0,1,1,1,1,1,0\n2,0,0,3,0,3,2,0,1,1,1,2,1,1\n1,0,1,2,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,5,4,0,1,1,0,1,0\n1,1,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,2,1,1,1,1,1,0\n1,2,10,3,0,4,2,0,1,1,1,1,1,0\n1,0,8,0,3,2,5,0,0,1,1,0,1,0\n0,1,3,2,3,1,3,0,1,1,1,2,1,0\n1,0,10,3,1,4,5,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,13,3,2,5,3,0,0,1,1,1,1,0\n0,0,0,3,0,4,0,0,1,1,1,0,1,1\n1,1,5,2,1,3,5,0,0,1,1,2,1,0\n2,4,0,3,2,5,3,0,0,1,1,0,1,0\n0,1,1,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,1,0,3,2,0,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,1,1,1,0,1,0\n1,0,12,1,0,1,2,0,1,1,1,1,1,1\n2,2,0,3,1,5,3,0,1,1,1,1,1,0\n2,0,8,0,2,10,3,0,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,0,3,0,1,1,1,0,1,0\n1,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n2,0,8,0,1,2,3,0,0,1,1,0,1,0\n1,4,7,1,0,2,2,0,1,1,1,0,1,0\n0,1,5,2,2,9,3,0,1,1,1,0,1,0\n1,0,3,2,2,8,5,4,0,1,1,2,1,0\n1,0,10,3,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,2,1,1,1,0,1,0\n1,4,3,2,3,4,3,4,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,0,10,3,1,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,4,0,3,2,5,1,0,1,1,1,0,1,0\n0,0,0,3,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,2,6,1,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,4,1,1,1,1,1,0\n1,1,3,2,0,4,2,0,1,1,1,2,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,1,0,0,1,1,2,1,0\n1,0,2,1,4,2,3,4,0,1,1,2,1,0\n2,0,7,1,4,11,5,4,0,1,1,2,1,0\n0,0,6,2,0,10,2,0,1,1,1,1,1,0\n1,0,7,1,5,6,5,0,1,1,1,0,1,0\n0,0,3,2,2,9,1,4,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,2,1,1\n1,1,1,2,2,2,5,4,0,1,1,0,1,0\n1,4,12,1,3,2,5,4,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,0,8,0,4,0,1,1,0,1,1\n2,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,0,3,2,6,3,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,2,14,0,0,10,2,0,1,1,1,1,1,0\n1,1,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,2,13,3,3,5,3,0,1,1,1,0,1,1\n0,4,3,2,1,8,5,0,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,5,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,4,4,0,1,1,1,1,1,0\n0,0,13,3,0,5,2,1,1,1,1,0,1,1\n1,5,1,2,3,4,3,0,0,1,1,1,1,0\n0,0,3,2,2,7,1,0,0,1,1,2,1,0\n0,5,1,2,2,8,5,1,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,8,0,0,1,2,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,1,9,1,0,6,2,4,1,1,1,0,1,1\n0,0,10,3,2,3,3,0,1,1,1,1,1,0\n0,0,1,2,2,5,3,0,1,1,1,0,1,0\n1,4,10,3,2,5,3,0,1,1,1,2,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n1,0,5,2,1,5,5,0,0,1,1,0,1,1\n0,5,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,1\n0,0,7,1,2,7,3,0,1,1,1,0,1,0\n1,3,1,2,1,4,3,0,1,1,1,0,1,0\n0,1,2,1,2,9,1,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,2,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n2,1,3,2,4,4,3,0,1,1,1,1,1,0\n0,4,3,2,2,12,1,0,1,1,1,1,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,1,3,2,0,1,2,0,1,1,1,0,1,1\n0,4,1,2,3,4,5,4,1,1,1,0,1,0\n0,5,2,1,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,1,4,3,0,0,1,1,0,1,0\n1,4,0,3,0,5,0,0,0,1,1,1,1,0\n1,0,10,3,2,4,3,0,1,1,1,2,1,0\n0,0,3,2,2,2,4,0,1,1,1,2,1,0\n2,4,1,2,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,2,7,1,4,0,1,1,1,1,0\n1,0,1,2,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,2,5,1,0,1,1,1,2,1,0\n0,5,0,3,2,0,3,0,0,1,1,2,1,0\n0,0,10,3,2,5,3,0,1,1,1,1,1,1\n0,0,10,3,0,0,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,4,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,0,3,4,3,5,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,1,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,13,3,1,5,5,0,0,1,1,1,1,1\n1,0,0,3,1,4,1,0,0,1,1,1,1,1\n1,0,9,1,0,2,2,4,1,1,1,0,1,0\n1,0,1,2,2,3,3,4,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,2,1,2,2,4,0,1,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,4,0,1,1,0,1,0\n1,0,6,2,0,0,2,0,1,1,1,0,1,0\n1,4,0,3,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,3,2,5,4,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,5,3,2,2,0,1,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,4,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,0,0,0,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n2,0,1,2,1,8,3,1,0,1,1,0,1,0\n0,0,6,2,0,8,2,0,1,1,1,1,1,0\n0,0,6,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,2,3,3,4,0,1,1,2,1,0\n1,5,0,3,0,5,2,0,1,1,1,1,1,0\n2,0,3,2,4,2,5,4,0,1,1,2,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,4,0,0,1,1,2,1,0\n2,1,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,10,3,2,4,3,0,0,1,1,1,1,1\n0,0,6,2,2,0,1,0,1,1,1,0,1,0\n0,0,9,1,2,6,1,0,1,1,1,2,1,0\n1,4,0,3,0,5,0,0,0,1,1,0,1,1\n2,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,4,0,1,1,0,1,0\n0,0,2,1,2,1,1,4,1,1,1,0,1,0\n1,5,0,3,0,5,2,0,1,1,1,2,1,0\n0,5,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,5,0,1,1,1,2,1,0\n2,1,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,5,0,1,1,1,1,1,0\n1,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,6,2,2,1,1,0,1,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,4,0,3,2,5,3,0,0,1,1,1,1,0\n1,3,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,3,2,2,9,3,4,1,1,1,0,1,0\n1,0,3,2,2,2,3,0,0,1,1,2,1,0\n2,4,3,2,0,8,0,0,0,1,1,2,1,1\n0,4,3,2,1,12,5,0,1,1,1,0,1,0\n1,2,13,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,2,3,3,0,1,1,1,1,1,1\n0,0,12,1,3,2,5,0,0,1,1,1,1,0\n0,5,1,2,5,2,4,0,1,1,1,0,1,0\n0,0,1,2,0,3,0,0,0,1,1,2,1,0\n1,1,0,3,1,3,3,0,0,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,1,2,2,9,3,0,0,1,1,2,1,0\n1,0,14,0,3,9,3,0,1,1,1,2,1,0\n0,0,3,2,1,1,5,0,1,1,1,1,1,0\n1,0,6,2,0,0,0,0,0,1,1,2,1,1\n2,0,3,2,2,3,3,0,1,1,1,2,1,0\n0,4,6,2,1,0,3,0,1,1,1,1,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,1,2,2,0,3,0,1,1,1,0,1,0\n0,0,6,2,2,7,3,0,0,1,1,1,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n1,1,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,0,3,2,3,3,3,0,1,1,1,1,1\n1,0,1,2,1,8,3,4,0,1,1,2,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,9,1,2,7,1,0,1,1,1,2,1,0\n1,0,6,2,0,0,2,0,1,1,1,1,1,1\n1,2,0,3,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,4,4,1,1,1,2,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,4,1,1,1,0,1,0\n1,0,10,3,2,0,3,0,1,1,1,2,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,5,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,4,1,1,1,2,1,0\n2,1,2,1,2,9,5,0,1,1,1,2,1,0\n0,0,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,10,1,0,1,1,1,2,1,0\n0,0,3,2,3,2,1,0,0,1,1,2,1,0\n1,0,1,2,1,4,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,0,12,1,2,9,1,0,1,1,1,2,1,0\n1,1,3,2,0,2,0,0,0,1,1,1,1,0\n1,0,6,2,2,5,3,0,0,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,1,1,1\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,6,2,2,8,5,0,1,1,1,0,1,0\n0,0,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,6,2,2,0,1,0,1,1,1,0,1,0\n0,0,3,2,4,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n2,0,3,2,4,10,5,0,1,1,1,1,1,1\n2,0,3,2,4,2,3,0,0,1,1,0,1,0\n1,0,3,2,3,7,5,0,0,1,1,2,1,0\n1,0,1,2,2,8,3,0,1,1,1,2,1,0\n0,2,0,3,2,3,1,0,1,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,1\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n3,1,3,2,0,4,2,0,1,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,1,8,3,0,1,1,1,0,1,0\n1,0,0,3,1,5,3,0,0,1,1,1,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n2,0,3,2,4,9,3,0,1,1,1,2,1,0\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n2,4,0,3,4,5,3,0,0,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,1,5,3,0,1,1,1,0,1,0\n1,4,3,2,1,2,3,0,0,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n2,0,10,3,4,5,3,0,0,1,1,0,1,1\n0,0,6,2,1,8,3,0,0,1,1,1,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,5,13,3,1,5,1,0,1,1,1,1,1,1\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,4,3,2,2,8,1,0,0,1,1,0,1,0\n2,0,3,2,0,2,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n1,0,0,3,2,4,3,0,0,1,1,1,1,1\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,9,2,0,1,1,1,0,1,0\n1,0,2,1,0,4,2,0,1,1,1,1,1,0\n0,2,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n0,0,12,1,2,6,3,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n1,0,1,2,0,9,2,0,1,1,1,1,1,1\n0,1,0,3,3,5,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,10,1,0,1,1,1,1,1,0\n2,1,10,3,0,3,2,0,1,1,1,0,1,1\n1,1,0,3,0,3,2,1,1,1,1,0,1,1\n2,0,14,0,1,2,5,4,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,5,4,0,1,1,2,1,0\n1,0,6,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n1,0,7,1,1,7,3,0,0,1,1,0,1,0\n0,0,0,3,0,8,4,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,0,0,0,1,1,1,1,0\n0,0,0,3,2,4,1,0,1,1,1,2,1,0\n2,1,3,2,0,3,2,4,1,1,1,0,1,0\n0,0,6,2,1,0,3,0,0,1,1,1,1,0\n0,1,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,6,2,0,8,0,1,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,1,4,3,0,9,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,1,3,1,0,1,1,1,1,1,0\n0,0,0,3,2,4,1,0,0,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,0,2,0,1,1,1,0,1,0\n2,4,8,0,0,2,2,0,1,1,1,1,1,0\n1,1,7,1,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,0,1,1,0,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,1,7,3,0,0,1,1,2,1,0\n1,0,1,2,1,7,3,0,1,1,1,1,1,0\n0,0,0,3,2,5,1,4,1,1,1,2,1,0\n1,1,3,2,1,6,1,0,1,1,1,2,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,1,1,1,2,1,0\n1,0,1,2,1,1,3,0,1,1,1,1,1,0\n1,1,12,1,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,4,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,0,1,0,1,1,1,1,0\n2,2,3,2,0,4,2,1,1,1,1,0,1,1\n3,1,3,2,0,4,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n0,0,1,2,2,10,5,0,1,1,1,0,1,0\n1,0,14,0,0,7,0,0,0,1,1,2,1,0\n1,0,1,2,0,8,0,4,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,0,1,1,1,1,0\n0,0,11,0,5,11,3,0,0,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,1,1,0\n1,4,15,0,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,2,1,0,7,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,10,3,2,5,3,0,0,1,1,2,1,0\n1,0,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,1\n0,0,5,2,1,2,5,2,0,1,1,0,1,0\n0,0,3,2,0,7,2,4,1,1,1,0,1,0\n1,2,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,3,0,0,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,4,1,2,1,4,5,4,0,1,1,2,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,2,0,3,0,4,0,0,0,1,1,1,1,1\n1,0,1,2,1,1,5,0,1,1,1,2,1,0\n1,1,1,2,1,9,5,0,1,1,1,0,1,0\n1,5,3,2,0,5,0,0,0,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,8,0,4,2,5,4,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n0,4,12,1,1,10,3,0,1,1,1,0,1,0\n0,1,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,5,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,1,7,3,0,0,1,1,2,1,0\n0,0,0,3,0,1,2,0,1,1,1,1,1,0\n1,0,12,1,1,4,5,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,2,1,2,0,3,2,0,1,1,1,1,1,1\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,1,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,2,1,1\n0,0,0,3,2,0,3,0,0,1,1,2,1,0\n2,0,0,3,4,4,3,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,10,5,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n0,0,1,2,2,4,3,0,0,1,1,0,1,0\n1,5,10,3,0,5,2,0,1,1,1,2,1,1\n3,0,3,2,4,2,3,4,0,1,1,0,1,0\n0,0,3,2,1,6,1,0,1,1,1,0,1,0\n1,0,3,2,2,8,3,0,0,1,1,1,1,0\n0,0,5,2,2,8,3,0,0,1,1,0,1,0\n2,1,3,2,2,9,5,0,1,1,1,1,1,0\n1,4,3,2,4,12,3,0,1,1,1,0,1,1\n2,0,6,2,1,2,3,0,0,1,1,2,1,0\n1,0,3,2,2,1,1,4,0,1,1,2,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,1,1,5,0,1,1,1,0,1,0\n1,0,1,2,4,5,3,0,0,1,1,0,1,0\n1,0,0,3,2,3,3,0,1,1,1,0,1,0\n1,0,6,2,0,7,2,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,2,4,3,0,1,1,1,1,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,10,3,1,5,3,0,1,1,1,1,1,0\n1,3,0,3,1,4,5,0,1,1,1,1,1,1\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,5,3,2,0,5,0,0,0,1,1,0,1,1\n0,4,0,3,2,5,1,0,0,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n2,0,0,3,0,8,2,0,1,1,1,0,1,0\n2,0,3,2,3,7,3,4,1,1,1,0,1,0\n1,2,3,2,0,4,2,0,1,1,1,0,1,1\n2,1,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,1,7,3,0,0,1,1,0,1,0\n0,0,6,2,2,10,1,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,1,2,0,5,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,2,1,0\n1,0,8,0,0,6,2,0,1,1,1,0,1,0\n0,0,6,2,0,0,0,0,0,1,1,0,1,1\n1,0,3,2,4,2,5,0,0,1,1,2,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,1,2,2,1,3,0,1,1,1,1,1,0\n1,4,10,3,0,5,2,0,1,1,1,2,1,1\n1,0,3,2,3,3,3,0,0,1,1,2,1,0\n0,0,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,5,4,0,1,1,0,1,0\n2,0,3,2,0,2,2,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,12,1,0,8,0,0,0,1,1,0,1,0\n1,2,10,3,5,3,3,1,1,1,1,1,1,0\n0,0,6,2,2,8,3,0,0,1,1,0,1,0\n0,5,5,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,4,0,1,1,0,1,0\n1,0,3,2,2,2,3,0,1,1,1,1,1,0\n0,0,3,2,1,11,5,4,0,1,1,2,1,0\n3,0,3,2,2,2,3,0,0,1,1,0,1,0\n0,0,1,2,2,7,1,4,0,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,0,3,0,0,1,1,2,1,0\n0,0,4,3,1,5,5,0,1,1,1,1,1,0\n0,0,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,0,8,2,0,1,1,1,0,1,1\n1,1,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,1,1,3,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,1,9,1,0,10,2,0,1,1,1,1,1,0\n1,0,6,2,1,1,3,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,1,3,2,0,4,2,0,1,1,1,2,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,3,2,0,2,2,0,1,1,1,2,1,0\n0,0,5,2,3,2,5,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,2,2,1,0,1,1,1,0,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,9,1,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,5,2,1,0,3,0,0,1,1,1,1,0\n0,4,0,3,2,5,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,5,13,3,0,5,0,0,0,1,1,1,1,1\n0,0,2,1,2,8,1,0,1,1,1,2,1,0\n0,1,1,2,2,1,1,0,1,1,1,2,1,0\n0,0,0,3,2,3,3,4,0,1,1,0,1,0\n0,0,0,3,2,3,1,1,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,5,6,2,0,5,0,0,0,1,1,0,1,1\n1,0,0,3,3,5,5,0,0,1,1,0,1,0\n0,4,3,2,1,4,3,0,0,1,1,2,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,6,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,1,1,0,1,1,1,2,1,0\n1,3,5,2,0,5,2,0,1,1,1,0,1,1\n1,1,0,3,2,3,3,0,1,1,1,1,1,1\n0,0,13,3,5,5,3,1,1,1,1,1,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,1,0,3,2,5,1,1,1,1,1,2,1,0\n2,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,2,3,2,0,3,0,0,0,1,1,2,1,1\n1,0,1,2,1,5,5,0,0,1,1,0,1,0\n1,2,0,3,0,7,2,0,1,1,1,1,1,1\n1,2,7,1,0,4,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,4,1,1,1,1,1,0\n0,1,5,2,0,5,0,0,0,1,1,2,1,1\n0,4,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n1,0,6,2,0,10,2,0,1,1,1,1,1,0\n0,2,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,0,3,0,0,0,1,1,1,1,1\n1,5,0,3,2,8,3,0,1,1,1,2,1,0\n2,0,3,2,0,3,0,0,0,1,1,0,1,0\n0,0,3,2,1,6,1,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,4,0,3,0,5,0,0,0,1,1,0,1,1\n1,0,0,3,0,5,2,1,1,1,1,0,1,0\n0,0,1,2,0,0,2,0,1,1,1,0,1,0\n1,3,3,2,1,0,3,0,0,1,1,0,1,0\n0,5,1,2,0,4,2,0,1,1,1,2,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,0\n1,0,1,2,1,2,5,4,0,1,1,2,1,0\n0,0,6,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n2,3,3,2,4,6,3,4,1,1,1,0,1,0\n1,1,1,2,1,2,5,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,2,7,3,4,0,1,1,0,1,0\n0,0,3,2,2,2,5,0,0,1,1,0,1,0\n1,0,6,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,1,10,3,0,4,2,0,1,1,1,1,1,1\n0,3,3,2,0,8,2,4,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,11,0,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n2,3,3,2,4,3,5,0,0,1,1,0,1,0\n1,0,0,3,2,2,3,0,1,1,1,2,1,0\n2,1,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,2,1,2,2,4,3,0,0,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,2,3,2,0,4,2,0,1,1,1,2,1,1\n1,2,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,5,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,5,10,3,0,5,0,0,0,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,4,10,5,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,5,2,0,0,2,0,1,1,1,0,1,1\n1,0,0,3,0,5,0,0,0,1,1,0,1,1\n0,0,3,2,1,8,3,4,0,1,1,0,1,0\n2,0,0,3,0,8,2,0,1,1,1,2,1,1\n3,1,4,3,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,1,1,0\n1,0,2,1,1,2,3,4,0,1,1,0,1,0\n0,0,10,3,0,9,3,0,1,1,1,1,1,1\n0,0,6,2,2,2,3,0,1,1,1,2,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,6,2,2,8,1,0,0,1,1,2,1,0\n1,5,3,2,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,4,2,1,2,2,3,1,1,1,1,1,1,0\n1,0,0,3,1,4,3,0,0,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,3,1,2,2,4,1,4,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,5,0,3,2,8,3,0,0,1,1,1,1,0\n0,4,0,3,2,5,1,0,1,1,1,2,1,0\n1,0,6,2,1,2,3,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,4,0,3,1,5,3,4,0,1,1,0,1,0\n1,4,5,2,0,5,2,0,1,1,1,1,1,0\n2,0,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n1,3,3,2,0,8,2,4,1,1,1,1,1,1\n0,4,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,1,1,3,0,1,1,1,2,1,0\n1,0,0,3,2,2,3,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,4,1,1,1,0,1,0\n2,2,10,3,0,3,2,0,1,1,1,0,1,1\n2,4,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,3,8,1,0,1,1,1,1,1,0\n0,0,1,2,1,1,5,0,0,1,1,2,1,0\n2,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,1,1,2,0,1,2,2,1,1,1,0,1,1\n0,0,0,3,1,4,3,0,1,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,0,1,1\n1,1,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,4,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n3,1,4,3,0,5,2,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,3,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,2,1,3,2,3,4,0,1,1,1,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,1,3,2,0,3,4,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,10,3,2,5,3,0,1,1,1,1,1,1\n2,0,3,2,3,8,3,0,0,1,1,2,1,0\n1,5,3,2,4,4,3,0,0,1,1,0,1,0\n2,1,3,2,0,4,2,0,1,1,1,1,1,1\n1,4,1,2,2,2,3,0,1,1,1,2,1,0\n2,0,1,2,4,2,3,0,0,1,1,2,1,0\n2,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,3,0,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,3,2,2,6,1,0,0,1,1,0,1,0\n1,2,10,3,0,4,2,0,1,1,1,1,1,1\n1,1,1,2,0,4,2,0,1,1,1,1,1,0\n1,3,3,2,1,8,3,0,0,1,1,1,1,0\n0,1,1,2,2,10,3,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,1,1,1,1,0,1,0\n1,0,0,3,2,8,3,0,0,1,1,1,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,3,0,3,0,5,2,0,1,1,1,0,1,1\n1,5,1,2,3,8,3,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n3,0,3,2,4,2,3,0,0,1,1,2,1,0\n0,2,1,2,2,1,1,0,1,1,1,2,1,0\n0,0,3,2,2,3,3,0,0,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,1,1,2,0,1,2,0,1,1,1,2,1,0\n1,0,1,2,0,8,2,0,1,1,1,2,1,0\n1,4,0,3,1,12,3,0,1,1,1,0,1,0\n1,0,0,3,2,4,5,4,0,1,1,1,1,0\n0,0,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,5,2,2,2,3,0,0,1,1,1,1,0\n0,0,3,2,2,0,3,4,0,1,1,0,1,0\n0,0,1,2,2,2,5,0,0,1,1,0,1,0\n1,4,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n2,0,0,3,0,12,2,0,1,1,1,2,1,1\n1,0,3,2,0,10,2,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,2,3,3,0,1,1,1,1,1,0\n1,3,5,2,1,5,5,1,0,1,1,0,1,1\n0,0,1,2,2,9,1,4,1,1,1,2,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,12,1,0,2,2,0,1,1,1,0,1,0\n1,0,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,11,0,4,2,5,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,4,1,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,14,0,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,1,1,0\n1,0,5,2,0,0,2,0,1,1,1,0,1,0\n1,4,1,2,2,2,1,4,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,3,1,2,2,13,3,4,1,1,1,1,1,0\n0,0,3,2,2,2,5,4,0,1,1,0,1,0\n2,2,1,2,0,10,0,0,0,1,1,0,1,1\n1,1,4,3,0,5,2,0,1,1,1,1,1,0\n0,0,6,2,0,4,2,0,1,1,1,1,1,0\n1,0,0,3,0,7,2,0,1,1,1,1,1,1\n0,0,6,2,2,7,3,0,1,1,1,0,1,0\n0,0,14,0,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,0,0,0,1,1,0,1,1\n1,3,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n0,0,13,3,0,5,2,0,1,1,1,0,1,1\n1,5,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n2,4,3,2,4,8,5,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,1\n2,0,1,2,0,10,2,0,1,1,1,2,1,1\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,4,2,5,1,0,1,1,0,1,1\n0,0,3,2,2,3,1,4,0,1,1,2,1,0\n0,0,2,1,2,2,5,4,0,1,1,0,1,0\n0,0,3,2,2,7,4,0,1,1,1,0,1,0\n0,0,1,2,2,7,3,0,0,1,1,0,1,0\n0,0,3,2,2,7,3,4,1,1,1,2,1,0\n2,0,4,3,0,5,2,0,1,1,1,1,1,0\n1,0,6,2,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,5,3,0,0,1,1,2,1,0\n1,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n2,0,0,3,1,0,1,0,0,1,1,2,1,0\n1,5,1,2,0,4,2,0,1,1,1,0,1,0\n0,5,4,3,2,5,5,0,1,1,1,0,1,0\n2,0,10,3,5,5,3,0,0,1,1,0,1,0\n1,0,1,2,1,8,3,0,1,1,1,0,1,0\n2,5,3,2,2,8,1,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,3,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,5,3,0,1,1,1,1,1,1\n0,2,0,3,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,3,3,1,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,14,0,1,7,3,4,1,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,1\n1,0,12,1,2,1,4,4,1,1,1,1,1,0\n0,0,0,3,2,0,3,0,1,1,1,2,1,0\n1,0,3,2,2,3,3,0,1,1,1,1,1,0\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n1,0,1,2,1,3,5,0,0,1,1,0,1,0\n0,3,6,2,2,4,3,0,0,1,1,0,1,0\n1,2,3,2,1,4,5,0,0,1,1,0,1,0\n1,0,3,2,0,7,0,4,0,1,1,0,1,0\n1,3,1,2,4,8,3,4,0,1,1,0,1,0\n1,0,3,2,0,4,2,1,1,1,1,0,1,1\n0,0,12,1,2,6,1,0,1,1,1,0,1,0\n0,0,5,2,2,2,1,4,1,1,1,0,1,0\n1,0,10,3,2,2,3,0,0,1,1,2,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,0\n1,4,6,2,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,1,3,5,4,0,1,1,0,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,0\n2,0,3,2,0,9,2,0,1,1,1,0,1,0\n2,0,10,3,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,1,4,5,0,0,1,1,0,1,0\n0,0,1,2,3,8,1,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,4,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,1,2,2,6,1,0,1,1,1,1,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,2,7,1,0,1,1,1,1,1,0\n1,0,3,2,2,3,3,4,1,1,1,1,1,0\n1,1,1,2,1,4,4,0,1,1,1,1,1,1\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,0,3,2,0,3,0,0,1,1,0,1,0\n2,0,3,2,1,3,5,0,0,1,1,2,1,0\n0,3,3,2,2,8,5,4,0,1,1,0,1,0\n1,0,12,1,2,7,3,4,1,1,1,0,1,0\n1,0,12,1,2,10,5,0,1,1,1,0,1,1\n2,0,3,2,0,10,2,4,1,1,1,0,1,0\n2,1,10,3,0,3,2,0,1,1,1,1,1,0\n1,0,12,1,0,6,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,2,8,3,0,0,1,1,0,1,0\n2,0,5,2,0,0,2,0,1,1,1,2,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,2,2,0,1,1,1,1,1,1\n0,0,2,1,1,3,1,0,1,1,1,0,1,0\n1,4,5,2,0,1,0,0,0,1,1,1,1,1\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,4,2,5,0,0,1,1,0,1,0\n1,2,3,2,0,2,2,1,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,1,12,1,0,4,2,0,1,1,1,1,1,0\n0,5,1,2,0,8,2,1,1,1,1,2,1,0\n0,0,3,2,2,2,3,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,4,1,1,1,1,1,1\n0,0,0,3,0,5,0,0,0,1,1,0,1,1\n1,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,6,2,0,6,2,4,1,1,1,0,1,0\n1,0,5,2,2,8,1,0,0,1,1,1,1,0\n1,0,2,1,1,2,3,0,1,1,1,0,1,0\n1,3,3,2,0,8,2,4,1,1,1,0,1,0\n1,0,2,1,1,7,5,2,1,1,1,1,1,0\n1,2,0,3,0,9,2,0,1,1,1,2,1,1\n1,0,7,1,0,2,0,4,0,1,1,2,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,6,2,0,7,0,0,0,1,1,0,1,0\n2,0,3,2,1,4,3,0,0,1,1,0,1,0\n0,0,6,2,1,3,3,0,1,1,1,1,1,1\n0,5,1,2,2,12,3,4,1,1,1,0,1,0\n2,2,12,1,0,10,0,0,0,1,1,0,1,0\n0,0,0,3,2,2,3,0,1,1,1,1,1,0\n1,3,5,2,0,8,0,0,0,1,1,0,1,1\n1,1,10,3,1,5,5,0,0,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,2,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,1,1,3,0,1,1,1,0,1,0\n2,1,3,2,0,2,2,0,1,1,1,1,1,1\n1,0,6,2,0,10,2,0,1,1,1,1,1,0\n1,1,1,2,0,3,2,0,1,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n2,0,2,1,4,10,5,4,1,1,1,0,1,0\n1,2,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,4,1,1,1,1,1,1\n2,0,3,2,4,8,5,4,0,1,1,2,1,0\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n0,0,1,2,2,10,3,0,1,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,2,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,12,1,2,7,3,4,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,12,1,1,1,3,2,1,1,1,0,1,0\n2,3,3,2,0,8,2,4,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,10,3,1,4,3,0,0,1,1,1,1,0\n0,0,6,2,2,12,3,0,1,1,1,1,1,0\n1,0,5,2,0,5,2,0,1,1,1,2,1,1\n2,0,4,3,0,10,2,0,1,1,1,2,1,1\n0,0,0,3,2,5,1,1,1,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n2,5,10,3,0,5,2,0,1,1,1,2,1,0\n0,0,1,2,2,6,1,0,0,1,1,2,1,0\n1,0,3,2,0,8,2,0,1,1,1,2,1,0\n1,0,3,2,1,2,5,0,0,1,1,1,1,0\n0,0,6,2,2,8,1,0,0,1,1,0,1,0\n0,0,2,1,2,8,1,1,0,1,1,2,1,0\n0,1,1,2,2,2,3,0,1,1,1,2,1,0\n1,1,3,2,5,1,3,0,1,1,1,0,1,0\n2,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,2,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n1,4,0,3,0,5,2,4,1,1,1,0,1,1\n0,0,12,1,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,5,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n2,3,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,10,3,1,4,5,0,1,1,1,1,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,1,4,3,0,0,1,1,1,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n1,5,3,2,0,8,2,0,1,1,1,2,1,1\n0,0,3,2,2,6,4,2,1,1,1,0,1,0\n0,2,2,1,0,1,2,0,1,1,1,1,1,1\n0,0,2,1,1,3,3,0,1,1,1,1,1,1\n0,0,0,3,1,3,3,0,0,1,1,1,1,0\n1,1,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,7,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,1,1,0\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,5,2,0,1,2,0,1,1,1,1,1,0\n2,5,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,4,0,1,1,2,1,0\n1,5,1,2,0,8,2,4,1,1,1,0,1,0\n0,0,1,2,5,5,5,4,1,1,1,0,1,0\n0,1,6,2,0,5,2,0,1,1,1,1,1,1\n1,2,0,3,0,5,2,0,1,1,1,2,1,1\n2,1,6,2,0,5,2,0,1,1,1,1,1,0\n2,2,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,1,2,3,1,1,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,1\n2,0,0,3,0,8,0,0,0,1,1,2,1,0\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,4,7,1,2,2,1,4,1,1,1,2,1,0\n1,4,0,3,0,12,2,0,1,1,1,0,1,0\n1,5,7,1,1,2,3,0,0,1,1,0,1,0\n0,0,1,2,1,4,5,0,0,1,1,0,1,0\n0,0,1,2,2,9,1,0,0,1,1,0,1,0\n0,4,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,1,2,2,6,3,4,1,1,1,2,1,0\n0,0,3,2,1,2,5,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,4,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n1,0,12,1,0,7,2,0,1,1,1,0,1,1\n1,0,10,3,1,4,5,0,0,1,1,0,1,1\n1,0,12,1,0,10,2,4,1,1,1,1,1,1\n1,0,1,2,1,2,3,0,0,1,1,0,1,0\n0,0,5,2,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,12,1,0,7,0,0,0,1,1,0,1,0\n0,0,3,2,3,2,3,4,1,1,1,0,1,0\n0,5,3,2,1,8,1,0,0,1,1,2,1,0\n2,0,4,3,0,5,2,0,1,1,1,1,1,0\n1,4,3,2,3,12,3,0,1,1,1,0,1,0\n2,4,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,2,3,1,0,1,1,1,2,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,12,1,2,7,5,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,12,1,2,6,1,0,1,1,1,2,1,0\n2,0,8,0,1,7,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,9,1,1,10,5,4,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,1,1,1,2,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,4,4,0,1,1,2,1,0\n0,0,9,1,2,6,1,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,8,0,0,12,2,0,1,1,1,0,1,0\n1,3,3,2,3,2,4,4,0,1,1,0,1,0\n1,0,1,2,2,2,3,4,0,1,1,2,1,0\n0,0,1,2,0,9,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,3,4,1,1,1,0,1,0\n1,4,0,3,0,1,2,0,1,1,1,0,1,0\n1,0,5,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,0,6,2,0,8,2,0,1,1,1,0,1,0\n1,1,3,2,2,9,3,0,1,1,1,1,1,0\n0,5,1,2,2,0,3,0,1,1,1,1,1,0\n0,4,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,1,8,3,0,1,1,1,0,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,1,4,5,0,1,1,1,1,1,0\n0,1,3,2,1,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,4,1,0,0,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n2,0,1,2,0,12,2,0,1,1,1,2,1,0\n0,4,0,3,0,5,2,0,1,1,1,0,1,0\n1,1,0,3,0,2,2,0,1,1,1,2,1,0\n0,0,3,2,2,5,3,0,1,1,1,1,1,1\n0,4,3,2,0,8,0,0,0,1,1,1,1,0\n1,0,0,3,2,3,3,4,0,1,1,0,1,0\n0,0,2,1,2,7,1,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,2,1,0,1,2,0,1,1,1,1,1,0\n2,5,3,2,1,4,3,0,0,1,1,1,1,0\n0,5,1,2,2,5,1,0,0,1,1,2,1,0\n2,0,3,2,0,7,2,4,1,1,1,0,1,1\n1,5,3,2,0,0,2,0,1,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,2,1,0\n1,0,3,2,3,1,1,0,1,1,1,0,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,2,5,1,1,1,1,0,1,0\n2,1,9,1,1,3,3,0,0,1,1,1,1,0\n1,0,5,2,0,5,0,0,0,1,1,2,1,1\n1,0,10,3,0,5,2,0,1,1,1,2,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,1,0,1,1,1,2,1,0\n2,0,3,2,0,5,2,0,1,1,1,0,1,1\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,0,0,0,1,1,2,1,0\n0,0,2,1,2,1,4,0,1,1,1,0,1,0\n1,4,3,2,0,10,2,0,1,1,1,0,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,1\n1,1,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,2,1,1,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,3,0,1,1,2,1,0\n2,1,4,3,0,5,2,0,1,1,1,2,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,0,0,0,1,1,1,1,1\n1,0,3,2,0,7,0,0,0,1,1,0,1,0\n1,0,2,1,0,2,2,0,1,1,1,1,1,0\n2,4,3,2,1,2,3,0,0,1,1,2,1,0\n1,5,5,2,0,8,2,0,1,1,1,0,1,1\n0,0,14,0,2,9,3,0,1,1,1,2,1,0\n1,0,11,0,0,7,2,0,1,1,1,0,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,12,1,1,2,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,1,1,0\n0,2,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,0,3,2,1,2,4,4,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n2,5,10,3,0,5,2,0,1,1,1,2,1,1\n2,1,4,3,0,5,0,0,0,1,1,2,1,0\n2,2,3,2,0,8,0,0,0,1,1,2,1,1\n0,0,1,2,0,7,2,4,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,12,1,1,8,3,4,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,1,7,1,0,1,2,0,1,1,1,2,1,0\n0,1,3,2,2,3,1,0,1,1,1,0,1,0\n0,4,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n2,1,12,1,0,1,2,0,1,1,1,2,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,2,5,3,0,1,1,1,0,1,0\n2,0,8,0,0,12,2,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,4,1,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,5,2,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,2,4,5,0,1,1,1,1,1,0\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,0,5,2,0,8,0,0,0,1,1,0,1,1\n1,0,10,3,1,4,5,0,1,1,1,1,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,3,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,0,0,0,1,1,0,1,0\n0,1,3,2,2,10,1,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,2,3,4,0,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,7,1,1,2,3,0,0,1,1,2,1,0\n1,0,13,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,1,1,1,1,1,0\n1,5,3,2,0,4,0,0,0,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,4,1,1,1,0,1,1\n1,0,3,2,0,4,0,0,0,1,1,1,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n2,0,10,3,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,1,8,5,4,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,1,1,3,0,0,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,7,3,1,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n3,0,3,2,4,3,4,0,0,1,1,2,1,0\n1,0,9,1,0,7,2,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,4,1,1,1,0,1,0\n1,0,1,2,1,8,5,2,0,1,1,0,1,0\n1,0,0,3,1,8,3,0,0,1,1,0,1,0\n1,0,10,3,0,5,2,1,1,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,4,3,2,0,12,2,0,1,1,1,1,1,0\n1,0,0,3,1,3,3,0,1,1,1,1,1,1\n1,4,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n1,0,1,2,1,1,3,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,1,3,3,0,1,1,1,1,1,0\n1,0,10,3,0,5,0,0,0,1,1,1,1,1\n0,0,6,2,0,2,2,0,1,1,1,1,1,0\n0,0,10,3,2,4,1,0,1,1,1,1,1,0\n1,0,1,2,2,4,3,4,1,1,1,0,1,0\n0,0,3,2,2,3,3,4,1,1,1,0,1,0\n0,0,0,3,2,2,3,0,1,1,1,2,1,0\n0,0,6,2,2,3,3,0,1,1,1,1,1,0\n2,1,0,3,0,4,2,0,1,1,1,2,1,1\n0,0,0,3,2,1,4,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n2,4,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,2,1,0,2,0,0,0,1,1,2,1,0\n1,0,8,0,1,1,3,0,0,1,1,2,1,0\n1,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,4,4,3,0,0,1,1,1,1,0\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n1,0,2,1,4,8,5,0,0,1,1,0,1,0\n1,0,3,2,2,7,3,0,0,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n2,0,12,1,1,7,3,0,0,1,1,0,1,0\n1,1,3,2,0,4,2,4,1,1,1,1,1,1\n0,0,0,3,0,4,1,0,0,1,1,0,1,0\n1,1,0,3,1,4,3,1,1,1,1,1,1,0\n1,1,3,2,2,9,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,1,2,0,5,0,0,0,1,1,1,1,1\n1,0,0,3,1,8,5,0,0,1,1,0,1,0\n0,0,12,1,2,7,1,4,1,1,1,1,1,0\n1,0,10,3,1,4,3,0,0,1,1,1,1,1\n1,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,0,3,2,2,6,4,4,1,1,1,0,1,0\n0,0,2,1,0,7,2,0,1,1,1,0,1,0\n2,0,3,2,0,12,2,0,1,1,1,2,1,0\n0,0,1,2,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,5,12,3,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,0,2,0,4,0,1,1,0,1,1\n0,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,0,2,1,0,7,2,0,1,1,1,0,1,0\n2,4,3,2,4,9,5,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,5,2,2,8,3,0,1,1,1,2,1,0\n1,4,0,3,5,5,3,0,0,1,1,1,1,1\n0,4,10,3,0,5,0,0,0,1,1,2,1,1\n1,0,10,3,0,4,2,1,1,1,1,0,1,1\n1,0,5,2,1,8,5,0,0,1,1,0,1,0\n2,0,14,0,5,6,5,0,0,1,1,0,1,0\n0,3,7,1,0,0,2,0,1,1,1,0,1,0\n1,0,5,2,1,1,3,0,1,1,1,0,1,0\n1,0,7,1,2,2,5,0,0,1,1,1,1,0\n1,0,10,3,2,8,3,1,0,1,1,0,1,0\n0,0,1,2,0,7,2,4,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n0,0,5,2,0,6,2,4,1,1,1,0,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,1\n2,0,8,0,1,3,3,0,0,1,1,0,1,0\n0,0,0,3,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,4,8,5,4,0,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,2,4,3,0,5,2,1,1,1,1,0,1,1\n1,0,3,2,2,4,3,0,1,1,1,0,1,0\n1,5,10,3,2,5,3,0,1,1,1,2,1,0\n2,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n3,4,8,0,0,12,2,0,1,1,1,2,1,0\n1,2,3,2,1,4,5,0,1,1,1,2,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,6,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,10,2,0,1,1,1,1,1,1\n0,0,2,1,4,3,1,4,0,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,1,4,1,1,1,0,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,5,0,0,1,1,0,1,0\n1,5,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,8,0,0,6,2,0,1,1,1,0,1,0\n0,0,8,0,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,0,3,1,4,5,0,1,1,1,0,1,1\n0,1,3,2,2,5,5,0,0,1,1,0,1,1\n1,4,3,2,1,8,5,4,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,1,10,5,0,0,1,1,1,1,0\n0,5,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,4,3,3,0,0,1,1,0,1,0\n1,4,1,2,0,5,2,0,1,1,1,2,1,0\n1,5,10,3,1,5,3,0,0,1,1,2,1,0\n2,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n2,0,10,3,0,3,2,0,1,1,1,0,1,0\n2,0,3,2,0,9,2,0,1,1,1,2,1,0\n0,0,1,2,1,8,5,0,1,1,1,0,1,0\n1,0,0,3,0,8,2,1,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n0,4,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,0,3,0,1,0,0,0,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,8,0,2,10,3,2,1,1,1,0,1,0\n1,3,3,2,2,10,3,4,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,2,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,7,1,2,6,1,4,1,1,1,2,1,0\n0,0,0,3,1,1,5,0,1,1,1,1,1,0\n0,1,3,2,2,10,5,4,1,1,1,1,1,0\n0,4,0,3,2,5,1,0,0,1,1,0,1,0\n1,5,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n1,4,5,2,0,8,0,0,0,1,1,2,1,1\n0,0,3,2,1,3,3,0,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n2,4,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,4,0,1,1,1,0,1,0\n1,4,3,2,0,12,2,1,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,3,3,2,1,8,3,0,0,1,1,1,1,0\n1,0,7,1,1,2,3,0,1,1,1,2,1,0\n0,1,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,12,1,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,4,1,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,5,0,3,2,8,3,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,0,1,2,0,3,2,4,1,1,1,0,1,1\n1,0,1,2,3,4,3,0,1,1,1,1,1,1\n1,1,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,1,8,3,0,0,1,1,1,1,0\n0,0,3,2,2,2,5,0,1,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n1,1,3,2,0,5,0,0,0,1,1,0,1,1\n0,3,0,3,2,4,3,4,1,1,1,1,1,0\n0,4,1,2,2,4,5,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,1,1,0\n2,0,3,2,2,3,3,0,0,1,1,0,1,0\n2,1,1,2,0,9,2,0,1,1,1,1,1,1\n0,1,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,1,2,0,4,0,0,0,1,1,2,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n2,0,1,2,4,4,3,0,0,1,1,2,1,0\n0,0,3,2,1,2,4,0,1,1,1,0,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,1\n2,0,1,2,4,3,3,0,1,1,1,0,1,0\n1,4,0,3,3,4,3,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,2,1,2,10,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,1,0,1,1,1,1,1,0\n2,6,8,0,4,9,5,0,0,1,1,1,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,4,10,3,1,5,5,0,0,1,1,1,1,0\n0,1,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,12,1,0,10,2,0,1,1,1,2,1,0\n1,0,7,1,0,10,2,0,1,1,1,1,1,0\n1,0,2,1,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,2,7,5,0,1,1,1,1,1,0\n1,2,4,3,0,4,2,0,1,1,1,0,1,0\n1,0,11,0,0,1,2,0,1,1,1,1,1,0\n1,1,1,2,1,1,3,0,1,1,1,0,1,0\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,4,6,2,0,12,2,4,1,1,1,1,1,0\n0,4,0,3,2,5,1,0,1,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,3,8,5,0,0,1,1,0,1,0\n1,0,10,3,0,1,2,4,1,1,1,0,1,1\n1,0,1,2,0,0,2,0,1,1,1,2,1,1\n0,0,0,3,2,3,1,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n2,0,10,3,2,5,3,0,1,1,1,1,1,0\n1,0,1,2,1,8,3,0,1,1,1,1,1,0\n0,0,8,0,0,7,4,1,0,1,1,1,1,0\n0,0,3,2,0,0,4,0,0,1,1,1,1,1\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n3,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,4,0,3,3,5,5,4,1,1,1,0,1,0\n0,0,0,3,5,4,5,0,0,1,1,0,1,0\n1,5,0,3,0,4,2,0,1,1,1,0,1,1\n0,4,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,1,2,0,9,2,0,1,1,1,1,1,0\n2,0,12,1,0,3,2,0,1,1,1,0,1,0\n0,4,3,2,1,12,5,4,0,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n0,4,2,1,2,8,4,0,0,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,10,3,1,5,3,0,0,1,1,0,1,0\n1,5,3,2,2,8,5,4,0,1,1,0,1,0\n0,5,0,3,0,5,2,0,1,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,1,0,3,0,4,2,0,1,1,1,0,1,0\n3,4,3,2,0,4,2,0,1,1,1,2,1,0\n0,0,0,3,2,5,3,4,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,12,1,0,12,2,0,1,1,1,0,1,0\n1,0,2,1,2,10,1,0,1,1,1,2,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n2,0,3,2,4,2,3,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,2,10,5,0,1,1,1,2,1,0\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,2,8,5,4,0,1,1,0,1,0\n2,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,1,3,2,0,3,2,1,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n0,0,10,3,2,5,3,0,1,1,1,0,1,1\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,0,3,5,5,3,1,1,1,1,0,1,1\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n1,1,2,1,0,9,2,0,1,1,1,1,1,1\n1,4,12,1,1,6,1,4,1,1,1,0,1,0\n1,4,4,3,1,5,3,0,0,1,1,1,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,3,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n2,2,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,4,0,1,1,2,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,1,2,2,3,3,0,1,1,1,1,1,1\n1,0,3,2,1,4,5,0,1,1,1,2,1,0\n0,0,0,3,2,4,5,0,0,1,1,1,1,1\n1,0,1,2,1,7,3,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n3,1,10,3,5,5,3,0,0,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,5,3,2,1,1,5,0,1,1,1,2,1,0\n0,0,3,2,2,1,5,0,1,1,1,2,1,0\n0,0,1,2,2,3,4,0,0,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,0,1,0\n3,0,7,1,0,4,0,1,0,1,1,1,1,1\n1,0,0,3,3,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,9,1,4,1,1,1,2,1,0\n2,0,1,2,2,8,4,4,0,1,1,0,1,0\n0,0,8,0,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n0,0,1,2,5,2,3,0,0,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,10,3,2,5,3,0,1,1,1,1,1,0\n2,3,3,2,2,8,3,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,2,1,2,1,1,0,1,1,1,0,1,0\n0,4,5,2,0,2,0,0,0,1,1,0,1,0\n1,0,13,3,2,5,3,0,1,1,1,0,1,0\n0,0,1,2,1,2,4,0,1,1,1,0,1,0\n0,0,5,2,1,2,1,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,6,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,3,1,2,0,0,2,0,1,1,1,0,1,0\n0,5,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,5,2,0,4,0,0,0,1,1,0,1,1\n2,1,1,2,0,5,0,0,0,1,1,2,1,1\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n0,0,2,1,0,3,1,4,1,1,1,2,1,0\n0,0,3,2,3,4,5,0,0,1,1,1,1,0\n1,0,12,1,0,1,2,0,1,1,1,2,1,0\n1,5,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,5,0,1,1,1,0,1,0\n2,0,8,0,4,2,5,4,0,1,1,2,1,0\n1,0,1,2,0,9,2,0,1,1,1,2,1,0\n0,1,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,1,4,3,0,1,1,1,1,1,0\n0,1,12,1,2,8,1,0,1,1,1,2,1,0\n1,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,5,5,1,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,4,4,1,1,1,2,1,0\n0,0,1,2,2,3,5,0,1,1,1,1,1,0\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n0,4,8,0,0,10,2,0,1,1,1,0,1,0\n1,5,6,2,2,5,3,0,1,1,1,0,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,9,1,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,1,2,3,1,0,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n1,4,10,3,0,4,2,0,1,1,1,0,1,1\n2,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,11,5,0,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,4,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,2,0,1,0,1,1,2,1,1\n0,0,1,2,1,4,1,0,1,1,1,1,1,0\n1,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,2,1,0,9,2,0,1,1,1,0,1,0\n1,4,1,2,0,4,2,4,1,1,1,0,1,1\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n0,3,3,2,2,8,1,4,1,1,1,0,1,0\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,1,1,2,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,2,9,1,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n2,4,3,2,3,12,5,4,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,3,4,5,0,0,1,1,1,1,0\n1,0,3,2,1,7,3,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,2,5,2,0,3,2,0,1,1,1,2,1,1\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n0,3,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,3,2,0,2,2,0,1,1,1,1,1,1\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,1,3,3,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,1,1,1,1,2,1,0\n2,4,3,2,1,8,3,0,0,1,1,1,1,0\n1,0,1,2,0,5,2,0,1,1,1,1,1,1\n1,5,0,3,1,4,3,0,0,1,1,0,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,1,1,5,0,0,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,5,1,4,4,0,1,1,2,1,0\n2,4,3,2,0,9,2,0,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,0,12,2,0,1,1,1,1,1,1\n1,0,1,2,3,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,2,1,1\n2,0,3,2,2,3,5,0,0,1,1,0,1,0\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,5,1,2,2,0,1,0,0,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,4,10,3,1,5,3,0,0,1,1,2,1,0\n1,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,1,1,0\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n0,0,3,2,2,12,1,4,1,1,1,2,1,0\n0,0,0,3,2,0,1,0,1,1,1,0,1,0\n1,0,14,0,2,11,1,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n1,4,3,2,0,2,0,4,0,1,1,2,1,1\n1,5,1,2,0,5,2,0,1,1,1,1,1,0\n0,5,2,1,3,8,5,1,0,1,1,0,1,0\n1,4,10,3,1,5,5,0,0,1,1,1,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,10,3,2,4,3,0,0,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,3,3,1,0,1,1,0,1,0\n2,0,1,2,2,11,3,0,0,1,1,0,1,0\n1,3,1,2,1,8,4,0,0,1,1,0,1,0\n1,0,3,2,2,2,3,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,4,10,3,4,5,5,0,0,1,1,2,1,0\n1,0,3,2,4,0,5,0,1,1,1,0,1,0\n2,4,1,2,4,8,5,0,0,1,1,0,1,0\n1,0,10,3,1,5,1,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,5,1,0,0,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,5,0,3,1,5,3,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,2,1,2,7,3,4,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,2,1,1\n3,0,12,1,4,11,3,0,0,1,1,1,1,0\n0,0,1,2,0,1,2,4,1,1,1,0,1,0\n0,2,0,3,0,3,2,0,1,1,1,1,1,1\n2,2,10,3,0,3,2,0,1,1,1,1,1,1\n1,1,14,0,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,2,1,2,1,1,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,4,0,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,1,6,2,1,3,5,0,1,1,1,1,1,0\n2,0,12,1,3,11,3,4,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,3,12,1,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,7,1,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,0,0,0,1,1,0,1,1\n2,0,1,2,0,1,2,0,1,1,1,1,1,0\n2,4,3,2,1,8,3,0,0,1,1,2,1,0\n1,0,5,2,0,7,2,0,1,1,1,0,1,1\n2,1,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,5,2,0,4,0,0,0,1,1,1,1,1\n1,1,10,3,1,3,5,0,1,1,1,2,1,1\n0,1,8,0,0,9,2,0,1,1,1,1,1,0\n2,2,10,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,1,1,4,0,1,1,1,0,1,0\n1,1,10,3,1,5,3,0,1,1,1,0,1,0\n0,0,0,3,2,7,3,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n3,3,1,2,4,10,3,0,0,1,1,2,1,0\n1,0,2,1,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,9,1,3,8,1,4,0,1,1,0,1,0\n0,0,7,1,0,6,4,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,0,0,3,0,8,0,0,0,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,0,6,2,0,9,2,0,1,1,1,1,1,0\n0,3,5,2,0,8,2,0,1,1,1,1,1,0\n2,0,0,3,4,8,5,0,0,1,1,0,1,0\n1,4,0,3,2,5,1,0,0,1,1,1,1,0\n0,0,3,2,3,4,5,0,0,1,1,2,1,0\n1,0,3,2,0,7,0,4,0,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,3,4,0,1,1,0,1,0\n0,1,0,3,0,3,2,1,1,1,1,1,1,0\n1,4,3,2,4,12,3,4,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n2,1,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,5,4,0,1,1,0,1,0\n1,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,0,12,1,2,1,3,0,1,1,1,2,1,0\n2,5,3,2,3,2,3,0,0,1,1,2,1,0\n0,0,8,0,2,1,1,4,1,1,1,0,1,0\n0,0,2,1,2,10,5,0,1,1,1,0,1,0\n0,5,0,3,2,0,3,0,1,1,1,2,1,0\n0,0,3,2,3,8,5,0,0,1,1,0,1,0\n0,4,0,3,3,5,3,0,0,1,1,1,1,1\n1,0,5,2,0,8,0,4,0,1,1,0,1,1\n1,0,8,0,0,10,2,0,1,1,1,0,1,0\n2,1,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,2,4,1,0,0,1,1,0,1,0\n1,0,3,2,2,3,3,4,1,1,1,0,1,0\n0,0,6,2,0,3,2,0,1,1,1,1,1,1\n0,0,8,0,0,7,2,0,1,1,1,0,1,0\n1,0,6,2,1,5,5,0,0,1,1,0,1,0\n2,0,3,2,0,0,0,0,0,1,1,0,1,1\n1,5,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,0,5,0,0,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,1,1,0\n1,3,4,3,0,5,2,0,1,1,1,1,1,1\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,6,2,0,6,2,0,1,1,1,0,1,1\n1,0,5,2,0,1,2,0,1,1,1,1,1,1\n2,3,1,2,1,4,5,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n2,1,10,3,1,3,3,0,1,1,1,2,1,0\n2,4,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,3,0,3,0,8,2,1,1,1,1,0,1,1\n1,0,0,3,1,4,5,0,0,1,1,1,1,0\n1,5,1,2,2,8,5,0,0,1,1,0,1,0\n1,0,13,3,0,8,2,0,1,1,1,1,1,1\n0,3,1,2,2,4,3,0,0,1,1,0,1,0\n2,2,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,6,2,3,2,3,4,1,1,1,0,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,10,3,0,3,2,0,1,1,1,0,1,1\n1,4,0,3,2,4,5,1,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,0,0,3,0,1,4,0,1,1,1,1,1,0\n1,0,6,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,1,1,3,0,1,1,1,1,1,0\n0,0,6,2,2,4,1,0,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,9,1,2,7,1,0,1,1,1,2,1,0\n0,4,3,2,2,10,5,4,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,5,0,1,1,1,0,1,0\n0,0,6,2,2,7,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,0,5,2,4,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,2,3,4,0,0,1,1,2,1,0\n0,4,4,3,2,5,3,0,0,1,1,1,1,0\n0,5,1,2,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,1\n0,4,0,3,2,5,5,0,0,1,1,0,1,0\n0,0,13,3,2,5,3,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n1,0,10,3,0,5,2,1,1,1,1,1,1,1\n1,4,0,3,0,5,2,0,1,1,1,2,1,1\n0,0,1,2,0,12,4,4,0,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,0,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,1,1,5,0,0,1,1,0,1,0\n0,0,6,2,2,7,1,0,1,1,1,0,1,0\n0,1,3,2,2,1,4,0,1,1,1,2,1,0\n0,0,0,3,1,8,5,0,0,1,1,1,1,0\n1,1,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,1,2,3,8,5,0,0,1,1,0,1,0\n1,1,0,3,1,4,3,0,1,1,1,1,1,0\n1,0,3,2,3,3,3,0,0,1,1,0,1,0\n0,0,1,2,1,0,3,0,1,1,1,1,1,0\n3,0,1,2,2,2,3,1,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,0,2,0,0,0,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,5,3,2,4,8,3,0,0,1,1,2,1,0\n2,0,8,0,4,10,3,0,1,1,1,2,1,0\n1,0,1,2,5,5,3,0,1,1,1,0,1,1\n0,0,0,3,0,3,0,0,0,1,1,0,1,1\n0,4,5,2,2,8,1,2,0,1,1,0,1,0\n1,0,0,3,0,8,0,0,0,1,1,0,1,0\n2,0,1,2,4,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n2,2,3,2,2,3,3,0,1,1,1,1,1,0\n2,5,10,3,0,5,2,0,1,1,1,1,1,1\n2,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n2,3,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,4,1,5,0,1,1,1,0,1,0\n2,0,2,1,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,1,3,3,0,1,1,1,1,1,0\n1,3,1,2,0,4,0,1,0,1,1,0,1,1\n0,0,6,2,1,5,3,0,1,1,1,0,1,0\n0,1,2,1,0,10,2,0,1,1,1,1,1,1\n0,0,2,1,3,10,3,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,2,1,5,7,3,0,1,1,1,0,1,0\n0,0,12,1,2,10,1,0,1,1,1,2,1,0\n0,0,3,2,2,0,1,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,1,1,1,1,0,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,1,3,2,2,9,3,0,1,1,1,2,1,0\n0,0,2,1,2,2,5,4,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,1,6,2,0,0,2,0,1,1,1,1,1,0\n0,0,7,1,2,6,1,0,1,1,1,0,1,0\n2,1,9,1,0,1,2,0,1,1,1,0,1,1\n0,3,1,2,2,4,3,4,1,1,1,0,1,0\n0,0,5,2,1,4,3,0,0,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,9,2,0,1,1,1,0,1,0\n0,0,5,2,0,3,2,0,1,1,1,2,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,4,1,1,1,0,1,0\n1,0,1,2,3,2,3,4,0,1,1,2,1,0\n0,0,6,2,2,8,3,0,1,1,1,1,1,0\n0,2,10,3,3,5,3,0,0,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,7,1,0,6,2,0,1,1,1,1,1,0\n1,5,3,2,0,12,2,0,1,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,13,3,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,1,3,3,4,0,1,1,0,1,0\n1,0,3,2,2,3,3,4,0,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,1,2,3,8,5,0,0,1,1,0,1,0\n1,0,1,2,1,4,3,0,1,1,1,0,1,0\n0,0,2,1,2,1,1,0,1,1,1,2,1,0\n2,0,8,0,5,2,5,2,0,1,1,0,1,0\n0,0,1,2,2,4,1,0,0,1,1,2,1,0\n2,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,1,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,0,9,2,0,1,1,1,1,1,0\n0,0,8,0,0,10,2,0,1,1,1,1,1,0\n1,4,0,3,0,8,2,0,1,1,1,0,1,0\n0,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n0,0,9,1,2,7,3,0,1,1,1,0,1,0\n1,0,10,3,2,5,3,0,0,1,1,1,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,1,7,3,0,1,1,1,2,1,0\n0,5,1,2,2,8,3,4,0,1,1,0,1,0\n0,0,1,2,2,7,1,2,1,1,1,0,1,0\n2,0,8,0,0,2,2,0,1,1,1,2,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,6,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,2,1,0,2,0,0,0,1,1,0,1,0\n1,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n1,0,12,1,0,2,2,0,1,1,1,0,1,0\n1,4,1,2,1,8,5,0,0,1,1,1,1,0\n0,0,1,2,2,4,1,1,1,1,1,0,1,0\n1,0,1,2,2,9,3,0,1,1,1,0,1,0\n1,0,0,3,1,4,5,0,1,1,1,1,1,1\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n2,1,7,1,0,9,2,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,3,3,0,1,1,1,0,1,0\n0,1,9,1,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,4,8,3,0,0,1,1,2,1,0\n0,0,2,1,0,10,2,0,1,1,1,1,1,0\n0,1,0,3,2,3,3,0,1,1,1,0,1,0\n2,0,7,1,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,1\n2,2,4,3,0,5,2,0,1,1,1,2,1,1\n1,0,3,2,2,3,1,0,0,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,1,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,4,3,0,3,2,1,1,1,1,2,1,0\n1,5,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n1,4,1,2,2,2,5,4,0,1,1,0,1,0\n0,5,10,3,2,8,3,0,1,1,1,2,1,0\n1,5,3,2,2,2,3,4,1,1,1,0,1,0\n0,0,1,2,2,0,1,0,0,1,1,2,1,0\n0,2,1,2,0,1,2,0,1,1,1,0,1,0\n0,1,3,2,0,3,2,0,1,1,1,0,1,0\n2,0,7,1,0,7,2,4,1,1,1,2,1,0\n2,4,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,5,2,2,1,4,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n0,0,1,2,0,5,2,2,1,1,1,0,1,0\n0,0,14,0,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,4,3,2,2,12,3,4,0,1,1,0,1,0\n0,0,12,1,3,2,1,0,0,1,1,2,1,0\n1,0,0,3,1,3,3,0,0,1,1,0,1,0\n0,0,6,2,2,2,5,0,0,1,1,2,1,0\n0,0,12,1,2,3,3,3,1,1,1,0,1,0\n0,1,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n1,0,3,2,1,7,3,0,0,1,1,0,1,0\n2,1,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,4,1,2,3,8,5,0,0,1,1,2,1,0\n0,1,6,2,1,1,1,0,1,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,1,5,2,2,1,3,0,1,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,6,2,1,12,3,4,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,1,7,3,0,0,1,1,1,1,0\n1,0,3,2,1,3,4,0,0,1,1,0,1,0\n1,0,0,3,1,3,3,0,1,1,1,0,1,0\n1,1,3,2,0,3,0,4,0,1,1,1,1,1\n1,3,10,3,0,0,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,6,2,0,0,4,0,0,1,1,0,1,1\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,10,1,0,0,1,1,2,1,0\n0,0,12,1,3,1,3,0,1,1,1,0,1,0\n2,2,0,3,0,7,2,0,1,1,1,2,1,0\n2,0,3,2,3,6,5,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,8,3,0,1,1,1,0,1,0\n3,1,0,3,0,4,2,0,1,1,1,2,1,0\n1,0,13,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,1,8,0,0,1,2,2,1,1,1,0,1,0\n2,0,1,2,1,3,5,0,0,1,1,1,1,0\n1,0,3,2,1,1,5,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,0,1,1,0,1,0\n0,0,2,1,2,1,1,0,1,1,1,2,1,0\n1,0,3,2,1,4,3,0,1,1,1,1,1,0\n1,0,0,3,0,10,2,0,1,1,1,0,1,1\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,12,1,4,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,1,0,3,5,4,3,0,1,1,1,1,1,0\n2,0,14,0,1,7,3,0,0,1,1,0,1,0\n1,0,3,2,1,1,5,0,0,1,1,1,1,0\n2,0,8,0,0,10,2,0,1,1,1,0,1,0\n2,1,3,2,4,1,3,0,1,1,1,1,1,1\n2,1,4,3,0,3,2,0,1,1,1,2,1,0\n0,1,3,2,2,1,3,0,1,1,1,1,1,1\n0,0,5,2,0,1,3,1,1,1,1,1,1,1\n1,0,3,2,1,12,3,4,1,1,1,2,1,0\n2,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,2,1,2,6,4,4,1,1,1,0,1,0\n0,0,9,1,0,2,0,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,1,2,0,1,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,6,2,3,2,5,0,0,1,1,2,1,0\n2,0,8,0,0,7,2,0,1,1,1,0,1,0\n1,0,6,2,1,7,3,0,1,1,1,0,1,0\n1,4,3,2,1,5,5,1,0,1,1,0,1,0\n0,0,0,3,2,4,4,0,0,1,1,1,1,0\n1,1,0,3,0,4,2,0,1,1,1,2,1,0\n1,3,10,3,2,4,3,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,4,9,1,2,12,1,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,4,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,3,3,2,3,4,5,4,0,1,1,0,1,0\n2,0,6,2,4,8,5,0,0,1,1,2,1,0\n0,0,1,2,0,8,2,4,1,1,1,0,1,1\n0,0,1,2,5,3,3,0,1,1,1,1,1,0\n2,0,3,2,4,7,5,0,1,1,1,0,1,0\n0,0,3,2,1,3,3,0,0,1,1,1,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,1,0,1,1,2,1,0\n2,4,6,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n1,0,3,2,0,9,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,5,3,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,9,1,0,1,1,1,1,1,0\n2,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,4,1,2,2,5,3,0,0,1,1,2,1,0\n2,5,13,3,0,5,2,1,1,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,2,1,0\n1,0,6,2,0,8,0,0,0,1,1,2,1,1\n1,0,7,1,2,7,5,4,0,1,1,0,1,0\n1,0,3,2,1,4,3,0,1,1,1,1,1,0\n2,3,3,2,2,8,5,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,4,1,1,1,2,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,5,10,3,2,5,3,0,1,1,1,2,1,0\n0,1,3,2,2,9,1,0,1,1,1,1,1,0\n2,2,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,2,1,1,7,3,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,12,1,2,3,5,4,0,1,1,0,1,0\n0,2,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,5,0,0,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,11,0,5,7,5,0,0,1,1,0,1,0\n0,0,12,1,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,11,0,1,1,5,0,1,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,4,1,0,1,1,0,1,0\n3,1,3,2,2,7,3,0,1,1,1,2,1,0\n1,0,10,3,2,4,3,4,1,1,1,1,1,1\n0,0,5,2,1,6,5,0,0,1,1,2,1,0\n0,0,12,1,2,1,1,4,0,1,1,0,1,0\n1,0,6,2,1,5,3,0,0,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n2,0,5,2,0,8,2,0,1,1,1,2,1,1\n0,0,0,3,2,8,3,0,1,1,1,1,1,0\n2,3,3,2,0,10,2,2,1,1,1,0,1,0\n1,5,6,2,1,0,5,0,0,1,1,0,1,0\n0,0,3,2,1,4,3,0,0,1,1,1,1,1\n0,0,12,1,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,0,2,2,3,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n1,5,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,4,2,0,1,1,2,1,0\n0,0,3,2,0,10,2,4,1,1,1,2,1,0\n0,5,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,4,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n3,0,4,3,4,8,3,4,0,1,1,2,1,0\n0,0,14,0,2,10,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,6,2,0,3,2,0,1,1,1,0,1,1\n1,2,3,2,0,6,2,0,1,1,1,0,1,0\n1,3,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,10,3,2,3,3,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,2,1,1,1,1,1,0\n0,0,0,3,2,1,3,0,0,1,1,0,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,1\n1,1,12,1,0,1,2,0,1,1,1,1,1,0\n1,3,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,6,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,4,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,3,2,1,2,0,3,0,1,1,1,0,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,1\n2,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,5,10,3,0,5,2,0,1,1,1,0,1,0\n0,5,1,2,2,8,3,0,0,1,1,2,1,0\n0,0,0,3,0,4,0,0,0,1,1,0,1,1\n0,1,2,1,0,1,2,0,1,1,1,0,1,0\n1,4,0,3,1,5,3,0,0,1,1,1,1,0\n0,2,1,2,2,8,1,0,0,1,1,1,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,1,3,2,4,2,3,0,0,1,1,2,1,0\n1,0,8,0,0,3,2,3,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,4,0,1,1,0,1,0\n1,0,10,3,5,4,3,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,1,1,1,1,0,1,0\n1,0,1,2,0,4,2,1,1,1,1,1,1,0\n0,0,0,3,2,8,4,1,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,4,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,3,4,3,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n1,0,3,2,3,7,5,0,0,1,1,0,1,0\n1,5,6,2,1,5,5,0,0,1,1,1,1,1\n1,0,0,3,1,4,3,0,0,1,1,0,1,1\n2,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n1,0,14,0,0,2,2,0,1,1,1,1,1,0\n1,1,1,2,3,2,1,0,0,1,1,0,1,0\n1,0,1,2,4,4,3,0,0,1,1,0,1,1\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,0,11,0,2,3,1,0,1,1,1,0,1,0\n1,0,4,3,2,5,3,0,1,1,1,1,1,0\n0,0,8,0,2,2,3,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,5,0,1,1,1,0,1,0\n0,0,1,2,2,9,3,0,0,1,1,1,1,0\n2,0,1,2,4,0,5,0,0,1,1,0,1,0\n0,4,0,3,0,5,2,0,1,1,1,2,1,0\n2,0,1,2,0,5,2,0,1,1,1,0,1,0\n2,4,0,3,5,5,3,0,1,1,1,0,1,0\n1,0,3,2,0,0,2,0,1,1,1,0,1,1\n3,4,0,3,0,4,2,0,1,1,1,2,1,0\n0,3,1,2,2,8,5,4,0,1,1,0,1,0\n1,0,3,2,1,5,3,0,1,1,1,1,1,0\n2,5,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,10,2,0,1,1,1,1,1,0\n2,0,7,1,0,1,2,0,1,1,1,0,1,0\n2,1,0,3,0,8,2,0,1,1,1,2,1,0\n1,4,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,1,2,1,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,1,3,2,1,9,3,0,1,1,1,0,1,0\n1,5,10,3,1,5,3,0,0,1,1,1,1,0\n2,1,12,1,1,3,1,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n2,3,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,1,0,5,0,0,1,1,0,1,0\n0,4,3,2,0,6,4,0,1,1,1,1,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,4,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,1\n0,0,2,1,2,1,1,0,1,1,1,2,1,0\n3,0,6,2,4,8,3,0,0,1,1,0,1,0\n1,5,10,3,0,5,0,0,0,1,1,2,1,1\n1,0,0,3,1,4,3,2,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,4,1,2,2,8,5,2,0,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,2,1,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,4,1,0,0,1,1,0,1,0\n1,4,0,3,1,5,5,0,0,1,1,1,1,1\n0,0,10,3,2,5,3,0,0,1,1,0,1,1\n0,3,0,3,2,5,3,0,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,0,11,4,4,0,1,1,2,1,0\n2,0,4,3,0,5,2,0,1,1,1,2,1,1\n0,0,1,2,2,2,3,0,1,1,1,1,1,0\n1,2,1,2,1,4,5,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,4,3,2,0,12,2,0,1,1,1,0,1,1\n2,0,3,2,1,3,4,0,0,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,1,1,1\n1,0,3,2,2,4,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,5,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,1,2,5,4,1,1,1,2,1,0\n0,5,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,4,1,1,1,0,1,0\n2,0,1,2,1,4,4,0,0,1,1,2,1,0\n1,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,7,1,2,7,1,0,0,1,1,2,1,0\n1,0,6,2,1,3,3,0,1,1,1,1,1,0\n1,1,8,0,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n3,1,8,0,0,9,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,0,1,2,3,4,3,4,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,3,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,0,3,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,4,1,2,2,12,1,0,1,1,1,0,1,0\n0,3,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,0,3,1,4,3,0,0,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,3,4,1,1,1,0,1,0\n2,0,0,3,0,0,2,0,1,1,1,2,1,1\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n0,1,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,3,2,3,8,3,0,0,1,1,0,1,0\n1,0,3,2,1,2,3,0,1,1,1,1,1,0\n2,0,1,2,0,5,2,0,1,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,4,0,1,1,0,1,0\n1,3,10,3,1,12,3,0,1,1,1,1,1,1\n2,0,14,0,2,6,3,4,1,1,1,0,1,0\n2,0,5,2,4,8,5,0,0,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,0,1,1,1,1,0\n0,5,10,3,2,5,3,0,0,1,1,1,1,0\n1,2,1,2,1,7,3,0,1,1,1,1,1,0\n2,0,1,2,4,8,3,0,0,1,1,0,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n2,0,3,2,4,3,3,0,0,1,1,2,1,0\n0,0,3,2,1,7,5,4,0,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,3,0,1,1,1,1,1,0\n0,0,2,1,2,2,5,2,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,2,1,2,2,1,4,0,1,1,2,1,0\n0,0,1,2,0,5,2,0,1,1,1,1,1,0\n0,0,10,3,2,5,1,0,1,1,1,2,1,0\n0,0,5,2,0,8,0,0,0,1,1,0,1,0\n0,0,12,1,2,3,1,0,1,1,1,2,1,0\n1,5,10,3,3,5,3,0,1,1,1,2,1,0\n1,0,3,2,4,2,5,4,0,1,1,2,1,0\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,4,2,5,4,0,1,1,2,1,0\n1,0,3,2,0,3,0,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,1,1,1,2,1,0\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n1,0,14,0,0,10,2,0,1,1,1,2,1,0\n1,0,2,1,0,1,2,0,1,1,1,1,1,0\n1,0,11,0,0,7,2,0,1,1,1,0,1,1\n1,0,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n0,3,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,1,1,1,1,1,0\n0,0,12,1,1,1,1,0,1,1,1,0,1,0\n0,4,9,1,2,5,1,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,4,1,1,1,2,1,0\n1,0,3,2,0,4,0,0,0,1,1,1,1,0\n0,5,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n2,1,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n2,4,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n2,1,1,2,0,3,2,0,1,1,1,1,1,1\n2,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,3,1,0,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n2,1,1,2,0,2,0,0,0,1,1,2,1,0\n0,0,12,1,1,3,3,0,0,1,1,0,1,0\n1,0,7,1,0,1,2,0,1,1,1,0,1,0\n1,0,4,3,2,5,3,0,1,1,1,0,1,1\n1,4,4,3,1,5,5,4,0,1,1,0,1,0\n0,5,0,3,0,8,2,4,1,1,1,0,1,0\n1,4,1,2,0,2,2,0,1,1,1,0,1,1\n1,2,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,5,2,0,9,2,0,1,1,1,0,1,0\n0,5,1,2,2,5,1,0,0,1,1,2,1,0\n2,1,3,2,0,3,0,0,0,1,1,2,1,0\n0,0,3,2,3,3,4,0,0,1,1,0,1,0\n0,0,1,2,2,5,3,0,1,1,1,0,1,0\n0,0,6,2,2,2,5,4,0,1,1,0,1,0\n1,1,4,3,2,5,3,0,1,1,1,1,1,1\n1,0,10,3,0,3,2,0,1,1,1,0,1,1\n1,0,11,0,2,7,3,0,0,1,1,0,1,0\n0,0,9,1,2,6,5,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,0,3,0,0,0,1,1,2,1,0\n0,0,3,2,1,7,5,0,1,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n2,1,8,0,1,2,5,0,0,1,1,0,1,0\n0,1,0,3,2,5,1,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,4,1,1,1,0,1,0\n1,1,7,1,0,1,2,0,1,1,1,0,1,0\n1,4,3,2,0,12,2,0,1,1,1,1,1,1\n1,1,0,3,0,1,2,0,1,1,1,0,1,0\n1,5,10,3,1,5,5,0,0,1,1,2,1,0\n1,3,5,2,0,8,0,0,0,1,1,2,1,1\n0,0,3,2,2,12,4,4,1,1,1,0,1,0\n0,0,14,0,2,1,3,0,1,1,1,0,1,0\n2,0,2,1,0,1,2,0,1,1,1,1,1,0\n0,0,8,0,0,6,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,4,0,1,1,1,0,1,0\n0,0,3,2,2,6,4,0,1,1,1,0,1,0\n0,0,1,2,3,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,4,1,1,1,0,1,0\n1,0,10,3,1,4,3,0,0,1,1,1,1,1\n2,0,15,0,4,1,5,4,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,3,3,2,6,3,0,0,0,1,1,0,1,0\n0,4,0,3,1,5,5,0,0,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,0\n1,0,3,2,5,2,1,0,0,1,1,0,1,0\n3,0,1,2,3,8,1,0,0,1,1,0,1,0\n2,0,4,3,0,4,2,0,1,1,1,2,1,0\n0,0,3,2,2,5,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,3,8,5,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n2,0,12,1,3,2,3,0,0,1,1,2,1,0\n0,4,10,3,2,5,1,1,1,1,1,0,1,0\n0,0,3,2,1,0,5,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,0,2,2,0,1,1,1,1,1,0\n1,0,2,1,1,2,5,0,0,1,1,0,1,0\n3,0,7,1,4,11,3,4,0,1,1,2,1,0\n0,4,3,2,1,8,1,0,0,1,1,0,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n1,0,3,2,3,8,5,0,0,1,1,1,1,0\n0,4,10,3,2,8,3,0,0,1,1,0,1,0\n0,0,2,1,2,7,5,0,0,1,1,0,1,0\n0,0,10,3,0,3,0,0,0,1,1,0,1,0\n1,0,1,2,1,3,5,0,0,1,1,2,1,0\n0,0,3,2,0,0,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,8,0,2,1,4,0,1,1,1,2,1,0\n2,0,3,2,1,1,5,4,1,1,1,0,1,0\n1,1,6,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,5,2,0,3,0,0,0,1,1,0,1,1\n1,0,3,2,1,7,1,4,0,1,1,2,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,0,12,1,0,10,2,0,1,1,1,1,1,0\n1,1,3,2,2,1,3,0,1,1,1,2,1,0\n0,1,4,3,2,5,1,0,1,1,1,1,1,1\n0,0,0,3,2,7,1,0,1,1,1,2,1,0\n1,4,1,2,0,8,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,4,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n1,0,2,1,0,7,0,4,0,1,1,0,1,0\n1,1,1,2,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,5,4,0,1,1,2,1,0\n3,0,1,2,0,4,2,0,1,1,1,2,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,5,0,3,2,0,1,1,1,1,1,2,1,0\n0,4,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,4,1,1,1,0,1,0\n0,0,15,0,2,2,4,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,4,4,5,4,0,1,1,2,1,0\n0,0,0,3,0,12,2,4,1,1,1,2,1,0\n0,0,3,2,2,7,5,4,0,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,2,1,1\n1,4,10,3,3,5,5,0,0,1,1,1,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n1,2,12,1,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,6,2,0,5,2,0,1,1,1,0,1,1\n1,1,3,2,2,9,1,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,0,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n3,0,3,2,4,8,3,0,0,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n1,1,0,3,2,9,3,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,1,6,1,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,2,1,0,1,2,4,1,1,1,0,1,0\n0,0,1,2,2,8,5,4,0,1,1,0,1,0\n0,0,3,2,1,1,3,0,1,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,1,7,5,0,1,1,1,1,1,0\n1,5,1,2,1,8,5,4,0,1,1,2,1,0\n1,0,10,3,2,4,3,0,1,1,1,0,1,1\n0,0,7,1,2,6,4,0,1,1,1,2,1,0\n1,2,1,2,0,4,2,0,1,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,2,1,0\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,0,3,2,2,1,0,0,1,1,2,1,0\n2,4,2,1,0,1,2,4,1,1,1,0,1,1\n1,0,1,2,2,6,3,0,1,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,1,1,1,1,1,1,0\n0,0,1,2,2,5,1,0,1,1,1,2,1,0\n2,1,1,2,1,3,3,0,1,1,1,0,1,0\n1,0,6,2,2,4,5,0,0,1,1,2,1,0\n0,0,12,1,0,9,0,2,0,1,1,0,1,0\n0,1,0,3,0,3,2,0,1,1,1,1,1,0\n1,4,2,1,0,10,2,0,1,1,1,2,1,0\n1,0,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,3,2,1,7,4,0,0,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,2,1,0\n0,0,8,0,0,7,2,0,1,1,1,0,1,0\n2,0,8,0,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,3,2,5,0,0,1,1,0,1,0\n0,0,1,2,1,3,3,0,0,1,1,2,1,0\n0,0,5,2,2,8,3,0,0,1,1,0,1,0\n1,0,6,2,1,0,5,0,0,1,1,1,1,0\n1,0,1,2,1,0,4,0,1,1,1,2,1,0\n0,0,3,2,2,1,4,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,2,3,2,0,3,0,0,0,1,1,1,1,0\n1,0,10,3,3,4,3,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,5,13,3,2,5,3,0,0,1,1,0,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,1\n0,1,3,2,2,4,3,0,1,1,1,1,1,0\n1,5,0,3,0,8,2,0,1,1,1,0,1,0\n2,3,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,9,1,0,1,1,1,1,1,0\n1,0,1,2,2,4,3,4,0,1,1,0,1,0\n1,5,13,3,0,5,2,0,1,1,1,0,1,1\n2,0,4,3,0,1,2,1,1,1,1,0,1,1\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n0,5,10,3,0,4,2,0,1,1,1,0,1,0\n2,0,3,2,4,7,5,0,0,1,1,0,1,0\n0,0,3,2,3,7,5,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,6,8,2,0,1,1,1,1,1,0\n2,0,10,3,0,3,2,0,1,1,1,1,1,1\n2,4,0,3,4,5,5,0,0,1,1,2,1,0\n1,0,3,2,1,8,1,0,0,1,1,0,1,0\n1,4,9,1,0,1,2,0,1,1,1,1,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,1\n1,4,4,3,2,4,3,4,0,1,1,1,1,1\n0,5,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,4,0,0,1,1,0,1,0\n0,0,3,2,2,6,4,0,1,1,1,2,1,0\n2,0,14,0,1,10,3,0,1,1,1,1,1,0\n2,0,1,2,1,8,3,0,1,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n1,1,1,2,0,9,2,0,1,1,1,2,1,0\n1,2,5,2,0,4,2,0,1,1,1,1,1,1\n2,2,4,3,0,10,2,0,1,1,1,1,1,1\n1,0,0,3,1,3,5,0,0,1,1,1,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,1,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,1\n2,4,12,1,0,4,2,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,5,2,1,5,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,6,3,0,1,1,1,0,1,0\n1,0,3,2,5,5,3,1,1,1,1,0,1,1\n0,0,1,2,2,10,1,0,1,1,1,2,1,0\n1,4,0,3,4,8,3,0,0,1,1,0,1,0\n0,0,1,2,1,4,3,0,1,1,1,1,1,0\n1,0,2,1,1,2,5,4,0,1,1,0,1,0\n0,0,3,2,2,4,1,0,0,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,4,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,5,1,2,2,2,1,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,5,4,3,0,5,2,0,1,1,1,2,1,1\n0,0,3,2,1,7,5,0,0,1,1,0,1,0\n3,2,1,2,4,4,5,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,1,1,2,2,9,1,0,1,1,1,2,1,0\n1,0,3,2,1,7,5,4,0,1,1,1,1,0\n1,4,3,2,1,8,5,0,0,1,1,2,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,3,8,3,0,0,1,1,0,1,0\n1,0,4,3,0,0,2,0,1,1,1,0,1,1\n2,1,7,1,0,9,2,0,1,1,1,1,1,0\n1,2,0,3,0,4,2,0,1,1,1,0,1,1\n1,4,0,3,0,5,0,0,0,1,1,1,1,0\n1,2,0,3,0,4,2,0,1,1,1,0,1,1\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n1,5,1,2,1,5,5,0,0,1,1,0,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,2,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,1,7,1,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,4,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,1,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,3,0,3,2,5,3,1,1,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,0,0,2,0,1,1,1,1,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,5,2,2,9,3,0,1,1,1,1,1,0\n0,0,14,0,2,9,3,0,1,1,1,2,1,0\n2,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,6,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,5,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,1,0,1,1,1,1,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n2,3,5,2,3,5,3,0,0,1,1,0,1,1\n1,0,2,1,1,2,5,3,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,2,1,1,0,1,1,1,1,1,1\n1,3,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,1,1,2,2,9,3,0,1,1,1,1,1,0\n1,0,12,1,0,3,2,0,1,1,1,0,1,1\n1,3,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,10,3,0,4,2,4,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,1,2,0,4,2,1,1,1,1,0,1,0\n2,2,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,5,0,3,2,5,3,0,1,1,1,2,1,0\n2,1,13,3,0,4,2,0,1,1,1,2,1,1\n2,3,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,4,3,2,5,1,0,1,1,1,1,1,1\n0,0,1,2,0,2,2,0,1,1,1,0,1,0\n2,4,3,2,4,1,3,4,1,1,1,0,1,0\n2,0,6,2,0,4,2,0,1,1,1,0,1,1\n1,4,10,3,1,5,5,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,4,1,1,1,0,1,0\n1,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,4,3,2,0,4,0,0,0,1,1,1,1,1\n0,0,12,1,0,4,0,0,0,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,2,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,2,1,0\n0,5,1,2,2,8,1,0,0,1,1,0,1,0\n1,1,10,3,0,3,2,0,1,1,1,1,1,0\n1,5,1,2,2,5,3,0,1,1,1,0,1,0\n0,0,1,2,0,6,0,0,0,1,1,2,1,0\n1,4,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,4,3,1,5,3,0,1,1,1,1,1,1\n1,0,0,3,0,8,0,0,0,1,1,0,1,1\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n2,1,3,2,5,2,5,0,0,1,1,1,1,0\n0,1,9,1,2,2,3,4,0,1,1,0,1,0\n0,4,3,2,0,12,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,5,2,2,7,5,0,1,1,1,1,1,0\n1,0,3,2,4,3,3,0,0,1,1,0,1,0\n2,5,0,3,2,5,5,1,0,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,3,3,5,4,0,1,1,0,1,0\n1,2,1,2,0,7,2,0,1,1,1,1,1,0\n1,0,12,1,0,1,2,0,1,1,1,1,1,1\n1,0,8,0,3,7,3,4,0,1,1,2,1,0\n2,0,1,2,2,2,3,0,0,1,1,1,1,0\n0,0,9,1,1,7,5,4,0,1,1,0,1,0\n0,0,3,2,1,2,1,4,1,1,1,2,1,0\n0,0,3,2,5,3,5,0,1,1,1,0,1,0\n0,0,14,0,5,9,4,0,1,1,1,0,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,0,0,0,1,1,0,1,1\n2,0,1,2,0,3,2,1,1,1,1,0,1,1\n0,0,7,1,2,7,3,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,1,1,1,1,1,1,0\n1,0,0,3,0,3,0,0,0,1,1,2,1,0\n1,2,0,3,4,3,5,0,1,1,1,1,1,1\n0,0,8,0,2,1,5,0,1,1,1,0,1,0\n1,4,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,12,1,4,7,3,0,1,1,1,0,1,0\n2,0,3,2,4,5,3,0,0,1,1,2,1,0\n0,0,5,2,0,6,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n3,3,3,2,4,2,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,0,9,2,0,1,1,1,1,1,1\n2,0,0,3,0,1,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,2,1,1,8,5,0,0,1,1,0,1,0\n1,2,0,3,1,4,3,0,1,1,1,1,1,1\n1,4,3,2,0,2,2,0,1,1,1,1,1,0\n0,1,1,2,2,1,5,0,1,1,1,2,1,0\n1,0,0,3,1,8,3,4,1,1,1,1,1,0\n2,1,4,3,0,3,0,0,0,1,1,2,1,1\n1,1,0,3,0,9,2,0,1,1,1,1,1,1\n2,4,12,1,0,10,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,8,0,1,7,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,0,4,0,1,1,2,1,1\n1,0,3,2,1,7,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,5,4,0,1,1,2,1,0\n1,1,8,0,0,1,2,0,1,1,1,2,1,0\n1,0,3,2,5,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,5,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,3,1,1,1,0,1,0\n0,0,1,2,2,2,5,0,0,1,1,0,1,0\n1,0,1,2,3,2,3,4,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,7,1,2,7,4,0,1,1,1,1,1,0\n1,4,0,3,3,5,5,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,6,2,2,3,3,0,1,1,1,1,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,5,2,1,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n1,4,0,3,2,5,3,0,0,1,1,0,1,1\n0,0,3,2,2,6,5,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,1,1,1,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n1,0,5,2,1,5,5,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,1,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n1,2,5,2,3,4,3,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,0,2,0,1,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,4,1,1,1,1,1,1\n3,0,12,1,4,2,3,0,0,1,1,2,1,0\n1,3,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,12,1,2,1,3,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,1,2,1,8,5,0,0,1,1,1,1,0\n0,4,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,3,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,1,4,5,0,0,1,1,0,1,0\n0,0,1,2,2,10,3,0,1,1,1,1,1,0\n0,4,13,3,2,5,3,0,1,1,1,1,1,1\n1,0,1,2,2,9,4,0,1,1,1,1,1,0\n1,0,3,2,3,2,4,0,0,1,1,2,1,0\n0,0,4,3,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,14,0,2,2,3,0,1,1,1,2,1,0\n0,2,1,2,0,9,2,0,1,1,1,1,1,0\n0,5,5,2,0,1,2,0,1,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,1,4,5,0,0,1,1,0,1,1\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,1,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,1,4,5,0,0,1,1,0,1,0\n0,0,1,2,2,0,3,0,0,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,5,4,0,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n0,0,5,2,1,8,5,0,0,1,1,1,1,0\n1,0,2,1,1,1,4,0,0,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,2,1,0\n1,0,0,3,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,1,1,0\n1,1,0,3,1,4,3,0,1,1,1,2,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,6,2,4,1,1,1,0,1,0\n1,0,5,2,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,2,3,3,0,0,1,1,2,1,0\n2,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,1,0,0,1,1,2,1,0\n1,0,2,1,2,10,3,4,1,1,1,0,1,0\n2,0,9,1,4,3,3,0,0,1,1,2,1,0\n1,4,1,2,2,12,3,4,1,1,1,0,1,0\n1,3,1,2,0,0,2,0,1,1,1,0,1,1\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,5,2,0,0,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n2,0,10,3,4,5,3,0,0,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,1,9,3,0,0,1,1,1,1,0\n2,0,1,2,0,5,2,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,0,3,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,0,4,0,1,1,1,0,1,0\n0,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,1,4,1,1,1,0,1,0\n1,0,3,2,1,7,3,0,0,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,2,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,4,1,5,0,0,1,1,0,1,0\n0,0,3,2,3,2,3,0,1,1,1,0,1,0\n2,4,3,2,1,8,5,0,0,1,1,1,1,0\n1,0,3,2,3,2,5,0,0,1,1,1,1,0\n1,2,6,2,0,3,2,3,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,2,1,2,7,3,4,0,1,1,0,1,0\n0,0,6,2,3,8,5,0,0,1,1,0,1,0\n1,0,14,0,5,1,4,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,0,0,0,1,1,0,1,1\n0,0,3,2,5,9,3,3,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,2,1,2,6,5,0,1,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,6,2,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,1,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,10,3,2,4,3,0,1,1,1,0,1,1\n2,2,0,3,0,3,0,0,0,1,1,0,1,1\n0,0,2,1,2,11,4,0,0,1,1,0,1,0\n0,0,12,1,2,2,1,4,0,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,2,1,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,3,2,1,0,0,1,1,2,1,0\n1,0,3,2,1,0,5,0,0,1,1,0,1,0\n1,0,12,1,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,1,12,1,0,10,2,4,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,3,8,5,0,0,1,1,0,1,0\n0,0,7,1,2,7,5,3,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,1,6,2,0,1,2,0,1,1,1,0,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,0,4,0,1,1,0,1,1\n1,0,12,1,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,1,0,3,0,9,2,0,1,1,1,0,1,1\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,13,3,4,5,5,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,6,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n2,2,4,3,3,5,3,0,1,1,1,0,1,1\n1,5,0,3,2,4,3,0,0,1,1,0,1,0\n1,3,3,2,2,7,1,4,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,4,1,1,1,1,1,0\n1,1,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,2,1,2,9,3,0,1,1,1,1,1,0\n1,0,14,0,0,8,2,0,1,1,1,0,1,0\n1,4,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,6,2,0,7,2,2,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,5,2,0,3,2,0,1,1,1,1,1,1\n1,0,7,1,3,6,5,4,0,1,1,1,1,0\n1,3,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,7,3,4,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,1,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,4,3,2,3,4,5,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n1,5,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,2,4,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,1,1,0\n0,5,3,2,3,8,3,0,0,1,1,0,1,0\n1,0,6,2,1,2,3,0,0,1,1,2,1,0\n1,0,0,3,5,5,3,0,1,1,1,0,1,0\n1,0,14,0,0,9,2,0,1,1,1,2,1,0\n0,0,5,2,2,2,1,0,1,1,1,2,1,0\n1,4,5,2,1,5,3,0,1,1,1,1,1,0\n2,0,10,3,0,3,2,0,1,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,10,1,0,0,1,1,0,1,0\n1,1,0,3,0,0,0,0,0,1,1,1,1,1\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,2,1,2,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,4,1,1,1,0,1,1\n0,0,12,1,2,2,4,2,1,1,1,0,1,0\n2,0,10,3,1,5,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,15,0,0,9,2,0,1,1,1,0,1,0\n2,0,9,1,0,1,2,0,1,1,1,0,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,1\n0,4,0,3,2,4,3,0,0,1,1,1,1,0\n1,0,6,2,1,3,1,0,1,1,1,1,1,0\n1,0,0,3,0,5,0,0,0,1,1,0,1,1\n0,5,5,2,2,8,1,0,0,1,1,0,1,0\n1,4,0,3,1,5,5,4,0,1,1,0,1,0\n1,0,1,2,2,7,1,0,1,1,1,0,1,0\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,2,2,1,2,5,1,0,1,1,1,2,1,0\n0,0,0,3,0,8,2,0,1,1,1,1,1,1\n0,4,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,8,0,0,7,2,0,1,1,1,0,1,0\n1,4,0,3,0,5,0,0,0,1,1,2,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n2,0,12,1,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,4,0,3,1,5,5,0,0,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,4,1,1,1,0,1,1\n0,0,0,3,2,3,5,0,0,1,1,0,1,1\n1,5,10,3,2,4,3,0,0,1,1,2,1,0\n2,0,6,2,0,0,2,0,1,1,1,0,1,1\n0,0,8,0,2,6,3,0,0,1,1,2,1,0\n0,0,3,2,1,3,5,0,0,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,2,7,3,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,0,6,2,0,5,0,0,0,1,1,0,1,1\n2,0,7,1,0,2,2,0,1,1,1,2,1,0\n0,0,1,2,2,8,5,0,0,1,1,0,1,0\n0,0,6,2,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,0,2,0,0,0,1,1,2,1,1\n0,0,0,3,2,4,3,0,0,1,1,0,1,1\n0,0,2,1,2,2,4,4,1,1,1,2,1,0\n0,1,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,10,3,0,5,2,0,1,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,5,0,0,1,1,2,1,0\n1,0,4,3,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,1,4,5,0,0,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,1,13,3,0,4,2,0,1,1,1,0,1,0\n0,1,1,2,1,8,1,0,1,1,1,0,1,0\n0,4,10,3,2,12,3,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,4,3,3,0,0,1,1,2,1,0\n1,0,7,1,1,1,5,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,2,0,3,0,1,1,1,0,1,1\n1,0,3,2,1,4,5,0,0,1,1,1,1,0\n2,1,0,3,1,5,3,0,0,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,4,0,3,0,12,2,0,1,1,1,0,1,1\n2,0,3,2,1,2,5,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n2,3,1,2,0,1,2,0,1,1,1,2,1,0\n1,1,12,1,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,4,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,1,7,3,4,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n2,0,9,1,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,4,4,1,1,1,2,1,0\n1,5,13,3,0,4,2,0,1,1,1,1,1,1\n3,1,3,2,4,8,3,0,0,1,1,2,1,0\n1,2,5,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n1,1,6,2,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,2,3,3,0,0,1,1,2,1,0\n1,4,1,2,0,8,0,0,0,1,1,0,1,1\n1,4,0,3,1,8,5,0,0,1,1,2,1,0\n0,0,1,2,3,3,3,0,0,1,1,0,1,0\n0,0,3,2,2,6,1,4,0,1,1,2,1,0\n2,0,12,1,0,1,2,0,1,1,1,1,1,0\n1,1,3,2,2,3,5,4,0,1,1,1,1,0\n0,0,0,3,2,3,1,0,0,1,1,0,1,0\n1,4,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,4,1,1,1,0,1,0\n2,0,10,3,0,1,2,0,1,1,1,1,1,1\n1,0,9,1,1,3,3,0,0,1,1,0,1,0\n0,0,6,2,2,3,5,0,0,1,1,1,1,0\n2,1,3,2,1,4,3,0,0,1,1,2,1,0\n1,0,0,3,2,8,3,1,1,1,1,1,1,0\n0,4,0,3,2,5,1,0,0,1,1,1,1,0\n1,0,0,3,1,4,3,4,1,1,1,0,1,1\n0,2,3,2,1,2,3,0,0,1,1,1,1,0\n1,2,3,2,0,9,2,0,1,1,1,0,1,1\n2,0,3,2,2,7,3,0,1,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,2,1,0\n2,1,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,1,2,5,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,2,0,3,0,0,1,1,0,1,0\n0,0,8,0,0,7,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,5,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,5,13,3,0,5,2,0,1,1,1,1,1,1\n1,2,13,3,0,5,2,4,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,5,10,5,0,1,1,1,1,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n0,0,4,3,2,5,3,0,0,1,1,1,1,1\n0,1,3,2,2,2,4,0,1,1,1,2,1,0\n0,0,3,2,2,5,3,0,0,1,1,0,1,0\n2,0,3,2,1,3,5,0,0,1,1,2,1,0\n0,4,1,2,2,4,1,2,0,1,1,2,1,0\n0,0,1,2,2,0,3,0,1,1,1,1,1,0\n0,0,0,3,2,5,1,0,0,1,1,2,1,0\n2,1,3,2,0,9,0,0,0,1,1,0,1,0\n0,2,6,2,0,2,0,0,0,1,1,2,1,1\n0,0,1,2,2,8,1,4,0,1,1,2,1,0\n0,4,3,2,1,8,3,2,0,1,1,2,1,0\n1,0,1,2,0,0,2,0,1,1,1,1,1,1\n1,0,2,1,1,2,3,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n3,1,13,3,0,5,2,0,1,1,1,2,1,1\n2,0,8,0,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,2,0,1,1,2,1,0\n3,0,3,2,0,10,2,0,1,1,1,2,1,0\n1,1,1,2,3,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,7,1,4,0,1,1,2,1,0\n0,0,3,2,2,5,3,0,0,1,1,0,1,0\n2,0,6,2,0,8,2,0,1,1,1,2,1,0\n1,2,3,2,0,3,0,0,0,1,1,1,1,0\n1,3,0,3,0,0,2,4,1,1,1,0,1,1\n0,4,0,3,2,8,1,4,0,1,1,2,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,1,0,1,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,1,3,2,1,9,5,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,3,8,4,0,0,1,1,0,1,0\n2,0,0,3,2,3,3,0,1,1,1,2,1,0\n0,0,3,2,2,11,3,0,0,1,1,1,1,0\n0,0,7,1,0,7,2,0,1,1,1,0,1,0\n2,1,3,2,4,8,3,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,0\n1,0,10,3,0,5,2,1,1,1,1,0,1,0\n0,0,0,3,2,4,4,0,0,1,1,2,1,0\n0,0,3,2,0,5,2,0,1,1,1,1,1,0\n0,4,0,3,1,5,5,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n3,0,8,0,4,12,3,0,0,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,8,0,0,7,2,3,1,1,1,0,1,0\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n2,1,0,3,2,10,3,0,1,1,1,0,1,0\n0,0,5,2,2,10,5,0,0,1,1,0,1,0\n2,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,5,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,7,1,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,0,3,2,0,3,0,0,0,1,1,2,1,0\n1,0,0,3,0,7,0,1,0,1,1,0,1,0\n0,3,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,4,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,5,10,3,0,5,2,4,1,1,1,0,1,1\n0,0,3,2,1,1,1,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,0,3,0,2,2,1,1,1,1,2,1,1\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,1\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,2,9,3,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n2,1,0,3,0,5,2,0,1,1,1,1,1,1\n0,1,0,3,2,3,3,4,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,10,3,1,4,5,0,0,1,1,1,1,0\n1,0,14,0,0,10,2,0,1,1,1,2,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n3,1,2,1,0,4,2,0,1,1,1,2,1,0\n1,0,10,3,0,5,2,3,1,1,1,1,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,14,0,2,6,4,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,2,1,1,1,0,1,0\n1,4,10,3,1,5,3,0,0,1,1,2,1,1\n1,0,0,3,0,8,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,0,12,2,4,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,4,1,1,1,1,1,0\n1,0,3,2,1,8,3,0,0,1,1,2,1,0\n1,1,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,1,3,2,2,2,4,0,0,1,1,2,1,0\n0,0,8,0,2,6,4,0,1,1,1,0,1,0\n0,0,1,2,1,6,3,0,1,1,1,1,1,0\n2,0,3,2,0,4,2,0,1,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,0,8,0,0,0,1,1,2,1,0\n1,4,1,2,0,2,2,0,1,1,1,0,1,0\n1,1,1,2,1,3,5,0,0,1,1,2,1,0\n0,0,7,1,2,7,4,0,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,1,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,1,7,3,0,1,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,4,1,1,1,0,1,0\n0,4,10,3,1,5,3,0,0,1,1,1,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,4,4,1,1,1,2,1,0\n1,0,1,2,0,1,2,2,1,1,1,1,1,1\n1,0,3,2,0,8,2,1,1,1,1,0,1,0\n1,4,0,3,0,5,0,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,6,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,1,12,1,0,1,1,1,0,1,0\n0,0,0,3,0,4,4,1,0,1,1,0,1,1\n0,0,1,2,2,8,1,1,1,1,1,2,1,0\n1,0,0,3,0,4,2,4,1,1,1,1,1,1\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,1,1,2,2,2,1,0,0,1,1,2,1,0\n0,4,1,2,2,8,1,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,2,8,5,0,1,1,1,1,1,1\n2,2,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n0,0,6,2,0,5,0,0,0,1,1,2,1,1\n0,0,7,1,0,1,2,0,1,1,1,0,1,0\n0,4,3,2,2,4,5,2,0,1,1,2,1,0\n0,0,6,2,2,8,3,0,0,1,1,1,1,0\n1,3,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,1\n2,5,10,3,0,5,0,0,0,1,1,2,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,0,8,2,0,1,1,1,2,1,0\n0,0,2,1,2,2,4,4,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,7,1,0,2,2,0,1,1,1,0,1,0\n1,5,3,2,0,2,2,0,1,1,1,1,1,1\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,1,10,3,0,1,1,1,0,1,0\n0,0,3,2,1,5,3,3,0,1,1,2,1,0\n0,1,3,2,0,9,2,0,1,1,1,2,1,0\n1,0,3,2,3,11,5,4,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n2,0,10,3,0,8,2,0,1,1,1,1,1,1\n0,0,1,2,1,4,3,0,0,1,1,0,1,0\n1,0,3,2,0,0,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,1,0,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n0,4,3,2,2,12,4,4,1,1,1,0,1,0\n1,0,0,3,1,8,5,0,0,1,1,2,1,0\n1,1,1,2,0,9,0,0,0,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,2,0,3,0,1,2,0,1,1,1,1,1,1\n2,0,4,3,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,3,4,0,1,1,2,1,0\n0,0,6,2,2,8,3,0,1,1,1,2,1,1\n0,0,1,2,2,6,1,0,1,1,1,1,1,0\n2,0,5,2,1,3,5,4,0,1,1,2,1,0\n1,4,3,2,0,12,2,0,1,1,1,0,1,0\n1,4,1,2,2,8,5,4,0,1,1,0,1,0\n0,0,0,3,0,2,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n1,5,0,3,2,5,5,0,0,1,1,2,1,0\n1,0,3,2,1,11,1,0,0,1,1,0,1,0\n1,0,6,2,0,10,2,0,1,1,1,1,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,3,1,2,1,8,3,0,0,1,1,1,1,0\n3,0,1,2,2,5,3,0,1,1,1,1,1,0\n2,0,1,2,0,12,2,0,1,1,1,0,1,0\n2,0,3,2,1,10,5,0,1,1,1,1,1,1\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n2,1,3,2,4,1,3,0,1,1,1,2,1,0\n0,1,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,10,3,0,1,1,1,2,1,0\n0,2,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,6,12,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,1,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,4,1,4,1,1,1,1,1,0\n1,3,5,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,3,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,8,0,0,10,2,0,1,1,1,1,1,1\n2,0,3,2,2,7,3,0,1,1,1,2,1,0\n2,0,0,3,0,10,2,0,1,1,1,2,1,0\n0,0,12,1,2,3,4,0,1,1,1,2,1,0\n0,0,2,1,0,1,2,0,1,1,1,1,1,0\n2,4,12,1,0,12,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,2,1,2,2,4,0,1,1,1,2,1,0\n0,3,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,4,0,3,2,5,3,4,0,1,1,0,1,0\n1,0,1,2,1,0,5,0,0,1,1,1,1,0\n0,5,3,2,0,12,2,1,1,1,1,0,1,1\n1,0,3,2,1,5,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,4,10,3,0,5,4,0,1,1,1,2,1,0\n1,2,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,1,0,3,2,9,5,0,1,1,1,1,1,0\n0,0,6,2,0,2,0,2,0,1,1,2,1,0\n0,0,5,2,3,1,3,0,1,1,1,1,1,0\n0,0,1,2,2,9,1,0,1,1,1,1,1,0\n0,0,3,2,2,10,1,4,1,1,1,0,1,0\n0,0,12,1,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,0,10,2,0,1,1,1,2,1,0\n1,3,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,2,1,0,10,2,1,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,2,2,3,0,0,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,2,1,1\n1,0,3,2,1,4,3,0,1,1,1,0,1,0\n1,1,1,2,0,4,2,2,1,1,1,0,1,0\n2,4,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,6,2,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,3,7,5,0,0,1,1,0,1,0\n2,3,1,2,1,8,5,4,0,1,1,0,1,0\n1,2,0,3,2,4,1,0,1,1,1,0,1,0\n1,5,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,3,0,0,0,1,1,0,1,1\n0,0,1,2,3,0,5,0,1,1,1,0,1,1\n1,0,1,2,2,4,3,0,0,1,1,1,1,0\n1,0,6,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,9,1,2,2,3,0,1,1,1,0,1,0\n2,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n1,0,1,2,1,3,3,0,0,1,1,1,1,0\n1,0,3,2,1,4,5,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,4,3,2,1,10,5,4,1,1,1,0,1,0\n1,0,6,2,0,0,2,0,1,1,1,1,1,1\n1,5,3,2,0,1,2,4,1,1,1,0,1,1\n1,0,3,2,0,3,0,0,0,1,1,0,1,1\n2,0,1,2,0,10,2,0,1,1,1,1,1,1\n2,0,3,2,0,6,2,0,1,1,1,1,1,1\n0,1,5,2,2,1,3,0,1,1,1,2,1,0\n1,0,10,3,2,3,3,0,0,1,1,2,1,0\n0,0,12,1,0,6,2,0,1,1,1,0,1,0\n0,4,3,2,0,12,2,4,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n0,0,1,2,2,4,1,0,1,1,1,0,1,0\n0,0,8,0,3,6,3,0,1,1,1,0,1,0\n2,0,8,0,0,10,2,0,1,1,1,2,1,0\n1,0,3,2,1,4,5,0,1,1,1,0,1,0\n1,2,6,2,0,4,2,0,1,1,1,0,1,0\n1,0,14,0,0,7,0,1,0,1,1,0,1,1\n2,3,1,2,0,12,2,0,1,1,1,1,1,1\n2,0,3,2,4,5,3,0,0,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n2,1,12,1,0,7,2,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,1,3,1,0,0,1,1,2,1,0\n0,0,5,2,0,0,2,0,1,1,1,0,1,1\n1,1,3,2,3,1,5,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,4,1,1,1,0,1,1\n0,3,1,2,1,8,1,0,1,1,1,2,1,0\n1,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,3,3,2,1,5,3,0,1,1,1,0,1,0\n2,3,3,2,0,8,2,0,1,1,1,0,1,1\n2,5,1,2,1,5,5,0,0,1,1,0,1,0\n0,4,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,1,4,4,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n2,0,2,1,0,8,2,0,1,1,1,2,1,0\n2,0,8,0,0,6,2,0,1,1,1,0,1,0\n1,4,0,3,0,5,2,4,1,1,1,2,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,0,3,0,2,2,4,1,1,1,0,1,0\n0,2,3,2,0,4,2,1,1,1,1,1,1,1\n1,0,3,2,1,3,5,0,0,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,0,5,2,0,1,1,1,1,1,0\n0,0,0,3,2,10,1,0,1,1,1,1,1,0\n3,0,1,2,0,12,2,4,1,1,1,0,1,0\n0,0,2,1,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n2,0,3,2,0,2,2,4,1,1,1,1,1,0\n1,0,5,2,0,8,2,0,1,1,1,1,1,0\n1,2,1,2,0,3,2,0,1,1,1,2,1,0\n1,0,1,2,1,5,3,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n3,0,14,0,4,2,5,4,1,1,1,2,1,0\n0,4,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,10,3,1,5,3,0,0,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,5,6,2,1,8,5,0,0,1,1,2,1,0\n1,0,5,2,3,5,3,0,0,1,1,2,1,0\n1,0,1,2,1,1,5,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,4,0,3,2,5,3,4,0,1,1,2,1,0\n0,0,11,0,0,7,2,0,1,1,1,1,1,0\n1,0,3,2,2,8,5,0,0,1,1,2,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,0,3,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,3,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,1,2,0,0,2,0,1,1,1,1,1,1\n1,0,1,2,0,10,2,4,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,2,7,4,0,0,1,1,2,1,0\n1,0,10,3,1,5,3,0,0,1,1,0,1,0\n1,1,6,2,1,5,3,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,4,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,1,5,5,0,1,1,1,1,1,0\n2,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,0,0,0,1,1,2,1,0\n1,0,10,3,0,5,0,0,0,1,1,0,1,1\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,2,1,0,10,2,0,1,1,1,0,1,0\n1,5,0,3,2,8,3,0,1,1,1,0,1,0\n1,0,7,1,1,6,3,0,1,1,1,1,1,0\n1,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,4,0,1,1,2,1,0\n1,0,1,2,3,8,3,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,0,1,1,1,2,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,10,3,1,3,3,0,1,1,1,2,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,0,0,3,1,5,5,0,0,1,1,2,1,0\n2,5,12,1,0,4,2,0,1,1,1,0,1,1\n1,0,7,1,1,2,3,4,1,1,1,2,1,0\n0,0,3,2,2,2,1,4,1,1,1,1,1,0\n0,0,3,2,3,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,2,2,1,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,1,2,2,12,1,0,1,1,1,2,1,0\n0,5,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,3,2,1,1,4,0,1,1,1,1,1,1\n1,0,0,3,5,0,1,1,0,1,1,0,1,0\n0,0,3,2,3,4,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,5,0,0,1,1,1,1,0\n2,5,3,2,2,2,3,4,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,12,1,0,10,2,0,1,1,1,2,1,0\n0,0,8,0,0,1,2,0,1,1,1,2,1,0\n2,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,1,1,0\n0,0,0,3,2,3,1,0,0,1,1,0,1,0\n1,0,4,3,2,5,3,0,0,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,1,11,3,0,0,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n2,4,5,2,1,5,3,0,0,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,2,3,3,0,0,1,1,1,1,0\n0,0,8,0,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,4,3,2,2,12,1,0,1,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,1,7,1,0,1,1,1,0,1,0\n0,2,5,2,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,6,2,1,3,1,0,0,1,1,2,1,0\n1,0,3,2,2,8,4,0,0,1,1,0,1,0\n0,0,12,1,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,4,1,1,1,1,1,0\n2,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,0\n0,4,3,2,2,12,3,0,1,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,0,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,5,2,2,2,3,4,1,1,1,2,1,0\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n0,1,4,3,3,5,5,0,1,1,1,1,1,1\n0,0,0,3,2,4,1,0,0,1,1,2,1,0\n0,0,12,1,1,2,3,0,0,1,1,0,1,0\n0,0,3,2,3,10,1,0,1,1,1,1,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,5,0,3,2,4,3,0,0,1,1,0,1,0\n1,3,3,2,1,8,5,4,0,1,1,0,1,0\n1,0,0,3,0,6,0,0,0,1,1,0,1,1\n2,4,3,2,1,2,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n0,0,6,2,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,4,4,1,1,1,0,1,0\n1,0,3,2,4,2,5,0,0,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,2,1,0\n0,0,6,2,1,1,3,2,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,1,0,3,2,5,3,4,1,1,1,0,1,0\n0,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,2,4,3,0,5,2,1,1,1,1,1,1,1\n0,0,1,2,0,6,2,0,1,1,1,0,1,1\n0,0,6,2,2,8,5,4,0,1,1,0,1,0\n1,0,5,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,2,8,1,1,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,2,1,1,3,1,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n2,2,3,2,1,3,3,0,1,1,1,1,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,1,3,2,0,2,0,1,0,1,1,2,1,0\n1,0,2,1,1,6,3,0,0,1,1,1,1,0\n0,0,5,2,2,4,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,5,0,0,1,1,2,1,0\n3,0,2,1,2,6,1,0,1,1,1,0,1,0\n1,4,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,0,3,1,5,5,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,2,1,1,4,0,1,1,2,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,0,1,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,0,1,1,0,1,0\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n2,1,3,2,1,2,1,0,0,1,1,2,1,0\n0,0,1,2,1,1,5,0,0,1,1,0,1,0\n1,0,3,2,1,2,4,0,0,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n0,4,10,3,2,5,1,0,1,1,1,1,1,0\n0,4,10,3,0,5,2,0,1,1,1,0,1,0\n0,0,12,1,0,7,2,0,1,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n2,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,2,6,1,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,2,1,5,0,1,1,1,0,1,0\n2,0,3,2,0,2,2,0,1,1,1,1,1,0\n1,4,7,1,0,10,2,4,1,1,1,0,1,0\n0,0,1,2,2,6,3,0,1,1,1,2,1,0\n0,2,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,1,6,3,0,1,1,1,1,1,0\n1,0,0,3,2,3,3,0,0,1,1,1,1,0\n1,0,15,0,0,2,3,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,1,1,1,1,1,1,0\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n1,0,1,2,1,10,3,0,1,1,1,1,1,0\n1,5,1,2,1,12,5,2,0,1,1,0,1,1\n0,0,6,2,2,2,3,0,0,1,1,2,1,0\n0,4,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,0,5,2,0,1,1,1,0,1,1\n2,0,6,2,0,10,2,0,1,1,1,2,1,0\n1,0,3,2,2,0,1,0,1,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,7,1,1,2,1,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,2,1,0\n2,4,3,2,0,10,2,0,1,1,1,2,1,0\n2,1,3,2,0,4,2,4,1,1,1,1,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,14,0,2,1,5,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,2,1,2,0,9,2,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,5,0,0,1,1,1,1,0\n0,0,3,2,2,8,5,4,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,1,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n1,5,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,9,1,1,7,3,0,1,1,1,0,1,0\n0,5,1,2,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,1,1,5,0,0,1,1,0,1,0\n1,0,0,3,0,5,0,0,0,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,1,6,2,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,5,3,2,1,8,3,0,1,1,1,0,1,0\n1,5,1,2,1,5,5,0,0,1,1,1,1,0\n1,2,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,1,6,3,0,1,1,1,0,1,0\n1,0,3,2,1,11,5,0,0,1,1,2,1,0\n0,0,1,2,0,3,2,4,1,1,1,1,1,0\n1,0,3,2,0,1,1,0,1,1,1,0,1,0\n0,1,7,1,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,5,1,2,5,0,5,0,1,1,1,2,1,0\n1,0,6,2,0,2,0,0,0,1,1,2,1,1\n0,0,5,2,0,4,0,0,0,1,1,1,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,4,1,2,0,4,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,3,1,0,1,1,2,1,0\n2,1,12,1,0,3,2,0,1,1,1,1,1,0\n1,4,3,2,1,2,5,0,0,1,1,1,1,0\n0,0,0,3,2,9,1,0,0,1,1,0,1,0\n1,2,3,2,3,2,3,0,1,1,1,1,1,0\n2,4,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,4,0,3,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,10,1,4,1,1,1,0,1,0\n2,0,1,2,4,2,3,0,0,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n2,0,6,2,0,8,2,0,1,1,1,2,1,0\n0,0,2,1,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,1,7,5,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,1,8,0,0,4,2,0,1,1,1,0,1,0\n0,0,9,1,2,1,3,4,1,1,1,0,1,0\n0,0,1,2,2,7,3,4,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n0,0,9,1,2,1,1,0,1,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n3,2,7,1,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,0,0,0,1,1,1,1,0\n0,0,9,1,2,2,3,0,0,1,1,2,1,0\n0,0,6,2,0,7,2,0,1,1,1,1,1,0\n2,0,3,2,1,4,3,0,0,1,1,0,1,0\n2,0,0,3,3,4,3,0,1,1,1,1,1,1\n0,1,1,2,2,9,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,4,7,3,0,0,1,1,2,1,0\n2,0,0,3,1,3,3,0,0,1,1,2,1,0\n1,4,10,3,2,5,3,0,0,1,1,1,1,1\n0,0,1,2,2,0,1,0,0,1,1,0,1,0\n1,0,5,2,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,1,1,0\n1,1,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,4,4,1,1,1,2,1,0\n0,0,12,1,2,3,3,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n0,0,1,2,1,3,5,0,0,1,1,2,1,0\n1,0,1,2,1,1,3,0,1,1,1,0,1,1\n0,0,2,1,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,2,3,2,3,8,3,0,1,1,1,2,1,0\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n1,4,3,2,2,2,3,4,1,1,1,0,1,0\n1,0,6,2,1,8,5,4,0,1,1,0,1,0\n1,4,1,2,0,10,0,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,1,6,2,1,4,5,0,1,1,1,2,1,0\n2,0,7,1,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,1,2,4,4,5,0,0,1,1,2,1,0\n0,5,0,3,2,5,3,0,1,1,1,0,1,0\n3,1,13,3,0,5,2,0,1,1,1,2,1,0\n0,0,10,3,2,10,1,4,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,3,3,5,0,0,1,1,1,1,0\n0,0,5,2,2,5,3,0,1,1,1,0,1,0\n1,0,1,2,1,1,1,0,1,1,1,0,1,0\n0,0,2,1,2,1,3,0,1,1,1,0,1,0\n0,3,3,2,2,1,3,4,1,1,1,0,1,0\n1,4,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,0,2,1,2,2,3,4,0,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,2,1,0\n0,3,3,2,2,7,1,0,1,1,1,1,1,0\n1,0,3,2,1,0,3,0,0,1,1,0,1,0\n0,0,1,2,5,1,3,0,1,1,1,0,1,0\n1,0,3,2,1,8,5,4,0,1,1,0,1,0\n1,0,0,3,2,6,3,0,1,1,1,0,1,0\n1,0,3,2,0,0,2,0,1,1,1,1,1,1\n0,0,3,2,0,8,4,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,1,5,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,1,1,1,1,1,0\n1,0,1,2,1,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,1,0,1,1,0,1,0\n1,0,3,2,0,9,0,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,4,0,1,1,1,2,1,0\n1,3,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n3,0,3,2,4,2,5,0,0,1,1,2,1,0\n0,4,0,3,3,5,3,0,0,1,1,0,1,0\n1,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n2,0,0,3,3,8,5,0,1,1,1,1,1,0\n1,0,3,2,1,5,5,0,0,1,1,0,1,0\n0,0,6,2,0,6,2,0,1,1,1,0,1,0\n2,3,8,0,4,2,5,0,0,1,1,2,1,0\n0,0,1,2,0,3,0,4,0,1,1,0,1,0\n2,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,0,3,2,2,7,1,0,0,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,4,4,0,1,1,0,1,0\n1,0,0,3,0,7,2,2,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,9,1,0,7,2,0,1,1,1,0,1,0\n1,0,6,2,2,4,5,0,0,1,1,0,1,0\n0,0,1,2,1,5,3,0,1,1,1,0,1,0\n0,0,4,3,2,5,3,0,0,1,1,1,1,0\n1,0,3,2,0,3,2,4,1,1,1,0,1,0\n1,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,4,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n1,0,7,1,0,2,2,0,1,1,1,0,1,0\n1,0,11,0,0,1,2,1,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,2,8,1,0,1,1,1,1,1,0\n0,0,3,2,0,0,2,0,1,1,1,0,1,1\n2,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,0,1,0,0,1,1,2,1,0\n0,1,10,3,0,3,2,0,1,1,1,0,1,1\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,1,0,1,1,1,2,1,0\n1,0,3,2,1,4,3,0,0,1,1,0,1,0\n2,1,1,2,4,1,3,0,0,1,1,2,1,0\n1,0,0,3,3,8,5,4,1,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,1,4,3,0,1,1,1,1,1,1\n0,1,1,2,2,1,3,0,1,1,1,1,1,0\n1,0,6,2,3,5,1,0,0,1,1,2,1,0\n0,0,0,3,2,1,3,0,1,1,1,0,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n2,0,5,2,1,4,3,0,1,1,1,0,1,1\n1,4,3,2,0,12,2,0,1,1,1,0,1,1\n2,1,8,0,0,4,2,0,1,1,1,2,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,0\n0,2,1,2,2,4,3,0,1,1,1,1,1,0\n1,4,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,5,4,0,1,1,2,1,0\n0,2,4,3,0,5,2,0,1,1,1,0,1,1\n1,3,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,5,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,4,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n2,1,3,2,0,4,2,0,1,1,1,2,1,0\n2,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,4,5,4,0,1,1,0,1,0\n1,0,1,2,1,6,3,2,0,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,1,10,3,0,1,1,1,1,1,0\n2,0,1,2,0,5,0,0,0,1,1,2,1,0\n1,3,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,12,1,0,1,2,0,1,1,1,1,1,0\n1,3,1,2,1,4,5,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,3,5,2,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,1\n0,0,1,2,2,5,1,0,1,1,1,0,1,0\n0,0,5,2,0,6,2,4,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,0,1,1,0,1,0\n1,3,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,6,2,2,4,5,0,0,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,1,1,1,1,0,1,0\n0,0,1,2,0,4,0,0,0,1,1,0,1,1\n0,0,1,2,0,7,2,0,1,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,4,1,0,0,1,1,2,1,0\n0,0,12,1,2,8,1,0,1,1,1,0,1,0\n0,1,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,2,1,0\n1,0,7,1,0,7,0,0,0,1,1,0,1,1\n0,4,2,1,2,3,1,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,0,3,5,4,3,4,1,1,1,0,1,1\n1,0,3,2,1,7,3,4,0,1,1,0,1,0\n0,0,1,2,2,3,4,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,2,1,0\n1,3,1,2,3,1,3,4,1,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,2,3,2,0,1,2,0,1,1,1,0,1,1\n1,1,0,3,0,5,0,0,0,1,1,2,1,1\n0,0,1,2,2,1,4,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,0,3,2,2,5,3,0,1,1,1,1,1,0\n0,0,2,1,2,6,4,0,1,1,1,0,1,0\n2,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n0,0,3,2,2,4,1,0,0,1,1,0,1,0\n0,0,2,1,1,2,5,0,0,1,1,2,1,0\n1,4,1,2,0,4,0,0,0,1,1,0,1,1\n0,0,0,3,2,3,1,0,0,1,1,0,1,0\n0,0,1,2,0,3,2,1,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,5,2,1,2,1,0,0,1,1,2,1,0\n1,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,1,7,1,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,2,3,2,0,8,2,0,1,1,1,1,1,1\n2,0,1,2,4,4,5,0,0,1,1,0,1,0\n0,0,0,3,2,2,4,0,1,1,1,1,1,0\n1,0,2,1,3,7,5,4,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,1,1,5,4,1,1,1,0,1,0\n1,1,1,2,1,3,5,0,0,1,1,1,1,0\n0,0,0,3,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,2,1,1,1,1,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n2,0,0,3,0,8,2,0,1,1,1,0,1,0\n2,0,3,2,0,6,2,0,1,1,1,2,1,0\n1,0,3,2,0,8,0,4,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n1,1,5,2,1,4,3,0,1,1,1,2,1,0\n1,5,13,3,0,5,2,0,1,1,1,0,1,1\n1,0,6,2,2,0,3,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n2,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,3,0,1,1,1,2,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,2,4,3,0,5,2,4,1,1,1,1,1,1\n1,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,2,1,2,7,1,0,1,1,1,1,1,0\n2,4,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,3,2,3,4,0,1,1,2,1,0\n0,0,1,2,2,4,1,0,0,1,1,0,1,0\n1,3,1,2,1,8,3,0,1,1,1,0,1,0\n2,0,12,1,1,1,3,0,1,1,1,1,1,0\n0,2,1,2,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,0,1,1,0,1,0\n0,2,0,3,2,8,1,1,0,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,3,2,2,3,4,0,1,1,1,1,1,0\n1,1,8,0,0,1,2,0,1,1,1,0,1,0\n0,5,10,3,0,5,2,0,1,1,1,1,1,0\n0,5,3,2,1,12,1,3,1,1,1,0,1,0\n0,1,3,2,1,9,5,0,1,1,1,1,1,0\n1,5,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,4,8,5,0,0,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,5,0,0,0,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,6,2,2,7,1,0,0,1,1,0,1,0\n0,0,9,1,2,3,1,0,1,1,1,2,1,0\n1,0,12,1,0,10,2,4,1,1,1,0,1,1\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,0,8,0,0,0,1,1,0,1,0\n2,0,12,1,0,10,2,0,1,1,1,0,1,1\n1,1,4,3,0,5,2,0,1,1,1,0,1,1\n1,5,10,3,0,5,2,0,1,1,1,2,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,5,1,2,0,2,2,0,1,1,1,2,1,0\n1,0,0,3,1,4,5,0,0,1,1,1,1,1\n1,3,4,3,2,5,3,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,1,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,1,2,2,4,5,4,0,1,1,0,1,0\n1,0,0,3,2,3,3,0,1,1,1,1,1,0\n2,0,3,2,4,8,5,0,0,1,1,1,1,0\n0,0,3,2,5,8,5,0,0,1,1,0,1,0\n2,0,12,1,0,1,2,4,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,6,2,2,5,3,0,0,1,1,2,1,0\n0,0,5,2,3,2,3,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n2,0,2,1,0,3,2,0,1,1,1,0,1,1\n1,4,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,2,1,1,3,1,0,0,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,5,0,3,0,4,2,0,1,1,1,0,1,1\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,8,0,0,1,2,0,1,1,1,1,1,0\n0,0,6,2,1,2,5,4,0,1,1,0,1,0\n1,0,3,2,2,6,3,4,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n1,4,0,3,1,5,5,0,0,1,1,0,1,0\n1,0,5,2,2,10,3,4,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,3,4,1,1,1,0,1,0\n0,2,3,2,2,7,1,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,0,3,0,1,4,1,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n1,3,0,3,1,4,4,0,0,1,1,1,1,0\n1,3,3,2,2,8,1,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n2,0,12,1,0,6,2,4,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n2,4,0,3,0,5,2,1,1,1,1,2,1,0\n2,0,11,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,4,3,0,0,1,1,0,1,0\n1,0,8,0,0,7,0,4,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,1,9,1,1,2,5,0,0,1,1,2,1,0\n1,0,12,1,0,8,2,0,1,1,1,0,1,0\n2,4,1,2,1,4,3,0,0,1,1,2,1,0\n0,0,3,2,1,6,1,1,0,1,1,0,1,0\n0,1,3,2,2,7,1,0,1,1,1,0,1,1\n0,0,3,2,2,6,1,0,0,1,1,0,1,0\n1,0,12,1,0,3,2,0,1,1,1,1,1,0\n0,4,0,3,2,5,3,4,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,1,1,0,1,1,2,1,0\n2,5,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,6,2,0,8,0,0,0,1,1,1,1,1\n0,0,3,2,1,8,4,0,0,1,1,0,1,0\n0,0,6,2,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,12,1,2,1,3,0,1,1,1,2,1,0\n1,0,5,2,0,4,0,4,0,1,1,0,1,1\n1,1,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,1,1,2,0,7,2,0,1,1,1,0,1,1\n0,5,3,2,2,5,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,2,1,0,6,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n2,5,1,2,0,10,2,0,1,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n0,4,8,0,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,5,0,0,1,1,0,1,0\n0,0,6,2,2,3,3,0,1,1,1,1,1,0\n0,0,1,2,1,8,3,0,0,1,1,0,1,0\n2,0,0,3,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,4,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,2,12,1,0,1,1,1,2,1,0\n1,0,3,2,1,8,5,0,0,1,1,1,1,0\n2,0,3,2,4,8,3,0,0,1,1,2,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,6,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,5,4,0,1,1,0,1,0\n1,2,3,2,2,9,3,0,1,1,1,1,1,0\n1,0,0,3,0,5,0,4,0,1,1,0,1,1\n1,0,3,2,0,7,0,4,0,1,1,2,1,0\n1,5,0,3,0,12,2,0,1,1,1,0,1,0\n1,0,1,2,1,5,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n2,0,14,0,1,10,5,0,1,1,1,0,1,0\n1,0,5,2,2,8,3,0,0,1,1,0,1,0\n1,0,1,2,1,3,5,1,0,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,5,2,2,2,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n2,0,1,2,3,8,3,0,0,1,1,2,1,0\n0,0,1,2,0,2,0,0,0,1,1,0,1,0\n0,0,7,1,2,7,3,0,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,2,1,3,1,1,0,1,1,1,0,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n0,0,5,2,2,2,1,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,4,1,1,1,0,1,1\n1,1,1,2,2,1,3,1,1,1,1,2,1,0\n2,0,13,3,0,4,2,0,1,1,1,1,1,1\n0,5,10,3,5,5,3,1,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,2,1,3,2,5,4,0,1,1,1,1,0\n1,0,3,2,3,10,5,4,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,6,2,3,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n1,0,3,2,1,4,3,0,0,1,1,0,1,0\n1,4,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,1,1,1,1,0,1,0\n1,0,3,2,0,3,2,2,1,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,10,1,4,1,1,1,0,1,0\n1,0,0,3,1,8,3,0,0,1,1,0,1,0\n0,3,6,2,2,5,4,1,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,5,1,2,1,12,4,0,1,1,1,1,1,0\n1,0,10,3,2,4,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,3,5,0,0,1,1,0,1,0\n1,0,4,3,0,5,2,1,1,1,1,1,1,1\n0,1,1,2,3,6,1,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,2,1,1\n0,0,9,1,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n2,0,12,1,0,10,2,0,1,1,1,0,1,1\n1,0,8,0,5,2,5,0,0,1,1,2,1,0\n1,0,1,2,0,0,2,4,1,1,1,0,1,0\n0,0,5,2,2,5,1,0,1,1,1,0,1,0\n1,0,5,2,0,1,2,0,1,1,1,0,1,1\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n2,5,12,1,1,2,3,4,0,1,1,0,1,0\n1,1,1,2,2,1,1,0,1,1,1,2,1,0\n2,1,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,8,0,2,2,4,0,1,1,1,1,1,0\n2,0,7,1,4,2,5,4,0,1,1,0,1,0\n0,4,1,2,0,2,2,0,1,1,1,0,1,0\n1,0,7,1,0,8,2,4,1,1,1,0,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,4,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n1,0,1,2,3,3,5,4,0,1,1,2,1,0\n0,0,3,2,2,3,1,1,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,1,5,5,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,4,6,2,0,5,2,0,1,1,1,1,1,0\n0,0,6,2,0,1,0,0,0,1,1,1,1,0\n0,0,3,2,2,6,1,4,1,1,1,0,1,0\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n1,0,3,2,0,5,2,2,1,1,1,2,1,0\n0,0,2,1,2,9,1,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,1,2,0,4,2,0,1,1,1,2,1,0\n0,0,3,2,0,0,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,5,13,3,2,5,3,4,0,1,1,0,1,0\n0,0,3,2,2,4,4,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,1,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,6,2,0,5,2,0,1,1,1,0,1,0\n0,3,5,2,2,10,3,4,1,1,1,0,1,0\n0,0,5,2,2,8,3,0,0,1,1,0,1,0\n1,4,10,3,2,5,1,0,1,1,1,0,1,0\n1,0,3,2,3,7,5,4,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,0,1,4,1,1,1,0,1,0\n2,0,0,3,0,8,2,0,1,1,1,2,1,0\n2,1,1,2,1,0,3,0,0,1,1,2,1,1\n0,0,1,2,2,0,1,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,4,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,8,0,2,2,4,0,1,1,1,2,1,0\n0,0,7,1,5,1,3,0,1,1,1,0,1,0\n2,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,9,1,2,1,4,3,1,1,1,1,1,0\n1,0,12,1,2,6,3,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,7,1,1,6,3,0,1,1,1,1,1,0\n2,1,6,2,0,10,0,0,0,1,1,2,1,1\n1,0,3,2,1,7,5,0,0,1,1,1,1,0\n1,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,1,12,1,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,1,1,3,0,1,1,1,1,1,0\n1,3,6,2,0,12,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,3,3,2,1,1,5,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n1,5,3,2,2,2,5,4,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,11,0,4,2,5,3,0,1,1,2,1,0\n1,0,0,3,1,4,3,0,0,1,1,2,1,0\n3,1,3,2,4,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,1,0,3,0,3,2,1,1,1,1,1,1,0\n0,0,3,2,2,1,4,0,1,1,1,0,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,5,0,3,2,5,1,0,0,1,1,1,1,0\n2,4,3,2,1,2,5,0,0,1,1,2,1,0\n1,0,3,2,1,1,4,0,1,1,1,0,1,0\n0,0,8,0,2,9,5,3,1,1,1,2,1,0\n0,0,3,2,2,8,5,0,1,1,1,2,1,0\n0,0,6,2,2,2,4,0,0,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,1,0,1,1,1,1,1,0\n0,5,1,2,2,10,3,4,1,1,1,0,1,0\n0,3,3,2,2,4,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,1\n0,0,13,3,2,5,3,0,0,1,1,2,1,0\n0,4,10,3,0,5,2,0,1,1,1,1,1,1\n2,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,9,1,2,4,3,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,1\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,5,2,1,4,5,0,1,1,1,1,1,0\n2,4,0,3,1,5,3,4,0,1,1,0,1,0\n2,2,1,2,0,3,2,0,1,1,1,2,1,1\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,8,0,0,1,2,4,1,1,1,1,1,1\n1,2,3,2,1,4,5,0,0,1,1,0,1,0\n0,1,0,3,0,1,2,0,1,1,1,0,1,0\n1,3,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,5,0,1,1,1,0,1,1\n3,0,12,1,4,3,5,4,0,1,1,2,1,0\n2,0,0,3,1,3,3,4,0,1,1,1,1,0\n0,3,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n0,3,0,3,1,12,3,0,1,1,1,1,1,1\n2,1,4,3,1,5,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n1,3,10,3,0,0,2,1,1,1,1,0,1,1\n0,5,1,2,2,1,3,0,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,4,3,2,0,2,2,0,1,1,1,1,1,0\n1,1,1,2,2,9,1,0,1,1,1,1,1,0\n0,0,5,2,2,0,3,0,0,1,1,0,1,0\n1,1,0,3,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n0,0,3,2,2,3,1,1,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,1,0,3,3,1,1,0,1,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,4,1,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,0\n1,3,3,2,0,2,2,0,1,1,1,0,1,0\n1,1,1,2,0,5,2,0,1,1,1,2,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,3,2,0,6,2,4,1,1,1,2,1,1\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,6,2,2,8,1,4,0,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,4,3,2,2,10,3,1,1,1,1,0,1,0\n2,4,0,3,2,8,3,0,1,1,1,2,1,0\n0,0,9,1,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,5,2,2,2,3,1,0,1,1,2,1,0\n1,0,3,2,0,9,2,0,1,1,1,1,1,0\n1,3,13,3,2,5,3,0,0,1,1,1,1,1\n1,0,3,2,1,10,3,0,1,1,1,1,1,1\n1,4,2,1,1,3,5,0,1,1,1,1,1,1\n1,5,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,1,2,2,0,1,0,1,1,1,2,1,0\n1,0,0,3,1,3,3,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,4,5,2,0,8,0,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n2,0,5,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,1,3,5,0,0,1,1,1,1,0\n1,0,0,3,2,5,3,4,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,1,2,5,4,1,1,1,2,1,0\n1,0,1,2,0,8,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,5,1,0,1,1,0,1,0\n0,0,2,1,1,2,3,0,0,1,1,0,1,0\n1,0,6,2,1,2,5,0,0,1,1,2,1,0\n1,0,14,0,5,1,4,0,1,1,1,0,1,0\n2,0,3,2,4,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n3,0,1,2,1,8,3,0,0,1,1,2,1,0\n2,3,1,2,1,5,3,0,1,1,1,1,1,1\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,6,2,2,0,5,4,0,1,1,0,1,0\n0,0,3,2,2,2,5,0,1,1,1,0,1,0\n2,3,1,2,1,8,4,4,0,1,1,0,1,0\n2,0,3,2,3,3,3,0,0,1,1,2,1,0\n1,3,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,8,0,2,6,5,0,1,1,1,0,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,5,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,3,4,3,0,0,1,1,1,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,0\n2,1,3,2,0,1,2,0,1,1,1,1,1,1\n3,0,0,3,0,4,2,0,1,1,1,2,1,0\n1,4,1,2,0,12,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,1,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,1,1,0\n2,2,0,3,0,4,2,0,1,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,1,3,2,2,9,4,0,1,1,1,0,1,0\n1,4,0,3,3,5,5,4,0,1,1,0,1,0\n1,0,3,2,2,7,4,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,5,6,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,4,0,1,1,2,1,0\n0,5,0,3,0,12,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,4,0,1,1,1,1,1,0\n0,0,1,2,1,2,3,0,0,1,1,1,1,0\n1,1,4,3,0,5,2,0,1,1,1,2,1,1\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,8,0,0,0,1,1,2,1,1\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n0,4,0,3,2,5,1,0,1,1,1,0,1,0\n1,3,1,2,1,8,5,4,0,1,1,0,1,0\n1,0,1,2,0,4,0,0,0,1,1,0,1,1\n1,5,5,2,1,5,3,4,1,1,1,0,1,0\n1,0,2,1,2,10,3,0,1,1,1,1,1,1\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,2,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,3,4,5,0,0,1,1,2,1,0\n0,3,5,2,2,8,5,4,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,5,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,0,3,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,2,3,2,2,9,3,0,1,1,1,1,1,0\n0,0,3,2,2,3,3,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,4,10,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,4,0,3,2,4,3,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,1,1,1,1,0,1,1\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,0,4,0,0,0,1,1,2,1,1\n1,0,0,3,4,5,3,0,0,1,1,1,1,1\n1,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,4,6,2,0,1,2,0,1,1,1,0,1,1\n2,4,10,3,4,5,5,0,0,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,2,8,1,4,0,1,1,0,1,0\n0,0,0,3,2,6,4,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,2,1,2,4,1,0,1,1,1,2,1,0\n1,0,6,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,5,3,0,0,1,1,2,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,4,1,0,1,1,2,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,4,1,2,2,8,3,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,1,4,5,0,0,1,1,0,1,0\n0,0,1,2,3,0,5,0,0,1,1,0,1,0\n0,0,1,2,5,8,1,0,0,1,1,2,1,0\n1,5,10,3,1,5,3,0,1,1,1,0,1,1\n1,1,3,2,1,10,5,0,1,1,1,1,1,0\n0,4,7,1,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,1,1,1,0,1,1,1,0,1,1\n0,5,5,2,3,2,5,4,0,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,3,3,2,0,8,2,4,1,1,1,0,1,1\n1,3,2,1,4,8,3,0,0,1,1,0,1,0\n0,0,9,1,2,8,1,0,1,1,1,0,1,0\n0,0,1,2,0,8,0,0,0,1,1,2,1,0\n0,5,3,2,0,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,2,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,6,2,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,4,1,2,0,5,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n2,3,1,2,1,5,3,2,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,2,6,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,8,2,0,1,1,1,1,1,1\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n2,4,3,2,0,2,2,0,1,1,1,2,1,0\n1,0,0,3,4,4,5,0,1,1,1,2,1,0\n0,0,10,3,3,2,1,0,0,1,1,0,1,0\n2,0,6,2,4,8,3,0,1,1,1,0,1,0\n0,4,2,1,2,5,1,0,0,1,1,2,1,0\n0,0,5,2,0,4,0,0,0,1,1,2,1,1\n0,0,5,2,2,1,1,3,1,1,1,1,1,0\n1,0,10,3,2,5,3,0,0,1,1,2,1,0\n1,1,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,4,1,1,1,0,1,0\n1,1,10,3,0,4,0,0,0,1,1,1,1,1\n0,0,3,2,2,4,4,0,1,1,1,1,1,0\n0,0,1,2,2,5,1,0,1,1,1,2,1,0\n1,5,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,13,3,0,5,2,1,1,1,1,0,1,1\n1,0,12,1,0,9,2,0,1,1,1,2,1,0\n2,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,8,2,0,1,1,1,1,1,0\n1,1,10,3,0,1,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,1,3,3,0,1,1,1,1,1,1\n0,0,3,2,5,6,3,0,1,1,1,0,1,0\n1,0,0,3,2,8,3,0,1,1,1,0,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,4,1,1,1,0,1,0\n0,0,1,2,2,6,5,4,1,1,1,2,1,0\n0,3,9,1,2,2,1,0,0,1,1,2,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,3,4,5,4,0,1,1,1,1,0\n0,1,5,2,1,3,3,0,1,1,1,1,1,0\n0,0,7,1,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,14,0,2,7,5,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,2,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,1,1,1,1,1,0\n2,4,1,2,2,5,3,0,0,1,1,1,1,0\n1,2,4,3,1,5,3,0,1,1,1,1,1,1\n2,0,0,3,2,0,4,0,0,1,1,2,1,0\n0,0,3,2,0,4,0,0,0,1,1,0,1,0\n0,0,3,2,2,7,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,3,0,1,1,1,0,1,0\n2,1,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,0,10,2,0,1,1,1,0,1,0\n3,0,7,1,0,12,2,0,1,1,1,2,1,0\n0,5,6,2,2,0,3,0,0,1,1,0,1,0\n1,1,14,0,2,10,3,0,1,1,1,0,1,0\n0,5,10,3,2,5,3,1,1,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n2,0,1,2,1,10,3,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,4,1,1,1,0,1,0\n1,4,1,2,1,5,5,0,0,1,1,2,1,0\n0,0,3,2,1,8,1,4,0,1,1,0,1,0\n0,3,1,2,2,4,3,0,1,1,1,1,1,0\n0,0,14,0,2,6,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,2,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,0\n2,2,3,2,0,3,2,0,1,1,1,0,1,0\n2,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,3,1,2,0,4,0,4,0,1,1,0,1,1\n1,0,3,2,0,9,2,3,1,1,1,1,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n2,1,0,3,0,3,2,0,1,1,1,2,1,1\n0,0,1,2,2,6,3,0,1,1,1,2,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n2,0,3,2,0,11,0,0,0,1,1,2,1,0\n0,0,5,2,0,8,0,4,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n2,0,6,2,0,7,2,0,1,1,1,1,1,0\n1,3,1,2,0,1,2,0,1,1,1,0,1,0\n1,5,1,2,2,12,3,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,5,0,3,1,5,3,0,0,1,1,0,1,0\n2,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,1,1,2,0,5,2,0,1,1,1,2,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,10,3,0,1,1,1,0,1,0\n0,0,8,0,3,9,3,0,1,1,1,1,1,0\n0,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,3,3,3,0,0,1,1,1,1,0\n2,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,5,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,5,1,2,0,2,2,0,1,1,1,0,1,0\n1,0,6,2,0,4,2,4,1,1,1,0,1,1\n1,0,1,2,1,8,3,0,0,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,2,1,2,1,1,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,1,11,0,5,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,2,1,0,6,1,0,1,1,1,0,1,0\n0,4,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,13,3,2,5,3,0,0,1,1,1,1,1\n0,0,1,2,2,5,1,0,1,1,1,2,1,0\n2,1,3,2,0,9,2,0,1,1,1,2,1,0\n2,0,8,0,0,3,2,0,1,1,1,1,1,1\n1,0,13,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,1,3,2,0,3,0,0,0,1,1,0,1,1\n0,3,3,2,2,2,1,4,0,1,1,2,1,0\n0,0,0,3,1,2,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,8,0,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,3,3,5,4,0,1,1,2,1,0\n1,0,0,3,1,12,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,4,0,1,1,0,1,0\n1,0,3,2,2,3,3,4,0,1,1,1,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,11,0,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,1,4,5,0,0,1,1,0,1,0\n1,0,1,2,1,1,1,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,1,7,3,0,0,1,1,0,1,0\n0,5,1,2,0,8,0,0,0,1,1,1,1,0\n2,4,3,2,4,2,5,4,0,1,1,2,1,0\n0,0,5,2,0,3,2,0,1,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n1,0,8,0,0,9,2,0,1,1,1,1,1,0\n1,5,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,1,2,0,2,2,0,1,1,1,0,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,5,2,5,1,3,0,1,1,1,2,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,5,2,2,1,1,0,1,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,5,2,3,0,1,1,1,1,1,0\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,5,4,1,1,1,2,1,0\n1,0,10,3,0,10,2,0,1,1,1,0,1,0\n2,3,3,2,4,7,5,0,0,1,1,0,1,0\n0,1,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,8,0,2,5,4,4,1,1,1,1,1,0\n0,0,7,1,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,3,1,1,1,0,1,0\n1,5,3,2,1,2,5,4,0,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,4,10,3,0,5,0,0,0,1,1,1,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,3,3,0,1,1,1,2,1,0\n0,0,3,2,2,7,4,0,0,1,1,0,1,0\n2,5,6,2,4,4,3,2,0,1,1,2,1,0\n0,0,1,2,2,3,1,4,0,1,1,0,1,0\n2,1,10,3,0,4,2,0,1,1,1,0,1,0\n1,0,12,1,1,1,3,0,1,1,1,1,1,0\n1,5,1,2,0,8,0,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,2,1,0\n2,4,3,2,4,10,3,0,0,1,1,0,1,0\n1,0,2,1,0,2,2,0,1,1,1,0,1,0\n1,0,8,0,4,1,5,0,1,1,1,0,1,0\n0,0,5,2,2,6,1,0,1,1,1,2,1,0\n1,2,3,2,0,8,0,0,0,1,1,0,1,1\n1,3,1,2,2,12,1,0,1,1,1,0,1,0\n1,5,6,2,0,2,2,4,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,0,0,3,2,2,3,4,0,1,1,2,1,0\n2,0,12,1,1,8,4,0,0,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,3,3,5,0,0,1,1,0,1,0\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n1,1,7,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,4,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,1,1,2,1,3,5,0,0,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,1,8,5,0,0,1,1,1,1,0\n0,0,0,3,0,1,2,0,1,1,1,0,1,0\n2,1,1,2,1,9,5,0,0,1,1,2,1,1\n1,0,3,2,0,8,0,0,0,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,4,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,3,2,0,8,0,4,0,1,1,0,1,0\n0,4,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,10,3,2,3,1,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,6,2,2,5,3,0,1,1,1,2,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,1\n1,4,1,2,0,6,2,0,1,1,1,0,1,1\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,1,3,2,0,9,2,0,1,1,1,0,1,1\n0,0,7,1,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,1,0,1,1,1,2,1,0\n1,1,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,3,1,0,1,1,1,2,1,1\n2,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,4,3,2,1,10,3,4,0,1,1,2,1,0\n1,4,10,3,0,5,0,0,0,1,1,1,1,1\n0,0,2,1,2,1,1,0,1,1,1,2,1,0\n0,0,14,0,0,6,1,0,1,1,1,0,1,0\n1,5,4,3,1,5,3,0,1,1,1,1,1,0\n1,0,13,3,0,4,0,0,0,1,1,2,1,1\n2,1,0,3,0,3,2,0,1,1,1,2,1,0\n2,0,6,2,4,5,3,0,0,1,1,2,1,0\n0,0,2,1,2,10,3,4,1,1,1,1,1,0\n1,0,3,2,0,8,0,4,0,1,1,2,1,0\n0,2,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,4,1,2,1,8,5,0,0,1,1,0,1,0\n1,5,13,3,0,5,2,1,1,1,1,0,1,1\n2,0,0,3,0,3,2,0,1,1,1,2,1,0\n1,0,5,2,1,8,5,0,0,1,1,0,1,0\n1,3,0,3,2,4,3,0,1,1,1,0,1,1\n1,4,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,12,1,2,5,1,0,1,1,1,2,1,0\n0,1,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,3,2,2,2,5,4,0,1,1,1,1,0\n0,0,1,2,2,3,4,4,0,1,1,0,1,0\n1,0,12,1,0,7,2,0,1,1,1,0,1,1\n0,1,6,2,2,9,3,0,1,1,1,1,1,0\n0,0,1,2,2,3,4,0,0,1,1,2,1,0\n0,0,6,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,2,1,3,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,2,0,3,0,4,0,1,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,9,1,2,8,1,0,1,1,1,2,1,0\n2,3,1,2,0,5,2,0,1,1,1,0,1,1\n2,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,8,0,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,3,2,0,4,0,4,0,1,1,0,1,1\n0,0,1,2,0,6,2,0,1,1,1,2,1,0\n0,5,1,2,0,2,2,0,1,1,1,2,1,0\n1,0,0,3,1,4,3,0,1,1,1,0,1,1\n2,4,8,0,1,2,3,0,1,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,2,1,2,3,3,0,0,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,3,0,3,0,12,2,0,1,1,1,1,1,1\n1,1,1,2,2,5,1,0,0,1,1,2,1,0\n0,0,5,2,2,0,1,0,0,1,1,0,1,0\n1,0,1,2,5,2,3,0,0,1,1,0,1,0\n0,5,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,6,2,3,5,5,0,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,3,0,3,1,4,3,0,1,1,1,1,1,0\n0,0,1,2,1,8,3,0,0,1,1,2,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,4,10,3,0,5,0,0,0,1,1,0,1,1\n0,0,1,2,2,7,1,0,0,1,1,1,1,0\n0,4,5,2,2,12,3,4,1,1,1,0,1,0\n0,0,3,2,0,7,2,3,1,1,1,0,1,0\n0,0,0,3,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,1,2,1,0,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,3,0,3,2,8,3,0,0,1,1,0,1,0\n0,1,3,2,2,10,1,0,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,5,0,3,2,5,1,0,0,1,1,2,1,0\n2,0,7,1,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n0,0,3,2,2,10,4,0,1,1,1,0,1,0\n3,0,7,1,2,8,3,0,0,1,1,0,1,0\n0,0,6,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,0,12,2,0,1,1,1,2,1,1\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,5,2,2,5,1,0,1,1,1,0,1,0\n0,0,2,1,0,6,2,0,1,1,1,0,1,0\n0,2,0,3,1,3,3,0,0,1,1,1,1,0\n1,5,1,2,0,12,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,3,0,1,1,1,1,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,10,3,1,5,3,0,1,1,1,1,1,0\n1,0,1,2,2,3,1,0,1,1,1,1,1,0\n0,2,1,2,0,8,0,0,0,1,1,2,1,1\n0,0,7,1,3,6,4,0,1,1,1,0,1,0\n0,0,0,3,0,4,0,0,0,1,1,2,1,1\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n1,0,12,1,0,7,2,0,1,1,1,0,1,0\n1,1,1,2,0,5,2,3,1,1,1,1,1,1\n3,0,10,3,4,5,3,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,8,0,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,2,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,1,6,5,0,1,1,1,1,1,0\n2,0,0,3,0,7,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n0,0,0,3,2,4,1,0,0,1,1,1,1,0\n1,3,10,3,1,8,3,0,1,1,1,1,1,0\n0,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n1,1,13,3,2,5,3,0,1,1,1,0,1,1\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,1,0,3,2,8,3,4,0,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,5,2,2,8,1,0,1,1,1,2,1,0\n1,0,14,0,0,1,2,0,1,1,1,0,1,0\n1,4,3,2,0,12,2,0,1,1,1,1,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,1,7,3,0,0,1,1,0,1,0\n0,0,8,0,2,6,1,0,1,1,1,2,1,0\n2,0,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,5,2,0,12,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,0,3,0,2,2,1,1,1,1,0,1,0\n1,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,2,1,1,6,4,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,5,2,1,4,3,0,0,1,1,0,1,0\n0,0,9,1,2,1,3,0,1,1,1,0,1,0\n1,0,10,3,1,5,5,0,0,1,1,1,1,1\n0,0,5,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,4,3,0,0,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,1,8,5,4,0,1,1,0,1,0\n0,0,6,2,0,6,2,0,1,1,1,1,1,0\n0,0,0,3,2,2,1,0,1,1,1,0,1,0\n0,0,0,3,0,4,0,0,0,1,1,2,1,1\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,10,3,2,5,3,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n0,4,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,1,4,5,4,0,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,2,3,1,0,0,1,1,0,1,0\n1,0,3,2,0,6,2,4,1,1,1,2,1,0\n0,0,3,2,0,5,2,2,1,1,1,1,1,1\n2,0,1,2,2,2,3,0,0,1,1,0,1,0\n0,4,3,2,2,1,1,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,1,3,2,2,1,1,0,1,1,1,0,1,0\n1,1,3,2,0,3,2,0,1,1,1,0,1,0\n1,4,14,0,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,1,1,1,1,1,0\n0,0,12,1,2,3,1,0,1,1,1,2,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,0,10,2,4,1,1,1,2,1,0\n3,4,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,12,4,0,1,1,1,0,1,0\n0,0,6,2,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,3,0,3,2,4,3,4,0,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,0\n2,0,10,3,3,5,3,0,0,1,1,0,1,1\n1,0,8,0,0,10,2,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,0,4,0,1,1,1,1,1\n0,0,0,3,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n2,0,7,1,1,6,3,0,1,1,1,0,1,1\n0,5,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,0,3,1,0,5,0,1,1,1,0,1,1\n1,1,3,2,0,3,2,0,1,1,1,2,1,0\n0,0,9,1,1,2,5,0,0,1,1,2,1,0\n0,0,3,2,0,7,0,0,0,1,1,1,1,0\n2,0,0,3,4,8,3,0,0,1,1,2,1,0\n0,5,6,2,2,0,3,0,0,1,1,1,1,0\n1,5,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,1,0,1,1,2,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,1,0,3,2,8,1,0,1,1,1,0,1,1\n0,0,7,1,1,1,3,0,1,1,1,1,1,0\n0,0,3,2,1,2,5,3,0,1,1,2,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,4,10,3,5,5,3,0,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,0\n2,0,1,2,0,5,2,0,1,1,1,0,1,1\n3,0,10,3,2,4,3,4,1,1,1,1,1,1\n0,0,6,2,1,5,5,0,0,1,1,0,1,1\n0,1,1,2,0,3,2,4,1,1,1,1,1,1\n2,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,0,6,2,0,8,4,0,0,1,1,0,1,0\n2,4,10,3,4,5,3,0,0,1,1,0,1,0\n0,0,6,2,2,2,1,0,1,1,1,2,1,0\n1,4,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,1,0,1,1,0,1,0\n3,0,3,2,0,2,2,0,1,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,9,2,2,1,1,1,0,1,0\n2,1,1,2,0,9,2,0,1,1,1,2,1,0\n1,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,5,1,2,1,2,5,4,0,1,1,0,1,0\n0,0,0,3,2,2,3,1,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,6,4,0,1,1,1,0,1,0\n0,5,10,3,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,1,3,3,0,0,1,1,1,1,1\n1,0,6,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,2,0,0,0,1,1,0,1,1\n1,0,4,3,1,5,3,0,0,1,1,1,1,0\n2,5,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,8,1,4,0,1,1,0,1,0\n1,0,7,1,5,7,3,1,0,1,1,2,1,0\n1,0,0,3,2,5,3,0,1,1,1,0,1,1\n1,3,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,1,8,1,0,1,1,1,0,1,0\n1,0,14,0,0,1,0,0,0,1,1,1,1,0\n0,0,9,1,0,1,0,0,0,1,1,1,1,0\n0,0,3,2,0,4,2,4,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,1,7,1,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,10,1,1,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,0,1,1,2,1,0\n2,0,2,1,3,7,3,0,0,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,1,1,5,0,0,1,1,0,1,0\n0,0,6,2,0,8,0,0,0,1,1,1,1,0\n1,0,0,3,0,1,2,0,1,1,1,2,1,0\n2,0,3,2,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,2,4,1,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,12,1,5,7,3,0,0,1,1,0,1,0\n1,0,3,2,1,4,3,2,0,1,1,1,1,0\n1,2,6,2,1,4,3,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,2,1,1,1,0,1,0\n0,0,1,2,2,8,4,0,1,1,1,0,1,0\n1,2,1,2,1,2,5,0,1,1,1,1,1,0\n0,0,3,2,2,5,1,0,1,1,1,0,1,0\n1,1,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n2,4,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,5,1,2,2,5,1,0,1,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,2,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,1,2,0,0,2,0,1,1,1,2,1,1\n0,1,12,1,5,8,5,2,0,1,1,0,1,0\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n1,0,8,0,0,5,2,0,1,1,1,2,1,0\n0,0,12,1,1,7,3,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,0,5,2,0,1,1,1,0,1,1\n2,0,6,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,1,4,3,0,0,1,1,1,1,0\n2,2,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,12,1,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,1,1,0\n1,3,10,3,0,8,2,0,1,1,1,0,1,1\n1,0,0,3,1,2,3,0,0,1,1,0,1,0\n2,0,3,2,1,1,5,0,1,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n2,0,10,3,1,5,4,4,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,7,5,0,1,1,1,0,1,0\n1,0,0,3,2,8,5,4,0,1,1,0,1,0\n0,0,3,2,0,1,2,4,1,1,1,0,1,0\n0,0,1,2,2,1,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,5,5,2,0,2,2,0,1,1,1,2,1,0\n0,0,11,0,2,2,1,3,1,1,1,2,1,0\n1,0,3,2,4,7,3,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,1,3,3,0,0,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,1,1,1\n0,5,1,2,2,8,1,0,0,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,2,1,1\n0,0,3,2,2,3,3,1,0,1,1,0,1,0\n0,0,3,2,2,2,3,4,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,5,2,2,1,5,0,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n2,0,12,1,2,1,4,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,1,0,1,1,0,1,0\n1,0,14,0,3,2,5,0,0,1,1,0,1,0\n1,4,0,3,1,5,1,0,0,1,1,2,1,0\n0,5,10,3,0,5,0,4,0,1,1,0,1,1\n0,1,1,2,0,7,2,0,1,1,1,1,1,0\n1,5,13,3,1,5,3,0,0,1,1,1,1,1\n0,0,3,2,1,3,5,0,0,1,1,2,1,0\n1,0,1,2,3,2,5,0,0,1,1,1,1,0\n0,0,0,3,2,2,1,0,1,1,1,0,1,0\n2,4,1,2,0,10,2,4,1,1,1,2,1,0\n1,5,10,3,0,5,2,0,1,1,1,1,1,1\n0,5,10,3,0,5,2,0,1,1,1,2,1,1\n0,2,1,2,2,4,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,2,5,2,0,4,0,0,0,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,4,5,2,1,12,3,0,1,1,1,1,1,0\n0,4,1,2,2,8,1,0,1,1,1,0,1,0\n0,1,0,3,2,2,3,4,0,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,4,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,3,2,3,12,3,4,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n2,0,12,1,0,1,2,0,1,1,1,1,1,0\n2,2,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,3,2,5,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,5,8,3,0,0,1,1,0,1,0\n0,0,1,2,0,5,2,1,1,1,1,0,1,1\n1,4,1,2,0,12,2,0,1,1,1,1,1,0\n0,0,3,2,1,1,3,0,1,1,1,2,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,3,10,3,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,4,1,1,1,0,1,1\n1,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,1,8,4,0,0,1,1,0,1,0\n1,0,1,2,1,3,3,0,1,1,1,0,1,0\n0,0,0,3,0,10,2,0,1,1,1,0,1,0\n2,0,0,3,2,4,3,0,1,1,1,1,1,1\n2,1,1,2,0,9,2,0,1,1,1,2,1,0\n1,0,0,3,2,10,3,0,1,1,1,2,1,0\n2,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,0,5,2,2,11,3,0,0,1,1,1,1,0\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n1,0,10,3,0,0,2,0,1,1,1,2,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,6,2,1,8,5,4,0,1,1,0,1,0\n0,1,6,2,0,5,2,3,1,1,1,1,1,0\n0,0,6,2,0,6,2,0,1,1,1,1,1,0\n2,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n0,1,1,2,2,3,4,1,1,1,1,0,1,0\n0,0,10,3,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,2,2,4,4,0,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,4,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,1\n1,0,3,2,0,0,2,0,1,1,1,1,1,1\n0,4,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,1,1,1,1,1,2,1,0\n0,0,2,1,2,2,4,0,1,1,1,0,1,0\n2,4,6,2,3,5,5,4,0,1,1,2,1,0\n1,2,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,2,1,2,1,3,4,1,1,1,0,1,0\n2,0,8,0,1,10,5,0,1,1,1,1,1,0\n0,0,3,2,1,3,5,0,0,1,1,0,1,0\n1,4,6,2,0,12,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,1,0,0,1,1,2,1,1\n1,5,13,3,0,8,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,4,1,1,1,2,1,0\n0,0,10,3,2,1,3,0,1,1,1,1,1,1\n1,0,1,2,1,9,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,1,0,1,1,0,1,0\n0,0,3,2,2,4,3,0,1,1,1,1,1,0\n0,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,2,1,2,0,10,2,0,1,1,1,1,1,1\n1,0,1,2,2,1,1,0,1,1,1,1,1,0\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,5,2,0,8,0,2,0,1,1,1,1,1\n2,1,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,5,2,3,4,0,1,1,0,1,0\n0,4,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,0,9,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,4,1,1,1,1,0,1,0\n1,0,3,2,3,3,3,0,0,1,1,0,1,0\n2,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,5,1,2,1,5,5,0,1,1,1,2,1,0\n1,0,14,0,5,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,2,1,1,0,1,1,1,0,1,0\n1,0,10,3,0,0,2,0,1,1,1,1,1,1\n0,0,9,1,0,2,2,4,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,2,1,0\n2,1,2,1,0,3,2,0,1,1,1,2,1,0\n1,0,3,2,0,0,2,0,1,1,1,1,1,1\n1,0,12,1,1,3,3,0,0,1,1,2,1,0\n0,0,1,2,1,2,3,0,0,1,1,2,1,0\n1,3,1,2,1,10,3,0,1,1,1,0,1,0\n1,5,10,3,1,12,3,0,1,1,1,1,1,0\n0,1,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,1,1,1,1,1,0\n2,0,1,2,2,1,3,0,0,1,1,2,1,1\n1,0,6,2,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n1,0,1,2,2,3,3,4,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,5,2,0,4,0,0,0,1,1,0,1,1\n1,5,0,3,2,5,3,0,1,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,8,0,2,1,1,0,1,1,1,2,1,0\n0,0,7,1,0,4,0,0,0,1,1,0,1,0\n0,0,3,2,3,6,5,0,1,1,1,2,1,0\n3,0,11,0,1,2,3,4,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,0,3,2,7,3,0,0,1,1,0,1,0\n1,0,13,3,2,5,3,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,1,2,0,12,2,4,1,1,1,2,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,1\n0,0,10,3,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,1,0,0,1,1,1,1,1\n1,5,0,3,1,5,3,0,0,1,1,0,1,0\n0,0,12,1,2,2,4,0,0,1,1,2,1,0\n0,0,1,2,2,5,3,0,1,1,1,1,1,0\n1,0,10,3,5,8,5,0,0,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,2,1,0\n2,0,7,1,0,3,2,0,1,1,1,0,1,0\n2,0,13,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n2,5,1,2,4,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n2,0,0,3,1,4,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,3,8,5,0,0,1,1,2,1,0\n1,0,6,2,0,0,2,0,1,1,1,0,1,1\n2,0,1,2,1,3,3,0,0,1,1,1,1,0\n0,4,1,2,0,12,2,0,1,1,1,1,1,1\n1,0,0,3,2,8,5,0,1,1,1,2,1,0\n1,0,2,1,0,7,2,1,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,1,1,1,0,1,0\n1,0,8,0,0,7,2,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,1,3,2,1,2,5,0,0,1,1,0,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n1,4,10,3,0,5,2,0,1,1,1,2,1,0\n1,1,4,3,0,5,2,0,1,1,1,2,1,1\n1,0,1,2,0,8,2,0,1,1,1,1,1,1\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n1,5,1,2,0,1,2,0,1,1,1,0,1,1\n1,1,4,3,2,5,3,0,1,1,1,1,1,1\n1,0,6,2,0,7,2,0,1,1,1,0,1,0\n0,5,1,2,2,2,1,0,0,1,1,0,1,0\n0,0,14,0,2,2,3,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,2,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,6,2,1,7,3,0,0,1,1,2,1,0\n1,0,3,2,1,1,5,0,1,1,1,0,1,0\n0,0,5,2,2,3,1,0,0,1,1,0,1,0\n0,0,3,2,2,8,4,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,0,4,0,0,0,1,1,0,1,0\n0,0,3,2,3,7,1,0,1,1,1,0,1,0\n1,0,10,3,1,10,3,0,1,1,1,1,1,1\n1,4,4,3,0,12,2,0,1,1,1,0,1,1\n1,0,6,2,1,4,5,0,0,1,1,1,1,0\n0,0,1,2,2,12,3,0,1,1,1,1,1,0\n1,1,0,3,0,4,1,0,1,1,1,1,1,0\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n0,1,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,11,0,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,2,1,0,7,2,4,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,7,1,2,11,1,0,1,1,1,0,1,0\n0,0,1,2,0,2,2,0,1,1,1,1,1,0\n1,0,11,0,2,7,1,0,1,1,1,0,1,0\n1,0,3,2,3,8,5,0,0,1,1,0,1,0\n2,1,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,7,1,2,3,1,0,0,1,1,2,1,0\n2,1,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,4,5,4,0,1,1,0,1,1\n2,0,7,1,0,7,2,0,1,1,1,2,1,0\n0,0,7,1,0,7,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,0,6,2,0,10,2,0,1,1,1,1,1,1\n2,1,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,3,0,1,1,0,1,0\n1,0,6,2,1,0,4,0,0,1,1,2,1,0\n0,0,1,2,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n2,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,4,3,2,0,10,0,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,3,1,2,2,8,5,4,0,1,1,0,1,0\n1,0,5,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,4,4,0,1,1,0,1,0\n1,0,10,3,0,0,2,1,1,1,1,0,1,1\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,2,1,2,0,1,2,0,1,1,1,0,1,0\n2,4,5,2,4,8,3,4,0,1,1,0,1,0\n1,0,1,2,1,0,3,2,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,4,0,0,1,1,2,1,0\n0,0,1,2,2,5,3,4,1,1,1,0,1,0\n1,0,1,2,1,3,3,0,0,1,1,2,1,0\n0,0,5,2,2,8,1,0,0,1,1,2,1,0\n0,0,6,2,2,0,3,0,0,1,1,0,1,0\n0,3,1,2,2,0,1,0,0,1,1,0,1,0\n0,0,0,3,0,2,0,0,0,1,1,0,1,0\n0,0,1,2,2,4,1,0,0,1,1,1,1,0\n1,0,12,1,0,1,2,1,1,1,1,1,1,0\n1,5,3,2,1,8,3,0,0,1,1,0,1,0\n2,0,8,0,1,2,5,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n1,4,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,12,2,0,1,1,1,0,1,1\n0,0,0,3,0,10,2,0,1,1,1,0,1,0\n1,3,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n1,2,6,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n0,0,12,1,1,2,3,0,0,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,5,2,1,5,5,0,0,1,1,1,1,0\n0,1,1,2,2,9,1,0,1,1,1,2,1,0\n0,0,1,2,2,0,3,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,9,1,2,2,1,4,1,1,1,2,1,0\n1,0,1,2,1,3,5,0,0,1,1,0,1,0\n0,0,7,1,0,7,2,0,1,1,1,0,1,0\n0,0,6,2,0,4,0,4,0,1,1,1,1,0\n1,0,3,2,1,10,3,4,1,1,1,2,1,0\n1,0,6,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,3,1,3,0,1,1,1,1,1,0\n1,1,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,10,3,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,2,2,3,0,1,1,1,1,1,0\n1,0,1,2,4,2,5,0,0,1,1,1,1,0\n1,1,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,5,2,0,7,2,0,1,1,1,0,1,1\n0,0,10,3,0,5,0,0,0,1,1,1,1,1\n2,2,1,2,0,3,2,0,1,1,1,0,1,0\n1,1,12,1,1,9,5,0,1,1,1,1,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,4,7,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,2,1,1\n0,0,1,2,2,4,1,4,0,1,1,0,1,0\n2,0,11,0,0,2,2,0,1,1,1,2,1,0\n1,1,3,2,1,4,5,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,2,1,1\n0,0,0,3,1,4,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,10,3,0,0,1,1,2,1,0\n0,0,11,0,2,11,3,0,0,1,1,0,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,4,2,0,1,1,2,1,0\n1,0,3,2,1,1,1,0,1,1,1,0,1,0\n2,1,0,3,0,4,2,0,1,1,1,2,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,2,8,1,4,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,1,1,1,2,1,0\n3,1,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,5,2,0,1,2,0,1,1,1,0,1,1\n0,0,12,1,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n2,2,12,1,0,3,2,0,1,1,1,2,1,0\n2,0,10,3,0,3,2,0,1,1,1,1,1,0\n2,0,10,3,2,5,3,0,0,1,1,2,1,0\n1,0,1,2,1,10,3,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,2,1,3,3,1,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,8,0,5,1,3,4,1,1,1,1,1,0\n0,5,0,3,0,5,2,0,1,1,1,2,1,1\n1,4,8,0,2,2,5,4,0,1,1,0,1,0\n0,1,1,2,0,7,2,0,1,1,1,0,1,0\n2,0,1,2,1,1,3,0,1,1,1,0,1,0\n1,1,1,2,0,7,2,0,1,1,1,0,1,1\n1,1,10,3,2,3,3,0,1,1,1,1,1,1\n1,0,11,0,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,2,1,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,0\n2,0,12,1,0,7,2,4,1,1,1,0,1,0\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n2,1,12,1,2,1,3,0,1,1,1,0,1,0\n1,2,3,2,1,3,5,0,1,1,1,1,1,0\n1,2,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,5,3,2,2,4,3,0,1,1,1,1,1,0\n2,4,7,1,2,8,4,0,1,1,1,0,1,0\n1,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,0,0,3,2,3,1,4,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,4,5,2,0,12,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,4,0,0,1,1,1,1,0\n0,0,1,2,2,8,1,1,0,1,1,2,1,0\n0,0,1,2,2,10,1,0,1,1,1,2,1,0\n0,3,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,4,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,4,0,0,0,1,1,0,1,0\n0,1,3,2,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,0,10,0,1,0,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n2,1,1,2,0,1,2,0,1,1,1,2,1,0\n1,0,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,6,2,0,8,0,4,0,1,1,0,1,0\n2,1,3,2,1,1,5,0,1,1,1,1,1,1\n0,0,1,2,2,7,1,4,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,2,4,3,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,4,1,2,0,8,0,0,0,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,2,10,3,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,1,7,3,0,0,1,1,0,1,1\n0,0,12,1,3,2,5,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,3,5,5,0,1,1,1,1,1,0\n2,1,1,2,0,0,2,0,1,1,1,2,1,1\n1,0,10,3,1,5,3,0,1,1,1,0,1,0\n0,0,1,2,2,10,1,0,1,1,1,2,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,0,5,0,0,0,1,1,2,1,1\n0,4,3,2,2,6,1,4,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,0,3,2,8,3,4,0,1,1,0,1,0\n1,0,1,2,5,8,3,0,0,1,1,2,1,1\n2,0,1,2,4,3,3,0,1,1,1,2,1,1\n1,0,3,2,2,1,1,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,1,1,3,0,1,1,1,1,1,1\n1,0,3,2,0,2,0,0,0,1,1,2,1,1\n0,0,12,1,2,6,3,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,1\n0,0,7,1,2,3,1,0,0,1,1,0,1,0\n0,4,1,2,0,1,2,0,1,1,1,0,1,0\n2,1,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,0,1,2,2,0,1,0,0,1,1,2,1,0\n0,0,2,1,1,3,5,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,1,2,0,7,0,0,0,1,1,2,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n2,0,11,0,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,2,0,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,0,0,0,1,1,2,1,0\n1,5,1,2,3,4,1,0,1,1,1,0,1,0\n0,1,3,2,3,4,3,0,1,1,1,1,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,9,1,1,1,4,4,1,1,1,2,1,0\n0,0,6,2,2,10,1,0,1,1,1,0,1,0\n2,2,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,4,4,1,1,1,0,1,0\n1,0,0,3,2,5,3,0,1,1,1,0,1,1\n1,0,14,0,0,7,2,1,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,14,0,0,9,2,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,9,3,0,1,1,1,2,1,0\n1,2,12,1,2,10,3,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,1,1,1,1,1,1,1\n1,4,3,2,1,10,1,0,1,1,1,2,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,4,2,3,0,0,1,1,0,1,0\n1,0,12,1,1,1,5,0,0,1,1,0,1,0\n1,0,1,2,1,7,3,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,1,4,0,1,1,0,1,0\n1,0,7,1,1,2,1,0,0,1,1,1,1,0\n0,0,3,2,2,6,5,0,1,1,1,0,1,0\n0,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,0,1,0,0,1,1,0,1,0\n0,0,2,1,2,10,1,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n0,0,3,2,2,1,4,0,1,1,1,0,1,0\n3,4,2,1,0,4,2,0,1,1,1,2,1,0\n1,0,12,1,1,8,5,3,0,1,1,1,1,0\n1,0,10,3,0,5,0,0,0,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n0,0,14,0,0,9,2,1,1,1,1,0,1,0\n1,0,0,3,1,4,5,0,1,1,1,1,1,1\n1,0,6,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,0,3,0,3,0,0,0,1,1,2,1,1\n0,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,2,6,2,1,3,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,1,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,0,1,0,1,1,1,0,1,0\n0,1,5,2,0,3,2,0,1,1,1,1,1,0\n2,1,12,1,1,4,1,0,1,1,1,1,1,1\n1,0,1,2,4,2,3,0,0,1,1,2,1,0\n1,4,3,2,0,10,2,4,1,1,1,1,1,0\n0,0,3,2,0,6,2,4,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,4,1,2,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n1,0,0,3,5,5,3,0,0,1,1,0,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,1\n2,2,0,3,3,3,3,0,0,1,1,2,1,0\n0,0,5,2,2,8,3,1,0,1,1,1,1,1\n1,0,0,3,0,8,2,0,1,1,1,0,1,0\n0,4,6,2,2,8,1,0,1,1,1,1,1,0\n3,1,0,3,2,4,3,0,1,1,1,2,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,1,8,0,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,0,2,2,1,1,1,1,1,1,0\n0,0,6,2,0,0,2,0,1,1,1,0,1,0\n0,1,1,2,2,2,3,0,0,1,1,1,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,4,4,0,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,1\n2,0,3,2,0,8,0,0,0,1,1,2,1,0\n1,0,0,3,2,3,5,0,1,1,1,0,1,0\n0,0,6,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,2,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,3,5,2,1,2,5,0,1,1,1,0,1,0\n0,0,12,1,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,1,7,3,0,0,1,1,2,1,0\n1,2,3,2,1,4,3,0,1,1,1,1,1,0\n1,0,3,2,1,3,3,0,0,1,1,1,1,0\n1,0,3,2,5,9,5,3,1,1,1,0,1,0\n2,0,7,1,1,1,3,0,1,1,1,0,1,0\n1,0,5,2,1,8,5,4,0,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,5,0,3,2,5,1,0,1,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,0\n1,1,3,2,0,4,2,1,1,1,1,0,1,0\n1,4,1,2,0,5,2,4,1,1,1,1,1,1\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n1,0,3,2,2,10,3,4,1,1,1,1,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n2,1,12,1,0,1,2,0,1,1,1,2,1,0\n1,0,1,2,1,8,3,0,0,1,1,1,1,0\n2,4,7,1,0,10,2,0,1,1,1,0,1,0\n2,0,2,1,4,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n0,0,9,1,2,2,3,0,0,1,1,2,1,0\n1,1,6,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n1,1,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n2,0,7,1,0,10,2,4,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,5,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,7,1,1,2,5,0,0,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,7,1,0,0,0,0,0,1,1,2,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,1,2,5,0,0,1,1,0,1,0\n0,0,3,2,1,2,5,0,1,1,1,0,1,0\n1,0,3,2,3,7,3,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,1,8,5,4,0,1,1,2,1,0\n1,0,7,1,0,6,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,4,1,1,1,0,1,0\n0,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,2,2,1,2,9,1,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,12,1,4,2,5,0,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,2,2,5,0,0,1,1,2,1,0\n1,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,0,1,1,0,1,0\n1,0,5,2,0,7,2,0,1,1,1,0,1,0\n2,0,3,2,2,8,3,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,4,3,2,5,3,0,0,1,1,2,1,0\n2,2,3,2,0,8,2,0,1,1,1,1,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,1\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n2,0,9,1,0,10,4,0,1,1,1,0,1,0\n1,3,10,3,5,4,3,0,0,1,1,1,1,1\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,1,0,1,1,0,1,0\n2,0,3,2,4,2,5,0,0,1,1,0,1,0\n1,2,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,0,3,2,0,3,1,0,1,1,1,1,0\n1,0,3,2,1,2,3,0,1,1,1,2,1,0\n2,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,4,1,0,1,1,1,1,1,0\n1,0,0,3,1,5,3,0,1,1,1,1,1,0\n1,0,3,2,0,9,2,0,1,1,1,1,1,0\n1,3,1,2,1,0,3,0,1,1,1,0,1,0\n2,5,0,3,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,4,1,1,1,0,1,1\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,6,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,0,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,2,3,4,0,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,4,7,1,0,2,2,0,1,1,1,0,1,0\n0,4,10,3,0,5,0,0,0,1,1,2,1,1\n2,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,2,1,2,1,4,3,0,1,1,1,1,1,0\n2,1,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,2,5,2,0,4,2,0,1,1,1,1,1,1\n0,2,1,2,0,4,0,1,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,7,1,3,2,5,4,0,1,1,0,1,0\n1,1,10,3,2,4,3,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,4,0,1,1,0,1,0\n0,0,1,2,2,10,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,0,5,2,2,3,3,0,0,1,1,0,1,0\n1,0,3,2,2,2,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,2,0,3,5,3,3,0,1,1,1,0,1,0\n0,0,3,2,3,4,5,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,0,1,1,1,0,1,0\n2,0,3,2,1,12,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n2,0,3,2,4,4,3,0,0,1,1,0,1,0\n1,1,8,0,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,6,2,0,1,1,1,1,1,0\n2,0,1,2,1,2,3,0,0,1,1,1,1,0\n3,0,13,3,0,5,2,0,1,1,1,2,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,5,1,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,1,4,3,0,9,2,0,1,1,1,2,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,4,1,2,2,4,3,0,1,1,1,0,1,0\n0,0,12,1,3,2,5,0,0,1,1,2,1,0\n2,5,3,2,0,12,2,2,1,1,1,0,1,1\n0,0,5,2,2,8,3,0,1,1,1,1,1,0\n0,0,12,1,2,6,5,4,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,1,1,0\n0,5,3,2,0,12,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,5,0,0,0,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,2,1,1\n1,5,1,2,3,4,5,4,0,1,1,2,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,2,1,1\n1,0,3,2,0,4,0,0,0,1,1,0,1,1\n1,0,2,1,1,2,3,0,0,1,1,0,1,0\n0,0,1,2,1,4,3,0,0,1,1,1,1,1\n1,1,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,3,5,5,3,0,1,1,1,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,2,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,3,10,3,2,4,3,0,1,1,1,0,1,1\n0,4,3,2,1,12,5,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,10,3,2,8,3,0,0,1,1,0,1,0\n1,0,1,2,0,0,2,4,1,1,1,0,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n3,1,0,3,0,9,2,0,1,1,1,2,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,1,1,2,2,1,3,0,1,1,1,1,1,0\n1,0,5,2,0,8,2,1,1,1,1,0,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n2,1,10,3,1,3,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,4,1,1,1,0,1,0\n1,4,10,3,0,5,0,0,0,1,1,0,1,1\n1,0,1,2,0,8,0,4,0,1,1,0,1,1\n0,1,3,2,2,5,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,1,4,3,2,0,1,1,1,1,0\n1,0,3,2,2,8,3,4,0,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n3,1,0,3,0,5,2,0,1,1,1,1,1,0\n2,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,2,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,1,8,0,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,3,0,0,1,1,2,1,0\n1,0,1,2,3,8,4,4,0,1,1,0,1,0\n0,0,3,2,0,3,2,3,1,1,1,2,1,0\n0,0,5,2,5,5,1,0,0,1,1,0,1,0\n1,0,6,2,2,5,3,0,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,2,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,1,0,1,1,1,2,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,0,1,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,1,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,1,1,0\n1,0,3,2,4,3,5,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,1,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,4,1,2,3,12,3,0,1,1,1,1,1,0\n1,0,3,2,1,1,4,0,0,1,1,0,1,0\n1,0,3,2,3,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,1,10,3,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,1,8,0,0,9,2,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,1,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,0,3,0,5,4,1,0,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,7,1,2,8,5,4,0,1,1,2,1,0\n0,0,1,2,1,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,12,1,0,0,1,1,2,1,0\n1,4,3,2,1,12,3,0,1,1,1,1,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,4,3,0,5,2,0,1,1,1,2,1,0\n1,0,12,1,1,1,3,0,1,1,1,0,1,0\n2,0,13,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,4,3,4,1,1,1,0,1,0\n0,1,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n1,0,3,2,2,8,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,5,0,0,1,1,2,1,0\n1,2,10,3,0,4,0,0,0,1,1,2,1,1\n0,0,3,2,2,5,3,0,0,1,1,0,1,0\n1,4,1,2,3,2,5,4,0,1,1,2,1,0\n2,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n3,1,1,2,2,1,3,0,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n2,5,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,0,10,2,4,1,1,1,0,1,0\n0,0,2,1,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n0,0,1,2,1,3,3,0,0,1,1,1,1,0\n1,0,0,3,0,0,0,0,0,1,1,2,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n1,0,0,3,1,4,3,0,1,1,1,1,1,1\n2,5,3,2,3,4,5,0,0,1,1,2,1,0\n0,5,3,2,2,2,1,4,1,1,1,0,1,0\n1,0,0,3,1,8,5,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,6,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,1,1,1,1,2,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,0,1,0,1,1,1,2,1,0\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n1,0,5,2,0,5,2,0,1,1,1,1,1,1\n1,1,3,2,1,2,5,0,0,1,1,0,1,0\n0,0,0,3,2,8,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,0,0,0,1,1,2,1,1\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,0,3,1,5,3,0,1,1,1,0,1,1\n1,0,3,2,0,3,0,0,0,1,1,0,1,0\n1,4,10,3,1,5,5,0,0,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,4,3,2,2,12,1,0,1,1,1,0,1,0\n1,0,1,2,0,0,0,4,0,1,1,0,1,0\n1,0,1,2,1,4,1,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,1\n1,2,8,0,1,1,5,0,1,1,1,2,1,0\n0,0,6,2,2,4,1,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,4,0,1,1,1,1,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,1,8,5,0,0,1,1,1,1,0\n1,3,5,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,10,2,4,1,1,1,0,1,0\n0,0,6,2,0,8,0,0,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,1,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,4,3,2,2,8,3,4,0,1,1,0,1,0\n3,5,13,3,0,5,2,4,1,1,1,2,1,1\n1,0,5,2,1,4,3,0,0,1,1,0,1,0\n1,0,0,3,0,7,2,0,1,1,1,2,1,0\n2,4,3,2,0,9,2,0,1,1,1,1,1,0\n1,4,3,2,0,8,2,4,1,1,1,0,1,0\n2,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n2,0,1,2,0,10,2,0,1,1,1,0,1,1\n1,0,0,3,2,8,5,4,0,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,2,4,3,0,1,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,2,1,0\n1,0,2,1,0,10,2,4,1,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n2,0,0,3,1,8,3,0,1,1,1,0,1,1\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n1,0,3,2,0,2,2,4,1,1,1,0,1,0\n2,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,2,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,2,1,2,1,4,5,0,0,1,1,1,1,0\n1,0,9,1,2,2,1,0,0,1,1,0,1,0\n2,0,10,3,0,5,2,1,1,1,1,1,1,0\n1,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,1,2,1,0,9,2,0,1,1,1,1,1,0\n1,5,0,3,0,5,0,2,0,1,1,1,1,1\n0,5,1,2,3,5,3,0,1,1,1,0,1,1\n1,0,7,1,3,11,5,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,6,2,2,2,3,0,0,1,1,0,1,0\n0,1,3,2,2,10,1,0,1,1,1,1,1,0\n0,3,0,3,2,0,1,0,1,1,1,2,1,0\n2,0,0,3,1,8,5,0,0,1,1,1,1,0\n0,0,1,2,2,5,3,0,1,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,2,3,2,2,9,1,0,1,1,1,1,1,0\n1,0,7,1,1,2,3,0,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n0,0,1,2,2,4,1,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,9,1,2,6,1,0,1,1,1,2,1,0\n0,1,6,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,3,1,2,0,4,2,0,1,1,1,0,1,1\n3,0,3,2,4,8,3,0,0,1,1,0,1,1\n1,0,3,2,1,9,3,0,1,1,1,0,1,0\n0,0,2,1,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,0,0,0,1,1,2,1,1\n0,0,0,3,2,3,3,0,1,1,1,0,1,1\n0,0,4,3,0,5,2,4,1,1,1,0,1,0\n1,0,3,2,3,8,3,0,0,1,1,0,1,0\n1,0,12,1,0,2,0,4,0,1,1,2,1,0\n2,0,3,2,0,3,0,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,2,1,1\n1,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,4,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,5,10,3,2,5,3,0,1,1,1,0,1,0\n0,3,1,2,2,1,4,0,1,1,1,0,1,0\n0,0,15,0,0,9,4,0,1,1,1,2,1,0\n2,0,1,2,1,1,5,0,0,1,1,1,1,0\n1,0,3,2,4,7,5,4,0,1,1,2,1,0\n0,0,1,2,2,3,4,0,0,1,1,2,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n3,0,8,0,4,2,3,0,0,1,1,2,1,0\n0,1,3,2,2,1,1,0,1,1,1,1,1,0\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n2,0,3,2,0,4,0,0,0,1,1,2,1,1\n0,0,1,2,2,4,1,0,1,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,7,1,4,0,1,1,0,1,0\n1,0,3,2,2,2,3,0,0,1,1,2,1,0\n2,1,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n1,5,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n1,3,10,3,2,4,3,0,0,1,1,1,1,1\n1,0,1,2,0,6,2,0,1,1,1,0,1,0\n2,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,3,4,1,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,12,1,1,3,5,0,0,1,1,2,1,0\n0,0,9,1,2,3,4,4,1,1,1,1,1,0\n2,0,3,2,5,8,5,0,0,1,1,2,1,0\n2,4,1,2,4,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,0,12,1,0,3,2,0,1,1,1,1,1,0\n0,0,10,3,2,4,3,0,0,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,12,1,0,10,2,2,1,1,1,2,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,5,1,2,1,8,4,0,0,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,2,1,0\n1,4,3,2,1,8,1,0,1,1,1,1,1,0\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,3,5,5,0,0,1,1,2,1,0\n1,0,12,1,2,5,3,0,1,1,1,1,1,1\n1,4,10,3,2,5,3,4,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,2,1,0\n1,0,6,2,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,1,5,3,0,1,1,1,0,1,0\n0,0,0,3,2,3,1,0,1,1,1,1,1,0\n1,4,10,3,2,5,3,0,0,1,1,0,1,0\n1,1,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n2,3,3,2,0,5,2,0,1,1,1,0,1,1\n1,2,14,0,0,3,2,0,1,1,1,0,1,1\n2,4,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,5,3,2,0,10,2,0,1,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,1,3,2,4,4,5,1,0,1,1,1,1,0\n1,0,3,2,1,4,5,0,0,1,1,0,1,0\n0,4,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,1,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,12,1,2,9,1,0,1,1,1,2,1,0\n0,0,3,2,1,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,0,3,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,2,1,1,1,0,1,0\n1,0,0,3,3,2,5,1,0,1,1,2,1,0\n0,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,3,5,2,0,0,2,4,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,5,4,0,1,1,2,1,0\n1,1,0,3,2,12,3,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,0,6,2,0,1,1,1,2,1,0\n2,2,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,10,3,0,0,1,1,1,1,0\n1,0,8,0,0,7,2,3,1,1,1,2,1,0\n1,1,10,3,1,4,5,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n0,0,1,2,1,8,5,4,0,1,1,2,1,0\n1,2,10,3,1,5,5,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n2,0,12,1,0,8,2,0,1,1,1,1,1,0\n1,0,5,2,2,10,3,0,1,1,1,1,1,0\n2,1,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,8,0,4,8,3,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,5,0,3,2,5,1,0,0,1,1,2,1,0\n0,0,6,2,2,3,3,0,1,1,1,0,1,1\n0,0,0,3,0,1,2,0,1,1,1,1,1,1\n1,1,1,2,1,7,3,0,1,1,1,2,1,0\n0,0,3,2,3,10,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,1,1,0\n2,0,2,1,0,2,2,4,1,1,1,0,1,0\n3,1,3,2,1,3,3,0,1,1,1,2,1,0\n2,0,7,1,2,7,5,4,0,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,4,5,2,0,12,2,0,1,1,1,1,1,1\n1,0,1,2,4,3,5,0,1,1,1,1,1,1\n0,5,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,1,2,1,0,1,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,4,0,3,1,5,5,0,0,1,1,1,1,0\n1,4,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,12,1,0,1,2,0,1,1,1,1,1,1\n2,0,13,3,0,5,2,0,1,1,1,2,1,1\n0,4,5,2,2,0,3,0,1,1,1,2,1,0\n0,1,3,2,0,9,2,0,1,1,1,0,1,0\n0,5,4,3,2,5,3,1,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,5,4,0,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,1,2,1,2,8,3,0,0,1,1,0,1,0\n2,0,3,2,0,9,2,0,1,1,1,0,1,0\n2,0,6,2,0,0,2,0,1,1,1,0,1,1\n0,1,1,2,0,3,1,1,1,1,1,1,1,0\n0,0,0,3,2,9,1,0,1,1,1,0,1,0\n2,0,3,2,2,8,3,0,0,1,1,2,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,4,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,2,1,3,2,3,4,0,1,1,0,1,0\n0,0,6,2,1,8,5,0,0,1,1,0,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,3,2,3,0,1,1,1,0,1,1\n0,1,1,2,0,1,2,2,1,1,1,1,1,0\n1,0,2,1,1,11,5,0,0,1,1,2,1,0\n1,0,10,3,2,1,3,0,0,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,2,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,4,0,1,1,1,0,1,0\n0,0,1,2,2,4,4,0,0,1,1,1,1,0\n0,0,1,2,1,7,1,0,0,1,1,0,1,0\n3,1,8,0,5,8,3,0,1,1,1,2,1,1\n2,0,3,2,4,3,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,0,3,2,2,2,5,4,0,1,1,2,1,0\n1,2,10,3,1,3,5,0,0,1,1,1,1,1\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,6,4,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,4,1,1,1,0,1,1\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,5,2,3,4,0,1,1,0,1,0\n2,0,8,0,4,7,3,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,4,1,2,2,2,3,4,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,12,2,0,1,1,1,0,1,0\n2,4,3,2,4,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,0,1,1,1,1,0\n0,0,7,1,2,6,4,0,1,1,1,2,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,1\n1,0,10,3,2,4,3,0,0,1,1,1,1,0\n0,1,3,2,2,10,3,0,1,1,1,1,1,0\n1,0,1,2,3,3,5,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,5,1,2,3,8,1,4,1,1,1,2,1,0\n0,0,14,0,0,9,2,0,1,1,1,2,1,0\n2,2,10,3,1,4,3,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,5,2,1,1,5,0,0,1,1,0,1,0\n3,0,2,1,0,1,2,0,1,1,1,0,1,0\n3,2,1,2,0,4,2,0,1,1,1,2,1,1\n0,0,3,2,2,8,5,1,0,1,1,2,1,0\n0,0,3,2,0,1,2,2,1,1,1,1,1,0\n1,0,2,1,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,5,0,0,1,1,2,1,0\n0,0,1,2,5,3,1,4,0,1,1,2,1,0\n2,0,0,3,0,4,2,1,1,1,1,0,1,0\n1,0,5,2,1,5,5,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,3,13,3,2,5,3,0,0,1,1,1,1,1\n0,1,6,2,0,1,2,0,1,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,5,2,2,8,3,0,1,1,1,0,1,0\n1,0,0,3,1,5,3,0,1,1,1,0,1,0\n2,0,3,2,4,1,5,0,1,1,1,0,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,3,9,1,2,8,1,4,1,1,1,2,1,0\n1,5,10,3,2,8,3,0,1,1,1,1,1,1\n0,0,6,2,0,1,2,0,1,1,1,2,1,1\n0,0,6,2,2,6,1,0,0,1,1,0,1,0\n0,0,3,2,1,10,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,2,1,1,7,5,4,0,1,1,2,1,0\n0,0,1,2,0,1,2,4,1,1,1,1,1,1\n0,0,1,2,1,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,4,3,2,0,2,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,3,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,5,0,3,0,5,0,0,0,1,1,2,1,1\n1,4,3,2,0,12,2,0,1,1,1,0,1,1\n2,0,2,1,0,8,2,0,1,1,1,1,1,0\n1,0,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,7,0,0,0,1,1,0,1,0\n0,0,0,3,0,4,0,0,0,1,1,2,1,1\n0,0,2,1,2,6,3,0,1,1,1,0,1,0\n1,0,6,2,1,0,3,0,0,1,1,2,1,0\n0,0,6,2,2,5,1,3,0,1,1,1,1,0\n1,0,5,2,1,8,3,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,0,0,0,0,1,1,2,1,1\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,6,2,1,3,3,0,1,1,1,0,1,0\n0,0,12,1,0,1,2,0,1,1,1,1,1,0\n0,1,3,2,2,3,5,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,3,2,0,4,0,0,0,1,1,0,1,1\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,5,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,2,2,0,1,1,1,1,1,1\n2,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,5,5,4,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,3,7,3,4,0,1,1,2,1,0\n0,0,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,0,10,3,0,8,2,0,1,1,1,0,1,0\n2,0,8,0,0,10,2,0,1,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,4,0,3,0,5,2,0,1,1,1,0,1,1\n1,2,2,1,1,3,3,0,1,1,1,0,1,0\n0,0,3,2,1,4,1,0,1,1,1,1,1,0\n1,0,5,2,1,8,5,0,0,1,1,1,1,0\n1,4,7,1,3,2,4,0,0,1,1,0,1,0\n1,2,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,4,3,4,0,1,1,1,1,0\n0,5,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,6,4,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,1,3,5,0,1,1,1,0,1,1\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,9,1,0,10,2,4,1,1,1,0,1,0\n2,2,3,2,0,4,0,0,0,1,1,2,1,1\n1,0,3,2,5,9,4,0,1,1,1,2,1,0\n0,0,2,1,2,2,1,4,1,1,1,2,1,0\n0,0,12,1,0,7,2,0,1,1,1,0,1,0\n1,1,1,2,0,5,2,0,1,1,1,1,1,0\n2,0,7,1,0,1,2,0,1,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,1,1,2,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,1,4,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,4,3,1,5,3,0,1,1,1,1,1,1\n0,0,6,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,5,4,1,1,1,1,1,0\n1,4,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,4,4,0,1,1,2,1,0\n1,5,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,9,1,0,1,1,1,2,1,0\n1,0,5,2,0,1,2,0,1,1,1,2,1,0\n1,0,10,3,2,4,3,0,1,1,1,0,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,1,10,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n3,1,0,3,4,5,5,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n3,0,1,2,0,3,2,0,1,1,1,2,1,0\n2,2,3,2,1,2,3,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n2,1,4,3,0,5,2,1,1,1,1,1,1,1\n1,0,3,2,0,2,2,2,1,1,1,1,1,0\n2,0,3,2,0,2,2,0,1,1,1,2,1,0\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,4,0,3,1,5,1,0,0,1,1,1,1,0\n1,1,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,8,0,1,1,3,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,9,1,0,1,1,1,2,1,0\n0,4,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,1,2,1,8,1,0,0,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,1,1,0\n2,0,2,1,1,11,5,4,0,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,5,1,2,2,2,5,0,0,1,1,0,1,0\n1,0,1,2,1,4,5,0,0,1,1,0,1,0\n1,0,3,2,1,7,3,4,0,1,1,1,1,0\n0,0,1,2,2,8,4,4,0,1,1,2,1,0\n0,4,3,2,2,9,1,0,1,1,1,0,1,0\n2,5,1,2,1,8,3,0,0,1,1,2,1,0\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n1,4,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,5,2,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,2,1,3,1,5,0,0,1,1,0,1,0\n0,0,0,3,2,4,1,0,0,1,1,2,1,0\n2,0,10,3,2,2,3,0,0,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,3,5,2,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,0,2,0,0,0,1,1,0,1,0\n0,0,3,2,2,3,5,0,0,1,1,0,1,0\n1,5,8,0,0,10,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,0,0,0,1,1,0,1,1\n0,5,1,2,1,4,3,4,0,1,1,0,1,0\n1,3,1,2,1,4,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n3,2,12,1,4,3,5,0,0,1,1,0,1,0\n1,1,3,2,0,5,2,0,1,1,1,1,1,1\n2,1,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,0,8,0,4,0,1,1,0,1,0\n0,4,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,1,4,4,4,0,1,1,1,1,0\n2,0,3,2,4,8,3,0,0,1,1,0,1,0\n1,0,3,2,1,5,3,0,1,1,1,0,1,0\n1,0,0,3,2,5,1,0,0,1,1,1,1,0\n0,0,3,2,1,6,1,0,1,1,1,0,1,0\n2,0,1,2,0,4,0,0,0,1,1,0,1,1\n1,0,3,2,3,0,3,0,0,1,1,2,1,0\n1,4,0,3,2,5,3,0,0,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,4,1,1,1,0,1,0\n0,5,1,2,2,8,3,0,1,1,1,2,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n1,0,1,2,1,4,3,0,1,1,1,1,1,0\n0,1,5,2,2,3,3,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,0,5,2,0,1,1,1,1,1,0\n2,0,2,1,1,10,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,1,8,3,4,0,1,1,0,1,0\n0,0,7,1,2,6,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,10,3,1,5,5,0,0,1,1,1,1,0\n1,0,1,2,4,8,3,0,0,1,1,0,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,4,10,3,1,5,5,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,5,9,1,2,4,3,0,1,1,1,0,1,0\n1,0,1,2,3,8,4,0,0,1,1,0,1,0\n0,0,0,3,0,5,0,0,0,1,1,0,1,0\n1,0,3,2,2,2,5,0,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,0,0,0,1,1,1,1,1\n2,0,6,2,4,5,3,0,0,1,1,0,1,0\n2,1,3,2,0,8,0,0,0,1,1,2,1,0\n1,0,3,2,0,5,0,0,0,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,4,1,2,0,12,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,1,10,1,0,1,1,1,1,1,0\n0,0,3,2,0,10,1,0,1,1,1,1,1,0\n1,0,1,2,2,1,3,1,1,1,1,0,1,0\n1,0,1,2,2,8,3,0,0,1,1,1,1,0\n0,0,3,2,2,8,3,4,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,0,0,3,1,3,3,0,0,1,1,1,1,0\n1,2,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,2,1,0\n1,4,5,2,3,8,3,4,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,0,15,0,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,1,3,1,0,0,1,1,1,1,0\n0,0,3,2,2,10,1,0,1,1,1,2,1,0\n1,0,8,0,1,6,4,4,1,1,1,0,1,0\n0,0,3,2,5,2,5,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,0,3,0,0,1,1,0,1,1\n0,0,10,3,2,4,3,1,1,1,1,0,1,0\n1,0,6,2,0,0,2,0,1,1,1,0,1,0\n3,1,9,1,0,9,2,0,1,1,1,2,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n0,0,0,3,3,5,5,0,0,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,5,3,0,1,1,0,1,0\n1,3,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n1,5,1,2,3,12,5,0,1,1,1,0,1,0\n0,0,3,2,3,8,5,0,0,1,1,2,1,0\n2,0,2,1,0,2,2,0,1,1,1,1,1,0\n0,0,6,2,5,5,5,0,0,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n2,0,8,0,1,10,5,0,1,1,1,0,1,0\n1,0,0,3,2,3,1,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,3,2,1,8,3,0,0,1,1,2,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,1,1,2,1,8,5,0,0,1,1,1,1,0\n1,1,1,2,2,5,3,4,1,1,1,0,1,0\n0,0,9,1,2,2,3,0,1,1,1,2,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n1,1,12,1,5,10,3,0,1,1,1,1,1,0\n0,0,2,1,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,5,2,0,1,1,2,1,0\n2,5,0,3,0,4,2,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n2,0,3,2,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,0,12,2,0,1,1,1,0,1,1\n1,4,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,1,5,2,1,5,3,0,0,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n2,1,1,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,4,5,2,0,8,2,0,1,1,1,0,1,0\n2,2,6,2,0,4,2,0,1,1,1,1,1,0\n1,0,0,3,2,4,5,0,0,1,1,0,1,0\n0,0,0,3,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,3,1,0,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n1,5,5,2,5,2,5,0,0,1,1,2,1,0\n1,0,3,2,1,6,5,1,0,1,1,0,1,0\n1,0,3,2,3,1,3,4,1,1,1,0,1,0\n0,0,1,2,0,0,0,4,0,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,4,3,2,5,3,0,1,1,1,0,1,1\n1,0,0,3,2,5,1,0,1,1,1,0,1,0\n2,0,1,2,1,8,3,0,0,1,1,2,1,0\n1,1,8,0,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,1,1,1,1,1,0,1,0\n0,4,1,2,2,8,1,2,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,4,1,2,3,8,3,0,0,1,1,0,1,0\n0,0,1,2,0,5,2,0,1,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,12,1,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,2,3,3,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n1,3,10,3,0,4,2,0,1,1,1,0,1,1\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,1,4,3,0,0,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,2,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,0,3,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,6,2,2,3,1,0,0,1,1,2,1,0\n1,2,6,2,1,4,5,1,0,1,1,1,1,0\n0,0,3,2,2,2,5,0,0,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,2,1,1\n0,0,1,2,2,0,3,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,3,5,2,0,8,2,4,1,1,1,0,1,1\n1,0,3,2,1,8,5,0,1,1,1,0,1,0\n2,0,3,2,4,7,5,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,4,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,4,10,3,0,5,0,0,0,1,1,0,1,0\n0,0,13,3,0,5,2,1,1,1,1,1,1,0\n0,0,4,3,0,5,2,0,1,1,1,0,1,0\n0,0,12,1,1,10,3,2,1,1,1,1,1,0\n2,0,8,0,1,8,3,0,0,1,1,2,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,5,2,0,1,2,0,1,1,1,0,1,0\n1,4,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,4,1,1,1,1,1,1\n2,1,8,0,0,3,2,0,1,1,1,1,1,0\n2,2,0,3,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,3,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,5,2,2,0,3,0,0,1,1,1,1,0\n0,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,1,8,0,2,9,1,0,1,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,4,10,3,0,5,2,0,1,1,1,1,1,0\n2,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,4,0,1,1,1,1,1,0\n1,0,12,1,1,2,3,0,0,1,1,0,1,0\n2,5,0,3,0,8,2,0,1,1,1,2,1,1\n1,0,3,2,0,6,0,0,0,1,1,0,1,1\n1,0,12,1,2,7,3,0,1,1,1,1,1,0\n2,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n2,4,10,3,0,5,0,4,0,1,1,0,1,1\n0,0,5,2,0,3,2,0,1,1,1,1,1,1\n2,4,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,4,0,3,0,5,2,4,1,1,1,0,1,0\n0,5,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,1,7,5,0,1,1,1,1,1,0\n2,1,3,2,4,2,4,0,0,1,1,0,1,0\n0,5,0,3,2,5,3,0,1,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,5,8,1,1,0,1,1,2,1,0\n1,0,0,3,0,7,2,4,1,1,1,1,1,0\n1,0,3,2,0,2,0,0,0,1,1,2,1,0\n1,0,3,2,3,4,1,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,2,6,2,1,3,5,0,0,1,1,0,1,0\n1,0,7,1,0,6,2,0,1,1,1,1,1,0\n1,0,1,2,2,1,1,1,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,1,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,5,5,2,0,12,2,0,1,1,1,0,1,0\n0,4,3,2,0,12,2,0,1,1,1,0,1,0\n1,5,10,3,0,5,2,0,1,1,1,1,1,1\n1,3,0,3,1,5,3,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,2,1,1\n3,1,3,2,4,1,3,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,4,1,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,1,2,1,0,5,0,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,8,0,1,7,5,0,1,1,1,0,1,0\n2,1,1,2,0,3,2,4,1,1,1,1,1,1\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,2,3,3,0,0,1,1,1,1,1\n1,0,1,2,1,3,5,0,0,1,1,1,1,0\n0,0,1,2,2,8,1,4,1,1,1,2,1,0\n0,0,6,2,2,8,1,4,0,1,1,0,1,0\n0,0,3,2,2,9,3,0,1,1,1,1,1,0\n2,0,2,1,1,3,3,0,0,1,1,0,1,0\n0,0,9,1,0,1,2,0,1,1,1,0,1,0\n1,3,1,2,1,0,5,2,0,1,1,2,1,0\n1,0,13,3,1,3,5,0,0,1,1,1,1,1\n0,0,2,1,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,2,12,1,4,4,5,0,0,1,1,1,1,1\n2,0,2,1,0,7,2,0,1,1,1,2,1,0\n0,0,12,1,2,8,5,4,0,1,1,0,1,0\n0,0,10,3,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,1,0,1,1,1,1,1,0\n1,1,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,8,0,2,1,3,0,1,1,1,2,1,0\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n1,0,0,3,2,8,3,4,1,1,1,0,1,0\n0,1,1,2,2,5,4,1,0,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,4,2,4,1,0,1,1,1,1,0\n1,3,0,3,0,5,2,1,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,3,0,3,2,4,1,0,0,1,1,0,1,0\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n2,1,10,3,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n2,4,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n0,0,15,0,2,9,3,0,1,1,1,0,1,0\n2,0,0,3,0,8,2,0,1,1,1,1,1,1\n2,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,3,6,2,1,5,5,2,0,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,12,1,2,2,3,0,0,1,1,2,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,1\n1,4,0,3,0,5,0,0,0,1,1,0,1,1\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n1,0,10,3,1,4,3,0,0,1,1,0,1,1\n1,2,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,7,1,0,2,2,0,1,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,1,2,5,4,0,1,1,0,1,0\n0,0,12,1,2,8,3,0,0,1,1,2,1,0\n1,0,0,3,0,0,0,0,0,1,1,0,1,1\n1,3,3,2,3,8,5,4,0,1,1,0,1,0\n1,1,3,2,0,0,2,0,1,1,1,2,1,0\n1,1,6,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,0,3,0,0,1,1,2,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,1,7,3,0,0,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,10,3,1,5,5,0,0,1,1,1,1,0\n0,0,10,3,2,4,3,0,0,1,1,0,1,0\n1,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,0,1,1,0,1,0\n0,4,1,2,2,12,3,0,1,1,1,1,1,1\n0,0,3,2,1,9,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,0,0,0,1,1,1,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,5,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,9,1,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,6,2,2,10,3,0,1,1,1,1,1,0\n1,0,10,3,1,3,3,0,0,1,1,2,1,0\n1,1,13,3,0,5,2,0,1,1,1,2,1,1\n1,4,1,2,1,10,3,0,0,1,1,0,1,0\n1,1,7,1,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,14,0,0,2,2,0,1,1,1,0,1,0\n2,1,6,2,0,0,4,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,1,1,1,2,1,0\n0,0,5,2,2,3,3,0,1,1,1,1,1,0\n0,1,7,1,2,1,3,0,1,1,1,2,1,0\n1,5,0,3,1,5,3,0,1,1,1,1,1,0\n2,1,3,2,0,0,2,0,1,1,1,2,1,0\n0,0,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,8,0,2,9,5,0,1,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,1,0,1,1,1,2,1,0\n1,0,3,2,0,2,4,4,0,1,1,0,1,0\n0,0,6,2,0,2,2,0,1,1,1,0,1,1\n0,4,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,6,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,0,2,0,1,1,1,1,1,0\n1,2,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,1,7,5,0,0,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,1,4,3,0,1,1,1,1,1,0\n0,0,3,2,1,6,1,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,10,3,1,5,5,0,1,1,1,1,1,1\n1,0,3,2,2,3,5,0,1,1,1,1,1,1\n0,0,12,1,2,7,1,0,1,1,1,2,1,0\n0,0,3,2,1,3,1,0,0,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,5,2,1,5,5,0,0,1,1,2,1,0\n0,0,1,2,2,1,5,2,1,1,1,0,1,0\n1,3,3,2,1,8,3,4,1,1,1,0,1,0\n1,0,4,3,0,5,0,0,0,1,1,1,1,1\n0,5,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,7,5,4,0,1,1,1,1,0\n2,0,0,3,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,4,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,3,7,3,0,1,1,1,1,1,1\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,1,1,2,2,2,3,0,0,1,1,1,1,0\n0,0,5,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,4,1,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,4,10,3,1,5,5,0,0,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n2,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,3,1,1,1,0,1,0\n1,0,3,2,3,7,1,4,0,1,1,0,1,0\n1,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,0,0,3,1,5,5,4,1,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,0,4,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n2,4,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,2,1,1\n0,0,8,0,1,0,5,0,0,1,1,0,1,0\n0,1,0,3,2,0,3,0,1,1,1,1,1,0\n2,1,0,3,0,5,2,1,1,1,1,2,1,1\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,8,0,2,3,4,0,1,1,1,1,1,0\n1,2,0,3,0,4,2,0,1,1,1,2,1,1\n0,0,1,2,0,7,2,0,1,1,1,0,1,1\n1,0,1,2,2,8,5,4,0,1,1,0,1,0\n2,0,3,2,0,8,2,1,1,1,1,0,1,0\n0,4,1,2,0,12,2,0,1,1,1,1,1,0\n0,0,2,1,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,5,0,3,1,12,3,0,1,1,1,0,1,1\n1,1,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,4,1,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,1,2,0,5,2,0,1,1,1,2,1,0\n0,0,13,3,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,0,3,0,0,1,1,0,1,0\n0,0,3,2,0,3,0,0,0,1,1,0,1,1\n1,0,3,2,4,3,5,0,0,1,1,0,1,0\n0,0,6,2,1,1,1,0,1,1,1,1,1,0\n0,0,3,2,2,3,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,3,2,4,7,3,4,0,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,0,0,3,3,3,5,0,0,1,1,2,1,0\n0,0,3,2,0,7,0,0,0,1,1,0,1,0\n0,0,1,2,1,3,1,0,1,1,1,0,1,0\n1,0,3,2,1,0,5,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n2,5,3,2,5,2,5,4,0,1,1,0,1,0\n1,5,0,3,1,12,3,0,0,1,1,0,1,0\n1,0,12,1,1,10,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,3,0,1,1,0,1,0\n1,0,6,2,0,2,0,4,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,3,6,4,0,0,1,1,0,1,0\n0,0,0,3,2,0,1,0,1,1,1,0,1,0\n1,4,0,3,2,8,3,4,0,1,1,0,1,0\n0,3,3,2,2,8,4,0,1,1,1,0,1,0\n1,3,1,2,2,2,1,0,1,1,1,0,1,0\n2,0,0,3,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,1,9,5,0,1,1,1,1,1,0\n1,0,6,2,0,4,2,4,1,1,1,0,1,0\n1,0,1,2,0,12,2,4,1,1,1,0,1,1\n1,0,1,2,1,1,3,0,0,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,2,1,0,7,0,0,0,1,1,0,1,0\n0,5,3,2,2,0,1,0,1,1,1,0,1,0\n1,0,3,2,2,8,3,0,0,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,5,4,3,0,5,2,1,1,1,1,1,1,1\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n1,3,5,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,1,1,3,4,1,1,1,0,1,0\n0,0,1,2,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,12,1,3,3,5,0,0,1,1,0,1,0\n1,0,1,2,1,1,3,0,1,1,1,1,1,1\n0,0,4,3,2,5,3,0,0,1,1,1,1,1\n1,0,1,2,2,2,3,0,0,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,1\n1,4,0,3,0,12,2,4,1,1,1,0,1,1\n0,0,3,2,3,7,1,0,0,1,1,0,1,0\n1,2,3,2,0,4,2,0,1,1,1,2,1,0\n1,5,13,3,2,4,3,0,0,1,1,0,1,1\n0,0,3,2,2,4,3,0,1,1,1,1,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,13,3,0,5,0,0,0,1,1,2,1,0\n1,0,3,2,5,3,3,4,0,1,1,2,1,0\n0,3,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,2,3,3,0,0,1,1,0,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,2,0,3,0,5,2,0,1,1,1,1,1,0\n2,5,10,3,0,5,2,1,1,1,1,0,1,1\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,2,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,4,1,2,2,8,4,4,1,1,1,0,1,0\n1,5,0,3,0,4,0,0,0,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,3,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,5,2,2,8,1,0,1,1,1,2,1,0\n0,5,13,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,5,2,0,1,1,1,1,1,0\n0,1,1,2,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,11,0,3,5,5,4,0,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,2,1,0\n0,0,0,3,2,0,3,0,1,1,1,1,1,0\n0,0,0,3,0,5,0,0,0,1,1,0,1,0\n1,0,6,2,0,4,0,0,0,1,1,0,1,1\n0,4,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,0,3,2,1,1,0,1,1,1,0,1,0\n0,0,8,0,2,7,4,0,0,1,1,1,1,0\n1,0,3,2,0,4,4,0,1,1,1,0,1,1\n1,0,3,2,0,2,0,1,0,1,1,2,1,0\n2,0,3,2,1,7,3,0,0,1,1,0,1,0\n2,4,2,1,0,10,2,0,1,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n0,0,3,2,2,11,4,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,1,1,1,2,1,0\n2,2,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,1,3,5,0,0,1,1,2,1,0\n1,0,11,0,3,7,1,0,0,1,1,0,1,0\n1,5,13,3,0,5,2,1,1,1,1,0,1,0\n0,0,8,0,2,7,4,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,5,1,2,2,2,3,1,1,1,1,0,1,0\n1,5,5,2,1,12,3,4,1,1,1,2,1,0\n1,0,8,0,1,7,3,4,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n0,5,10,3,0,12,2,4,1,1,1,0,1,0\n0,0,3,2,1,6,3,0,1,1,1,2,1,0\n2,1,3,2,0,4,2,4,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,12,1,0,1,2,4,1,1,1,1,1,0\n1,0,6,2,1,1,5,0,0,1,1,0,1,0\n1,0,1,2,0,3,0,0,0,1,1,0,1,1\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,1,1,2,0,1,2,0,1,1,1,1,1,1\n1,4,1,2,0,12,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,12,1,0,10,2,0,1,1,1,2,1,1\n1,0,1,2,0,7,2,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,0,3,1,8,3,0,0,1,1,0,1,1\n0,5,1,2,0,2,0,0,0,1,1,2,1,0\n1,0,0,3,1,8,3,0,1,1,1,0,1,0\n1,4,1,2,1,12,5,0,1,1,1,1,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n2,0,5,2,0,8,2,0,1,1,1,2,1,0\n1,2,1,2,0,10,2,0,1,1,1,1,1,1\n1,4,5,2,1,0,3,4,1,1,1,0,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,2,1,1\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,9,1,0,2,0,0,0,1,1,2,1,0\n0,0,1,2,0,4,0,0,0,1,1,0,1,1\n2,0,12,1,3,2,5,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,1,2,1,2,3,1,0,1,1,1,0,1,0\n0,0,8,0,2,10,5,0,1,1,1,2,1,0\n1,3,1,2,0,0,2,0,1,1,1,0,1,1\n1,1,1,2,0,2,0,0,0,1,1,1,1,0\n0,0,1,2,0,10,2,0,1,1,1,2,1,0\n1,0,0,3,1,5,3,0,1,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,12,2,0,1,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,4,3,2,2,12,1,2,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,2,1,1\n1,0,1,2,1,2,3,0,0,1,1,2,1,1\n0,0,1,2,1,2,1,0,0,1,1,2,1,0\n0,3,3,2,0,0,2,0,1,1,1,0,1,0\n1,4,1,2,0,12,2,0,1,1,1,1,1,1\n0,0,1,2,2,5,5,0,0,1,1,2,1,0\n1,0,1,2,2,7,5,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,0,3,2,9,1,0,1,1,1,1,1,1\n1,0,1,2,1,2,5,0,0,1,1,1,1,0\n0,0,3,2,0,9,0,0,0,1,1,0,1,0\n2,0,1,2,4,8,3,0,0,1,1,2,1,0\n0,0,0,3,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,4,1,1,1,0,1,0\n1,0,6,2,0,3,2,0,1,1,1,2,1,0\n0,0,1,2,1,5,3,0,1,1,1,0,1,0\n1,0,5,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,1,12,1,1,1,3,0,1,1,1,1,1,0\n0,0,1,2,2,1,3,0,1,1,1,2,1,0\n2,0,10,3,2,5,3,0,1,1,1,1,1,0\n1,4,10,3,2,5,3,0,1,1,1,2,1,0\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,2,1,2,0,3,0,0,0,1,1,0,1,0\n0,1,5,2,0,3,2,0,1,1,1,1,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,2,3,2,2,2,3,4,1,1,1,1,1,1\n2,0,5,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,4,5,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,0,3,2,0,1,4,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,1,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n0,0,1,2,2,6,3,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,3,0,0,1,1,2,1,0\n1,2,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,0,2,2,0,1,1,1,0,1,1\n0,5,0,3,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,7,1,0,1,2,0,1,1,1,1,1,0\n0,0,5,2,3,2,5,0,0,1,1,0,1,0\n2,1,1,2,4,9,5,0,0,1,1,1,1,0\n1,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,4,1,1,1,2,1,0\n0,1,10,3,2,5,1,0,1,1,1,0,1,0\n2,0,12,1,2,6,3,0,1,1,1,0,1,0\n1,0,3,2,1,0,3,0,0,1,1,2,1,0\n1,0,1,2,0,0,2,0,1,1,1,1,1,1\n0,4,1,2,5,8,1,0,0,1,1,0,1,0\n0,0,0,3,0,8,0,4,0,1,1,2,1,0\n0,0,3,2,2,2,1,1,1,1,1,0,1,0\n0,0,1,2,2,8,1,4,0,1,1,2,1,0\n1,0,14,0,0,7,2,0,1,1,1,0,1,1\n1,4,0,3,1,5,3,0,0,1,1,2,1,0\n1,4,2,1,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,5,2,2,1,3,0,1,1,1,0,1,0\n0,0,5,2,2,4,1,4,0,1,1,0,1,0\n1,0,3,2,1,3,3,0,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,1,4,5,0,0,1,1,0,1,0\n0,1,3,2,0,12,2,0,1,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,1,8,5,0,0,1,1,2,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,0,6,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,1,3,1,0,0,1,1,2,1,0\n0,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,0,14,0,0,2,2,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,2,8,5,4,0,1,1,2,1,0\n2,4,10,3,0,8,2,0,1,1,1,0,1,1\n0,3,0,3,0,5,2,1,1,1,1,0,1,0\n0,4,3,2,0,2,0,0,0,1,1,0,1,0\n0,4,0,3,0,12,2,0,1,1,1,1,1,1\n2,0,1,2,2,4,3,0,1,1,1,0,1,1\n0,0,3,2,1,11,5,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,1,2,2,5,1,1,1,1,1,0,1,0\n1,0,6,2,2,5,3,0,1,1,1,1,1,0\n0,0,12,1,2,2,3,0,0,1,1,0,1,0\n0,0,0,3,0,8,0,4,0,1,1,0,1,0\n1,0,1,2,2,8,1,0,0,1,1,1,1,0\n1,0,9,1,0,6,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,1,2,3,0,0,1,1,1,1,0\n2,1,1,2,0,1,2,0,1,1,1,2,1,0\n1,0,12,1,0,3,2,0,1,1,1,0,1,0\n3,0,3,2,4,12,3,0,1,1,1,1,1,0\n2,0,3,2,3,2,3,0,0,1,1,0,1,0\n0,0,7,1,2,2,1,4,1,1,1,2,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,10,3,0,5,0,0,0,1,1,1,1,1\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,6,2,0,7,2,0,1,1,1,1,1,0\n1,4,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,2,0,0,0,1,1,2,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,1\n2,1,4,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,5,0,3,5,8,3,0,1,1,1,0,1,0\n0,0,3,2,1,10,3,0,1,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n3,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,8,2,4,1,1,1,1,1,1\n0,1,1,2,3,9,3,0,1,1,1,1,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,3,2,3,0,0,1,1,0,1,0\n1,4,13,3,0,5,2,0,1,1,1,0,1,1\n0,0,12,1,0,6,0,0,0,1,1,0,1,0\n1,0,5,2,2,8,5,4,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,1,1,2,0,1,2,1,1,1,1,0,1,0\n1,0,3,2,3,8,3,0,1,1,1,0,1,0\n0,0,1,2,2,10,3,0,1,1,1,2,1,0\n0,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,10,1,4,1,1,1,2,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,2,6,3,0,1,1,1,0,1,0\n0,0,14,0,0,2,2,0,1,1,1,0,1,0\n0,3,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,13,3,1,3,3,0,1,1,1,1,1,1\n1,0,5,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,2,0,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,2,1,1,1,1,1,0\n2,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,4,7,5,4,0,1,1,0,1,0\n1,0,2,1,4,2,3,0,0,1,1,2,1,0\n2,1,12,1,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,0,9,2,0,1,1,1,1,1,0\n2,0,3,2,2,8,3,0,0,1,1,0,1,0\n2,0,3,2,0,0,2,1,1,1,1,1,1,1\n0,0,1,2,0,4,0,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,4,3,0,1,1,1,0,1,0\n0,3,5,2,0,0,2,0,1,1,1,0,1,0\n1,0,0,3,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,9,1,2,3,3,0,1,1,1,0,1,0\n1,1,5,2,0,12,2,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,6,3,0,1,1,1,0,1,0\n1,4,10,3,1,5,5,0,0,1,1,2,1,1\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,0\n2,0,1,2,1,4,3,0,0,1,1,0,1,0\n0,0,2,1,0,3,4,0,0,1,1,1,1,0\n1,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,4,3,2,2,2,1,4,1,1,1,2,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,5,1,2,2,4,3,0,0,1,1,0,1,0\n0,0,0,3,3,4,5,0,0,1,1,1,1,0\n1,1,1,2,0,3,2,0,1,1,1,2,1,1\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,2,0,3,1,4,3,0,1,1,1,1,1,0\n0,1,3,2,0,3,2,0,1,1,1,1,1,1\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,1,2,1,3,5,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,5,4,1,1,1,2,1,0\n0,0,6,2,0,3,2,0,1,1,1,1,1,0\n0,0,12,1,2,1,5,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,0,1,1,0,1,0\n0,0,2,1,2,2,4,0,0,1,1,2,1,0\n1,0,3,2,1,9,3,0,1,1,1,0,1,0\n1,0,0,3,1,4,3,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,5,1,2,2,8,1,0,0,1,1,2,1,0\n1,1,6,2,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,6,2,1,8,5,0,0,1,1,1,1,0\n1,0,3,2,2,6,1,0,1,1,1,1,1,0\n1,0,3,2,3,7,1,4,0,1,1,0,1,0\n0,1,3,2,3,3,3,0,1,1,1,1,1,0\n0,0,1,2,0,6,2,4,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n0,0,2,1,2,8,1,4,1,1,1,2,1,0\n1,0,3,2,2,3,3,0,1,1,1,1,1,0\n2,1,0,3,1,5,3,0,0,1,1,2,1,0\n1,4,0,3,1,5,3,0,0,1,1,0,1,0\n1,0,8,0,0,7,0,0,0,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n2,5,0,3,1,5,3,0,0,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,0,3,0,0,1,1,1,1,0\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n1,5,1,2,2,5,3,4,0,1,1,2,1,0\n1,0,3,2,0,2,1,0,0,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,1,3,1,1,1,0,1,0\n1,0,1,2,2,5,3,0,1,1,1,0,1,0\n2,2,3,2,1,3,3,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n2,4,1,2,1,4,3,0,0,1,1,0,1,0\n2,0,3,2,0,10,2,1,1,1,1,1,1,0\n1,1,0,3,0,7,0,1,0,1,1,1,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,1,7,1,0,1,1,1,2,1,0\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,7,1,0,7,2,0,1,1,1,0,1,0\n1,4,9,1,0,2,2,0,1,1,1,2,1,1\n1,0,3,2,3,10,5,0,1,1,1,0,1,0\n1,0,2,1,0,2,2,4,1,1,1,2,1,0\n0,0,3,2,2,4,5,0,0,1,1,2,1,0\n0,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,8,5,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,4,1,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,2,1,1\n0,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,3,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,0,8,0,0,0,1,1,2,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,12,1,2,6,5,0,1,1,1,1,1,0\n1,0,3,2,2,3,5,4,0,1,1,0,1,0\n0,0,1,2,2,4,3,0,0,1,1,1,1,0\n1,0,7,1,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,1,2,3,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,1,0,1,1,0,1,0\n0,4,0,3,2,5,3,4,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,4,0,0,1,1,2,1,0\n1,0,8,0,0,7,2,0,1,1,1,0,1,0\n0,2,1,2,2,4,3,0,1,1,1,1,1,1\n2,0,3,2,4,9,5,0,0,1,1,0,1,0\n2,1,1,2,0,4,2,0,1,1,1,2,1,1\n0,0,7,1,0,2,2,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,5,4,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,2,1,0,3,2,0,1,1,1,1,1,0\n1,3,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,4,0,1,1,2,1,0\n1,0,3,2,1,1,5,0,0,1,1,1,1,0\n1,3,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,5,2,0,2,0,0,0,1,1,2,1,0\n1,0,1,2,3,3,3,2,0,1,1,0,1,0\n2,2,3,2,0,5,2,4,1,1,1,1,1,1\n1,0,3,2,3,2,3,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,3,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n1,1,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,0,6,2,1,8,5,4,0,1,1,0,1,0\n1,1,10,3,1,5,3,0,0,1,1,2,1,0\n0,0,12,1,2,2,3,0,1,1,1,1,1,0\n0,0,1,2,5,6,5,0,1,1,1,0,1,0\n2,1,3,2,0,9,2,1,1,1,1,2,1,0\n0,0,3,2,1,0,5,0,0,1,1,1,1,0\n1,0,10,3,1,5,3,0,1,1,1,0,1,1\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,3,5,3,1,1,1,1,0,1,1\n1,0,5,2,0,7,2,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,4,0,3,0,12,2,0,1,1,1,1,1,1\n1,0,6,2,0,8,2,0,1,1,1,0,1,1\n0,0,6,2,3,4,1,0,0,1,1,0,1,0\n0,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,0,2,2,4,1,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,4,3,2,2,8,5,2,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,1,3,2,2,9,1,0,1,1,1,1,1,0\n0,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,4,10,3,2,5,3,0,0,1,1,0,1,0\n1,1,3,2,2,1,1,0,1,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,4,3,0,0,1,1,1,1,1\n1,0,1,2,3,1,5,0,1,1,1,1,1,1\n1,0,8,0,0,1,2,1,1,1,1,0,1,0\n2,3,1,2,0,0,2,1,1,1,1,0,1,1\n0,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,3,1,1,1,0,1,0\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,5,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n2,0,3,2,4,3,5,0,0,1,1,2,1,0\n1,0,14,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,0,3,1,4,5,0,0,1,1,1,1,0\n1,0,0,3,2,5,3,0,1,1,1,0,1,1\n2,4,0,3,0,5,2,0,1,1,1,1,1,0\n1,1,1,2,0,5,1,0,0,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,0,0,0,1,1,0,1,0\n2,1,3,2,0,2,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,1,2,4,8,3,0,0,1,1,2,1,0\n3,0,10,3,2,5,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,9,1,2,6,1,0,1,1,1,2,1,0\n0,0,1,2,2,5,3,4,1,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,1,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,6,4,0,1,1,1,2,1,0\n1,1,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,9,1,2,8,5,0,0,1,1,0,1,0\n1,0,11,0,4,5,5,0,0,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,2,1,0\n1,0,4,3,3,0,3,0,1,1,1,1,1,1\n1,0,1,2,0,0,0,0,0,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,2,4,4,1,1,1,0,1,0\n1,1,1,2,4,1,5,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,4,1,1,1,0,1,0\n1,0,11,0,0,1,2,0,1,1,1,0,1,0\n0,0,8,0,2,2,3,0,1,1,1,1,1,1\n2,0,7,1,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n2,0,1,2,1,11,4,0,0,1,1,2,1,0\n2,4,0,3,1,4,5,0,0,1,1,0,1,0\n2,1,7,1,0,8,2,0,1,1,1,0,1,0\n1,0,0,3,2,0,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,5,4,0,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,2,1,2,2,1,4,1,1,1,2,1,0\n0,0,2,1,1,6,4,4,1,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,1,1,1\n2,0,12,1,4,6,3,0,0,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,1,1,0\n0,3,3,2,2,2,3,0,0,1,1,0,1,0\n0,0,5,2,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n1,0,7,1,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,3,2,1,8,4,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,4,14,0,0,2,2,0,1,1,1,0,1,0\n0,0,12,1,2,6,3,0,1,1,1,0,1,0\n0,5,1,2,0,12,2,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,5,0,0,1,1,0,1,0\n1,1,1,2,0,9,2,0,1,1,1,2,1,0\n0,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,13,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,0,0,3,1,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n0,1,6,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,4,10,3,0,12,2,0,1,1,1,0,1,1\n1,0,2,1,0,9,2,0,1,1,1,0,1,0\n1,0,4,3,1,4,3,0,1,1,1,1,1,1\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,4,0,1,1,1,2,1,0\n1,0,6,2,0,5,2,0,1,1,1,0,1,0\n0,5,1,2,2,0,1,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,1,1,1,2,1,0\n0,0,5,2,1,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,3,0,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n1,1,0,3,0,5,2,1,1,1,1,0,1,0\n1,0,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,1,2,3,3,4,4,1,1,1,2,1,0\n2,0,3,2,0,2,2,0,1,1,1,1,1,0\n1,0,5,2,1,3,5,0,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,2,2,0,1,1,1,0,1,1\n2,2,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,1,1,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,1,5,2,2,5,3,0,0,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,0,2,1,0,8,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n2,0,1,2,1,2,3,0,1,1,1,0,1,0\n1,0,3,2,1,5,3,0,0,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,1,3,3,0,1,1,1,2,1,0\n0,0,1,2,2,3,3,0,0,1,1,1,1,0\n0,0,1,2,2,1,1,0,0,1,1,0,1,0\n2,0,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,5,2,0,6,2,0,1,1,1,0,1,0\n1,0,10,3,0,0,2,0,1,1,1,0,1,1\n2,0,1,2,4,4,3,0,0,1,1,2,1,0\n0,1,1,2,1,1,3,0,1,1,1,1,1,0\n1,0,10,3,4,5,3,0,0,1,1,1,1,0\n0,3,1,2,1,4,5,1,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,3,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,1\n1,4,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,12,1,2,8,3,0,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,5,2,0,3,2,0,1,1,1,0,1,0\n1,0,0,3,0,7,2,0,1,1,1,1,1,1\n0,0,3,2,2,4,3,0,0,1,1,1,1,0\n2,1,6,2,0,5,2,0,1,1,1,0,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,10,3,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,4,0,3,0,12,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n1,4,3,2,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,1,1,2,2,5,1,0,0,1,1,2,1,0\n0,1,1,2,2,9,1,0,0,1,1,1,1,0\n1,5,1,2,0,9,2,0,1,1,1,1,1,0\n0,4,5,2,4,5,5,0,1,1,1,0,1,0\n0,4,10,3,2,5,3,0,0,1,1,0,1,0\n1,1,2,1,0,1,2,0,1,1,1,0,1,0\n1,4,1,2,1,12,5,0,1,1,1,1,1,0\n0,0,10,3,0,5,2,0,1,1,1,2,1,0\n0,0,1,2,1,1,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,5,1,2,0,7,2,0,1,1,1,0,1,1\n1,3,12,1,3,1,3,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,8,0,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,0,3,0,0,1,1,2,1,0\n0,1,1,2,0,1,2,0,1,1,1,1,1,0\n1,3,3,2,0,10,2,4,1,1,1,0,1,1\n0,0,1,2,2,4,1,0,1,1,1,0,1,0\n1,4,1,2,0,0,0,0,0,1,1,2,1,1\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,5,2,2,2,3,3,1,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,4,3,0,1,1,1,1,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,1,0,0,1,1,2,1,0\n2,0,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,5,2,1,5,5,0,0,1,1,2,1,0\n0,0,7,1,0,7,0,0,0,1,1,0,1,0\n0,0,1,2,0,7,0,3,0,1,1,0,1,0\n1,0,0,3,2,2,3,0,1,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,15,0,5,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,5,0,0,1,1,0,1,0\n3,4,10,3,0,5,2,0,1,1,1,2,1,1\n0,0,3,2,0,7,2,4,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,2,3,2,0,3,2,4,1,1,1,1,1,0\n1,2,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n0,0,3,2,2,8,5,4,0,1,1,0,1,0\n0,0,3,2,2,6,1,1,0,1,1,0,1,0\n0,0,0,3,2,8,1,0,1,1,1,0,1,0\n1,1,1,2,0,7,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,1,0,0,1,1,2,1,0\n0,4,3,2,3,12,4,0,0,1,1,0,1,0\n1,3,10,3,0,8,2,0,1,1,1,0,1,1\n0,0,8,0,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,0,0,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,3,4,5,0,0,1,1,0,1,0\n1,0,3,2,5,8,5,0,0,1,1,0,1,0\n1,5,13,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,4,6,2,2,12,3,0,1,1,1,0,1,0\n1,0,1,2,2,8,1,4,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,5,3,1,1,0,1,1,2,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,0\n1,0,1,2,0,2,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,5,0,3,0,0,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,6,2,0,6,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,3,4,0,1,1,0,1,0\n1,0,6,2,1,2,3,0,1,1,1,2,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,1,7,4,0,0,1,1,1,1,0\n0,0,1,2,1,7,3,0,1,1,1,0,1,0\n0,0,12,1,2,0,1,0,1,1,1,2,1,0\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n1,0,0,3,1,5,5,4,0,1,1,2,1,0\n0,0,1,2,0,6,2,0,1,1,1,1,1,0\n2,0,1,2,0,2,0,0,0,1,1,2,1,0\n1,0,0,3,1,5,3,4,0,1,1,0,1,0\n0,0,1,2,2,12,1,0,1,1,1,0,1,0\n0,0,6,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,4,1,1,1,2,1,0\n0,0,8,0,2,7,1,0,1,1,1,1,1,0\n1,4,0,3,2,5,1,0,0,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,4,0,1,1,1,0,1,0\n1,0,4,3,1,8,3,0,1,1,1,0,1,0\n0,0,9,1,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,1,2,1,2,1,3,0,1,1,1,0,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,1,12,1,1,3,3,0,0,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,1,0,3,0,8,0,0,0,1,1,2,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,6,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,3,0,3,2,4,5,1,1,1,1,0,1,0\n0,0,1,2,2,4,1,0,1,1,1,0,1,0\n2,0,3,2,1,11,3,0,0,1,1,0,1,0\n1,0,3,2,0,0,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,2,6,3,0,1,1,1,2,1,0\n1,3,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,4,6,2,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,3,5,5,0,0,1,1,2,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,4,1,1,1,0,1,0\n1,0,4,3,3,5,3,0,1,1,1,2,1,1\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,1,4,5,0,0,1,1,0,1,0\n1,1,3,2,0,7,0,0,0,1,1,2,1,1\n0,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,1,3,2,2,3,5,4,0,1,1,2,1,0\n0,0,2,1,0,8,2,0,1,1,1,1,1,0\n0,0,1,2,0,2,2,4,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,6,1,4,1,1,1,2,1,0\n1,2,0,3,0,3,2,0,1,1,1,2,1,0\n1,5,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,4,0,0,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,8,0,0,2,2,1,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,4,3,0,1,1,0,1,0\n0,0,1,2,3,8,5,0,0,1,1,0,1,0\n0,0,3,2,0,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,12,1,1,2,5,0,0,1,1,2,1,0\n1,5,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,4,1,1,1,0,1,1\n0,0,3,2,2,8,1,1,1,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,3,4,3,0,0,1,1,1,1,0\n1,0,3,2,1,2,1,0,0,1,1,2,1,0\n0,0,10,3,0,4,0,0,0,1,1,0,1,1\n0,0,0,3,2,3,3,0,1,1,1,2,1,0\n0,0,0,3,1,5,5,0,0,1,1,0,1,1\n1,3,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,1,5,5,0,0,1,1,2,1,0\n1,2,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,2,1,3,2,3,4,0,1,1,2,1,0\n1,0,0,3,0,4,2,4,1,1,1,0,1,1\n1,0,1,2,4,8,5,0,0,1,1,1,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,0\n1,2,6,2,0,4,2,0,1,1,1,1,1,1\n1,0,13,3,1,1,3,0,0,1,1,1,1,1\n0,0,1,2,2,1,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,3,0,1,1,1,1,1,0\n0,0,6,2,2,5,5,4,0,1,1,2,1,0\n1,1,3,2,6,1,2,0,1,1,1,1,1,0\n2,1,10,3,1,5,3,0,1,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,2,3,3,0,0,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,1,1,0\n1,3,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,8,0,0,10,2,0,1,1,1,1,1,0\n1,0,5,2,1,5,3,0,0,1,1,2,1,0\n0,0,5,2,0,4,0,0,0,1,1,1,1,1\n0,0,7,1,0,1,2,0,1,1,1,0,1,0\n1,3,2,1,2,3,3,4,0,1,1,0,1,0\n0,0,3,2,2,7,1,1,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,7,1,1,7,3,0,1,1,1,2,1,0\n1,1,1,2,2,8,3,0,1,1,1,0,1,0\n0,0,8,0,2,2,1,0,1,1,1,2,1,0\n0,3,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,0,7,2,4,1,1,1,0,1,0\n2,1,3,2,0,3,2,1,1,1,1,1,1,0\n1,0,0,3,1,3,5,4,1,1,1,0,1,0\n1,0,6,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,4,1,1,1,1,2,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,1,5,2,0,2,0,0,0,1,1,1,1,0\n2,0,6,2,0,3,2,0,1,1,1,1,1,0\n0,5,3,2,0,12,2,0,1,1,1,0,1,1\n0,5,10,3,2,5,3,1,1,1,1,2,1,0\n1,2,3,2,0,9,2,0,1,1,1,1,1,0\n1,5,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,1,8,5,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,15,0,2,9,3,0,1,1,1,1,1,0\n0,0,4,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n1,0,1,2,0,2,2,0,1,1,1,0,1,0\n2,0,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,6,2,1,7,5,0,1,1,1,1,1,0\n0,0,6,2,1,4,3,0,1,1,1,0,1,0\n1,3,0,3,2,5,3,2,0,1,1,1,1,0\n0,0,3,2,1,10,1,0,0,1,1,0,1,0\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,4,5,0,0,1,1,2,1,0\n0,0,3,2,1,7,5,0,1,1,1,0,1,0\n0,5,12,1,2,9,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,10,3,0,5,0,0,0,1,1,2,1,1\n0,0,1,2,1,6,5,4,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,0,1,1,1,1,0\n1,1,3,2,0,5,2,0,1,1,1,0,1,1\n1,4,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,10,3,0,4,0,0,0,1,1,1,1,1\n0,2,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,3,1,2,1,8,5,0,1,1,1,1,1,0\n0,0,2,1,1,6,1,0,1,1,1,0,1,0\n0,0,9,1,1,2,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,8,0,0,2,2,1,1,1,1,2,1,0\n0,0,3,2,0,5,2,0,1,1,1,1,1,1\n0,0,6,2,2,6,3,4,1,1,1,0,1,0\n0,0,3,2,3,2,5,4,1,1,1,0,1,0\n1,1,0,3,3,1,3,0,1,1,1,2,1,0\n0,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,1,4,5,0,0,1,1,0,1,0\n0,1,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,12,1,0,7,2,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,1,1,1,1,0,1,0\n0,0,2,1,0,10,2,0,1,1,1,1,1,0\n1,0,4,3,2,5,3,3,1,1,1,0,1,1\n1,1,0,3,2,3,5,0,1,1,1,1,1,1\n0,0,13,3,2,5,3,0,1,1,1,1,1,0\n0,0,0,3,2,8,3,0,0,1,1,1,1,0\n2,0,3,2,2,4,3,0,0,1,1,1,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n2,4,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,12,1,0,10,2,0,1,1,1,1,1,0\n0,5,5,2,2,8,1,4,0,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,1,6,2,2,9,1,0,1,1,1,0,1,0\n1,1,3,2,1,3,3,0,1,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,3,2,5,0,0,1,1,1,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n1,4,0,3,0,5,0,0,0,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,0,3,0,5,0,0,0,1,1,0,1,1\n0,0,3,2,0,7,1,0,0,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,12,1,2,10,3,2,1,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,1,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,1,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,1,2,5,2,0,1,1,0,1,0\n1,4,3,2,0,4,0,0,0,1,1,2,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,4,3,2,2,10,1,0,1,1,1,0,1,0\n0,4,0,3,2,0,3,0,1,1,1,1,1,0\n2,0,5,2,4,8,3,0,0,1,1,2,1,0\n1,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,8,0,2,7,1,0,1,1,1,0,1,0\n1,0,3,2,3,8,5,0,0,1,1,2,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,4,10,3,2,4,3,0,0,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,5,0,3,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,2,9,1,0,1,1,1,0,1,0\n1,0,0,3,2,5,3,0,0,1,1,2,1,1\n2,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n3,0,1,2,0,8,2,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,9,1,2,2,3,3,1,1,1,0,1,0\n2,0,8,0,1,2,3,0,1,1,1,0,1,0\n2,0,9,1,0,2,0,0,0,1,1,2,1,0\n0,0,5,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,0,3,2,0,12,2,0,1,1,1,2,1,1\n1,0,10,3,1,4,3,0,1,1,1,1,1,0\n0,0,3,2,3,7,4,0,1,1,1,0,1,0\n2,0,6,2,4,4,3,0,0,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,5,0,0,1,1,2,1,0\n1,4,10,3,2,8,3,0,0,1,1,2,1,0\n1,1,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,0,1,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,0,3,0,0,0,1,1,0,1,0\n1,3,1,2,0,8,4,0,1,1,1,1,1,1\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,5,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,2,11,1,0,0,1,1,2,1,0\n0,0,2,1,2,2,1,4,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,2,0,3,1,9,3,0,1,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,1,8,3,0,0,1,1,1,1,0\n3,0,11,0,0,10,2,0,1,1,1,2,1,0\n0,0,1,2,1,4,5,0,0,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,6,2,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,6,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,1,8,5,0,0,1,1,1,1,0\n1,0,3,2,0,1,0,4,0,1,1,1,1,0\n1,0,1,2,0,8,0,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,3,4,3,0,5,2,0,1,1,1,1,1,0\n0,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,10,2,0,1,1,1,0,1,1\n1,5,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,6,2,2,0,3,0,1,1,1,1,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n2,0,3,2,0,5,2,0,1,1,1,2,1,0\n0,4,0,3,2,5,3,0,0,1,1,2,1,0\n1,5,3,2,2,2,1,0,0,1,1,0,1,0\n2,0,13,3,0,4,2,0,1,1,1,0,1,1\n0,1,12,1,2,5,3,0,0,1,1,2,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n2,0,8,0,1,1,1,0,1,1,1,0,1,0\n0,0,6,2,2,4,1,0,1,1,1,1,1,0\n3,1,1,2,4,3,3,0,1,1,1,2,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,0,9,1,0,10,2,0,1,1,1,0,1,1\n0,0,12,1,2,7,1,0,1,1,1,0,1,0\n0,2,1,2,0,1,2,0,1,1,1,0,1,0\n0,3,3,2,2,8,3,4,0,1,1,1,1,0\n1,4,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,0,3,0,2,2,0,1,1,1,2,1,0\n1,3,4,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,1,2,3,0,1,1,1,0,1,0\n1,5,10,3,1,5,5,4,0,1,1,0,1,1\n0,0,3,2,2,10,3,0,1,1,1,1,1,1\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,0,3,2,4,8,1,0,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,2,1,1\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n0,0,0,3,0,4,2,4,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,7,2,4,1,1,1,1,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n2,4,0,3,0,8,0,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,1,7,5,0,0,1,1,0,1,0\n2,1,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,14,0,2,6,3,0,1,1,1,0,1,0\n2,0,3,2,1,2,5,4,0,1,1,0,1,0\n0,0,3,2,2,9,5,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,4,1,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,0,0,3,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n2,4,13,3,2,5,3,0,0,1,1,1,1,0\n1,5,0,3,2,4,3,0,0,1,1,1,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,3,0,1,1,1,2,1,0\n2,1,3,2,5,4,3,0,1,1,1,1,1,0\n1,1,10,3,2,5,3,0,1,1,1,0,1,0\n1,0,14,0,3,6,3,0,1,1,1,1,1,0\n1,0,2,1,2,10,5,2,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n2,0,8,0,4,7,5,4,0,1,1,0,1,0\n3,0,3,2,4,2,4,0,0,1,1,2,1,0\n1,3,1,2,2,8,3,0,1,1,1,0,1,0\n0,0,1,2,2,10,1,0,1,1,1,1,1,0\n0,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n0,1,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,12,1,0,8,0,0,0,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,1,1,0\n1,0,3,2,1,2,3,4,1,1,1,0,1,0\n2,0,7,1,1,2,5,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n0,0,3,2,0,3,0,0,0,1,1,2,1,0\n1,0,2,1,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,1,4,3,0,0,1,1,1,1,0\n2,0,11,0,4,11,3,4,0,1,1,2,1,0\n2,0,3,2,4,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,4,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,1,1,1,1,1,0\n2,5,3,2,3,8,5,4,0,1,1,2,1,0\n0,0,1,2,2,10,1,0,1,1,1,0,1,0\n2,4,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,7,1,1,10,3,0,1,1,1,1,1,0\n2,0,3,2,0,4,0,0,0,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,5,0,1,1,1,1,1,0\n1,5,4,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,5,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,2,5,3,0,0,1,1,0,1,0\n2,0,3,2,3,8,5,0,0,1,1,2,1,0\n1,0,1,2,3,4,5,2,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n2,0,1,2,1,2,3,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,0,8,0,4,0,1,1,0,1,0\n2,5,1,2,1,8,3,0,0,1,1,2,1,0\n2,0,3,2,1,2,5,0,0,1,1,0,1,0\n3,0,3,2,0,6,2,0,1,1,1,2,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,4,1,2,0,12,2,0,1,1,1,2,1,1\n1,0,3,2,2,5,5,4,0,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,0,1,1,0,1,0\n0,0,3,2,1,8,5,0,0,1,1,1,1,0\n0,0,3,2,1,10,3,0,1,1,1,0,1,0\n0,0,0,3,2,7,3,0,1,1,1,0,1,0\n1,4,1,2,1,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,5,3,2,2,2,3,4,0,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,2,1,0\n2,0,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,2,1,3,0,1,1,1,0,1,0\n0,0,12,1,1,1,3,0,1,1,1,1,1,0\n0,1,2,1,0,4,2,0,1,1,1,1,1,0\n1,4,3,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,0,3,0,0,1,1,1,1,1\n1,2,0,3,2,3,1,0,1,1,1,0,1,1\n2,0,2,1,0,1,2,0,1,1,1,1,1,0\n1,0,4,3,0,4,0,0,0,1,1,1,1,1\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n2,2,8,0,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,2,2,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,3,4,1,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,3,3,3,0,1,1,1,1,1,0\n0,0,6,2,0,6,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,0,0,3,0,9,2,0,1,1,1,1,1,1\n1,0,6,2,2,7,1,0,1,1,1,0,1,0\n2,0,8,0,1,2,3,0,1,1,1,2,1,0\n0,3,1,2,2,8,3,4,0,1,1,1,1,0\n3,0,3,2,4,3,5,0,1,1,1,2,1,0\n1,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,5,5,2,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,4,2,5,4,0,1,1,0,1,0\n0,0,5,2,1,5,3,0,0,1,1,2,1,0\n0,5,0,3,2,4,3,1,0,1,1,1,1,0\n0,0,3,2,2,3,3,0,1,1,1,2,1,0\n1,4,10,3,1,5,3,4,1,1,1,0,1,0\n0,4,9,1,2,2,1,4,1,1,1,2,1,0\n0,0,5,2,0,10,0,0,0,1,1,2,1,1\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,1,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,5,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,1\n1,0,0,3,0,10,2,0,1,1,1,1,1,1\n2,0,0,3,4,5,3,0,1,1,1,0,1,1\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,0,3,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,1,5,0,1,1,1,0,1,0\n2,4,1,2,1,8,3,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,2,1,3,0,0,1,1,1,1,0\n1,0,3,2,1,8,4,4,1,1,1,2,1,0\n0,0,5,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,4,1,1,1,1,0,1,0\n0,0,0,3,2,3,4,4,0,1,1,2,1,0\n0,0,0,3,2,0,5,0,1,1,1,0,1,0\n1,0,3,2,4,6,5,0,0,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,1,0,1,1,1,2,1,0\n1,1,1,2,1,4,3,0,0,1,1,1,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,4,0,0,0,1,1,1,1,0\n0,5,10,3,2,5,5,4,0,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,6,2,2,2,1,1,1,1,1,2,1,0\n1,0,7,1,1,6,3,0,0,1,1,0,1,0\n0,0,5,2,2,5,3,0,0,1,1,0,1,0\n3,0,8,0,0,6,2,0,1,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,4,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n2,0,3,2,4,6,4,4,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,5,2,2,8,3,3,0,1,1,1,1,0\n1,0,6,2,1,5,5,0,0,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n1,0,3,2,1,1,5,0,1,1,1,0,1,0\n1,0,10,3,3,4,3,0,1,1,1,1,1,1\n1,0,3,2,0,0,2,0,1,1,1,0,1,0\n1,5,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,4,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,1,7,3,0,1,1,1,2,1,0\n1,0,3,2,2,5,5,0,0,1,1,0,1,0\n2,2,3,2,1,4,3,0,1,1,1,1,1,0\n3,0,3,2,4,11,5,0,0,1,1,2,1,0\n0,3,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,0,3,6,4,0,0,0,1,1,0,1,1\n1,0,1,2,2,2,3,0,1,1,1,0,1,0\n0,0,3,2,3,0,1,0,0,1,1,0,1,0\n0,0,0,3,2,2,3,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,1,4,3,0,5,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,0,3,2,2,3,0,1,1,1,2,1,0\n2,0,0,3,2,8,3,0,1,1,1,0,1,0\n2,1,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,1,4,5,0,0,1,1,0,1,0\n1,5,3,2,2,2,5,4,0,1,1,0,1,0\n0,0,14,0,2,8,3,0,0,1,1,2,1,0\n1,5,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,6,2,0,8,0,0,0,1,1,0,1,1\n0,0,1,2,2,10,1,0,1,1,1,2,1,0\n1,4,5,2,2,4,3,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,1,4,5,0,0,1,1,1,1,0\n0,0,6,2,0,5,2,0,1,1,1,1,1,1\n0,5,10,3,0,5,2,1,1,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,5,2,1,4,3,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,12,5,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n1,5,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,9,1,2,10,1,4,1,1,1,0,1,0\n0,0,1,2,2,10,3,4,1,1,1,0,1,0\n1,0,1,2,1,0,3,0,0,1,1,0,1,0\n0,0,6,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n1,2,0,3,0,3,2,0,1,1,1,0,1,1\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,6,2,2,0,3,0,1,1,1,0,1,0\n1,0,3,2,1,2,3,4,0,1,1,0,1,0\n1,0,7,1,0,7,2,0,1,1,1,0,1,0\n1,1,13,3,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,1,0,1,1,0,1,1\n1,0,11,0,0,6,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,0,4,3,0,4,2,0,1,1,1,0,1,0\n1,0,0,3,2,5,5,0,0,1,1,0,1,0\n0,4,6,2,0,12,2,0,1,1,1,1,1,1\n0,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,4,1,2,1,8,5,0,0,1,1,2,1,0\n2,5,10,3,5,5,3,1,0,1,1,0,1,0\n0,2,1,2,2,10,1,0,1,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,1,0,3,3,1,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,5,2,2,2,1,0,0,1,1,2,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n0,0,7,1,2,3,1,3,0,1,1,2,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n1,0,3,2,3,7,4,4,0,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n2,0,12,1,1,2,3,4,0,1,1,2,1,0\n3,0,3,2,5,5,3,0,1,1,1,2,1,0\n0,0,5,2,1,7,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,1,6,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n2,0,1,2,2,8,3,0,0,1,1,0,1,0\n2,4,10,3,2,5,5,0,0,1,1,1,1,1\n0,4,5,2,2,8,3,0,0,1,1,0,1,0\n1,0,6,2,0,6,2,0,1,1,1,0,1,0\n0,5,0,3,1,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,0,0,3,5,2,3,1,1,1,1,0,1,0\n3,2,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,0,3,0,0,0,0,0,1,1,0,1,1\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n0,4,3,2,0,1,2,0,1,1,1,0,1,1\n1,4,0,3,0,12,2,0,1,1,1,0,1,1\n0,5,3,2,1,7,1,0,1,1,1,0,1,0\n0,0,3,2,0,12,2,0,1,1,1,2,1,0\n1,0,1,2,4,4,5,0,0,1,1,1,1,0\n0,0,1,2,5,3,1,0,0,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,4,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,1,3,2,1,9,3,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,2,1,0,0,1,1,2,1,0\n1,3,10,3,0,5,2,0,1,1,1,0,1,1\n2,0,2,1,0,5,2,4,1,1,1,1,1,0\n1,0,3,2,2,10,1,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,3,0,3,2,0,3,0,1,1,1,0,1,0\n0,0,1,2,1,3,1,0,1,1,1,2,1,0\n1,3,0,3,1,4,3,0,1,1,1,0,1,1\n1,0,3,2,0,4,2,0,1,1,1,2,1,0\n0,0,8,0,3,2,1,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,4,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,7,1,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,0,3,0,2,2,1,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,3,0,3,2,4,3,0,1,1,1,0,1,0\n2,2,6,2,0,1,2,0,1,1,1,2,1,0\n1,4,4,3,3,5,5,0,0,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,0,1,1\n1,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,4,1,1,1,2,1,0\n0,1,6,2,2,8,3,0,0,1,1,0,1,0\n1,1,3,2,2,9,3,0,1,1,1,0,1,1\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,1,8,5,0,0,1,1,1,1,0\n0,0,1,2,3,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,0,0,3,1,1,1,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,1,0,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,0,2,0,0,0,1,1,2,1,0\n1,4,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,1,3,2,3,2,5,0,0,1,1,0,1,0\n1,0,0,3,1,4,5,0,0,1,1,0,1,0\n0,3,5,2,1,12,3,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n2,5,0,3,0,8,2,0,1,1,1,2,1,0\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n2,4,8,0,4,2,3,4,0,1,1,2,1,0\n1,4,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,10,1,0,1,1,1,1,1,0\n0,2,3,2,1,4,3,0,1,1,1,0,1,0\n0,0,12,1,2,6,3,0,1,1,1,0,1,0\n2,4,10,3,1,5,3,0,0,1,1,0,1,0\n0,1,8,0,0,10,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,5,2,1,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,4,3,0,3,2,0,1,1,1,1,1,1\n0,0,12,1,2,7,3,0,0,1,1,1,1,0\n0,0,0,3,2,3,3,4,1,1,1,2,1,0\n0,3,4,3,2,5,3,0,0,1,1,1,1,1\n1,3,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,5,2,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,2,5,1,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n2,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,5,1,2,2,5,3,0,1,1,1,2,1,0\n2,0,3,2,4,8,5,0,0,1,1,2,1,0\n0,0,1,2,0,0,2,0,1,1,1,1,1,1\n1,0,10,3,1,3,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,1,1,0\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,2,1,2,1,1,1,1,1,1,0,1,1\n0,0,12,1,0,10,2,0,1,1,1,1,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,5,0,3,0,0,2,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,2,7,5,4,0,1,1,0,1,0\n0,1,2,1,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,6,2,2,0,5,4,0,1,1,0,1,0\n0,0,1,2,2,4,1,0,0,1,1,0,1,0\n0,0,3,2,5,11,4,4,0,1,1,1,1,0\n1,4,6,2,2,5,3,0,0,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,1,8,5,0,0,1,1,2,1,0\n1,0,6,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,12,3,0,1,1,1,1,1,0\n0,0,12,1,0,7,2,0,1,1,1,0,1,0\n1,1,0,3,1,2,5,4,1,1,1,1,1,1\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,4,5,0,0,1,1,1,1,0\n2,0,12,1,1,9,3,0,1,1,1,1,1,0\n0,5,1,2,1,8,5,0,0,1,1,2,1,0\n1,3,0,3,1,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n0,1,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,8,0,2,0,1,1,1,1,0\n0,5,10,3,2,5,3,0,1,1,1,1,1,0\n2,0,12,1,1,3,5,0,0,1,1,0,1,0\n1,1,6,2,0,9,2,0,1,1,1,1,1,1\n0,0,1,2,2,10,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,4,0,1,1,2,1,0\n0,0,10,3,2,5,3,0,1,1,1,1,1,0\n0,0,0,3,2,1,1,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,4,0,3,0,5,0,0,0,1,1,2,1,1\n2,0,3,2,4,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,1,2,5,0,0,1,1,0,1,0\n2,0,12,1,0,1,2,0,1,1,1,0,1,1\n2,0,0,3,1,1,1,0,0,1,1,2,1,0\n1,0,6,2,0,5,2,1,1,1,1,2,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,1,1,1,4,1,1,1,0,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,1,6,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,10,3,0,5,2,0,1,1,1,2,1,1\n1,1,1,2,1,9,3,0,1,1,1,0,1,0\n1,1,10,3,0,9,2,0,1,1,1,0,1,1\n1,4,10,3,1,4,5,4,0,1,1,0,1,1\n1,5,3,2,0,1,2,0,1,1,1,0,1,0\n0,4,3,2,2,1,4,4,0,1,1,0,1,0\n1,0,0,3,1,4,1,0,0,1,1,0,1,0\n0,0,1,2,2,5,3,0,0,1,1,0,1,0\n2,0,1,2,1,2,3,0,1,1,1,1,1,0\n0,4,10,3,2,5,3,0,1,1,1,1,1,0\n0,0,6,2,1,2,5,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,4,0,3,2,5,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,4,1,1,1,2,1,0\n1,2,4,3,0,5,2,3,1,1,1,1,1,1\n2,1,12,1,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n2,0,6,2,0,5,0,0,0,1,1,2,1,0\n0,0,3,2,1,4,3,0,0,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,1,7,1,0,0,1,1,0,1,0\n2,5,7,1,0,1,2,0,1,1,1,0,1,0\n0,1,0,3,2,4,4,0,1,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,4,4,0,1,1,1,0,1,0\n1,5,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,10,2,0,1,1,1,0,1,1\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n1,2,12,1,0,3,2,0,1,1,1,1,1,0\n1,4,0,3,0,5,0,0,0,1,1,1,1,1\n1,0,3,2,0,7,2,4,1,1,1,0,1,0\n0,0,6,2,1,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,5,3,2,0,10,2,0,1,1,1,2,1,1\n1,0,3,2,1,5,3,0,1,1,1,0,1,0\n0,0,1,2,1,4,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n0,0,10,3,2,5,1,0,0,1,1,2,1,0\n0,0,1,2,0,2,2,3,1,1,1,0,1,0\n1,0,5,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,5,5,2,1,8,5,0,1,1,1,2,1,1\n0,0,1,2,0,2,0,0,0,1,1,2,1,0\n1,1,3,2,2,9,3,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,5,10,3,0,4,2,0,1,1,1,2,1,0\n0,4,3,2,2,6,4,0,1,1,1,1,1,0\n1,3,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,0,4,0,1,1,0,1,1\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,0,5,0,0,1,1,0,1,0\n0,1,3,2,0,3,2,0,1,1,1,1,1,1\n0,4,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,11,0,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,1,1,1,0,1,1,1,0,1,0\n1,4,0,3,3,5,3,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,3,2,1,10,3,0,1,1,1,1,1,0\n2,0,0,3,1,4,3,4,0,1,1,1,1,1\n1,5,6,2,0,0,2,0,1,1,1,1,1,1\n0,0,3,2,5,7,5,0,0,1,1,0,1,0\n0,0,1,2,2,6,3,0,1,1,1,0,1,0\n0,5,1,2,2,12,1,0,1,1,1,1,1,0\n1,4,10,3,1,5,3,0,1,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n1,3,0,3,0,12,2,0,1,1,1,1,1,1\n0,4,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,4,2,5,0,0,1,1,0,1,0\n1,0,3,2,1,2,5,4,0,1,1,0,1,0\n1,5,3,2,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,15,0,2,2,1,0,1,1,1,2,1,0\n2,2,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,7,1,0,7,2,0,1,1,1,0,1,0\n0,0,10,3,0,5,2,0,1,1,1,2,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,13,3,1,5,5,0,0,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,5,2,0,10,2,0,1,1,1,1,1,0\n0,0,6,2,2,6,1,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,1,3,2,4,1,3,0,0,1,1,2,1,0\n0,0,1,2,2,9,1,0,1,1,1,1,1,0\n2,0,3,2,1,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,12,1,0,7,2,0,1,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,0,1,2,4,1,1,1,1,1,0\n0,0,3,2,0,0,2,0,1,1,1,0,1,0\n1,0,0,3,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,0,5,2,1,2,3,0,0,1,1,0,1,0\n1,4,6,2,2,12,3,0,1,1,1,0,1,1\n2,0,3,2,4,3,3,0,0,1,1,2,1,1\n1,0,1,2,2,6,3,0,1,1,1,2,1,0\n0,4,0,3,2,4,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n3,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,4,0,3,2,5,3,0,0,1,1,1,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,13,3,2,5,3,0,1,1,1,0,1,1\n1,3,3,2,1,0,5,0,0,1,1,0,1,0\n0,0,12,1,0,12,0,4,0,1,1,1,1,0\n1,0,5,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,3,7,1,0,1,1,1,0,1,0\n0,5,8,0,0,6,2,0,1,1,1,2,1,0\n0,0,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,4,3,2,5,3,0,1,1,1,1,1,0\n1,1,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,12,2,0,1,1,1,1,1,0\n2,0,3,2,1,3,5,0,0,1,1,0,1,1\n1,1,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,1,3,2,0,3,2,4,1,1,1,1,1,1\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n1,5,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,4,0,3,2,5,1,2,1,1,1,2,1,0\n0,0,1,2,2,5,3,4,0,1,1,0,1,0\n1,4,0,3,0,12,2,0,1,1,1,0,1,1\n0,5,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,2,1,2,10,1,0,1,1,1,2,1,0\n1,0,7,1,1,6,5,0,0,1,1,0,1,0\n1,5,3,2,0,12,2,0,1,1,1,0,1,0\n2,4,1,2,0,12,2,0,1,1,1,1,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,5,2,2,8,3,0,0,1,1,1,1,0\n0,0,1,2,2,6,1,1,1,1,1,2,1,0\n0,0,1,2,3,2,5,1,0,1,1,0,1,0\n0,0,1,2,2,11,3,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,1,0,3,0,1,2,0,1,1,1,2,1,0\n0,0,10,3,0,0,2,0,1,1,1,2,1,0\n2,0,1,2,0,12,2,0,1,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,8,2,2,1,1,1,0,1,1\n1,0,0,3,2,4,3,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n2,0,12,1,1,1,3,0,1,1,1,1,1,0\n1,0,1,2,3,8,5,4,0,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,3,1,3,0,1,1,1,1,1,0\n0,1,0,3,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,0,0,0,1,1,0,1,0\n2,1,5,2,5,9,5,2,1,1,1,0,1,0\n0,0,2,1,1,1,5,0,1,1,1,0,1,0\n1,0,3,2,1,1,1,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,3,3,2,0,8,0,0,0,1,1,2,1,1\n1,0,3,2,3,8,1,1,0,1,1,0,1,0\n1,0,3,2,1,1,3,1,1,1,1,0,1,1\n1,0,1,2,1,3,5,0,0,1,1,0,1,0\n0,1,3,2,2,9,1,0,1,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,1,8,0,2,9,1,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,14,0,2,11,3,0,0,1,1,0,1,0\n1,5,10,3,0,5,2,0,1,1,1,2,1,1\n1,0,11,0,0,9,2,0,1,1,1,0,1,0\n2,1,11,0,0,1,2,0,1,1,1,2,1,0\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,3,8,3,4,1,1,1,0,1,0\n1,0,3,2,1,10,5,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,4,1,2,1,8,5,0,0,1,1,1,1,0\n1,0,12,1,0,2,0,0,0,1,1,2,1,0\n1,0,10,3,2,4,3,0,0,1,1,2,1,0\n0,0,0,3,0,6,2,1,1,1,1,0,1,0\n2,0,0,3,0,1,2,1,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,1,1,1\n1,2,1,2,0,4,2,1,1,1,1,1,1,0\n2,0,12,1,1,6,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,2,2,1,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,4,1,1,1,0,1,0\n1,3,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,1,8,3,0,0,1,1,1,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,13,3,2,5,3,0,1,1,1,2,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,1,6,3,0,1,1,1,1,1,0\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n2,0,3,2,2,6,3,4,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,2,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,4,1,1,1,2,1,1\n0,0,0,3,2,8,3,0,1,1,1,2,1,0\n1,0,0,3,2,8,3,0,0,1,1,1,1,0\n0,0,0,3,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,0,10,2,3,1,1,1,1,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n3,0,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,6,2,0,7,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,0,0,0,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,10,1,0,1,1,1,2,1,0\n3,1,8,0,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,2,10,3,4,1,1,1,0,1,0\n2,1,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,1,7,3,0,1,1,1,1,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,1,3,5,0,0,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,3,0,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,0,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,0\n2,0,8,0,4,7,5,3,0,1,1,0,1,0\n1,0,1,2,4,3,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,1,2,2,4,5,0,0,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,0,3,0,2,2,1,1,1,1,2,1,0\n0,1,1,2,0,8,0,0,0,1,1,1,1,1\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,0\n0,1,3,2,0,9,2,0,1,1,1,0,1,0\n0,1,3,2,0,10,2,0,1,1,1,0,1,0\n2,4,1,2,4,8,5,0,0,1,1,0,1,0\n2,1,0,3,0,9,2,0,1,1,1,2,1,0\n0,0,4,3,0,5,0,1,0,1,1,1,1,1\n0,0,0,3,2,4,3,0,0,1,1,2,1,0\n1,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n1,4,0,3,0,4,2,4,1,1,1,1,1,1\n2,0,7,1,1,3,3,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n2,4,3,2,1,8,3,0,0,1,1,0,1,1\n3,0,0,3,0,3,2,0,1,1,1,2,1,1\n0,0,3,2,1,8,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,12,1,1,1,4,4,1,1,1,0,1,0\n2,2,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,14,0,0,10,2,0,1,1,1,0,1,0\n0,1,4,3,2,5,3,0,0,1,1,1,1,1\n1,1,2,1,0,4,2,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,2,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,14,0,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,0,3,0,0,1,1,0,1,0\n0,0,1,2,0,3,2,4,1,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,1,3,5,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,1,1,1,1,2,1,0\n1,0,6,2,3,8,3,1,1,1,1,0,1,0\n0,0,1,2,0,1,2,4,1,1,1,0,1,1\n0,0,14,0,2,6,3,0,1,1,1,2,1,0\n1,0,2,1,3,2,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n2,1,11,0,0,10,2,0,1,1,1,2,1,0\n1,1,3,2,1,3,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n1,0,5,2,2,5,5,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n2,0,0,3,0,7,2,0,1,1,1,0,1,1\n0,0,12,1,2,7,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,2,13,3,2,5,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,1,6,4,0,1,1,1,0,1,0\n0,0,1,2,2,3,4,0,0,1,1,0,1,0\n1,5,4,3,2,5,3,0,0,1,1,1,1,1\n2,0,3,2,0,10,2,0,1,1,1,0,1,1\n2,0,0,3,0,3,2,4,1,1,1,1,1,1\n1,0,1,2,1,4,3,1,0,1,1,0,1,1\n1,0,11,0,5,9,5,0,1,1,1,0,1,0\n2,0,8,0,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,2,6,3,0,1,1,1,2,1,0\n0,1,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,0,7,2,0,1,1,1,0,1,1\n1,1,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,0,7,2,0,1,1,1,1,1,0\n1,0,6,2,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,0,6,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,4,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,5,12,1,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,4,1,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,3,4,0,1,1,1,1,0\n0,0,1,2,2,11,1,0,0,1,1,0,1,0\n1,0,6,2,1,0,1,0,1,1,1,0,1,0\n0,3,0,3,2,5,1,4,0,1,1,0,1,0\n0,0,14,0,0,2,2,0,1,1,1,2,1,0\n0,0,6,2,2,4,3,4,0,1,1,2,1,0\n0,0,9,1,2,7,1,0,1,1,1,1,1,0\n2,0,3,2,1,5,5,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n0,0,3,2,1,3,5,0,0,1,1,2,1,0\n1,0,3,2,5,4,3,0,0,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n3,0,0,3,4,2,3,0,0,1,1,2,1,0\n0,0,7,1,2,3,3,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,5,1,2,2,0,1,0,0,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,5,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,4,3,2,5,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,3,1,1,1,0,1,0\n0,0,6,2,0,9,2,0,1,1,1,0,1,1\n1,0,7,1,0,7,4,1,0,1,1,1,1,0\n1,0,3,2,2,2,3,4,1,1,1,0,1,0\n0,5,9,1,2,8,3,4,0,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,1,0,3,0,4,2,3,1,1,1,1,1,1\n1,0,1,2,3,8,3,0,0,1,1,0,1,0\n2,0,6,2,0,10,2,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,6,2,2,8,1,0,0,1,1,1,1,0\n0,0,1,2,2,5,1,0,0,1,1,1,1,0\n0,0,5,2,2,8,3,0,1,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,1,12,1,2,7,1,0,1,1,1,0,1,0\n0,0,6,2,2,2,4,4,1,1,1,0,1,0\n3,5,3,2,4,8,3,0,0,1,1,0,1,0\n2,0,3,2,0,12,2,0,1,1,1,2,1,0\n2,0,0,3,1,4,3,0,1,1,1,1,1,1\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,7,3,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,4,1,1,1,0,1,0\n1,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,12,1,2,8,5,0,0,1,1,0,1,0\n2,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,5,0,1,1,1,0,1,0\n2,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,4,12,1,2,2,3,0,1,1,1,0,1,0\n0,5,1,2,0,12,2,0,1,1,1,0,1,0\n0,0,2,1,0,10,2,0,1,1,1,0,1,0\n0,4,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n0,0,12,1,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,1,5,2,0,8,0,0,0,1,1,0,1,1\n2,0,1,2,1,8,5,0,0,1,1,0,1,0\n2,1,1,2,2,3,3,0,0,1,1,2,1,0\n1,0,0,3,2,9,3,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,10,3,0,3,2,0,1,1,1,1,1,1\n0,5,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,5,1,2,2,5,1,0,1,1,1,2,1,0\n0,0,1,2,2,10,3,0,1,1,1,1,1,0\n1,3,1,2,0,8,2,4,1,1,1,0,1,1\n1,0,1,2,0,3,4,0,1,1,1,0,1,0\n1,0,0,3,1,4,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,2,1,1,0,0,1,1,1,1,0\n0,0,12,1,2,6,4,3,1,1,1,0,1,0\n0,0,10,3,1,3,1,0,0,1,1,0,1,0\n0,0,3,2,5,1,3,0,1,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,5,4,0,1,1,0,1,0\n1,0,0,3,0,5,2,4,1,1,1,0,1,1\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n2,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,12,1,2,6,5,0,1,1,1,1,1,0\n0,2,3,2,2,2,5,1,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,1,10,3,1,5,5,0,1,1,1,1,1,1\n1,0,1,2,1,8,3,0,1,1,1,0,1,0\n0,5,1,2,2,2,1,0,0,1,1,2,1,0\n1,4,3,2,0,1,2,0,1,1,1,1,1,1\n2,0,14,0,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n2,0,2,1,0,3,2,0,1,1,1,2,1,0\n0,0,6,2,2,8,3,0,0,1,1,0,1,0\n2,0,3,2,0,6,2,0,1,1,1,0,1,1\n2,1,8,0,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,4,4,3,2,5,3,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n1,3,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,3,4,0,1,1,2,1,0\n0,5,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,5,0,0,1,1,2,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n2,0,1,2,0,3,0,0,0,1,1,2,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n0,0,2,1,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,2,0,0,0,1,1,2,1,0\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n1,4,10,3,2,5,3,0,0,1,1,0,1,0\n3,0,0,3,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,0,2,0,0,0,1,1,0,1,1\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,1,6,2,2,1,3,0,1,1,1,0,1,0\n1,0,1,2,4,4,3,0,0,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,2,1,2,4,5,0,0,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,6,2,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,4,10,3,4,5,3,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,2,1,3,7,4,0,1,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,6,2,2,0,3,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,2,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,2,1,0\n1,1,1,2,0,2,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,5,0,1,1,1,0,1,0\n1,5,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,2,1,0\n1,0,3,2,2,10,3,2,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n2,1,8,0,0,10,2,0,1,1,1,0,1,1\n0,0,0,3,0,2,0,0,0,1,1,2,1,0\n0,0,3,2,3,2,5,0,0,1,1,0,1,0\n0,0,5,2,2,5,3,0,0,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,1,1,1\n1,3,3,2,0,8,2,4,1,1,1,1,1,1\n2,0,8,0,4,9,4,0,0,1,1,1,1,0\n0,0,3,2,2,6,3,0,0,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,5,0,0,1,1,0,1,0\n0,1,10,3,0,4,0,0,0,1,1,2,1,1\n0,3,3,2,2,5,3,0,1,1,1,0,1,0\n2,5,3,2,0,8,2,4,1,1,1,0,1,1\n1,4,0,3,0,1,2,1,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,5,5,0,0,1,1,1,1,0\n2,0,3,2,3,8,3,0,0,1,1,0,1,0\n1,0,2,1,1,6,3,0,1,1,1,0,1,0\n0,0,3,2,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,2,0,4,0,1,1,1,1,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,4,5,2,0,12,2,0,1,1,1,0,1,0\n1,0,3,2,4,3,5,2,0,1,1,0,1,0\n1,0,10,3,2,5,3,0,0,1,1,2,1,1\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,12,1,2,2,5,4,0,1,1,0,1,0\n0,0,8,0,0,1,2,0,1,1,1,0,1,0\n2,5,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,0,1,1,1,1,0\n1,3,1,2,0,6,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,4,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,9,1,3,5,1,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,4,1,1,1,0,1,1\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,4,0,0,1,1,2,1,0\n1,0,5,2,2,7,3,4,0,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,5,3,2,0,1,2,0,1,1,1,0,1,1\n1,4,1,2,1,4,5,4,0,1,1,1,1,0\n0,0,3,2,0,2,0,4,0,1,1,2,1,0\n0,0,3,2,2,10,1,0,1,1,1,1,1,0\n1,0,0,3,1,1,5,0,1,1,1,2,1,0\n1,0,14,0,0,2,2,3,1,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n2,3,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,6,3,2,2,9,1,0,1,1,1,2,1,0\n0,5,2,1,1,2,5,0,0,1,1,0,1,0\n2,0,12,1,0,10,2,0,1,1,1,0,1,0\n0,1,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,12,1,1,2,3,0,0,1,1,1,1,0\n0,0,3,2,3,6,5,0,0,1,1,0,1,0\n0,3,10,3,2,5,3,0,1,1,1,0,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n2,1,3,2,0,3,2,0,1,1,1,0,1,1\n1,4,3,2,0,4,2,2,1,1,1,1,1,0\n0,0,2,1,1,10,3,0,1,1,1,0,1,0\n0,4,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,0,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,1,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,0\n0,3,0,3,2,5,3,3,0,1,1,0,1,0\n1,0,0,3,1,0,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,0,0,0,1,1,0,1,1\n1,1,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,8,0,1,3,5,0,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,12,1,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n2,0,14,0,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,4,0,1,1,0,1,0\n1,0,0,3,3,2,3,0,0,1,1,1,1,0\n0,5,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,5,2,2,4,3,0,0,1,1,1,1,0\n2,0,2,1,0,2,0,0,0,1,1,2,1,0\n2,0,3,2,4,2,5,0,0,1,1,2,1,0\n1,0,8,0,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,1,5,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,1,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,3,1,5,4,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,2,0,3,0,5,2,0,1,1,1,0,1,0\n1,1,0,3,0,9,2,0,1,1,1,2,1,0\n0,3,3,2,2,8,4,0,1,1,1,2,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,1,1,2,2,1,3,0,1,1,1,1,1,0\n1,0,0,3,3,3,3,0,1,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,1\n0,0,1,2,1,2,3,0,1,1,1,2,1,0\n1,0,5,2,2,8,5,4,0,1,1,0,1,0\n1,0,1,2,0,4,0,0,0,1,1,1,1,0\n1,0,12,1,5,10,3,4,1,1,1,1,1,0\n0,0,3,2,1,1,1,0,1,1,1,0,1,0\n1,0,10,3,2,5,5,1,1,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,2,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,5,1,0,1,1,1,2,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,0\n1,1,0,3,5,5,3,0,1,1,1,2,1,0\n0,4,1,2,2,8,1,4,1,1,1,0,1,0\n0,0,6,2,2,1,3,0,1,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,0,13,3,2,4,3,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,4,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,7,1,2,7,3,0,1,1,1,0,1,0\n1,0,3,2,1,3,5,0,0,1,1,2,1,0\n0,0,8,0,0,7,2,0,1,1,1,0,1,0\n1,0,6,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,5,1,2,2,12,3,0,1,1,1,0,1,0\n0,0,5,2,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,1,3,5,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,3,0,3,0,12,2,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,9,2,3,1,1,1,1,1,0\n2,0,1,2,0,8,0,0,0,1,1,2,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,5,6,2,1,5,5,0,0,1,1,0,1,0\n1,5,13,3,0,5,2,0,1,1,1,0,1,1\n1,0,10,3,5,5,3,0,1,1,1,0,1,0\n1,0,3,2,1,7,1,4,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,0,1,1,2,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,0,3,2,1,7,5,4,0,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,4,3,2,2,9,1,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,1,4,3,0,1,1,1,1,1,0\n0,0,3,2,2,7,5,0,0,1,1,0,1,0\n1,0,0,3,2,8,3,0,0,1,1,1,1,0\n1,0,9,1,1,6,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,1,1,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n2,0,1,2,0,4,0,0,0,1,1,2,1,0\n2,0,2,1,0,1,2,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n2,0,1,2,4,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,1,2,2,0,5,4,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,5,0,1,1,1,1,1,0\n0,3,5,2,2,4,1,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n1,1,3,2,0,4,2,0,1,1,1,2,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,12,2,0,1,1,1,1,1,0\n0,4,3,2,1,1,5,0,1,1,1,0,1,0\n2,0,14,0,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,1,3,2,2,9,1,0,1,1,1,1,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n1,1,8,0,0,9,2,0,1,1,1,1,1,0\n1,5,10,3,2,5,1,0,0,1,1,0,1,0\n0,0,3,2,1,2,3,0,1,1,1,0,1,0\n0,0,3,2,2,9,1,0,1,1,1,2,1,0\n2,4,1,2,0,2,2,1,1,1,1,1,1,0\n1,4,7,1,2,2,1,0,1,1,1,0,1,0\n0,0,1,2,2,0,1,0,1,1,1,2,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,4,3,4,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,0,1,1,2,1,0\n0,0,5,2,1,3,3,0,1,1,1,1,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,1,4,3,2,5,1,0,1,1,1,2,1,0\n1,3,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,1,5,5,0,0,1,1,2,1,0\n0,0,3,2,1,3,3,0,1,1,1,0,1,0\n1,0,3,2,1,3,3,0,0,1,1,1,1,0\n2,0,0,3,0,8,0,0,0,1,1,2,1,1\n0,0,3,2,2,4,1,0,1,1,1,0,1,0\n1,4,1,2,1,8,3,4,0,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,8,0,1,7,1,0,1,1,1,0,1,0\n1,2,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,1,1,5,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,1,1,0\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n2,2,10,3,4,3,3,0,0,1,1,0,1,0\n1,0,3,2,1,0,3,0,0,1,1,1,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n2,0,12,1,0,10,2,0,1,1,1,0,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,4,11,3,1,0,1,1,1,1,0\n0,0,10,3,0,7,2,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,14,0,2,1,4,0,1,1,1,0,1,0\n1,1,3,2,0,7,0,0,0,1,1,1,1,0\n1,0,3,2,1,12,5,0,0,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,1,3,2,2,9,3,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,4,10,3,0,5,2,4,1,1,1,2,1,1\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,6,2,2,12,1,4,1,1,1,0,1,0\n0,0,1,2,2,2,3,1,0,1,1,0,1,0\n2,0,3,2,1,6,3,4,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,2,1,0\n1,5,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,1,2,2,8,3,0,1,1,1,2,1,0\n0,5,1,2,0,8,2,1,1,1,1,0,1,0\n2,1,1,2,0,3,0,0,0,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,5,10,3,0,5,0,0,0,1,1,2,1,1\n0,1,0,3,0,5,0,0,0,1,1,2,1,1\n0,0,1,2,2,7,4,1,1,1,1,0,1,0\n3,4,3,2,4,4,3,0,0,1,1,2,1,0\n1,0,1,2,1,1,4,0,1,1,1,1,1,0\n1,0,0,3,2,3,3,0,0,1,1,0,1,0\n1,0,1,2,1,10,1,0,1,1,1,0,1,0\n1,0,1,2,1,4,5,0,0,1,1,0,1,0\n2,1,1,2,0,3,2,0,1,1,1,2,1,0\n1,0,3,2,2,10,3,0,1,1,1,1,1,0\n1,4,3,2,1,1,5,4,1,1,1,0,1,0\n0,4,0,3,0,8,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,2,1,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,4,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,2,1,0\n2,0,0,3,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,5,9,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,2,5,0,0,1,1,1,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,1\n2,1,8,0,0,4,2,0,1,1,1,2,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,4,2,1,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n2,1,3,2,4,2,4,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,2,1,1\n0,0,12,1,3,9,5,0,0,1,1,0,1,0\n1,4,1,2,1,10,5,0,1,1,1,0,1,0\n1,5,3,2,0,10,2,0,1,1,1,2,1,1\n0,0,3,2,2,3,3,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n2,1,3,2,0,2,0,4,0,1,1,2,1,0\n1,0,2,1,1,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,1,2,2,7,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,4,10,3,2,5,5,0,0,1,1,1,1,0\n1,2,1,2,1,4,5,0,0,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,4,0,3,2,5,1,0,0,1,1,0,1,0\n0,0,10,3,2,5,1,0,0,1,1,0,1,0\n0,0,2,1,2,1,3,0,1,1,1,0,1,0\n2,0,0,3,1,10,3,0,1,1,1,1,1,0\n0,0,3,2,0,4,0,0,0,1,1,1,1,1\n1,0,3,2,4,2,5,0,0,1,1,2,1,0\n1,2,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,3,2,5,1,0,1,1,1,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,0\n0,0,6,2,2,0,1,0,1,1,1,0,1,0\n1,0,3,2,2,1,5,0,1,1,1,0,1,0\n2,4,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,0\n1,1,10,3,0,3,2,1,1,1,1,1,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,5,1,2,3,2,3,0,0,1,1,2,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,1,2,1,4,3,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,4,1,1,1,2,1,0\n1,4,1,2,1,5,1,0,0,1,1,1,1,0\n1,0,1,2,1,2,5,0,0,1,1,0,1,0\n0,0,3,2,1,1,4,3,1,1,1,0,1,0\n1,0,1,2,1,1,3,0,1,1,1,0,1,0\n1,0,3,2,3,2,5,0,0,1,1,2,1,0\n2,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,5,2,0,0,2,0,1,1,1,1,1,1\n1,3,3,2,1,2,5,4,0,1,1,0,1,0\n1,1,3,2,0,1,2,1,1,1,1,1,1,0\n1,0,3,2,2,6,5,0,0,1,1,0,1,0\n1,5,10,3,2,5,3,0,1,1,1,0,1,0\n1,0,3,2,0,8,2,1,1,1,1,1,1,0\n1,3,6,2,3,0,3,3,0,1,1,2,1,0\n0,1,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,10,3,3,3,5,0,0,1,1,1,1,0\n1,1,1,2,0,8,0,0,0,1,1,2,1,1\n1,4,1,2,1,1,3,0,1,1,1,0,1,0\n2,0,0,3,2,4,3,0,0,1,1,1,1,1\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n0,0,0,3,0,2,2,0,1,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,1,0,3,2,3,3,4,0,1,1,1,1,0\n1,0,2,1,2,2,3,0,1,1,1,1,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n3,5,8,0,1,2,3,1,0,1,1,0,1,0\n0,0,2,1,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,4,1,2,2,2,5,0,0,1,1,2,1,0\n0,0,2,1,2,2,5,4,0,1,1,2,1,0\n1,0,7,1,0,10,2,0,1,1,1,2,1,0\n0,0,2,1,2,1,3,0,1,1,1,1,1,0\n0,0,12,1,0,7,0,0,0,1,1,0,1,0\n0,0,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,7,4,0,1,1,1,0,1,0\n1,0,10,3,1,2,5,0,0,1,1,0,1,0\n1,0,1,2,1,8,5,4,0,1,1,0,1,0\n0,1,5,2,2,2,3,4,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,12,1,2,3,5,0,0,1,1,2,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n2,0,3,2,4,8,3,0,0,1,1,1,1,0\n1,4,10,3,1,5,3,4,0,1,1,0,1,1\n1,5,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,3,4,0,1,1,0,1,0\n0,0,1,2,2,2,1,4,0,1,1,0,1,0\n1,0,3,2,3,3,3,0,0,1,1,2,1,0\n0,0,3,2,3,7,1,4,0,1,1,0,1,0\n1,4,1,2,0,6,2,0,1,1,1,0,1,0\n2,4,14,0,1,2,4,4,0,1,1,0,1,0\n0,3,3,2,1,8,3,0,1,1,1,1,1,0\n2,5,3,2,1,8,3,0,0,1,1,2,1,0\n1,0,1,2,1,2,1,0,1,1,1,2,1,0\n1,4,10,3,2,0,3,4,0,1,1,1,1,1\n0,2,1,2,2,4,3,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n2,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,2,10,3,0,1,1,1,1,1,0\n0,4,3,2,2,8,1,0,1,1,1,0,1,0\n0,0,0,3,2,1,3,0,1,1,1,1,1,1\n2,1,1,2,1,1,3,0,1,1,1,1,1,0\n0,0,2,1,2,8,1,4,0,1,1,0,1,0\n1,0,3,2,0,3,0,0,0,1,1,2,1,0\n1,0,6,2,2,5,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,0,12,1,2,2,3,0,1,1,1,2,1,0\n2,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,1,2,1,5,5,0,1,1,1,1,1,0\n0,0,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,1,5,3,0,1,1,1,1,1,1\n0,0,1,2,2,2,4,0,0,1,1,2,1,0\n0,5,0,3,2,8,3,4,0,1,1,2,1,0\n1,0,6,2,1,8,3,4,0,1,1,0,1,0\n0,4,0,3,5,5,3,0,0,1,1,0,1,0\n1,0,14,0,0,9,0,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,2,1,1\n0,4,3,2,2,12,1,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,2,9,3,0,1,1,1,2,1,0\n1,0,8,0,4,7,3,2,0,1,1,0,1,0\n0,0,3,2,2,3,5,4,0,1,1,2,1,0\n0,0,0,3,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n2,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,13,3,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,2,3,3,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,1,2,0,3,2,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,14,0,5,9,5,0,1,1,1,2,1,0\n2,1,8,0,4,2,3,0,0,1,1,1,1,0\n0,0,5,2,0,5,2,0,1,1,1,1,1,0\n1,0,0,3,0,6,2,4,1,1,1,0,1,1\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,0,0,0,1,1,0,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,3,0,1,1,1,2,1,0\n1,4,1,2,1,10,5,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n1,4,0,3,1,5,5,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n2,0,11,0,0,2,2,3,1,1,1,0,1,0\n0,0,3,2,2,8,5,4,1,1,1,2,1,0\n1,4,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,6,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,9,1,2,7,3,0,1,1,1,0,1,0\n1,0,3,2,2,7,1,0,0,1,1,0,1,0\n0,0,3,2,5,7,3,0,0,1,1,2,1,0\n0,0,10,3,2,5,1,0,0,1,1,2,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,10,1,0,1,1,1,2,1,0\n1,5,0,3,2,8,3,0,0,1,1,0,1,1\n1,1,4,3,0,5,2,0,1,1,1,2,1,1\n2,4,3,2,0,8,0,0,0,1,1,2,1,0\n1,4,6,2,2,8,3,0,0,1,1,1,1,0\n2,1,0,3,0,1,2,0,1,1,1,2,1,1\n0,0,12,1,2,10,1,1,1,1,1,2,1,0\n0,2,3,2,0,3,2,1,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n1,0,2,1,1,7,3,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n2,5,0,3,0,8,2,0,1,1,1,2,1,1\n2,4,1,2,0,8,0,0,0,1,1,2,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,7,1,0,10,2,0,1,1,1,1,1,0\n0,5,9,1,2,4,3,0,1,1,1,1,1,1\n2,1,12,1,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,0,3,0,0,0,1,1,1,1,1\n0,0,1,2,3,3,5,0,0,1,1,2,1,0\n1,0,6,2,0,5,0,0,0,1,1,2,1,0\n0,0,1,2,2,0,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,2,1,1,1,2,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,3,7,5,4,0,1,1,0,1,0\n0,0,1,2,2,1,1,2,1,1,1,0,1,0\n0,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,10,3,2,5,3,0,0,1,1,1,1,0\n1,0,6,2,0,6,2,4,1,1,1,0,1,0\n0,0,0,3,0,1,2,0,1,1,1,0,1,0\n0,5,5,2,2,8,1,4,0,1,1,2,1,0\n1,0,3,2,2,3,3,0,0,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,0\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n1,4,3,2,3,2,3,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,1,2,2,4,3,0,1,1,1,0,1,0\n1,0,0,3,2,2,5,1,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,0,3,0,4,0,0,0,1,1,1,1,1\n2,0,0,3,0,7,2,0,1,1,1,0,1,0\n1,1,3,2,1,10,3,0,1,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,1,3,2,0,10,2,0,1,1,1,1,1,0\n1,4,10,3,1,5,5,0,0,1,1,1,1,0\n1,5,10,3,1,5,3,0,0,1,1,0,1,0\n1,0,1,2,2,4,3,0,1,1,1,0,1,0\n1,0,5,2,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,1,1,1,1,1,0\n1,5,3,2,2,10,3,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,6,4,0,1,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,4,0,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,1,2,0,8,0,0,0,1,1,2,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,4,8,3,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,1\n3,0,10,3,4,1,5,1,1,1,1,0,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,12,1,2,9,1,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,4,1,1,1,1,1,1\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,1,3,2,2,4,3,0,1,1,1,1,1,0\n0,0,9,1,0,1,4,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,5,2,1,0,9,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,4,3,4,1,1,1,1,1,0\n1,4,4,3,2,5,3,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,1,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,2,1,1\n1,0,10,3,2,4,3,0,0,1,1,1,1,1\n1,4,5,2,1,12,3,0,0,1,1,1,1,1\n1,1,14,0,0,9,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,7,1,1,8,5,0,0,1,1,0,1,0\n0,0,11,0,2,2,3,0,1,1,1,2,1,0\n1,0,5,2,1,3,3,0,0,1,1,2,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,4,3,2,0,12,2,0,1,1,1,2,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,3,2,1,7,5,0,0,1,1,1,1,0\n1,1,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,4,5,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,2,3,1,0,1,1,1,0,1,0\n1,0,1,2,1,1,5,0,0,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n3,0,8,0,2,7,3,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,5,2,2,3,1,0,1,1,1,0,1,0\n0,0,3,2,3,8,3,0,1,1,1,0,1,1\n0,0,1,2,2,3,5,0,0,1,1,2,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,3,2,5,4,0,1,1,2,1,0\n1,3,6,2,0,1,2,1,1,1,1,0,1,1\n2,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,4,1,2,0,12,2,0,1,1,1,1,1,0\n1,0,3,2,2,0,3,0,1,1,1,1,1,0\n0,0,1,2,3,8,4,4,0,1,1,0,1,0\n0,0,0,3,0,8,2,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n1,0,1,2,0,8,0,4,0,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,5,10,3,0,8,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,4,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,2,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,3,7,3,4,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,1,5,4,0,1,1,2,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,2,1,2,0,4,0,0,0,1,1,2,1,0\n2,0,3,2,4,11,3,0,0,1,1,1,1,0\n2,0,0,3,2,1,3,0,1,1,1,1,1,0\n0,4,3,2,0,8,2,4,1,1,1,0,1,0\n1,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,4,3,0,5,2,1,1,1,1,1,1,0\n1,4,10,3,0,5,0,0,0,1,1,0,1,1\n0,0,6,2,2,5,3,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n2,0,6,2,1,5,5,0,0,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,3,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,13,3,2,5,3,0,1,1,1,1,1,1\n1,4,5,2,0,5,2,0,1,1,1,1,1,1\n0,2,12,1,2,2,1,0,1,1,1,2,1,0\n0,0,6,2,0,3,0,0,0,1,1,1,1,1\n0,4,0,3,1,5,3,0,1,1,1,0,1,0\n2,0,10,3,1,4,3,0,0,1,1,0,1,1\n1,4,1,2,2,8,1,2,0,1,1,0,1,0\n0,0,0,3,0,8,2,0,1,1,1,1,1,1\n1,4,10,3,0,5,0,0,0,1,1,0,1,1\n2,5,13,3,0,5,2,0,1,1,1,1,1,1\n1,2,1,2,1,12,3,0,1,1,1,0,1,0\n0,0,12,1,2,10,3,0,1,1,1,1,1,0\n2,0,10,3,2,5,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,0,3,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,4,0,1,1,0,1,0\n2,5,13,3,0,5,3,1,1,1,1,0,1,0\n0,0,3,2,0,6,0,0,0,1,1,0,1,1\n1,0,0,3,2,8,5,4,0,1,1,2,1,0\n2,0,11,0,1,11,5,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,9,1,0,7,4,3,1,1,1,0,1,0\n1,0,3,2,2,1,1,0,1,1,1,2,1,0\n0,0,1,2,3,3,1,0,0,1,1,0,1,0\n1,1,1,2,2,10,3,4,1,1,1,2,1,0\n0,1,1,2,0,1,2,2,1,1,1,1,1,1\n2,0,12,1,4,2,4,1,0,1,1,0,1,0\n0,0,3,2,2,4,1,0,1,1,1,2,1,0\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,14,0,2,11,4,0,0,1,1,0,1,0\n2,0,3,2,5,1,3,0,1,1,1,0,1,0\n0,0,10,3,0,3,0,0,0,1,1,1,1,1\n1,4,3,2,2,8,5,4,0,1,1,2,1,0\n2,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,1,0,3,0,4,2,1,1,1,1,1,1,0\n1,1,1,2,1,1,3,0,1,1,1,0,1,0\n2,5,0,3,4,5,3,0,0,1,1,0,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,1,1,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,3,7,3,3,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,3,10,3,1,5,3,0,1,1,1,0,1,1\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n2,2,3,2,1,3,5,0,0,1,1,1,1,1\n0,4,0,3,2,12,1,4,1,1,1,1,1,0\n0,0,1,2,1,2,3,0,1,1,1,0,1,0\n2,0,0,3,1,8,3,0,0,1,1,0,1,1\n0,4,1,2,0,12,2,0,1,1,1,1,1,0\n1,0,8,0,1,7,3,0,0,1,1,1,1,0\n0,3,3,2,0,8,2,4,1,1,1,1,1,0\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n1,0,1,2,1,0,3,0,0,1,1,1,1,0\n1,4,3,2,5,9,5,4,1,1,1,0,1,0\n1,2,10,3,1,4,3,0,1,1,1,1,1,1\n1,0,2,1,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,2,1,2,3,3,0,0,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,3,2,3,0,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,0,3,1,12,3,0,1,1,1,0,1,1\n1,0,9,1,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n3,0,3,2,0,3,2,0,1,1,1,2,1,0\n0,0,6,2,2,1,5,0,1,1,1,0,1,0\n2,0,1,2,4,2,5,0,0,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,0,0,0,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,4,2,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,0,4,2,0,1,1,1,2,1,0\n1,0,1,2,1,8,3,0,0,1,1,1,1,0\n0,0,6,2,2,3,5,1,1,1,1,1,1,0\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,0,10,2,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,1,13,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,1,1,3,0,0,1,1,0,1,0\n0,2,1,2,2,4,3,0,1,1,1,1,1,0\n1,1,0,3,2,4,3,4,1,1,1,1,1,1\n1,0,3,2,1,1,3,0,1,1,1,0,1,1\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,7,1,0,1,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,1,3,2,2,5,3,0,1,1,1,0,1,0\n0,4,1,2,2,8,3,0,0,1,1,1,1,0\n0,0,0,3,2,0,3,0,0,1,1,1,1,1\n0,3,1,2,2,8,4,0,0,1,1,0,1,0\n0,1,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,1,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,2,1,0\n0,2,3,2,0,4,2,0,1,1,1,0,1,0\n1,3,4,3,0,5,2,1,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,1,3,2,0,5,0,0,0,1,1,2,1,1\n0,0,3,2,0,10,2,4,1,1,1,1,1,0\n1,0,1,2,2,10,3,0,1,1,1,0,1,0\n0,0,5,2,1,3,3,0,0,1,1,1,1,0\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,1,2,5,0,0,1,1,1,1,1\n0,0,3,2,2,6,4,0,1,1,1,1,1,0\n1,1,3,2,0,2,2,0,1,1,1,2,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,4,0,1,1,0,1,0\n0,5,3,2,2,2,5,4,0,1,1,0,1,0\n0,5,10,3,0,5,2,1,1,1,1,2,1,0\n2,1,3,2,4,2,3,0,0,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,1,3,2,1,1,3,0,1,1,1,1,1,1\n1,0,3,2,4,2,3,0,0,1,1,2,1,0\n1,0,10,3,2,3,3,1,1,1,1,0,1,0\n1,2,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,4,1,1,1,0,1,1\n0,0,3,2,2,7,4,0,1,1,1,0,1,0\n0,0,3,2,1,6,5,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,5,3,0,0,1,1,2,1,0\n1,0,3,2,4,4,4,0,1,1,1,0,1,0\n0,0,1,2,0,2,0,2,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,4,4,3,0,0,1,1,0,1,0\n0,0,2,1,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,8,0,2,1,3,0,1,1,1,1,1,0\n1,4,10,3,1,5,5,4,0,1,1,0,1,1\n3,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,4,1,2,1,7,1,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,1,3,1,0,1,1,1,0,1,0\n1,4,10,3,2,5,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,0,4,1,0,1,1,1,1,1,0\n0,0,3,2,2,10,4,0,1,1,1,0,1,0\n0,0,12,1,0,1,0,3,0,1,1,1,1,0\n1,5,10,3,0,5,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,7,1,0,6,2,0,1,1,1,1,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n2,5,1,2,1,8,3,0,1,1,1,0,1,0\n1,0,3,2,1,7,1,4,0,1,1,0,1,0\n2,0,3,2,4,11,3,0,0,1,1,2,1,0\n0,1,6,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,10,1,4,1,1,1,0,1,0\n1,0,11,0,0,2,2,0,1,1,1,1,1,0\n1,0,1,2,1,3,5,0,0,1,1,0,1,0\n0,0,1,2,1,8,3,0,0,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,2,10,3,3,4,3,0,1,1,1,1,1,1\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,9,5,0,1,1,1,2,1,0\n0,5,0,3,0,12,0,4,0,1,1,1,1,0\n1,0,3,2,0,11,4,0,0,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,1,3,5,2,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n1,4,10,3,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,2,1,3,8,5,4,0,1,1,2,1,0\n0,0,2,1,2,3,3,0,0,1,1,2,1,0\n1,0,0,3,2,11,3,0,1,1,1,2,1,0\n1,0,6,2,3,5,1,0,0,1,1,2,1,0\n1,4,0,3,0,5,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,4,1,1,1,1,0,1,0\n0,0,1,2,0,4,2,1,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n0,0,2,1,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,2,1,4,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,1,3,3,2,1,1,1,0,1,1\n1,0,1,2,5,8,3,0,0,1,1,0,1,0\n1,2,1,2,0,5,2,0,1,1,1,2,1,0\n0,0,3,2,3,8,5,0,0,1,1,0,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,4,7,1,4,6,5,0,1,1,1,0,1,1\n0,2,13,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,8,0,5,5,4,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,4,1,2,0,12,2,0,1,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,3,3,2,3,6,5,0,0,1,1,0,1,0\n0,0,6,2,2,2,3,4,1,1,1,0,1,0\n1,3,1,2,0,2,2,0,1,1,1,0,1,0\n0,2,13,3,2,5,3,0,1,1,1,1,1,0\n2,0,3,2,4,8,5,0,0,1,1,2,1,0\n1,1,2,1,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,3,0,0,1,1,0,1,0\n1,5,0,3,0,5,2,0,1,1,1,0,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,5,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,4,3,3,0,0,1,1,1,1,1\n2,0,4,3,0,5,2,0,1,1,1,2,1,1\n0,0,3,2,2,2,4,4,0,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,1,1,2,2,5,5,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,0,0,0,1,1,0,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,0\n0,0,1,2,2,7,3,0,0,1,1,2,1,0\n2,0,8,0,1,6,3,0,1,1,1,0,1,0\n0,0,9,1,3,7,5,0,0,1,1,0,1,0\n1,0,12,1,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,4,1,1,1,2,1,0\n2,0,7,1,1,9,3,4,1,1,1,0,1,0\n1,0,3,2,1,3,3,0,1,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,1,8,0,0,9,2,0,1,1,1,1,1,0\n1,0,5,2,1,4,5,4,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,2,3,5,0,0,1,1,2,1,0\n1,0,3,2,1,5,5,4,0,1,1,0,1,0\n1,3,6,2,1,4,5,4,0,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,5,10,3,0,5,2,1,1,1,1,2,1,0\n0,5,1,2,2,8,3,3,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,1,2,5,0,0,1,1,1,1,0\n1,1,0,3,0,5,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,1\n0,2,7,1,2,1,1,0,1,1,1,0,1,0\n0,0,2,1,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,2,12,1,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,1,8,3,0,1,1,1,2,1,0\n0,0,0,3,0,8,2,1,1,1,1,1,1,0\n0,0,1,2,0,2,0,0,0,1,1,0,1,0\n2,0,0,3,0,7,2,0,1,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,4,0,0,1,1,2,1,0\n1,0,1,2,0,7,2,4,1,1,1,1,1,0\n1,5,13,3,5,5,5,0,1,1,1,1,1,1\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n1,5,1,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,0,3,0,4,0,0,0,1,1,1,1,1\n1,4,10,3,0,5,0,0,0,1,1,0,1,1\n1,0,0,3,1,1,3,0,1,1,1,0,1,0\n3,1,8,0,4,9,3,0,1,1,1,2,1,0\n1,1,3,2,0,8,0,0,0,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,7,3,0,0,1,1,0,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n0,1,3,2,2,9,1,0,1,1,1,0,1,0\n2,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,3,8,5,0,0,1,1,0,1,0\n0,0,10,3,2,4,1,0,0,1,1,0,1,0\n1,1,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,9,2,0,1,1,1,1,1,1\n1,0,1,2,2,2,3,0,1,1,1,0,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,1\n0,0,2,1,2,6,3,0,1,1,1,0,1,0\n0,0,3,2,1,9,3,0,1,1,1,1,1,0\n1,2,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,2,1,0\n1,0,0,3,0,3,0,0,0,1,1,0,1,0\n2,0,1,2,0,8,0,0,0,1,1,0,1,1\n1,4,3,2,0,2,0,4,0,1,1,2,1,0\n0,0,3,2,1,3,3,2,0,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,4,0,1,1,0,1,0\n2,0,5,2,0,1,2,0,1,1,1,2,1,1\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,12,1,5,6,3,0,1,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,1,2,3,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,4,0,1,1,0,1,0\n1,0,10,3,0,2,2,0,1,1,1,0,1,0\n2,5,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,14,0,2,7,3,0,1,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,2,3,2,0,3,2,0,1,1,1,0,1,0\n1,1,3,2,1,3,3,0,1,1,1,1,1,1\n0,0,8,0,2,7,1,0,1,1,1,0,1,0\n1,1,13,3,1,5,3,0,0,1,1,1,1,1\n1,0,9,1,3,11,5,4,0,1,1,0,1,0\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,2,13,3,0,5,0,0,0,1,1,1,1,1\n0,0,2,1,2,11,1,0,0,1,1,2,1,0\n1,0,1,2,2,4,3,0,0,1,1,1,1,0\n0,1,1,2,2,8,1,0,0,1,1,2,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,1\n2,0,0,3,2,4,3,0,1,1,1,1,1,1\n0,0,5,2,2,2,1,0,0,1,1,2,1,0\n0,4,5,2,0,12,2,1,1,1,1,0,1,1\n1,1,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,8,0,0,3,2,0,1,1,1,0,1,0\n1,4,5,2,2,5,3,0,1,1,1,0,1,0\n2,0,1,2,0,5,2,0,1,1,1,2,1,1\n1,3,3,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n0,0,0,3,1,5,3,0,0,1,1,0,1,0\n1,0,5,2,0,5,2,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,0,7,2,0,1,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,1\n2,2,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,6,2,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,1,0,3,1,5,3,0,1,1,1,2,1,0\n1,0,0,3,0,2,2,1,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n3,1,1,2,0,9,2,0,1,1,1,0,1,0\n1,5,0,3,0,12,2,0,1,1,1,1,1,1\n0,1,3,2,0,5,2,0,1,1,1,0,1,1\n0,0,9,1,3,2,3,0,0,1,1,2,1,0\n1,1,1,2,2,1,3,0,1,1,1,2,1,0\n0,0,0,3,2,5,3,4,1,1,1,0,1,0\n0,0,3,2,2,2,5,0,0,1,1,2,1,0\n1,0,1,2,0,2,2,0,1,1,1,2,1,0\n2,0,0,3,0,4,2,1,1,1,1,1,1,1\n0,0,7,1,1,10,3,0,1,1,1,0,1,0\n1,0,1,2,1,4,3,0,0,1,1,1,1,0\n0,1,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,1,2,1,4,1,0,0,1,1,0,1,0\n0,5,0,3,0,8,2,0,1,1,1,2,1,0\n0,5,1,2,0,4,0,0,0,1,1,2,1,0\n1,0,3,2,1,4,5,0,0,1,1,0,1,0\n0,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,1,1,1,1,2,1,0\n0,0,6,2,2,6,1,0,0,1,1,2,1,0\n0,0,3,2,2,4,3,0,1,1,1,0,1,0\n0,5,12,1,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n2,0,7,1,3,1,5,0,1,1,1,0,1,0\n2,0,0,3,5,1,5,0,0,1,1,1,1,0\n0,0,3,2,0,6,2,0,1,1,1,2,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n0,0,6,2,0,1,2,4,1,1,1,0,1,0\n0,0,3,2,3,2,5,4,0,1,1,2,1,0\n2,0,3,2,2,4,5,0,0,1,1,2,1,0\n0,0,9,1,2,3,1,0,1,1,1,2,1,0\n3,1,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,12,1,1,2,5,4,0,1,1,0,1,0\n1,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,2,1,2,1,4,3,0,1,1,1,1,1,0\n1,0,1,2,1,1,3,0,1,1,1,0,1,0\n1,1,3,2,2,9,1,0,1,1,1,1,1,0\n1,5,10,3,1,5,5,0,0,1,1,0,1,0\n1,0,3,2,1,4,4,0,0,1,1,0,1,0\n1,0,1,2,3,4,3,0,1,1,1,1,1,0\n1,0,11,0,0,9,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n2,2,7,1,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,4,3,0,5,2,2,1,1,1,1,1,1\n1,0,3,2,2,5,3,0,1,1,1,0,1,0\n0,0,6,2,1,3,3,0,0,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,1,3,1,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,1,8,5,0,0,1,1,2,1,0\n2,0,0,3,0,2,4,1,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,0,0,3,0,5,4,0,1,1,1,0,1,0\n0,0,1,2,3,2,3,0,0,1,1,1,1,0\n0,2,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,9,1,4,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,0,6,2,0,7,2,0,1,1,1,2,1,0\n2,3,1,2,0,0,2,0,1,1,1,2,1,1\n1,0,3,2,0,2,0,0,0,1,1,0,1,0\n1,3,13,3,0,5,2,0,1,1,1,1,1,1\n2,1,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,4,1,5,0,0,1,1,2,1,0\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,12,1,0,10,2,4,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,0,2,1,1,1,1,0,1,1\n1,0,1,2,5,5,3,0,0,1,1,2,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,0,6,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n2,0,5,2,1,8,3,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,3,2,0,6,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n1,0,14,0,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,1\n2,0,15,0,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,1,2,3,2,3,0,0,1,1,2,1,0\n2,3,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n1,5,10,3,2,4,3,0,0,1,1,2,1,0\n1,0,10,3,5,4,3,0,1,1,1,1,1,1\n0,3,1,2,0,12,2,4,1,1,1,0,1,1\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n0,0,3,2,3,10,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,3,2,3,10,3,0,1,1,1,1,1,0\n0,5,1,2,1,0,5,0,0,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,0,1,1\n1,0,10,3,2,5,5,0,0,1,1,0,1,0\n1,1,4,3,1,5,5,0,1,1,1,1,1,1\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,1,7,5,0,0,1,1,2,1,0\n1,5,0,3,0,5,2,0,1,1,1,2,1,1\n0,0,7,1,0,3,2,0,1,1,1,1,1,0\n1,4,0,3,3,5,3,0,0,1,1,1,1,0\n0,1,3,2,1,1,3,0,1,1,1,1,1,0\n1,0,0,3,0,8,2,1,1,1,1,0,1,0\n0,5,2,1,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,0,2,2,0,1,1,1,1,1,0\n2,0,3,2,2,2,4,4,0,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,7,1,0,9,2,2,1,1,1,0,1,0\n0,0,1,2,2,8,4,1,1,1,1,2,1,0\n0,1,14,0,0,1,2,0,1,1,1,1,1,1\n0,0,11,0,2,7,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n0,1,6,2,0,9,2,0,1,1,1,1,1,1\n0,0,0,3,2,2,3,0,1,1,1,2,1,0\n1,0,0,3,1,4,3,0,1,1,1,1,1,1\n3,0,0,3,0,5,2,0,1,1,1,2,1,0\n1,0,0,3,1,3,5,0,0,1,1,2,1,0\n0,0,6,2,1,4,3,0,1,1,1,1,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n1,3,0,3,0,12,2,4,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,0,2,0,0,0,1,1,2,1,0\n1,0,1,2,1,2,3,0,0,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,1,10,3,1,6,5,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,4,8,3,0,0,1,1,2,1,0\n1,5,1,2,3,0,5,0,0,1,1,0,1,0\n0,1,0,3,0,5,2,4,1,1,1,2,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,3,4,3,0,0,1,1,1,1,1\n1,0,3,2,0,12,1,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,7,3,0,1,1,1,2,1,0\n0,1,1,2,2,3,3,0,1,1,1,1,1,0\n0,0,7,1,5,8,5,1,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,2,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,1,0,1,1,0,1,0\n1,4,5,2,0,12,2,0,1,1,1,1,1,1\n1,0,1,2,3,4,5,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,5,0,3,0,4,2,0,1,1,1,2,1,0\n0,0,1,2,1,3,3,0,1,1,1,0,1,0\n1,0,5,2,1,8,3,1,1,1,1,0,1,0\n0,4,3,2,0,12,2,0,1,1,1,1,1,1\n0,1,1,2,2,5,3,0,0,1,1,2,1,0\n1,0,1,2,0,6,2,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,4,3,2,5,3,0,1,1,1,0,1,1\n2,0,10,3,2,5,3,0,1,1,1,1,1,0\n0,4,10,3,2,5,1,0,1,1,1,2,1,0\n2,5,0,3,1,4,3,0,0,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,1,6,3,0,1,1,1,2,1,0\n1,0,0,3,2,8,5,1,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n2,0,8,0,2,9,5,4,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,14,0,3,3,5,4,0,1,1,2,1,0\n0,0,1,2,1,5,3,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,1,2,1,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,5,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,0,3,1,8,3,0,0,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,6,2,1,10,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n1,0,3,2,0,2,2,4,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n2,3,5,2,0,9,2,4,1,1,1,0,1,0\n2,1,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,1,1,3,0,1,1,1,1,1,1\n0,0,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,2,7,3,0,0,1,1,0,1,0\n1,0,12,1,0,1,2,0,1,1,1,2,1,0\n0,2,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n1,1,0,3,0,4,2,0,1,1,1,0,1,1\n0,2,3,2,2,7,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,3,0,0,1,1,1,1,0\n1,5,4,3,1,5,5,0,0,1,1,1,1,0\n1,0,3,2,1,8,5,4,0,1,1,2,1,0\n0,4,0,3,2,5,3,0,0,1,1,2,1,0\n0,2,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,3,0,0,1,1,2,1,0\n0,0,9,1,2,2,5,4,1,1,1,2,1,0\n0,0,14,0,2,2,4,0,1,1,1,0,1,0\n0,1,12,1,2,2,1,0,0,1,1,2,1,0\n2,2,0,3,0,9,2,0,1,1,1,0,1,1\n0,4,0,3,0,6,2,0,1,1,1,1,1,1\n1,3,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n2,0,1,2,4,8,5,0,0,1,1,2,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n1,4,1,2,1,8,5,4,0,1,1,2,1,0\n0,0,9,1,2,2,1,4,1,1,1,2,1,0\n0,4,3,2,2,8,1,0,0,1,1,0,1,0\n1,1,0,3,5,3,1,0,1,1,1,1,1,1\n1,0,1,2,2,5,3,0,0,1,1,1,1,0\n2,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,6,2,1,7,3,0,1,1,1,0,1,0\n1,0,6,2,0,4,2,0,1,1,1,0,1,0\n1,1,1,2,1,1,3,0,1,1,1,2,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,3,4,0,1,1,0,1,0\n1,0,1,2,1,8,5,4,0,1,1,2,1,0\n0,0,7,1,1,8,3,0,0,1,1,0,1,0\n2,0,2,1,0,12,2,0,1,1,1,2,1,1\n1,5,0,3,1,4,3,0,0,1,1,0,1,0\n2,0,1,2,1,2,3,0,1,1,1,0,1,0\n1,1,10,3,2,9,1,0,1,1,1,1,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,1,2,0,9,2,0,1,1,1,1,1,1\n0,0,8,0,1,10,5,0,1,1,1,2,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,4,3,2,0,2,2,1,1,1,1,0,1,0\n0,0,3,2,2,4,5,0,0,1,1,0,1,0\n1,2,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,4,2,0,1,1,1,2,1,1\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,9,3,0,1,1,1,0,1,0\n1,3,10,3,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,0,3,2,2,3,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,7,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,1,7,3,0,1,1,1,0,1,0\n3,1,3,2,0,3,2,0,1,1,1,2,1,0\n2,1,14,0,0,4,2,0,1,1,1,1,1,1\n1,3,0,3,2,8,3,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,1\n1,1,3,2,1,2,5,0,1,1,1,1,1,0\n0,0,0,3,2,12,3,0,0,1,1,0,1,0\n0,0,3,2,2,4,3,0,0,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,3,2,2,12,1,0,1,1,1,1,1,0\n0,0,1,2,0,8,0,0,0,1,1,2,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,9,1,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,3,3,2,0,8,2,0,1,1,1,2,1,0\n1,0,3,2,2,1,3,0,0,1,1,1,1,0\n1,0,14,0,3,7,3,0,0,1,1,0,1,0\n2,0,3,2,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,4,3,2,1,8,5,0,0,1,1,2,1,0\n1,2,3,2,0,10,2,0,1,1,1,1,1,0\n2,1,0,3,2,5,3,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,1\n0,0,0,3,2,2,1,0,0,1,1,2,1,0\n0,5,0,3,2,5,3,0,0,1,1,0,1,0\n1,5,0,3,2,8,3,0,1,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,4,5,2,0,4,2,0,1,1,1,2,1,0\n2,0,3,2,4,3,3,0,0,1,1,1,1,0\n2,0,3,2,4,3,5,0,0,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,0,7,2,1,1,1,1,0,1,1\n1,5,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,1,5,0,1,1,1,0,1,0\n2,0,3,2,4,3,4,0,0,1,1,2,1,0\n1,1,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,4,3,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,0,3,1,3,3,0,1,1,1,1,1,0\n3,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,1,4,3,0,0,1,1,0,1,0\n0,0,4,3,1,3,1,0,1,1,1,1,1,0\n0,0,1,2,1,4,3,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,7,4,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,0,3,0,2,0,0,0,1,1,0,1,0\n1,0,8,0,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,4,1,1,1,2,1,0\n3,0,1,2,4,11,3,0,0,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,1,1,1\n1,0,1,2,3,1,3,4,1,1,1,0,1,0\n0,0,11,0,2,9,5,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,9,1,2,9,1,4,1,1,1,0,1,0\n1,0,3,2,0,10,2,4,1,1,1,1,1,0\n0,5,1,2,2,8,1,0,1,1,1,2,1,0\n1,3,3,2,0,10,2,0,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,4,4,0,1,1,1,1,1,1\n1,3,0,3,2,8,5,4,1,1,1,0,1,1\n1,4,10,3,1,5,3,0,0,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,1,8,1,1,0,1,1,0,1,0\n0,0,3,2,2,4,1,0,1,1,1,0,1,0\n1,5,3,2,0,12,2,0,1,1,1,0,1,0\n2,0,0,3,4,5,5,0,0,1,1,2,1,0\n1,0,10,3,0,12,2,0,1,1,1,0,1,1\n2,0,7,1,3,2,3,4,0,1,1,2,1,0\n2,2,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,1\n1,2,0,3,1,3,3,0,1,1,1,1,1,1\n1,0,10,3,0,5,0,0,0,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n0,4,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,4,3,2,5,3,1,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,2,3,5,0,0,1,1,1,1,0\n0,0,0,3,2,2,1,4,0,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n1,5,0,3,0,5,4,0,0,1,1,1,1,0\n0,5,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,2,1,2,1,3,4,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,1,3,2,0,2,2,4,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,5,3,2,0,12,2,0,1,1,1,0,1,0\n2,3,0,3,0,8,2,4,1,1,1,0,1,1\n1,3,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,4,1,1,1,0,1,0\n2,3,0,3,2,8,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,4,2,1,1,8,5,0,0,1,1,0,1,0\n2,4,3,2,0,1,2,0,1,1,1,2,1,0\n1,5,6,2,1,0,3,0,1,1,1,2,1,1\n1,0,3,2,0,6,2,4,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,6,2,0,1,1,1,0,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,5,1,2,3,8,5,4,0,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,1\n1,2,6,2,0,4,2,0,1,1,1,1,1,1\n0,0,6,2,0,7,2,0,1,1,1,0,1,1\n1,1,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,4,0,3,1,12,5,0,0,1,1,1,1,0\n0,0,3,2,5,2,3,1,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,5,0,3,1,4,3,0,1,1,1,0,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,1\n1,3,0,3,0,4,0,0,0,1,1,0,1,0\n1,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,5,0,1,1,1,0,1,0\n0,0,1,2,2,5,1,0,0,1,1,0,1,0\n0,0,6,2,1,8,5,0,0,1,1,0,1,0\n1,0,8,0,0,10,2,4,1,1,1,0,1,0\n0,0,3,2,2,2,5,4,0,1,1,2,1,0\n1,0,0,3,1,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,4,1,1,1,0,1,0\n0,1,3,2,2,1,3,0,1,1,1,0,1,0\n1,4,5,2,0,0,2,0,1,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,4,0,3,2,2,3,0,1,1,1,2,1,0\n1,0,1,2,3,8,5,0,0,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,4,4,3,0,5,2,0,1,1,1,1,1,1\n2,0,1,2,0,3,2,0,1,1,1,1,1,1\n2,4,10,3,0,5,2,0,1,1,1,2,1,0\n1,3,1,2,0,2,2,0,1,1,1,1,1,0\n2,0,4,3,0,5,2,1,1,1,1,0,1,1\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,0,5,2,0,5,2,0,1,1,1,1,1,0\n1,0,14,0,1,10,5,0,1,1,1,0,1,0\n0,0,3,2,0,12,2,0,1,1,1,0,1,0\n0,5,5,2,2,12,3,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,5,0,3,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,9,1,4,1,1,1,1,1,0\n2,0,4,3,0,5,2,0,1,1,1,2,1,0\n0,0,9,1,2,3,1,0,1,1,1,0,1,0\n2,1,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,0,3,2,5,1,0,1,1,1,2,1,0\n0,0,0,3,2,6,1,0,1,1,1,2,1,0\n0,0,1,2,0,5,2,0,1,1,1,0,1,0\n2,2,6,2,1,3,3,0,1,1,1,1,1,0\n0,0,7,1,0,6,2,0,1,1,1,0,1,0\n1,0,10,3,2,5,3,0,0,1,1,1,1,0\n1,3,3,2,0,5,2,0,1,1,1,0,1,1\n1,4,3,2,0,8,0,0,0,1,1,2,1,1\n1,0,0,3,2,5,3,0,0,1,1,1,1,1\n0,5,3,2,2,4,3,0,1,1,1,0,1,0\n2,3,0,3,1,4,5,0,0,1,1,0,1,0\n0,0,9,1,3,10,5,4,1,1,1,0,1,0\n0,5,3,2,2,8,1,0,1,1,1,0,1,0\n1,0,3,2,1,2,3,4,1,1,1,0,1,0\n0,0,1,2,0,3,0,4,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,5,2,2,4,3,0,1,1,1,1,1,0\n1,5,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,2,2,5,4,1,1,1,0,1,0\n0,1,0,3,0,1,2,0,1,1,1,0,1,0\n1,3,1,2,4,0,3,0,0,1,1,1,1,1\n0,0,12,1,0,2,1,0,0,1,1,2,1,0\n0,0,1,2,3,3,5,4,0,1,1,0,1,0\n1,3,3,2,2,8,3,2,1,1,1,0,1,0\n0,0,5,2,2,0,1,0,1,1,1,0,1,0\n1,0,11,0,0,2,0,0,0,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,6,2,2,3,3,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,3,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,1\n1,0,0,3,1,5,5,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,0,3,2,0,5,1,0,1,1,2,1,0\n1,0,10,3,0,10,2,0,1,1,1,1,1,1\n1,1,0,3,0,1,2,0,1,1,1,1,1,0\n2,0,10,3,0,0,2,0,1,1,1,2,1,1\n2,0,3,2,1,9,3,0,0,1,1,1,1,0\n1,4,1,2,0,4,2,0,1,1,1,0,1,1\n1,3,5,2,1,8,3,0,0,1,1,0,1,0\n0,4,6,2,0,12,2,0,1,1,1,0,1,0\n0,1,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,6,2,5,8,3,0,0,1,1,0,1,0\n0,0,4,3,0,5,2,1,1,1,1,2,1,1\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,1,1,0\n2,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,1,2,4,8,5,0,0,1,1,1,1,0\n0,0,5,2,0,1,2,0,1,1,1,0,1,0\n1,4,0,3,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,5,4,0,1,1,0,1,0\n1,4,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,14,0,0,10,2,0,1,1,1,0,1,0\n1,5,3,2,1,8,5,0,0,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,12,1,2,6,1,4,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,3,0,0,0,1,1,2,1,0\n1,0,4,3,0,5,2,0,1,1,1,0,1,1\n0,3,3,2,0,8,2,3,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,2,2,1,1,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,1,0,3,0,3,0,1,0,1,1,1,1,0\n1,0,1,2,4,3,5,0,0,1,1,2,1,0\n0,4,0,3,2,5,1,0,0,1,1,2,1,0\n0,0,3,2,1,8,3,0,0,1,1,2,1,0\n2,2,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,6,1,0,1,1,1,1,1,0\n0,0,1,2,2,4,1,0,1,1,1,2,1,0\n2,4,3,2,1,8,3,0,0,1,1,0,1,0\n2,1,7,1,3,1,3,0,1,1,1,0,1,0\n0,0,12,1,2,2,4,4,0,1,1,2,1,0\n1,0,1,2,2,3,3,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n3,0,3,2,4,2,5,0,0,1,1,2,1,0\n1,0,3,2,3,8,5,0,0,1,1,0,1,0\n0,0,1,2,1,10,3,0,1,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,2,1,1\n0,0,3,2,3,2,5,0,0,1,1,2,1,0\n0,0,0,3,0,5,0,0,0,1,1,1,1,1\n2,0,1,2,0,10,2,0,1,1,1,2,1,1\n0,0,3,2,0,7,0,0,0,1,1,0,1,0\n1,4,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,9,1,2,1,5,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,3,1,2,0,5,2,0,1,1,1,0,1,0\n1,4,13,3,0,4,2,0,1,1,1,1,1,1\n0,5,1,2,2,0,3,0,0,1,1,1,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n0,0,1,2,2,5,4,4,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,1,2,1,4,3,0,0,1,1,0,1,0\n1,5,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,7,1,0,7,2,0,1,1,1,0,1,0\n0,0,5,2,2,8,3,0,0,1,1,2,1,0\n2,0,1,2,1,5,3,0,1,1,1,1,1,1\n1,0,3,2,1,2,3,0,1,1,1,0,1,0\n0,0,3,2,1,2,3,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,3,1,2,0,8,2,0,1,1,1,0,1,1\n1,0,1,2,0,2,0,4,0,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,1,1,2,3,3,5,0,1,1,1,1,1,0\n0,0,1,2,2,2,4,0,0,1,1,2,1,0\n0,2,0,3,2,3,3,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,2,1,1,1,3,0,0,1,1,1,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,6,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,1,7,5,0,0,1,1,0,1,0\n0,0,13,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,0,3,1,5,3,0,0,1,1,0,1,1\n0,0,0,3,0,2,0,1,0,1,1,0,1,0\n0,0,2,1,2,2,1,4,1,1,1,2,1,0\n0,0,14,0,2,2,3,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,4,0,1,1,2,1,0\n0,5,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,1,6,2,0,0,2,0,1,1,1,2,1,1\n0,0,0,3,0,0,2,0,1,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n0,5,3,2,2,2,3,0,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,2,1,1\n0,0,8,0,4,2,5,0,0,1,1,1,1,0\n0,0,3,2,0,1,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,5,0,0,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,1,11,5,0,0,1,1,2,1,0\n1,4,1,2,0,12,2,0,1,1,1,1,1,1\n0,0,10,3,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,1,1,1\n0,4,3,2,2,5,3,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,2,2,5,4,0,1,1,0,1,0\n1,4,3,2,0,7,2,4,1,1,1,0,1,1\n0,0,1,2,1,8,3,0,1,1,1,0,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,0,1,0,1,1,1,0,1,0\n1,2,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,5,2,1,1,3,0,1,1,1,1,1,0\n0,4,1,2,0,5,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,5,4,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,1,3,0,1,1,1,2,1,0\n1,4,3,2,1,12,5,0,0,1,1,1,1,0\n1,0,1,2,4,4,5,0,0,1,1,0,1,0\n0,0,4,3,2,5,3,0,0,1,1,1,1,0\n2,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,5,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,1,4,3,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,1,6,3,0,0,1,1,1,1,0\n1,0,3,2,2,2,5,4,0,1,1,0,1,0\n0,0,1,2,2,4,4,4,0,1,1,0,1,0\n0,0,5,2,1,7,3,0,0,1,1,1,1,0\n1,0,0,3,0,0,0,0,0,1,1,2,1,1\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n1,5,1,2,1,2,1,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n0,1,6,2,0,5,0,0,0,1,1,1,1,1\n0,0,1,2,0,3,4,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n2,0,3,2,4,8,3,0,0,1,1,0,1,0\n0,5,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,2,1,4,0,1,1,1,1,1,0\n1,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,1,2,1,7,5,0,1,1,1,1,1,0\n0,5,6,2,0,12,2,0,1,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,2,8,5,4,0,1,1,0,1,0\n1,3,3,2,0,8,2,0,1,1,1,1,1,0\n3,0,14,0,0,10,2,4,1,1,1,0,1,0\n0,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,4,1,1,1,0,1,0\n2,0,1,2,1,4,5,0,0,1,1,0,1,0\n1,1,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,0,0,0,1,1,2,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,6,2,1,5,5,0,0,1,1,0,1,1\n0,0,3,2,2,2,3,4,1,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,2,8,1,0,0,1,1,1,1,0\n0,2,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,9,1,2,5,3,0,0,1,1,2,1,0\n1,5,10,3,0,4,2,0,1,1,1,2,1,1\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,1,1,0\n0,0,6,2,2,1,1,0,1,1,1,0,1,0\n1,0,0,3,2,4,3,0,1,1,1,1,1,0\n2,1,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,4,1,1,1,0,1,0\n2,0,12,1,0,7,2,0,1,1,1,0,1,0\n1,4,6,2,2,2,3,0,1,1,1,0,1,0\n1,0,6,2,0,10,2,0,1,1,1,1,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,0,3,2,0,3,0,0,1,1,2,1,0\n0,0,10,3,2,3,3,0,1,1,1,1,1,0\n0,0,1,2,1,3,5,0,0,1,1,1,1,0\n1,0,14,0,0,1,2,0,1,1,1,0,1,0\n2,4,3,2,0,12,2,0,1,1,1,0,1,0\n0,5,6,2,1,4,3,0,0,1,1,2,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,6,2,2,8,1,0,0,1,1,0,1,0\n3,4,13,3,0,4,2,0,1,1,1,0,1,0\n1,0,12,1,5,1,4,0,1,1,1,0,1,0\n0,0,7,1,5,6,1,0,1,1,1,0,1,0\n1,0,1,2,1,3,5,4,0,1,1,0,1,0\n1,0,0,3,0,5,0,0,0,1,1,0,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,0\n0,1,0,3,1,4,5,0,1,1,1,1,1,1\n2,4,12,1,3,2,3,4,0,1,1,1,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,2,1,0\n2,3,13,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,12,3,4,0,1,1,0,1,1\n1,4,1,2,0,1,2,0,1,1,1,0,1,0\n2,2,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,4,2,3,0,0,1,1,2,1,1\n1,1,0,3,0,4,2,0,1,1,1,2,1,0\n0,0,3,2,1,7,5,0,1,1,1,0,1,0\n1,0,1,2,2,1,3,4,1,1,1,1,1,0\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n2,0,11,0,0,9,2,0,1,1,1,0,1,0\n1,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,0,1,2,1,1,3,4,0,1,1,1,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n0,0,3,2,2,9,1,4,1,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,8,0,0,9,2,0,1,1,1,0,1,0\n1,0,5,2,0,8,0,0,0,1,1,2,1,1\n0,3,4,3,0,5,2,0,1,1,1,1,1,0\n2,0,3,2,0,0,2,0,1,1,1,2,1,1\n0,0,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,3,2,2,6,4,0,1,1,1,1,1,0\n0,1,1,2,0,3,2,2,1,1,1,1,1,1\n0,1,3,2,2,8,1,1,0,1,1,2,1,0\n0,0,3,2,2,3,3,4,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n0,0,1,2,1,1,5,0,1,1,1,1,1,0\n2,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,6,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,8,0,2,2,3,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,5,5,2,0,12,2,0,1,1,1,1,1,0\n0,0,8,0,0,9,2,0,1,1,1,1,1,0\n2,0,3,2,0,9,2,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,12,1,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,1\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,5,0,3,2,5,1,0,1,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n2,3,6,2,4,2,5,4,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,3,0,3,0,8,2,0,1,1,1,1,1,0\n1,0,5,2,1,4,5,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,4,0,3,1,5,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,0,2,1,1,10,3,0,1,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,5,0,1,1,1,0,1,0\n1,0,1,2,1,4,3,0,1,1,1,1,1,0\n1,0,13,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n2,3,3,2,0,0,2,0,1,1,1,0,1,1\n1,0,5,2,1,7,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,4,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,0,0,2,0,1,1,1,1,1,0\n0,1,3,2,2,1,3,0,1,1,1,2,1,0\n1,0,0,3,0,2,2,0,1,1,1,2,1,0\n0,0,14,0,5,10,5,3,1,1,1,2,1,0\n1,0,10,3,1,4,3,0,0,1,1,1,1,1\n1,0,3,2,3,10,4,0,1,1,1,1,1,0\n1,0,2,1,0,10,2,0,1,1,1,0,1,0\n0,4,3,2,2,0,3,0,0,1,1,0,1,0\n0,0,12,1,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,2,2,3,0,1,1,1,0,1,0\n1,1,4,3,0,4,2,0,1,1,1,1,1,1\n1,5,3,2,0,12,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,6,2,5,8,5,0,0,1,1,0,1,0\n1,5,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,1,0,1,0,0,1,1,1,1,0\n1,0,3,2,1,7,5,0,1,1,1,0,1,0\n2,0,0,3,0,1,4,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,6,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,9,3,0,0,1,1,0,1,0\n1,0,0,3,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,10,1,0,1,1,1,0,1,0\n0,0,2,1,2,1,1,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n2,4,10,3,4,5,5,0,1,1,1,2,1,1\n1,2,3,2,2,4,3,4,1,1,1,1,1,0\n2,0,2,1,3,2,3,4,0,1,1,2,1,0\n0,0,1,2,2,9,1,0,1,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,7,1,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,5,2,0,1,1,1,2,1,1\n1,4,3,2,1,2,5,0,0,1,1,0,1,0\n0,0,3,2,2,5,4,0,0,1,1,0,1,0\n0,1,0,3,0,5,2,4,1,1,1,1,1,1\n0,0,1,2,0,8,0,0,0,1,1,0,1,1\n2,0,12,1,0,10,2,0,1,1,1,1,1,1\n1,2,3,2,1,4,3,0,0,1,1,0,1,0\n1,1,0,3,2,1,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,4,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,2,1,1,2,5,0,0,1,1,2,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,5,2,0,8,2,0,1,1,1,0,1,0\n0,0,12,1,2,2,3,0,1,1,1,2,1,0\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n1,1,6,2,1,3,3,0,1,1,1,1,1,0\n0,0,0,3,0,8,2,0,1,1,1,0,1,1\n2,0,10,3,1,4,5,0,1,1,1,0,1,1\n1,0,1,2,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,6,2,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,1,4,3,0,1,1,1,1,1,0\n1,0,9,1,1,10,3,0,1,1,1,0,1,0\n1,0,0,3,2,5,1,0,1,1,1,1,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,4,3,2,0,12,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,8,0,2,7,1,0,1,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,2,1,2,0,4,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,0,1,2,1,2,3,4,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,2,1,2,1,1,0,1,1,1,0,1,0\n2,0,3,2,1,3,3,0,0,1,1,0,1,0\n2,1,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,3,1,5,4,0,1,1,0,1,0\n1,2,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,5,0,0,1,1,0,1,0\n1,0,14,0,2,2,3,0,1,1,1,2,1,0\n1,0,0,3,3,2,3,0,1,1,1,1,1,0\n1,3,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,1\n0,0,8,0,0,9,2,0,1,1,1,1,1,0\n1,3,0,3,2,5,3,0,0,1,1,1,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,1,4,5,0,0,1,1,1,1,0\n1,0,3,2,2,1,1,0,1,1,1,1,1,1\n1,4,0,3,1,5,5,0,0,1,1,1,1,0\n1,4,10,3,0,4,2,4,1,1,1,1,1,1\n0,0,12,1,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,2,3,0,0,1,1,2,1,0\n1,5,3,2,3,1,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,15,0,0,7,0,1,0,1,1,0,1,0\n1,4,10,3,1,5,5,0,0,1,1,1,1,0\n1,1,3,2,0,4,0,0,0,1,1,1,1,0\n1,0,3,2,2,2,3,4,0,1,1,2,1,0\n0,2,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,2,1,2,1,1,0,1,1,1,2,1,0\n1,0,3,2,3,1,5,4,0,1,1,0,1,0\n1,1,3,2,2,10,1,0,1,1,1,0,1,0\n3,0,1,2,4,11,5,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,0,1,1,0,1,0\n0,3,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,9,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,3,2,4,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,5,2,0,8,2,0,1,1,1,1,1,1\n0,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,1,0,0,1,1,0,1,0\n0,0,2,1,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,1,1,1,2,1,0\n1,0,3,2,0,0,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,0,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,2,1,1,1,0,1,0\n1,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,0,3,4,5,3,0,0,1,1,1,1,0\n0,0,6,2,2,7,1,0,1,1,1,2,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,1\n1,0,0,3,1,5,5,0,0,1,1,1,1,0\n1,0,2,1,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n2,0,1,2,2,1,3,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,1,7,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,6,2,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,5,2,5,4,0,1,1,1,1,1\n0,4,3,2,2,6,1,0,1,1,1,0,1,0\n1,0,3,2,3,11,3,0,0,1,1,1,1,0\n1,1,3,2,0,4,2,0,1,1,1,2,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,5,0,3,0,5,0,0,0,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,0,0,0,1,1,0,1,0\n1,0,3,2,0,7,4,1,0,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,0,0,1,1,0,1,0\n1,2,3,2,0,3,2,0,1,1,1,2,1,1\n3,0,2,1,0,7,2,0,1,1,1,0,1,0\n1,0,12,1,0,7,2,4,1,1,1,0,1,0\n1,5,5,2,2,4,3,0,1,1,1,1,1,0\n1,3,3,2,0,8,2,0,1,1,1,1,1,1\n2,2,3,2,0,4,2,4,1,1,1,1,1,1\n0,0,3,2,2,8,3,4,1,1,1,0,1,0\n1,2,10,3,0,4,0,0,0,1,1,1,1,1\n1,0,10,3,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,1,8,5,0,0,1,1,2,1,1\n2,3,1,2,1,8,3,0,0,1,1,0,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,5,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,1,13,3,3,5,5,0,0,1,1,2,1,0\n2,1,3,2,1,1,3,0,1,1,1,1,1,1\n0,0,0,3,2,6,3,0,1,1,1,0,1,0\n2,0,3,2,4,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,2,0,3,0,0,1,1,2,1,1\n2,0,10,3,0,5,2,0,1,1,1,2,1,0\n0,5,1,2,0,8,2,0,1,1,1,0,1,0\n2,2,1,2,0,3,2,0,1,1,1,0,1,0\n3,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,2,3,3,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,4,1,2,2,12,3,0,1,1,1,0,1,1\n2,1,3,2,1,4,3,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n2,2,3,2,0,3,2,0,1,1,1,2,1,1\n0,0,1,2,2,3,1,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,1,1,5,0,0,1,1,1,1,0\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n0,0,2,1,2,6,1,0,1,1,1,1,1,0\n3,2,1,2,0,3,2,0,1,1,1,2,1,1\n0,1,3,2,2,1,3,4,1,1,1,0,1,0\n1,1,6,2,0,9,2,0,1,1,1,1,1,1\n1,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,4,1,2,0,9,2,0,1,1,1,0,1,0\n1,0,2,1,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,1,2,1,0,0,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,3,1,2,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,0,6,0,0,0,1,1,2,1,0\n0,0,8,0,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,4,1,1,1,1,1,1,0\n0,0,4,3,2,5,3,1,0,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n1,0,10,3,1,5,5,0,1,1,1,1,1,0\n0,0,3,2,0,8,0,0,0,1,1,2,1,0\n1,0,5,2,1,3,5,0,0,1,1,0,1,0\n2,0,10,3,0,5,2,1,1,1,1,0,1,1\n1,1,1,2,1,4,5,0,0,1,1,1,1,0\n0,0,3,2,2,3,1,2,0,1,1,2,1,0\n2,0,1,2,0,12,2,0,1,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,2,4,3,4,0,1,1,0,1,0\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,5,2,2,0,3,0,0,1,1,2,1,0\n2,0,1,2,1,9,3,1,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,1\n1,1,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,5,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,6,2,2,1,3,0,1,1,1,1,1,0\n0,0,6,2,2,4,1,4,0,1,1,0,1,0\n2,0,12,1,1,10,3,4,1,1,1,1,1,0\n1,0,0,3,1,8,5,1,0,1,1,0,1,0\n2,1,1,2,4,9,3,0,0,1,1,0,1,0\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,2,10,3,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,5,1,3,0,1,1,1,1,1,0\n0,5,3,2,2,8,5,4,0,1,1,2,1,0\n0,0,1,2,2,8,1,4,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,1,1,2,3,1,3,0,1,1,1,1,1,1\n0,0,6,2,2,0,1,0,0,1,1,2,1,0\n1,0,2,1,0,3,2,0,1,1,1,2,1,1\n1,0,0,3,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,0,9,2,4,1,1,1,2,1,0\n0,0,2,1,0,3,2,0,1,1,1,0,1,0\n1,0,11,0,0,1,2,3,1,1,1,1,1,0\n1,0,3,2,2,6,3,0,1,1,1,0,1,0\n2,2,9,1,0,4,2,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,5,2,0,10,2,0,1,1,1,0,1,0\n0,0,8,0,1,6,4,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,4,1,1,1,2,1,0\n0,0,0,3,2,6,1,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n2,4,4,3,1,5,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,8,1,4,0,1,1,1,1,0\n1,0,0,3,1,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,5,13,3,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,0,1,2,1,1,1,1,2,1,0\n2,0,6,2,1,2,3,0,1,1,1,2,1,0\n2,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,3,2,2,0,1,0,1,1,1,0,1,0\n0,2,3,2,0,4,2,0,1,1,1,1,1,0\n3,1,1,2,0,1,2,4,1,1,1,0,1,0\n2,5,1,2,4,5,3,0,0,1,1,2,1,0\n0,1,1,2,2,4,3,0,0,1,1,1,1,0\n2,0,5,2,0,4,2,0,1,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n1,3,10,3,0,3,2,0,1,1,1,1,1,1\n0,3,3,2,0,0,2,0,1,1,1,0,1,1\n1,0,1,2,0,3,0,0,0,1,1,1,1,1\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n1,4,3,2,2,4,1,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,5,0,3,2,12,3,4,1,1,1,0,1,0\n0,0,3,2,1,3,5,4,0,1,1,2,1,0\n1,0,3,2,0,9,2,4,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,2,1,0\n1,5,3,2,3,8,5,0,1,1,1,2,1,0\n0,0,0,3,2,8,1,0,0,1,1,1,1,0\n1,1,3,2,1,9,3,0,1,1,1,0,1,1\n0,0,2,1,2,5,3,0,0,1,1,2,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,2,1,2,1,3,0,1,1,1,2,1,0\n0,0,1,2,2,2,4,0,1,1,1,2,1,0\n1,1,0,3,2,5,3,0,1,1,1,0,1,0\n1,2,3,2,0,1,2,0,1,1,1,0,1,0\n1,2,1,2,1,3,3,0,1,1,1,1,1,1\n1,0,3,2,1,7,1,0,1,1,1,0,1,0\n1,4,0,3,5,8,5,1,0,1,1,0,1,0\n0,0,1,2,3,4,5,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n2,5,3,2,2,8,3,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,15,0,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n0,1,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,2,1,2,2,4,3,4,1,1,1,1,1,0\n0,0,2,1,2,2,4,0,0,1,1,0,1,0\n1,5,3,2,3,2,5,0,0,1,1,0,1,0\n1,0,5,2,2,8,3,4,0,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,12,1,2,6,4,4,1,1,1,0,1,0\n1,0,1,2,1,4,5,0,0,1,1,0,1,0\n2,0,3,2,1,5,3,0,0,1,1,1,1,0\n0,0,1,2,0,12,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,8,0,3,2,5,0,0,1,1,2,1,0\n1,5,1,2,0,2,2,0,1,1,1,0,1,0\n2,3,3,2,0,8,2,4,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,0,12,1,1,7,5,0,0,1,1,2,1,0\n0,1,1,2,2,2,3,0,0,1,1,1,1,0\n2,5,0,3,0,4,2,0,1,1,1,0,1,0\n1,3,1,2,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,4,3,2,0,3,1,1,1,1,0,1,1\n1,0,1,2,2,1,1,4,1,1,1,0,1,0\n0,0,1,2,2,6,3,4,1,1,1,1,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,7,1,2,2,1,1,1,1,1,2,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,1,1,2,1,2,5,0,0,1,1,2,1,0\n1,0,5,2,0,0,2,0,1,1,1,0,1,0\n2,4,3,2,4,2,3,0,0,1,1,2,1,0\n1,0,3,2,0,6,2,4,1,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,10,3,2,5,3,0,0,1,1,2,1,0\n1,2,3,2,1,1,3,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,5,2,0,4,2,1,1,1,1,2,1,0\n0,0,3,2,1,3,1,0,0,1,1,2,1,0\n0,0,2,1,2,11,1,0,0,1,1,2,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,12,1,2,2,4,0,1,1,1,2,1,0\n1,0,14,0,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,3,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,0,1,1,2,1,0\n0,0,12,1,1,6,3,0,0,1,1,2,1,0\n1,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,3,3,2,2,8,3,0,1,1,1,1,1,1\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,1,3,5,0,0,1,1,0,1,0\n1,5,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,9,1,2,6,1,0,1,1,1,2,1,0\n1,4,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,1,8,3,0,0,1,1,1,1,0\n2,3,1,2,0,4,2,0,1,1,1,0,1,1\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,0,5,0,4,0,1,1,2,1,0\n0,0,1,2,1,0,3,0,1,1,1,1,1,0\n0,0,3,2,3,2,3,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n2,3,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n0,0,6,2,2,4,3,4,0,1,1,0,1,0\n0,0,14,0,2,6,5,0,1,1,1,2,1,0\n2,0,3,2,2,4,3,0,0,1,1,2,1,0\n0,0,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,5,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,0,1,2,0,2,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,2,3,0,1,1,1,0,1,0\n1,0,0,3,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,1,8,5,0,0,1,1,2,1,0\n1,3,13,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,4,0,1,1,1,2,1,0\n0,0,2,1,0,10,2,0,1,1,1,2,1,0\n1,0,8,0,0,10,2,0,1,1,1,1,1,1\n0,0,5,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n2,3,3,2,4,4,3,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,0,1,1,0,1,0\n1,0,3,2,2,10,3,0,1,1,1,0,1,0\n2,0,7,1,2,1,4,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,5,0,1,0,1,1,2,1,1\n1,1,3,2,0,9,2,0,1,1,1,0,1,1\n2,4,1,2,0,1,2,0,1,1,1,1,1,1\n1,5,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n0,4,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,4,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n3,4,14,0,0,12,2,0,1,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,1,4,0,1,1,1,1,0\n0,5,3,2,6,8,1,0,0,1,1,2,1,0\n1,0,6,2,0,2,2,0,1,1,1,0,1,0\n1,0,1,2,0,8,2,1,1,1,1,0,1,1\n1,0,4,3,5,5,3,0,1,1,1,0,1,1\n1,0,3,2,0,6,2,4,1,1,1,0,1,0\n2,5,1,2,1,8,3,0,0,1,1,2,1,0\n0,5,5,2,2,4,3,0,0,1,1,1,1,0\n1,0,1,2,1,3,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,4,0,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,3,0,3,1,5,3,0,1,1,1,1,1,1\n1,0,1,2,1,1,5,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,4,1,1,1,2,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,0,8,2,0,1,1,1,1,1,0\n3,0,8,0,4,2,3,0,0,1,1,2,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n3,1,1,2,0,4,2,0,1,1,1,2,1,0\n1,0,1,2,1,4,3,4,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n3,0,12,1,4,2,3,4,0,1,1,2,1,0\n0,5,0,3,2,5,3,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n3,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,0,0,3,1,6,3,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,0,1,1,2,1,0\n1,4,3,2,0,5,2,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,4,1,2,2,8,3,4,1,1,1,0,1,0\n1,0,0,3,0,4,2,4,1,1,1,0,1,1\n0,0,1,2,2,2,3,4,1,1,1,0,1,0\n1,0,2,1,2,2,3,0,0,1,1,2,1,0\n1,0,0,3,1,3,5,0,1,1,1,1,1,0\n1,0,10,3,1,4,5,0,0,1,1,0,1,1\n1,0,3,2,4,11,4,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,2,3,2,2,3,1,0,1,1,1,1,1,0\n0,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,6,2,0,2,2,0,1,1,1,2,1,0\n0,0,1,2,5,3,5,0,0,1,1,0,1,0\n1,1,12,1,4,10,5,0,1,1,1,2,1,0\n2,1,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,1,1,1\n1,0,4,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,1,4,5,0,0,1,1,1,1,0\n2,4,0,3,0,5,2,0,1,1,1,0,1,1\n1,4,0,3,1,5,5,0,0,1,1,1,1,0\n2,0,3,2,0,8,2,0,1,1,1,2,1,0\n2,0,0,3,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,1,1,3,2,1,1,1,0,1,0\n0,0,3,2,2,3,4,4,0,1,1,2,1,0\n1,4,0,3,0,5,0,0,0,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n2,4,3,2,0,2,2,0,1,1,1,0,1,0\n0,5,3,2,0,2,0,0,0,1,1,1,1,0\n0,5,0,3,0,12,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,1\n1,0,3,2,4,7,5,4,0,1,1,0,1,0\n0,0,2,1,1,2,5,0,0,1,1,2,1,0\n0,0,2,1,2,11,5,4,0,1,1,0,1,0\n2,0,3,2,4,2,3,0,0,1,1,2,1,0\n0,1,1,2,2,1,3,0,0,1,1,2,1,0\n2,5,13,3,1,5,3,0,1,1,1,1,1,1\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n0,0,6,2,2,3,1,0,1,1,1,0,1,0\n0,0,13,3,2,5,1,0,1,1,1,2,1,0\n1,2,5,2,0,4,2,0,1,1,1,1,1,0\n2,1,8,0,0,2,2,0,1,1,1,2,1,0\n2,0,14,0,3,7,3,0,1,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,12,1,2,2,1,4,1,1,1,2,1,0\n0,0,1,2,0,8,0,0,0,1,1,1,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,0,3,2,1,11,5,0,0,1,1,2,1,0\n1,0,0,3,0,4,0,0,0,1,1,0,1,1\n1,0,0,3,1,4,3,0,1,1,1,1,1,1\n0,0,1,2,2,7,3,0,0,1,1,1,1,0\n2,0,1,2,4,4,3,4,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,3,2,1,0,0,1,1,2,1,0\n1,0,0,3,1,5,3,0,1,1,1,1,1,1\n0,5,10,3,2,5,3,4,0,1,1,2,1,0\n0,0,1,2,0,8,0,4,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,1,8,5,4,0,1,1,2,1,0\n2,0,6,2,0,1,2,1,1,1,1,0,1,0\n0,1,3,2,3,1,4,0,1,1,1,1,1,0\n1,0,12,1,2,9,1,4,1,1,1,1,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,3,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,10,3,0,5,0,1,0,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,14,0,2,10,3,0,1,1,1,0,1,0\n1,0,2,1,3,7,3,4,1,1,1,0,1,0\n0,0,3,2,3,7,5,0,1,1,1,0,1,0\n1,0,1,2,0,12,2,4,1,1,1,0,1,1\n0,0,0,3,2,5,1,0,0,1,1,2,1,0\n0,0,6,2,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,7,1,0,1,1,1,0,1,0\n1,0,3,2,1,3,5,0,0,1,1,1,1,0\n1,4,1,2,1,8,5,4,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,2,3,3,4,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n2,0,1,2,0,8,4,0,0,1,1,2,1,1\n2,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,2,6,2,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,5,2,4,4,0,1,1,0,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,1\n2,1,0,3,0,4,2,0,1,1,1,1,1,0\n2,0,12,1,4,2,5,4,0,1,1,2,1,0\n2,0,7,1,1,11,3,4,0,1,1,2,1,0\n1,4,10,3,0,8,2,0,1,1,1,0,1,0\n0,4,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n0,0,12,1,0,9,0,0,0,1,1,0,1,0\n1,1,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,7,1,2,9,3,0,1,1,1,0,1,0\n0,3,1,2,2,4,3,4,1,1,1,0,1,0\n2,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,1,2,1,0,1,1,1,0,1,0\n1,0,0,3,1,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,1,1,1,1,1,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,14,0,0,2,2,3,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,1,8,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,4,0,3,2,5,3,0,1,1,1,0,1,0\n1,4,2,1,0,10,2,0,1,1,1,0,1,0\n1,3,0,3,1,8,1,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n0,0,5,2,2,4,1,0,1,1,1,0,1,0\n0,0,1,2,0,8,0,0,0,1,1,0,1,0\n1,3,3,2,2,6,3,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,3,1,2,0,5,2,0,1,1,1,0,1,1\n1,5,10,3,2,8,3,4,0,1,1,0,1,0\n1,3,0,3,1,5,5,0,1,1,1,0,1,0\n2,0,2,1,4,9,5,0,0,1,1,0,1,0\n0,0,1,2,0,2,2,0,1,1,1,2,1,0\n0,0,4,3,1,5,1,0,0,1,1,1,1,0\n0,0,2,1,2,5,1,0,0,1,1,2,1,0\n0,0,3,2,2,8,5,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,6,2,2,5,5,4,0,1,1,2,1,0\n1,0,6,2,2,1,3,0,0,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,2,6,2,0,3,2,0,1,1,1,1,1,0\n0,0,12,1,2,7,3,0,0,1,1,0,1,0\n1,0,10,3,0,7,2,0,1,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,2,1,0\n0,0,6,2,1,4,3,0,0,1,1,1,1,0\n1,1,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n2,0,3,2,0,3,0,0,0,1,1,1,1,0\n1,1,1,2,0,2,2,4,1,1,1,0,1,0\n0,5,3,2,2,3,5,4,0,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,1\n0,2,0,3,2,8,1,0,1,1,1,0,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,0,3,5,1,5,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n1,5,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,3,1,2,2,8,5,4,0,1,1,0,1,0\n0,0,8,0,0,1,2,0,1,1,1,2,1,0\n2,0,2,1,3,8,5,4,0,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,3,4,5,0,0,1,1,0,1,0\n1,0,0,3,1,3,1,0,1,1,1,1,1,0\n2,2,3,2,4,4,3,0,0,1,1,0,1,1\n1,0,3,2,1,7,1,0,1,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,1,6,1,0,0,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,1\n2,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n1,5,1,2,5,2,4,4,1,1,1,0,1,0\n1,1,10,3,0,5,0,0,0,1,1,2,1,1\n1,0,0,3,1,8,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,3,2,5,4,0,1,1,2,1,0\n0,0,2,1,2,9,4,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,4,1,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,0,0,0,0,1,1,2,1,0\n3,0,3,2,0,2,2,0,1,1,1,2,1,0\n0,0,10,3,2,5,3,0,0,1,1,0,1,0\n1,5,3,2,0,2,0,4,0,1,1,0,1,0\n2,2,1,2,0,3,2,0,1,1,1,2,1,1\n1,3,10,3,2,4,1,0,0,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,0,5,2,0,4,2,0,1,1,1,0,1,1\n0,0,2,1,2,7,1,3,1,1,1,2,1,0\n0,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n0,0,13,3,2,5,3,0,1,1,1,1,1,0\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n1,0,0,3,1,5,1,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,4,5,2,2,8,5,4,0,1,1,0,1,0\n1,4,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,5,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,4,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n1,1,1,2,1,4,3,0,0,1,1,0,1,0\n1,3,0,3,0,8,2,1,1,1,1,0,1,1\n1,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,2,6,3,4,1,1,1,0,1,0\n2,2,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,1,2,3,0,0,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,1,1,1,1,0,1,0\n2,5,12,1,2,2,3,4,0,1,1,2,1,0\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,1,1,4,0,1,1,1,0,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,4,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,2,1,2,7,4,0,0,1,1,0,1,0\n0,0,1,2,2,0,1,0,0,1,1,1,1,0\n1,0,10,3,0,4,2,1,1,1,1,1,1,1\n0,0,0,3,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,5,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,0,3,3,0,1,1,0,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,5,6,3,0,1,1,1,1,1,0\n0,5,9,1,0,2,0,0,0,1,1,0,1,0\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,6,2,1,5,5,0,0,1,1,0,1,0\n2,5,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,5,10,3,0,4,2,0,1,1,1,0,1,1\n1,4,10,3,0,4,2,4,1,1,1,1,1,1\n1,4,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,0,1,1,2,1,0\n1,5,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,8,0,0,0,1,1,2,1,1\n0,0,3,2,2,7,4,3,1,1,1,0,1,0\n0,0,0,3,2,3,1,0,1,1,1,2,1,0\n0,0,7,1,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,1,3,2,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,3,3,2,3,7,3,4,1,1,1,1,1,0\n1,0,0,3,1,3,1,0,0,1,1,0,1,0\n0,0,3,2,2,9,3,0,1,1,1,1,1,0\n2,0,1,2,0,8,0,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n0,2,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,0,5,2,2,1,1,1,1,1,0\n1,4,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,1,2,1,1,3,0,1,1,1,1,1,0\n0,0,3,2,2,10,5,4,1,1,1,1,1,0\n1,4,1,2,0,8,0,0,0,1,1,0,1,1\n1,0,8,0,0,5,0,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n2,0,3,2,4,2,5,0,0,1,1,2,1,0\n0,0,0,3,3,4,3,4,0,1,1,1,1,0\n0,0,1,2,0,2,2,0,1,1,1,2,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,1,1,1,1,1,1\n0,5,1,2,1,8,5,4,0,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,1,1,0\n1,5,10,3,1,5,5,0,1,1,1,2,1,0\n1,2,7,1,0,8,0,0,0,1,1,1,1,0\n1,4,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,10,3,2,4,1,0,1,1,1,2,1,0\n1,0,3,2,1,2,3,4,0,1,1,2,1,0\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,5,13,3,1,5,5,0,1,1,1,1,1,1\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,4,0,3,0,12,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n1,0,1,2,2,4,3,0,0,1,1,0,1,1\n0,0,3,2,3,6,5,0,0,1,1,0,1,0\n2,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,0\n1,0,0,3,5,10,3,3,1,1,1,1,1,0\n1,3,0,3,0,4,2,0,1,1,1,0,1,1\n2,1,11,0,4,2,3,4,0,1,1,2,1,0\n0,0,12,1,2,7,3,0,0,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,4,3,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,4,10,3,2,5,3,0,1,1,1,1,1,1\n1,4,10,3,0,5,2,0,1,1,1,0,1,0\n1,0,5,2,3,5,3,0,0,1,1,1,1,0\n1,5,0,3,0,5,2,0,1,1,1,0,1,1\n1,1,10,3,0,5,0,0,0,1,1,0,1,1\n1,0,1,2,0,0,2,4,1,1,1,0,1,1\n1,4,10,3,0,5,2,2,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,0,6,2,0,9,2,0,1,1,1,0,1,1\n2,0,9,1,0,10,2,0,1,1,1,0,1,1\n0,0,3,2,1,4,3,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,5,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,1,2,3,2,1,0,0,1,1,0,1,0\n2,0,1,2,0,12,2,0,1,1,1,2,1,0\n1,0,0,3,1,5,5,0,0,1,1,1,1,1\n0,0,3,2,2,7,5,0,1,1,1,0,1,0\n1,5,12,1,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,1,2,3,0,0,1,1,2,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,2,1,0\n0,0,3,2,3,8,5,0,0,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,0\n0,0,11,0,0,1,2,0,1,1,1,2,1,0\n2,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,12,1,0,10,2,0,1,1,1,0,1,0\n0,0,10,3,2,4,3,0,1,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,6,2,1,8,5,4,0,1,1,0,1,0\n1,0,8,0,1,6,3,0,1,1,1,1,1,0\n0,0,3,2,3,8,3,0,1,1,1,1,1,1\n1,0,5,2,2,8,3,0,0,1,1,0,1,0\n1,3,1,2,0,2,2,4,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,3,1,2,1,12,1,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,2,1,0\n2,2,1,2,4,3,3,0,0,1,1,2,1,1\n1,0,1,2,1,0,5,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,1,2,3,4,3,4,0,1,1,0,1,0\n1,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,4,5,2,0,12,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,0\n0,0,9,1,1,12,1,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,1,2,5,0,0,1,1,1,1,0\n0,0,3,2,2,1,5,0,1,1,1,2,1,0\n2,0,10,3,0,5,2,0,1,1,1,1,1,1\n2,0,14,0,0,10,2,0,1,1,1,0,1,0\n1,4,10,3,2,5,3,0,1,1,1,1,1,1\n2,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,6,2,2,3,5,0,0,1,1,1,1,0\n1,0,1,2,0,4,0,0,0,1,1,1,1,1\n0,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,1,5,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,3,0,1,1,1,1,1,0\n1,5,1,2,0,8,0,1,0,1,1,0,1,1\n0,0,6,2,1,8,3,0,0,1,1,1,1,0\n0,0,3,2,6,1,2,0,1,1,1,0,1,1\n1,0,13,3,0,5,2,0,1,1,1,0,1,1\n1,5,13,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,4,0,0,0,1,1,1,1,1\n0,0,3,2,2,9,1,0,1,1,1,0,1,0\n1,0,1,2,1,3,3,0,0,1,1,2,1,0\n2,2,12,1,4,10,3,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,4,3,2,0,2,0,0,0,1,1,2,1,0\n1,0,0,3,0,9,2,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,2,1,1\n0,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,5,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,3,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,5,0,3,2,5,3,0,1,1,1,2,1,0\n1,2,3,2,2,3,3,0,1,1,1,1,1,0\n1,0,14,0,2,7,1,0,0,1,1,0,1,0\n2,5,3,2,4,4,3,0,0,1,1,0,1,0\n0,0,1,2,2,4,1,0,1,1,1,0,1,0\n2,2,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,0,12,2,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n2,0,2,1,0,7,0,1,0,1,1,2,1,0\n1,5,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,3,1,0,0,1,1,0,1,0\n0,0,3,2,0,1,0,0,0,1,1,1,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,1,2,1,7,5,0,1,1,1,0,1,0\n1,1,3,2,0,8,0,0,0,1,1,2,1,1\n0,0,3,2,1,4,5,0,0,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,0,10,2,0,1,1,1,2,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,1\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n2,0,2,1,1,9,3,0,1,1,1,0,1,0\n0,0,0,3,0,2,2,0,1,1,1,0,1,0\n1,1,10,3,2,5,3,0,1,1,1,0,1,1\n1,3,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n2,0,14,0,4,7,5,0,0,1,1,0,1,0\n3,0,3,2,1,8,3,0,0,1,1,2,1,0\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,0\n1,4,6,2,4,5,5,4,0,1,1,0,1,0\n1,0,0,3,2,2,3,0,1,1,1,1,1,1\n0,4,10,3,0,5,0,0,0,1,1,2,1,1\n0,0,0,3,0,5,2,0,1,1,1,2,1,1\n1,4,1,2,1,1,3,0,1,1,1,0,1,0\n1,5,5,2,1,2,3,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,1,1,1,1,0,1,1\n0,0,6,2,2,2,5,0,0,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,1,1,1\n0,0,11,0,5,2,3,0,1,1,1,0,1,0\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n1,4,10,3,0,5,0,0,0,1,1,0,1,1\n0,0,3,2,0,2,2,1,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,1,7,4,4,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,4,3,2,5,1,0,1,1,1,1,1,0\n0,0,3,2,2,3,3,0,1,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,2,2,5,4,0,1,1,0,1,0\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n3,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n1,1,6,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,0,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n1,4,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,7,1,0,7,0,0,0,1,1,0,1,0\n0,5,1,2,2,9,3,0,1,1,1,0,1,0\n1,0,1,2,1,6,3,0,0,1,1,0,1,0\n0,3,3,2,0,8,0,0,0,1,1,0,1,1\n2,0,12,1,0,2,2,0,1,1,1,0,1,0\n1,4,0,3,1,12,5,0,0,1,1,0,1,0\n1,0,10,3,0,5,0,0,0,1,1,2,1,1\n1,2,3,2,0,2,2,0,1,1,1,0,1,1\n2,4,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,0,0,0,1,1,0,1,0\n2,0,1,2,1,2,5,4,0,1,1,1,1,0\n0,0,3,2,5,0,3,0,0,1,1,2,1,0\n2,0,12,1,0,2,2,0,1,1,1,2,1,1\n0,5,6,2,0,12,2,0,1,1,1,2,1,0\n0,0,1,2,3,4,5,0,0,1,1,0,1,0\n1,0,1,2,0,6,2,0,1,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,8,0,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,1,3,5,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,1,1,0\n2,1,8,0,0,9,2,0,1,1,1,0,1,0\n1,0,1,2,0,2,0,4,0,1,1,2,1,0\n0,3,0,3,2,5,3,0,0,1,1,2,1,0\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,6,2,2,8,3,0,0,1,1,0,1,0\n0,1,3,2,2,2,5,0,0,1,1,0,1,0\n1,0,3,2,1,4,3,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,2,1,1\n0,0,0,3,2,8,1,4,1,1,1,2,1,0\n0,0,2,1,0,10,2,0,1,1,1,0,1,0\n1,0,7,1,0,7,0,4,0,1,1,1,1,0\n0,0,3,2,2,1,5,0,0,1,1,2,1,0\n1,3,10,3,0,4,2,0,1,1,1,0,1,1\n2,0,0,3,1,3,3,0,0,1,1,2,1,0\n0,0,5,2,2,1,3,0,1,1,1,1,1,0\n2,5,0,3,2,4,3,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,1,1,1,1,1,0\n1,4,10,3,1,5,5,0,0,1,1,1,1,0\n2,5,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,2,1,2,12,1,0,0,1,1,2,1,0\n1,0,1,2,1,6,3,0,1,1,1,0,1,0\n1,1,4,3,2,5,3,0,1,1,1,1,1,1\n1,4,3,2,5,9,1,4,1,1,1,0,1,0\n1,0,3,2,0,10,2,4,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,14,0,2,7,3,0,1,1,1,1,1,0\n2,2,3,2,0,4,2,0,1,1,1,0,1,0\n2,0,1,2,0,6,2,0,1,1,1,2,1,0\n1,2,3,2,0,1,2,0,1,1,1,1,1,1\n2,0,3,2,5,7,3,0,1,1,1,0,1,0\n0,0,3,2,0,3,4,0,1,1,1,2,1,0\n1,0,3,2,0,2,2,1,1,1,1,0,1,0\n0,3,3,2,0,6,2,1,1,1,1,0,1,0\n1,0,12,1,1,2,5,0,0,1,1,2,1,0\n0,5,3,2,0,12,2,0,1,1,1,0,1,0\n0,2,13,3,0,5,2,0,1,1,1,1,1,0\n1,0,6,2,0,2,2,0,1,1,1,2,1,0\n0,0,3,2,0,7,2,4,1,1,1,0,1,0\n2,0,3,2,1,8,4,4,0,1,1,2,1,0\n0,0,3,2,2,1,1,4,1,1,1,0,1,0\n0,0,5,2,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,2,1,1\n1,5,6,2,2,1,3,0,1,1,1,0,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n2,0,3,2,4,3,3,0,0,1,1,0,1,1\n1,0,3,2,0,7,0,0,0,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,2,1,0\n1,5,1,2,1,8,5,0,0,1,1,2,1,0\n2,1,6,2,0,9,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,1,2,1,3,3,0,0,1,1,0,1,0\n0,0,3,2,2,7,3,0,0,1,1,2,1,0\n1,0,8,0,0,7,0,0,0,1,1,0,1,0\n0,0,1,2,2,5,1,0,1,1,1,1,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,0,1,4,0,1,1,1,1,1,0\n0,0,3,2,3,8,5,0,0,1,1,0,1,0\n2,4,1,2,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,0,3,2,1,8,4,0,0,1,1,0,1,0\n0,5,1,2,3,0,3,0,1,1,1,2,1,0\n0,3,5,2,0,12,2,0,1,1,1,1,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,0\n1,0,0,3,0,2,2,0,1,1,1,2,1,1\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,4,1,0,1,1,1,0,1,0\n1,3,8,0,5,6,5,0,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,2,1,1\n0,0,0,3,2,2,3,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,2,1,0\n0,4,5,2,2,5,3,0,0,1,1,0,1,0\n2,0,11,0,3,7,5,0,1,1,1,0,1,0\n2,1,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n2,1,3,2,0,3,0,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n0,0,1,2,2,5,1,0,0,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,2,1,1,0,1,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,2,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,10,4,1,1,1,1,0,1,0\n0,0,7,1,1,7,5,4,0,1,1,0,1,0\n3,0,3,2,4,8,3,0,0,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,1,1,1\n1,5,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,2,4,1,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,4,8,5,0,0,1,1,2,1,0\n1,4,3,2,2,2,5,0,0,1,1,2,1,0\n1,0,10,3,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n2,0,1,2,0,10,2,4,1,1,1,2,1,0\n0,0,1,2,0,4,2,4,1,1,1,0,1,1\n1,0,1,2,1,3,3,0,0,1,1,1,1,0\n2,0,3,2,0,4,2,0,1,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,12,1,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,2,1,1\n0,0,9,1,5,2,5,4,0,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,5,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,2,2,5,0,0,1,1,2,1,0\n1,0,3,2,3,8,5,0,0,1,1,2,1,0\n0,4,1,2,2,12,1,0,1,1,1,0,1,0\n0,0,0,3,0,5,0,0,0,1,1,0,1,1\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n2,2,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,1,4,5,0,0,1,1,0,1,1\n2,4,6,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,6,2,0,1,1,1,2,1,0\n1,1,1,2,2,5,3,0,1,1,1,2,1,1\n1,0,3,2,1,10,5,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,3,1,2,1,6,5,4,0,1,1,0,1,0\n0,4,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,5,2,2,8,3,0,0,1,1,2,1,0\n2,4,3,2,0,5,4,0,0,1,1,0,1,1\n1,5,10,3,0,5,0,4,0,1,1,0,1,1\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,1,4,3,0,0,1,1,0,1,0\n0,0,12,1,2,1,4,0,1,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,0,7,1,0,7,2,0,1,1,1,0,1,0\n0,4,10,3,2,5,1,0,0,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,1,0,3,1,5,5,0,0,1,1,1,1,0\n1,0,1,2,0,8,2,0,1,1,1,1,1,1\n2,0,3,2,1,2,5,4,0,1,1,2,1,0\n0,0,9,1,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n0,1,1,2,0,4,2,0,1,1,1,2,1,0\n0,1,3,2,1,1,3,0,1,1,1,1,1,1\n2,2,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,0,1,0,1,1,1,0,1,0\n0,0,1,2,2,1,5,0,1,1,1,0,1,0\n1,1,1,2,3,3,5,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n2,1,1,2,0,4,0,0,0,1,1,1,1,0\n1,0,1,2,1,3,5,0,1,1,1,1,1,1\n0,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,3,1,2,0,8,2,0,1,1,1,0,1,1\n2,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,5,2,0,7,2,0,1,1,1,1,1,1\n1,1,8,0,0,0,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,4,0,3,1,12,3,0,1,1,1,0,1,1\n1,1,3,2,0,1,2,0,1,1,1,0,1,1\n1,3,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,4,8,3,0,0,1,1,2,1,0\n2,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,4,10,3,1,5,3,2,0,1,1,1,1,1\n0,3,1,2,2,8,1,1,0,1,1,0,1,0\n0,1,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,4,10,3,0,12,2,0,1,1,1,1,1,1\n2,0,5,2,1,8,3,4,0,1,1,0,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,5,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,1,3,3,0,1,1,1,0,1,0\n0,0,1,2,3,1,3,0,1,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,5,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n1,0,14,0,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,2,8,3,0,0,1,1,1,1,0\n0,0,3,2,0,3,2,4,1,1,1,0,1,0\n1,5,7,1,3,7,3,4,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,5,3,2,2,10,3,4,1,1,1,0,1,0\n0,0,2,1,0,1,3,0,1,1,1,1,1,1\n1,5,0,3,2,4,3,0,1,1,1,1,1,0\n2,0,3,2,1,6,3,0,0,1,1,0,1,0\n3,0,1,2,1,8,3,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n3,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,3,10,3,0,4,2,0,1,1,1,0,1,1\n1,4,10,3,2,5,3,4,0,1,1,0,1,0\n1,0,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,10,2,0,1,1,1,0,1,0\n2,0,14,0,0,1,2,0,1,1,1,1,1,0\n1,5,0,3,0,5,2,0,1,1,1,1,1,1\n3,0,2,1,0,7,2,0,1,1,1,2,1,0\n0,0,3,2,0,6,2,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,0,1,2,1,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,6,1,4,1,1,1,0,1,0\n1,0,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,5,10,3,1,5,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,14,0,0,11,0,4,0,1,1,2,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,1,1,0\n0,0,5,2,2,3,1,4,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,1,7,3,2,1,1,1,0,1,0\n0,0,6,2,2,9,3,0,0,1,1,2,1,0\n0,0,0,3,2,0,1,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,4,1,1,1,0,1,0\n0,4,0,3,0,5,0,0,0,1,1,2,1,1\n2,0,3,2,4,8,3,0,0,1,1,0,1,0\n0,0,3,2,5,7,1,1,1,1,1,0,1,0\n1,4,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,1,8,3,4,0,1,1,0,1,0\n0,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,3,4,1,1,1,0,1,0\n1,5,13,3,0,5,2,0,1,1,1,1,1,1\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,1,8,1,0,0,1,1,0,1,0\n3,0,2,1,1,2,3,4,0,1,1,2,1,0\n0,0,2,1,2,6,1,0,1,1,1,0,1,0\n1,2,3,2,0,12,2,0,1,1,1,1,1,0\n1,0,0,3,2,2,3,0,1,1,1,1,1,0\n1,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,1,5,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,4,1,2,0,12,2,3,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,13,3,2,5,3,0,1,1,1,0,1,1\n2,0,1,2,0,1,2,4,1,1,1,0,1,1\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n2,0,8,0,4,7,3,0,0,1,1,2,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,0,3,2,1,6,1,0,0,1,1,0,1,0\n0,0,1,2,2,4,1,0,0,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,8,0,2,7,3,4,0,1,1,0,1,0\n2,0,4,3,4,5,5,0,0,1,1,2,1,0\n0,4,0,3,0,5,0,4,0,1,1,0,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,0,5,1,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,1,0,3,4,0,1,1,0,1,0\n2,0,1,2,1,4,3,0,0,1,1,1,1,1\n0,3,0,3,0,8,2,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,5,2,0,6,2,0,1,1,1,0,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,0\n1,5,3,2,1,2,5,0,0,1,1,2,1,0\n2,1,8,0,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,8,0,2,9,1,0,1,1,1,0,1,0\n0,0,12,1,2,3,4,4,0,1,1,0,1,0\n2,0,3,2,1,3,3,0,0,1,1,0,1,0\n0,0,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,0,3,0,4,0,4,0,1,1,1,1,1\n1,5,13,3,1,5,5,0,1,1,1,1,1,1\n0,4,3,2,2,8,1,0,1,1,1,0,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,2,0,3,0,0,1,1,0,1,0\n1,0,5,2,4,0,5,0,0,1,1,2,1,0\n1,0,6,2,1,1,3,0,1,1,1,0,1,0\n2,0,12,1,1,2,3,4,0,1,1,0,1,0\n1,3,3,2,3,4,3,4,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,0,5,2,0,1,1,1,2,1,1\n0,0,8,0,0,2,0,0,0,1,1,0,1,0\n0,0,3,2,2,10,1,0,0,1,1,2,1,0\n1,0,7,1,4,2,3,0,0,1,1,2,1,0\n0,0,5,2,2,3,3,0,1,1,1,0,1,0\n2,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,1,0,3,0,8,0,0,0,1,1,0,1,1\n0,1,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,3,2,5,0,0,1,1,2,1,0\n1,3,0,3,1,4,5,4,0,1,1,0,1,0\n2,0,1,2,4,8,3,0,0,1,1,0,1,0\n0,1,2,1,2,9,1,0,1,1,1,2,1,0\n1,4,6,2,0,12,2,0,1,1,1,0,1,1\n1,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,1,3,2,0,5,2,0,1,1,1,2,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,1,0,3,2,3,3,0,1,1,1,1,1,0\n2,2,0,3,3,4,3,0,1,1,1,0,1,0\n0,0,3,2,5,8,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,8,0,0,10,2,4,1,1,1,0,1,0\n2,0,8,0,4,2,5,4,0,1,1,2,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,1,3,2,2,1,5,0,1,1,1,1,1,1\n0,0,0,3,2,2,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,5,10,3,0,5,2,4,1,1,1,1,1,1\n1,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,3,0,3,0,12,2,0,1,1,1,1,1,1\n0,4,0,3,2,5,4,0,1,1,1,1,1,0\n0,0,14,0,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,1,9,5,0,0,1,1,1,1,0\n0,0,1,2,2,6,3,0,1,1,1,0,1,0\n0,4,10,3,1,8,5,0,0,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,5,13,3,0,5,2,0,1,1,1,1,1,1\n2,0,1,2,1,4,3,0,1,1,1,2,1,0\n0,0,2,1,2,7,3,0,1,1,1,1,1,0\n1,0,6,2,0,6,2,0,1,1,1,0,1,0\n1,4,10,3,1,5,5,0,0,1,1,0,1,0\n0,0,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,1,2,1,3,3,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,0,1,1,0,1,0\n0,0,3,2,2,9,1,1,1,1,1,0,1,0\n1,1,3,2,0,1,2,1,1,1,1,0,1,0\n2,5,3,2,0,12,2,0,1,1,1,2,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,4,5,1,0,0,1,1,0,1,0\n1,4,9,1,0,10,2,0,1,1,1,0,1,1\n0,0,0,3,2,2,3,1,1,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,5,3,3,0,1,1,1,0,1,0\n2,0,6,2,2,1,3,0,1,1,1,0,1,1\n0,0,1,2,2,1,3,4,1,1,1,2,1,0\n0,0,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n1,1,3,2,2,2,3,4,1,1,1,1,1,0\n0,0,1,2,1,5,3,0,0,1,1,0,1,0\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n0,2,3,2,3,3,5,0,0,1,1,2,1,0\n0,0,11,0,2,9,3,3,1,1,1,1,1,0\n2,0,12,1,0,4,2,0,1,1,1,1,1,0\n0,0,9,1,5,2,1,3,0,1,1,2,1,0\n0,0,10,3,1,5,3,0,0,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n2,3,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,0\n0,1,0,3,0,3,2,0,1,1,1,1,1,0\n1,1,0,3,2,1,3,0,1,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,1,10,3,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,4,1,1,1,0,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,1\n0,1,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,6,2,3,1,1,1,0,1,0\n1,0,10,3,1,5,3,0,0,1,1,2,1,0\n2,0,8,0,0,7,0,0,0,1,1,1,1,0\n0,0,0,3,2,3,1,0,1,1,1,1,1,0\n0,0,3,2,2,0,1,0,1,1,1,1,1,0\n2,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,1\n1,0,10,3,2,4,3,0,0,1,1,0,1,1\n1,1,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,1,1,1,1,0,1,0\n1,0,3,2,1,4,5,0,1,1,1,1,1,0\n1,0,3,2,1,2,5,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,5,2,2,3,3,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,1,6,3,0,1,1,1,2,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,0,6,2,1,3,5,0,0,1,1,0,1,0\n1,3,3,2,0,8,2,0,1,1,1,1,1,0\n2,0,14,0,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,0,9,2,0,1,1,1,1,1,1\n1,5,3,2,0,0,2,0,1,1,1,0,1,0\n2,5,6,2,0,1,2,4,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,2,2,4,4,1,1,1,2,1,0\n0,0,6,2,2,1,3,0,0,1,1,0,1,0\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,5,3,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,2,5,3,0,1,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,2,1,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,6,4,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,1,1,0\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,1,0,3,0,1,2,0,1,1,1,1,1,0\n0,1,0,3,0,3,0,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,3,3,0,0,1,1,0,1,0\n1,3,1,2,1,4,3,4,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,0,2,2,0,1,1,1,2,1,1\n1,0,1,2,0,2,0,0,0,1,1,2,1,0\n1,4,7,1,0,2,0,0,0,1,1,0,1,1\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,7,1,5,2,4,0,1,1,1,2,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,1,2,1,3,5,0,0,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n2,0,4,3,0,5,2,0,1,1,1,2,1,0\n0,0,1,2,2,1,3,4,1,1,1,0,1,1\n0,0,3,2,0,10,4,0,1,1,1,1,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,4,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,2,1,0,10,2,0,1,1,1,1,1,0\n2,1,8,0,0,9,2,0,1,1,1,1,1,1\n1,5,1,2,0,4,2,0,1,1,1,2,1,1\n1,0,3,2,3,7,5,4,0,1,1,0,1,0\n0,0,3,2,2,8,1,4,0,1,1,0,1,0\n2,0,1,2,4,5,3,0,0,1,1,2,1,0\n1,0,3,2,2,8,1,0,0,1,1,0,1,1\n1,0,0,3,1,4,3,4,0,1,1,0,1,1\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,1,3,2,1,4,3,0,0,1,1,2,1,1\n0,5,0,3,2,5,3,0,1,1,1,2,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,1,1,2,2,4,3,0,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,4,3,2,4,3,0,0,1,1,0,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,3,2,1,12,5,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,4,0,3,0,12,2,0,1,1,1,0,1,1\n0,0,1,2,0,3,2,4,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n1,0,5,2,2,3,5,4,0,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n0,0,6,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,1,1,2,4,2,5,0,0,1,1,2,1,0\n1,0,3,2,5,8,5,0,0,1,1,2,1,0\n1,0,3,2,3,1,3,0,1,1,1,2,1,0\n1,1,10,3,0,4,2,1,1,1,1,0,1,0\n2,0,8,0,0,9,2,0,1,1,1,0,1,1\n1,0,10,3,2,4,3,0,1,1,1,1,1,1\n1,0,1,2,0,0,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n0,0,2,1,3,2,1,0,0,1,1,0,1,0\n0,0,6,2,2,11,1,0,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,13,3,0,5,0,0,0,1,1,2,1,1\n2,0,3,2,0,3,0,0,0,1,1,2,1,0\n1,2,1,2,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,0,3,2,1,1,1,1,0,1,0\n0,1,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n2,0,0,3,0,8,2,0,1,1,1,2,1,0\n1,0,3,2,3,6,3,4,1,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,1,10,3,0,1,1,1,1,1,0\n1,3,10,3,0,5,2,1,1,1,1,0,1,1\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n0,4,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,4,1,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,1,2,0,5,0,0,0,1,1,0,1,0\n2,0,1,2,0,4,2,4,1,1,1,1,1,1\n1,0,3,2,1,2,4,4,1,1,1,2,1,0\n1,1,12,1,0,9,2,0,1,1,1,1,1,0\n1,5,1,2,1,8,3,4,0,1,1,0,1,0\n1,0,10,3,1,4,5,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,1,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n3,5,13,3,2,5,4,0,0,1,1,2,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,2,7,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,2,1,2,11,1,0,0,1,1,0,1,0\n0,0,7,1,1,5,3,4,0,1,1,0,1,0\n1,0,10,3,1,8,3,0,0,1,1,2,1,0\n1,0,1,2,3,8,5,4,0,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,2,5,1,0,1,1,1,2,1,0\n1,0,1,2,2,8,5,1,0,1,1,0,1,0\n2,0,12,1,4,7,5,4,0,1,1,0,1,0\n1,0,14,0,0,1,2,0,1,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,3,8,5,0,0,1,1,0,1,0\n1,0,11,0,2,2,3,0,1,1,1,1,1,0\n1,5,0,3,0,4,2,0,1,1,1,0,1,1\n2,0,9,1,0,9,2,0,1,1,1,1,1,0\n1,0,4,3,0,5,0,0,0,1,1,2,1,1\n0,0,3,2,2,2,5,4,0,1,1,0,1,0\n2,2,10,3,1,5,3,0,1,1,1,1,1,1\n1,0,13,3,0,5,2,1,1,1,1,1,1,0\n0,0,3,2,2,8,1,1,0,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n1,3,1,2,2,8,3,0,1,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,1,3,2,1,1,3,0,1,1,1,0,1,0\n1,5,10,3,1,4,5,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,1,2,3,0,1,1,1,2,1,0\n2,0,3,2,0,2,2,4,1,1,1,0,1,0\n2,2,0,3,1,4,5,0,0,1,1,1,1,0\n2,0,2,1,2,7,3,4,0,1,1,0,1,0\n0,0,0,3,2,2,3,0,0,1,1,1,1,0\n1,0,6,2,0,6,2,0,1,1,1,2,1,0\n0,0,1,2,2,0,1,0,1,1,1,1,1,0\n0,0,0,3,0,2,0,0,0,1,1,0,1,0\n1,3,0,3,1,5,5,0,0,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,0,10,2,4,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,2,1,2,2,1,4,0,1,1,0,1,0\n0,0,1,2,2,9,5,0,1,1,1,1,1,0\n1,0,6,2,1,5,5,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,1,2,3,8,5,0,0,1,1,2,1,0\n1,2,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,5,2,2,8,3,4,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,5,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,4,2,5,0,0,1,1,2,1,0\n0,2,3,2,2,4,1,0,1,1,1,0,1,0\n1,3,1,2,3,4,3,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,10,3,2,4,3,0,1,1,1,2,1,0\n3,0,8,0,0,7,2,3,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,0,3,2,8,3,1,0,1,1,0,1,0\n0,0,5,2,2,0,3,0,0,1,1,0,1,0\n1,4,6,2,1,8,5,0,0,1,1,1,1,0\n0,0,1,2,1,3,1,1,0,1,1,2,1,0\n0,0,1,2,2,3,1,1,1,1,1,2,1,0\n1,0,13,3,0,4,2,0,1,1,1,1,1,1\n0,0,9,1,2,3,1,0,1,1,1,2,1,0\n1,0,0,3,2,2,3,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,9,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,5,1,2,2,4,3,0,0,1,1,0,1,0\n0,0,0,3,2,4,1,1,1,1,1,0,1,0\n2,1,4,3,0,5,2,0,1,1,1,1,1,1\n2,0,2,1,0,2,2,0,1,1,1,2,1,0\n2,0,3,2,4,3,5,0,0,1,1,0,1,0\n1,0,6,2,0,8,2,0,1,1,1,0,1,1\n1,4,5,2,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,1,3,4,0,0,1,1,0,1,0\n1,4,0,3,2,8,5,0,0,1,1,2,1,0\n1,5,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n2,1,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,8,1,0,1,1,1,2,1,0\n1,0,1,2,0,2,0,0,0,1,1,2,1,0\n1,1,1,2,2,9,1,0,1,1,1,1,1,0\n1,0,3,2,1,2,5,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,2,1,0\n2,0,3,2,0,8,2,0,1,1,1,2,1,0\n1,3,10,3,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,3,4,4,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,0,3,2,2,6,5,0,1,1,1,0,1,0\n0,0,1,2,2,5,3,4,0,1,1,1,1,0\n1,3,5,2,0,1,2,0,1,1,1,0,1,1\n0,0,6,2,2,0,1,0,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,5,13,3,0,5,2,0,1,1,1,0,1,1\n1,1,13,3,2,5,3,0,1,1,1,1,1,1\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n2,2,1,2,0,3,2,0,1,1,1,0,1,0\n2,1,3,2,0,3,0,0,0,1,1,1,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,1\n0,0,9,1,2,6,1,0,1,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,1,1,1,1,0,1,1\n0,0,10,3,2,5,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,2,8,1,0,1,1,1,2,1,0\n1,0,10,3,0,4,2,1,1,1,1,0,1,1\n0,0,3,2,3,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n0,0,0,3,2,4,5,0,0,1,1,0,1,0\n2,0,6,2,1,8,3,0,0,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,5,1,2,2,2,1,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n1,0,3,2,1,4,5,0,0,1,1,0,1,0\n2,0,10,3,1,5,3,0,0,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,5,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,3,0,0,1,1,1,1,0\n2,4,3,2,1,10,5,0,1,1,1,2,1,0\n0,2,5,2,2,5,4,4,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,4,3,5,0,0,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,9,1,2,3,3,4,1,1,1,0,1,0\n1,5,5,2,0,0,2,0,1,1,1,2,1,1\n0,0,3,2,2,7,5,0,1,1,1,0,1,0\n1,0,10,3,0,8,0,0,0,1,1,2,1,1\n1,1,10,3,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,4,0,1,1,2,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n2,0,0,3,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n0,5,10,3,1,8,3,0,0,1,1,2,1,0\n1,5,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n0,0,1,2,2,5,3,3,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,4,10,3,0,5,0,0,0,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,5,3,5,3,0,1,1,2,1,0\n0,0,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,0,8,1,0,0,1,1,0,1,0\n1,0,0,3,2,4,3,0,0,1,1,2,1,0\n1,0,1,2,1,1,3,0,1,1,1,0,1,0\n0,4,3,2,2,12,3,0,1,1,1,0,1,0\n1,0,3,2,0,5,2,1,1,1,1,2,1,1\n1,4,1,2,0,1,2,0,1,1,1,1,1,0\n2,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,5,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,11,0,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,5,7,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n0,4,2,1,2,8,1,0,0,1,1,2,1,0\n0,5,13,3,2,5,3,0,0,1,1,1,1,0\n0,0,12,1,3,3,3,0,0,1,1,2,1,0\n1,3,5,2,0,8,2,0,1,1,1,0,1,1\n1,0,1,2,5,1,5,0,0,1,1,1,1,0\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,12,1,1,1,1,1,2,1,0\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,0,1,0\n1,4,0,3,3,5,5,0,1,1,1,0,1,0\n1,0,3,2,1,7,3,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,2,0,3,2,8,1,0,0,1,1,1,1,0\n0,0,12,1,2,3,4,4,0,1,1,2,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,0,2,0,1,1,1,0,1,1\n0,1,3,2,0,5,2,0,1,1,1,2,1,0\n1,0,0,3,1,8,3,0,0,1,1,0,1,0\n1,1,0,3,1,8,3,0,1,1,1,0,1,0\n1,0,1,2,1,2,5,0,0,1,1,2,1,0\n1,0,1,2,0,2,1,0,0,1,1,0,1,1\n1,0,2,1,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,4,1,1,0,0,1,1,0,1,0\n2,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,0,2,1,2,2,3,0,0,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,0,0,3,0,2,2,0,1,1,1,0,1,0\n1,4,5,2,0,4,2,0,1,1,1,0,1,1\n1,2,1,2,0,3,2,0,1,1,1,2,1,1\n1,0,10,3,1,4,3,0,0,1,1,1,1,1\n0,0,3,2,0,6,0,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,2,1,0\n0,0,10,3,2,4,3,0,0,1,1,2,1,0\n1,0,0,3,2,3,3,0,0,1,1,2,1,0\n0,0,6,2,1,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,5,2,0,4,2,0,1,1,1,0,1,1\n2,0,1,2,2,3,3,4,1,1,1,1,1,0\n0,0,1,2,0,8,1,0,0,1,1,2,1,0\n1,0,10,3,2,5,3,0,0,1,1,2,1,1\n1,0,6,2,1,10,3,0,1,1,1,1,1,1\n1,0,1,2,4,8,5,4,0,1,1,0,1,0\n0,0,9,1,2,8,1,0,0,1,1,2,1,0\n1,5,2,1,3,0,3,4,1,1,1,0,1,0\n1,0,3,2,3,2,5,4,0,1,1,2,1,0\n2,5,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,9,1,2,5,1,0,1,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,5,4,1,1,1,0,1,0\n1,0,5,2,0,4,2,0,1,1,1,0,1,0\n0,0,5,2,2,3,3,0,1,1,1,2,1,0\n2,0,0,3,0,4,0,0,0,1,1,0,1,0\n0,0,12,1,2,7,1,0,0,1,1,0,1,0\n1,0,3,2,1,1,3,2,1,1,1,1,1,0\n1,0,8,0,5,11,5,0,0,1,1,2,1,0\n0,0,3,2,0,5,1,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,3,9,3,0,1,1,1,1,1,0\n0,0,1,2,0,3,0,0,0,1,1,0,1,0\n1,0,0,3,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n2,3,1,2,1,2,3,0,1,1,1,0,1,0\n2,0,8,0,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,4,0,1,1,1,1,1,0\n1,3,3,2,2,1,1,4,0,1,1,0,1,0\n0,1,1,2,2,2,1,0,0,1,1,2,1,0\n2,0,10,3,0,1,0,1,0,1,1,2,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,3,0,3,0,1,2,0,1,1,1,0,1,1\n1,3,1,2,1,7,5,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,4,1,1,1,2,1,0\n0,0,14,0,0,7,2,2,1,1,1,0,1,0\n0,0,6,2,1,2,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,4,0,0,1,1,0,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,5,2,1,2,5,0,0,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,3,0,3,4,8,3,0,1,1,1,0,1,1\n2,0,3,2,1,8,3,0,1,1,1,1,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n2,5,9,1,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,5,4,0,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,2,1,0\n0,1,6,2,0,9,2,0,1,1,1,1,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,2,9,5,0,1,1,1,1,1,0\n1,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,0,5,2,2,3,3,0,1,1,1,1,1,0\n1,4,10,3,4,5,5,0,0,1,1,2,1,0\n0,0,3,2,3,7,5,4,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,2,7,3,4,1,1,1,2,1,0\n1,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,1\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,5,0,3,2,5,3,0,0,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n2,2,3,2,0,4,2,0,1,1,1,2,1,1\n1,0,2,1,1,1,3,0,1,1,1,0,1,0\n2,1,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,12,1,2,3,1,4,0,1,1,2,1,0\n2,1,3,2,4,8,5,0,0,1,1,0,1,1\n2,0,3,2,1,2,3,0,1,1,1,2,1,0\n0,0,12,1,2,2,1,4,1,1,1,2,1,0\n1,1,10,3,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,4,2,1,1,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,4,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,0,5,0,1,0,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,1,2,2,1,3,4,1,1,1,0,1,0\n0,0,3,2,1,8,5,0,0,1,1,2,1,0\n1,0,0,3,2,1,3,0,1,1,1,1,1,1\n0,0,2,1,2,8,3,0,1,1,1,0,1,0\n0,0,12,1,2,11,1,0,0,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,4,3,2,1,12,1,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,1,1,1,1,0,1,1\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,4,3,2,1,1,1,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,4,1,1,1,1,1,1\n2,0,3,2,1,4,4,0,0,1,1,1,1,0\n1,2,1,2,0,8,0,0,0,1,1,0,1,1\n1,0,3,2,3,1,5,0,0,1,1,2,1,0\n0,0,2,1,2,3,1,0,0,1,1,1,1,0\n0,0,6,2,2,7,1,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n2,1,13,3,0,3,2,0,1,1,1,0,1,1\n2,1,1,2,4,1,3,0,0,1,1,2,1,0\n0,0,1,2,2,4,1,4,1,1,1,0,1,0\n0,3,10,3,0,8,2,0,1,1,1,1,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n0,0,12,1,2,9,1,0,1,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,3,2,1,0,1,1,1,2,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,5,0,0,1,1,2,1,0\n1,0,1,2,1,8,3,0,0,1,1,1,1,0\n1,0,3,2,3,2,5,4,0,1,1,2,1,0\n1,4,6,2,2,12,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,3,3,2,0,8,0,0,0,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n1,5,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,3,3,3,0,0,1,1,2,1,0\n0,0,0,3,2,8,5,4,0,1,1,0,1,0\n1,1,3,2,1,3,5,4,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,5,1,2,2,5,3,0,1,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,1,1,2,2,5,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n3,0,12,1,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,1,3,1,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,0,2,2,0,1,1,1,1,1,1\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,4,1,1,1,0,1,1\n1,3,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,0,1,0,1,1,1,1,1,0\n2,1,3,2,1,1,5,0,0,1,1,0,1,0\n0,0,3,2,0,7,0,3,0,1,1,0,1,0\n1,1,12,1,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n0,1,3,2,1,9,3,0,1,1,1,0,1,0\n0,0,5,2,2,6,1,0,1,1,1,2,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,6,2,0,2,4,0,0,1,1,0,1,0\n2,0,1,2,0,3,2,4,1,1,1,0,1,0\n0,1,1,2,2,1,1,0,0,1,1,2,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,7,2,0,1,1,1,1,1,0\n1,1,13,3,0,5,2,0,1,1,1,0,1,0\n2,0,3,2,4,1,5,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n2,5,3,2,4,8,3,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,1,3,2,1,4,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,1,1,0\n1,0,3,2,2,7,3,0,0,1,1,2,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,1\n1,2,10,3,0,5,0,0,0,1,1,0,1,1\n1,0,0,3,2,0,1,0,1,1,1,0,1,0\n1,0,6,2,0,6,2,0,1,1,1,1,1,0\n1,2,5,2,2,3,3,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n2,1,4,3,0,5,2,0,1,1,1,2,1,1\n1,4,4,3,3,5,1,4,0,1,1,0,1,0\n0,0,1,2,1,3,5,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,1,1,0\n1,5,3,2,1,4,5,0,0,1,1,1,1,0\n0,1,12,1,2,2,1,0,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n2,0,8,0,1,7,3,0,1,1,1,0,1,0\n1,0,9,1,0,1,2,0,1,1,1,1,1,0\n1,0,2,1,0,6,0,0,0,1,1,2,1,0\n0,0,1,2,0,7,2,0,1,1,1,1,1,0\n2,0,3,2,1,10,3,0,1,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n2,0,3,2,4,2,5,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,1,1,1,1,1,1,0\n0,0,1,2,2,8,1,4,0,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,6,2,4,0,0,1,1,2,1,0\n2,0,9,1,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,1,2,3,0,1,1,1,1,1,0\n1,0,8,0,0,7,2,4,1,1,1,0,1,0\n2,0,7,1,0,6,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,2,8,4,0,1,1,1,2,1,0\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n0,0,3,2,2,6,1,0,0,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,1,1,2,2,1,3,0,1,1,1,2,1,1\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n0,0,9,1,2,10,3,0,1,1,1,0,1,0\n0,4,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,4,1,1,1,2,1,0\n1,0,0,3,3,5,5,0,1,1,1,0,1,0\n0,5,10,3,2,8,3,4,0,1,1,0,1,0\n0,0,2,1,2,2,1,4,1,1,1,2,1,0\n2,0,3,2,1,4,5,0,0,1,1,0,1,0\n0,0,10,3,2,5,1,0,1,1,1,1,1,1\n1,0,7,1,2,7,3,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,4,1,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n2,0,7,1,0,9,2,4,1,1,1,0,1,0\n1,0,7,1,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,2,2,4,0,1,1,1,2,1,0\n0,5,1,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,0,0,0,1,1,0,1,1\n1,3,3,2,0,1,2,0,1,1,1,0,1,0\n1,2,3,2,0,1,2,0,1,1,1,2,1,0\n2,0,8,0,0,10,2,0,1,1,1,0,1,0\n0,5,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,9,0,0,0,1,1,2,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n0,1,0,3,2,5,3,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,4,0,1,1,1,1,1,0\n1,4,0,3,1,5,5,0,0,1,1,1,1,0\n1,5,3,2,0,12,2,0,1,1,1,2,1,0\n0,0,1,2,0,6,2,0,1,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,1,8,0,0,9,2,0,1,1,1,0,1,0\n1,0,6,2,1,8,5,0,0,1,1,2,1,0\n0,0,2,1,2,11,1,0,0,1,1,2,1,0\n1,4,0,3,0,12,2,0,1,1,1,0,1,1\n1,5,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,1,2,2,4,3,0,0,1,1,1,1,0\n1,3,0,3,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,2,2,5,3,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n3,0,8,0,4,11,5,0,0,1,1,2,1,0\n0,0,3,2,1,4,3,0,1,1,1,0,1,0\n1,2,3,2,0,7,2,0,1,1,1,1,1,0\n2,0,2,1,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,4,3,2,2,5,5,4,0,1,1,2,1,0\n2,4,10,3,2,4,4,0,0,1,1,1,1,1\n1,4,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,1,13,3,1,3,3,0,1,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,0,3,1,5,5,0,0,1,1,1,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,4,0,0,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,2,8,4,0,0,1,1,0,1,0\n1,0,1,2,2,8,3,0,0,1,1,1,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,10,3,0,3,2,0,1,1,1,0,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,14,0,2,3,1,1,0,1,1,2,1,0\n1,4,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,1,4,1,1,1,2,1,0\n2,0,5,2,0,7,2,0,1,1,1,0,1,1\n1,1,12,1,0,2,0,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,12,1,2,2,5,0,0,1,1,2,1,0\n1,4,0,3,0,5,0,0,0,1,1,0,1,1\n2,3,3,2,4,4,3,0,1,1,1,2,1,0\n1,4,10,3,0,5,0,0,0,1,1,0,1,1\n2,0,3,2,4,8,5,0,0,1,1,0,1,0\n1,5,10,3,2,5,1,0,0,1,1,2,1,0\n0,5,1,2,2,7,1,0,0,1,1,0,1,0\n1,4,1,2,1,2,5,0,0,1,1,1,1,0\n0,4,5,2,0,8,2,0,1,1,1,0,1,0\n1,4,1,2,0,1,2,4,1,1,1,0,1,0\n0,0,0,3,2,3,1,1,1,1,1,0,1,0\n1,0,6,2,1,5,3,0,0,1,1,2,1,0\n0,1,9,1,0,1,3,0,1,1,1,0,1,0\n0,0,14,0,0,6,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,4,1,1,1,2,1,0\n1,0,2,1,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,2,4,1,0,1,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,2,1,0\n0,0,6,2,0,3,2,0,1,1,1,1,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,1,3,5,0,0,1,1,1,1,0\n1,4,3,2,0,2,2,0,1,1,1,0,1,0\n1,4,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,6,2,4,1,1,1,0,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n0,0,2,1,1,6,3,0,1,1,1,1,1,0\n1,0,3,2,2,8,4,0,0,1,1,2,1,0\n0,0,5,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,5,5,1,1,1,1,2,1,0\n0,0,0,3,2,10,3,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,3,4,3,0,5,2,0,1,1,1,0,1,1\n1,0,6,2,0,8,2,0,1,1,1,0,1,0\n0,0,6,2,0,8,2,0,1,1,1,0,1,0\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,10,5,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,8,0,0,9,2,0,1,1,1,1,1,0\n2,1,10,3,1,5,3,0,1,1,1,1,1,1\n0,0,1,2,1,3,5,0,0,1,1,0,1,0\n1,5,0,3,2,5,3,0,1,1,1,2,1,0\n1,0,1,2,1,7,5,0,0,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,1,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,10,3,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,4,1,2,1,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,3,5,4,0,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,0,0,0,1,1,2,1,1\n1,4,3,2,0,1,2,4,1,1,1,0,1,1\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n1,0,1,2,0,5,2,0,1,1,1,1,1,1\n0,0,6,2,0,10,2,0,1,1,1,0,1,0\n1,1,0,3,2,3,3,0,0,1,1,1,1,0\n0,0,0,3,0,8,2,0,1,1,1,2,1,0\n2,2,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,2,5,2,0,4,0,0,0,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n1,0,0,3,2,5,3,0,1,1,1,0,1,1\n2,0,3,2,0,6,2,0,1,1,1,0,1,1\n0,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,1,6,2,2,1,1,0,1,1,1,1,1,0\n1,4,10,3,0,5,0,0,0,1,1,1,1,1\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,3,0,3,0,8,2,0,1,1,1,1,1,1\n3,2,0,3,0,4,2,0,1,1,1,0,1,1\n3,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,5,2,3,1,0,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,0,3,3,0,3,1,1,1,1,0,1,0\n0,0,6,2,0,5,2,0,1,1,1,1,1,1\n0,4,0,3,2,5,1,0,0,1,1,2,1,0\n2,0,0,3,2,2,3,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n2,1,3,2,4,8,4,0,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,1,1,2,1,5,5,4,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,14,0,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,1,5,5,0,0,1,1,0,1,0\n0,0,1,2,0,2,2,0,1,1,1,2,1,0\n1,0,3,2,1,3,5,0,0,1,1,2,1,0\n2,0,12,1,3,7,3,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,2,2,3,1,0,1,1,2,1,1\n0,0,3,2,2,3,1,4,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,7,1,0,1,2,0,1,1,1,1,1,0\n1,3,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,1,2,3,0,0,1,1,1,1,0\n2,0,3,2,0,0,2,4,1,1,1,0,1,1\n0,0,12,1,2,2,5,0,1,1,1,1,1,0\n0,4,0,3,0,5,0,0,0,1,1,2,1,1\n0,0,3,2,2,5,1,4,1,1,1,0,1,0\n0,0,9,1,2,11,1,0,1,1,1,2,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,3,0,0,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,1,3,3,1,1,1,1,1,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,2,1,2,7,3,0,0,1,1,2,1,0\n1,0,1,2,1,8,4,0,0,1,1,0,1,0\n2,0,15,0,2,7,3,0,1,1,1,2,1,0\n0,5,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,1,4,3,0,0,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,3,1,5,0,0,1,1,0,1,0\n0,0,3,2,1,8,3,0,0,1,1,0,1,0\n2,0,7,1,4,3,3,0,0,1,1,0,1,0\n2,0,3,2,4,8,4,0,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,4,0,1,1,0,1,0\n1,0,3,2,1,3,3,0,1,1,1,2,1,0\n0,1,1,2,0,1,2,0,1,1,1,1,1,1\n0,1,3,2,2,9,1,0,1,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,0,2,2,4,1,1,1,2,1,0\n1,0,1,2,1,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,4,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,5,0,0,1,1,2,1,0\n0,0,0,3,0,8,2,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,4,0,3,2,5,3,2,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,1,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,0,3,2,6,1,0,0,1,1,2,1,0\n0,0,3,2,0,3,2,4,1,1,1,2,1,0\n2,0,3,2,0,3,0,0,0,1,1,2,1,0\n1,0,1,2,1,8,5,0,0,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,1,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n2,1,1,2,4,4,5,0,0,1,1,1,1,0\n1,0,3,2,4,7,3,0,1,1,1,0,1,0\n0,0,14,0,2,2,4,0,1,1,1,1,1,0\n0,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,5,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,10,3,2,4,3,0,0,1,1,1,1,1\n0,0,0,3,0,5,0,0,0,1,1,2,1,0\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n3,0,11,0,0,5,2,0,1,1,1,2,1,0\n1,0,3,2,3,2,4,4,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,2,2,4,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,0,5,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,8,2,0,1,1,1,1,1,1\n2,0,1,2,0,5,2,0,1,1,1,0,1,1\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,1,1,1,2,1,0\n0,0,3,2,2,7,3,0,0,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,1\n1,0,3,2,3,2,5,4,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,2,1,0,7,2,0,1,1,1,0,1,0\n1,1,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,0,3,0,10,2,0,1,1,1,2,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,4,1,3,0,1,1,0,1,0\n1,0,5,2,1,5,5,0,1,1,1,2,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,1\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n0,0,12,1,2,6,4,0,1,1,1,0,1,0\n0,0,1,2,1,3,5,0,0,1,1,2,1,0\n0,0,12,1,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,2,1,1,1,0,1,0\n0,0,1,2,2,8,5,3,0,1,1,2,1,0\n0,0,5,2,0,3,2,1,1,1,1,1,1,0\n1,0,1,2,0,8,0,0,0,1,1,2,1,0\n1,0,3,2,2,8,1,1,0,1,1,0,1,0\n1,2,1,2,1,4,3,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,2,1,1\n2,0,11,0,1,11,3,0,0,1,1,2,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,3,3,2,4,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,1\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,4,0,0,1,1,0,1,0\n1,0,5,2,0,8,2,0,1,1,1,0,1,1\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n1,1,1,2,0,4,2,0,1,1,1,1,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,9,1,2,3,3,0,0,1,1,1,1,0\n0,0,3,2,0,7,0,0,0,1,1,1,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n0,4,1,2,0,12,2,0,1,1,1,0,1,1\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,6,2,2,4,3,0,0,1,1,2,1,0\n0,0,5,2,0,7,2,0,1,1,1,0,1,1\n1,0,0,3,2,4,3,0,1,1,1,0,1,1\n2,0,3,2,0,12,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,0,3,0,0,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n1,0,1,2,0,4,0,0,0,1,1,2,1,1\n1,0,1,2,5,5,1,4,0,1,1,0,1,0\n1,0,12,1,0,7,2,0,1,1,1,0,1,1\n0,1,0,3,1,4,3,0,1,1,1,2,1,0\n0,4,0,3,0,5,0,4,0,1,1,0,1,0\n1,0,3,2,1,8,5,4,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,5,4,3,0,0,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,1,2,1,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,3,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,2,3,0,1,1,1,0,1,0\n0,0,10,3,1,5,5,0,0,1,1,0,1,0\n1,0,0,3,1,5,5,0,1,1,1,1,1,1\n1,4,10,3,1,4,3,0,0,1,1,0,1,0\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,1,0,3,2,3,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,2,0,3,0,3,2,0,1,1,1,1,1,0\n2,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,4,3,2,0,10,2,4,1,1,1,0,1,0\n0,4,1,2,0,5,2,0,1,1,1,0,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,1,2,0,9,2,0,1,1,1,0,1,0\n2,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,3,0,3,2,5,3,0,1,1,1,0,1,0\n0,1,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,2,4,3,0,1,1,1,1,1,1\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,4,10,3,1,5,3,0,0,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,3,2,1,8,5,0,0,1,1,2,1,0\n1,0,3,2,1,3,3,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,1,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,4,1,0,1,1,1,2,1,0\n0,2,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,1,3,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,1,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,5,2,1,5,5,0,0,1,1,1,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n0,0,6,2,0,5,0,0,0,1,1,0,1,1\n2,5,0,3,1,8,5,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,10,3,0,4,2,0,1,1,1,0,1,0\n1,0,0,3,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,0,8,2,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,2,1,2,4,1,0,0,1,1,2,1,0\n1,0,6,2,0,0,2,0,1,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,4,3,3,0,0,1,1,0,1,0\n1,0,1,2,1,7,3,4,0,1,1,0,1,0\n1,0,0,3,0,4,2,1,1,1,1,1,1,1\n1,4,0,3,2,12,3,0,1,1,1,1,1,0\n1,0,1,2,2,8,5,4,0,1,1,0,1,0\n3,1,3,2,0,3,2,0,1,1,1,2,1,0\n0,0,6,2,0,8,0,0,0,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n1,0,9,1,2,10,3,1,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,1,3,2,0,5,2,0,1,1,1,0,1,0\n1,1,1,2,1,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,0,1,1,2,1,0\n1,0,7,1,1,2,3,0,0,1,1,2,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n1,4,1,2,1,12,3,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,1,1,0\n1,0,4,3,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,4,1,1,1,1,1,1\n1,0,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,4,7,1,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,2,1,5,0,1,1,1,0,1,0\n1,5,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n2,5,10,3,1,5,3,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,8,0,2,6,5,0,1,1,1,0,1,0\n2,2,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,8,0,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,2,3,5,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,1,3,2,0,3,2,0,1,1,1,0,1,0\n1,1,0,3,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,1,10,3,0,1,1,1,1,1,0\n0,0,0,3,2,6,3,0,1,1,1,0,1,0\n1,1,13,3,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,0,5,2,2,2,4,1,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,8,0,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,1,1,0\n0,0,2,1,3,2,5,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,4,5,5,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,5,2,2,5,3,1,1,1,1,0,1,0\n0,0,5,2,2,8,3,0,0,1,1,2,1,0\n0,3,1,2,0,4,0,4,0,1,1,0,1,1\n0,0,10,3,3,4,3,0,1,1,1,1,1,1\n1,0,2,1,0,3,2,0,1,1,1,0,1,1\n0,5,1,2,2,2,1,4,1,1,1,2,1,0\n3,4,3,2,1,8,3,0,0,1,1,2,1,0\n2,3,10,3,0,4,2,1,1,1,1,1,1,1\n1,1,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,4,10,3,2,5,3,0,1,1,1,1,1,0\n0,0,6,2,2,1,5,4,0,1,1,0,1,0\n1,3,3,2,1,8,5,4,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,1,1,1,1,1,0\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,3,1,2,2,2,5,4,0,1,1,0,1,0\n2,0,0,3,0,10,2,0,1,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n2,0,0,3,1,3,3,0,1,1,1,1,1,0\n2,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,6,2,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,6,1,0,1,1,1,0,1,0\n1,0,10,3,1,3,3,0,1,1,1,1,1,1\n0,0,0,3,1,3,3,0,1,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,5,1,2,1,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n2,0,1,2,0,5,2,0,1,1,1,0,1,1\n0,1,6,2,0,9,2,0,1,1,1,1,1,0\n2,4,3,2,4,2,3,0,0,1,1,2,1,0\n0,5,1,2,2,0,1,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,4,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,5,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,1,7,4,0,1,1,1,0,1,0\n1,0,3,2,2,1,3,4,1,1,1,0,1,0\n0,0,3,2,2,2,1,4,1,1,1,0,1,0\n1,0,0,3,1,4,3,0,1,1,1,0,1,1\n0,3,1,2,2,0,1,0,0,1,1,2,1,0\n0,0,4,3,0,5,0,0,0,1,1,1,1,1\n1,0,3,2,3,2,3,0,0,1,1,0,1,0\n0,4,0,3,1,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,1,3,2,0,9,2,0,1,1,1,1,1,1\n1,0,3,2,3,1,5,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,6,2,1,2,5,0,0,1,1,0,1,0\n1,0,10,3,0,5,0,0,0,1,1,1,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,1,12,1,2,9,1,0,1,1,1,2,1,0\n0,3,3,2,0,8,2,4,1,1,1,0,1,0\n0,0,12,1,2,7,1,0,0,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,6,2,2,1,5,0,1,1,1,0,1,0\n2,0,8,0,2,2,4,0,1,1,1,2,1,0\n3,0,11,0,4,11,3,4,0,1,1,2,1,0\n2,0,1,2,0,12,2,0,1,1,1,0,1,1\n0,0,5,2,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,3,3,5,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,1,0,1,1,2,1,0\n2,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,6,2,0,8,2,0,1,1,1,0,1,0\n2,1,4,3,0,5,2,0,1,1,1,2,1,0\n1,0,3,2,4,1,5,1,0,1,1,0,1,0\n1,0,13,3,0,4,2,1,1,1,1,0,1,1\n1,0,3,2,2,8,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n2,0,0,3,0,3,0,0,0,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,2,3,0,0,1,1,2,1,0\n1,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,1,3,2,1,9,1,0,1,1,1,1,1,0\n1,0,1,2,1,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,7,5,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,6,2,2,5,5,4,0,1,1,2,1,0\n2,1,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,3,2,2,7,4,0,1,1,1,0,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n2,0,0,3,0,0,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n0,5,1,2,1,8,1,0,1,1,1,2,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n2,0,1,2,4,2,3,0,0,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,2,0,3,2,5,3,3,1,1,1,1,1,0\n0,5,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,1,5,3,0,0,1,1,0,1,0\n2,5,7,1,0,9,2,0,1,1,1,0,1,0\n0,4,6,2,2,1,1,0,0,1,1,0,1,0\n0,1,1,2,2,4,1,1,1,1,1,1,1,0\n1,5,13,3,1,5,5,0,1,1,1,1,1,1\n1,0,0,3,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,0,0,0,1,1,0,1,1\n0,1,5,2,2,2,1,0,1,1,1,1,1,0\n1,0,3,2,1,8,5,0,0,1,1,1,1,0\n1,0,0,3,0,9,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,1,11,0,0,3,2,0,1,1,1,2,1,0\n0,0,7,1,2,2,3,0,1,1,1,0,1,0\n0,0,7,1,3,2,5,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,2,1,1,10,1,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n2,0,12,1,0,10,2,0,1,1,1,0,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n1,3,0,3,2,0,3,0,1,1,1,1,1,0\n0,0,0,3,2,4,4,0,0,1,1,0,1,0\n0,0,2,1,2,3,5,0,0,1,1,2,1,0\n1,2,5,2,0,3,2,0,1,1,1,1,1,1\n1,0,12,1,3,4,3,4,1,1,1,1,1,0\n0,0,6,2,2,2,5,4,1,1,1,0,1,0\n0,5,1,2,2,4,1,0,1,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,0,3,2,0,1,1,1,2,1,0\n0,4,0,3,2,5,1,0,0,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,5,3,5,0,0,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,0\n1,0,1,2,1,3,5,0,0,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,5,3,2,0,9,2,0,1,1,1,0,1,0\n2,0,3,2,0,12,2,0,1,1,1,2,1,0\n1,0,9,1,0,8,2,0,1,1,1,1,1,0\n1,0,0,3,2,5,1,0,1,1,1,0,1,0\n3,2,2,1,0,4,2,0,1,1,1,2,1,0\n0,2,6,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,1,8,3,0,1,1,1,0,1,0\n1,1,8,0,0,7,2,0,1,1,1,1,1,1\n1,4,10,3,1,5,5,0,0,1,1,1,1,0\n0,0,1,2,0,8,2,1,1,1,1,1,1,1\n0,0,1,2,2,3,5,0,1,1,1,2,1,0\n0,3,3,2,3,8,4,4,1,1,1,2,1,0\n1,0,0,3,0,3,2,4,1,1,1,0,1,1\n1,0,1,2,0,8,0,0,0,1,1,2,1,1\n1,1,3,2,0,3,2,4,1,1,1,1,1,0\n1,0,3,2,1,1,4,0,0,1,1,0,1,0\n0,0,1,2,2,10,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,7,1,0,0,1,1,0,1,0\n1,0,1,2,0,6,2,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,5,0,3,0,4,2,0,1,1,1,0,1,1\n0,4,3,2,3,2,5,0,0,1,1,2,1,0\n0,0,1,2,2,4,1,0,1,1,1,0,1,0\n0,0,7,1,3,9,5,4,1,1,1,0,1,0\n1,4,3,2,4,10,5,0,0,1,1,0,1,0\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,2,5,3,0,0,1,1,0,1,1\n2,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,7,1,0,0,1,1,1,1,0\n2,4,11,0,4,6,5,4,1,1,1,0,1,0\n0,0,0,3,0,8,0,0,0,1,1,0,1,0\n1,0,3,2,3,1,5,0,1,1,1,1,1,0\n0,5,0,3,2,0,1,0,0,1,1,0,1,0\n2,5,7,1,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,5,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,1\n2,1,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n2,1,1,2,0,4,2,0,1,1,1,2,1,0\n0,4,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,0,3,0,10,2,0,1,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,11,0,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,7,1,4,0,1,1,0,1,0\n1,0,3,2,0,6,2,4,1,1,1,0,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,2,8,3,0,0,1,1,2,1,0\n1,3,0,3,2,8,3,0,1,1,1,1,1,0\n1,5,0,3,0,12,2,4,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n2,1,14,0,2,3,3,0,0,1,1,2,1,0\n1,0,10,3,0,3,2,0,1,1,1,0,1,1\n3,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,1,6,1,0,1,1,1,1,1,0\n1,0,1,2,0,10,2,1,1,1,1,0,1,0\n0,0,3,2,5,10,1,0,1,1,1,0,1,0\n0,0,0,3,2,4,5,0,0,1,1,1,1,0\n2,0,3,2,1,7,1,0,0,1,1,0,1,0\n0,0,9,1,2,9,1,0,1,1,1,1,1,0\n1,1,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,2,1,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,5,3,0,1,1,2,1,0\n0,0,2,1,2,2,1,1,1,1,1,0,1,0\n1,0,6,2,0,12,2,0,1,1,1,1,1,0\n2,1,1,2,0,9,2,0,1,1,1,1,1,0\n2,0,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,5,2,0,5,0,0,0,1,1,1,1,0\n1,0,1,2,0,3,0,0,0,1,1,0,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,4,10,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,4,1,2,2,12,1,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,4,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,1,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,0,1,2,4,8,3,0,0,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,1,4,3,0,0,1,1,2,1,0\n1,0,0,3,1,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,0,8,0,0,0,1,1,2,1,0\n1,4,3,2,0,4,2,4,1,1,1,2,1,1\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n0,1,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,3,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,4,3,2,5,3,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n2,1,8,0,4,9,5,0,0,1,1,2,1,0\n0,0,2,1,2,3,1,4,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,10,1,0,1,1,1,2,1,0\n0,0,1,2,2,10,3,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,2,3,4,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,3,1,1,1,0,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n0,3,1,2,1,8,5,4,0,1,1,2,1,0\n1,0,1,2,2,4,3,0,0,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,1,1,1,1,1,0\n1,0,1,2,2,6,3,0,1,1,1,0,1,0\n0,2,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,11,0,2,2,4,0,0,1,1,2,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,2,3,3,0,0,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n3,0,12,1,0,3,2,0,1,1,1,2,1,0\n2,0,12,1,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,2,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,5,2,1,4,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,2,1,0\n1,0,1,2,1,3,5,0,0,1,1,0,1,0\n1,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,1,1,2,0,3,2,0,1,1,1,1,1,0\n2,4,3,2,4,2,5,0,0,1,1,0,1,0\n2,1,0,3,0,9,2,0,1,1,1,2,1,1\n1,0,0,3,2,3,5,0,0,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,1,1,0,1,1,0,1,0\n1,0,0,3,2,5,3,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,1,8,4,0,0,1,1,0,1,0\n2,0,0,3,0,8,2,1,1,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,1,1,1\n1,5,0,3,0,4,2,0,1,1,1,1,1,1\n2,5,13,3,0,5,2,0,1,1,1,0,1,1\n1,0,5,2,1,7,1,0,0,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,1,3,2,4,2,4,4,0,1,1,0,1,0\n1,0,1,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,1\n1,1,1,2,0,4,2,0,1,1,1,1,1,0\n1,3,3,2,0,8,2,4,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n2,0,1,2,1,7,3,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n1,1,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,12,1,1,6,5,0,0,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,5,2,1,5,3,0,0,1,1,0,1,0\n0,2,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,0,0,0,1,1,2,1,1\n2,4,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,12,1,2,3,1,0,1,1,1,2,1,0\n0,0,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,1,2,0,3,0,0,0,1,1,0,1,0\n1,4,0,3,3,5,3,0,1,1,1,0,1,0\n1,0,3,2,3,1,1,4,0,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,12,1,2,7,4,1,1,1,1,0,1,0\n0,0,6,2,2,1,3,0,1,1,1,0,1,0\n0,0,8,0,2,1,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n2,1,12,1,0,1,2,0,1,1,1,2,1,0\n0,0,6,2,1,3,3,2,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n2,0,3,2,1,0,3,0,1,1,1,2,1,1\n0,5,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,1,8,1,0,0,1,1,2,1,0\n0,0,14,0,0,6,2,0,1,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,2,1,1\n0,3,3,2,1,8,5,4,0,1,1,2,1,0\n0,5,1,2,2,0,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,5,2,0,3,2,4,1,1,1,1,1,1\n1,3,4,3,1,5,5,0,1,1,1,0,1,1\n1,0,6,2,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,1,5,5,0,0,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,2,1,2,7,3,0,0,1,1,2,1,0\n1,0,14,0,1,11,5,0,0,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,5,2,2,2,4,0,1,1,1,2,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n2,1,1,2,1,1,5,0,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,1,3,2,2,1,1,0,1,1,1,2,1,0\n0,0,5,2,2,10,3,0,1,1,1,1,1,0\n0,1,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,1,1,1,1,0,1,1\n1,1,1,2,0,4,2,0,1,1,1,1,1,0\n1,4,6,2,0,10,2,0,1,1,1,0,1,1\n3,0,3,2,1,2,3,0,0,1,1,2,1,0\n2,1,3,2,0,2,2,0,1,1,1,2,1,0\n0,0,3,2,0,5,2,0,1,1,1,1,1,0\n2,1,6,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,0\n2,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,4,0,0,1,1,1,1,0\n2,0,3,2,0,4,0,0,0,1,1,0,1,0\n1,0,10,3,1,4,3,0,1,1,1,1,1,1\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,1,12,1,0,1,2,0,1,1,1,0,1,0\n1,4,1,2,0,2,2,0,1,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,1,3,3,0,0,1,1,1,1,0\n1,0,10,3,1,5,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,5,2,0,6,2,0,1,1,1,0,1,0\n3,3,2,1,1,8,3,0,0,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,1,1,1,1,2,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n2,1,0,3,0,5,2,0,1,1,1,2,1,1\n0,0,2,1,2,11,3,0,0,1,1,2,1,0\n1,0,6,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,2,1,1\n1,3,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,1,1,1\n0,0,5,2,2,1,1,4,0,1,1,0,1,0\n2,2,10,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,1,1,0\n1,1,0,3,0,4,2,0,1,1,1,2,1,0\n1,4,1,2,0,10,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,1,0,0,1,1,2,1,0\n1,0,2,1,1,2,5,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,1,3,2,1,1,3,0,1,1,1,1,1,0\n3,2,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,8,0,1,1,3,0,1,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n2,0,1,2,0,3,2,0,1,1,1,2,1,1\n0,0,3,2,2,3,1,0,1,1,1,1,1,0\n2,4,12,1,0,10,2,0,1,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,4,8,5,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n2,2,1,2,0,4,2,0,1,1,1,2,1,1\n2,0,6,2,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,3,1,1,1,1,0,1,0\n1,5,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,8,0,1,6,1,0,1,1,1,0,1,0\n1,0,3,2,3,2,3,0,0,1,1,2,1,0\n2,2,1,2,0,4,2,0,1,1,1,0,1,0\n3,1,0,3,4,5,3,0,0,1,1,2,1,0\n0,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,1,10,3,2,4,3,0,1,1,1,2,1,0\n0,5,1,2,2,2,1,2,1,1,1,1,1,0\n0,0,1,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,8,0,2,6,4,0,1,1,1,2,1,0\n1,3,3,2,2,8,1,4,0,1,1,2,1,0\n0,0,1,2,2,6,1,4,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,2,1,0\n0,4,10,3,2,5,3,0,0,1,1,0,1,0\n0,5,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,2,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,6,2,1,5,3,0,0,1,1,0,1,0\n0,0,1,2,0,8,0,4,0,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,2,8,1,4,0,1,1,0,1,0\n2,4,1,2,2,5,3,4,0,1,1,0,1,0\n0,0,6,2,2,1,1,0,1,1,1,0,1,1\n2,0,2,1,0,2,0,0,0,1,1,1,1,0\n1,0,9,1,1,7,3,0,0,1,1,0,1,0\n1,1,6,2,0,5,0,0,0,1,1,2,1,1\n1,3,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,14,0,2,11,5,0,0,1,1,2,1,0\n3,0,3,2,0,2,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,5,8,3,0,0,1,1,2,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n2,2,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,2,1,5,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,10,3,0,5,0,0,0,1,1,2,1,1\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,2,1,2,10,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,2,1,2,5,5,0,0,1,1,2,1,0\n2,4,0,3,1,2,3,0,1,1,1,2,1,0\n1,0,5,2,1,10,3,0,1,1,1,1,1,0\n1,4,0,3,0,5,1,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,4,1,2,0,10,2,4,1,1,1,0,1,0\n0,3,6,2,0,0,2,0,1,1,1,1,1,1\n0,0,3,2,2,9,3,0,1,1,1,0,1,0\n1,1,1,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n1,4,0,3,1,12,3,4,1,1,1,1,1,1\n1,0,10,3,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,3,2,2,1,3,2,1,1,1,0,1,0\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n0,0,5,2,2,6,1,0,1,1,1,2,1,0\n3,0,3,2,4,2,3,0,1,1,1,2,1,0\n0,0,3,2,0,0,4,0,1,1,1,0,1,0\n0,0,4,3,2,5,3,0,1,1,1,0,1,1\n0,0,1,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,1,2,5,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,10,3,1,4,3,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,2,1,0,10,2,0,1,1,1,0,1,0\n2,2,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,5,2,0,8,2,0,1,1,1,1,1,1\n0,1,3,2,2,2,3,0,0,1,1,2,1,0\n1,4,1,2,0,12,2,0,1,1,1,1,1,1\n2,5,10,3,0,4,0,0,0,1,1,0,1,1\n0,0,6,2,2,2,1,0,0,1,1,0,1,0\n0,0,1,2,2,9,1,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,1,3,1,0,1,1,1,2,1,0\n1,0,0,3,1,8,5,0,0,1,1,2,1,1\n1,0,1,2,2,3,5,4,0,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n1,2,10,3,0,3,2,0,1,1,1,0,1,1\n1,4,1,2,0,12,2,0,1,1,1,1,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,9,1,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,2,9,3,0,1,1,1,2,1,0\n0,0,0,3,2,4,5,4,0,1,1,0,1,0\n2,1,0,3,0,4,2,0,1,1,1,2,1,1\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,4,0,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,1,0,3,2,3,3,0,1,1,1,1,1,0\n0,5,1,2,2,6,1,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,1,3,2,1,9,3,0,1,1,1,2,1,0\n1,0,3,2,4,7,5,0,0,1,1,2,1,0\n1,0,6,2,2,3,5,4,0,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,6,2,0,10,2,0,1,1,1,0,1,0\n1,4,3,2,0,8,0,0,0,1,1,0,1,1\n0,0,0,3,2,8,3,0,1,1,1,2,1,0\n1,4,3,2,1,9,3,0,1,1,1,0,1,0\n0,2,5,2,2,3,1,0,1,1,1,0,1,0\n1,3,3,2,1,8,5,0,0,1,1,2,1,0\n1,2,4,3,0,5,2,1,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,2,3,2,0,4,2,0,1,1,1,0,1,0\n1,4,3,2,0,10,2,0,1,1,1,0,1,1\n2,3,3,2,2,8,5,0,0,1,1,2,1,0\n2,0,3,2,4,3,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,2,2,4,0,0,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,2,1,0,6,2,0,1,1,1,1,1,0\n1,5,2,1,1,10,5,0,0,1,1,1,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,1,2,2,8,1,4,0,1,1,2,1,0\n0,0,3,2,0,3,0,0,0,1,1,0,1,1\n0,0,10,3,2,4,3,3,1,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,1,6,5,0,0,1,1,0,1,0\n0,5,0,3,0,8,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,5,4,0,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,3,2,3,0,0,1,1,1,1,0\n2,0,3,2,4,2,4,0,0,1,1,2,1,0\n2,0,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n2,0,1,2,1,3,3,0,0,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,0,10,2,0,1,1,1,0,1,1\n2,0,1,2,3,2,3,0,1,1,1,2,1,0\n1,0,3,2,0,2,2,1,1,1,1,2,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,1\n1,1,1,2,0,0,2,0,1,1,1,1,1,1\n2,3,3,2,0,5,2,0,1,1,1,2,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n0,0,3,2,0,0,0,4,0,1,1,2,1,0\n0,0,3,2,1,4,5,0,0,1,1,0,1,0\n0,4,3,2,0,12,2,0,1,1,1,0,1,1\n2,0,0,3,2,8,3,0,0,1,1,0,1,1\n0,0,11,0,2,6,3,0,1,1,1,2,1,0\n0,0,1,2,2,0,1,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n2,0,14,0,3,2,3,0,1,1,1,2,1,0\n2,3,12,1,1,2,3,0,0,1,1,2,1,0\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,0,1,1,1,0,1,0\n0,0,3,2,2,1,5,0,1,1,1,0,1,0\n0,0,1,2,1,4,5,0,1,1,1,1,1,0\n0,5,12,1,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,6,3,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,14,0,1,7,5,0,0,1,1,0,1,0\n1,0,3,2,2,8,1,0,0,1,1,2,1,0\n3,1,3,2,4,2,3,0,1,1,1,2,1,0\n0,0,1,2,2,10,3,0,1,1,1,1,1,0\n1,0,0,3,2,8,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,4,1,1,1,0,1,0\n3,0,4,3,0,5,2,0,1,1,1,2,1,1\n1,0,3,2,0,7,2,4,1,1,1,0,1,0\n0,0,12,1,2,3,1,0,1,1,1,2,1,0\n1,3,0,3,0,5,2,0,1,1,1,0,1,0\n2,0,3,2,2,2,3,0,1,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,7,3,0,1,1,1,0,1,0\n0,3,1,2,2,1,5,2,1,1,1,0,1,0\n1,0,0,3,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,3,0,0,0,1,1,0,1,0\n0,0,3,2,2,8,5,0,0,1,1,2,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,0,4,3,2,5,3,0,0,1,1,1,1,1\n1,0,3,2,4,8,3,4,0,1,1,0,1,0\n0,5,1,2,2,0,3,0,1,1,1,2,1,0\n1,0,3,2,2,8,4,0,1,1,1,0,1,0\n0,0,9,1,1,2,3,0,0,1,1,0,1,0\n1,0,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,3,2,2,2,1,0,1,1,1,0,1,0\n1,0,5,2,0,5,2,0,1,1,1,0,1,1\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,3,2,1,2,1,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,4,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,4,3,2,2,8,1,4,0,1,1,0,1,0\n1,0,3,2,6,1,0,4,0,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,1,1,0,1,1,1,2,1,0\n1,0,12,1,0,10,2,0,1,1,1,1,1,0\n1,4,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,1,5,2,0,2,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,7,1,0,7,2,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,1,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,2,8,3,0,1,1,1,0,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,1\n2,0,12,1,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,4,0,1,1,1,2,1,0\n2,0,3,2,3,1,5,0,1,1,1,0,1,0\n3,4,5,2,0,8,2,1,1,1,1,2,1,0\n0,0,1,2,1,8,3,0,0,1,1,2,1,0\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,5,2,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,2,1,0,10,2,0,1,1,1,0,1,0\n2,0,3,2,1,4,3,0,0,1,1,0,1,0\n0,5,1,2,0,5,0,4,0,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n2,4,13,3,1,5,3,0,0,1,1,0,1,0\n1,0,1,2,1,2,3,0,0,1,1,0,1,0\n0,0,3,2,1,12,3,4,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,2,3,2,0,4,2,0,1,1,1,0,1,0\n0,3,5,2,2,2,1,0,1,1,1,2,1,0\n1,1,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,9,1,2,6,1,2,1,1,1,2,1,0\n1,4,0,3,1,5,5,0,0,1,1,2,1,0\n1,4,10,3,2,5,3,0,1,1,1,2,1,1\n0,0,10,3,2,8,3,0,0,1,1,1,1,0\n1,0,3,2,0,10,0,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,2,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,4,8,5,0,0,1,1,2,1,0\n2,0,8,0,0,2,2,0,1,1,1,2,1,0\n1,0,2,1,0,7,2,4,1,1,1,0,1,0\n2,5,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,7,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,0,1,1,1,1,1,2,1,1\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,1,2,1,7,3,0,0,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,3,2,1,3,5,0,1,1,1,2,1,0\n1,0,6,2,1,4,3,0,1,1,1,1,1,1\n2,2,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,0,3,1,12,3,0,1,1,1,0,1,0\n2,0,0,3,0,0,2,0,1,1,1,0,1,1\n1,3,0,3,2,8,3,0,1,1,1,0,1,0\n2,0,10,3,1,5,3,0,0,1,1,1,1,0\n2,0,0,3,0,0,2,0,1,1,1,2,1,1\n0,1,6,2,2,2,4,0,0,1,1,0,1,0\n0,0,12,1,2,1,1,0,1,1,1,2,1,0\n0,0,3,2,0,3,2,1,1,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,2,1,0\n0,5,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,2,0,0,0,1,1,0,1,0\n2,1,8,0,1,3,4,0,1,1,1,2,1,0\n1,0,3,2,1,7,3,4,0,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,2,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,0\n1,0,0,3,1,5,3,0,0,1,1,0,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n2,1,8,0,0,1,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,4,3,2,4,2,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,0\n1,2,6,2,0,9,2,0,1,1,1,1,1,1\n1,4,1,2,0,1,2,4,1,1,1,0,1,1\n3,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,2,1,0\n1,3,1,2,0,6,2,0,1,1,1,0,1,1\n1,1,3,2,1,1,3,0,1,1,1,1,1,0\n0,0,3,2,3,10,3,1,1,1,1,0,1,0\n1,0,3,2,2,8,1,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n2,4,0,3,2,5,3,0,1,1,1,1,1,0\n1,2,0,3,0,5,0,0,0,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n2,0,13,3,0,3,2,0,1,1,1,0,1,0\n2,0,14,0,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,4,0,1,1,2,1,0\n1,0,6,2,0,7,2,0,1,1,1,0,1,1\n0,0,1,2,3,1,3,0,1,1,1,0,1,0\n0,1,6,2,2,2,3,0,0,1,1,2,1,0\n1,0,9,1,4,6,5,0,0,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,5,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,4,4,0,0,1,1,1,1,0\n0,0,6,2,1,5,5,0,0,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,7,1,0,7,2,0,1,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,1\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,1,3,2,1,4,3,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n0,0,2,1,2,8,3,0,1,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,0\n1,5,10,3,0,5,0,1,0,1,1,2,1,1\n0,0,0,3,2,4,1,0,0,1,1,2,1,0\n0,2,3,2,0,4,2,0,1,1,1,1,1,0\n0,1,8,0,0,5,2,0,1,1,1,1,1,0\n1,3,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,2,1,5,4,0,1,1,0,1,0\n0,0,2,1,0,7,2,0,1,1,1,1,1,1\n1,0,7,1,0,4,2,0,1,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,2,12,1,2,2,1,4,1,1,1,2,1,0\n2,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n2,4,12,1,0,1,2,0,1,1,1,1,1,0\n1,1,3,2,0,10,2,0,1,1,1,2,1,1\n2,3,12,1,1,1,5,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,1,0,1,1,1,1,0\n1,0,3,2,4,2,5,4,0,1,1,0,1,0\n2,0,1,2,2,8,3,4,0,1,1,2,1,0\n1,3,3,2,4,4,3,0,0,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n2,4,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,1,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,0\n1,0,7,1,3,6,1,0,1,1,1,2,1,0\n1,0,1,2,0,7,2,1,1,1,1,1,1,1\n2,2,0,3,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,1,8,1,0,0,1,1,0,1,0\n1,0,4,3,2,4,3,0,1,1,1,1,1,1\n0,0,1,2,0,4,0,0,0,1,1,2,1,0\n0,0,12,1,2,3,3,0,0,1,1,2,1,0\n0,0,10,3,2,8,1,0,1,1,1,0,1,0\n0,0,1,2,0,8,0,0,0,1,1,2,1,0\n1,0,5,2,1,8,5,0,0,1,1,2,1,0\n1,0,6,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,7,1,2,6,5,4,1,1,1,0,1,0\n0,0,3,2,5,1,5,0,1,1,1,1,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,6,2,2,2,3,0,1,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,14,0,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,1,3,5,0,0,1,1,1,1,0\n0,0,0,3,2,0,3,1,0,1,1,0,1,0\n0,0,2,1,2,6,3,0,1,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,4,3,3,0,0,1,1,2,1,0\n1,3,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,6,2,2,1,1,0,1,1,1,2,1,0\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n1,0,0,3,0,2,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,4,1,1,1,0,1,1\n3,0,11,0,0,2,4,4,0,1,1,2,1,0\n1,1,0,3,1,5,3,0,1,1,1,1,1,1\n2,0,0,3,1,4,3,0,0,1,1,1,1,0\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,0\n0,0,1,2,2,5,3,4,1,1,1,2,1,0\n3,1,3,2,2,2,3,0,0,1,1,2,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,1,4,1,1,1,2,1,0\n1,3,1,2,1,6,3,1,1,1,1,0,1,0\n1,0,3,2,3,3,5,4,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,2,0,3,1,3,3,0,1,1,1,1,1,0\n1,0,1,2,0,5,2,0,1,1,1,2,1,1\n1,4,10,3,1,4,5,0,0,1,1,1,1,1\n1,4,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,1,2,2,8,4,0,0,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,3,0,3,2,12,3,0,0,1,1,1,1,1\n1,0,0,3,5,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,5,0,0,1,1,2,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,0,3,2,9,3,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n2,0,10,3,0,5,0,0,0,1,1,0,1,1\n0,2,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n1,0,4,3,0,5,2,0,1,1,1,2,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,3,0,1,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,1,1,1,1,0,1,0\n0,3,3,2,2,10,1,0,1,1,1,0,1,0\n0,1,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,5,2,2,8,1,0,0,1,1,2,1,0\n2,4,3,2,2,8,3,0,0,1,1,2,1,0\n1,2,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n3,2,3,2,0,8,2,0,1,1,1,2,1,0\n0,1,3,2,2,7,4,4,1,1,1,2,1,0\n1,0,0,3,1,3,3,0,0,1,1,1,1,0\n2,1,0,3,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,4,0,3,2,5,3,0,0,1,1,2,1,0\n0,3,5,2,0,4,0,0,0,1,1,0,1,0\n0,0,3,2,2,2,4,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,3,2,2,11,5,3,0,1,1,0,1,0\n1,4,10,3,2,4,3,0,0,1,1,1,1,1\n1,4,1,2,2,1,3,0,1,1,1,0,1,0\n1,1,0,3,0,5,2,0,1,1,1,1,1,1\n1,2,3,2,0,9,2,0,1,1,1,1,1,0\n2,1,0,3,2,4,3,0,0,1,1,1,1,0\n1,3,3,2,0,8,0,0,0,1,1,0,1,1\n1,1,3,2,1,4,3,1,0,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,0,3,0,6,1,0,1,1,1,0,1,1\n0,0,2,1,2,7,1,4,1,1,1,1,1,0\n1,0,3,2,1,2,3,0,1,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,1,1,1\n1,4,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,6,2,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n2,0,3,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,4,1,1,1,0,1,0\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,12,1,2,6,1,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,6,2,0,7,2,0,1,1,1,0,1,0\n1,5,13,3,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,4,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n2,0,12,1,0,10,2,0,1,1,1,2,1,0\n1,5,3,2,1,12,3,0,1,1,1,0,1,1\n0,0,0,3,2,0,3,0,0,1,1,2,1,0\n1,0,9,1,1,10,5,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n0,0,6,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,1,3,2,2,1,3,0,1,1,1,0,1,1\n0,0,2,1,0,10,2,0,1,1,1,1,1,0\n0,0,7,1,2,3,3,0,1,1,1,1,1,1\n0,0,1,2,0,8,0,2,0,1,1,1,1,0\n0,5,1,2,0,12,2,0,1,1,1,0,1,0\n0,0,3,2,2,0,3,0,1,1,1,0,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,1\n1,2,10,3,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,5,4,0,1,1,2,1,0\n0,0,1,2,1,4,5,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,1,1,2,2,10,1,0,1,1,1,2,1,0\n1,2,5,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,2,1,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,3,4,5,4,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,0,0,3,2,3,1,0,0,1,1,0,1,0\n0,0,1,2,2,5,5,0,0,1,1,2,1,0\n0,0,3,2,0,2,0,0,0,1,1,0,1,0\n0,0,7,1,2,7,5,0,1,1,1,0,1,0\n1,4,0,3,0,12,2,0,1,1,1,0,1,1\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,2,8,3,0,0,1,1,2,1,0\n1,4,10,3,1,5,1,0,0,1,1,1,1,0\n1,4,1,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,1,3,2,2,9,3,0,1,1,1,0,1,0\n1,4,5,2,2,8,3,4,1,1,1,0,1,0\n0,0,6,2,0,5,0,0,0,1,1,0,1,1\n0,0,2,1,2,3,1,4,0,1,1,2,1,0\n1,5,0,3,0,4,2,0,1,1,1,0,1,1\n0,4,3,2,0,12,2,0,1,1,1,1,1,0\n1,5,13,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n2,3,1,2,0,8,0,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,0,3,2,3,7,4,0,0,1,1,0,1,0\n1,0,0,3,3,1,3,0,1,1,1,0,1,0\n0,0,3,2,1,3,5,0,0,1,1,0,1,0\n0,4,14,0,2,2,5,3,0,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,4,1,0,1,1,0,1,0\n0,0,6,2,2,0,3,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n2,3,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,2,5,1,0,0,1,1,2,1,0\n0,0,6,2,1,0,5,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,3,1,2,1,8,3,0,0,1,1,1,1,0\n1,0,12,1,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,4,5,0,1,1,1,0,1,0\n2,0,7,1,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,1,1,5,0,1,1,1,2,1,0\n0,0,3,2,2,3,5,0,0,1,1,2,1,0\n0,0,14,0,2,11,3,0,0,1,1,1,1,0\n1,5,1,2,1,10,3,0,1,1,1,1,1,0\n0,0,3,2,2,3,5,4,0,1,1,2,1,0\n1,0,1,2,4,3,3,0,0,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,1,1,1,1,2,1,0\n0,1,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,3,4,1,1,1,1,1,0\n1,0,3,2,2,2,5,4,0,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n1,0,2,1,0,10,2,0,1,1,1,0,1,0\n1,1,0,3,0,4,0,0,0,1,1,0,1,1\n0,2,12,1,2,1,1,0,1,1,1,0,1,0\n0,0,2,1,5,6,3,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,1,2,3,3,3,0,1,1,1,1,1,1\n1,0,10,3,2,5,3,0,1,1,1,0,1,0\n0,0,7,1,2,7,1,0,1,1,1,0,1,0\n0,0,10,3,2,4,1,0,0,1,1,0,1,0\n1,0,6,2,2,9,3,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,4,0,0,1,1,2,1,0\n0,4,3,2,2,2,1,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,5,2,0,3,2,0,1,1,1,1,1,0\n2,0,2,1,4,3,4,0,0,1,1,2,1,0\n2,2,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,2,2,5,4,0,1,1,2,1,0\n1,0,8,0,0,2,2,1,1,1,1,0,1,0\n0,0,12,1,0,6,2,0,1,1,1,0,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,1\n0,2,1,2,0,3,2,0,1,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,1\n2,0,3,2,4,2,3,0,0,1,1,2,1,0\n1,3,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,5,0,1,1,1,0,1,0\n0,0,7,1,2,1,1,0,0,1,1,2,1,0\n1,4,14,0,0,6,4,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,1,3,2,2,3,4,0,0,1,1,2,1,0\n1,0,12,1,0,7,2,0,1,1,1,1,1,0\n1,1,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,0,1,1,2,1,0\n2,0,10,3,2,3,3,0,1,1,1,1,1,0\n1,1,2,1,1,5,5,4,0,1,1,2,1,0\n2,0,0,3,1,3,3,0,1,1,1,1,1,1\n0,1,2,1,0,1,1,0,1,1,1,1,1,0\n0,0,7,1,2,1,3,3,1,1,1,1,1,0\n0,0,1,2,2,3,3,1,1,1,1,2,1,0\n1,1,13,3,2,5,5,0,0,1,1,1,1,1\n2,2,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,9,3,0,1,1,1,2,1,0\n1,0,5,2,0,3,2,0,1,1,1,2,1,0\n2,0,4,3,5,5,5,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,1,1,0\n2,5,3,2,4,8,3,0,0,1,1,2,1,0\n1,0,0,3,1,5,5,0,0,1,1,1,1,0\n0,0,3,2,1,8,3,0,1,1,1,0,1,0\n2,1,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,1,1,1,1,2,1,0\n2,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,1,4,4,0,1,1,1,1,1,0\n0,4,0,3,2,4,3,0,0,1,1,2,1,0\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,12,1,4,10,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,2,4,3,2,5,3,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,4,0,3,0,4,2,4,1,1,1,0,1,1\n0,0,1,2,0,2,0,0,0,1,1,2,1,0\n0,5,10,3,0,5,2,0,1,1,1,2,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,0,1,2,0,5,0,3,0,1,1,2,1,0\n0,0,0,3,2,4,1,0,0,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,2,10,1,0,1,1,1,0,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,0,0,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,0,2,0,1,0,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,1\n1,1,0,3,5,4,3,0,1,1,1,1,1,0\n3,0,1,2,4,8,3,0,0,1,1,2,1,0\n2,0,2,1,0,10,2,0,1,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,5,0,1,1,1,0,1,0\n1,3,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,1,0,0,1,1,1,1,0\n2,5,3,2,0,1,2,4,1,1,1,0,1,0\n1,0,2,1,0,2,0,0,0,1,1,2,1,0\n1,3,3,2,2,13,3,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,0,0,1,1,2,1,0\n2,3,0,3,4,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n2,1,5,2,0,9,0,0,0,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,1,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,2,5,1,0,1,1,1,0,1,1\n0,0,3,2,5,9,1,0,0,1,1,0,1,0\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n1,0,5,2,0,6,2,0,1,1,1,1,1,0\n0,5,1,2,0,1,2,0,1,1,1,2,1,1\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,3,0,1,1,1,2,1,0\n0,0,6,2,2,2,1,4,0,1,1,2,1,0\n0,4,6,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,0,3,0,0,0,1,1,0,1,0\n1,0,1,2,1,4,5,0,0,1,1,0,1,0\n0,5,10,3,2,5,3,0,1,1,1,0,1,0\n1,4,3,2,3,10,1,0,1,1,1,0,1,0\n0,4,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,5,2,0,3,2,0,1,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,5,5,2,2,5,3,4,1,1,1,0,1,1\n0,0,3,2,0,2,1,0,1,1,1,1,1,0\n2,0,8,0,0,12,2,0,1,1,1,1,1,0\n0,3,3,2,1,4,3,3,0,1,1,0,1,0\n1,0,1,2,0,4,0,0,0,1,1,1,1,1\n0,0,0,3,0,8,0,0,0,1,1,2,1,0\n0,0,6,2,2,7,5,0,0,1,1,0,1,0\n2,5,1,2,0,7,2,4,1,1,1,0,1,1\n0,0,3,2,2,6,3,0,0,1,1,2,1,0\n1,1,10,3,0,4,2,0,1,1,1,1,1,1\n1,4,3,2,1,0,3,4,0,1,1,0,1,0\n1,1,0,3,0,3,0,0,0,1,1,1,1,1\n0,0,5,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,1,0,3,0,0,1,1,0,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,1,6,5,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n2,0,2,1,0,4,2,0,1,1,1,1,1,0\n0,1,1,2,2,1,1,0,1,1,1,2,1,0\n2,0,1,2,4,1,5,0,0,1,1,1,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,1,1,5,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n0,0,3,2,2,10,3,0,1,1,1,2,1,0\n1,0,3,2,0,2,2,4,1,1,1,0,1,1\n1,4,10,3,2,5,1,0,0,1,1,0,1,0\n2,2,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,1,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,1,7,1,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,2,4,3,0,0,1,1,1,1,0\n0,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,1,3,2,0,4,2,0,1,1,1,0,1,0\n1,1,3,2,0,5,2,0,1,1,1,1,1,0\n0,3,1,2,0,8,2,4,1,1,1,0,1,0\n1,3,0,3,1,5,5,4,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,10,3,4,0,5,1,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n2,0,5,2,0,4,2,0,1,1,1,1,1,1\n3,0,6,2,3,2,5,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,8,0,0,2,0,0,0,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,1,1,2,1,2,5,0,0,1,1,1,1,0\n1,0,1,2,0,5,2,0,1,1,1,1,1,1\n0,0,12,1,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n1,0,10,3,1,3,3,0,1,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,0,2,0,1,1,1,1,1,1\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,1,8,5,3,0,1,1,0,1,0\n1,5,3,2,0,8,0,1,0,1,1,2,1,0\n2,0,12,1,3,3,5,0,0,1,1,1,1,0\n2,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,13,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,4,1,4,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,1,3,2,1,2,3,0,0,1,1,0,1,0\n3,4,6,2,4,8,3,0,0,1,1,2,1,0\n1,0,0,3,2,5,1,0,1,1,1,1,1,0\n2,4,10,3,1,8,3,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,6,2,2,4,3,0,1,1,1,1,1,1\n0,0,1,2,0,0,2,0,1,1,1,1,1,0\n1,5,4,3,1,5,5,0,0,1,1,0,1,0\n0,0,2,1,2,2,1,2,0,1,1,2,1,0\n2,0,14,0,0,10,2,0,1,1,1,0,1,0\n0,0,9,1,1,10,1,0,1,1,1,0,1,0\n0,0,8,0,2,8,1,0,1,1,1,0,1,0\n0,0,7,1,0,6,2,4,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,1\n2,0,3,2,1,6,3,4,0,1,1,0,1,0\n1,5,4,3,0,5,2,0,1,1,1,1,1,1\n1,5,1,2,2,8,5,4,0,1,1,1,1,0\n1,0,3,2,2,4,3,0,1,1,1,0,1,0\n1,4,1,2,5,8,5,4,0,1,1,2,1,0\n1,0,1,2,0,1,2,2,1,1,1,0,1,0\n1,3,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,1,4,3,2,5,1,0,1,1,1,0,1,0\n1,0,1,2,1,5,3,0,1,1,1,1,1,1\n1,4,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,0,1,1,1,1,1\n1,2,0,3,0,4,0,0,0,1,1,2,1,1\n0,0,1,2,2,8,1,1,0,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,1,1,1,2,1,0\n1,0,10,3,1,4,3,0,0,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n1,0,13,3,0,4,0,0,0,1,1,2,1,1\n0,0,6,2,2,3,5,0,1,1,1,2,1,0\n0,0,6,2,2,8,3,1,0,1,1,1,1,0\n2,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n3,0,3,2,4,4,3,0,0,1,1,2,1,0\n1,3,0,3,0,12,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,3,4,1,1,1,0,1,0\n1,0,6,2,3,5,5,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,1,1,1,1,1,0,1,0\n1,4,3,2,0,12,2,0,1,1,1,1,1,0\n1,4,6,2,1,4,5,0,0,1,1,0,1,0\n1,0,2,1,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,3,2,1,2,5,0,0,1,1,1,1,0\n0,4,6,2,5,1,3,0,1,1,1,0,1,0\n0,0,2,1,2,1,3,0,1,1,1,1,1,0\n1,4,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,5,3,2,0,10,2,2,1,1,1,0,1,0\n0,0,2,1,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,2,7,3,4,1,1,1,0,1,0\n1,5,10,3,0,5,4,3,0,1,1,2,1,1\n0,0,3,2,0,5,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,0,0,0,1,1,2,1,1\n2,0,3,2,1,3,5,0,0,1,1,2,1,0\n1,1,6,2,3,4,3,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,0,14,0,0,1,2,0,1,1,1,0,1,0\n1,0,6,2,0,8,0,4,0,1,1,1,1,1\n0,4,0,3,2,3,1,0,0,1,1,0,1,0\n0,0,5,2,2,8,3,0,0,1,1,2,1,0\n0,0,12,1,2,1,4,0,1,1,1,1,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,5,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,4,1,1,1,0,1,1\n1,3,0,3,1,0,5,4,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,0,3,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,5,2,0,0,2,4,1,1,1,0,1,0\n2,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,0,6,2,0,3,2,0,1,1,1,0,1,1\n2,1,10,3,4,2,3,0,0,1,1,2,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,3,2,1,12,3,0,1,1,1,1,1,0\n1,0,0,3,2,5,3,0,0,1,1,1,1,0\n2,0,3,2,4,2,3,0,0,1,1,2,1,0\n1,4,6,2,2,4,5,2,0,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n1,1,12,1,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n2,1,12,1,0,3,2,0,1,1,1,1,1,1\n1,1,4,3,0,3,2,0,1,1,1,2,1,1\n1,0,0,3,3,5,5,1,0,1,1,0,1,1\n0,0,1,2,2,8,5,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,1,1,3,0,1,1,1,2,1,0\n0,0,1,2,0,2,2,0,1,1,1,1,1,0\n2,0,10,3,1,5,3,0,0,1,1,0,1,1\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,2,1,4,7,3,0,0,1,1,0,1,0\n1,0,1,2,1,8,5,4,0,1,1,0,1,0\n0,0,6,2,2,0,3,0,1,1,1,0,1,0\n2,0,1,2,0,10,2,4,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,6,2,1,3,5,0,0,1,1,0,1,0\n2,2,3,2,0,8,0,0,0,1,1,2,1,1\n1,2,10,3,0,2,2,0,1,1,1,0,1,0\n2,4,2,1,0,10,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n3,1,1,2,0,3,2,0,1,1,1,2,1,1\n0,0,1,2,2,0,3,0,0,1,1,1,1,0\n0,2,3,2,0,9,2,0,1,1,1,1,1,1\n1,3,10,3,0,12,2,0,1,1,1,2,1,1\n0,0,3,2,2,1,3,4,1,1,1,2,1,0\n0,0,1,2,3,10,3,0,1,1,1,2,1,0\n2,0,0,3,0,0,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,5,1,2,0,8,0,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,10,3,2,5,3,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,0,1,2,4,11,5,0,0,1,1,0,1,0\n0,1,3,2,2,2,1,0,1,1,1,2,1,0\n0,2,7,1,2,3,1,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,12,1,0,4,0,0,0,1,1,2,1,0\n2,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,3,3,2,1,8,1,0,0,1,1,0,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,6,2,0,7,2,0,1,1,1,1,1,1\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,0,3,2,6,4,0,1,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,6,2,1,1,1,0,1,1,1,0,1,0\n1,0,5,2,0,3,2,4,1,1,1,1,1,0\n0,0,1,2,0,8,0,0,0,1,1,0,1,1\n0,3,1,2,0,12,2,4,1,1,1,0,1,0\n0,0,3,2,0,7,2,4,1,1,1,0,1,1\n2,0,11,0,1,1,3,3,1,1,1,2,1,0\n0,0,0,3,0,8,0,0,0,1,1,0,1,0\n1,4,8,0,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,0,3,1,0,5,0,1,1,1,2,1,0\n0,0,0,3,0,8,2,1,1,1,1,0,1,1\n1,0,0,3,1,8,1,0,1,1,1,2,1,1\n3,1,8,0,0,9,2,0,1,1,1,2,1,0\n3,0,0,3,0,12,2,0,1,1,1,2,1,0\n0,0,1,2,2,4,1,0,1,1,1,0,1,0\n1,0,2,1,2,12,3,4,1,1,1,0,1,1\n1,0,1,2,0,6,2,0,1,1,1,2,1,0\n0,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,10,3,2,2,1,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n1,0,14,0,0,2,2,4,1,1,1,0,1,0\n1,0,0,3,1,4,3,0,0,1,1,1,1,1\n0,3,14,0,2,1,3,0,1,1,1,0,1,0\n0,0,2,1,2,10,1,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,4,3,2,0,2,2,2,1,1,1,0,1,0\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,10,2,0,1,1,1,0,1,0\n0,0,5,2,1,5,5,0,0,1,1,2,1,0\n3,2,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,4,1,1,1,0,1,0\n2,0,2,1,1,3,1,0,0,1,1,2,1,0\n2,5,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n0,0,2,1,2,3,1,1,0,1,1,2,1,0\n1,0,14,0,5,9,3,0,1,1,1,2,1,0\n0,0,6,2,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n2,0,14,0,0,9,4,0,0,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n1,1,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,13,3,0,5,2,0,1,1,1,1,1,0\n2,0,3,2,1,12,3,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,8,0,2,2,1,0,0,1,1,0,1,0\n1,3,1,2,4,4,5,2,0,1,1,2,1,0\n0,0,1,2,0,2,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,2,1,2,0,4,2,1,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,4,1,2,0,10,2,0,1,1,1,0,1,0\n1,2,13,3,3,5,3,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,2,1,3,0,1,1,1,2,1,0\n0,0,6,2,0,3,2,0,1,1,1,2,1,0\n0,5,14,0,2,10,3,0,1,1,1,2,1,0\n0,0,12,1,3,7,1,0,1,1,1,0,1,0\n1,0,3,2,0,2,0,4,0,1,1,2,1,0\n1,5,13,3,0,5,2,0,1,1,1,1,1,1\n1,1,1,2,0,10,2,0,1,1,1,1,1,0\n2,0,7,1,0,6,2,4,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,4,1,2,1,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,5,0,0,1,1,2,1,0\n1,1,10,3,0,1,2,0,1,1,1,1,1,1\n1,0,4,3,0,5,0,0,0,1,1,1,1,1\n1,0,12,1,0,1,2,0,1,1,1,0,1,1\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,1,8,3,0,1,1,1,1,1,0\n2,0,0,3,1,2,3,0,0,1,1,2,1,0\n0,0,5,2,2,12,3,0,1,1,1,0,1,0\n2,0,9,1,4,3,5,0,0,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n0,5,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,4,1,1,1,1,1,0\n0,0,3,2,1,10,3,0,0,1,1,1,1,1\n1,0,4,3,0,5,0,0,0,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,1,1,0\n0,0,6,2,1,0,3,0,1,1,1,1,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,4,1,1,1,0,1,1\n2,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,3,1,0,0,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,14,0,2,2,4,0,1,1,1,0,1,0\n0,0,6,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,4,0,1,1,2,1,0\n0,5,1,2,2,2,4,4,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,3,2,3,0,0,1,1,2,1,0\n2,0,3,2,0,3,0,0,0,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,4,1,2,5,1,4,0,1,1,1,1,1,0\n0,0,0,3,2,2,3,0,0,1,1,0,1,0\n1,4,10,3,1,5,3,0,0,1,1,1,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,2,7,3,0,0,1,1,0,1,0\n0,0,3,2,2,5,3,0,0,1,1,1,1,0\n0,0,0,3,2,12,3,0,0,1,1,0,1,0\n1,5,13,3,0,5,2,0,1,1,1,1,1,1\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,0,3,2,5,1,0,0,1,1,2,1,1\n0,0,0,3,2,5,1,0,0,1,1,2,1,0\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,5,0,3,0,4,2,0,1,1,1,2,1,1\n0,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,5,2,0,3,2,0,1,1,1,1,1,0\n1,0,6,2,1,5,3,0,1,1,1,0,1,1\n0,0,0,3,2,4,1,1,0,1,1,1,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,11,0,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,4,0,1,1,2,1,0\n0,0,1,2,2,12,1,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,4,0,1,1,2,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n2,0,3,2,1,11,5,4,0,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n2,0,14,0,0,7,2,0,1,1,1,0,1,0\n1,3,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,1,2,2,2,4,0,0,1,1,2,1,0\n1,0,2,1,2,6,3,4,1,1,1,0,1,0\n0,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,1,3,2,1,1,3,0,1,1,1,1,1,0\n2,1,8,0,0,1,2,0,1,1,1,2,1,0\n0,4,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,4,1,2,1,8,3,0,0,1,1,1,1,0\n0,0,1,2,1,8,3,0,0,1,1,0,1,1\n1,0,13,3,0,4,2,0,1,1,1,1,1,1\n1,0,9,1,0,10,2,0,1,1,1,1,1,1\n1,1,0,3,1,2,5,1,0,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,0,7,0,0,0,1,1,0,1,0\n0,5,3,2,0,12,1,0,1,1,1,2,1,0\n1,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,5,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,1,1,1,1,0,1,0\n1,3,1,2,3,8,5,4,0,1,1,1,1,0\n0,0,1,2,2,4,5,4,0,1,1,2,1,0\n0,0,2,1,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n0,2,10,3,2,10,1,0,1,1,1,0,1,0\n1,3,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,1,4,3,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,10,3,2,5,3,0,0,1,1,2,1,0\n1,0,3,2,1,3,3,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,1,1,2,0,2,0,0,0,1,1,2,1,0\n1,0,6,2,3,2,3,0,1,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n0,0,12,1,1,7,3,4,0,1,1,2,1,0\n1,4,1,2,4,8,3,0,0,1,1,0,1,0\n0,4,0,3,0,5,0,0,0,1,1,2,1,1\n1,0,0,3,0,8,2,0,1,1,1,2,1,1\n1,0,3,2,3,4,3,0,1,1,1,0,1,1\n2,0,0,3,0,3,2,0,1,1,1,2,1,0\n0,0,0,3,2,2,3,0,1,1,1,2,1,0\n1,3,0,3,0,4,2,0,1,1,1,0,1,1\n1,4,10,3,0,5,2,0,1,1,1,2,1,1\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,2,5,2,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,3,2,2,5,4,0,0,1,1,0,1,0\n1,4,6,2,0,4,2,0,1,1,1,0,1,1\n2,0,0,3,4,2,3,0,0,1,1,0,1,0\n1,0,0,3,2,5,3,0,1,1,1,0,1,0\n2,4,0,3,0,12,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n2,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,1,3,3,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,6,2,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,4,0,1,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,0,1,0,1,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n2,1,0,3,0,3,2,0,1,1,1,2,1,0\n2,1,6,2,0,2,2,0,1,1,1,1,1,0\n2,2,0,3,1,3,3,0,1,1,1,0,1,1\n1,1,5,2,0,3,2,0,1,1,1,2,1,1\n3,4,1,2,4,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,2,3,2,0,1,2,0,1,1,1,1,1,1\n1,2,1,2,1,3,1,0,1,1,1,1,1,1\n1,0,8,0,0,10,2,4,1,1,1,0,1,0\n1,4,0,3,2,4,1,0,1,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,0,6,2,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n1,3,3,2,1,1,5,0,1,1,1,0,1,0\n0,0,12,1,4,2,3,4,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,5,2,0,1,1,1,1,1,0\n2,0,6,2,4,1,3,0,0,1,1,2,1,0\n1,0,1,2,1,4,3,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,5,1,2,0,8,2,0,1,1,1,2,1,0\n2,0,3,2,0,8,2,0,1,1,1,1,1,1\n2,1,13,3,0,5,2,0,1,1,1,2,1,0\n0,0,7,1,2,1,1,0,1,1,1,1,1,0\n1,0,12,1,2,7,3,1,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,1\n0,0,0,3,2,2,1,0,1,1,1,2,1,0\n1,2,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,14,0,3,8,4,0,1,1,1,0,1,0\n0,0,6,2,2,6,3,0,1,1,1,1,1,0\n1,3,0,3,1,0,3,2,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,1\n1,0,2,1,0,2,2,4,1,1,1,0,1,1\n0,3,3,2,2,8,4,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,4,1,1,1,0,1,0\n0,1,1,2,0,1,2,0,1,1,1,2,1,0\n0,1,13,3,2,5,3,0,1,1,1,1,1,1\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,1,2,0,2,0,0,0,1,1,2,1,1\n0,0,6,2,2,2,3,0,0,1,1,0,1,0\n0,0,3,2,0,9,2,4,1,1,1,0,1,0\n1,4,0,3,0,5,0,0,0,1,1,0,1,1\n0,5,3,2,3,8,5,4,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,4,10,3,2,5,1,4,0,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,3,5,2,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,1,0,1,1,1,0,1,1\n0,0,3,2,3,6,3,0,0,1,1,0,1,0\n1,3,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,1,2,2,3,3,0,0,1,1,0,1,0\n0,0,6,2,2,2,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n2,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,8,0,3,9,3,4,1,1,1,0,1,0\n0,0,1,2,2,9,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,4,3,2,0,10,2,0,1,1,1,2,1,1\n1,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,0,3,2,1,2,4,4,0,1,1,2,1,0\n0,5,0,3,2,5,3,0,1,1,1,0,1,0\n0,1,12,1,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n2,0,14,0,3,7,3,0,0,1,1,0,1,0\n0,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,0,3,2,8,3,0,0,1,1,2,1,0\n1,1,3,2,0,9,2,1,1,1,1,1,1,0\n0,0,3,2,2,7,1,0,1,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,3,0,1,1,1,1,1,0\n0,0,7,1,2,6,1,4,0,1,1,2,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n0,0,6,2,2,3,1,1,1,1,1,0,1,0\n1,5,3,2,1,2,3,0,1,1,1,0,1,0\n0,0,3,2,2,3,5,4,0,1,1,2,1,0\n1,0,10,3,2,5,3,0,0,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,4,1,4,1,1,1,2,1,0\n2,0,5,2,0,2,2,0,1,1,1,1,1,0\n1,0,10,3,1,4,3,0,1,1,1,1,1,1\n0,0,3,2,0,11,0,0,0,1,1,0,1,0\n0,5,3,2,2,2,1,0,1,1,1,2,1,0\n2,0,1,2,4,2,3,0,0,1,1,2,1,0\n0,0,6,2,1,10,3,0,1,1,1,1,1,0\n0,0,12,1,1,1,5,0,1,1,1,0,1,0\n1,3,1,2,0,5,0,0,0,1,1,0,1,1\n0,0,12,1,2,7,5,4,0,1,1,0,1,0\n2,0,1,2,0,0,2,0,1,1,1,2,1,0\n1,0,6,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,13,3,2,5,3,0,0,1,1,1,1,1\n0,0,6,2,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,4,4,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,5,0,3,2,12,3,4,1,1,1,0,1,0\n0,1,1,2,2,1,1,0,1,1,1,1,1,0\n1,0,6,2,2,8,3,0,1,1,1,1,1,1\n0,0,0,3,2,1,3,2,1,1,1,0,1,0\n0,0,0,3,0,8,0,0,0,1,1,1,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,2,1,0\n0,1,3,2,2,2,3,0,1,1,1,2,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,0,0,0,1,1,2,1,0\n1,0,3,2,0,2,2,1,1,1,1,0,1,0\n0,0,5,2,1,3,5,0,0,1,1,1,1,0\n0,0,3,2,2,8,3,0,1,1,1,1,1,0\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,1,5,5,0,0,1,1,0,1,0\n0,5,4,3,2,5,3,0,1,1,1,1,1,0\n1,0,1,2,0,3,0,4,0,1,1,0,1,0\n1,3,1,2,0,8,2,0,1,1,1,0,1,1\n2,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,5,0,3,2,5,4,0,1,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,1,3,2,1,4,5,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,0,2,0,0,0,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,0,9,1,1,1,3,0,1,1,1,0,1,0\n1,0,6,2,0,0,0,0,0,1,1,2,1,1\n1,0,3,2,1,7,1,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,1,1,2,1,2,3,0,1,1,1,1,1,0\n0,0,7,1,0,7,0,0,0,1,1,2,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,2,3,5,4,0,1,1,0,1,0\n2,0,0,3,0,12,2,0,1,1,1,0,1,1\n1,0,11,0,0,2,2,4,1,1,1,2,1,0\n1,4,10,3,1,5,5,0,0,1,1,1,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,3,7,3,4,1,1,1,0,1,0\n1,0,10,3,2,4,3,0,0,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n2,0,0,3,1,4,3,0,0,1,1,0,1,1\n2,0,7,1,3,7,5,0,0,1,1,0,1,0\n1,0,0,3,2,4,3,0,1,1,1,1,1,1\n1,3,0,3,0,1,2,0,1,1,1,0,1,0\n1,0,7,1,0,1,2,0,1,1,1,0,1,0\n3,4,1,2,2,5,4,0,0,1,1,2,1,0\n2,0,3,2,1,2,5,4,0,1,1,2,1,0\n0,0,1,2,2,6,1,4,1,1,1,0,1,0\n0,5,1,2,0,5,0,0,0,1,1,1,1,0\n2,0,3,2,4,8,3,0,0,1,1,2,1,0\n2,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,1,4,1,1,1,0,1,0\n0,0,0,3,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,5,3,0,0,1,1,2,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,2,1,1,1,1,1,0\n0,0,3,2,2,2,5,4,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,2,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,5,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,4,1,1,1,0,1,0\n1,0,2,1,1,10,3,0,1,1,1,0,1,0\n2,1,0,3,0,9,2,0,1,1,1,1,1,0\n2,4,1,2,3,12,3,0,1,1,1,0,1,1\n2,0,1,2,2,8,3,0,1,1,1,1,1,0\n0,0,5,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,1,7,3,0,0,1,1,0,1,0\n1,0,5,2,0,3,0,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,5,6,3,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n2,1,5,2,0,3,2,0,1,1,1,1,1,1\n1,1,3,2,2,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,0,8,2,0,1,1,1,1,1,0\n2,0,3,2,1,4,5,0,0,1,1,1,1,0\n1,0,1,2,2,10,5,0,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,1,1,0\n0,0,7,1,2,2,5,4,0,1,1,2,1,0\n2,0,3,2,1,8,5,0,0,1,1,1,1,0\n0,0,10,3,2,3,3,0,0,1,1,2,1,0\n1,0,3,2,1,7,5,0,1,1,1,0,1,0\n0,0,1,2,2,5,3,0,1,1,1,2,1,0\n1,0,1,2,0,7,2,4,1,1,1,0,1,1\n0,0,2,1,2,2,3,4,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,4,0,0,1,1,2,1,0\n2,5,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,1,0,0,1,1,0,1,0\n1,0,1,2,4,8,4,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,6,3,0,1,1,1,0,1,0\n1,0,13,3,1,4,3,0,0,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,3,5,2,0,2,2,0,1,1,1,0,1,0\n0,0,10,3,2,4,3,4,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,4,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,1,3,2,1,1,5,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n2,0,1,2,0,1,2,0,1,1,1,1,1,0\n2,0,0,3,4,4,3,0,1,1,1,1,1,1\n0,0,0,3,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,4,0,1,1,0,1,0\n0,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,12,1,2,7,5,0,0,1,1,0,1,0\n1,0,3,2,2,2,1,0,1,1,1,0,1,0\n1,0,1,2,4,3,5,4,0,1,1,0,1,0\n1,0,0,3,2,5,3,4,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,14,0,2,7,3,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n2,1,10,3,0,0,2,0,1,1,1,2,1,1\n0,0,6,2,2,8,3,0,0,1,1,2,1,0\n0,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,7,1,2,9,1,0,1,1,1,0,1,0\n1,3,0,3,0,5,2,0,1,1,1,1,1,1\n1,5,3,2,2,1,5,0,1,1,1,0,1,0\n2,1,0,3,5,5,3,0,0,1,1,0,1,1\n0,0,3,2,0,1,0,0,0,1,1,0,1,0\n0,3,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,2,7,3,0,1,1,1,1,1,0\n3,0,3,2,4,10,5,0,1,1,1,1,1,0\n0,0,2,1,3,7,3,4,1,1,1,2,1,0\n0,0,3,2,2,2,3,4,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,3,1,2,2,8,3,4,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,4,0,5,0,0,1,1,2,1,0\n0,0,14,0,0,2,4,0,1,1,1,0,1,0\n0,0,6,2,0,0,2,0,1,1,1,0,1,0\n0,0,0,3,6,5,0,0,0,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,5,3,0,0,1,1,2,1,0\n0,1,4,3,2,5,3,0,1,1,1,0,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n2,4,3,2,0,10,2,0,1,1,1,0,1,0\n2,4,1,2,0,12,2,0,1,1,1,1,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,1,1,2,2,1,1,0,1,1,1,1,1,0\n1,4,3,2,0,12,2,0,1,1,1,0,1,1\n2,1,3,2,1,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,1,2,4,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,2,5,0,1,1,1,0,1,0\n0,0,7,1,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n2,0,0,3,4,9,1,1,1,1,1,0,1,0\n1,4,3,2,0,12,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,1,4,5,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,1,1,1,0,1,1\n2,4,3,2,0,10,2,0,1,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n1,4,10,3,4,4,5,4,0,1,1,2,1,0\n0,0,3,2,2,9,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,2,1,1,10,1,0,1,1,1,0,1,0\n1,0,6,2,0,3,2,0,1,1,1,1,1,0\n0,5,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,1,2,2,9,3,0,1,1,1,1,1,0\n1,0,1,2,1,10,5,0,1,1,1,1,1,0\n0,0,3,2,1,1,5,0,1,1,1,0,1,0\n0,4,3,2,3,8,5,0,0,1,1,2,1,0\n0,0,1,2,2,7,5,1,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,4,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n0,0,6,2,1,5,5,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,6,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,4,5,2,0,12,2,0,1,1,1,0,1,1\n1,0,6,2,2,0,3,0,0,1,1,2,1,0\n1,5,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,1,5,2,1,10,5,4,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,7,5,4,0,1,1,0,1,0\n2,2,1,2,0,0,2,0,1,1,1,1,1,1\n0,0,6,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,3,7,3,0,1,1,1,2,1,0\n0,0,12,1,2,2,1,0,1,1,1,0,1,0\n0,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,0,3,2,0,4,0,0,0,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n0,0,1,2,0,10,2,4,1,1,1,1,1,1\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,1,4,5,0,0,1,1,0,1,0\n0,0,5,2,1,3,5,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,4,0,0,1,1,0,1,0\n0,0,6,2,1,8,3,0,1,1,1,0,1,0\n2,0,12,1,1,7,3,0,0,1,1,0,1,0\n2,1,0,3,1,5,3,0,1,1,1,0,1,0\n0,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,1,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,1,1,1,2,1,0\n1,3,6,2,1,0,3,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,4,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,1,0,3,0,4,0,0,0,1,1,0,1,1\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n2,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,5,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,1,1,2,2,2,1,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,4,0,1,1,2,1,0\n2,0,7,1,1,8,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,4,0,3,4,5,3,0,0,1,1,2,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,5,4,0,1,1,0,1,0\n1,3,1,2,1,4,3,0,0,1,1,0,1,0\n0,2,1,2,0,4,2,1,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,1\n0,0,9,1,5,2,3,4,0,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,6,2,0,4,0,0,0,1,1,2,1,1\n2,4,3,2,4,4,4,0,0,1,1,2,1,0\n0,0,2,1,2,10,1,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,2,1,0\n2,0,1,2,0,5,2,0,1,1,1,1,1,1\n0,5,0,3,0,4,0,0,0,1,1,0,1,0\n1,0,7,1,2,2,5,4,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n1,0,1,2,0,4,0,0,0,1,1,0,1,1\n0,0,3,2,1,7,3,0,1,1,1,0,1,0\n1,0,3,2,1,11,5,4,0,1,1,2,1,0\n1,1,4,3,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,2,4,5,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,0,1,0\n2,2,3,2,0,10,2,0,1,1,1,0,1,0\n2,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,4,8,3,0,0,1,1,2,1,1\n2,0,13,3,0,5,2,0,1,1,1,0,1,1\n2,4,8,0,2,2,5,4,0,1,1,0,1,0\n0,3,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,12,1,2,2,5,4,0,1,1,2,1,0\n0,5,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,8,0,4,0,1,1,0,1,0\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n1,0,3,2,0,9,2,0,1,1,1,2,1,0\n1,0,1,2,1,2,5,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,5,1,2,2,12,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,4,1,0,1,1,1,2,1,0\n1,3,3,2,0,1,2,0,1,1,1,0,1,1\n1,5,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n2,0,1,2,1,8,5,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,2,1,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n0,0,3,2,2,4,1,0,0,1,1,0,1,0\n2,1,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,1,2,1,3,5,0,0,1,1,1,1,1\n0,0,0,3,2,4,3,0,1,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,2,1,1,1,2,1,0\n1,1,3,2,0,4,2,0,1,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n1,0,1,2,2,2,1,0,1,1,1,0,1,0\n0,6,3,2,2,1,1,4,1,1,1,0,1,0\n0,0,3,2,1,2,5,0,0,1,1,1,1,0\n2,0,1,2,0,5,2,0,1,1,1,2,1,0\n0,0,1,2,2,4,3,4,1,1,1,1,1,0\n0,2,1,2,2,4,3,0,1,1,1,2,1,0\n1,0,3,2,0,4,0,0,0,1,1,0,1,1\n0,0,3,2,3,10,5,4,0,1,1,1,1,0\n1,1,12,1,2,1,3,0,1,1,1,2,1,0\n1,2,1,2,1,4,3,0,1,1,1,0,1,0\n2,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,4,1,4,1,1,1,0,1,0\n1,0,3,2,4,3,3,0,0,1,1,2,1,0\n1,2,10,3,0,3,2,0,1,1,1,0,1,1\n1,0,9,1,5,6,3,3,1,1,1,1,1,0\n1,0,3,2,0,7,2,4,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,2,0,0,0,1,1,2,1,0\n1,0,4,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,1,1,1\n1,0,10,3,0,3,2,0,1,1,1,0,1,1\n0,0,7,1,0,9,0,0,0,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,1,14,0,0,10,2,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,4,0,3,2,0,3,4,1,1,1,1,1,1\n0,0,0,3,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,1\n0,3,1,2,0,12,2,0,1,1,1,1,1,0\n2,5,2,1,4,2,5,0,0,1,1,2,1,1\n0,0,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,5,0,1,4,1,1,1,0,1,0\n1,0,3,2,3,1,5,0,1,1,1,0,1,0\n1,3,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,8,0,0,10,2,0,1,1,1,0,1,0\n3,0,11,0,0,10,2,4,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n3,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,4,0,3,0,5,0,0,0,1,1,0,1,1\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,0,0,0,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,0,5,2,3,2,5,4,0,1,1,2,1,0\n1,3,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,5,2,0,5,0,4,0,1,1,0,1,1\n1,0,3,2,2,0,5,4,0,1,1,2,1,0\n2,2,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,10,3,2,5,3,4,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,10,3,0,5,0,0,0,1,1,2,1,1\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,0,7,1,5,7,5,4,1,1,1,1,1,0\n1,1,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,5,2,1,7,3,0,0,1,1,1,1,0\n0,0,3,2,1,4,5,4,0,1,1,0,1,0\n2,1,0,3,1,2,3,0,0,1,1,2,1,0\n0,0,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,0,3,1,3,1,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,12,1,3,7,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,1\n0,0,5,2,1,5,5,0,0,1,1,2,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n2,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,0,1,2,2,1,1,0,1,1,1,0,1,0\n1,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,0,1,2,1,11,5,0,0,1,1,2,1,0\n1,4,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,4,1,1,1,0,1,1\n1,0,1,2,0,2,2,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,1,4,3,0,0,1,1,2,1,0\n0,0,0,3,1,2,5,3,0,1,1,0,1,0\n2,4,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,4,3,2,5,3,0,1,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,12,1,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,0,7,2,0,1,1,1,1,1,1\n1,5,3,2,0,4,2,0,1,1,1,0,1,1\n2,0,6,2,0,1,2,0,1,1,1,1,1,1\n2,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,4,1,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,4,1,1,1,0,1,0\n1,0,4,3,1,4,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,0,6,2,4,1,1,1,1,1,0\n2,1,4,3,0,9,2,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,10,3,0,4,2,1,1,1,1,1,1,1\n0,0,1,2,1,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,4,0,1,1,1,1,0\n1,0,6,2,1,1,5,0,1,1,1,1,1,1\n0,1,1,2,0,3,2,0,1,1,1,1,1,0\n1,3,6,2,3,8,3,4,1,1,1,0,1,0\n2,1,1,2,1,10,3,0,0,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n2,0,3,2,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,5,0,0,1,1,2,1,0\n1,3,1,2,0,8,2,0,1,1,1,1,1,0\n0,4,0,3,2,12,3,0,1,1,1,0,1,0\n1,2,1,2,1,4,3,0,1,1,1,1,1,1\n1,0,0,3,1,9,3,0,1,1,1,0,1,0\n3,0,3,2,4,2,3,0,0,1,1,2,1,0\n0,3,1,2,2,2,3,0,0,1,1,2,1,0\n1,3,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,4,11,3,0,0,1,1,2,1,0\n2,3,10,3,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,4,1,1,1,0,1,1\n0,0,0,3,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,2,0,1,0,0,1,1,0,1,0\n1,0,1,2,1,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,6,4,0,1,1,1,0,1,0\n1,0,3,2,0,4,0,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,9,3,0,1,1,1,0,1,0\n1,4,1,2,1,8,5,0,0,1,1,0,1,0\n2,1,3,2,3,2,3,4,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,5,1,4,0,1,1,1,0,1,0\n1,1,5,2,1,1,3,0,1,1,1,0,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,2,2,3,4,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n2,1,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,6,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n0,0,10,3,0,5,2,1,1,1,1,0,1,0\n2,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,0,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n1,0,12,1,4,7,3,4,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,1,1,2,2,1,3,0,1,1,1,2,1,0\n2,1,10,3,1,3,3,0,1,1,1,1,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,2,13,3,0,5,2,4,1,1,1,1,1,1\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,1,2,1,2,1,3,0,1,1,1,1,1,1\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n0,0,0,3,2,8,3,0,1,1,1,0,1,1\n0,2,0,3,2,4,3,0,1,1,1,0,1,0\n1,0,5,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,3,5,0,0,1,1,0,1,0\n1,0,3,2,4,7,5,0,0,1,1,2,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n2,1,3,2,0,2,2,0,1,1,1,0,1,0\n1,1,3,2,5,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,5,0,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,7,5,0,1,1,1,0,1,0\n1,0,3,2,2,3,3,0,0,1,1,2,1,0\n0,0,3,2,2,10,3,0,1,1,1,2,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n1,5,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,6,1,4,1,1,1,0,1,0\n0,0,0,3,0,3,0,0,0,1,1,1,1,0\n1,4,10,3,2,5,3,0,0,1,1,0,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,1\n1,1,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,3,3,2,1,1,3,0,1,1,1,0,1,0\n0,3,10,3,0,10,2,4,1,1,1,0,1,0\n0,2,3,2,0,3,2,4,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,0\n1,4,3,2,1,2,1,4,0,1,1,0,1,0\n1,3,5,2,0,2,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n1,0,6,2,0,5,2,0,1,1,1,0,1,1\n1,2,13,3,1,4,3,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,6,2,2,1,3,0,1,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,3,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n2,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,3,4,1,1,1,0,1,0\n2,4,10,3,1,5,3,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,6,2,0,7,2,0,1,1,1,0,1,0\n1,5,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,4,3,2,0,8,0,1,0,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,7,1,3,8,3,0,1,1,1,1,1,0\n0,0,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,2,1,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,5,5,4,1,0,1,1,2,1,1\n1,4,10,3,1,5,3,0,0,1,1,0,1,0\n1,0,3,2,1,4,3,0,0,1,1,0,1,0\n0,0,7,1,2,2,1,0,1,1,1,2,1,0\n0,0,8,0,2,1,1,0,1,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,1\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n1,2,0,3,4,5,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,5,3,2,1,4,3,0,1,1,1,0,1,0\n0,4,5,2,0,1,2,0,1,1,1,1,1,0\n1,0,12,1,2,1,1,0,1,1,1,2,1,0\n1,3,13,3,3,5,5,4,0,1,1,2,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,5,1,3,4,1,1,1,0,1,0\n1,1,10,3,2,4,3,4,1,1,1,2,1,0\n1,0,6,2,0,0,2,0,1,1,1,0,1,0\n1,0,3,2,2,2,1,4,1,1,1,2,1,0\n0,0,1,2,0,8,2,4,1,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,7,1,2,2,1,0,0,1,1,1,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,2,7,3,0,0,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,0\n1,4,1,2,1,4,3,0,1,1,1,1,1,0\n0,0,5,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,2,4,3,0,1,1,1,1,1,1\n1,4,3,2,1,8,3,0,0,1,1,2,1,0\n1,2,5,2,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,1,8,1,0,1,1,1,0,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n1,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,3,4,3,0,5,2,0,1,1,1,1,1,1\n1,5,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,4,1,1,1,1,1,0\n0,0,5,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n2,0,1,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,9,1,0,1,1,1,0,1,0\n0,0,0,3,0,8,1,2,0,1,1,2,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,5,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,1,3,4,0,0,1,1,2,1,0\n0,0,9,1,0,7,2,0,1,1,1,0,1,0\n2,0,1,2,4,2,5,0,0,1,1,2,1,0\n1,1,3,2,2,9,5,0,1,1,1,1,1,0\n2,0,8,0,5,7,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,0,0,0,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,10,3,2,5,3,0,1,1,1,1,1,1\n2,5,13,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n0,0,10,3,0,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,1,5,5,0,0,1,1,1,1,0\n1,0,11,0,5,9,3,0,1,1,1,2,1,0\n0,0,3,2,2,4,5,0,0,1,1,0,1,0\n0,0,2,1,0,10,2,0,1,1,1,0,1,1\n0,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,8,0,0,10,2,0,1,1,1,2,1,0\n2,1,3,2,1,4,3,0,1,1,1,1,1,0\n1,0,3,2,2,8,3,0,0,1,1,2,1,0\n1,4,10,3,0,5,2,4,1,1,1,2,1,1\n1,4,2,1,2,2,5,0,0,1,1,2,1,0\n1,0,3,2,5,7,5,0,0,1,1,0,1,0\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,1,2,3,4,1,1,1,0,1,0\n0,0,1,2,2,5,1,0,1,1,1,1,1,0\n0,0,5,2,2,5,1,0,0,1,1,0,1,0\n1,1,0,3,0,5,2,0,1,1,1,2,1,0\n2,1,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,6,4,0,1,1,1,2,1,0\n0,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,5,3,2,2,2,1,0,0,1,1,2,1,0\n1,5,0,3,0,5,4,0,1,1,1,0,1,0\n0,3,3,2,2,8,3,1,1,1,1,0,1,0\n2,1,6,2,0,1,2,0,1,1,1,0,1,1\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n1,5,0,3,1,5,3,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,1,4,3,4,1,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,1,1,1\n1,5,0,3,2,8,4,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,1,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,4,4,3,4,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,5,7,1,0,0,1,1,0,1,0\n1,0,3,2,0,0,0,0,0,1,1,0,1,0\n0,1,1,2,2,9,1,0,1,1,1,2,1,0\n0,0,5,2,2,8,3,0,0,1,1,0,1,1\n1,0,2,1,2,6,4,4,0,1,1,0,1,0\n1,3,0,3,0,6,2,0,1,1,1,1,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,0\n3,0,8,0,0,3,2,0,1,1,1,2,1,1\n3,0,0,3,0,4,0,0,0,1,1,0,1,1\n2,3,3,2,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n0,0,9,1,2,6,1,4,0,1,1,1,1,0\n0,0,1,2,2,2,1,4,1,1,1,1,1,0\n0,3,0,3,2,5,1,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,3,5,2,1,8,5,1,1,1,1,0,1,0\n0,4,3,2,2,2,5,4,0,1,1,2,1,0\n1,4,12,1,0,6,2,0,1,1,1,0,1,1\n2,1,3,2,0,9,2,0,1,1,1,2,1,0\n2,0,12,1,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,1,3,3,2,1,1,1,1,1,1\n0,4,3,2,2,2,1,0,0,1,1,1,1,0\n2,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,4,0,1,1,1,1,0\n2,0,5,2,1,8,3,0,1,1,1,0,1,0\n0,1,5,2,0,8,0,0,0,1,1,2,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,0,0,2,0,1,1,1,0,1,0\n2,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,0,0,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,0,5,2,0,1,1,1,2,1,1\n0,0,9,1,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,1,1,1\n3,0,12,1,4,8,3,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,2,1,3,0,1,1,1,0,1,0\n2,0,3,2,1,2,3,0,0,1,1,0,1,0\n2,0,10,3,1,8,3,0,0,1,1,1,1,0\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n2,0,1,2,4,8,3,0,0,1,1,2,1,0\n2,0,12,1,4,3,3,0,0,1,1,2,1,0\n0,1,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,7,5,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,5,3,2,2,2,1,4,1,1,1,1,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,5,13,3,3,5,5,0,0,1,1,0,1,1\n2,0,6,2,0,4,2,0,1,1,1,0,1,0\n1,0,12,1,3,8,5,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,3,3,2,2,8,1,0,0,1,1,2,1,0\n0,4,1,2,0,10,2,0,1,1,1,0,1,0\n2,5,13,3,2,4,3,0,0,1,1,1,1,1\n1,0,8,0,0,9,2,0,1,1,1,2,1,0\n2,1,1,2,1,4,3,0,1,1,1,1,1,0\n0,0,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,0,3,2,3,1,4,0,1,1,2,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,5,3,0,0,1,1,1,1,0\n0,1,1,2,2,4,3,4,1,1,1,1,1,0\n2,1,3,2,1,5,3,0,0,1,1,2,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,8,0,0,9,2,0,1,1,1,0,1,0\n2,0,0,3,1,5,5,0,0,1,1,0,1,0\n1,0,10,3,1,5,1,0,0,1,1,0,1,0\n0,0,3,2,3,2,5,0,0,1,1,1,1,1\n0,0,3,2,0,12,2,1,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,1,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,1,10,1,4,1,1,1,0,1,0\n2,0,1,2,2,12,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n0,0,1,2,2,4,1,1,1,1,1,0,1,0\n1,0,9,1,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n3,1,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,0,7,0,0,0,1,1,0,1,0\n2,4,3,2,0,9,2,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,1,1,1\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,12,1,2,2,4,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n0,1,7,1,2,5,3,0,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,3,6,3,3,1,1,1,2,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,4,7,4,4,0,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n2,2,3,2,4,2,5,0,0,1,1,2,1,0\n1,3,1,2,0,4,2,4,1,1,1,0,1,1\n0,0,1,2,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,0,3,1,4,5,0,0,1,1,0,1,0\n1,0,1,2,1,2,1,0,0,1,1,1,1,0\n2,0,3,2,4,2,5,0,0,1,1,0,1,0\n0,0,0,3,2,8,1,1,0,1,1,2,1,0\n0,5,10,3,2,5,3,0,0,1,1,0,1,0\n0,5,0,3,3,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,5,2,0,3,0,0,0,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,0,3,2,3,3,0,1,1,1,1,1,1\n1,0,1,2,4,8,5,4,0,1,1,1,1,0\n0,0,8,0,0,3,2,0,1,1,1,0,1,0\n2,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,5,2,0,4,2,4,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,8,0,1,7,5,4,0,1,1,0,1,0\n0,0,3,2,2,2,3,4,0,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,4,1,1,1,0,1,0\n2,0,1,2,3,3,3,0,0,1,1,0,1,0\n1,1,0,3,0,4,2,1,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,1,1,2,1,6,1,0,0,1,1,0,1,0\n1,4,1,2,5,4,5,4,0,1,1,2,1,0\n0,5,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,5,2,5,4,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,3,2,2,4,3,0,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,8,3,0,0,1,1,0,1,0\n1,4,1,2,0,8,2,0,1,1,1,0,1,1\n0,1,3,2,2,1,3,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,4,0,1,1,2,1,0\n0,3,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,5,2,2,5,1,0,0,1,1,0,1,0\n2,0,3,2,1,3,4,0,0,1,1,2,1,0\n0,2,6,2,2,3,3,0,1,1,1,1,1,0\n2,0,3,2,4,3,3,0,0,1,1,2,1,1\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n2,0,8,0,0,12,2,0,1,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n2,0,4,3,2,5,4,0,0,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n2,0,10,3,0,3,2,0,1,1,1,1,1,1\n1,5,3,2,2,12,3,0,1,1,1,0,1,1\n1,0,1,2,0,8,0,0,0,1,1,0,1,0\n1,0,1,2,2,8,3,0,0,1,1,1,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,1,3,2,0,0,2,0,1,1,1,1,1,0\n0,0,3,2,3,8,1,0,0,1,1,2,1,0\n2,4,0,3,4,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,2,4,3,0,0,1,1,2,1,0\n0,0,0,3,0,7,2,0,1,1,1,1,1,0\n2,0,3,2,5,2,5,0,0,1,1,2,1,0\n0,0,3,2,2,7,3,1,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,2,1,0\n2,5,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,10,3,0,1,1,1,1,1,0\n0,1,2,1,0,10,2,0,1,1,1,1,1,0\n1,0,1,2,1,4,5,0,0,1,1,1,1,0\n1,0,0,3,1,10,3,0,1,1,1,0,1,0\n2,0,11,0,0,6,2,0,1,1,1,2,1,0\n1,0,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,2,1,1\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n1,5,1,2,0,8,0,0,0,1,1,0,1,1\n1,1,13,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,5,8,0,2,0,5,0,0,1,1,2,1,0\n1,0,9,1,0,8,0,0,0,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,1,1,0\n2,0,1,2,1,7,3,0,1,1,1,1,1,0\n0,0,1,2,2,5,3,0,0,1,1,0,1,0\n1,0,12,1,5,8,5,4,0,1,1,2,1,0\n1,0,1,2,1,4,5,0,0,1,1,1,1,0\n2,5,0,3,0,5,0,0,0,1,1,2,1,1\n2,4,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,1,5,5,0,0,1,1,2,1,0\n1,0,1,2,1,6,3,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,3,0,3,2,0,3,0,1,1,1,1,1,0\n2,0,3,2,1,6,3,0,1,1,1,0,1,0\n1,0,1,2,1,6,3,0,1,1,1,1,1,1\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,5,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,5,2,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,0,6,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,3,0,3,2,13,3,0,1,1,1,0,1,0\n2,0,1,2,0,8,0,0,0,1,1,2,1,0\n2,0,10,3,0,5,2,0,1,1,1,0,1,1\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,9,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,5,1,2,1,8,5,4,1,1,1,0,1,0\n0,0,1,2,1,2,1,0,0,1,1,2,1,0\n2,4,0,3,1,1,3,4,1,1,1,2,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,4,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n1,0,5,2,1,10,3,4,1,1,1,0,1,0\n0,4,0,3,2,8,4,4,0,1,1,0,1,0\n2,0,10,3,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,7,1,4,0,1,1,0,1,0\n1,0,5,2,0,7,2,0,1,1,1,0,1,0\n2,0,8,0,4,3,4,0,0,1,1,2,1,0\n2,1,1,2,0,9,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,4,3,0,1,1,2,1,0\n1,3,10,3,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n1,0,10,3,0,3,2,0,1,1,1,0,1,0\n1,0,6,2,1,0,3,0,0,1,1,0,1,0\n0,2,3,2,2,8,1,0,0,1,1,2,1,0\n1,0,12,1,1,7,3,0,0,1,1,2,1,0\n0,0,1,2,2,7,1,1,1,1,1,2,1,0\n1,0,10,3,2,3,3,0,1,1,1,1,1,1\n1,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,2,6,3,0,0,1,1,0,1,0\n1,1,1,2,1,3,3,0,0,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,2,1,0,7,1,0,0,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,2,1,0\n2,3,3,2,4,8,5,0,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,1,7,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,3,1,3,0,1,1,1,0,1,0\n2,2,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,4,2,4,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,2,5,3,0,1,1,1,1,1,1\n2,0,8,0,0,10,2,0,1,1,1,0,1,0\n1,0,0,3,1,4,5,0,0,1,1,1,1,1\n0,0,1,2,2,7,3,0,1,1,1,0,1,1\n1,0,3,2,3,8,5,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,6,2,1,0,3,0,1,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,1,8,4,2,0,1,1,2,1,0\n1,0,1,2,0,6,2,4,1,1,1,0,1,1\n2,4,3,2,0,2,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,8,0,0,4,2,2,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,9,1,4,1,1,1,2,1,0\n1,3,3,2,2,4,5,4,0,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,2,1,2,8,3,0,0,1,1,2,1,0\n1,0,0,3,2,4,3,0,1,1,1,0,1,1\n1,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,1,0,1,1,0,1,0\n0,0,6,2,2,0,1,0,0,1,1,2,1,0\n0,0,10,3,2,8,3,0,1,1,1,0,1,0\n0,0,2,1,2,3,5,0,1,1,1,2,1,0\n2,0,8,0,4,2,5,2,0,1,1,2,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,9,1,0,1,1,1,0,1,0\n0,5,1,2,2,8,4,0,0,1,1,2,1,0\n1,0,3,2,0,5,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,4,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,7,2,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,4,0,3,1,5,3,0,1,1,1,2,1,0\n0,0,1,2,0,8,2,0,1,1,1,1,1,0\n2,0,7,1,0,2,2,0,1,1,1,0,1,0\n0,0,10,3,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,2,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n1,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,4,3,1,1,1,0,1,0\n1,0,1,2,0,4,0,0,0,1,1,2,1,1\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,3,1,4,1,1,1,0,1,0\n0,1,2,1,2,9,1,4,1,1,1,0,1,0\n0,1,1,2,2,1,3,0,1,1,1,0,1,0\n2,0,7,1,0,1,2,4,1,1,1,0,1,1\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,4,1,1,1,0,1,0\n1,0,10,3,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,3,7,5,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,1,3,2,2,1,3,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,4,1,1,1,0,1,1\n2,0,7,1,2,2,3,4,1,1,1,1,1,0\n0,0,6,2,2,7,3,0,1,1,1,0,1,0\n1,3,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,6,2,2,1,3,0,1,1,1,1,1,0\n0,0,6,2,1,4,3,0,1,1,1,1,1,1\n1,1,3,2,3,2,4,0,0,1,1,2,1,0\n2,1,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,5,2,0,3,2,0,1,1,1,0,1,0\n0,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,6,2,1,1,3,0,1,1,1,2,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,0\n0,0,3,2,1,10,3,0,1,1,1,0,1,0\n0,0,7,1,2,1,1,0,1,1,1,0,1,0\n2,1,5,2,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,0,4,0,0,0,1,1,2,1,1\n0,0,3,2,1,6,5,0,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n2,0,2,1,4,0,5,0,0,1,1,2,1,0\n0,0,12,1,5,1,5,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n1,0,3,2,3,8,3,0,1,1,1,0,1,0\n1,1,0,3,0,1,2,0,1,1,1,0,1,1\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,4,1,2,2,12,1,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,2,5,2,0,4,2,0,1,1,1,1,1,1\n2,4,10,3,4,5,3,0,0,1,1,0,1,0\n0,3,0,3,2,5,1,0,0,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n2,0,8,0,4,2,3,4,0,1,1,2,1,0\n0,0,6,2,2,10,1,0,1,1,1,1,1,0\n2,0,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,6,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,1,5,3,4,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,0,6,2,2,1,1,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n2,0,6,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,1,5,2,0,3,2,0,1,1,1,0,1,1\n2,0,9,1,0,5,2,0,1,1,1,0,1,1\n1,0,5,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,4,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,1,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,12,1,0,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,0,9,1,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,10,3,1,4,1,0,0,1,1,1,1,1\n3,1,3,2,4,4,3,0,1,1,1,2,1,0\n0,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,4,8,5,0,0,1,1,0,1,0\n0,0,3,2,0,8,0,4,0,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,0,3,2,0,0,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,5,10,3,2,5,3,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,4,3,2,1,8,5,4,0,1,1,0,1,0\n0,0,3,2,3,6,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,2,1,0\n0,0,7,1,2,2,1,4,1,1,1,2,1,0\n0,0,3,2,2,2,1,4,1,1,1,1,1,0\n0,0,3,2,2,6,3,4,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n2,0,3,2,1,7,3,4,0,1,1,0,1,0\n1,0,1,2,1,3,4,0,0,1,1,2,1,0\n2,4,1,2,4,2,3,0,0,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,1,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n1,4,0,3,0,4,2,4,1,1,1,0,1,0\n1,3,6,2,0,1,2,4,1,1,1,0,1,1\n0,0,6,2,2,3,3,0,1,1,1,1,1,0\n1,0,10,3,0,5,0,0,0,1,1,0,1,0\n1,0,13,3,1,5,3,0,1,1,1,1,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,1,1,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,1,3,2,2,9,3,0,1,1,1,1,1,0\n0,5,0,3,2,5,1,0,1,1,1,1,1,0\n1,0,1,2,0,5,0,0,0,1,1,0,1,0\n2,0,1,2,4,3,3,0,0,1,1,2,1,0\n1,0,1,2,0,4,0,0,0,1,1,0,1,1\n1,0,6,2,1,5,3,0,1,1,1,1,1,0\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n2,0,3,2,4,4,3,0,0,1,1,2,1,1\n1,5,0,3,0,5,2,0,1,1,1,2,1,0\n2,0,3,2,2,8,4,0,0,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,2,1,0\n2,0,10,3,0,3,2,0,1,1,1,0,1,0\n0,0,5,2,2,3,1,0,0,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,2,5,3,0,1,1,1,0,1,0\n0,0,2,1,3,11,5,0,0,1,1,2,1,0\n0,0,0,3,2,5,1,0,0,1,1,2,1,0\n1,0,3,2,2,8,5,4,0,1,1,0,1,0\n0,0,10,3,2,5,3,4,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,1,0,0,1,1,0,1,0\n0,0,0,3,2,11,3,0,0,1,1,0,1,0\n2,4,3,2,3,12,4,4,0,1,1,0,1,0\n1,0,0,3,0,8,2,0,1,1,1,2,1,0\n2,0,14,0,3,2,4,0,0,1,1,2,1,0\n2,0,9,1,0,2,0,0,0,1,1,0,1,0\n1,0,6,2,1,0,5,0,0,1,1,0,1,0\n0,0,14,0,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,6,3,0,1,1,1,0,1,0\n0,1,2,1,1,6,3,0,1,1,1,2,1,0\n0,4,10,3,0,5,2,4,1,1,1,0,1,0\n1,0,1,2,0,2,2,0,1,1,1,1,1,0\n2,0,1,2,0,6,2,0,1,1,1,2,1,1\n1,0,5,2,4,5,5,0,0,1,1,2,1,0\n0,0,3,2,0,3,0,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,3,1,1,1,0,1,0\n2,1,0,3,1,4,3,0,1,1,1,1,1,0\n0,0,3,2,1,2,5,4,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,2,1,2,1,1,0,0,1,1,2,1,0\n0,0,3,2,1,3,3,0,0,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,0\n1,4,5,2,0,12,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,4,1,1,1,0,1,0\n2,0,10,3,2,4,3,0,1,1,1,0,1,0\n0,0,0,3,1,4,3,0,0,1,1,1,1,1\n1,4,0,3,3,5,3,4,1,1,1,2,1,0\n0,0,0,3,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,6,5,0,1,1,1,1,1,0\n1,0,3,2,1,8,5,0,0,1,1,1,1,0\n0,0,8,0,2,7,4,0,0,1,1,0,1,0\n1,3,1,2,5,8,3,4,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,1,6,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,5,1,2,2,5,1,0,1,1,1,2,1,0\n1,1,0,3,0,3,2,0,1,1,1,0,1,1\n2,0,12,1,0,10,2,0,1,1,1,1,1,0\n1,0,1,2,0,8,2,4,1,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,2,1,0\n0,0,3,2,1,1,4,4,0,1,1,1,1,0\n1,3,5,2,1,4,3,0,0,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,1,8,5,2,0,1,1,1,1,0\n1,0,3,2,2,7,1,0,1,1,1,0,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n2,0,2,1,0,10,2,0,1,1,1,0,1,0\n0,1,9,1,2,1,3,4,1,1,1,2,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,2,2,5,0,1,1,1,0,1,0\n2,5,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,4,3,4,0,1,1,0,1,0\n0,0,2,1,2,3,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,3,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,0,3,2,8,1,0,1,1,1,0,1,0\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n2,1,6,2,2,4,3,0,1,1,1,2,1,1\n1,0,12,1,0,4,2,0,1,1,1,0,1,0\n0,0,5,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n1,5,10,3,2,5,1,0,0,1,1,2,1,0\n0,0,3,2,2,4,3,0,0,1,1,1,1,0\n1,0,12,1,1,2,4,0,0,1,1,2,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,1,1,0,1,1,0,1,0\n1,1,10,3,1,4,5,0,0,1,1,0,1,0\n0,0,6,2,0,6,2,0,1,1,1,0,1,1\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,11,0,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,0,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,3,3,2,4,4,3,0,0,1,1,2,1,0\n0,0,3,2,0,3,0,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,2,1,1\n2,0,1,2,0,5,2,0,1,1,1,1,1,0\n1,5,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,2,1,2,2,1,0,1,1,1,1,1,0\n2,4,8,0,4,2,3,0,0,1,1,2,1,0\n1,1,2,1,0,10,2,0,1,1,1,0,1,0\n1,3,6,2,1,9,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,1,1,2,2,4,3,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,4,3,2,0,10,2,4,1,1,1,0,1,1\n2,0,13,3,2,5,3,0,1,1,1,1,1,0\n0,0,5,2,2,2,1,4,1,1,1,1,1,0\n1,0,3,2,1,2,1,0,0,1,1,2,1,0\n2,1,4,3,0,5,2,0,1,1,1,2,1,1\n1,0,3,2,2,1,3,0,1,1,1,1,1,0\n2,4,7,1,0,2,2,0,1,1,1,0,1,0\n1,0,12,1,1,2,5,0,0,1,1,2,1,0\n0,1,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,5,8,1,4,0,1,1,1,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,2,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,10,2,0,1,1,1,0,1,1\n1,5,0,3,0,4,2,0,1,1,1,2,1,0\n1,0,0,3,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,0,3,2,6,1,0,1,1,1,0,1,0\n2,1,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,5,3,0,1,1,1,1,1,0\n2,0,14,0,4,2,4,1,0,1,1,2,1,0\n0,0,7,1,3,2,3,0,1,1,1,0,1,0\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n3,0,15,0,2,11,3,1,0,1,1,1,1,0\n1,0,1,2,1,3,5,0,0,1,1,1,1,0\n2,0,3,2,0,3,2,0,1,1,1,2,1,0\n1,3,3,2,2,8,5,4,0,1,1,0,1,0\n0,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,5,1,2,2,5,3,0,0,1,1,2,1,0\n0,0,0,3,2,5,4,0,0,1,1,0,1,0\n1,0,14,0,0,10,2,2,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,5,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,2,1,0\n0,5,3,2,0,12,2,0,1,1,1,2,1,0\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,4,2,0,1,1,1,2,1,0\n3,1,1,2,5,1,3,0,1,1,1,2,1,0\n2,0,2,1,4,6,5,0,0,1,1,0,1,0\n1,0,1,2,1,1,3,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n2,0,10,3,0,3,2,0,1,1,1,1,1,0\n1,0,10,3,0,8,2,0,1,1,1,1,1,0\n0,4,1,2,2,8,5,4,0,1,1,0,1,0\n1,0,3,2,1,2,4,4,0,1,1,2,1,0\n1,2,13,3,0,5,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,4,2,5,1,0,1,1,2,1,0\n0,0,9,1,2,2,3,0,0,1,1,2,1,0\n0,0,8,0,0,6,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,4,1,1,1,2,1,0\n0,0,2,1,2,2,4,4,0,1,1,2,1,0\n0,0,3,2,2,1,4,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,0\n2,1,4,3,0,5,2,0,1,1,1,2,1,1\n0,0,1,2,2,4,1,4,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,6,2,1,1,3,0,1,1,1,0,1,0\n1,0,3,2,4,7,5,0,0,1,1,1,1,0\n0,0,0,3,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,4,2,1,0,0,1,1,0,1,0\n0,0,5,2,2,2,3,4,0,1,1,0,1,0\n0,0,1,2,1,3,5,0,0,1,1,1,1,0\n0,0,3,2,2,6,5,4,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,7,1,0,1,2,3,1,1,1,0,1,0\n1,1,8,0,2,9,3,0,1,1,1,1,1,0\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,0,3,0,8,0,0,0,1,1,0,1,1\n1,0,5,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,4,0,1,1,0,1,0\n0,4,0,3,2,5,3,0,1,1,1,2,1,0\n1,0,15,0,0,7,0,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n0,0,1,2,2,0,3,1,1,1,1,0,1,0\n0,0,6,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,3,1,3,0,1,1,1,0,1,0\n2,4,3,2,0,2,2,1,1,1,1,2,1,1\n0,0,3,2,2,2,1,1,0,1,1,2,1,0\n2,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,5,3,2,1,12,5,4,0,1,1,0,1,0\n0,0,13,3,2,5,3,0,0,1,1,2,1,0\n0,0,14,0,2,7,4,0,0,1,1,0,1,0\n0,0,3,2,2,2,5,0,0,1,1,2,1,0\n1,2,1,2,0,1,2,1,1,1,1,1,1,1\n0,0,9,1,0,7,2,0,1,1,1,0,1,0\n1,4,10,3,2,5,5,0,0,1,1,0,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,2,4,1,0,1,1,1,0,1,0\n0,0,0,3,2,1,3,4,1,1,1,1,1,0\n0,0,1,2,2,2,1,4,0,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,3,7,3,4,1,1,1,0,1,0\n1,5,0,3,1,1,3,0,1,1,1,0,1,0\n2,1,0,3,0,5,2,0,1,1,1,2,1,1\n0,0,10,3,2,4,5,0,0,1,1,1,1,0\n0,0,5,2,1,8,3,4,1,1,1,0,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,3,10,5,4,1,1,1,0,1,0\n2,1,3,2,0,4,2,0,1,1,1,0,1,1\n2,1,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,5,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,4,0,1,1,1,2,1,0\n0,0,7,1,2,1,5,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,2,1,0\n1,4,0,3,0,12,2,4,1,1,1,0,1,1\n0,0,5,2,1,8,1,0,0,1,1,0,1,0\n3,1,8,0,0,9,2,0,1,1,1,1,1,1\n1,1,8,0,0,1,2,0,1,1,1,2,1,0\n0,0,2,1,2,8,5,4,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,1,4,1,1,1,0,1,0\n1,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,2,0,3,0,1,1,1,2,1,0\n1,0,0,3,1,4,5,0,1,1,1,0,1,0\n1,1,13,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,5,6,2,0,1,2,0,1,1,1,0,1,0\n0,5,1,2,2,5,1,0,0,1,1,2,1,0\n1,0,10,3,2,8,3,0,1,1,1,1,1,1\n0,0,0,3,2,0,3,1,0,1,1,0,1,0\n1,3,0,3,1,4,5,4,0,1,1,1,1,1\n1,4,1,2,1,10,3,0,1,1,1,1,1,1\n0,0,10,3,0,4,0,0,0,1,1,0,1,0\n0,0,3,2,1,8,1,3,0,1,1,1,1,0\n2,0,3,2,2,1,3,4,1,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,0\n1,1,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,0,3,0,12,2,0,1,1,1,0,1,0\n1,5,0,3,2,5,3,1,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,1,3,2,2,9,3,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,2,4,5,4,0,1,1,2,1,0\n2,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,0,1,2,2,7,3,0,1,1,1,0,1,0\n0,2,5,2,0,8,0,0,0,1,1,2,1,0\n0,0,1,2,2,8,4,4,1,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,5,3,2,1,8,3,0,0,1,1,0,1,0\n1,4,0,3,1,4,5,0,0,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n1,0,2,1,3,6,5,0,1,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,5,10,3,2,8,3,4,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n1,4,0,3,0,12,2,1,1,1,1,0,1,1\n1,0,1,2,0,10,2,0,1,1,1,0,1,1\n0,1,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,5,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,4,1,2,2,10,1,0,1,1,1,0,1,0\n2,0,1,2,0,12,2,0,1,1,1,0,1,0\n0,0,2,1,0,9,2,0,1,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,2,1,1\n1,1,5,2,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,2,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,5,2,0,1,1,1,0,1,0\n1,0,12,1,0,1,2,4,1,1,1,0,1,0\n1,0,1,2,0,1,2,1,1,1,1,0,1,1\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,1,10,3,4,1,1,1,1,1,0\n0,0,1,2,2,0,3,0,1,1,1,1,1,0\n1,0,1,2,3,10,3,0,1,1,1,2,1,0\n0,5,1,2,2,4,1,0,1,1,1,1,1,0\n0,1,12,1,0,9,2,0,1,1,1,0,1,0\n3,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,6,2,0,5,2,0,1,1,1,0,1,1\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,2,1,0\n0,4,0,3,0,2,2,0,1,1,1,2,1,1\n1,1,1,2,0,6,2,0,1,1,1,1,1,1\n1,4,3,2,1,5,3,0,0,1,1,0,1,0\n0,0,3,2,1,7,3,0,1,1,1,1,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,6,2,2,0,1,0,0,1,1,0,1,0\n1,5,10,3,0,4,2,0,1,1,1,0,1,0\n2,1,1,2,1,4,3,0,1,1,1,1,1,1\n1,5,0,3,2,4,1,0,1,1,1,0,1,0\n1,2,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,4,1,1,1,2,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,7,2,0,1,1,1,0,1,1\n0,0,6,2,2,5,1,0,0,1,1,0,1,0\n2,1,3,2,1,5,3,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,4,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,4,1,1,1,2,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n2,0,1,2,4,3,3,0,0,1,1,2,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,0,3,2,1,3,3,0,1,1,1,1,1,0\n2,1,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,6,2,2,3,3,0,0,1,1,0,1,0\n0,5,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,1,8,3,0,0,1,1,1,1,0\n0,0,1,2,0,1,3,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,0,3,0,1,2,1,1,1,1,0,1,1\n1,0,12,1,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,1,4,3,0,0,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,7,1,0,1,2,0,1,1,1,2,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,4,3,2,2,8,5,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,1,2,2,7,3,0,0,1,1,2,1,0\n1,0,6,2,1,2,3,0,0,1,1,2,1,0\n1,2,13,3,0,5,2,0,1,1,1,1,1,1\n0,4,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,0,3,2,8,3,0,1,1,1,1,1,1\n1,0,0,3,1,3,3,0,0,1,1,1,1,0\n0,0,3,2,1,6,1,0,1,1,1,2,1,0\n0,0,1,2,2,6,4,0,0,1,1,2,1,0\n1,0,0,3,5,5,3,0,1,1,1,2,1,1\n0,0,3,2,2,8,5,4,0,1,1,0,1,0\n2,1,7,1,3,10,3,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,2,1,0\n0,0,12,1,2,2,4,0,1,1,1,2,1,0\n1,3,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,12,1,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,6,2,0,1,2,4,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,2,1,4,2,5,4,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,2,7,5,4,0,1,1,2,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,5,1,2,2,8,3,0,1,1,1,2,1,0\n0,0,2,1,3,1,4,0,1,1,1,1,1,0\n0,0,6,2,2,2,3,0,1,1,1,0,1,0\n1,0,1,2,2,1,5,0,0,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n1,0,3,2,1,4,5,0,0,1,1,0,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,4,2,3,0,0,1,1,2,1,0\n1,0,3,2,2,8,1,4,0,1,1,0,1,0\n1,0,10,3,0,4,2,1,1,1,1,0,1,1\n0,4,0,3,2,5,1,0,0,1,1,0,1,0\n1,0,1,2,2,4,3,0,1,1,1,0,1,0\n0,1,2,1,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,10,2,0,1,1,1,1,1,1\n0,2,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,5,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n2,2,13,3,0,4,2,0,1,1,1,1,1,1\n0,4,0,3,0,12,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,5,3,2,2,12,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,2,4,1,0,0,1,1,0,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,4,3,0,0,1,1,2,1,0\n2,0,10,3,0,5,2,0,1,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,1,3,2,3,2,3,0,0,1,1,2,1,0\n1,3,3,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,4,0,3,0,5,0,0,0,1,1,0,1,1\n1,6,3,2,0,7,0,0,0,1,1,2,1,0\n0,0,14,0,3,2,5,0,0,1,1,0,1,0\n1,0,6,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,4,0,1,1,0,1,0\n1,4,0,3,1,5,5,0,0,1,1,1,1,0\n2,5,3,2,0,0,0,0,0,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,4,1,0,0,1,1,0,1,0\n1,0,1,2,3,8,5,0,0,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,4,0,0,0,1,1,0,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n1,5,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,2,10,4,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,1,2,1,0,3,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,1,5,3,0,1,1,1,0,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,5,6,2,0,0,2,1,1,1,1,2,1,0\n1,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,6,2,4,1,1,1,0,1,0\n0,0,3,2,1,2,3,0,0,1,1,0,1,0\n0,0,2,1,2,1,3,2,1,1,1,1,1,1\n1,0,0,3,4,5,5,0,0,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n1,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,1,1,0\n0,0,9,1,2,7,5,4,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n2,0,8,0,4,4,3,0,1,1,1,0,1,1\n0,0,3,2,3,2,3,0,1,1,1,0,1,0\n0,4,1,2,2,8,5,4,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,2,4,0,1,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,0,3,2,3,3,0,1,1,1,1,1,1\n1,0,6,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n1,0,6,2,0,8,2,0,1,1,1,0,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,3,2,2,2,3,0,0,1,1,0,1,0\n0,4,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,1,2,0,2,2,0,1,1,1,0,1,1\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,1,2,1,6,1,0,1,1,1,0,1,0\n1,5,4,3,1,4,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,1,5,0,0,1,1,1,1,0\n0,0,0,3,2,0,3,4,0,1,1,1,1,0\n1,0,1,2,3,3,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,0,9,1,0,1,2,0,1,1,1,0,1,0\n1,1,10,3,0,3,2,0,1,1,1,1,1,0\n0,0,5,2,1,5,3,0,1,1,1,1,1,0\n0,3,1,2,2,8,1,4,0,1,1,0,1,0\n1,0,1,2,2,2,1,0,1,1,1,1,1,0\n0,0,3,2,2,5,1,0,1,1,1,0,1,0\n2,4,7,1,0,2,2,0,1,1,1,0,1,0\n1,1,0,3,1,3,3,0,1,1,1,1,1,0\n2,5,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n0,0,3,2,3,3,1,0,0,1,1,2,1,0\n0,0,2,1,0,1,2,0,1,1,1,2,1,0\n3,1,2,1,0,4,2,0,1,1,1,2,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n1,3,0,3,0,8,2,0,1,1,1,1,1,1\n1,0,12,1,3,7,1,0,0,1,1,1,1,0\n2,0,3,2,0,6,2,0,1,1,1,2,1,0\n0,0,5,2,0,0,2,0,1,1,1,1,1,1\n2,3,0,3,0,4,2,0,1,1,1,0,1,1\n1,1,10,3,0,4,2,0,1,1,1,1,1,1\n0,2,13,3,0,5,2,0,1,1,1,2,1,1\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,3,0,3,0,5,2,0,1,1,1,0,1,1\n0,4,0,3,0,5,2,0,1,1,1,1,1,0\n2,0,3,2,4,2,3,0,0,1,1,2,1,0\n1,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,0,0,0,1,1,0,1,1\n0,0,0,3,0,4,2,4,1,1,1,1,1,1\n0,1,7,1,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,1,1,1\n1,0,6,2,0,2,2,1,1,1,1,1,1,1\n0,1,0,3,0,1,2,1,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,4,0,1,1,0,1,0\n0,0,3,2,2,6,4,0,0,1,1,2,1,0\n0,0,0,3,2,4,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,0,5,2,0,1,1,1,1,1,0\n0,0,12,1,2,6,3,3,1,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,1,5,2,1,1,1,2,1,1,1,2,1,0\n0,0,12,1,2,7,1,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,4,1,1,1,2,1,0\n0,0,2,1,2,2,3,0,0,1,1,2,1,0\n1,0,0,3,2,4,3,0,1,1,1,1,1,0\n2,0,7,1,0,7,2,4,1,1,1,0,1,0\n1,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,5,2,0,5,2,0,1,1,1,0,1,1\n0,0,6,2,0,5,0,0,0,1,1,0,1,1\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,4,0,1,1,2,1,0\n1,0,5,2,0,3,2,0,1,1,1,0,1,1\n1,4,1,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,5,0,1,1,1,0,1,0\n0,0,5,2,1,8,3,4,0,1,1,1,1,0\n0,0,11,0,3,6,5,0,1,1,1,2,1,0\n1,0,1,2,1,1,3,0,1,1,1,2,1,0\n0,0,7,1,0,1,2,0,1,1,1,2,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,10,3,0,4,2,0,1,1,1,0,1,0\n1,0,0,3,0,6,2,0,1,1,1,0,1,0\n1,4,10,3,0,5,0,0,0,1,1,1,1,1\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,5,9,1,0,1,1,1,0,1,0\n1,0,8,0,0,10,2,0,1,1,1,0,1,0\n1,0,5,2,2,0,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,1,0,3,0,4,2,0,1,1,1,2,1,1\n0,5,3,2,3,8,5,0,0,1,1,2,1,0\n0,0,5,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,0,7,1,0,7,0,0,0,1,1,0,1,0\n2,0,10,3,0,3,2,0,1,1,1,1,1,1\n2,1,8,0,0,9,2,0,1,1,1,1,1,0\n2,0,7,1,4,3,5,0,0,1,1,2,1,0\n1,0,9,1,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n2,0,2,1,5,1,3,0,1,1,1,0,1,0\n0,0,7,1,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,1,3,3,0,1,1,1,0,1,1\n0,0,3,2,2,4,1,0,0,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,6,2,2,1,3,0,1,1,1,1,1,0\n1,4,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,8,0,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,4,8,3,0,0,1,1,2,1,0\n0,0,2,1,2,2,1,4,1,1,1,2,1,0\n1,0,6,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,4,1,1,1,2,1,0\n1,1,13,3,2,5,3,0,1,1,1,0,1,1\n0,0,9,1,2,6,1,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,0,8,2,0,1,1,1,1,1,1\n1,4,0,3,0,5,0,0,0,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,12,1,2,9,1,0,1,1,1,0,1,0\n3,2,1,2,0,3,2,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n1,4,1,2,2,5,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,3,1,2,0,4,2,4,1,1,1,0,1,0\n1,0,10,3,2,4,3,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,2,10,3,0,9,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,0,4,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,1,0,1,1,1,2,1,0\n1,0,1,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,2,12,3,1,1,1,1,0,1,0\n1,0,3,2,1,1,1,0,1,1,1,0,1,0\n3,2,3,2,4,3,3,0,1,1,1,1,1,1\n1,0,6,2,0,0,0,0,0,1,1,2,1,1\n0,5,1,2,3,4,1,0,0,1,1,0,1,0\n0,0,9,1,0,1,2,0,1,1,1,0,1,0\n1,3,6,2,0,0,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,7,1,2,10,1,0,1,1,1,0,1,0\n1,0,5,2,3,2,3,4,0,1,1,0,1,0\n0,0,3,2,0,0,2,0,1,1,1,0,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,6,2,2,8,3,0,0,1,1,0,1,0\n0,4,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,1,5,3,0,1,1,1,1,1,0\n0,0,2,1,5,6,5,0,0,1,1,0,1,0\n2,5,1,2,0,10,2,0,1,1,1,0,1,0\n2,4,1,2,1,4,3,0,0,1,1,0,1,0\n2,0,2,1,0,7,2,0,1,1,1,0,1,0\n2,3,0,3,0,4,0,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,1,3,2,0,4,2,0,1,1,1,1,1,0\n2,2,1,2,0,3,2,0,1,1,1,2,1,1\n1,0,10,3,1,4,5,0,1,1,1,1,1,1\n0,0,10,3,0,5,2,0,1,1,1,0,1,1\n2,1,3,2,2,4,3,4,1,1,1,1,1,1\n0,0,1,2,0,5,2,0,1,1,1,0,1,0\n2,1,2,1,0,2,0,0,0,1,1,0,1,0\n1,0,2,1,4,2,5,0,0,1,1,0,1,0\n0,0,5,2,2,4,3,0,1,1,1,1,1,1\n1,1,1,2,0,4,2,2,1,1,1,0,1,0\n2,0,7,1,0,6,2,0,1,1,1,0,1,0\n1,0,6,2,2,0,3,0,0,1,1,0,1,0\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n2,3,0,3,2,5,3,0,0,1,1,0,1,0\n0,5,6,2,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,4,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,3,0,3,5,0,3,1,1,1,1,0,1,0\n0,0,7,1,2,10,3,0,1,1,1,2,1,0\n1,1,12,1,4,10,4,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n2,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,2,7,3,4,0,1,1,0,1,0\n0,0,6,2,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,2,11,3,0,0,1,1,1,1,0\n0,0,6,2,2,8,1,0,0,1,1,2,1,0\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,2,1,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,14,0,2,9,4,0,1,1,1,0,1,0\n1,0,3,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n1,0,3,2,0,12,0,4,0,1,1,0,1,0\n0,0,3,2,1,7,5,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n1,0,12,1,3,10,1,0,1,1,1,2,1,0\n1,4,5,2,1,0,1,0,1,1,1,0,1,0\n2,4,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,1,4,5,0,0,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,12,1,2,8,1,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n2,4,1,2,4,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,8,5,4,0,1,1,0,1,0\n1,0,0,3,0,3,2,1,1,1,1,1,1,1\n1,0,0,3,1,8,5,0,0,1,1,0,1,0\n1,0,10,3,1,4,5,0,0,1,1,1,1,0\n2,0,3,2,4,3,3,0,0,1,1,2,1,0\n1,0,3,2,4,7,5,0,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n1,0,3,2,1,6,3,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n2,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,3,4,3,0,5,0,0,0,1,1,0,1,1\n1,0,3,2,1,4,3,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,0\n0,0,5,2,2,4,3,0,1,1,1,0,1,0\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,1,3,3,0,1,1,1,1,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,3,13,3,2,5,3,2,0,1,1,1,1,1\n0,0,0,3,0,2,0,1,0,1,1,1,1,1\n1,0,1,2,0,12,2,4,1,1,1,1,1,1\n1,2,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,7,1,2,1,1,0,1,1,1,2,1,0\n0,0,7,1,2,2,3,0,1,1,1,1,1,0\n1,0,1,2,1,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,11,1,0,0,1,1,2,1,0\n0,0,10,3,0,4,2,1,1,1,1,0,1,0\n1,1,6,2,0,5,2,0,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,2,5,3,0,0,1,1,2,1,0\n2,4,3,2,4,2,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,0,0,0,1,1,2,1,0\n1,4,1,2,1,8,5,4,0,1,1,0,1,0\n1,0,3,2,1,2,1,4,0,1,1,0,1,0\n1,0,0,3,1,5,5,0,0,1,1,1,1,0\n1,0,2,1,0,6,2,0,1,1,1,1,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,1,3,2,0,4,0,0,0,1,1,0,1,0\n0,0,1,2,1,2,1,0,0,1,1,2,1,0\n1,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,0,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,4,0,3,2,6,1,0,1,1,1,0,1,0\n1,2,3,2,0,3,2,1,1,1,1,0,1,1\n0,0,6,2,2,1,3,0,1,1,1,1,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,4,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,6,2,3,3,3,4,1,1,1,1,1,0\n1,0,0,3,2,4,3,0,1,1,1,2,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n2,2,4,3,0,5,2,1,1,1,1,1,1,1\n2,4,0,3,0,4,2,1,1,1,1,0,1,1\n1,0,0,3,1,5,5,0,0,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n1,0,1,2,0,2,0,0,0,1,1,0,1,0\n0,0,1,2,2,10,5,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,1,3,1,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,3,7,3,0,1,1,1,0,1,0\n1,4,3,2,1,12,3,0,1,1,1,0,1,0\n0,0,0,3,2,3,1,4,1,1,1,2,1,0\n0,0,6,2,0,2,2,0,1,1,1,1,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,1\n2,3,3,2,1,8,5,4,0,1,1,0,1,0\n2,0,12,1,4,9,5,0,1,1,1,2,1,0\n0,0,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,12,1,1,2,3,2,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,6,4,4,1,1,1,0,1,0\n0,0,1,2,2,11,1,0,0,1,1,2,1,0\n2,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,1,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,0,3,5,8,3,0,1,1,1,0,1,0\n1,0,0,3,0,9,2,0,1,1,1,1,1,1\n0,0,0,3,2,0,1,0,0,1,1,0,1,0\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,1,1,0,1,1,1,2,1,0\n1,0,2,1,0,5,0,0,0,1,1,2,1,1\n1,0,1,2,0,3,2,1,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,4,1,2,4,8,5,0,0,1,1,0,1,0\n2,1,8,0,0,9,2,0,1,1,1,0,1,0\n2,0,10,3,1,5,3,0,1,1,1,2,1,0\n0,0,1,2,0,0,2,0,1,1,1,0,1,0\n1,0,3,2,2,8,5,0,0,1,1,1,1,0\n0,4,5,2,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,2,10,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,1,2,0,1,1,1,1,1,1,0,1,0\n0,2,0,3,2,4,1,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,3,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,2,1,0,10,2,0,1,1,1,0,1,0\n0,5,0,3,0,4,0,0,0,1,1,2,1,1\n2,1,1,2,0,2,2,0,1,1,1,1,1,1\n1,4,10,3,1,5,3,0,1,1,1,0,1,0\n1,1,1,2,1,1,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,4,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,1,2,3,0,0,1,1,0,1,0\n2,0,3,2,1,8,5,0,0,1,1,1,1,0\n1,0,8,0,4,7,3,0,0,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n1,0,10,3,0,0,2,0,1,1,1,1,1,0\n1,2,3,2,0,1,2,0,1,1,1,0,1,1\n0,2,3,2,1,8,5,0,0,1,1,0,1,0\n1,2,3,2,1,1,5,0,1,1,1,1,1,0\n2,4,1,2,1,1,5,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,4,3,2,2,12,5,0,1,1,1,1,1,0\n2,0,3,2,0,3,2,0,1,1,1,2,1,1\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n0,0,8,0,2,7,5,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,6,2,2,2,3,0,0,1,1,1,1,0\n0,0,3,2,2,9,1,0,1,1,1,1,1,0\n2,3,13,3,1,4,3,0,0,1,1,1,1,1\n1,0,14,0,2,11,5,0,0,1,1,2,1,0\n0,0,3,2,2,3,3,0,0,1,1,1,1,0\n0,0,1,2,3,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,4,1,1,1,2,1,0\n2,2,4,3,0,5,2,1,1,1,1,1,1,1\n2,5,0,3,1,0,3,0,1,1,1,0,1,0\n0,0,0,3,2,4,1,0,1,1,1,1,1,1\n0,0,8,0,0,3,4,0,1,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,1,2,1,0,4,2,0,1,1,1,1,1,1\n1,0,5,2,0,9,2,0,1,1,1,1,1,1\n0,0,6,2,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,9,1,0,1,2,3,1,1,1,0,1,0\n3,1,3,2,0,9,2,1,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,4,0,3,0,4,2,4,1,1,1,0,1,1\n0,0,1,2,0,5,2,0,1,1,1,0,1,0\n2,3,3,2,3,8,4,4,0,1,1,2,1,0\n2,0,12,1,4,10,3,4,0,1,1,2,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,1,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,5,3,3,1,1,1,1,1,0\n1,0,1,2,1,0,5,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n2,5,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,5,4,0,1,1,0,1,0\n0,1,1,2,1,7,3,0,1,1,1,1,1,0\n2,2,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,3,2,1,8,3,0,0,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n1,1,3,2,3,2,3,0,0,1,1,2,1,0\n1,5,5,2,1,5,5,1,0,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n2,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,2,1,2,10,1,0,1,1,1,0,1,0\n0,0,2,1,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,2,4,3,0,0,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,1,13,3,1,4,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,4,4,0,1,1,2,1,0\n0,0,8,0,2,11,3,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n0,4,1,2,0,12,2,0,1,1,1,1,1,0\n2,4,10,3,0,12,2,0,1,1,1,2,1,1\n1,0,10,3,1,5,5,0,0,1,1,2,1,0\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n1,4,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,6,2,3,1,3,0,0,1,1,1,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,0\n1,3,6,2,0,5,2,0,1,1,1,1,1,0\n1,5,1,2,1,8,1,0,1,1,1,0,1,0\n0,1,1,2,0,5,2,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,2,1,2,10,1,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n2,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,2,1,3,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,1,2,2,6,1,1,0,1,1,0,1,0\n0,0,3,2,1,1,3,0,0,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,1,1,0\n1,0,14,0,0,3,2,0,1,1,1,0,1,0\n2,0,6,2,0,8,0,0,0,1,1,0,1,0\n2,1,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,3,7,5,4,0,1,1,2,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n0,4,3,2,2,12,1,4,0,1,1,0,1,0\n1,3,5,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,4,0,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,6,2,2,1,3,0,1,1,1,0,1,0\n1,5,3,2,2,10,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,0\n0,3,0,3,2,8,1,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,0,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,2,0,0,0,1,1,1,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n2,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,3,0,0,0,1,1,2,1,0\n1,4,10,3,3,4,5,4,1,1,1,1,1,1\n0,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n2,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,1,10,3,0,5,0,0,0,1,1,2,1,1\n0,0,1,2,0,3,2,2,1,1,1,0,1,0\n1,4,6,2,1,8,5,0,0,1,1,1,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,1,1,1,1,1,1,0\n0,0,7,1,2,2,1,4,1,1,1,2,1,0\n1,0,11,0,0,2,0,0,0,1,1,0,1,0\n1,5,3,2,3,8,5,0,0,1,1,2,1,0\n0,0,1,2,2,5,1,2,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,1\n1,0,10,3,2,3,3,0,1,1,1,1,1,1\n1,0,3,2,3,10,4,4,1,1,1,0,1,0\n0,0,14,0,0,1,4,0,1,1,1,0,1,0\n2,0,3,2,4,8,3,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,2,3,0,0,1,1,0,1,0\n0,0,3,2,1,4,3,0,1,1,1,1,1,0\n2,0,3,2,0,9,2,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,2,1,1,1,1,1,0\n0,0,2,1,2,1,1,0,1,1,1,1,1,0\n1,0,3,2,0,0,2,0,1,1,1,0,1,0\n0,4,1,2,0,2,0,0,0,1,1,0,1,0\n1,0,0,3,1,8,3,0,0,1,1,2,1,0\n1,0,2,1,1,8,5,0,0,1,1,2,1,0\n1,1,12,1,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,0,7,1,0,2,2,0,1,1,1,0,1,0\n2,0,12,1,1,2,5,0,0,1,1,0,1,0\n0,3,0,3,2,4,3,0,0,1,1,1,1,0\n1,0,0,3,0,5,0,0,0,1,1,2,1,1\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,5,0,1,1,1,1,1,0\n1,4,3,2,0,2,0,0,0,1,1,2,1,1\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,1,0,3,2,5,4,0,1,1,1,0,1,0\n2,0,5,2,1,5,3,4,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,4,1,2,2,9,1,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,4,3,2,2,8,3,0,0,1,1,2,1,0\n1,1,0,3,0,8,0,0,0,1,1,2,1,1\n0,0,3,2,0,8,4,0,1,1,1,0,1,0\n0,0,3,2,5,3,1,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,4,3,2,0,10,2,0,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,1,3,1,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,1,8,0,2,9,4,0,1,1,1,2,1,0\n1,2,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,1,1,3,0,1,1,1,0,1,0\n1,3,0,3,0,9,2,0,1,1,1,0,1,1\n1,0,3,2,1,2,3,0,1,1,1,0,1,0\n0,1,2,1,1,4,5,0,0,1,1,1,1,0\n0,0,3,2,1,1,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,2,1,0\n2,0,1,2,4,3,3,0,0,1,1,0,1,0\n0,0,0,3,0,4,0,0,0,1,1,0,1,0\n1,0,11,0,0,12,4,0,1,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,1,2,2,6,1,1,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,4,1,1,1,0,1,0\n2,0,1,2,0,0,2,0,1,1,1,2,1,0\n1,0,12,1,0,6,2,0,1,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n0,0,12,1,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,5,1,2,1,8,3,0,0,1,1,2,1,0\n2,1,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,2,0,1,0,0,1,1,0,1,0\n0,0,3,2,2,7,1,3,1,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n2,2,3,2,0,4,2,0,1,1,1,2,1,0\n1,0,3,2,0,7,0,0,0,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,2,1,1\n1,4,2,1,2,1,5,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,4,0,1,1,2,1,0\n0,0,1,2,3,0,5,4,0,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,8,0,0,2,0,0,0,1,1,0,1,0\n1,0,1,2,1,6,3,0,1,1,1,0,1,0\n0,0,8,0,2,9,4,3,1,1,1,0,1,0\n1,0,1,2,1,3,5,0,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,1,2,5,4,0,1,1,2,1,0\n0,0,3,2,2,2,1,4,0,1,1,0,1,0\n0,0,1,2,2,3,4,4,0,1,1,0,1,0\n2,4,13,3,0,4,2,0,1,1,1,0,1,0\n0,4,0,3,0,12,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,4,1,1,1,0,1,1\n0,0,12,1,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,2,1,0\n2,0,4,3,0,5,2,0,1,1,1,2,1,1\n2,0,14,0,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,1\n0,2,1,2,0,4,2,0,1,1,1,0,1,1\n2,0,7,1,0,7,0,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,6,2,2,8,1,0,0,1,1,0,1,0\n1,1,10,3,0,4,2,0,1,1,1,0,1,1\n2,5,1,2,0,12,2,0,1,1,1,0,1,1\n1,2,10,3,1,3,3,0,1,1,1,1,1,1\n1,0,3,2,3,8,5,0,0,1,1,2,1,0\n1,0,3,2,2,6,1,0,1,1,1,1,1,0\n0,0,3,2,2,5,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,1,7,3,0,1,1,1,1,1,0\n1,0,0,3,0,1,1,0,1,1,1,0,1,1\n1,0,3,2,1,1,5,0,0,1,1,0,1,0\n0,3,0,3,2,12,3,0,0,1,1,2,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,1,0,1,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,2,1,0\n1,4,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,2,2,3,4,1,1,1,2,1,0\n0,1,13,3,2,5,1,0,0,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,0,1,1,0,1,0\n1,0,1,2,4,7,5,0,0,1,1,2,1,0\n0,3,0,3,2,0,3,3,1,1,1,1,1,0\n0,4,0,3,2,5,3,0,0,1,1,1,1,0\n1,0,3,2,0,0,2,0,1,1,1,1,1,0\n0,3,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,0,3,1,0,3,0,0,1,1,0,1,0\n1,5,0,3,1,5,3,0,1,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,0,12,1,0,2,2,0,1,1,1,2,1,0\n0,4,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n2,0,12,1,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,3,4,3,2,5,3,1,0,1,1,1,1,1\n1,4,10,3,1,12,3,4,1,1,1,1,1,1\n1,0,13,3,0,5,2,1,1,1,1,0,1,1\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,2,8,3,0,0,1,1,2,1,0\n1,0,2,1,1,9,3,0,1,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,5,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,2,1,0\n2,3,5,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,5,0,0,1,1,1,1,0\n0,5,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,0,0,0,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n0,0,10,3,1,5,1,0,0,1,1,1,1,1\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,4,0,1,1,0,1,0\n2,4,0,3,0,5,2,4,1,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,1,1,0\n1,0,3,2,3,2,5,4,0,1,1,2,1,0\n0,0,3,2,3,2,3,4,0,1,1,0,1,0\n0,0,14,0,2,6,4,0,1,1,1,2,1,0\n1,0,0,3,1,5,5,0,0,1,1,0,1,0\n2,0,0,3,2,1,3,0,1,1,1,1,1,1\n1,0,12,1,1,8,5,0,0,1,1,0,1,0\n1,0,12,1,1,3,3,0,0,1,1,0,1,0\n1,0,9,1,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,0,1,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,1,0,5,0,0,1,1,2,1,0\n2,5,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,6,2,2,8,1,0,0,1,1,2,1,0\n1,4,1,2,0,4,2,0,1,1,1,0,1,1\n3,0,0,3,4,5,3,0,0,1,1,2,1,0\n1,4,12,1,2,2,3,0,1,1,1,0,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,2,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,2,1,0,10,2,0,1,1,1,1,1,0\n1,1,1,2,1,4,3,2,0,1,1,0,1,0\n1,2,1,2,2,1,3,0,1,1,1,1,1,0\n1,0,3,2,3,5,5,0,0,1,1,0,1,0\n0,0,1,2,0,0,2,0,1,1,1,0,1,0\n1,0,3,2,1,4,3,0,0,1,1,0,1,0\n1,0,1,2,1,5,3,0,0,1,1,0,1,0\n0,5,3,2,2,2,3,4,0,1,1,0,1,0\n1,4,3,2,2,1,4,2,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n2,0,1,2,1,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,5,1,0,1,1,2,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,5,2,2,3,1,0,0,1,1,1,1,0\n2,2,0,3,1,3,3,0,0,1,1,1,1,0\n1,0,3,2,2,4,3,0,0,1,1,1,1,0\n0,0,6,2,0,3,2,0,1,1,1,1,1,0\n2,5,5,2,4,5,3,0,0,1,1,0,1,0\n1,4,3,2,0,8,2,0,1,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,0,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,1,1,0\n0,0,3,2,0,8,0,0,0,1,1,1,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n3,2,9,1,4,3,3,0,1,1,1,1,1,1\n2,0,8,0,2,2,3,0,1,1,1,1,1,0\n0,1,8,0,2,2,4,0,0,1,1,1,1,0\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,2,3,2,1,12,3,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,1,7,1,0,1,1,1,0,1,0\n0,4,12,1,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n0,0,3,2,3,2,5,0,0,1,1,2,1,0\n0,0,8,0,1,2,5,0,0,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,2,1,1\n0,0,10,3,2,6,5,0,1,1,1,2,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,1\n1,0,2,1,0,7,2,3,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,4,2,3,0,0,1,1,1,1,0\n2,1,8,0,0,3,2,0,1,1,1,2,1,0\n1,1,5,2,2,5,1,4,0,1,1,2,1,0\n0,0,14,0,2,2,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,3,0,3,0,4,2,0,1,1,1,0,1,1\n1,5,1,2,1,8,5,0,0,1,1,2,1,0\n2,1,1,2,0,2,2,0,1,1,1,1,1,0\n2,3,3,2,4,4,3,0,0,1,1,0,1,0\n1,0,3,2,1,3,3,0,1,1,1,1,1,1\n1,0,3,2,2,9,3,0,1,1,1,0,1,0\n1,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,5,1,2,2,5,1,0,0,1,1,2,1,0\n0,0,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,0,6,2,2,2,3,0,1,1,1,0,1,0\n1,5,1,2,1,8,3,4,0,1,1,0,1,0\n0,1,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,0,10,2,4,1,1,1,1,1,0\n0,0,6,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,0,3,2,5,3,0,0,1,1,0,1,0\n2,0,0,3,0,2,2,0,1,1,1,2,1,0\n2,1,1,2,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,4,9,1,0,6,2,0,1,1,1,0,1,0\n1,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,4,0,3,0,5,0,0,0,1,1,1,1,1\n2,2,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,9,3,0,1,1,1,0,1,0\n1,5,3,2,2,4,5,4,1,1,1,1,1,0\n2,1,1,2,0,3,2,0,1,1,1,0,1,1\n2,0,2,1,4,3,3,0,0,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,4,10,3,1,5,3,0,0,1,1,1,1,0\n0,0,5,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,1,8,5,4,0,1,1,0,1,0\n1,0,1,2,1,4,3,0,1,1,1,1,1,0\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,5,2,2,8,1,0,0,1,1,0,1,0\n0,0,0,3,2,8,1,4,0,1,1,0,1,0\n1,0,8,0,0,7,0,3,0,1,1,0,1,0\n1,0,1,2,0,6,2,0,1,1,1,0,1,1\n0,4,10,3,2,5,3,0,0,1,1,1,1,0\n1,0,14,0,5,9,3,0,1,1,1,2,1,0\n1,2,6,2,0,1,2,0,1,1,1,1,1,1\n2,0,1,2,3,0,5,4,0,1,1,2,1,0\n1,0,3,2,0,0,2,0,1,1,1,0,1,1\n0,0,12,1,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,4,4,1,1,1,2,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,0,3,2,0,3,0,0,0,1,1,2,1,0\n0,1,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,0,8,2,0,1,1,1,0,1,1\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,2,1,0\n0,5,10,3,2,5,3,4,0,1,1,0,1,0\n0,0,6,2,0,5,0,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,0,5,2,0,11,4,0,0,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,6,2,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,4,3,2,2,2,5,0,0,1,1,0,1,0\n1,0,3,2,1,7,1,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,10,3,2,5,1,0,0,1,1,0,1,1\n2,4,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n2,0,3,2,4,6,5,0,0,1,1,0,1,0\n0,0,9,1,0,7,4,3,1,1,1,0,1,0\n0,4,6,2,2,0,1,0,0,1,1,2,1,0\n0,0,5,2,1,1,5,0,1,1,1,1,1,1\n1,0,6,2,0,0,0,0,0,1,1,0,1,1\n0,5,3,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n2,2,1,2,0,3,0,0,0,1,1,1,1,1\n1,0,0,3,0,5,2,2,1,1,1,1,1,1\n1,1,1,2,0,5,0,0,0,1,1,1,1,0\n0,0,1,2,2,11,3,0,0,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,8,0,0,6,2,0,1,1,1,1,1,0\n1,0,7,1,1,3,3,0,0,1,1,0,1,0\n1,0,1,2,1,1,5,0,1,1,1,0,1,0\n1,0,5,2,0,5,2,0,1,1,1,0,1,0\n1,0,0,3,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,13,3,0,4,2,0,1,1,1,1,1,1\n2,0,6,2,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,3,1,3,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,1,2,3,10,3,2,0,1,1,2,1,0\n0,0,9,1,2,7,5,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,11,0,2,7,3,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,4,4,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,4,0,3,2,0,1,0,0,1,1,1,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n2,0,0,3,0,2,2,0,1,1,1,0,1,1\n1,0,6,2,3,7,3,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n2,0,3,2,4,4,5,0,1,1,1,2,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,2,5,3,0,0,1,1,1,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n1,1,1,2,0,2,2,4,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,5,4,0,1,1,0,1,0\n2,1,1,2,4,9,3,0,0,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,6,4,4,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,1,8,3,4,1,1,1,0,1,0\n0,0,6,2,1,5,5,0,0,1,1,2,1,0\n1,0,13,3,5,5,5,2,0,1,1,0,1,0\n1,0,3,2,1,1,5,0,1,1,1,0,1,0\n0,0,3,2,2,10,5,0,1,1,1,0,1,0\n0,0,7,1,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,1,6,5,4,0,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,1\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,6,2,2,7,5,4,0,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,11,0,4,7,3,0,0,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,1,2,1,1,1,0,1,0\n1,0,5,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,5,0,1,1,1,0,1,0\n1,0,6,2,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,3,10,3,0,1,1,1,0,1,0\n0,0,1,2,3,9,4,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,4,10,3,1,5,3,0,0,1,1,2,1,0\n1,4,10,3,2,5,3,0,0,1,1,1,1,0\n0,4,1,2,2,5,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,0,3,1,4,3,4,0,1,1,1,1,1\n1,0,14,0,1,11,5,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,2,1,1\n0,0,3,2,0,10,0,0,0,1,1,2,1,1\n1,0,3,2,1,7,4,0,0,1,1,0,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n2,0,3,2,1,2,5,0,0,1,1,2,1,0\n2,0,3,2,1,8,3,0,0,1,1,2,1,0\n1,0,5,2,1,4,5,4,0,1,1,2,1,0\n1,0,0,3,1,5,3,0,0,1,1,2,1,0\n2,1,3,2,4,1,3,0,1,1,1,2,1,0\n2,2,4,3,0,5,2,0,1,1,1,0,1,0\n0,4,5,2,0,12,2,0,1,1,1,1,1,0\n1,1,4,3,0,5,2,1,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,2,2,1,4,0,1,1,0,1,0\n0,0,4,3,2,5,3,0,0,1,1,2,1,0\n2,4,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,0,1,1,0,1,0\n1,0,1,2,2,3,3,0,1,1,1,1,1,0\n2,3,5,2,0,2,2,4,1,1,1,0,1,0\n2,4,8,0,4,2,3,0,0,1,1,2,1,0\n1,0,5,2,0,7,2,4,1,1,1,1,1,0\n0,1,3,2,5,10,4,1,1,1,1,1,1,1\n0,0,0,3,2,8,1,1,0,1,1,0,1,0\n0,0,0,3,1,5,3,0,0,1,1,1,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n1,0,3,2,2,2,1,4,1,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,1,1,1\n1,2,1,2,0,9,2,0,1,1,1,1,1,0\n2,2,3,2,0,4,2,0,1,1,1,1,1,1\n2,4,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,2,7,3,0,0,1,1,1,1,0\n1,2,10,3,0,4,2,0,1,1,1,1,1,1\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n1,0,6,2,3,5,4,0,0,1,1,0,1,0\n1,1,3,2,2,1,4,2,1,1,1,0,1,0\n1,0,5,2,1,2,5,4,0,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,0,7,2,3,1,1,1,2,1,0\n0,0,0,3,2,8,3,4,0,1,1,0,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,0\n1,4,0,3,1,0,3,0,0,1,1,0,1,1\n2,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n0,0,9,1,2,10,3,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,8,0,2,6,1,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,6,4,0,1,1,1,2,1,0\n0,0,9,1,0,9,2,3,1,1,1,1,1,0\n1,5,1,2,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,14,0,5,11,3,0,0,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,4,3,0,1,1,1,1,1,0\n0,0,3,2,2,6,5,0,0,1,1,0,1,0\n0,4,1,2,2,9,3,0,1,1,1,0,1,0\n0,0,8,0,1,7,5,0,0,1,1,0,1,0\n2,0,7,1,0,7,4,1,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,5,9,1,0,0,0,0,0,1,1,0,1,1\n0,5,2,1,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,4,3,3,0,0,1,1,2,1,0\n1,4,1,2,2,4,5,4,0,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n2,1,3,2,0,8,0,0,0,1,1,2,1,1\n0,0,3,2,2,3,1,4,0,1,1,2,1,0\n0,0,12,1,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,0,1,1,2,1,0\n1,1,3,2,1,2,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,1,9,1,0,4,2,1,1,1,1,1,1,0\n2,0,3,2,1,4,3,0,0,1,1,1,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n2,0,1,2,0,1,0,0,0,1,1,0,1,0\n1,4,1,2,2,8,3,0,0,1,1,1,1,0\n1,0,3,2,1,2,3,0,1,1,1,2,1,0\n2,2,0,3,0,1,2,0,1,1,1,1,1,1\n2,5,3,2,1,8,5,0,0,1,1,0,1,0\n0,4,1,2,2,5,4,0,1,1,1,2,1,0\n1,0,1,2,1,7,3,0,1,1,1,0,1,0\n0,0,2,1,2,5,1,0,0,1,1,2,1,0\n2,0,3,2,4,1,5,0,1,1,1,1,1,1\n1,0,14,0,1,2,3,0,1,1,1,2,1,0\n0,0,1,2,2,4,3,0,1,1,1,0,1,0\n0,0,12,1,1,7,3,0,1,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n0,1,0,3,0,4,2,0,1,1,1,2,1,0\n0,4,6,2,0,0,2,0,1,1,1,1,1,0\n0,5,3,2,2,2,5,4,0,1,1,0,1,0\n1,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,0,3,2,1,1,0,1,1,1,0,1,0\n1,3,3,2,1,8,3,0,1,1,1,0,1,0\n1,0,0,3,2,0,3,0,1,1,1,0,1,0\n2,0,12,1,0,3,2,0,1,1,1,2,1,0\n1,0,4,3,0,3,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n1,0,3,2,1,7,4,3,0,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,1,1,5,0,1,1,1,0,1,0\n0,1,3,2,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,0,2,0,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,5,1,2,0,12,2,0,1,1,1,1,1,0\n1,0,1,2,1,2,3,0,1,1,1,0,1,0\n2,0,3,2,4,3,4,0,0,1,1,2,1,0\n1,0,8,0,0,1,2,0,1,1,1,2,1,0\n1,4,10,3,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,14,0,1,9,5,0,1,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,1\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,1,2,0,0,2,0,1,1,1,1,1,0\n2,0,12,1,1,8,5,4,0,1,1,2,1,0\n0,0,3,2,1,3,5,0,0,1,1,0,1,0\n1,3,3,2,1,8,5,0,0,1,1,0,1,0\n0,4,0,3,2,5,1,4,0,1,1,1,1,0\n2,0,5,2,0,7,2,4,1,1,1,0,1,1\n0,0,0,3,2,8,1,0,1,1,1,0,1,0\n1,0,1,2,1,3,3,1,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,5,1,2,3,4,1,0,1,1,1,0,1,0\n2,2,3,2,0,4,2,0,1,1,1,0,1,0\n0,5,1,2,2,5,1,0,0,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,4,1,1,1,0,1,0\n2,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,1,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,3,3,5,4,0,1,1,2,1,0\n2,4,0,3,0,4,2,0,1,1,1,0,1,1\n0,2,3,2,4,3,5,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,3,8,5,4,0,1,1,0,1,0\n1,0,3,2,2,6,5,4,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,2,0,3,4,1,1,1,2,1,0\n0,0,2,1,2,4,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,1,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,1,5,5,0,0,1,1,0,1,0\n1,0,0,3,0,5,0,0,0,1,1,1,1,1\n2,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,1,3,2,0,3,0,0,0,1,1,0,1,0\n0,0,3,2,1,3,3,0,1,1,1,1,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n0,0,3,2,0,0,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,5,6,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n1,0,3,2,2,8,4,0,0,1,1,0,1,0\n0,0,9,1,2,6,1,0,1,1,1,2,1,0\n0,0,0,3,2,3,3,0,0,1,1,2,1,0\n1,0,1,2,1,7,1,0,0,1,1,2,1,0\n2,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,12,1,1,1,3,0,1,1,1,2,1,0\n1,2,0,3,0,8,0,1,0,1,1,1,1,0\n1,5,1,2,0,4,2,0,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,1,1,2,1,3,3,0,0,1,1,2,1,0\n1,0,3,2,1,5,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n0,0,1,2,2,4,1,0,1,1,1,1,1,0\n1,5,3,2,0,2,2,2,1,1,1,0,1,0\n0,5,5,2,2,8,5,4,0,1,1,0,1,0\n0,0,0,3,2,3,1,0,1,1,1,2,1,0\n0,0,7,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,2,4,3,0,1,1,1,0,1,1\n0,1,3,2,3,1,1,0,1,1,1,2,1,0\n0,3,4,3,2,5,3,4,0,1,1,0,1,0\n1,5,3,2,0,2,2,4,1,1,1,0,1,1\n1,0,1,2,0,8,0,4,0,1,1,1,1,1\n2,2,0,3,0,3,2,0,1,1,1,2,1,1\n1,0,12,1,0,6,2,0,1,1,1,0,1,0\n1,3,0,3,0,8,2,0,1,1,1,1,1,1\n1,4,1,2,4,8,5,0,0,1,1,2,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,0\n1,0,0,3,0,10,2,0,1,1,1,1,1,1\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n2,1,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,7,2,0,1,1,1,1,1,1\n0,0,0,3,2,10,1,0,1,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,2,1,0\n1,4,10,3,1,5,3,0,0,1,1,2,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,4,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,7,1,0,1,2,0,1,1,1,2,1,0\n2,0,0,3,4,5,3,0,0,1,1,2,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n1,1,6,2,4,5,5,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,1,8,3,1,0,1,1,0,1,0\n1,1,12,1,0,9,2,0,1,1,1,2,1,0\n0,4,3,2,4,2,5,0,0,1,1,0,1,0\n0,3,9,1,0,13,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n3,1,3,2,2,4,3,0,1,1,1,2,1,0\n0,0,5,2,1,2,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,1\n1,4,0,3,0,5,2,0,1,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,4,3,0,5,2,0,1,1,1,0,1,1\n1,4,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,0,4,0,1,1,0,1,0\n0,1,3,2,2,1,1,0,1,1,1,1,1,0\n1,1,10,3,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,0,1,0,1,1,1,0,1,0\n1,1,7,1,0,9,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,14,0,4,2,5,0,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,0,3,1,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,2,8,0,2,1,5,4,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n2,4,10,3,0,4,2,0,1,1,1,1,1,0\n2,0,3,2,2,6,3,0,1,1,1,2,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,2,12,1,2,3,1,0,1,1,1,2,1,0\n0,0,0,3,0,4,0,0,0,1,1,1,1,1\n1,0,1,2,0,10,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n1,3,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,6,3,0,0,1,1,1,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n0,0,7,1,2,2,5,0,1,1,1,2,1,0\n0,0,10,3,2,5,3,0,1,1,1,0,1,0\n3,0,13,3,2,5,3,0,1,1,1,2,1,0\n0,3,1,2,6,8,0,0,0,1,1,0,1,1\n2,0,3,2,2,1,4,1,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,5,0,1,1,1,0,1,0\n0,0,1,2,2,8,4,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n0,1,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,10,3,2,8,3,0,0,1,1,1,1,1\n0,0,5,2,0,8,2,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,2,1,1\n0,0,1,2,2,6,1,1,1,1,1,0,1,0\n1,4,0,3,0,12,2,0,1,1,1,1,1,1\n1,0,3,2,0,2,0,4,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,1,1,1,2,1,0\n0,3,1,2,0,0,2,0,1,1,1,0,1,1\n1,4,6,2,2,2,5,4,0,1,1,2,1,0\n1,0,5,2,1,8,3,0,1,1,1,0,1,0\n2,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,4,1,2,2,8,3,1,0,1,1,0,1,0\n3,1,3,2,0,3,2,0,1,1,1,2,1,0\n1,3,1,2,0,8,2,4,1,1,1,2,1,0\n0,4,3,2,0,2,2,4,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,1\n2,0,1,2,4,4,3,0,1,1,1,1,1,0\n0,1,6,2,0,9,2,0,1,1,1,0,1,0\n1,0,3,2,1,11,3,0,0,1,1,0,1,0\n0,0,0,3,2,2,3,0,0,1,1,2,1,0\n0,5,5,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,0,3,2,8,3,4,0,1,1,0,1,0\n2,0,1,2,0,0,2,0,1,1,1,1,1,1\n1,3,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,2,8,3,0,0,1,1,2,1,0\n1,0,2,1,0,2,2,4,1,1,1,1,1,0\n0,5,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,12,1,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n2,1,6,2,0,9,2,0,1,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n0,0,3,2,0,8,2,0,1,1,1,1,1,0\n1,3,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,7,1,3,2,5,3,0,1,1,0,1,0\n0,1,6,2,0,9,2,0,1,1,1,1,1,0\n1,1,3,2,1,4,3,0,0,1,1,2,1,1\n1,0,3,2,1,7,5,0,1,1,1,0,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,6,2,0,8,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,5,0,0,1,1,1,1,0\n1,0,6,2,1,8,3,0,0,1,1,0,1,0\n0,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,2,2,4,0,1,1,1,0,1,0\n0,1,5,2,0,1,2,0,1,1,1,0,1,0\n0,0,4,3,2,5,4,0,1,1,1,1,1,0\n1,0,5,2,3,1,3,0,1,1,1,0,1,0\n1,1,1,2,1,2,5,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n3,1,6,2,0,3,2,0,1,1,1,2,1,1\n1,0,0,3,0,4,2,4,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,1,1,0\n1,1,0,3,0,3,2,0,1,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,5,2,1,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,1,1,1,1,1,0\n1,5,3,2,2,10,3,0,0,1,1,0,1,1\n1,3,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,0,0,0,1,1,0,1,1\n0,0,3,2,0,12,2,0,1,1,1,2,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,3,0,3,2,5,3,0,0,1,1,0,1,0\n2,0,1,2,0,9,2,0,1,1,1,0,1,0\n0,0,0,3,2,2,3,0,0,1,1,2,1,0\n1,0,13,3,0,5,2,1,1,1,1,0,1,1\n1,0,1,2,1,8,3,1,0,1,1,2,1,0\n1,1,3,2,0,7,2,0,1,1,1,2,1,0\n0,4,5,2,2,8,1,4,0,1,1,2,1,0\n0,0,2,1,2,6,1,0,1,1,1,0,1,0\n0,4,12,1,0,10,2,0,1,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,2,1,1\n1,0,2,1,0,11,4,0,0,1,1,0,1,0\n1,5,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,1,2,3,6,3,0,1,1,1,0,1,0\n1,3,1,2,2,5,5,0,0,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,4,12,1,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,8,0,0,9,2,0,1,1,1,1,1,0\n0,1,3,2,1,3,3,0,0,1,1,2,1,0\n0,0,0,3,0,0,2,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,3,5,5,0,0,1,1,1,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,1,2,1,7,3,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,1,2,5,3,5,0,0,1,1,0,1,0\n0,2,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,4,3,0,3,0,2,0,1,1,0,1,1\n1,5,1,2,0,0,2,0,1,1,1,1,1,0\n2,0,3,2,1,8,4,4,0,1,1,0,1,0\n0,0,1,2,1,8,5,0,0,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,1,4,5,0,0,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,1\n2,4,3,2,1,12,3,4,1,1,1,2,1,0\n0,1,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,2,7,3,0,1,1,1,1,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n2,1,3,2,0,3,2,0,1,1,1,2,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,5,4,5,0,0,1,1,0,1,0\n0,0,3,2,2,9,1,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,1,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,5,6,2,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,0,8,2,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,5,3,2,5,4,5,0,0,1,1,0,1,0\n1,0,6,2,1,2,1,0,0,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,2,1,0\n0,0,1,2,3,3,3,0,1,1,1,1,1,0\n2,0,3,2,0,4,2,0,1,1,1,2,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,2,1,4,0,1,1,1,1,1,0\n1,1,4,3,0,5,2,0,1,1,1,2,1,1\n1,0,6,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,1,1,1,1,0,1,0\n2,0,8,0,0,1,2,0,1,1,1,1,1,0\n2,0,10,3,2,8,3,0,0,1,1,2,1,1\n3,2,1,2,0,4,2,0,1,1,1,2,1,1\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n1,0,3,2,1,8,5,4,0,1,1,0,1,0\n1,1,12,1,0,2,2,0,1,1,1,1,1,0\n0,0,5,2,2,8,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,0,0,2,1,1,1,1,1,1,1\n0,0,3,2,1,7,5,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,1\n2,4,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,5,2,0,3,0,3,0,1,1,1,1,1\n0,0,1,2,2,3,4,0,1,1,1,2,1,0\n0,0,7,1,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,0,5,0,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,5,2,1,4,5,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,12,1,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,1,8,3,0,0,1,1,1,1,0\n0,0,1,2,0,8,0,0,0,1,1,2,1,0\n0,0,0,3,2,4,1,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,4,1,2,2,12,1,0,0,1,1,0,1,1\n1,2,3,2,0,3,2,0,1,1,1,0,1,0\n3,0,13,3,0,5,2,0,1,1,1,2,1,0\n0,5,1,2,2,2,3,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,1,3,3,0,1,1,1,1,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,0\n3,0,3,2,0,4,0,0,0,1,1,1,1,0\n2,0,1,2,4,8,3,0,0,1,1,0,1,0\n1,0,12,1,1,1,3,0,1,1,1,0,1,0\n1,5,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n2,0,5,2,0,4,2,0,1,1,1,0,1,1\n1,0,10,3,2,3,3,0,1,1,1,1,1,1\n0,0,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,9,2,0,1,1,1,2,1,0\n0,0,1,2,2,1,3,0,1,1,1,2,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,1,6,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,2,1,0\n1,0,1,2,1,2,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,4,3,2,2,2,5,2,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,5,13,3,0,5,2,0,1,1,1,0,1,1\n0,5,1,2,2,2,1,0,0,1,1,1,1,0\n0,0,14,0,0,1,2,0,1,1,1,1,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,4,1,1,1,2,1,0\n0,0,1,2,1,8,5,4,0,1,1,2,1,0\n0,0,14,0,1,6,5,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,1\n0,1,12,1,2,9,1,0,1,1,1,0,1,0\n1,1,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,8,0,1,4,3,0,1,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,9,1,0,10,2,4,1,1,1,0,1,1\n1,4,0,3,2,8,3,0,0,1,1,0,1,1\n0,0,3,2,2,8,4,0,1,1,1,0,1,0\n0,0,0,3,2,2,4,0,1,1,1,2,1,0\n1,2,3,2,1,1,5,0,1,1,1,1,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,0,0,0,1,1,0,1,0\n1,1,2,1,0,9,2,0,1,1,1,1,1,1\n1,1,13,3,0,5,0,0,0,1,1,2,1,1\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,1,10,5,4,0,1,1,2,1,0\n0,3,1,2,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,7,1,0,2,2,0,1,1,1,0,1,1\n1,0,1,2,1,4,5,0,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n1,3,3,2,0,1,2,0,1,1,1,0,1,0\n1,3,6,2,1,1,3,0,1,1,1,0,1,0\n0,1,1,2,2,9,3,0,1,1,1,1,1,0\n2,5,0,3,0,4,2,0,1,1,1,2,1,0\n0,0,0,3,2,8,3,1,1,1,1,0,1,0\n0,0,1,2,2,8,5,3,1,1,1,0,1,0\n1,0,14,0,0,2,4,0,0,1,1,2,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n1,5,3,2,1,0,3,0,0,1,1,0,1,0\n0,5,1,2,2,12,3,0,1,1,1,2,1,0\n0,0,12,1,3,2,5,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,2,1,1\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,1,2,1,2,3,0,0,1,1,1,1,0\n1,0,3,2,4,3,5,0,0,1,1,1,1,0\n1,0,3,2,3,6,5,4,0,1,1,1,1,0\n1,0,13,3,1,5,4,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,1,3,2,0,4,2,0,1,1,1,1,1,1\n3,1,4,3,1,5,4,0,1,1,1,0,1,0\n2,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,4,0,3,1,8,5,1,0,1,1,1,1,0\n0,0,2,1,0,6,2,0,1,1,1,1,1,0\n0,4,6,2,1,12,5,0,1,1,1,1,1,0\n0,0,2,1,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,5,1,2,0,12,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,2,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,0\n1,0,4,3,1,5,3,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,0,2,0,1,1,1,0,1,0\n1,5,0,3,4,4,5,0,0,1,1,1,1,0\n0,0,3,2,2,3,3,0,1,1,1,2,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,1,1,1,1,1,1,1\n1,4,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,2,2,5,0,0,1,1,2,1,0\n0,4,2,1,2,5,1,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,7,5,4,0,1,1,0,1,0\n0,2,1,2,2,9,1,0,1,1,1,1,1,0\n2,0,2,1,1,8,3,0,1,1,1,0,1,1\n1,0,0,3,1,5,3,0,1,1,1,1,1,1\n1,4,0,3,1,5,3,4,0,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,2,3,2,0,1,2,0,1,1,1,1,1,0\n1,2,0,3,0,3,2,0,1,1,1,0,1,0\n0,2,3,2,2,3,3,0,1,1,1,1,1,0\n1,4,10,3,0,5,0,0,0,1,1,2,1,1\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n1,0,12,1,0,10,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,2,1,3,0,1,1,1,0,1,0\n3,0,0,3,2,5,1,0,0,1,1,2,1,0\n1,0,4,3,0,4,0,0,0,1,1,1,1,1\n0,0,15,0,2,9,3,0,1,1,1,2,1,0\n0,0,1,2,2,9,1,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,0,1,1,1,1,0\n0,0,3,2,0,8,0,0,0,1,1,1,1,1\n0,0,0,3,2,8,4,0,1,1,1,0,1,0\n1,0,0,3,3,4,5,0,0,1,1,0,1,0\n0,4,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,7,1,3,1,1,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n2,0,3,2,4,3,3,0,0,1,1,2,1,0\n0,0,3,2,1,1,5,0,1,1,1,0,1,0\n1,0,6,2,0,3,2,0,1,1,1,0,1,0\n0,1,1,2,2,9,1,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,2,1,1,1,2,1,0\n0,2,10,3,2,4,3,0,0,1,1,1,1,1\n0,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,2,7,3,0,1,1,1,2,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,1\n2,0,3,2,1,2,5,0,0,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,3,1,2,0,0,0,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,0\n2,0,3,2,3,1,5,0,1,1,1,0,1,0\n2,3,3,2,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,0,5,2,2,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,4,5,2,1,2,5,0,0,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n2,0,12,1,3,10,5,4,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,2,0,3,0,3,2,1,1,1,1,1,1,1\n2,0,12,1,0,7,2,0,1,1,1,1,1,0\n2,0,0,3,1,3,3,4,1,1,1,1,1,1\n1,3,0,3,0,4,2,0,1,1,1,0,1,0\n1,1,10,3,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,1,5,5,0,0,1,1,0,1,1\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n2,1,4,3,0,5,2,0,1,1,1,2,1,1\n2,2,3,2,3,9,3,0,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,4,0,1,1,0,1,0\n1,0,12,1,0,1,1,3,1,1,1,1,1,1\n3,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,1,3,3,0,0,1,1,0,1,0\n2,0,3,2,1,2,4,0,0,1,1,2,1,0\n1,0,2,1,3,2,5,4,0,1,1,2,1,0\n0,0,6,2,0,5,2,0,1,1,1,1,1,1\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,5,2,1,8,5,0,0,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,5,1,0,1,1,1,2,1,0\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,8,0,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,3,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,4,6,2,0,0,0,0,0,1,1,2,1,1\n0,0,13,3,2,5,3,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n2,2,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,1,7,5,0,0,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n2,1,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,5,1,0,1,1,1,2,1,0\n2,0,6,2,1,5,5,0,0,1,1,0,1,0\n2,1,1,2,0,10,2,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,1,5,3,0,1,1,1,1,1,1\n1,2,6,2,0,1,2,0,1,1,1,1,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,7,1,4,2,5,4,0,1,1,2,1,0\n1,0,1,2,0,2,2,0,1,1,1,0,1,0\n2,4,3,2,0,6,2,0,1,1,1,0,1,0\n2,0,3,2,4,3,3,0,0,1,1,2,1,0\n0,0,12,1,0,7,2,0,1,1,1,0,1,0\n1,0,2,1,1,4,3,0,0,1,1,2,1,0\n0,5,1,2,2,12,5,4,0,1,1,0,1,0\n0,3,3,2,2,6,3,2,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,4,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,2,2,4,1,1,1,0,1,1\n0,0,3,2,1,2,4,1,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,4,3,0,4,0,0,0,1,1,0,1,1\n0,0,1,2,2,8,3,0,1,1,1,1,1,0\n0,0,2,1,2,8,5,4,0,1,1,2,1,0\n2,0,8,0,4,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,4,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,9,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,4,4,1,1,1,2,1,0\n2,3,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,5,2,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n1,5,1,2,0,12,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,1,5,2,1,1,3,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,3,0,3,0,5,2,1,1,1,1,1,1,1\n2,1,2,1,0,1,2,0,1,1,1,2,1,0\n1,0,1,2,1,6,5,4,0,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,1\n1,0,14,0,0,1,2,3,1,1,1,0,1,1\n1,0,7,1,2,7,3,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,1,1,1,1,1,1,1\n1,0,3,2,2,3,3,0,0,1,1,0,1,0\n1,0,7,1,0,7,2,0,1,1,1,1,1,1\n2,2,3,2,0,5,0,0,0,1,1,2,1,1\n0,0,0,3,2,3,5,4,1,1,1,0,1,0\n1,0,3,2,1,3,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n1,0,1,2,1,4,5,4,0,1,1,2,1,0\n0,0,3,2,2,7,4,4,0,1,1,2,1,0\n0,0,3,2,2,4,1,4,1,1,1,0,1,0\n2,3,3,2,4,8,5,0,0,1,1,2,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,3,1,1,1,2,1,0\n1,0,3,2,0,10,0,0,0,1,1,0,1,0\n1,2,10,3,1,4,3,0,0,1,1,1,1,0\n0,5,0,3,2,5,3,1,1,1,1,2,1,0\n2,1,13,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,0,7,2,4,1,1,1,0,1,0\n2,0,7,1,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,1,1,1,2,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,0\n2,3,5,2,0,2,2,1,1,1,1,0,1,1\n0,0,0,3,2,10,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n3,0,3,2,0,9,2,1,1,1,1,0,1,0\n0,0,0,3,2,5,3,4,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n2,0,0,3,1,3,3,0,1,1,1,0,1,0\n1,4,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,1,1,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,4,1,3,0,1,1,0,1,0\n0,0,3,2,0,4,4,0,0,1,1,0,1,0\n1,0,0,3,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,4,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,1,1,1,0,1,0\n0,0,7,1,2,3,5,0,0,1,1,0,1,0\n2,0,10,3,0,4,0,0,0,1,1,1,1,1\n0,0,1,2,2,4,3,0,0,1,1,1,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,7,1,2,11,3,0,0,1,1,2,1,0\n0,0,8,0,0,2,2,0,1,1,1,0,1,0\n2,2,9,1,0,4,2,0,1,1,1,0,1,0\n0,0,2,1,2,1,1,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,4,0,1,1,2,1,0\n1,0,3,2,4,8,5,0,0,1,1,1,1,0\n2,0,6,2,0,0,2,0,1,1,1,0,1,0\n2,3,0,3,5,4,3,0,0,1,1,0,1,0\n2,3,3,2,0,1,2,0,1,1,1,0,1,1\n1,1,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n0,0,3,2,0,2,0,0,0,1,1,0,1,1\n0,1,6,2,1,2,5,0,0,1,1,1,1,0\n0,5,1,2,2,12,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n2,0,3,2,4,2,3,0,0,1,1,1,1,0\n1,0,12,1,2,3,5,3,0,1,1,2,1,0\n0,0,3,2,2,10,1,0,1,1,1,2,1,0\n1,3,9,1,2,2,5,4,0,1,1,0,1,0\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n0,0,0,3,4,5,5,0,0,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,6,2,3,8,1,4,0,1,1,1,1,0\n0,0,3,2,2,2,3,4,0,1,1,2,1,0\n2,0,3,2,3,1,3,0,0,1,1,2,1,0\n2,1,1,2,4,4,3,0,1,1,1,2,1,0\n1,0,3,2,3,3,3,0,0,1,1,2,1,0\n2,0,2,1,4,7,3,0,0,1,1,0,1,0\n0,0,6,2,2,8,1,0,0,1,1,0,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,4,1,2,2,12,1,0,1,1,1,2,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n2,0,7,1,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,5,0,0,1,1,1,1,0\n1,1,0,3,0,5,0,0,0,1,1,2,1,0\n0,0,9,1,2,7,1,0,1,1,1,0,1,0\n1,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,1,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,5,2,2,8,3,4,0,1,1,0,1,0\n1,0,12,1,0,1,2,0,1,1,1,2,1,0\n0,0,5,2,2,8,3,1,0,1,1,0,1,0\n1,5,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,1,3,5,4,0,1,1,2,1,0\n2,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,8,3,4,0,1,1,0,1,0\n2,0,0,3,0,1,2,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,3,6,2,0,0,2,0,1,1,1,0,1,1\n0,3,1,2,2,13,4,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,0,14,0,1,7,5,3,0,1,1,0,1,0\n0,4,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,1,1,1\n2,4,10,3,4,5,3,0,0,1,1,0,1,0\n0,4,0,3,2,8,3,0,1,1,1,2,1,0\n1,0,1,2,0,8,0,0,0,1,1,2,1,1\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,2,2,1,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,3,0,3,2,5,3,4,1,1,1,0,1,0\n2,0,0,3,0,8,2,0,1,1,1,1,1,1\n0,1,3,2,1,9,3,0,1,1,1,0,1,0\n2,4,3,2,1,1,3,0,1,1,1,0,1,1\n0,0,3,2,0,8,2,0,1,1,1,2,1,0\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,1,1,1\n1,3,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,9,3,4,0,1,1,1,1,0\n0,0,3,2,0,8,4,0,0,1,1,2,1,0\n1,4,1,2,0,5,2,0,1,1,1,1,1,1\n0,4,3,2,2,7,1,0,1,1,1,1,1,0\n1,0,12,1,0,1,2,0,1,1,1,1,1,0\n0,0,5,2,0,5,2,0,1,1,1,0,1,1\n0,4,10,3,0,5,0,0,0,1,1,0,1,0\n0,1,1,2,0,8,0,0,0,1,1,2,1,1\n0,0,1,2,2,7,3,0,1,1,1,1,1,0\n2,1,10,3,0,4,2,0,1,1,1,2,1,1\n0,0,7,1,2,10,1,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n1,1,9,1,0,10,2,0,1,1,1,1,1,0\n1,0,8,0,2,7,1,0,0,1,1,2,1,0\n2,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,2,9,5,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,1,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n3,4,14,0,0,5,2,0,1,1,1,2,1,0\n0,4,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,4,3,2,0,10,2,2,1,1,1,0,1,0\n0,0,3,2,2,7,5,0,0,1,1,1,1,0\n2,0,1,2,0,2,2,3,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,9,1,0,3,2,0,1,1,1,0,1,1\n2,0,12,1,0,1,2,0,1,1,1,0,1,0\n2,0,1,2,0,1,2,2,1,1,1,0,1,0\n0,0,3,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,0,1,1,2,1,0\n0,4,0,3,2,5,4,4,1,1,1,2,1,0\n0,0,4,3,0,5,2,0,1,1,1,0,1,1\n3,3,1,2,4,0,3,0,0,1,1,0,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,0\n1,1,6,2,2,9,1,0,1,1,1,1,1,0\n3,1,3,2,0,3,2,0,1,1,1,0,1,0\n1,3,6,2,0,0,2,0,1,1,1,0,1,1\n1,4,3,2,2,8,3,0,1,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,1\n1,0,2,1,0,2,2,0,1,1,1,1,1,0\n2,4,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,6,2,2,5,3,4,1,1,1,0,1,0\n0,0,0,3,2,3,5,0,1,1,1,1,1,0\n0,0,2,1,0,4,2,0,1,1,1,1,1,1\n0,4,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,7,3,1,1,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,1,1,1\n0,4,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,9,1,2,11,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,4,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n0,0,3,2,2,5,1,0,0,1,1,1,1,0\n3,4,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,0,3,3,0,1,0,1,1,1,1,1,0\n2,4,0,3,1,5,3,0,0,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,4,3,0,1,1,1,0,1,0\n1,4,0,3,1,5,3,0,0,1,1,1,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n2,4,3,2,0,4,2,0,1,1,1,2,1,0\n2,1,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n2,1,0,3,0,9,2,0,1,1,1,2,1,0\n1,3,1,2,0,12,2,0,1,1,1,1,1,1\n1,2,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,12,1,2,2,3,0,1,1,1,0,1,0\n1,0,0,3,1,7,5,3,0,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,3,1,2,3,8,5,0,0,1,1,0,1,0\n1,0,7,1,2,7,5,4,0,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,2,12,1,2,3,1,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n0,0,1,2,2,5,3,0,0,1,1,2,1,0\n0,0,1,2,1,2,5,0,0,1,1,0,1,0\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n2,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,0,3,1,0,0,1,1,2,1,0\n1,0,14,0,3,11,5,3,0,1,1,2,1,0\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,4,3,2,2,2,1,0,1,1,1,0,1,0\n1,0,7,1,1,2,5,0,0,1,1,0,1,0\n1,0,1,2,1,1,3,0,0,1,1,1,1,0\n0,0,3,2,2,5,1,0,1,1,1,0,1,0\n1,3,10,3,0,5,2,0,1,1,1,0,1,1\n1,2,10,3,1,4,3,4,0,1,1,1,1,0\n0,3,3,2,2,6,1,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n1,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,4,1,2,2,12,1,0,1,1,1,0,1,0\n0,3,3,2,0,13,4,2,1,1,1,1,1,0\n0,0,2,1,2,2,3,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,3,2,1,3,3,0,1,1,1,1,1,0\n1,5,0,3,0,4,2,0,1,1,1,1,1,1\n0,5,0,3,2,8,3,0,1,1,1,0,1,0\n0,0,7,1,2,2,5,0,1,1,1,2,1,0\n1,0,1,2,1,3,5,0,0,1,1,1,1,0\n2,0,2,1,1,1,1,0,0,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,2,4,3,0,1,1,1,1,1,1\n0,0,0,3,2,5,5,4,0,1,1,2,1,0\n1,4,4,3,0,5,2,0,1,1,1,2,1,0\n1,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,1,1,2,0,3,2,2,1,1,1,1,1,0\n0,0,12,1,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,11,3,0,0,1,1,0,1,0\n1,0,3,2,5,1,3,0,1,1,1,1,1,0\n2,1,12,1,0,10,2,0,1,1,1,1,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,2,6,3,2,1,1,1,2,1,0\n0,4,1,2,2,4,1,0,0,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,1,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n2,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,4,3,1,5,3,0,1,1,1,0,1,1\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,12,1,0,3,1,0,0,1,1,2,1,0\n0,4,3,2,2,2,3,0,0,1,1,0,1,0\n0,0,3,2,4,8,5,0,1,1,1,2,1,0\n0,0,5,2,2,5,3,0,0,1,1,0,1,0\n0,0,5,2,3,10,3,0,1,1,1,1,1,0\n2,1,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,1,8,3,1,0,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,12,1,1,6,3,0,0,1,1,2,1,0\n1,0,2,1,4,2,5,0,0,1,1,0,1,0\n1,2,10,3,0,4,2,0,1,1,1,1,1,1\n1,5,3,2,1,8,5,1,0,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,1,3,2,1,3,3,0,1,1,1,1,1,0\n2,2,0,3,0,4,2,0,1,1,1,2,1,1\n0,0,5,2,1,0,1,0,0,1,1,2,1,0\n1,0,6,2,2,1,5,0,1,1,1,0,1,0\n2,0,1,2,2,1,3,0,1,1,1,1,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n1,0,0,3,2,8,3,0,0,1,1,1,1,0\n0,0,8,0,1,6,3,0,1,1,1,2,1,0\n0,0,1,2,2,5,1,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,4,1,2,0,12,2,0,1,1,1,1,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,1,8,3,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n0,0,6,2,2,1,1,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n3,0,10,3,2,4,1,0,0,1,1,0,1,0\n1,0,3,2,3,2,4,4,1,1,1,0,1,0\n0,5,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,12,1,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,5,2,0,1,2,0,1,1,1,2,1,0\n1,0,1,2,0,0,2,0,1,1,1,1,1,0\n1,0,14,0,0,6,2,0,1,1,1,0,1,0\n0,1,8,0,2,1,1,0,1,1,1,0,1,0\n0,5,5,2,4,4,3,0,0,1,1,0,1,0\n0,4,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,4,1,1,1,0,1,0\n3,0,6,2,4,5,3,0,1,1,1,1,1,1\n0,4,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,1,1,2,0,2,0,0,0,1,1,1,1,0\n0,0,3,2,2,8,3,0,1,1,1,1,1,0\n1,0,0,3,1,6,3,0,1,1,1,1,1,1\n1,0,0,3,0,3,0,0,0,1,1,2,1,1\n1,0,11,0,4,2,4,0,0,1,1,2,1,0\n0,4,3,2,1,0,5,0,0,1,1,0,1,0\n1,0,2,1,1,10,3,0,1,1,1,1,1,0\n0,4,0,3,2,0,1,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,4,10,3,0,5,0,0,0,1,1,0,1,0\n0,0,0,3,2,0,3,0,0,1,1,1,1,1\n1,4,1,2,1,2,3,0,0,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,5,3,2,1,1,5,0,1,1,1,0,1,0\n1,0,0,3,0,6,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n1,4,12,1,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,2,1,1\n0,0,0,3,2,8,3,0,0,1,1,1,1,0\n0,0,3,2,2,3,4,4,0,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,0,8,2,0,1,1,1,1,1,0\n0,0,5,2,2,4,3,0,0,1,1,0,1,1\n1,0,3,2,0,6,0,0,0,1,1,2,1,0\n1,1,10,3,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,9,1,2,3,1,4,0,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,1,6,5,4,0,1,1,2,1,0\n1,0,3,2,0,10,2,1,1,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,2,3,0,1,1,1,0,1,0\n1,3,1,2,1,8,3,0,0,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,0,8,2,4,1,1,1,0,1,1\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,1,1,1,1,2,1,0\n2,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,3,1,2,3,8,3,4,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,1,4,0,1,1,0,1,0\n0,0,3,2,6,2,0,0,0,1,1,0,1,1\n1,0,3,2,1,4,5,1,0,1,1,0,1,0\n0,4,1,2,3,6,3,4,1,1,1,0,1,0\n1,0,9,1,0,1,2,0,1,1,1,0,1,1\n2,1,3,2,0,4,0,0,0,1,1,2,1,1\n1,0,3,2,5,10,3,3,1,1,1,2,1,0\n0,0,6,2,3,5,5,0,0,1,1,0,1,0\n2,1,3,2,0,4,2,0,1,1,1,2,1,0\n0,4,0,3,2,5,1,4,0,1,1,0,1,0\n0,4,0,3,2,5,1,0,0,1,1,0,1,0\n1,0,11,0,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,1,4,3,0,1,1,1,1,1,0\n2,0,3,2,1,3,3,0,0,1,1,2,1,0\n1,0,2,1,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,2,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,1\n2,4,6,2,0,12,2,0,1,1,1,2,1,1\n0,1,10,3,3,0,3,0,0,1,1,2,1,0\n0,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,6,2,0,5,2,0,1,1,1,0,1,1\n1,5,1,2,1,8,5,0,0,1,1,1,1,0\n1,0,3,2,1,7,3,0,0,1,1,0,1,0\n1,0,12,1,2,2,5,0,0,1,1,2,1,0\n0,4,1,2,2,8,5,0,0,1,1,2,1,0\n2,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,3,5,4,3,0,1,1,0,1,0\n0,0,1,2,0,2,0,0,0,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,4,0,3,3,5,5,0,0,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,2,1,1\n2,0,8,0,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,5,10,3,0,0,1,1,2,1,0\n1,2,6,2,0,4,4,0,1,1,1,1,1,1\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n0,0,9,1,2,6,1,0,1,1,1,2,1,0\n1,3,1,2,1,4,5,0,1,1,1,1,1,1\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,4,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,1,1,1\n1,5,10,3,2,5,3,0,1,1,1,0,1,1\n1,3,1,2,1,8,5,4,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,6,2,2,4,3,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,1\n1,4,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,12,1,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,1,0,3,0,9,2,0,1,1,1,2,1,0\n1,5,6,2,0,5,2,0,1,1,1,0,1,0\n1,1,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,9,1,0,1,1,1,2,1,0\n0,0,3,2,0,3,0,0,0,1,1,2,1,0\n1,0,1,2,1,8,5,0,0,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,1,0,3,2,3,3,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,1,2,3,0,0,1,1,2,1,0\n1,0,1,2,1,0,3,0,0,1,1,1,1,0\n1,1,6,2,0,12,2,0,1,1,1,2,1,0\n0,0,3,2,2,7,3,0,1,1,1,2,1,0\n0,0,2,1,5,3,1,1,1,1,1,2,1,0\n1,0,3,2,1,3,5,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,4,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,1\n0,0,11,0,2,6,3,0,1,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,3,4,3,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,4,8,3,0,0,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,3,2,2,3,3,0,1,1,1,1,1,1\n0,0,0,3,2,6,1,0,1,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n2,0,3,2,0,10,2,0,1,1,1,2,1,0\n1,4,10,3,1,5,5,0,0,1,1,0,1,0\n0,1,1,2,2,1,1,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,4,3,2,2,6,1,2,1,1,1,2,1,0\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,1,12,1,0,0,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,1,1,0\n2,0,1,2,1,2,5,0,0,1,1,2,1,0\n1,0,5,2,1,3,5,0,0,1,1,2,1,0\n2,0,0,3,1,4,3,0,1,1,1,2,1,0\n2,0,3,2,4,2,5,0,0,1,1,0,1,0\n1,3,0,3,2,8,3,0,1,1,1,1,1,1\n0,0,0,3,2,4,5,0,1,1,1,0,1,1\n0,4,3,2,1,9,1,1,1,1,1,1,1,0\n1,0,3,2,0,0,2,0,1,1,1,0,1,1\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,2,8,4,0,0,1,1,2,1,0\n0,0,12,1,2,5,5,4,0,1,1,0,1,0\n1,0,0,3,2,5,3,0,0,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n2,0,9,1,4,2,5,4,0,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,8,0,2,7,3,3,0,1,1,0,1,0\n0,3,1,2,2,0,3,0,1,1,1,0,1,0\n2,1,14,0,0,9,2,0,1,1,1,2,1,0\n1,0,1,2,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,4,12,1,2,10,4,0,1,1,1,0,1,0\n0,1,0,3,0,3,1,0,1,1,1,2,1,0\n1,1,3,2,1,2,5,0,0,1,1,0,1,0\n0,0,3,2,2,4,1,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,2,1,0,1,1,1,2,1,0\n1,1,0,3,0,5,2,0,1,1,1,2,1,1\n1,0,1,2,2,5,3,0,1,1,1,2,1,1\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,3,0,3,0,8,0,1,0,1,1,0,1,1\n2,0,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,0,5,2,1,1,1,1,0,1,1\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n2,0,9,1,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,0,2,2,0,1,1,1,1,1,0\n0,5,5,2,2,0,1,0,1,1,1,2,1,0\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,1,1,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,6,2,1,1,1,1,2,1,0\n1,1,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,0,5,0,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,1,2,2,1,5,4,1,1,1,0,1,0\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n3,5,11,0,4,2,3,0,0,1,1,2,1,0\n1,0,12,1,1,7,3,1,0,1,1,0,1,0\n0,0,1,2,2,4,3,0,0,1,1,2,1,0\n0,4,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,0,3,2,2,2,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n2,0,0,3,2,5,3,0,0,1,1,1,1,0\n1,5,1,2,1,8,1,0,0,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,2,1,0\n1,0,3,2,1,7,3,0,0,1,1,0,1,0\n2,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,0,9,1,2,2,1,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,1,1,2,1,5,3,0,0,1,1,2,1,0\n0,0,8,0,3,1,3,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,2,1,0\n1,4,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n2,0,13,3,0,5,2,0,1,1,1,1,1,1\n2,3,1,2,0,8,0,0,0,1,1,0,1,1\n1,0,14,0,0,1,4,0,0,1,1,0,1,0\n2,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,4,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n2,5,0,3,0,5,2,0,1,1,1,0,1,0\n2,4,3,2,4,2,5,0,0,1,1,2,1,0\n2,4,0,3,0,5,0,0,0,1,1,1,1,1\n0,3,1,2,2,6,3,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,1,1,0\n2,4,3,2,0,6,2,0,1,1,1,0,1,0\n1,1,0,3,0,8,0,0,0,1,1,2,1,1\n3,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,3,0,1,1,1,2,1,0\n0,1,0,3,2,1,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,3,1,2,4,5,5,2,0,1,1,0,1,0\n0,0,9,1,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,1,4,4,0,0,1,1,1,1,0\n1,4,1,2,2,5,4,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,1,1,1,1,2,1,0\n1,0,3,2,1,6,3,4,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,4,13,3,4,5,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,0,3,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,0,2,0,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,3,1,1,1,0,1,0\n0,0,5,2,0,6,2,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,1,5,3,0,0,1,1,0,1,0\n1,4,0,3,0,12,2,0,1,1,1,1,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,0,1,2,5,3,5,4,0,1,1,0,1,0\n0,0,1,2,2,4,1,0,0,1,1,0,1,0\n2,1,11,0,1,1,3,0,0,1,1,2,1,0\n0,0,9,1,0,7,2,0,1,1,1,0,1,0\n3,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,0,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,0,5,0,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,4,6,2,1,12,1,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,3,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,11,3,0,0,1,1,1,1,0\n2,0,3,2,4,0,3,0,0,1,1,2,1,0\n0,0,1,2,2,4,1,0,1,1,1,2,1,0\n2,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,6,2,3,5,3,0,1,1,1,0,1,0\n1,0,6,2,1,1,3,0,1,1,1,2,1,0\n2,0,1,2,1,4,3,0,0,1,1,1,1,0\n2,0,5,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n2,0,1,2,0,0,2,0,1,1,1,2,1,0\n0,0,2,1,2,9,1,0,1,1,1,2,1,0\n0,0,1,2,0,0,2,0,1,1,1,1,1,0\n1,0,3,2,3,5,5,2,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,1,5,3,0,1,1,1,0,1,0\n1,0,2,1,1,10,3,0,1,1,1,1,1,1\n2,0,8,0,0,2,0,0,0,1,1,1,1,0\n1,0,1,2,0,6,2,0,1,1,1,0,1,0\n1,4,13,3,1,5,3,0,0,1,1,0,1,1\n1,0,3,2,1,3,5,0,0,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n1,4,7,1,0,1,2,0,1,1,1,0,1,0\n1,5,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,0,3,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,6,2,0,1,1,1,2,1,0\n1,0,10,3,0,5,0,0,0,1,1,0,1,1\n0,0,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,3,0,1,1,1,0,1,0\n1,0,12,1,1,7,3,4,0,1,1,0,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,0\n0,4,3,2,2,10,1,0,1,1,1,0,1,0\n1,0,7,1,0,7,2,4,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n1,0,0,3,2,3,3,0,1,1,1,0,1,0\n2,1,1,2,0,9,2,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,3,3,2,2,10,5,1,0,1,1,0,1,0\n1,5,10,3,1,5,3,1,0,1,1,0,1,0\n0,0,13,3,2,8,1,0,1,1,1,2,1,0\n3,2,3,2,1,3,3,0,1,1,1,2,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,6,2,2,1,3,0,1,1,1,0,1,0\n0,1,6,2,2,9,3,0,1,1,1,1,1,0\n1,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,5,2,0,3,0,0,0,1,1,2,1,0\n1,4,2,1,0,6,2,4,1,1,1,0,1,0\n1,0,11,0,0,2,2,0,1,1,1,1,1,0\n0,0,3,2,2,4,3,0,0,1,1,1,1,0\n1,0,3,2,0,2,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,0,3,5,3,3,0,0,1,1,1,1,0\n0,0,8,0,2,7,1,4,0,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,2,1,1\n0,0,2,1,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,4,1,1,1,0,1,0\n0,0,9,1,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,4,3,2,5,3,0,1,1,1,1,1,0\n1,4,0,3,0,12,0,4,0,1,1,0,1,1\n2,0,3,2,0,10,2,0,1,1,1,2,1,0\n2,2,3,2,4,3,3,0,0,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,3,7,5,0,1,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,1,8,1,0,0,1,1,0,1,0\n0,0,0,3,2,5,1,1,1,1,1,0,1,0\n1,4,1,2,4,8,3,0,0,1,1,2,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,1\n0,0,3,2,0,1,2,2,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,10,3,3,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,5,1,2,2,2,1,4,0,1,1,0,1,0\n1,0,0,3,1,4,3,0,1,1,1,0,1,1\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n0,1,3,2,0,2,0,0,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n3,0,1,2,1,3,5,4,0,1,1,2,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,1,1,2,2,9,1,0,1,1,1,1,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,3,5,2,2,4,5,0,0,1,1,2,1,0\n0,0,1,2,2,0,3,0,1,1,1,1,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,0,3,2,0,1,1,1,2,1,0\n0,4,1,2,2,12,3,4,1,1,1,0,1,0\n1,0,3,2,3,8,5,0,0,1,1,0,1,0\n3,0,3,2,4,2,4,0,0,1,1,2,1,0\n0,0,14,0,2,7,4,0,1,1,1,0,1,0\n0,0,10,3,2,4,3,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,1,2,5,0,0,1,1,0,1,0\n0,0,1,2,2,2,5,4,0,1,1,0,1,0\n1,5,3,2,1,2,3,4,0,1,1,1,1,0\n0,0,1,2,2,5,1,0,0,1,1,0,1,0\n0,0,3,2,2,8,5,4,0,1,1,0,1,0\n0,2,1,2,3,3,1,0,0,1,1,0,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,1,3,0,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n0,5,1,2,2,2,3,0,0,1,1,0,1,0\n2,0,3,2,2,2,3,4,0,1,1,0,1,0\n1,0,1,2,3,2,5,0,0,1,1,2,1,0\n1,0,1,2,1,4,3,0,1,1,1,0,1,0\n1,0,1,2,4,4,5,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,6,1,0,1,1,1,1,1,0\n1,0,0,3,5,4,3,0,1,1,1,0,1,1\n2,2,1,2,0,10,2,0,1,1,1,0,1,1\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n1,4,3,2,0,10,2,4,1,1,1,0,1,1\n1,4,0,3,1,4,3,0,0,1,1,0,1,1\n1,2,0,3,0,1,2,0,1,1,1,0,1,0\n1,5,10,3,2,5,3,0,1,1,1,0,1,0\n0,1,5,2,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,2,9,1,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n2,0,0,3,1,5,5,4,0,1,1,1,1,0\n2,4,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,8,0,1,7,3,0,0,1,1,0,1,0\n0,5,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,11,4,0,0,1,1,2,1,0\n1,0,1,2,1,3,3,0,0,1,1,1,1,0\n2,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,2,1,2,8,4,1,0,1,1,2,1,0\n1,4,10,3,1,5,5,4,0,1,1,0,1,0\n2,0,2,1,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,0,1,2,1,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,6,4,0,1,1,1,2,1,0\n0,0,1,2,1,7,5,2,1,1,1,0,1,0\n1,1,3,2,1,4,5,0,0,1,1,2,1,1\n2,0,12,1,0,1,2,0,1,1,1,0,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,5,3,2,3,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,0,10,3,2,4,3,0,1,1,1,0,1,0\n0,0,1,2,1,4,5,0,0,1,1,2,1,0\n0,0,3,2,2,6,1,0,0,1,1,2,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,3,8,4,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,12,1,0,0,1,1,0,1,0\n2,1,3,2,0,4,2,0,1,1,1,2,1,0\n0,0,3,2,1,4,3,0,0,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,1,5,5,0,0,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,7,1,2,2,1,0,1,1,1,0,1,0\n2,3,0,3,1,8,3,4,0,1,1,0,1,0\n1,4,1,2,3,12,1,3,1,1,1,1,1,0\n1,1,3,2,1,3,3,0,1,1,1,0,1,0\n0,0,2,1,2,7,1,0,1,1,1,1,1,0\n0,4,3,2,1,4,3,0,1,1,1,0,1,0\n1,0,5,2,0,5,2,0,1,1,1,1,1,0\n1,5,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,5,2,2,3,3,0,1,1,1,0,1,0\n0,4,3,2,2,2,5,4,0,1,1,0,1,0\n0,5,6,2,0,12,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,5,0,0,1,1,2,1,0\n1,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,3,2,2,6,3,0,1,1,1,1,1,0\n0,0,3,2,2,3,5,0,0,1,1,1,1,0\n1,1,0,3,2,3,1,1,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,5,2,1,4,3,0,0,1,1,1,1,0\n2,3,6,2,1,5,5,0,1,1,1,0,1,1\n1,0,9,1,3,1,3,4,1,1,1,0,1,0\n1,0,3,2,1,1,4,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,4,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,7,1,0,1,2,0,1,1,1,1,1,0\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,5,10,3,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,5,3,2,3,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n2,4,3,2,1,10,4,0,1,1,1,0,1,0\n0,0,1,2,2,10,1,0,0,1,1,2,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,5,2,5,3,1,4,0,1,1,2,1,0\n0,1,3,2,2,3,5,1,0,1,1,0,1,0\n1,0,1,2,0,1,2,4,1,1,1,1,1,1\n2,0,0,3,0,6,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,5,2,0,2,0,0,0,1,1,0,1,0\n2,1,10,3,4,5,3,0,1,1,1,2,1,1\n2,0,0,3,1,5,3,0,0,1,1,1,1,1\n1,2,0,3,0,5,2,0,1,1,1,1,1,1\n0,1,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n1,0,3,2,1,0,5,0,0,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,2,1,1,1,5,0,0,1,1,1,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,0,1,0,1,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,1,1,2,0,5,0,0,0,1,1,1,1,1\n1,0,3,2,1,2,3,4,0,1,1,2,1,0\n1,0,3,2,1,1,5,0,1,1,1,0,1,0\n1,4,4,3,0,5,2,0,1,1,1,1,1,1\n1,1,3,2,0,10,2,0,1,1,1,0,1,1\n2,0,0,3,2,0,3,0,1,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,1,0,0,1,1,2,1,0\n0,1,3,2,2,2,5,0,1,1,1,1,1,0\n0,0,5,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,3,2,3,2,3,0,0,1,1,0,1,0\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n1,0,10,3,0,5,0,0,0,1,1,2,1,1\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n1,1,9,1,0,1,2,0,1,1,1,1,1,0\n2,0,5,2,0,1,2,0,1,1,1,0,1,1\n2,1,3,2,2,1,1,0,1,1,1,2,1,0\n1,4,6,2,2,1,3,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n2,1,10,3,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,7,1,2,11,3,4,0,1,1,2,1,0\n0,0,6,2,0,1,2,0,1,1,1,2,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,4,3,0,1,1,1,1,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,4,3,2,2,1,3,0,1,1,1,0,1,0\n2,4,9,1,0,9,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,6,2,2,5,3,0,0,1,1,0,1,0\n1,0,1,2,1,4,5,0,0,1,1,1,1,0\n0,0,0,3,2,0,3,0,0,1,1,0,1,0\n1,2,1,2,1,1,3,0,1,1,1,1,1,0\n2,2,1,2,4,3,3,0,0,1,1,2,1,0\n0,1,6,2,1,7,3,0,0,1,1,0,1,0\n0,0,3,2,3,2,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,3,2,2,8,3,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,0,3,2,2,1,0,0,1,1,2,1,0\n1,0,11,0,3,2,3,0,0,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,5,0,0,1,1,2,1,0\n1,4,1,2,1,12,5,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n1,0,3,2,0,5,0,0,0,1,1,0,1,1\n1,0,10,3,0,4,0,0,0,1,1,2,1,1\n0,0,1,2,1,5,3,0,0,1,1,0,1,0\n0,0,13,3,2,5,3,0,0,1,1,1,1,1\n1,1,3,2,1,5,3,0,1,1,1,2,1,0\n0,0,3,2,2,7,3,4,1,1,1,0,1,0\n1,4,10,3,1,5,5,0,0,1,1,0,1,0\n0,0,0,3,2,2,1,0,1,1,1,0,1,0\n0,0,6,2,2,5,5,0,0,1,1,1,1,0\n0,0,0,3,0,4,0,0,0,1,1,0,1,0\n0,0,0,3,5,8,3,0,0,1,1,0,1,0\n0,4,5,2,2,5,1,0,0,1,1,2,1,0\n1,0,7,1,2,11,5,0,0,1,1,0,1,0\n1,4,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n2,0,10,3,5,4,3,0,1,1,1,1,1,1\n1,0,12,1,1,7,3,4,1,1,1,0,1,0\n0,0,6,2,0,0,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,5,2,2,12,1,0,1,1,1,1,1,0\n0,5,1,2,2,4,1,0,1,1,1,2,1,0\n1,0,1,2,0,6,2,0,1,1,1,1,1,0\n1,4,5,2,0,5,2,0,1,1,1,1,1,0\n1,4,1,2,0,8,2,2,1,1,1,0,1,0\n0,3,1,2,0,8,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,4,6,2,2,12,5,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,10,3,2,3,3,0,1,1,1,1,1,0\n1,2,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,0,3,1,5,3,0,1,1,1,0,1,0\n0,5,1,2,0,4,2,0,1,1,1,2,1,0\n0,2,0,3,2,5,3,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,4,1,5,4,0,1,1,0,1,0\n1,0,6,2,0,4,2,0,1,1,1,0,1,0\n2,0,3,2,0,6,2,0,1,1,1,0,1,1\n0,0,12,1,0,3,2,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,0,1,1,0,1,0\n1,4,3,2,0,8,0,0,0,1,1,2,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,12,1,2,6,4,0,1,1,1,2,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,0,3,2,1,4,5,0,0,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n2,0,3,2,1,1,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,5,4,3,0,5,2,4,1,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,0,3,1,5,3,0,1,1,1,1,1,0\n2,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,4,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n1,1,1,2,3,5,3,0,1,1,1,2,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,2,7,5,2,1,1,1,1,1,0\n1,3,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,2,1,1\n0,0,6,2,1,4,5,0,0,1,1,0,1,0\n3,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,6,2,2,5,1,1,1,1,1,0,1,0\n0,0,6,2,2,8,3,0,0,1,1,0,1,0\n1,0,1,2,0,8,0,3,0,1,1,2,1,1\n3,2,12,1,0,4,0,0,0,1,1,2,1,0\n0,0,12,1,2,2,1,4,0,1,1,2,1,0\n2,0,6,2,0,0,2,0,1,1,1,0,1,1\n2,3,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,0,1,0,1,1,2,1,1\n0,0,6,2,0,0,0,0,0,1,1,2,1,1\n0,0,3,2,2,2,4,0,1,1,1,2,1,0\n0,3,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,5,0,3,0,4,2,4,1,1,1,0,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,0,6,2,1,1,1,1,0,1,0\n1,0,1,2,4,2,5,4,0,1,1,0,1,0\n1,0,3,2,1,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n3,4,3,2,4,2,5,2,0,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,1,3,2,0,3,2,0,1,1,1,2,1,0\n2,0,1,2,0,7,2,0,1,1,1,0,1,0\n2,0,0,3,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,5,3,2,0,8,0,4,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,0,12,1,0,7,2,0,1,1,1,1,1,1\n0,4,0,3,2,0,5,1,0,1,1,0,1,0\n0,0,1,2,3,8,5,4,0,1,1,2,1,0\n0,0,3,2,2,4,3,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,4,0,3,0,12,2,0,1,1,1,0,1,0\n1,2,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,4,3,0,0,1,1,0,1,0\n1,0,3,2,2,8,4,0,0,1,1,0,1,0\n0,1,3,2,2,1,3,0,1,1,1,1,1,0\n1,0,1,2,0,12,2,3,1,1,1,2,1,0\n0,4,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,1,1,1,1,2,1,0\n0,4,9,1,2,6,5,4,0,1,1,2,1,0\n0,0,6,2,2,5,3,0,1,1,1,0,1,0\n1,0,6,2,1,7,3,4,1,1,1,1,1,0\n1,0,3,2,0,1,2,1,1,1,1,0,1,0\n1,2,5,2,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,1,2,2,9,1,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n2,0,12,1,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,1,1,2,2,8,5,0,1,1,1,2,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,12,1,1,7,3,0,0,1,1,0,1,0\n1,3,6,2,2,5,3,0,0,1,1,0,1,1\n1,0,2,1,2,10,3,0,1,1,1,1,1,0\n1,3,1,2,2,4,3,4,1,1,1,0,1,1\n0,5,1,2,2,8,1,0,0,1,1,0,1,0\n2,0,12,1,0,2,0,4,0,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,4,3,2,1,4,5,2,0,1,1,0,1,0\n0,0,3,2,1,12,3,0,1,1,1,0,1,0\n2,0,5,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,2,2,0,1,1,1,1,1,1\n1,0,1,2,2,8,5,0,0,1,1,2,1,0\n2,1,14,0,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,2,0,1,1,2,1,0\n0,0,1,2,2,8,1,4,0,1,1,2,1,0\n2,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,3,3,4,4,0,1,1,2,1,0\n1,1,11,0,0,4,2,0,1,1,1,1,1,1\n1,4,10,3,0,5,0,0,0,1,1,0,1,1\n0,3,0,3,2,12,3,0,1,1,1,1,1,0\n0,4,1,2,2,10,5,4,0,1,1,0,1,0\n1,4,3,2,2,4,1,2,0,1,1,0,1,0\n1,5,3,2,1,4,5,0,0,1,1,0,1,0\n0,0,0,3,2,3,4,0,0,1,1,0,1,0\n0,4,6,2,2,12,3,0,1,1,1,1,1,0\n2,1,14,0,0,9,2,0,1,1,1,1,1,0\n1,4,1,2,0,9,2,0,1,1,1,0,1,1\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n2,0,3,2,0,5,2,0,1,1,1,2,1,0\n0,0,2,1,1,7,5,0,0,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,4,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n1,1,0,3,1,1,1,0,1,1,1,0,1,0\n1,0,0,3,0,8,0,0,0,1,1,2,1,1\n1,0,1,2,1,5,5,4,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,0,1,1,0,1,0\n2,0,1,2,0,5,0,0,0,1,1,0,1,0\n2,1,3,2,1,1,3,0,1,1,1,0,1,0\n2,0,6,2,4,5,3,0,0,1,1,0,1,0\n0,0,1,2,3,11,3,0,0,1,1,2,1,0\n1,0,3,2,1,3,5,0,0,1,1,1,1,0\n1,0,3,2,1,2,3,0,1,1,1,2,1,0\n0,4,6,2,0,12,2,0,1,1,1,1,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n1,0,8,0,3,2,3,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,1,2,2,7,4,0,0,1,1,0,1,0\n0,0,3,2,2,0,3,0,0,1,1,0,1,0\n1,0,1,2,0,3,0,1,0,1,1,0,1,0\n0,1,3,2,2,9,1,1,1,1,1,0,1,0\n1,0,3,2,1,8,5,4,0,1,1,1,1,0\n1,0,3,2,2,0,4,0,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,1\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n1,0,6,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,1,7,5,0,0,1,1,0,1,0\n1,0,1,2,0,5,0,0,0,1,1,0,1,1\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n0,0,2,1,2,1,1,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,5,1,2,1,4,3,0,0,1,1,2,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,2,1,1,2,1,0,1,1,1,0,1,0\n2,0,1,2,4,2,3,0,0,1,1,0,1,0\n0,0,12,1,1,2,5,0,0,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,2,10,5,0,1,1,1,0,1,0\n0,0,3,2,2,4,5,0,0,1,1,2,1,0\n1,3,3,2,5,8,3,4,0,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,12,1,2,2,3,0,1,1,1,2,1,0\n0,0,1,2,2,4,3,0,0,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,12,1,2,9,5,0,1,1,1,2,1,0\n0,0,3,2,2,3,5,4,0,1,1,2,1,0\n1,2,1,2,4,4,3,0,1,1,1,0,1,1\n0,0,3,2,2,12,3,0,1,1,1,0,1,0\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,4,0,1,1,1,1,1,1\n0,0,10,3,2,8,1,0,1,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,2,1,2,6,3,4,1,1,1,0,1,0\n0,5,1,2,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,1,2,4,0,1,1,1,2,1,0\n0,4,3,2,2,2,1,4,1,1,1,2,1,0\n0,1,12,1,2,1,3,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,2,1,2,1,4,0,1,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n2,0,3,2,4,6,3,0,0,1,1,2,1,0\n1,4,0,3,1,5,5,0,0,1,1,0,1,0\n0,0,3,2,3,0,3,0,1,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,4,10,3,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,1,2,0,7,2,4,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,1,1,2,2,2,3,4,1,1,1,0,1,0\n1,0,3,2,2,8,1,0,0,1,1,0,1,0\n2,4,3,2,0,10,2,0,1,1,1,0,1,0\n3,1,3,2,0,9,2,0,1,1,1,2,1,0\n1,1,1,2,0,9,0,0,0,1,1,2,1,0\n1,5,3,2,0,12,2,4,1,1,1,0,1,1\n0,4,0,3,2,5,1,4,1,1,1,2,1,0\n1,0,3,2,1,2,1,1,0,1,1,0,1,0\n1,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,2,6,2,0,4,2,4,1,1,1,0,1,1\n0,0,5,2,1,8,3,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,4,1,2,1,2,5,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,1,10,3,4,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,1\n0,1,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,0,1,2,3,5,5,0,0,1,1,0,1,0\n1,1,6,2,0,9,2,0,1,1,1,1,1,0\n2,2,8,0,0,1,2,0,1,1,1,0,1,1\n2,1,10,3,1,5,5,0,0,1,1,2,1,0\n0,4,12,1,2,1,5,4,1,1,1,1,1,0\n2,0,2,1,1,2,5,0,0,1,1,2,1,0\n0,4,0,3,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,5,1,0,0,1,1,0,1,0\n1,0,3,2,2,8,5,4,0,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n1,1,3,2,0,3,2,0,1,1,1,0,1,0\n0,1,0,3,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,3,7,5,0,0,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,4,3,0,0,1,1,0,1,0\n1,0,10,3,2,8,5,0,0,1,1,0,1,0\n1,1,0,3,0,5,2,1,1,1,1,1,1,1\n1,1,3,2,0,0,2,0,1,1,1,2,1,1\n0,0,3,2,2,7,4,0,1,1,1,1,1,0\n1,3,5,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,3,13,3,2,5,3,0,0,1,1,1,1,0\n0,0,10,3,2,8,3,0,1,1,1,1,1,0\n2,3,0,3,3,5,3,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,2,1,3,0,1,1,1,1,1,0\n1,0,3,2,2,4,1,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,2,1,4,2,1,1,1,1,1,1\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n1,0,8,0,3,2,3,0,0,1,1,2,1,0\n1,2,0,3,0,4,2,1,1,1,1,1,1,1\n2,0,3,2,3,3,3,2,0,1,1,2,1,0\n1,4,1,2,0,12,2,0,1,1,1,1,1,1\n1,0,3,2,0,9,2,0,1,1,1,0,1,0\n3,0,8,0,0,7,2,0,1,1,1,0,1,0\n2,0,8,0,4,2,3,4,0,1,1,2,1,0\n0,1,3,2,0,9,0,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,1,1,1,1,2,1,0\n0,0,3,2,0,12,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,4,1,1,1,1,1,1\n0,2,6,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,1,1,1,1,0,1,0\n0,1,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,1,3,2,2,12,3,0,1,1,1,2,1,0\n0,4,3,2,2,12,3,2,1,1,1,0,1,0\n0,0,6,2,0,2,0,4,0,1,1,0,1,1\n0,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,3,2,5,4,0,1,1,2,1,0\n0,5,13,3,0,5,0,0,0,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,4,2,1,2,12,1,0,1,1,1,2,1,0\n1,0,8,0,1,2,5,0,0,1,1,2,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,1,3,2,1,2,5,0,0,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,1,1,2,0,4,2,0,1,1,1,0,1,0\n0,4,0,3,2,5,1,0,0,1,1,2,1,0\n0,0,2,1,2,6,3,0,1,1,1,0,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n2,0,1,2,4,4,3,0,0,1,1,2,1,0\n0,0,1,2,2,4,3,0,0,1,1,0,1,0\n2,0,5,2,5,8,4,0,0,1,1,2,1,0\n1,0,3,2,2,8,3,4,0,1,1,0,1,0\n1,5,1,2,1,8,3,4,0,1,1,2,1,0\n2,0,7,1,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,7,3,0,1,1,1,2,1,0\n0,1,4,3,0,5,2,0,1,1,1,1,1,1\n2,0,0,3,0,7,2,0,1,1,1,0,1,0\n1,4,1,2,1,4,3,0,1,1,1,1,1,1\n1,0,0,3,1,2,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,4,1,1,1,1,1,1\n0,1,1,2,0,1,2,0,1,1,1,1,1,1\n2,0,5,2,0,3,2,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,0,3,4,4,5,0,1,1,1,0,1,1\n1,0,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,3,2,2,4,1,0,1,1,1,0,1,0\n0,1,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,1,2,1,2,5,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n0,0,9,1,2,1,3,0,1,1,1,0,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,7,3,4,1,1,1,0,1,0\n1,0,0,3,0,0,0,0,0,1,1,0,1,1\n0,0,3,2,2,7,5,4,0,1,1,0,1,0\n0,0,6,2,0,4,0,0,0,1,1,1,1,1\n1,4,13,3,0,5,0,0,0,1,1,1,1,1\n1,0,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,5,2,1,8,5,4,1,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,6,1,0,1,1,1,1,1,0\n0,0,10,3,2,0,3,0,1,1,1,1,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,5,3,2,0,8,2,0,1,1,1,0,1,0\n2,0,10,3,4,8,5,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,0,3,2,8,1,0,0,1,1,2,1,0\n3,0,8,0,4,11,3,0,0,1,1,2,1,0\n2,0,10,3,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,1,0,5,0,0,1,1,0,1,0\n1,0,5,2,1,1,3,4,1,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n0,5,1,2,2,8,1,0,1,1,1,0,1,0\n1,0,0,3,2,2,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,0,0,0,1,1,0,1,0\n1,0,1,2,1,5,5,4,0,1,1,0,1,0\n0,1,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,12,1,2,1,1,1,0,1,0\n0,0,6,2,2,7,3,3,1,1,1,0,1,0\n2,0,1,2,1,8,5,4,0,1,1,0,1,0\n1,0,10,3,2,8,1,0,0,1,1,0,1,0\n1,3,1,2,0,8,0,0,0,1,1,0,1,0\n0,5,10,3,2,4,3,0,1,1,1,0,1,0\n0,4,0,3,2,5,1,0,1,1,1,2,1,0\n0,2,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,3,3,5,0,0,1,1,2,1,0\n2,0,13,3,2,5,3,0,0,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,4,3,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,1\n1,0,1,2,1,8,5,0,0,1,1,1,1,0\n0,0,5,2,2,5,3,0,0,1,1,0,1,1\n1,0,2,1,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,0,2,2,0,1,1,1,2,1,1\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n3,2,13,3,0,9,2,0,1,1,1,0,1,1\n0,1,10,3,0,9,2,0,1,1,1,1,1,0\n1,1,7,1,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,3,1,3,4,1,1,1,0,1,0\n2,0,3,2,1,3,3,0,0,1,1,2,1,0\n1,1,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,1,2,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,1,1,0\n3,0,7,1,0,11,0,4,0,1,1,2,1,0\n1,1,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,8,4,0,0,1,1,0,1,0\n0,1,5,2,1,3,5,4,1,1,1,1,1,0\n1,4,3,2,5,10,4,0,0,1,1,2,1,0\n0,0,3,2,1,3,3,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,0,3,5,2,5,0,0,1,1,2,1,0\n0,0,6,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,5,4,0,1,1,0,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,14,0,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n2,0,1,2,0,10,2,0,1,1,1,0,1,1\n0,0,12,1,3,3,5,4,0,1,1,2,1,0\n0,0,6,2,1,10,3,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,1,11,3,0,0,1,1,2,1,0\n0,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,4,1,2,2,8,3,0,1,1,1,2,1,0\n1,2,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,1,1,1\n2,0,0,3,1,8,3,0,1,1,1,0,1,0\n2,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,5,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,10,3,2,3,5,0,1,1,1,1,1,1\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n0,5,3,2,2,12,1,0,1,1,1,0,1,0\n0,0,1,2,2,4,4,0,1,1,1,0,1,0\n2,0,8,0,0,7,2,4,1,1,1,1,1,0\n1,0,3,2,1,4,5,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,0,1,1,1,1,1,0\n2,0,0,3,4,0,5,0,0,1,1,2,1,0\n0,0,5,2,1,8,5,0,0,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,12,1,0,10,2,0,1,1,1,0,1,0\n0,0,5,2,2,2,1,0,1,1,1,2,1,0\n2,2,0,3,0,5,2,0,1,1,1,0,1,1\n2,4,10,3,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,2,1,0,6,2,0,1,1,1,0,1,1\n1,0,2,1,0,7,2,0,1,1,1,2,1,0\n0,1,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,4,3,2,5,3,1,1,1,1,2,1,0\n2,0,3,2,1,8,5,0,1,1,1,2,1,0\n1,0,3,2,3,10,5,0,1,1,1,1,1,0\n0,0,9,1,2,10,3,0,1,1,1,1,1,0\n2,0,3,2,4,1,3,0,1,1,1,2,1,0\n0,1,6,2,0,4,2,0,1,1,1,1,1,1\n1,0,12,1,1,10,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,4,0,1,1,0,1,0\n0,0,1,2,5,8,1,3,0,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n2,0,12,1,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,6,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,7,5,0,0,1,1,2,1,0\n1,0,3,2,1,2,3,0,1,1,1,0,1,0\n2,0,0,3,1,4,3,0,0,1,1,2,1,0\n2,4,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,5,2,2,2,3,0,0,1,1,1,1,1\n2,1,1,2,5,9,3,0,0,1,1,2,1,1\n0,0,3,2,1,4,5,0,0,1,1,1,1,0\n2,0,12,1,4,9,5,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,3,1,2,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,6,1,4,0,1,1,2,1,0\n1,0,12,1,0,3,2,0,1,1,1,1,1,0\n0,1,6,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,2,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,7,1,0,6,2,1,1,1,1,0,1,0\n1,0,3,2,2,8,3,0,1,1,1,0,1,0\n1,4,13,3,5,5,5,0,0,1,1,2,1,0\n0,3,0,3,0,8,2,1,1,1,1,2,1,0\n0,0,0,3,2,0,3,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,1,1,1,1,0,1,1\n2,0,2,1,3,2,3,4,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,0,4,4,0,1,1,1,1,1,0\n1,4,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,1,2,2,4,4,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,5,3,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,14,0,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,2,0,3,0,1,1,1,2,1,0\n0,4,3,2,0,1,2,0,1,1,1,0,1,0\n2,4,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,0,9,1,2,0,3,0,1,1,1,0,1,0\n1,5,6,2,0,12,2,0,1,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,2,1,3,1,1,1,1,0,1,0\n0,0,6,2,2,4,1,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,9,1,0,2,2,0,1,1,1,0,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,0,7,2,4,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n2,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,2,7,5,4,0,1,1,0,1,0\n1,0,5,2,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,2,5,3,0,1,1,1,0,1,1\n0,0,3,2,0,10,2,3,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,0\n2,1,11,0,2,4,3,2,1,1,1,1,1,0\n0,2,1,2,2,3,1,0,0,1,1,2,1,0\n0,1,0,3,2,5,1,0,0,1,1,0,1,0\n2,0,6,2,0,8,2,0,1,1,1,0,1,0\n1,5,0,3,1,5,3,0,0,1,1,1,1,0\n0,0,9,1,2,3,1,4,0,1,1,2,1,0\n0,0,1,2,5,3,1,4,0,1,1,2,1,0\n0,4,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,9,1,0,7,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,1,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,0,7,2,4,1,1,1,0,1,0\n0,0,5,2,0,0,2,0,1,1,1,0,1,0\n1,1,0,3,2,9,3,0,1,1,1,1,1,0\n2,1,7,1,0,1,2,0,1,1,1,1,1,0\n2,2,10,3,4,4,5,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,10,3,4,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n2,1,3,2,0,4,2,0,1,1,1,2,1,0\n0,0,0,3,0,8,2,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,4,10,3,0,5,0,0,0,1,1,0,1,1\n0,0,6,2,2,0,3,0,1,1,1,1,1,0\n2,0,1,2,2,9,3,0,1,1,1,0,1,0\n0,4,1,2,5,5,3,0,1,1,1,1,1,0\n2,0,10,3,1,4,3,0,1,1,1,1,1,1\n0,0,10,3,2,5,3,0,1,1,1,1,1,1\n0,0,5,2,1,4,3,0,0,1,1,1,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,0,1,1\n1,1,3,2,3,1,3,0,1,1,1,0,1,0\n2,4,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,2,0,1,0,0,1,1,2,1,0\n2,0,1,2,5,10,3,0,1,1,1,0,1,0\n0,0,2,1,1,2,5,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n2,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,4,0,3,2,12,1,0,1,1,1,0,1,0\n1,0,1,2,1,1,5,0,1,1,1,0,1,1\n0,0,0,3,3,3,3,0,0,1,1,1,1,1\n2,6,3,2,0,10,2,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,4,6,2,1,4,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,4,6,4,0,0,1,1,1,1,0\n2,3,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,0\n2,3,10,3,2,4,3,0,1,1,1,0,1,0\n2,4,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,4,1,1,1,2,1,0\n0,0,2,1,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,2,2,5,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,2,8,0,0,1,2,0,1,1,1,1,1,1\n1,5,10,3,0,5,2,0,1,1,1,1,1,1\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,5,3,2,2,10,3,2,1,1,1,2,1,1\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,1,5,2,0,4,2,0,1,1,1,0,1,0\n0,0,5,2,0,5,2,0,1,1,1,0,1,1\n1,0,6,2,1,2,3,2,0,1,1,0,1,0\n0,0,10,3,0,3,2,0,1,1,1,1,1,1\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n2,4,6,2,0,10,2,4,1,1,1,0,1,0\n1,0,8,0,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,4,0,1,1,0,1,0\n1,0,0,3,2,4,3,1,0,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,1,1,3,0,1,1,1,0,1,0\n1,0,6,2,2,11,3,0,1,1,1,2,1,0\n1,3,3,2,3,8,5,0,0,1,1,0,1,0\n0,0,9,1,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,8,0,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,0,0,0,1,1,2,1,0\n2,1,3,2,2,2,5,0,0,1,1,2,1,0\n1,0,1,2,1,1,3,0,1,1,1,1,1,0\n0,4,3,2,0,12,2,0,1,1,1,0,1,0\n2,4,10,3,4,5,5,4,0,1,1,0,1,1\n1,3,1,2,2,8,5,0,0,1,1,0,1,0\n1,0,8,0,2,6,3,0,1,1,1,1,1,0\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n1,1,0,3,1,0,3,0,1,1,1,2,1,0\n2,0,10,3,2,5,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,3,0,1,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,6,2,0,3,2,0,1,1,1,0,1,1\n1,4,0,3,1,5,5,0,1,1,1,0,1,0\n0,0,0,3,1,2,3,0,0,1,1,1,1,0\n1,3,3,2,0,10,2,4,1,1,1,0,1,1\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n1,0,4,3,0,1,2,0,1,1,1,0,1,1\n1,0,6,2,1,5,3,0,0,1,1,0,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n2,0,12,1,0,3,0,1,0,1,1,2,1,1\n0,0,7,1,2,10,4,0,1,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,1,1,0\n1,0,1,2,2,8,3,0,0,1,1,0,1,1\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,4,0,1,1,1,1,1\n0,0,6,2,2,4,1,0,1,1,1,0,1,0\n1,3,1,2,1,5,5,0,0,1,1,0,1,1\n2,1,1,2,0,4,2,4,1,1,1,2,1,0\n0,0,1,2,1,4,5,0,0,1,1,2,1,0\n1,0,3,2,0,8,2,4,1,1,1,0,1,1\n1,4,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,5,3,0,1,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,1,1,5,0,1,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,6,2,1,1,5,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,5,5,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,2,4,3,0,3,2,0,1,1,1,0,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,2,0,4,1,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,1,10,3,0,5,2,0,1,1,1,0,1,0\n1,0,5,2,0,0,2,0,1,1,1,1,1,1\n2,1,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,11,0,2,2,4,0,1,1,1,2,1,0\n2,0,8,0,0,2,2,1,1,1,1,0,1,0\n2,4,6,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n2,1,10,3,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,10,3,0,1,1,1,2,1,0\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n2,0,12,1,1,2,5,0,0,1,1,0,1,0\n2,4,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,4,3,2,1,8,3,0,0,1,1,0,1,0\n1,4,3,2,0,8,0,0,0,1,1,0,1,0\n1,3,3,2,2,4,3,0,0,1,1,0,1,0\n1,1,12,1,2,1,1,0,1,1,1,1,1,0\n2,0,3,2,4,5,3,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,5,1,2,1,2,5,4,0,1,1,2,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,0,13,3,0,5,2,3,1,1,1,1,1,1\n1,0,3,2,0,2,2,1,1,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,2,1,0\n1,2,5,2,1,3,5,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,3,0,1,1,1,2,1,0\n0,0,1,2,0,8,2,4,1,1,1,2,1,1\n1,0,10,3,0,8,2,0,1,1,1,1,1,1\n1,1,4,3,1,5,3,0,1,1,1,1,1,1\n0,1,5,2,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,1,3,5,4,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,2,0,3,0,3,2,0,1,1,1,1,1,0\n1,5,1,2,0,8,2,0,1,1,1,0,1,0\n1,5,0,3,0,4,2,0,1,1,1,2,1,1\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,2,8,5,0,1,1,1,1,1,0\n1,3,1,2,0,8,2,0,1,1,1,0,1,1\n0,5,13,3,2,5,3,0,0,1,1,1,1,0\n0,0,0,3,2,10,1,0,1,1,1,2,1,0\n0,0,1,2,1,2,3,4,1,1,1,0,1,0\n1,0,3,2,1,7,5,4,0,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,0,0,3,0,1,2,1,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,0,12,1,1,2,3,0,1,1,1,1,1,0\n1,0,0,3,1,8,3,4,0,1,1,0,1,0\n1,0,1,2,3,4,3,4,0,1,1,0,1,0\n2,1,3,2,0,2,0,4,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,2,9,1,0,1,1,1,0,1,0\n0,0,2,1,2,9,5,0,1,1,1,0,1,0\n0,0,1,2,2,6,3,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,1,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n2,5,3,2,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,10,3,3,4,3,0,1,1,1,1,1,1\n0,0,9,1,2,7,1,0,1,1,1,0,1,0\n1,5,3,2,1,4,3,0,0,1,1,0,1,0\n2,1,7,1,0,1,2,0,1,1,1,1,1,0\n1,4,0,3,1,5,5,0,0,1,1,0,1,0\n1,3,1,2,0,10,0,0,0,1,1,0,1,1\n3,0,6,2,0,1,2,0,1,1,1,2,1,0\n2,5,12,1,0,9,2,0,1,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,1,1,2,5,5,3,4,1,1,1,1,1,0\n2,4,3,2,4,8,3,4,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,2,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n1,4,3,2,5,6,5,0,1,1,1,0,1,0\n1,0,1,2,1,2,5,0,0,1,1,2,1,0\n2,0,3,2,4,8,3,0,0,1,1,2,1,0\n1,0,6,2,3,1,4,0,1,1,1,1,1,1\n0,0,3,2,1,3,3,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,12,1,2,7,3,0,0,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,6,3,0,1,1,1,0,1,0\n2,0,1,2,4,3,4,0,0,1,1,1,1,0\n1,1,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,4,0,1,1,1,2,1,0\n1,0,1,2,5,3,3,0,1,1,1,1,1,0\n1,4,10,3,0,5,0,0,0,1,1,1,1,1\n1,0,2,1,0,10,2,0,1,1,1,0,1,1\n1,4,6,2,0,12,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,2,2,3,4,0,1,1,0,1,0\n0,0,3,2,0,2,2,4,1,1,1,2,1,0\n1,3,0,3,0,4,2,0,1,1,1,0,1,0\n1,5,10,3,0,3,2,0,1,1,1,1,1,1\n2,2,13,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n1,0,1,2,1,5,3,0,0,1,1,0,1,0\n0,0,0,3,0,0,0,0,0,1,1,0,1,1\n1,0,7,1,2,1,4,4,1,1,1,1,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,1\n1,0,0,3,0,2,0,1,0,1,1,1,1,1\n1,0,2,1,1,1,1,0,1,1,1,2,1,0\n0,0,3,2,2,8,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,4,0,0,1,1,2,1,0\n0,0,1,2,2,12,1,0,0,1,1,2,1,0\n1,4,0,3,1,5,3,0,0,1,1,2,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,12,1,2,5,1,3,0,1,1,2,1,0\n1,0,3,2,0,7,2,4,1,1,1,0,1,0\n0,0,3,2,3,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,3,1,2,0,4,2,0,1,1,1,1,1,1\n0,1,3,2,2,5,1,4,0,1,1,0,1,0\n1,1,6,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,3,0,3,0,4,2,4,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,1,8,0,0,3,2,0,1,1,1,2,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,4,1,0,1,1,1,1,1,0\n1,0,12,1,1,7,5,0,0,1,1,0,1,0\n1,4,3,2,1,4,3,0,0,1,1,0,1,0\n1,0,0,3,1,4,5,4,0,1,1,0,1,0\n1,0,0,3,0,9,2,0,1,1,1,1,1,0\n1,0,8,0,1,2,4,0,0,1,1,0,1,0\n1,0,3,2,5,9,4,4,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,3,5,2,2,8,3,0,1,1,1,0,1,0\n2,0,10,3,1,3,3,0,1,1,1,2,1,0\n0,0,2,1,2,10,1,0,1,1,1,2,1,0\n0,0,0,3,2,7,4,0,1,1,1,0,1,0\n2,0,3,2,1,1,3,0,1,1,1,0,1,0\n2,0,0,3,1,5,5,0,0,1,1,2,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,0,3,2,8,4,4,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,0,10,3,2,7,3,0,0,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,5,0,0,1,1,0,1,0\n1,4,3,2,4,2,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,0,1,1,1,1,0\n1,0,14,0,0,2,2,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n3,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,1,2,0,5,2,4,1,1,1,0,1,1\n2,0,1,2,1,1,3,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n1,4,8,0,1,6,3,0,1,1,1,0,1,0\n0,0,1,2,1,8,5,4,0,1,1,0,1,0\n0,0,9,1,2,6,1,2,1,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,5,1,2,2,8,1,0,0,1,1,2,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,1\n2,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,2,9,3,0,1,1,1,0,1,0\n1,1,3,2,1,5,3,1,0,1,1,1,1,0\n0,2,3,2,2,3,1,0,1,1,1,1,1,0\n1,4,1,2,0,0,2,0,1,1,1,1,1,1\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,1,4,5,4,0,1,1,1,1,0\n1,0,3,2,1,8,3,3,0,1,1,0,1,0\n1,0,4,3,0,5,0,0,0,1,1,2,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,4,0,3,0,8,2,0,1,1,1,0,1,1\n1,2,0,3,1,4,3,0,1,1,1,0,1,0\n2,0,0,3,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,7,1,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,1,2,1,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,1,4,3,1,5,5,0,0,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n2,0,2,1,0,2,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,0,3,0,2,2,0,1,1,1,1,1,1\n2,0,3,2,0,8,0,0,0,1,1,0,1,1\n0,0,0,3,5,5,3,1,0,1,1,0,1,0\n0,0,6,2,2,8,3,4,0,1,1,0,1,0\n0,4,5,2,2,8,3,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,1,1,2,1,7,5,0,1,1,1,0,1,0\n1,1,6,2,2,2,3,0,1,1,1,1,1,0\n2,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n0,0,2,1,2,3,3,0,0,1,1,0,1,0\n2,3,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,5,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,9,1,2,4,3,0,1,1,1,1,1,0\n0,0,3,2,3,3,5,0,0,1,1,1,1,0\n1,1,1,2,3,2,5,4,0,1,1,1,1,0\n0,0,3,2,3,4,1,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,14,0,2,9,5,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,6,2,2,1,5,0,1,1,1,1,1,0\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,3,3,2,1,8,5,4,0,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,1,4,3,0,1,2,0,1,1,1,1,1,0\n2,2,7,1,1,3,3,0,1,1,1,1,1,0\n1,4,10,3,2,5,1,0,0,1,1,1,1,0\n2,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,5,2,1,4,3,4,0,1,1,0,1,0\n2,0,8,0,1,7,5,0,0,1,1,0,1,0\n1,2,10,3,1,4,5,1,1,1,1,1,1,1\n0,0,12,1,1,6,3,0,1,1,1,0,1,0\n2,0,2,1,0,6,2,0,1,1,1,2,1,0\n0,1,3,2,0,1,4,0,1,1,1,2,1,0\n3,0,14,0,4,2,5,0,1,1,1,2,1,0\n1,1,1,2,0,10,2,0,1,1,1,1,1,1\n1,0,13,3,0,4,2,1,1,1,1,0,1,1\n2,0,10,3,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n2,0,1,2,0,6,2,4,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,7,1,2,2,1,0,0,1,1,2,1,0\n1,1,3,2,1,10,3,0,1,1,1,1,1,0\n2,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n2,2,3,2,0,3,2,0,1,1,1,2,1,1\n0,0,3,2,2,3,5,4,0,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n2,0,15,0,0,5,2,3,1,1,1,2,1,0\n1,0,4,3,1,5,3,0,1,1,1,1,1,1\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,5,1,0,1,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n0,0,1,2,2,6,4,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,2,1,2,7,5,0,0,1,1,0,1,0\n0,0,3,2,1,7,1,4,0,1,1,0,1,0\n1,1,3,2,0,1,2,4,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,5,1,2,0,5,2,4,1,1,1,0,1,1\n1,0,1,2,2,10,5,0,0,1,1,2,1,0\n1,3,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,7,1,2,9,4,0,1,1,1,1,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n2,0,3,2,0,3,2,0,1,1,1,1,1,0\n2,2,3,2,0,1,2,0,1,1,1,2,1,0\n0,4,0,3,0,8,0,0,0,1,1,0,1,0\n0,5,12,1,0,2,2,0,1,1,1,0,1,0\n2,0,0,3,2,4,3,0,0,1,1,2,1,0\n2,4,1,2,1,4,3,2,0,1,1,0,1,0\n3,1,3,2,4,3,3,0,0,1,1,1,1,0\n1,0,4,3,0,5,2,1,1,1,1,1,1,1\n0,0,1,2,2,1,1,0,1,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,1,5,5,0,0,1,1,2,1,0\n0,0,2,1,1,3,5,0,0,1,1,2,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,12,5,2,0,1,1,0,1,0\n1,3,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,4,3,0,1,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n2,1,6,2,0,9,2,0,1,1,1,1,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n3,0,3,2,5,8,3,0,0,1,1,2,1,0\n3,4,13,3,4,5,5,0,0,1,1,0,1,0\n2,1,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,1,0,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,1,2,3,0,1,1,1,2,1,0\n0,0,3,2,0,4,0,0,0,1,1,0,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,4,10,3,1,4,3,0,0,1,1,1,1,1\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,1,2,4,4,3,0,0,1,1,1,1,0\n0,5,0,3,0,5,0,0,0,1,1,1,1,1\n1,0,0,3,0,1,2,1,1,1,1,0,1,1\n0,0,3,2,2,3,1,4,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,1,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,1,1,1,1,1,0\n1,2,0,3,2,5,3,0,0,1,1,1,1,0\n1,0,2,1,2,2,4,0,1,1,1,0,1,0\n1,0,3,2,3,2,4,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n2,1,14,0,0,9,2,0,1,1,1,2,1,0\n1,0,6,2,0,6,2,0,1,1,1,1,1,0\n1,0,3,2,1,7,4,0,0,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,3,4,3,0,0,1,1,0,1,0\n1,0,11,0,5,9,4,0,1,1,1,1,1,0\n1,4,6,2,0,12,2,0,1,1,1,1,1,1\n1,0,12,1,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,5,10,3,0,5,2,0,1,1,1,1,1,1\n0,5,1,2,0,12,2,0,1,1,1,0,1,0\n0,1,3,2,2,1,3,0,1,1,1,1,1,0\n2,0,3,2,4,3,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,2,1,1,1,0,1,0\n2,0,12,1,0,10,2,0,1,1,1,1,1,1\n0,0,2,1,0,6,1,0,1,1,1,0,1,0\n0,0,3,2,1,2,3,0,1,1,1,0,1,0\n0,0,3,2,5,8,5,4,0,1,1,0,1,0\n0,0,5,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,3,3,2,1,8,3,0,1,1,1,0,1,0\n1,3,3,2,2,8,1,4,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,3,1,1,0,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,1\n1,0,2,1,0,12,2,0,1,1,1,1,1,0\n1,0,6,2,3,5,3,0,0,1,1,0,1,0\n1,1,6,2,1,4,3,0,0,1,1,1,1,0\n0,4,3,2,0,12,2,4,1,1,1,2,1,1\n1,4,0,3,1,5,5,4,0,1,1,1,1,0\n2,3,0,3,0,5,2,0,1,1,1,0,1,1\n1,4,3,2,0,8,4,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n2,0,12,1,4,1,5,4,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,2,1,0\n0,0,3,2,3,8,5,4,0,1,1,0,1,0\n0,0,13,3,0,5,2,1,1,1,1,1,1,1\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,1,0,3,0,9,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,3,3,1,1,1,1,1,0\n0,3,6,2,0,6,2,0,1,1,1,2,1,0\n0,0,0,3,0,9,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,4,0,3,0,12,2,4,1,1,1,1,1,1\n0,3,0,3,2,4,4,1,0,1,1,1,1,0\n0,0,1,2,2,12,1,0,1,1,1,2,1,0\n1,4,0,3,0,8,0,0,0,1,1,2,1,1\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,6,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,0,5,2,4,1,1,1,0,1,0\n1,0,1,2,1,12,5,4,0,1,1,2,1,0\n1,0,3,2,0,2,2,1,1,1,1,1,1,0\n1,1,0,3,0,5,2,0,1,1,1,2,1,0\n0,5,0,3,2,8,1,4,0,1,1,0,1,0\n0,0,2,1,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,1,2,2,12,3,0,1,1,1,2,1,0\n3,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,4,4,1,1,1,1,1,0\n0,0,9,1,2,1,1,0,1,1,1,2,1,0\n0,0,0,3,0,6,2,0,1,1,1,2,1,1\n0,0,1,2,3,3,5,0,0,1,1,1,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,4,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,5,3,2,0,8,4,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n2,1,0,3,1,10,3,0,1,1,1,1,1,0\n2,0,3,2,1,9,3,0,1,1,1,2,1,0\n2,1,0,3,0,3,2,0,1,1,1,2,1,0\n1,0,3,2,1,2,3,4,0,1,1,2,1,0\n2,2,0,3,4,2,5,0,0,1,1,2,1,0\n0,0,3,2,0,8,0,3,0,1,1,2,1,0\n0,4,3,2,3,2,1,0,0,1,1,1,1,0\n0,4,0,3,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,1,7,5,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,1,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,2,1,0,9,2,0,1,1,1,1,1,0\n0,0,12,1,2,1,3,0,1,1,1,1,1,0\n1,0,0,3,0,5,0,0,0,1,1,2,1,1\n1,0,5,2,0,0,2,0,1,1,1,0,1,1\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,0,5,2,0,0,0,0,0,1,1,1,1,0\n1,0,0,3,0,8,0,0,0,1,1,0,1,1\n1,1,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n0,0,8,0,0,10,2,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,6,2,0,10,2,0,1,1,1,2,1,1\n3,0,10,3,0,5,0,0,0,1,1,0,1,1\n0,1,0,3,2,5,1,0,0,1,1,0,1,0\n0,1,3,2,2,1,3,0,1,1,1,1,1,1\n0,4,3,2,2,5,1,4,0,1,1,0,1,0\n0,1,2,1,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,2,8,1,0,0,1,1,1,1,0\n1,4,10,3,3,5,5,4,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,1,6,2,0,2,0,0,0,1,1,2,1,0\n1,0,5,2,0,9,2,1,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,2,1,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,5,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n1,4,0,3,2,5,1,0,1,1,1,1,1,1\n0,0,1,2,0,2,2,1,1,1,1,0,1,0\n1,0,3,2,4,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n1,0,6,2,1,4,3,0,1,1,1,1,1,0\n1,0,0,3,1,5,3,0,1,1,1,0,1,0\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,0,1,2,2,4,3,4,1,1,1,0,1,0\n1,1,3,2,0,6,2,0,1,1,1,0,1,1\n0,1,1,2,0,2,2,0,1,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,5,2,0,5,0,0,0,1,1,2,1,1\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n2,0,9,1,2,2,3,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,6,2,2,0,3,0,0,1,1,0,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,0,4,2,0,1,1,1,1,1,1\n1,0,2,1,0,7,2,0,1,1,1,0,1,0\n2,2,6,2,0,3,2,0,1,1,1,1,1,1\n0,3,3,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n2,1,1,2,3,3,3,0,1,1,1,2,1,0\n2,0,12,1,2,10,3,0,1,1,1,1,1,0\n2,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,4,1,1,1,0,1,0\n2,2,6,2,0,4,2,0,1,1,1,0,1,1\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,5,3,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,0,8,2,0,1,1,1,1,1,0\n0,0,0,3,1,4,3,0,0,1,1,0,1,0\n1,3,1,2,1,5,3,4,0,1,1,0,1,0\n0,0,6,2,2,9,1,0,1,1,1,0,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,12,1,2,2,3,0,1,1,1,0,1,0\n1,4,1,2,1,4,5,0,0,1,1,2,1,0\n1,0,9,1,1,7,5,0,0,1,1,0,1,0\n0,0,3,2,0,9,2,0,1,1,1,0,1,0\n0,1,3,2,5,9,3,0,1,1,1,1,1,0\n1,3,1,2,2,8,5,4,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,13,3,2,5,3,0,1,1,1,2,1,0\n2,0,6,2,0,8,2,0,1,1,1,0,1,0\n2,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,7,5,0,0,1,1,0,1,0\n2,0,3,2,0,2,2,1,1,1,1,2,1,0\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,5,5,2,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n0,5,9,1,2,10,1,4,1,1,1,2,1,0\n0,0,0,3,2,2,3,1,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,1,2,5,0,0,1,1,0,1,0\n2,0,1,2,1,3,3,0,0,1,1,1,1,0\n2,0,10,3,2,3,3,0,0,1,1,1,1,1\n1,0,3,2,0,1,1,0,0,1,1,0,1,0\n2,0,5,2,0,8,2,0,1,1,1,0,1,1\n0,4,6,2,0,0,2,0,1,1,1,0,1,0\n1,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,1,1,2,2,5,1,0,1,1,1,2,1,0\n0,4,0,3,2,5,3,0,0,1,1,1,1,0\n0,5,10,3,2,5,3,1,1,1,1,2,1,0\n0,0,9,1,2,9,3,4,1,1,1,1,1,0\n1,0,3,2,5,1,5,0,0,1,1,0,1,0\n1,0,0,3,1,5,3,0,0,1,1,1,1,0\n2,5,0,3,0,5,2,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,4,0,3,2,5,3,0,1,1,1,2,1,0\n1,0,0,3,1,1,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,14,0,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,5,0,1,1,1,0,1,0\n0,2,1,2,0,10,2,4,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,0,3,2,4,1,0,0,1,1,0,1,1\n1,0,1,2,1,0,3,0,1,1,1,1,1,0\n0,0,5,2,0,8,0,0,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,5,4,3,0,5,0,0,0,1,1,2,1,1\n1,0,10,3,0,8,2,0,1,1,1,0,1,1\n2,0,7,1,4,3,5,0,0,1,1,0,1,0\n0,0,1,2,2,6,3,0,1,1,1,1,1,0\n2,4,3,2,1,8,5,0,1,1,1,0,1,0\n0,0,3,2,2,1,4,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n2,1,0,3,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,2,1,0\n1,2,1,2,1,1,3,0,1,1,1,1,1,0\n0,4,8,0,2,9,1,0,1,1,1,0,1,0\n0,0,7,1,2,9,4,4,1,1,1,0,1,0\n0,5,3,2,0,0,2,0,1,1,1,0,1,0\n1,0,3,2,2,10,3,0,1,1,1,0,1,0\n1,4,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,0\n1,0,3,2,0,9,2,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,2,6,3,0,0,1,1,2,1,0\n1,0,10,3,0,4,0,0,0,1,1,0,1,0\n1,0,3,2,0,8,0,4,0,1,1,1,1,0\n1,0,3,2,1,1,5,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,10,3,2,5,3,0,1,1,1,0,1,1\n0,5,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,1,1,3,0,1,1,1,0,1,0\n0,3,0,3,2,5,3,0,1,1,1,0,1,0\n2,0,7,1,0,9,2,0,1,1,1,0,1,0\n2,0,8,0,0,8,2,0,1,1,1,1,1,0\n0,0,1,2,0,4,2,4,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n2,0,2,1,2,11,3,0,0,1,1,1,1,0\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n1,0,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,5,2,0,7,2,0,1,1,1,2,1,0\n0,0,5,2,2,5,3,0,1,1,1,0,1,0\n0,0,10,3,0,5,2,1,1,1,1,0,1,1\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,10,3,0,1,1,1,1,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,9,5,0,1,1,1,1,1,0\n1,0,5,2,2,8,3,0,0,1,1,0,1,0\n2,0,7,1,4,7,5,0,0,1,1,0,1,0\n0,5,0,3,2,7,3,0,1,1,1,2,1,0\n0,0,9,1,2,6,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,4,3,2,0,12,2,0,1,1,1,0,1,0\n1,5,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,3,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,2,1,1,1,0,1,1\n2,0,3,2,0,8,2,0,1,1,1,0,1,1\n1,2,0,3,0,5,2,0,1,1,1,1,1,0\n3,0,14,0,2,6,3,0,1,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,0,1,1,0,1,0\n2,2,0,3,0,4,2,0,1,1,1,0,1,1\n2,1,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,0,3,2,3,8,3,0,0,1,1,2,1,0\n0,0,0,3,2,5,1,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,0,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,3,1,2,3,2,3,4,1,1,1,0,1,0\n1,0,9,1,0,7,2,0,1,1,1,0,1,0\n1,3,0,3,0,4,2,1,1,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,1,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,1\n0,4,3,2,0,12,2,0,1,1,1,1,1,1\n1,0,3,2,2,10,5,4,0,1,1,2,1,0\n1,2,1,2,3,4,5,0,0,1,1,1,1,0\n0,3,1,2,0,8,2,4,1,1,1,0,1,1\n0,0,6,2,2,1,1,0,1,1,1,2,1,0\n1,0,2,1,2,7,5,4,0,1,1,0,1,0\n2,0,14,0,0,1,2,0,1,1,1,0,1,0\n0,0,10,3,2,5,3,4,1,1,1,1,1,0\n1,0,3,2,1,1,5,0,0,1,1,1,1,0\n1,0,0,3,2,4,5,0,0,1,1,0,1,0\n0,5,0,3,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,5,2,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,2,5,3,4,1,1,1,0,1,1\n2,4,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,4,0,1,1,1,2,1,0\n0,0,3,2,2,7,4,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,3,2,1,4,3,0,1,1,1,1,1,0\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n1,0,1,2,2,8,3,0,0,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,0,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n3,0,8,0,4,11,3,0,0,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,2,6,1,4,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n2,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n2,0,12,1,0,10,2,0,1,1,1,0,1,0\n1,0,7,1,0,2,0,4,0,1,1,2,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,1\n2,1,3,2,4,3,3,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,1,7,3,0,1,1,1,1,1,0\n1,5,0,3,0,8,2,0,1,1,1,1,1,1\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n0,4,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,4,6,2,2,0,3,0,1,1,1,0,1,0\n2,0,8,0,4,2,3,0,0,1,1,1,1,0\n1,4,10,3,2,5,3,0,0,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,1,3,3,4,1,1,1,0,1,0\n1,0,3,2,3,4,5,4,0,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,2,1,1\n2,1,5,2,5,4,3,0,0,1,1,1,1,0\n1,3,3,2,0,8,2,4,1,1,1,0,1,1\n1,0,3,2,2,1,3,0,1,1,1,2,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,5,1,0,0,1,1,0,1,0\n1,3,3,2,0,10,2,4,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,4,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,1,2,1,8,5,0,0,1,1,0,1,1\n0,1,3,2,0,1,2,0,1,1,1,1,1,1\n2,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,5,1,3,1,1,1,1,0,1,0\n1,4,6,2,0,12,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,0\n0,1,3,2,0,4,2,0,1,1,1,0,1,0\n0,3,3,2,2,8,3,4,0,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,2,1,0\n0,1,3,2,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,5,2,0,0,2,0,1,1,1,2,1,0\n0,0,9,1,0,6,1,0,1,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,1,0,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n2,0,1,2,0,0,2,0,1,1,1,0,1,0\n3,1,1,2,4,8,3,0,0,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,4,3,2,2,2,1,0,0,1,1,1,1,0\n0,0,1,2,1,1,3,0,1,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,1,1,1\n0,0,4,3,4,2,3,0,1,1,1,2,1,0\n0,0,7,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,3,3,0,1,1,1,0,1,0\n0,0,0,3,2,6,1,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,0,0,0,0,1,1,0,1,1\n2,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,12,1,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,4,0,1,1,2,1,0\n0,0,6,2,1,5,5,0,0,1,1,0,1,0\n1,4,0,3,4,5,5,1,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,1,2,0,1,1,0,1,1,1,0,1,0\n1,0,1,2,3,5,5,4,0,1,1,0,1,0\n0,0,3,2,1,3,1,0,0,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,2,1,1\n0,0,6,2,0,0,2,0,1,1,1,0,1,0\n1,1,3,2,1,10,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,1,1,5,0,0,1,1,0,1,0\n2,5,0,3,1,7,3,4,1,1,1,2,1,0\n0,5,1,2,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,2,1,3,7,3,4,1,1,1,2,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,5,8,3,0,0,1,1,1,1,0\n1,0,3,2,3,10,5,0,0,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,9,2,4,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n1,4,10,3,0,4,2,0,1,1,1,0,1,1\n0,1,1,2,3,1,3,0,1,1,1,2,1,0\n1,0,3,2,1,2,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,10,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,2,1,3,5,1,0,1,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n2,5,1,2,0,12,2,0,1,1,1,2,1,0\n0,0,0,3,2,0,3,0,0,1,1,1,1,0\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n1,0,10,3,2,5,3,0,1,1,1,1,1,1\n0,0,1,2,2,0,3,0,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,6,2,1,5,5,0,0,1,1,0,1,0\n1,4,5,2,1,2,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,7,1,2,2,1,0,1,1,1,1,1,0\n0,3,1,2,0,0,0,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,4,0,1,1,1,2,1,0\n2,0,3,2,1,8,5,0,0,1,1,2,1,0\n1,0,2,1,0,2,2,2,1,1,1,2,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,1\n0,4,10,3,2,5,3,0,1,1,1,1,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,1,1,2,0,4,4,0,1,1,1,1,1,1\n1,4,3,2,2,2,5,4,0,1,1,1,1,0\n1,4,3,2,0,10,2,0,1,1,1,2,1,0\n2,0,12,1,4,7,3,0,1,1,1,1,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,2,1,2,7,3,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,2,0,4,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n2,0,1,2,1,8,5,0,0,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,7,1,0,1,2,0,1,1,1,0,1,0\n1,1,2,1,1,4,3,0,1,1,1,1,1,0\n0,0,7,1,2,6,4,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n0,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,3,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,4,0,0,0,1,1,2,1,1\n1,0,3,2,0,8,2,0,1,1,1,1,1,1\n0,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,4,0,1,1,1,1,1,0\n0,4,3,2,3,8,3,0,0,1,1,0,1,0\n0,1,0,3,1,3,3,0,1,1,1,0,1,0\n0,0,0,3,1,12,3,4,1,1,1,1,1,1\n1,0,0,3,2,5,3,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,0,1,1,1,1,0\n1,0,2,1,1,6,5,4,0,1,1,0,1,0\n1,4,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,12,1,2,2,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,14,0,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,4,3,3,5,3,0,1,1,1,1,1,1\n1,1,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,6,2,2,4,1,0,0,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n2,2,1,2,0,4,2,0,1,1,1,0,1,1\n1,1,10,3,0,9,2,0,1,1,1,1,1,0\n0,0,10,3,2,3,1,0,0,1,1,0,1,0\n2,1,1,2,0,2,2,0,1,1,1,1,1,0\n0,0,11,0,0,2,1,1,0,1,1,2,1,0\n2,0,1,2,1,1,5,0,1,1,1,2,1,0\n0,0,0,3,0,12,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,6,2,1,0,5,0,0,1,1,0,1,0\n0,0,0,3,0,1,2,0,1,1,1,0,1,0\n2,0,1,2,1,8,5,0,0,1,1,2,1,0\n2,4,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,4,4,0,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,2,1,1,10,3,0,1,1,1,1,1,0\n1,4,1,2,1,4,3,0,0,1,1,0,1,0\n1,0,1,2,1,4,1,4,0,1,1,0,1,0\n2,5,0,3,0,1,2,0,1,1,1,1,1,1\n1,0,8,0,2,6,3,4,1,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,1,5,2,0,10,2,0,1,1,1,1,1,0\n0,0,5,2,0,2,0,0,0,1,1,2,1,1\n1,3,1,2,1,4,5,4,0,1,1,0,1,1\n0,0,9,1,2,7,4,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,4,0,3,2,5,3,4,0,1,1,0,1,0\n2,3,0,3,2,10,3,4,1,1,1,1,1,0\n1,0,5,2,1,2,3,0,0,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,2,7,3,4,0,1,1,0,1,0\n1,3,5,2,2,8,3,0,1,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,4,10,3,0,5,0,0,0,1,1,1,1,1\n1,0,5,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,4,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,4,0,3,0,12,2,4,1,1,1,2,1,0\n0,0,3,2,0,2,1,0,1,1,1,0,1,0\n1,0,1,2,0,6,2,0,1,1,1,0,1,1\n2,0,0,3,0,4,2,0,1,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,1,1,0\n0,0,1,2,0,10,2,0,1,1,1,0,1,1\n3,4,3,2,0,12,2,0,1,1,1,2,1,0\n0,0,3,2,3,1,1,0,1,1,1,0,1,0\n1,0,5,2,2,2,1,0,0,1,1,1,1,0\n1,4,0,3,1,5,5,4,0,1,1,0,1,0\n0,0,9,1,2,7,1,0,0,1,1,0,1,0\n2,0,8,0,1,7,5,0,0,1,1,0,1,0\n2,0,11,0,0,1,2,4,1,1,1,0,1,1\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n0,3,3,2,2,8,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,14,0,2,6,3,0,1,1,1,1,1,0\n2,5,13,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,0,9,1,1,1,3,0,1,1,1,1,1,0\n1,3,1,2,1,8,3,0,1,1,1,0,1,1\n2,1,3,2,0,2,2,4,1,1,1,1,1,0\n1,0,3,2,2,7,3,4,0,1,1,1,1,0\n0,0,1,2,3,0,3,2,1,1,1,0,1,0\n2,4,8,0,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,1\n0,0,12,1,2,11,1,4,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n1,3,3,2,1,0,5,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n2,1,1,2,0,2,2,0,1,1,1,2,1,0\n0,0,1,2,3,2,5,0,0,1,1,2,1,0\n0,0,1,2,0,10,2,0,1,1,1,0,1,0\n2,0,1,2,0,5,2,4,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,10,3,0,5,2,1,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,0,0,3,2,0,5,1,0,1,1,0,1,0\n2,0,8,0,4,2,3,3,0,1,1,2,1,0\n1,0,6,2,0,5,2,0,1,1,1,2,1,1\n2,0,8,0,0,10,2,4,1,1,1,0,1,0\n2,2,3,2,0,2,2,0,1,1,1,0,1,1\n2,0,3,2,1,4,3,0,0,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,1,0,0,1,1,2,1,0\n0,1,1,2,0,1,2,0,1,1,1,0,1,0\n0,3,1,2,2,4,3,0,1,1,1,0,1,0\n1,0,5,2,2,4,3,0,0,1,1,1,1,0\n1,0,3,2,2,8,5,0,0,1,1,2,1,0\n1,1,8,0,0,9,2,0,1,1,1,0,1,0\n1,0,1,2,0,9,2,0,1,1,1,1,1,1\n2,0,8,0,1,10,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,1\n2,2,12,1,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,1,3,5,0,0,1,1,0,1,0\n0,0,12,1,2,7,5,0,1,1,1,0,1,0\n1,0,5,2,2,5,3,0,1,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,2,2,4,0,1,1,1,2,1,0\n2,0,1,2,0,10,2,0,1,1,1,2,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,0\n1,2,0,3,1,5,5,0,1,1,1,1,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n1,4,1,2,0,10,2,0,1,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,4,1,2,2,4,3,0,0,1,1,2,1,0\n1,0,5,2,1,10,5,0,0,1,1,0,1,0\n1,0,9,1,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,4,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,6,1,4,1,1,1,2,1,0\n0,0,6,2,0,8,0,0,0,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,1,9,3,4,1,1,1,0,1,0\n1,4,3,2,0,2,2,4,1,1,1,0,1,0\n3,5,1,2,3,3,3,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,5,14,0,2,7,1,0,0,1,1,2,1,0\n1,0,1,2,0,3,0,0,0,1,1,0,1,1\n1,1,0,3,0,3,2,0,1,1,1,0,1,1\n0,4,1,2,2,12,5,3,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,2,1,0\n0,4,1,2,2,8,1,4,0,1,1,2,1,0\n1,0,1,2,0,1,2,4,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,2,2,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,1,3,5,0,1,1,1,1,1,1\n1,4,10,3,2,5,3,0,0,1,1,0,1,1\n1,0,13,3,3,4,5,0,1,1,1,0,1,1\n1,0,0,3,1,3,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,0,2,2,0,1,1,1,0,1,0\n2,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,3,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,4,5,2,0,4,2,4,1,1,1,1,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,3,2,2,6,3,4,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,2,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,2,8,1,0,0,1,1,2,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,3,0,3,5,4,3,0,1,1,1,1,1,1\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,5,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,0,3,2,0,8,0,1,0,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,1,1,2,1,2,3,0,0,1,1,1,1,0\n2,0,1,2,4,3,5,0,0,1,1,2,1,0\n1,1,3,2,0,3,1,0,0,1,1,0,1,1\n2,2,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,1,2,4,8,3,0,0,1,1,0,1,0\n2,0,3,2,4,7,3,0,0,1,1,0,1,0\n1,0,3,2,3,2,5,0,0,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,0\n1,1,0,3,2,3,3,0,1,1,1,2,1,0\n2,0,0,3,4,3,3,0,1,1,1,2,1,1\n0,0,3,2,0,2,0,3,0,1,1,0,1,0\n1,0,7,1,0,6,2,0,1,1,1,1,1,0\n1,0,5,2,1,4,3,0,0,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,0,3,2,0,9,2,3,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,0,1,1\n1,1,7,1,0,1,2,0,1,1,1,0,1,1\n1,4,0,3,0,8,0,0,0,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,0,7,1,1,2,3,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n2,1,2,1,0,2,2,0,1,1,1,0,1,0\n0,0,6,2,0,10,2,0,1,1,1,1,1,1\n0,4,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,5,2,2,8,3,0,0,1,1,0,1,0\n0,1,0,3,1,5,4,0,1,1,1,2,1,1\n1,0,3,2,1,3,3,0,1,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,1,1,0\n1,2,10,3,0,3,2,0,1,1,1,0,1,1\n0,0,6,2,2,3,3,4,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,3,2,2,10,3,0,1,1,1,0,1,1\n0,0,10,3,2,0,3,0,0,1,1,0,1,0\n2,4,0,3,4,5,3,0,0,1,1,0,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,2,1,2,1,1,0,1,1,1,2,1,0\n0,0,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,1,0,5,0,0,1,1,0,1,0\n0,0,10,3,2,5,3,0,0,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,12,1,4,8,5,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,0,1,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,4,0,3,0,5,0,0,0,1,1,1,1,1\n1,3,10,3,0,5,2,0,1,1,1,0,1,1\n2,2,0,3,0,9,2,0,1,1,1,1,1,1\n2,0,3,2,0,0,2,0,1,1,1,0,1,1\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,2,1,1,0,1,1,1,0,1,0\n1,0,7,1,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,1,0,3,0,5,2,0,1,1,1,1,1,0\n1,2,0,3,0,3,2,0,1,1,1,0,1,1\n2,2,10,3,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,1,2,3,4,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,1,1,0\n0,0,3,2,2,0,1,0,1,1,1,1,1,0\n0,0,10,3,2,5,3,0,0,1,1,1,1,0\n1,0,6,2,1,8,5,0,0,1,1,0,1,0\n0,0,0,3,0,8,0,4,0,1,1,2,1,0\n0,0,1,2,2,4,3,4,0,1,1,2,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,0,0,3,0,5,0,0,0,1,1,2,1,0\n0,0,3,2,3,1,3,0,1,1,1,1,1,0\n0,0,12,1,3,1,5,0,0,1,1,0,1,0\n0,0,2,1,2,2,1,4,1,1,1,2,1,0\n0,0,6,2,2,3,3,4,0,1,1,2,1,0\n1,5,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n1,0,7,1,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,2,3,0,0,1,1,1,1,0\n1,5,3,2,0,12,2,0,1,1,1,1,1,1\n2,0,1,2,1,2,3,0,0,1,1,2,1,0\n0,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,0,0,0,0,0,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,4,5,2,0,5,2,0,1,1,1,1,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,14,0,2,9,4,4,1,1,1,0,1,0\n0,5,1,2,2,6,3,0,1,1,1,2,1,0\n1,0,5,2,2,5,3,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,3,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,1,1,0\n1,0,6,2,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n0,0,0,3,0,4,0,0,0,1,1,1,1,1\n0,0,3,2,2,10,1,0,1,1,1,1,1,0\n1,1,3,2,1,1,1,0,1,1,1,2,1,0\n0,0,1,2,2,6,3,0,1,1,1,0,1,0\n1,4,10,3,1,5,5,0,0,1,1,1,1,0\n0,4,1,2,0,12,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,4,0,1,1,1,0,1,0\n2,0,2,1,0,10,2,2,1,1,1,0,1,0\n2,1,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,0\n3,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,4,10,3,0,5,0,4,0,1,1,2,1,1\n2,0,8,0,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,2,1,1\n0,0,3,2,5,2,5,0,0,1,1,1,1,0\n0,0,2,1,2,5,4,0,1,1,1,2,1,0\n1,1,6,2,0,5,0,0,0,1,1,2,1,1\n0,0,7,1,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,3,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,1,4,3,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,2,1,1,6,5,0,0,1,1,0,1,0\n1,0,7,1,3,2,3,0,1,1,1,0,1,0\n0,0,5,2,0,5,2,0,1,1,1,1,1,0\n1,1,5,2,1,3,3,0,1,1,1,1,1,0\n1,0,3,2,3,3,5,0,1,1,1,1,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n2,5,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n2,0,15,0,5,2,3,1,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,1,1,1,1,1,0\n0,3,4,3,2,5,3,0,0,1,1,1,1,0\n1,0,10,3,1,3,3,0,0,1,1,1,1,0\n1,3,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,6,2,1,3,3,0,0,1,1,0,1,0\n2,0,1,2,4,7,5,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n2,0,8,0,0,7,0,0,0,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n2,1,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,15,0,2,7,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,3,2,0,1,1,1,2,1,0\n0,1,3,2,1,1,1,2,1,1,1,2,1,0\n1,3,10,3,0,5,2,0,1,1,1,0,1,0\n1,3,0,3,0,4,0,0,0,1,1,0,1,1\n0,2,0,3,1,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,0,3,0,1,1,1,0,1,0\n1,2,0,3,0,5,2,0,1,1,1,1,1,1\n2,2,3,2,1,4,3,4,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,3,2,0,9,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,11,3,0,0,1,1,2,1,0\n2,2,2,1,0,10,2,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,0,7,2,0,1,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,0,1,1\n0,1,1,2,0,2,2,0,1,1,1,1,1,0\n1,4,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,6,2,0,12,2,0,1,1,1,0,1,0\n2,1,8,0,0,9,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,2,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,4,1,2,0,12,0,0,0,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,5,1,2,2,0,5,4,0,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,10,3,2,4,3,0,0,1,1,1,1,1\n1,4,13,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,5,3,5,4,0,1,1,2,1,0\n1,3,3,2,2,4,5,0,0,1,1,1,1,0\n2,1,3,2,0,4,2,0,1,1,1,1,1,1\n2,3,0,3,1,5,5,0,1,1,1,0,1,0\n2,1,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,0,8,1,2,0,1,1,0,1,0\n1,3,0,3,5,4,3,0,0,1,1,0,1,0\n0,0,5,2,1,4,3,0,1,1,1,0,1,0\n0,1,0,3,1,1,5,1,1,1,1,1,1,0\n0,0,6,2,2,7,5,4,0,1,1,0,1,0\n0,0,3,2,1,1,5,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,5,2,3,0,1,1,1,2,1,0\n0,0,3,2,5,2,3,0,0,1,1,2,1,0\n1,5,3,2,0,10,2,4,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,8,0,0,0,1,1,2,1,1\n0,0,0,3,2,8,1,4,1,1,1,2,1,0\n1,2,10,3,0,3,2,0,1,1,1,1,1,1\n1,1,3,2,5,1,3,1,1,1,1,0,1,0\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n1,0,10,3,1,0,5,4,0,1,1,2,1,1\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,2,3,2,1,3,5,0,1,1,1,1,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,12,1,3,2,3,4,0,1,1,0,1,0\n0,0,0,3,2,8,1,4,0,1,1,2,1,0\n1,0,0,3,1,8,3,0,0,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,1\n0,5,1,2,1,12,5,0,0,1,1,2,1,0\n1,2,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,10,3,1,4,5,4,0,1,1,1,1,1\n2,2,0,3,0,5,2,0,1,1,1,0,1,0\n2,1,8,0,2,2,4,0,0,1,1,1,1,0\n1,0,3,2,2,9,3,0,1,1,1,1,1,0\n0,0,3,2,1,1,5,0,1,1,1,0,1,0\n3,1,13,3,5,5,3,0,1,1,1,2,1,1\n1,1,3,2,4,9,3,0,1,1,1,1,1,0\n2,1,2,1,4,2,5,0,0,1,1,1,1,1\n0,0,0,3,2,5,3,0,0,1,1,0,1,1\n0,0,5,2,2,7,1,4,1,1,1,1,1,0\n2,0,9,1,0,8,2,4,1,1,1,0,1,0\n0,0,3,2,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,5,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,1,2,2,3,5,4,0,1,1,1,1,0\n0,0,1,2,2,8,5,4,0,1,1,0,1,0\n0,0,1,2,2,0,3,0,0,1,1,2,1,0\n2,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,3,0,3,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,1,3,2,1,1,3,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,3,1,2,2,3,3,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,9,1,2,1,1,4,1,1,1,0,1,0\n0,0,1,2,0,2,2,0,1,1,1,1,1,0\n1,4,0,3,1,5,3,0,1,1,1,1,1,0\n3,0,3,2,0,4,2,0,1,1,1,2,1,1\n1,0,3,2,4,7,5,3,1,1,1,0,1,0\n0,0,3,2,2,7,3,1,1,1,1,0,1,0\n2,1,0,3,4,5,3,0,0,1,1,1,1,1\n1,4,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,2,7,1,4,1,1,1,0,1,0\n0,0,5,2,2,8,5,0,0,1,1,0,1,0\n1,0,11,0,2,2,3,0,1,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,4,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,0,3,0,0,2,0,1,1,1,1,1,1\n2,0,1,2,1,2,3,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,0,1,2,1,1,1,1,0,1,0\n1,0,3,2,3,1,4,4,1,1,1,0,1,0\n0,0,2,1,1,7,5,0,0,1,1,0,1,0\n1,2,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,10,1,0,1,1,1,2,1,0\n1,0,12,1,0,1,2,0,1,1,1,1,1,0\n1,0,4,3,0,5,2,4,1,1,1,0,1,1\n1,3,0,3,0,4,2,0,1,1,1,0,1,1\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,2,1,2,1,8,1,0,0,1,1,1,1,0\n1,5,3,2,4,0,5,4,0,1,1,0,1,0\n0,0,9,1,2,6,1,4,1,1,1,2,1,0\n0,0,7,1,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,2,1,5,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,2,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,4,9,1,0,1,2,0,1,1,1,0,1,0\n0,1,6,2,0,2,0,0,0,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,1,6,2,0,9,2,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,0,0,2,0,1,1,1,0,1,0\n1,3,0,3,0,5,2,0,1,1,1,2,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,0,4,0,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,1\n1,5,1,2,5,8,5,2,0,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,3,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,10,5,0,0,1,1,1,1,0\n2,0,2,1,0,2,2,0,1,1,1,2,1,0\n1,3,0,3,0,4,2,4,1,1,1,1,1,0\n0,0,0,3,1,3,3,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,8,0,0,5,2,0,1,1,1,1,1,0\n1,3,6,2,0,12,2,0,1,1,1,1,1,1\n1,4,5,2,1,2,5,0,0,1,1,1,1,0\n2,0,3,2,4,8,5,0,0,1,1,0,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,5,2,1,0,3,0,0,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,2,1,1\n0,0,5,2,2,3,3,0,1,1,1,1,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,2,3,1,0,0,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,6,2,2,4,3,0,1,1,1,1,1,1\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,3,7,3,0,0,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n0,1,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,1,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,5,2,2,4,1,0,1,1,1,0,1,0\n1,1,3,2,0,3,0,0,0,1,1,2,1,1\n0,0,3,2,0,10,2,4,1,1,1,0,1,0\n1,2,13,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,4,1,1,1,0,1,1\n0,0,2,1,1,9,3,0,1,1,1,1,1,0\n1,4,1,2,4,10,3,4,0,1,1,1,1,0\n0,0,0,3,0,4,0,0,0,1,1,1,1,1\n1,0,6,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n0,0,3,2,2,5,3,0,0,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,6,2,2,8,1,1,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n1,0,1,2,1,4,3,0,1,1,1,1,1,0\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,1,0,0,1,1,0,1,0\n2,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,3,4,0,0,1,1,0,1,0\n2,0,7,1,0,9,2,0,1,1,1,1,1,0\n1,0,5,2,1,1,1,0,1,1,1,0,1,0\n1,5,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,5,2,2,3,3,0,1,1,1,0,1,0\n0,0,3,2,1,0,5,0,0,1,1,0,1,0\n0,0,1,2,1,5,5,0,0,1,1,2,1,0\n2,0,4,3,0,4,2,0,1,1,1,2,1,0\n0,5,3,2,1,5,5,0,0,1,1,0,1,0\n0,3,3,2,1,5,5,0,0,1,1,0,1,0\n1,0,3,2,0,12,2,0,1,1,1,0,1,0\n0,1,6,2,2,1,1,0,1,1,1,0,1,0\n1,0,11,0,4,2,5,0,0,1,1,2,1,0\n2,1,5,2,1,3,3,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,6,2,0,8,0,4,0,1,1,0,1,0\n0,5,1,2,2,0,3,4,1,1,1,0,1,0\n1,0,13,3,0,4,2,0,1,1,1,2,1,1\n1,0,1,2,1,7,1,0,0,1,1,2,1,0\n0,0,1,2,0,3,0,0,0,1,1,2,1,0\n1,5,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,1,2,5,0,0,1,1,0,1,0\n1,0,0,3,1,5,3,4,0,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,0,0,0,1,1,0,1,1\n1,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,1,3,2,0,2,0,0,0,1,1,0,1,1\n1,4,0,3,0,1,2,0,1,1,1,0,1,0\n2,4,1,2,1,4,5,0,0,1,1,2,1,0\n0,0,5,2,2,3,1,0,1,1,1,2,1,0\n1,0,3,2,1,9,5,0,1,1,1,1,1,0\n2,1,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,6,2,1,1,5,0,1,1,1,0,1,0\n0,5,3,2,2,6,3,4,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,4,1,1,1,1,1,0\n1,4,3,2,1,4,1,0,1,1,1,1,1,0\n1,0,10,3,1,5,3,0,0,1,1,0,1,1\n1,0,9,1,2,2,5,0,0,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n2,0,3,2,0,2,4,1,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,0,1,1,0,1,0\n0,0,1,2,2,4,3,0,1,1,1,0,1,0\n0,0,5,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,1,4,4,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n0,5,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,8,5,4,0,1,1,0,1,0\n0,0,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,3,4,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n0,4,3,2,0,12,2,0,1,1,1,1,1,0\n0,0,7,1,2,1,1,2,1,1,1,2,1,0\n2,4,1,2,1,8,3,0,0,1,1,2,1,0\n0,1,6,2,2,9,3,2,1,1,1,1,1,0\n0,0,0,3,2,0,4,0,1,1,1,1,1,0\n0,3,3,2,2,8,3,4,0,1,1,0,1,0\n0,4,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,3,3,2,0,8,2,4,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n1,0,1,2,3,5,5,0,0,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,0,3,0,8,0,0,0,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,2,1,1,2,3,0,0,1,1,1,1,0\n0,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,10,3,2,5,3,1,0,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,0,8,2,0,1,1,1,2,1,0\n1,0,1,2,3,7,5,4,0,1,1,0,1,0\n0,0,0,3,2,4,1,0,1,1,1,2,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,2,7,1,0,1,1,1,1,1,0\n0,4,1,2,0,12,2,0,1,1,1,1,1,0\n0,0,7,1,2,2,4,0,1,1,1,1,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,1,2,3,4,0,1,1,2,1,0\n0,0,3,2,2,2,5,3,1,1,1,2,1,0\n0,0,0,3,1,2,3,0,1,1,1,0,1,0\n1,0,0,3,3,0,3,0,1,1,1,0,1,0\n1,0,6,2,1,2,3,0,0,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,3,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,0,3,2,2,1,0,1,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n1,1,0,3,2,4,3,0,0,1,1,0,1,0\n1,0,6,2,1,4,3,0,1,1,1,0,1,1\n0,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,5,1,2,1,5,3,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,4,0,0,1,1,0,1,0\n0,4,1,2,2,2,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,0,2,1,1,2,3,4,0,1,1,2,1,0\n0,0,12,1,0,1,2,0,1,1,1,1,1,0\n0,0,10,3,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,1,2,5,0,0,1,1,0,1,0\n1,3,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,1,2,0,3,2,0,1,1,1,2,1,0\n0,0,5,2,2,3,3,3,1,1,1,2,1,0\n1,0,3,2,0,10,2,3,1,1,1,0,1,0\n3,0,3,2,0,3,2,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,5,3,0,1,1,1,2,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,3,0,1,1,1,2,1,0\n0,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n1,0,12,1,1,3,3,0,1,1,1,1,1,0\n2,0,3,2,1,12,3,0,1,1,1,0,1,0\n3,4,0,3,0,8,2,0,1,1,1,2,1,0\n2,0,1,2,1,2,3,0,0,1,1,1,1,0\n0,0,1,2,2,1,1,0,1,1,1,2,1,0\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,3,10,3,2,8,3,0,0,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n0,3,0,3,2,5,3,0,1,1,1,0,1,0\n0,2,3,2,2,1,4,0,1,1,1,1,1,0\n1,2,1,2,0,4,0,0,0,1,1,1,1,0\n0,0,12,1,2,2,3,0,0,1,1,0,1,0\n0,5,1,2,2,8,5,4,0,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,0,1,0\n2,0,14,0,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n1,0,14,0,5,2,5,1,0,1,1,0,1,0\n1,4,13,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,0,3,2,3,5,1,1,1,1,1,1,0\n2,0,1,2,0,3,2,0,1,1,1,2,1,0\n0,0,1,2,0,8,0,0,0,1,1,0,1,0\n0,0,3,2,2,9,1,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,8,0,2,3,1,0,1,1,1,2,1,0\n0,0,2,1,2,1,3,0,1,1,1,1,1,0\n0,0,3,2,2,10,4,4,1,1,1,1,1,0\n0,0,10,3,1,4,5,4,0,1,1,0,1,0\n0,0,5,2,5,7,5,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n1,4,15,0,2,6,1,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n1,1,0,3,1,4,3,0,1,1,1,0,1,0\n1,0,14,0,0,7,0,1,0,1,1,2,1,0\n0,4,3,2,0,6,4,0,1,1,1,2,1,0\n1,0,1,2,1,3,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n2,5,3,2,0,9,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n1,1,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,6,2,2,12,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n2,0,2,1,1,12,3,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,4,1,2,2,12,3,4,0,1,1,0,1,1\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,4,1,1,1,1,1,0\n1,0,1,2,0,6,2,4,1,1,1,1,1,0\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,5,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,6,2,2,2,3,0,0,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,12,1,0,9,2,0,1,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,1\n2,0,8,0,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,1,4,3,0,1,1,1,1,1,1\n1,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,0,9,2,0,1,1,1,1,1,1\n3,1,4,3,0,4,2,0,1,1,1,0,1,0\n2,1,1,2,0,4,2,0,1,1,1,2,1,0\n1,1,10,3,3,4,5,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,1,1,0\n1,0,3,2,0,7,0,4,0,1,1,2,1,0\n2,0,13,3,0,5,2,0,1,1,1,1,1,0\n1,1,3,2,1,10,3,0,1,1,1,1,1,0\n2,1,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,9,3,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,1,1,1,1,0,1,0\n0,0,1,2,2,9,3,0,0,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,8,0,0,6,2,0,1,1,1,0,1,0\n0,3,1,2,1,2,3,4,1,1,1,0,1,0\n1,2,4,3,1,5,5,0,1,1,1,2,1,1\n0,0,1,2,1,2,5,4,0,1,1,0,1,0\n1,0,2,1,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,1,3,2,0,4,2,0,1,1,1,2,1,0\n1,5,4,3,1,5,5,4,1,1,1,2,1,1\n0,0,14,0,2,7,4,0,1,1,1,0,1,0\n0,0,6,2,2,0,1,0,0,1,1,2,1,0\n2,0,2,1,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,4,1,1,1,1,1,1\n0,1,0,3,0,4,0,0,0,1,1,0,1,0\n1,0,6,2,0,4,0,0,0,1,1,1,1,1\n1,0,3,2,2,2,3,0,1,1,1,2,1,0\n1,1,3,2,1,9,3,0,0,1,1,2,1,0\n1,0,11,0,0,9,2,0,1,1,1,0,1,0\n0,0,0,3,2,6,3,4,1,1,1,0,1,0\n0,0,1,2,2,8,5,4,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,4,0,3,0,3,2,1,1,1,1,0,1,1\n0,0,1,2,1,4,3,0,0,1,1,0,1,0\n1,0,1,2,1,1,3,0,1,1,1,1,1,0\n2,0,0,3,1,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,2,1,0,0,1,1,0,1,0\n0,3,5,2,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,1\n2,0,10,3,0,4,2,4,1,1,1,0,1,1\n1,0,0,3,0,4,0,0,0,1,1,1,1,1\n1,0,1,2,1,8,3,4,0,1,1,0,1,0\n0,1,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,9,1,2,6,1,0,1,1,1,2,1,0\n1,0,1,2,1,7,3,0,0,1,1,0,1,0\n0,0,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n0,0,10,3,2,4,3,0,0,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,4,10,3,4,4,3,0,1,1,1,2,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,0,8,4,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,2,1,0\n2,0,1,2,4,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,1,4,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,4,1,1,1,0,1,0\n1,5,3,2,3,2,1,0,0,1,1,2,1,0\n0,1,11,0,0,3,4,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,4,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,5,0,1,1,1,0,1,0\n1,0,9,1,1,8,5,0,0,1,1,0,1,0\n1,5,4,3,1,5,1,1,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,2,1,1,7,5,4,0,1,1,1,1,0\n1,0,12,1,0,10,2,0,1,1,1,1,1,0\n2,4,3,2,1,8,3,0,0,1,1,2,1,0\n2,0,9,1,0,1,2,0,1,1,1,0,1,0\n0,1,1,2,2,9,1,0,1,1,1,2,1,0\n2,1,8,0,0,1,2,0,1,1,1,0,1,0\n1,2,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,2,1,0,2,4,0,1,1,1,2,1,0\n1,0,2,1,1,2,4,0,0,1,1,2,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n0,0,1,2,0,5,0,1,0,1,1,2,1,1\n1,0,3,2,1,7,5,0,0,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n1,0,1,2,1,1,5,0,1,1,1,0,1,0\n1,0,2,1,2,7,5,0,0,1,1,0,1,0\n2,0,1,2,1,8,3,0,1,1,1,2,1,0\n2,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,4,0,3,1,5,5,0,0,1,1,1,1,0\n0,0,12,1,2,9,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,3,4,0,1,1,2,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,3,3,2,1,5,5,0,0,1,1,0,1,0\n0,0,12,1,2,8,1,0,0,1,1,2,1,0\n1,6,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,10,3,2,5,3,0,0,1,1,0,1,1\n1,0,4,3,0,5,2,0,1,1,1,1,1,0\n1,0,7,1,2,2,3,0,0,1,1,2,1,0\n1,0,0,3,0,8,2,1,1,1,1,2,1,1\n0,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,1,9,1,0,8,0,0,0,1,1,2,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,4,1,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,5,3,2,0,8,2,0,1,1,1,2,1,1\n0,5,0,3,2,5,5,0,1,1,1,1,1,0\n1,0,10,3,2,8,3,0,1,1,1,0,1,0\n1,0,3,2,0,2,0,1,0,1,1,1,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,3,4,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,3,2,1,9,3,0,1,1,1,0,1,0\n1,0,0,3,1,2,3,0,1,1,1,0,1,0\n0,0,1,2,2,5,1,0,1,1,1,2,1,0\n0,0,6,2,0,8,2,4,1,1,1,0,1,0\n0,0,1,2,1,2,3,0,0,1,1,2,1,0\n2,0,3,2,1,7,3,0,0,1,1,0,1,0\n1,3,1,2,0,9,2,0,1,1,1,0,1,0\n0,0,0,3,2,7,3,0,0,1,1,2,1,0\n0,0,10,3,2,5,3,0,0,1,1,0,1,0\n2,0,1,2,4,3,3,0,0,1,1,2,1,0\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,1,1,1,1,0,1,0\n0,1,4,3,0,5,2,0,1,1,1,2,1,1\n0,0,12,1,0,2,2,0,1,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,2,1,1\n1,1,8,0,0,3,2,0,1,1,1,0,1,0\n1,0,5,2,1,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,7,2,4,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,1,7,5,0,1,1,1,1,1,0\n0,0,1,2,1,2,5,0,0,1,1,2,1,0\n1,0,0,3,0,0,2,0,1,1,1,1,1,1\n1,0,1,2,1,6,4,4,1,1,1,0,1,0\n2,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,0,7,1,1,1,1,0,1,1,1,2,1,0\n1,0,6,2,3,5,5,0,0,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n2,1,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n0,0,14,0,3,1,3,3,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,1,7,5,0,0,1,1,0,1,0\n2,0,0,3,2,4,3,0,0,1,1,1,1,1\n0,0,0,3,2,8,1,1,0,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,2,2,0,1,1,1,2,1,0\n3,1,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,4,0,0,0,1,1,1,1,1\n1,0,3,2,0,5,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,0,5,0,0,0,1,1,2,1,1\n1,5,13,3,0,5,2,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n2,0,0,3,0,6,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,2,2,4,1,1,1,1,1,1\n1,4,3,2,0,1,2,0,1,1,1,2,1,1\n0,0,1,2,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,4,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,0,4,1,1,1,1,0,1,0\n0,0,1,2,1,4,3,0,0,1,1,1,1,0\n1,0,0,3,4,3,5,4,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,1,4,1,1,1,0,1,0\n0,5,13,3,0,0,2,1,1,1,1,2,1,0\n0,0,6,2,2,10,1,1,1,1,1,0,1,0\n0,4,10,3,0,5,2,0,1,1,1,0,1,1\n2,4,10,3,4,5,5,0,0,1,1,1,1,0\n0,0,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,10,3,2,5,3,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,2,1,1,1,0,1,1\n1,0,1,2,3,4,3,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,0,3,2,3,1,0,1,1,1,2,1,0\n0,1,8,0,2,1,1,0,1,1,1,0,1,0\n0,5,0,3,2,5,3,0,1,1,1,0,1,1\n1,1,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,3,3,0,0,1,1,1,1,0\n2,2,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,6,2,2,9,1,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,4,0,0,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,7,3,0,0,1,1,1,1,0\n1,0,1,2,0,8,2,1,1,1,1,2,1,0\n0,5,3,2,0,10,2,4,1,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,0,6,2,2,1,1,1,0,1,0\n0,0,5,2,0,8,0,4,0,1,1,2,1,0\n2,4,1,2,0,7,2,0,1,1,1,0,1,0\n2,0,14,0,0,10,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,9,1,2,6,1,0,1,1,1,2,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,2,1,3,4,0,1,1,0,1,0\n0,0,4,3,2,0,1,0,0,1,1,2,1,0\n1,4,3,2,1,4,5,0,0,1,1,0,1,0\n2,0,3,2,1,0,5,0,1,1,1,1,1,1\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,1,3,5,0,0,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,0,3,2,2,3,1,1,1,1,2,1,0\n1,0,6,2,1,3,5,4,0,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,0,8,2,1,1,1,1,0,1,0\n1,0,5,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,2,2,3,0,0,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,1,7,3,0,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,5,3,2,0,2,0,2,0,1,1,2,1,1\n0,0,1,2,0,4,1,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,2,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n0,5,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,10,3,2,5,1,0,0,1,1,1,1,0\n1,0,2,1,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,5,0,0,1,1,1,1,0\n1,3,0,3,0,5,2,0,1,1,1,0,1,0\n0,5,1,2,2,0,3,0,0,1,1,0,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,5,3,2,0,2,2,0,1,1,1,0,1,0\n1,1,3,2,1,1,3,4,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,5,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,12,1,2,2,4,0,1,1,1,0,1,0\n1,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,4,1,2,1,0,3,0,0,1,1,0,1,0\n2,0,3,2,1,4,3,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,0,3,2,1,2,5,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,3,2,1,4,5,0,0,1,1,0,1,0\n1,0,1,2,2,4,3,0,0,1,1,0,1,0\n1,0,6,2,1,4,5,4,0,1,1,0,1,0\n0,0,12,1,2,6,5,0,1,1,1,1,1,0\n0,5,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,1,1,5,0,1,1,1,2,1,1\n2,1,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,6,2,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n2,0,2,1,0,3,2,0,1,1,1,1,1,0\n1,0,8,0,1,9,5,0,0,1,1,0,1,0\n1,0,3,2,3,1,1,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,10,3,0,5,2,0,1,1,1,0,1,1\n1,4,1,2,0,12,2,0,1,1,1,1,1,1\n1,1,5,2,1,4,3,0,1,1,1,2,1,0\n0,3,3,2,0,8,2,0,1,1,1,0,1,1\n2,3,1,2,1,8,3,4,0,1,1,0,1,0\n0,0,1,2,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,1,1,0\n0,0,6,2,0,0,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,1,3,2,0,9,0,0,0,1,1,1,1,0\n1,1,0,3,0,0,2,0,1,1,1,0,1,1\n1,0,10,3,2,5,3,0,0,1,1,0,1,1\n0,3,0,3,0,8,2,0,1,1,1,2,1,1\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n2,3,1,2,1,8,1,0,1,1,1,0,1,0\n1,0,7,1,0,3,1,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,0,10,3,0,0,2,0,1,1,1,0,1,1\n1,0,6,2,3,5,5,0,0,1,1,0,1,0\n0,0,6,2,1,2,5,0,0,1,1,1,1,0\n1,4,3,2,0,12,2,0,1,1,1,1,1,1\n0,0,5,2,1,4,3,0,0,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n0,0,0,3,2,2,1,0,1,1,1,0,1,0\n0,0,1,2,1,5,1,0,0,1,1,2,1,0\n1,0,0,3,1,8,5,0,1,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,5,1,2,2,2,1,0,0,1,1,2,1,0\n2,0,3,2,0,4,2,0,1,1,1,2,1,1\n2,0,3,2,1,10,3,0,1,1,1,0,1,0\n1,0,15,0,2,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,4,1,1,1,1,1,0\n1,0,0,3,5,5,3,0,1,1,1,2,1,1\n0,5,3,2,0,12,2,4,1,1,1,0,1,0\n1,0,0,3,3,4,5,0,1,1,1,1,1,1\n0,0,6,2,2,2,1,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,1,1,1,1,0,1,1\n0,2,10,3,0,8,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,1,2,2,7,3,0,0,1,1,0,1,0\n1,0,3,2,3,8,5,4,0,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,0,3,0,8,0,0,0,1,1,0,1,1\n1,1,3,2,0,4,2,0,1,1,1,0,1,0\n2,0,7,1,0,7,2,0,1,1,1,0,1,0\n0,4,1,2,2,2,3,0,1,1,1,1,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,1,2,0,4,2,0,1,1,1,2,1,0\n1,0,1,2,5,8,5,2,0,1,1,0,1,0\n1,5,0,3,0,5,2,4,1,1,1,0,1,1\n0,0,3,2,5,2,3,0,0,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,0,3,1,6,3,0,1,1,1,1,1,0\n1,0,3,2,0,3,0,0,0,1,1,2,1,0\n1,1,0,3,0,4,2,1,1,1,1,1,1,1\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,3,8,4,0,0,1,1,0,1,0\n2,0,8,0,1,7,3,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,4,0,1,1,0,1,0\n0,4,12,1,2,12,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,2,0,3,0,1,2,0,1,1,1,2,1,0\n2,0,1,2,1,12,3,0,1,1,1,0,1,0\n0,1,3,2,0,1,0,4,0,1,1,0,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n2,5,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n1,4,3,2,1,8,5,4,0,1,1,0,1,0\n0,0,12,1,3,6,3,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,6,3,2,2,9,1,0,1,1,1,2,1,0\n1,0,1,2,1,1,5,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,4,1,1,1,1,1,0\n1,0,3,2,1,8,5,0,0,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n3,0,0,3,2,5,3,1,1,1,1,0,1,0\n0,0,3,2,2,3,1,4,0,1,1,0,1,0\n1,0,1,2,1,12,3,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,4,1,1,1,0,1,1\n1,4,10,3,2,5,3,0,1,1,1,1,1,0\n1,0,3,2,0,9,2,0,1,1,1,2,1,0\n1,5,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,1,2,1,0,3,0,0,1,1,2,1,0\n0,0,0,3,2,8,3,4,1,1,1,2,1,0\n1,0,1,2,2,0,3,0,0,1,1,0,1,0\n1,0,2,1,1,6,3,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,1,5,2,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,1,2,3,0,0,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,7,3,0,1,1,1,1,1,0\n1,0,3,2,0,9,2,0,1,1,1,2,1,0\n1,0,5,2,0,8,2,0,1,1,1,0,1,0\n0,0,9,1,2,3,3,4,0,1,1,0,1,0\n0,0,0,3,2,4,1,2,0,1,1,0,1,0\n1,0,3,2,0,6,2,4,1,1,1,0,1,0\n0,0,1,2,0,8,0,0,0,1,1,2,1,1\n2,4,0,3,1,8,5,4,0,1,1,2,1,0\n0,1,1,2,0,4,2,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n0,0,1,2,2,5,3,0,0,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,4,8,3,0,0,1,1,0,1,0\n0,4,10,3,2,5,3,0,1,1,1,1,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,9,1,2,9,1,0,1,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,2,9,5,0,0,1,1,1,1,0\n2,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,0,0,0,1,1,1,1,0\n0,0,3,2,2,6,4,3,0,1,1,1,1,0\n2,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,0,8,2,0,1,1,1,1,1,1\n2,3,10,3,4,5,5,0,0,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,1,4,3,0,1,1,1,1,1,1\n0,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,1,8,5,0,0,1,1,1,1,0\n1,2,1,2,0,9,2,0,1,1,1,0,1,1\n2,5,13,3,0,5,2,0,1,1,1,0,1,1\n1,3,3,2,0,0,2,0,1,1,1,2,1,1\n2,0,1,2,3,8,5,0,1,1,1,0,1,0\n2,2,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,2,1,0\n0,0,1,2,2,4,1,0,0,1,1,2,1,0\n2,3,1,2,0,4,2,0,1,1,1,0,1,1\n1,1,10,3,2,4,3,1,1,1,1,1,1,1\n0,4,3,2,1,0,3,0,0,1,1,1,1,0\n0,0,3,2,4,4,5,0,0,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,1\n0,0,10,3,2,5,3,0,1,1,1,0,1,0\n2,1,10,3,1,3,5,0,0,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,2,1,2,11,1,0,0,1,1,2,1,0\n0,4,1,2,3,8,5,2,0,1,1,0,1,0\n1,5,6,2,0,12,2,0,1,1,1,0,1,1\n1,0,3,2,2,2,4,4,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,5,2,2,8,3,0,0,1,1,1,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,2,1,1\n1,1,0,3,4,4,5,1,0,1,1,1,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n0,5,1,2,0,5,0,4,0,1,1,0,1,1\n1,0,3,2,3,3,5,0,0,1,1,1,1,0\n0,0,3,2,2,2,1,4,0,1,1,0,1,0\n1,1,2,1,2,9,1,0,1,1,1,2,1,0\n0,1,12,1,0,9,2,0,1,1,1,1,1,0\n0,4,3,2,2,9,1,0,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,4,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,5,6,4,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,4,10,3,2,5,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,0,0,0,1,1,0,1,1\n0,0,0,3,0,4,0,1,0,1,1,0,1,0\n2,1,3,2,0,10,2,4,1,1,1,0,1,0\n1,0,14,0,0,6,2,0,1,1,1,0,1,0\n0,0,5,2,2,7,5,4,0,1,1,0,1,0\n2,0,3,2,0,7,0,0,0,1,1,0,1,1\n2,4,4,3,0,8,2,1,1,1,1,0,1,1\n2,0,1,2,4,8,3,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,1,2,1,0,9,2,0,1,1,1,1,1,0\n1,3,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,0,2,1,1,8,1,0,0,1,1,0,1,0\n0,4,0,3,0,12,2,4,1,1,1,1,1,1\n0,0,10,3,0,3,2,0,1,1,1,0,1,1\n0,0,14,0,3,9,4,0,1,1,1,1,1,0\n1,0,3,2,2,4,4,0,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,4,10,3,2,5,3,0,0,1,1,1,1,0\n2,0,1,2,4,4,3,0,0,1,1,2,1,0\n0,5,1,2,2,12,1,0,1,1,1,0,1,0\n2,0,14,0,5,3,3,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,4,3,2,2,12,5,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,7,0,0,0,1,1,0,1,0\n1,0,7,1,3,2,5,3,0,1,1,0,1,0\n0,0,3,2,0,3,1,4,1,1,1,2,1,0\n1,0,1,2,2,6,3,0,1,1,1,1,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,4,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,7,1,2,10,3,0,1,1,1,1,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,5,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,8,0,2,2,4,0,1,1,1,2,1,0\n1,0,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,3,8,3,0,1,1,1,1,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n1,4,1,2,0,12,2,0,1,1,1,1,1,1\n0,0,3,2,5,2,3,3,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,1,0,3,2,12,1,0,1,1,1,0,1,0\n1,0,3,2,4,8,5,0,0,1,1,0,1,0\n1,0,2,1,1,7,3,4,0,1,1,2,1,0\n0,0,3,2,2,9,4,0,1,1,1,2,1,0\n0,1,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n1,0,10,3,0,1,2,0,1,1,1,1,1,1\n1,0,8,0,0,9,2,0,1,1,1,1,1,0\n1,4,3,2,0,1,2,4,1,1,1,2,1,0\n2,0,1,2,1,7,3,3,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,4,0,3,2,5,1,4,0,1,1,2,1,0\n1,0,12,1,1,2,3,0,1,1,1,1,1,0\n1,5,10,3,0,5,0,0,0,1,1,2,1,1\n1,0,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,3,3,5,4,0,1,1,2,1,0\n1,3,10,3,2,0,3,0,0,1,1,0,1,0\n1,5,13,3,0,5,2,0,1,1,1,0,1,1\n2,1,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,6,2,4,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,0,3,2,1,4,3,0,1,1,1,1,1,1\n0,0,3,2,1,5,5,0,1,1,1,0,1,0\n0,5,10,3,2,4,3,0,1,1,1,0,1,0\n1,0,1,2,1,10,3,4,0,1,1,0,1,0\n2,0,3,2,4,7,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,0,0,2,0,1,1,1,2,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n0,5,0,3,2,5,1,0,0,1,1,2,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,2,1,2,0,5,2,2,1,1,1,2,1,0\n1,2,3,2,2,4,3,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,4,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n0,0,9,1,0,11,0,3,0,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,0,10,2,1,1,1,1,0,1,1\n1,0,2,1,0,1,2,0,1,1,1,0,1,1\n1,4,10,3,0,4,2,0,1,1,1,0,1,1\n2,0,12,1,5,12,3,1,1,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,4,1,1,1,0,1,0\n1,0,10,3,1,5,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,1,0,5,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,5,2,2,4,5,0,1,1,1,1,1,0\n1,2,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,8,0,5,7,5,0,0,1,1,0,1,0\n1,0,2,1,5,7,5,1,0,1,1,0,1,0\n1,3,3,2,0,9,2,0,1,1,1,0,1,1\n1,0,4,3,2,5,3,0,0,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,3,2,2,10,1,4,1,1,1,0,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n2,1,0,3,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,3,0,0,0,1,1,0,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,1,1,2,0,2,0,0,0,1,1,2,1,1\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,3,3,0,1,1,1,1,1,0\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n2,2,6,2,4,3,3,0,0,1,1,1,1,1\n0,0,3,2,2,1,3,4,1,1,1,0,1,0\n0,0,2,1,2,9,5,0,1,1,1,0,1,0\n0,0,0,3,2,4,1,0,0,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,0,0,3,5,4,3,0,0,1,1,1,1,1\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n1,3,0,3,2,12,3,4,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,6,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,1,4,0,1,1,1,1,0\n0,0,1,2,0,2,2,4,1,1,1,1,1,0\n1,2,0,3,0,4,2,0,1,1,1,2,1,1\n2,4,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,12,1,2,9,5,2,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,7,1,2,1,1,0,1,1,1,0,1,0\n3,2,1,2,4,3,3,0,1,1,1,2,1,0\n1,0,5,2,1,5,5,0,0,1,1,2,1,0\n0,0,1,2,2,3,3,4,1,1,1,2,1,0\n1,0,1,2,1,10,3,0,1,1,1,0,1,0\n0,0,12,1,0,10,2,0,1,1,1,0,1,0\n2,0,12,1,0,6,2,0,1,1,1,2,1,1\n1,0,0,3,1,3,3,1,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,1,0,3,0,5,2,0,1,1,1,2,1,0\n2,0,3,2,4,2,3,0,0,1,1,2,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,12,1,0,6,2,0,1,1,1,2,1,0\n1,3,0,3,0,6,2,0,1,1,1,0,1,0\n1,2,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,7,1,2,7,1,0,1,1,1,0,1,0\n2,4,0,3,0,4,0,0,0,1,1,2,1,1\n1,0,3,2,1,10,5,0,1,1,1,0,1,0\n1,4,1,2,1,4,5,0,1,1,1,1,1,1\n1,0,6,2,1,3,3,0,1,1,1,1,1,1\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,0,1,1,2,1,0\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,11,0,0,6,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,4,10,3,1,5,3,0,0,1,1,0,1,0\n1,0,5,2,0,6,2,4,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,5,3,0,0,1,1,2,1,0\n2,2,5,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,1,2,1,4,5,0,0,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,5,2,0,5,2,0,1,1,1,0,1,1\n1,0,4,3,1,5,3,0,1,1,1,2,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n1,0,15,0,5,8,1,0,1,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,7,1,0,7,2,0,1,1,1,0,1,0\n0,0,6,2,2,2,1,0,0,1,1,2,1,0\n1,0,2,1,4,1,3,0,1,1,1,0,1,0\n2,4,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,7,1,0,1,2,0,1,1,1,2,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,0\n0,4,10,3,0,5,0,0,0,1,1,2,1,1\n2,0,4,3,0,1,2,0,1,1,1,1,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,2,1,1\n1,0,5,2,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,0,3,2,3,2,5,0,0,1,1,2,1,0\n0,0,3,2,2,4,1,0,1,1,1,2,1,0\n0,0,1,2,2,4,3,0,1,1,1,0,1,0\n0,0,6,2,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n2,1,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,0,3,2,0,3,0,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,10,3,0,5,0,1,0,1,1,0,1,1\n1,0,9,1,2,2,3,3,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,11,3,0,0,1,1,2,1,0\n1,0,2,1,1,4,5,0,0,1,1,2,1,0\n0,0,0,3,0,4,0,0,0,1,1,2,1,1\n1,2,10,3,0,4,2,0,1,1,1,1,1,1\n1,4,11,0,0,2,2,0,1,1,1,2,1,0\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n1,3,6,2,0,8,2,0,1,1,1,0,1,1\n2,0,5,2,4,4,3,0,0,1,1,0,1,1\n1,0,0,3,1,4,5,1,1,1,1,1,1,0\n0,0,8,0,3,6,3,4,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,2,10,3,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,6,5,2,0,1,1,2,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n1,3,3,2,1,1,3,4,1,1,1,0,1,0\n2,2,3,2,0,4,2,0,1,1,1,2,1,1\n2,5,3,2,1,2,1,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,4,1,2,1,8,5,4,0,1,1,2,1,0\n1,0,0,3,0,1,0,0,0,1,1,2,1,1\n1,0,0,3,1,4,3,0,0,1,1,1,1,1\n1,2,13,3,0,4,0,0,0,1,1,0,1,1\n1,0,0,3,0,0,2,0,1,1,1,2,1,0\n0,0,5,2,0,5,2,0,1,1,1,0,1,0\n1,0,5,2,1,1,3,4,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,3,3,5,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,3,3,2,0,8,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n2,2,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,0,3,1,0,5,0,0,1,1,0,1,0\n0,4,1,2,2,2,3,0,1,1,1,0,1,0\n0,4,3,2,2,10,1,0,0,1,1,2,1,0\n1,5,1,2,0,12,2,4,1,1,1,1,1,0\n0,0,3,2,1,2,3,4,0,1,1,2,1,0\n0,0,9,1,2,3,4,0,1,1,1,0,1,0\n0,0,6,2,0,8,2,4,1,1,1,1,1,1\n1,0,3,2,4,7,3,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,4,3,2,5,3,0,0,1,1,1,1,1\n1,1,0,3,0,1,2,0,1,1,1,1,1,0\n1,0,10,3,2,4,3,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,5,1,2,2,5,1,0,1,1,1,2,1,0\n0,0,14,0,2,6,4,0,1,1,1,0,1,0\n1,0,0,3,5,8,3,2,1,1,1,0,1,0\n0,0,3,2,2,8,1,4,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,12,2,0,1,1,1,0,1,0\n2,0,1,2,1,2,3,0,1,1,1,2,1,0\n2,1,2,1,0,9,2,0,1,1,1,2,1,0\n0,0,3,2,1,3,1,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,4,0,1,1,2,1,0\n1,0,6,2,2,7,3,0,1,1,1,0,1,0\n1,0,6,2,2,8,3,3,0,1,1,2,1,0\n1,0,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,3,2,1,0,3,0,0,1,1,2,1,0\n1,1,4,3,1,3,3,0,1,1,1,1,1,1\n2,1,3,2,0,9,2,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,3,5,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n1,1,10,3,1,4,3,0,1,1,1,1,1,1\n0,0,6,2,1,8,3,0,0,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,9,1,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,2,6,2,2,1,3,0,1,1,1,1,1,0\n1,2,0,3,1,3,3,0,1,1,1,1,1,0\n1,0,3,2,1,8,4,0,0,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,0\n1,0,0,3,1,5,3,0,0,1,1,2,1,0\n2,0,7,1,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,0,3,4,1,0,1,1,0,1,0\n1,0,1,2,1,2,3,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,5,0,3,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,0,2,0,1,1,1,0,1,0\n2,0,3,2,2,2,4,0,0,1,1,2,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n0,0,3,2,2,9,1,0,0,1,1,0,1,0\n0,3,5,2,0,0,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,12,3,0,1,1,1,2,1,0\n1,3,1,2,0,8,2,4,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,10,3,0,5,2,0,1,1,1,2,1,1\n1,0,3,2,0,5,2,1,1,1,1,0,1,0\n0,0,7,1,2,3,1,0,0,1,1,1,1,0\n0,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,5,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,1,1,0\n1,0,1,2,1,1,3,0,1,1,1,0,1,1\n1,0,3,2,1,2,5,4,0,1,1,2,1,0\n0,0,1,2,2,4,1,0,1,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,2,1,0\n0,4,1,2,0,2,2,0,1,1,1,0,1,0\n1,4,1,2,2,2,1,0,0,1,1,2,1,0\n1,1,10,3,1,5,3,0,0,1,1,2,1,0\n1,0,1,2,2,7,3,0,1,1,1,2,1,0\n2,0,10,3,0,5,2,0,1,1,1,0,1,1\n3,4,7,1,0,2,2,0,1,1,1,2,1,0\n0,0,8,0,2,3,3,0,1,1,1,1,1,0\n0,0,9,1,2,10,1,0,1,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,5,1,2,0,12,2,0,1,1,1,0,1,0\n0,0,9,1,3,8,5,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,1,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,5,2,0,8,2,0,1,1,1,0,1,0\n1,5,10,3,1,5,3,0,0,1,1,0,1,0\n1,3,0,3,0,4,2,0,1,1,1,1,1,0\n1,4,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,1,7,5,0,0,1,1,0,1,0\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n0,4,12,1,2,12,1,0,0,1,1,0,1,0\n1,4,10,3,0,5,0,0,0,1,1,0,1,1\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,1,1,1,1,1,1,1\n0,5,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,5,3,2,0,0,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,4,1,2,2,2,1,4,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,4,3,0,3,2,0,1,1,1,1,1,1\n0,4,2,1,2,5,1,4,1,1,1,2,1,0\n1,0,13,3,2,5,3,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,1,0,3,1,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,1,0,3,2,5,3,0,0,1,1,2,1,0\n0,2,2,1,2,3,1,0,1,1,1,2,1,0\n1,0,3,2,2,5,3,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,10,3,2,5,3,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n1,4,10,3,0,4,0,2,0,1,1,1,1,1\n0,5,10,3,2,5,5,0,0,1,1,0,1,0\n0,0,6,2,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,4,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,12,2,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,1,5,2,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,2,4,4,4,1,1,1,1,1,0\n0,0,3,2,1,10,5,0,0,1,1,0,1,0\n1,1,10,3,0,3,0,0,0,1,1,2,1,1\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,1,2,2,12,3,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,0,0,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,4,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,8,0,0,1,2,0,1,1,1,1,1,0\n1,1,4,3,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n0,0,4,3,1,5,3,0,0,1,1,1,1,1\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,2,1,3,0,1,1,1,2,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,0\n2,0,2,1,1,7,4,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,4,3,2,1,4,3,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,0,3,1,4,5,0,0,1,1,1,1,0\n0,0,2,1,0,3,0,0,0,1,1,0,1,0\n1,2,7,1,0,3,0,0,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,1,1,0\n0,4,3,2,2,10,1,4,0,1,1,0,1,0\n0,0,1,2,1,1,5,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,2,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,4,3,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,2,10,3,2,5,3,4,1,1,1,1,1,0\n0,0,3,2,1,8,5,4,0,1,1,1,1,0\n1,0,3,2,3,1,5,4,1,1,1,0,1,0\n2,3,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,10,1,0,1,1,1,0,1,0\n1,2,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,4,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,1,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,1,2,2,5,4,1,0,1,1,2,1,0\n0,1,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,6,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,3,1,5,4,0,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,1,1,2,1,3,5,0,1,1,1,1,1,0\n1,0,0,3,1,11,3,0,0,1,1,1,1,0\n0,0,1,2,2,2,5,4,0,1,1,2,1,0\n1,0,6,2,0,1,2,4,1,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,2,1,0\n1,3,1,2,0,8,2,0,1,1,1,1,1,0\n0,0,3,2,1,1,5,0,1,1,1,1,1,0\n0,0,3,2,2,10,1,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,3,5,2,2,8,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,2,1,0\n0,0,7,1,1,1,5,0,1,1,1,1,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,6,2,0,4,0,0,0,1,1,0,1,1\n0,0,1,2,1,8,5,0,0,1,1,2,1,0\n0,4,1,2,2,8,5,4,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,5,3,2,1,12,5,0,0,1,1,0,1,0\n0,0,3,2,3,5,4,4,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,7,4,0,1,1,1,0,1,0\n1,3,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,3,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,9,1,0,8,0,0,0,1,1,0,1,0\n0,5,1,2,2,5,1,4,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,1,4,3,0,0,1,1,0,1,0\n0,0,6,2,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,4,1,1,1,0,1,0\n2,4,10,3,2,5,3,0,1,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,3,6,5,4,0,1,1,0,1,0\n2,0,3,2,0,8,0,0,0,1,1,0,1,0\n2,1,0,3,0,3,2,0,1,1,1,2,1,0\n2,0,10,3,1,4,3,0,1,1,1,1,1,1\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,1,2,2,0,1,0,1,1,1,2,1,0\n0,0,0,3,1,2,5,0,0,1,1,1,1,1\n1,0,6,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,10,3,0,1,1,1,0,1,0\n2,0,1,2,1,1,3,0,1,1,1,1,1,0\n0,4,9,1,2,8,1,0,0,1,1,2,1,0\n1,4,0,3,2,5,3,0,0,1,1,1,1,0\n0,5,6,2,1,8,1,0,1,1,1,0,1,0\n0,0,3,2,3,10,3,4,1,1,1,2,1,0\n1,1,1,2,0,4,0,0,0,1,1,2,1,0\n1,5,0,3,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n2,0,3,2,0,2,2,0,1,1,1,0,1,0\n2,0,14,0,0,9,2,0,1,1,1,1,1,0\n0,3,13,3,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,9,1,0,1,2,0,1,1,1,1,1,1\n1,4,3,2,2,12,3,0,1,1,1,1,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,10,1,0,1,1,1,0,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n2,0,0,3,0,8,2,1,1,1,1,0,1,0\n0,2,0,3,2,4,3,0,1,1,1,1,1,0\n0,1,8,0,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n1,0,9,1,0,8,2,4,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,2,7,3,4,1,1,1,0,1,0\n0,0,14,0,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,2,0,3,0,1,1,1,0,1,0\n1,1,0,3,1,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,8,4,4,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,2,0,3,2,4,1,0,1,1,1,0,1,0\n0,0,6,2,0,4,0,0,0,1,1,0,1,0\n1,5,3,2,1,0,5,0,0,1,1,0,1,0\n3,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,2,1,2,8,1,2,0,1,1,2,1,0\n0,0,3,2,2,4,3,0,1,1,1,1,1,0\n1,0,12,1,0,9,2,4,1,1,1,0,1,0\n1,0,1,2,0,1,2,1,1,1,1,0,1,0\n0,2,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,4,8,5,2,1,1,1,0,1,0\n0,4,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,1,1,4,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,5,4,5,0,0,1,1,1,1,0\n0,4,10,3,0,5,2,0,1,1,1,0,1,0\n0,2,0,3,2,4,1,0,1,1,1,1,1,0\n0,4,1,2,2,12,1,0,1,1,1,0,1,1\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,1,4,3,0,1,1,1,1,1,0\n0,0,5,2,2,8,3,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,4,7,3,0,0,1,1,0,1,0\n2,5,4,3,0,8,2,0,1,1,1,2,1,1\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,4,1,1,1,2,1,0\n2,5,5,2,0,5,2,0,1,1,1,2,1,0\n2,0,1,2,4,0,3,0,0,1,1,2,1,0\n1,2,6,2,0,4,2,0,1,1,1,1,1,1\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n1,0,12,1,1,1,3,4,0,1,1,2,1,0\n0,0,1,2,1,0,3,0,0,1,1,0,1,0\n1,0,1,2,1,0,5,0,0,1,1,0,1,0\n3,1,3,2,4,9,3,0,0,1,1,2,1,0\n0,5,0,3,0,4,2,4,1,1,1,0,1,1\n0,0,3,2,2,2,3,4,1,1,1,2,1,0\n2,2,4,3,0,5,2,0,1,1,1,2,1,1\n0,0,2,1,2,10,1,0,1,1,1,2,1,0\n1,0,3,2,0,9,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,1,5,3,0,0,1,1,1,1,1\n1,0,3,2,4,7,1,0,0,1,1,2,1,0\n1,5,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,15,0,2,9,3,0,1,1,1,2,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,1,3,2,0,5,2,0,1,1,1,2,1,1\n1,0,6,2,0,6,2,0,1,1,1,1,1,0\n2,0,12,1,0,6,2,0,1,1,1,0,1,0\n1,3,3,2,1,8,3,4,0,1,1,1,1,0\n1,0,2,1,0,6,2,4,1,1,1,0,1,1\n1,3,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,1,5,3,0,1,1,1,1,1,0\n0,0,1,2,2,4,1,0,0,1,1,2,1,0\n0,0,1,2,0,9,2,0,1,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n2,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,5,10,3,0,5,2,1,1,1,1,2,1,0\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n0,1,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,2,1,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,4,1,1,1,2,1,0\n1,1,3,2,1,1,1,0,1,1,1,1,1,0\n0,1,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,8,0,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,3,4,3,0,1,1,1,0,1,0\n1,3,0,3,0,5,2,0,1,1,1,0,1,1\n1,5,4,3,0,5,2,0,1,1,1,1,1,1\n1,3,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,3,2,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,2,1,2,6,1,4,1,1,1,0,1,0\n0,0,1,2,3,7,5,4,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n0,0,10,3,3,5,3,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,4,1,0,0,1,1,2,1,0\n2,4,3,2,0,2,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,0,1,1,2,1,0\n1,3,0,3,3,8,5,4,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,0,7,1,0,10,2,0,1,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,10,3,2,4,3,0,1,1,1,2,1,0\n1,0,1,2,2,4,3,0,1,1,1,1,1,0\n0,0,0,3,2,6,5,0,1,1,1,2,1,0\n1,0,3,2,4,7,5,0,0,1,1,0,1,0\n0,0,14,0,2,2,1,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n1,4,5,2,0,1,2,4,1,1,1,0,1,1\n1,0,6,2,0,5,2,0,1,1,1,0,1,0\n0,4,2,1,0,1,2,0,1,1,1,0,1,0\n2,1,10,3,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,8,2,0,1,1,1,1,1,1\n1,2,4,3,2,2,3,0,1,1,1,1,1,1\n2,2,11,0,0,3,2,0,1,1,1,2,1,0\n0,0,7,1,0,7,2,0,1,1,1,0,1,0\n1,4,3,2,2,10,3,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,0,2,0,1,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,1,3,4,1,0,1,1,0,1,0\n0,1,0,3,0,3,2,1,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,4,8,5,0,0,1,1,0,1,0\n2,0,8,0,2,9,5,0,1,1,1,0,1,0\n0,3,5,2,1,4,5,0,1,1,1,1,1,1\n2,1,1,2,0,7,2,0,1,1,1,2,1,1\n0,4,3,2,2,2,1,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,6,4,0,1,1,1,0,1,0\n0,4,3,2,2,5,1,0,1,1,1,0,1,0\n1,0,1,2,1,10,3,0,1,1,1,1,1,1\n1,1,5,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,9,1,0,1,1,1,1,1,0\n0,1,3,2,3,10,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,0,2,0,1,1,1,0,1,1\n0,0,12,1,2,6,3,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n1,2,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,7,1,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n2,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,1,0,3,2,4,1,0,0,1,1,0,1,0\n2,0,12,1,0,2,2,4,1,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,1,1,2,1,2,3,0,0,1,1,0,1,0\n2,3,3,2,1,5,3,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,3,3,2,2,8,5,4,0,1,1,2,1,0\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,3,8,5,4,0,1,1,0,1,0\n1,0,3,2,1,1,5,0,1,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,1,1,1\n1,0,5,2,2,0,5,0,0,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,2,5,3,0,0,1,1,2,1,0\n1,0,0,3,2,8,3,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,4,1,1,1,0,1,0\n1,0,1,2,4,3,5,0,0,1,1,2,1,0\n0,0,0,3,1,7,3,0,0,1,1,1,1,0\n1,1,14,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,4,0,1,1,1,0,1,0\n0,0,14,0,2,9,5,0,1,1,1,2,1,0\n0,0,5,2,1,5,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n2,4,3,2,1,4,3,0,0,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,6,2,0,4,2,0,1,1,1,0,1,1\n1,0,5,2,3,8,5,0,0,1,1,1,1,0\n1,1,3,2,0,2,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,4,3,0,0,1,1,1,1,0\n1,0,6,2,0,5,0,0,0,1,1,2,1,0\n1,0,13,3,0,5,0,0,0,1,1,2,1,1\n3,1,6,2,4,4,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,3,5,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,4,7,3,4,0,1,1,0,1,0\n0,0,3,2,1,2,1,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,6,2,2,2,3,0,1,1,1,1,1,0\n1,1,1,2,2,3,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,12,1,0,1,2,0,1,1,1,1,1,0\n2,0,7,1,1,9,3,4,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,4,10,3,1,5,3,0,0,1,1,0,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n2,3,6,2,2,0,3,0,1,1,1,0,1,0\n2,2,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n0,4,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,3,1,1,1,1,1,1\n2,4,9,1,2,6,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,4,0,3,0,5,2,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n1,4,0,3,2,5,1,0,1,1,1,1,1,0\n0,5,1,2,2,3,1,4,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,7,1,2,10,1,0,1,1,1,0,1,0\n1,4,1,2,0,2,2,2,1,1,1,2,1,0\n1,1,0,3,1,3,5,0,1,1,1,1,1,0\n0,0,11,0,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,1,10,5,0,1,1,1,0,1,1\n0,0,4,3,1,5,3,0,0,1,1,2,1,0\n2,4,1,2,2,10,5,0,1,1,1,0,1,0\n0,3,6,2,2,5,1,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,4,1,1,1,1,1,0\n1,1,0,3,0,3,2,0,1,1,1,2,1,1\n0,0,1,2,1,0,3,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,2,8,0,0,3,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,0,12,1,1,8,1,4,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n1,1,0,3,1,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n2,0,6,2,1,4,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,12,1,0,2,2,0,1,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,5,0,0,1,1,2,1,0\n0,0,1,2,2,7,3,0,0,1,1,0,1,0\n0,5,1,2,2,2,3,4,1,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,0,6,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,2,1,5,0,1,1,1,0,1,0\n0,0,1,2,0,8,2,4,1,1,1,0,1,1\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,4,5,2,2,12,3,0,1,1,1,0,1,0\n0,0,1,2,1,8,5,4,0,1,1,0,1,0\n3,4,3,2,0,4,2,0,1,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n2,0,6,2,1,5,3,0,0,1,1,2,1,0\n1,0,3,2,1,12,3,4,0,1,1,0,1,0\n0,0,3,2,1,5,5,0,0,1,1,0,1,0\n0,0,5,2,2,8,3,0,1,1,1,1,1,0\n1,0,10,3,2,5,3,0,0,1,1,0,1,0\n2,0,1,2,0,0,2,0,1,1,1,1,1,1\n1,0,9,1,1,6,5,0,1,1,1,0,1,0\n0,0,5,2,2,8,3,0,0,1,1,2,1,0\n1,2,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,1,1,1,0,1,0\n1,0,14,0,3,7,3,0,0,1,1,0,1,0\n0,0,2,1,2,10,1,0,0,1,1,2,1,0\n1,4,8,0,1,2,3,0,1,1,1,0,1,0\n1,0,1,2,0,7,2,4,1,1,1,0,1,1\n1,0,14,0,0,7,2,3,1,1,1,0,1,0\n1,0,7,1,3,1,5,0,0,1,1,0,1,0\n1,4,4,3,0,8,2,1,1,1,1,0,1,1\n1,1,8,0,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,9,3,0,1,1,1,1,1,0\n0,0,8,0,0,8,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n2,1,3,2,0,9,2,0,1,1,1,2,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,4,4,3,0,0,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,4,0,0,1,1,2,1,0\n1,5,2,1,0,10,2,0,1,1,1,0,1,0\n1,3,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,1\n0,0,1,2,2,0,1,0,1,1,1,1,1,0\n1,5,13,3,0,5,2,0,1,1,1,1,1,0\n0,5,1,2,0,8,2,4,1,1,1,2,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,7,4,3,1,1,1,2,1,0\n0,1,6,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,1,0,1,1,1,1,1,0\n0,0,3,2,3,1,5,4,1,1,1,0,1,0\n0,0,3,2,3,2,1,4,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n0,5,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n1,4,8,0,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,1,1,1,1,1,0\n0,4,3,2,1,12,1,0,0,1,1,2,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,0,0,0,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,8,0,0,10,2,0,1,1,1,1,1,0\n2,0,9,1,4,7,5,0,0,1,1,0,1,0\n0,0,3,2,5,2,1,0,0,1,1,2,1,0\n0,0,5,2,2,8,3,0,1,1,1,2,1,0\n1,0,3,2,2,5,3,0,1,1,1,0,1,0\n1,0,0,3,1,8,3,1,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,2,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,6,2,0,3,2,0,1,1,1,0,1,0\n1,0,0,3,1,8,5,0,1,1,1,1,1,1\n1,1,0,3,0,1,2,0,1,1,1,1,1,0\n1,1,5,2,1,4,5,0,0,1,1,1,1,0\n1,0,12,1,1,4,3,2,0,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,3,1,2,4,2,5,4,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n3,0,0,3,1,3,3,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,1,2,5,2,0,1,1,0,1,0\n0,0,2,1,2,7,3,0,0,1,1,0,1,0\n1,0,1,2,5,6,5,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,0,1,1,0,1,0\n2,0,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,9,1,2,1,1,0,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,4,0,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,2,1,0\n1,4,5,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,1,4,1,0,0,1,1,0,1,0\n1,0,6,2,3,0,5,0,0,1,1,2,1,0\n0,0,3,2,1,2,5,0,0,1,1,1,1,0\n0,0,3,2,0,3,0,0,0,1,1,0,1,0\n0,0,3,2,1,4,1,0,1,1,1,0,1,0\n1,1,13,3,0,5,2,0,1,1,1,1,1,1\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,2,3,2,0,4,2,0,1,1,1,1,1,0\n0,1,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,0,3,0,4,0,0,0,1,1,1,1,1\n1,0,7,1,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,1,7,5,0,0,1,1,0,1,0\n2,1,13,3,0,3,2,0,1,1,1,2,1,1\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,0,3,1,4,5,0,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,1,4,1,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,5,2,2,10,1,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,3,2,5,4,0,1,1,2,1,0\n1,0,4,3,1,5,3,0,1,1,1,1,1,1\n1,0,10,3,1,3,3,0,0,1,1,0,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n2,5,4,3,0,2,2,0,1,1,1,2,1,0\n0,0,3,2,2,2,4,4,1,1,1,2,1,0\n2,2,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,14,0,0,9,2,0,1,1,1,0,1,0\n1,0,1,2,1,4,3,0,0,1,1,1,1,0\n2,4,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,7,1,2,2,5,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,1,1,5,2,1,1,1,2,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,1,2,1,0,0,1,1,0,1,0\n2,0,3,2,2,4,3,0,1,1,1,0,1,0\n1,1,3,2,1,9,3,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,5,2,2,7,5,0,1,1,1,0,1,0\n0,0,9,1,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,8,4,0,0,1,1,2,1,0\n0,0,1,2,2,6,1,0,0,1,1,2,1,0\n1,0,0,3,1,3,3,0,1,1,1,1,1,1\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,0,10,3,0,4,2,0,1,1,1,0,1,1\n2,4,3,2,4,8,5,0,0,1,1,2,1,1\n1,0,6,2,0,5,0,0,0,1,1,2,1,1\n0,0,1,2,1,1,1,0,1,1,1,0,1,0\n0,5,0,3,1,4,3,1,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,4,4,5,0,0,1,1,1,1,0\n2,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,2,3,2,5,3,3,0,1,1,1,1,1,0\n1,2,0,3,0,9,2,0,1,1,1,1,1,1\n2,0,6,2,0,1,2,4,1,1,1,0,1,1\n0,0,10,3,2,4,3,0,0,1,1,1,1,0\n0,1,6,2,2,9,1,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,1,6,2,0,9,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n2,4,13,3,1,5,3,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,1,2,2,2,3,4,1,1,1,2,1,0\n0,4,0,3,1,5,3,0,1,1,1,0,1,0\n1,0,0,3,0,5,0,0,0,1,1,2,1,1\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,5,3,2,0,8,2,0,1,1,1,0,1,0\n0,3,3,2,2,6,1,0,0,1,1,0,1,0\n1,0,9,1,2,10,3,4,1,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,5,10,3,0,5,2,0,1,1,1,2,1,0\n0,0,1,2,3,2,3,0,0,1,1,2,1,0\n1,0,3,2,1,4,3,0,1,1,1,1,1,1\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n2,1,10,3,0,5,2,0,1,1,1,2,1,1\n0,0,3,2,2,6,3,0,0,1,1,2,1,0\n0,0,1,2,0,4,1,4,0,1,1,0,1,0\n0,0,5,2,2,3,5,0,1,1,1,1,1,0\n0,0,1,2,2,4,3,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,1,1,0\n3,0,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,9,1,2,6,1,0,1,1,1,0,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,1,1,2,2,5,3,1,1,1,1,2,1,1\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,0,5,2,0,1,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,4,2,1,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,3,0,1,1,0,1,0\n2,0,5,2,2,5,4,0,0,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,8,1,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,4,1,1,1,0,1,1\n0,0,4,3,2,5,3,4,1,1,1,1,1,0\n0,0,5,2,0,4,2,0,1,1,1,1,1,1\n3,0,0,3,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,0,1,0,1,1,1,0,1,0\n1,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,4,1,2,2,8,5,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,4,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,9,3,0,1,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,1,1,1\n2,3,10,3,0,4,2,4,1,1,1,0,1,1\n1,0,4,3,0,4,0,0,0,1,1,1,1,1\n0,0,1,2,1,10,3,0,1,1,1,2,1,0\n0,3,3,2,0,8,2,0,1,1,1,0,1,1\n1,5,1,2,2,10,1,4,1,1,1,0,1,0\n0,0,0,3,2,3,1,0,0,1,1,1,1,0\n1,0,1,2,3,8,5,0,0,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,1,7,5,0,0,1,1,0,1,0\n1,3,1,2,2,8,3,0,0,1,1,1,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,0,2,0,1,1,1,1,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n2,0,0,3,0,11,4,0,1,1,1,1,1,0\n2,1,3,2,4,3,3,0,1,1,1,1,1,0\n1,0,8,0,0,2,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,3,0,1,1,1,2,1,0\n0,0,3,2,0,7,0,0,0,1,1,0,1,1\n1,0,4,3,0,4,2,0,1,1,1,1,1,1\n1,2,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,2,7,3,4,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,9,3,0,1,1,1,0,1,0\n0,5,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,11,0,0,0,1,1,0,1,0\n1,0,12,1,0,6,2,4,1,1,1,0,1,0\n0,5,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,1,5,0,0,1,1,1,1,0\n1,0,3,2,4,8,5,0,0,1,1,2,1,0\n1,0,2,1,3,4,3,0,0,1,1,2,1,0\n1,1,8,0,0,4,2,0,1,1,1,1,1,1\n1,0,2,1,0,4,2,0,1,1,1,1,1,1\n1,0,8,0,0,4,0,0,0,1,1,1,1,0\n1,0,13,3,0,5,2,0,1,1,1,0,1,1\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,2,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,0,5,2,0,1,1,1,0,1,1\n2,5,10,3,1,5,3,0,0,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n2,1,12,1,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,2,0,5,0,0,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,6,2,0,5,0,0,0,1,1,0,1,1\n1,2,3,2,0,1,2,0,1,1,1,1,1,0\n0,4,1,2,2,12,3,0,1,1,1,1,1,0\n0,0,12,1,0,2,2,4,1,1,1,0,1,0\n0,4,6,2,2,12,3,0,1,1,1,1,1,0\n0,3,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,2,1,2,5,1,0,1,1,1,2,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,5,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,4,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,4,8,0,5,2,3,0,0,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,5,0,1,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,8,0,2,9,1,0,0,1,1,2,1,0\n0,0,0,3,2,8,3,1,0,1,1,2,1,0\n1,0,1,2,1,8,5,0,0,1,1,1,1,0\n1,0,3,2,1,3,5,0,0,1,1,0,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,1\n1,0,1,2,2,2,1,4,0,1,1,0,1,0\n1,0,3,2,2,6,3,0,1,1,1,0,1,0\n2,0,0,3,4,7,4,1,1,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,6,2,2,8,1,1,0,1,1,2,1,0\n3,2,12,1,0,9,2,0,1,1,1,1,1,1\n2,0,13,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,2,8,5,4,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n2,0,1,2,1,8,3,0,0,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,5,3,2,4,8,5,1,0,1,1,0,1,0\n1,1,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,1,1,1,1,1,0\n0,0,6,2,0,5,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n1,0,1,2,3,2,3,0,0,1,1,1,1,0\n2,5,13,3,0,5,2,1,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,1,3,2,4,9,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,5,1,2,2,8,3,0,0,1,1,1,1,0\n1,4,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,5,2,5,0,0,1,1,0,1,0\n0,0,3,2,3,1,1,0,1,1,1,1,1,0\n1,1,3,2,1,4,3,4,1,1,1,1,1,0\n2,0,3,2,1,2,3,1,1,1,1,0,1,0\n1,0,0,3,1,1,3,0,0,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,5,2,1,4,5,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,6,2,0,9,2,0,1,1,1,1,1,0\n1,0,12,1,0,10,2,0,1,1,1,0,1,1\n0,0,7,1,2,3,3,0,0,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,2,9,3,0,1,1,1,2,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n0,0,12,1,2,2,1,4,0,1,1,2,1,0\n2,0,14,0,0,1,2,4,1,1,1,0,1,0\n1,0,3,2,1,10,1,0,1,1,1,1,1,0\n2,5,1,2,0,12,2,0,1,1,1,0,1,0\n1,5,10,3,0,4,2,0,1,1,1,1,1,1\n1,5,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,6,2,6,9,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,4,1,1,1,0,1,0\n0,4,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,6,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,0,3,2,2,3,1,1,1,1,2,1,0\n2,0,3,2,0,9,2,0,1,1,1,0,1,1\n0,0,11,0,2,2,4,0,0,1,1,0,1,0\n1,2,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,6,2,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,2,5,4,0,1,1,0,1,0\n3,0,3,2,4,8,3,0,1,1,1,2,1,0\n1,0,3,2,1,4,5,0,0,1,1,1,1,0\n0,0,8,0,1,2,5,0,0,1,1,1,1,0\n1,0,1,2,0,0,0,0,0,1,1,0,1,0\n1,4,3,2,0,12,2,0,1,1,1,1,1,1\n0,3,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,6,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,5,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,1,1,1,0,1,1\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n1,0,1,2,2,10,3,4,1,1,1,1,1,0\n0,0,3,2,2,10,4,3,1,1,1,0,1,0\n2,0,6,2,0,0,2,0,1,1,1,0,1,1\n3,3,3,2,0,8,2,0,1,1,1,0,1,1\n1,2,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,0,3,2,2,1,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n2,0,7,1,0,2,2,0,1,1,1,2,1,0\n0,0,2,1,2,1,1,0,1,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,3,2,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,4,1,2,2,2,1,0,0,1,1,2,1,0\n0,5,1,2,1,8,5,4,1,1,1,0,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,1\n1,1,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,2,7,5,0,0,1,1,0,1,0\n0,0,0,3,0,4,0,0,0,1,1,0,1,1\n2,5,10,3,2,5,3,0,0,1,1,1,1,1\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n2,2,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,10,1,0,1,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,5,3,2,1,8,5,0,1,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,4,3,2,5,3,0,1,1,1,1,1,0\n1,1,1,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,3,8,5,0,0,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,2,3,2,2,2,5,1,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,1,3,0,1,1,1,0,1,1\n0,0,0,3,0,0,2,0,1,1,1,2,1,1\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n1,4,10,3,0,4,2,4,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n2,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,3,5,0,0,1,1,2,1,0\n1,4,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,2,1,0\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,12,1,2,1,3,0,1,1,1,0,1,0\n1,1,0,3,0,5,2,0,1,1,1,1,1,0\n1,3,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,6,2,0,4,2,0,1,1,1,1,1,1\n0,4,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,1,2,2,4,3,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n2,0,0,3,1,4,5,0,1,1,1,1,1,1\n2,2,13,3,0,4,2,1,1,1,1,0,1,1\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,6,2,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,3,2,3,4,0,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,12,4,0,1,1,1,2,1,0\n2,0,1,2,1,4,5,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,3,10,3,4,3,5,0,1,1,1,1,1,1\n1,0,1,2,0,8,0,4,0,1,1,0,1,1\n1,4,5,2,3,4,3,0,1,1,1,0,1,0\n0,5,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,6,2,2,1,1,4,1,1,1,0,1,0\n1,0,1,2,1,4,5,0,0,1,1,0,1,0\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,0,11,4,1,0,1,1,1,1,0\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n1,5,6,2,0,12,2,0,1,1,1,0,1,0\n1,0,3,2,1,7,1,0,1,1,1,0,1,0\n0,0,3,2,0,4,0,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,11,0,0,2,2,0,1,1,1,0,1,0\n2,2,10,3,1,5,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,4,0,1,1,2,1,0\n1,5,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,4,6,2,1,8,3,0,0,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,2,1,0\n1,0,0,3,3,3,3,0,1,1,1,0,1,0\n2,1,1,2,1,3,5,0,0,1,1,1,1,0\n0,0,6,2,2,0,3,0,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,4,3,2,2,1,5,4,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,1\n3,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,4,9,1,0,10,2,0,1,1,1,0,1,0\n0,0,5,2,1,5,5,4,0,1,1,2,1,0\n1,0,1,2,3,8,1,0,1,1,1,0,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n1,0,12,1,4,10,5,4,1,1,1,0,1,0\n1,3,6,2,1,8,1,4,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,0\n2,4,1,2,0,8,0,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,4,1,1,1,0,1,0\n2,5,4,3,0,5,2,0,1,1,1,0,1,1\n1,5,0,3,5,5,3,0,1,1,1,0,1,0\n1,0,2,1,1,8,5,0,0,1,1,0,1,0\n1,2,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,1,1,1,2,1,0\n1,0,14,0,0,2,2,0,1,1,1,1,1,0\n1,3,1,2,1,4,5,1,0,1,1,0,1,0\n1,0,3,2,1,4,3,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,4,1,1,1,1,1,1\n2,0,3,2,0,4,2,1,1,1,1,1,1,0\n2,0,0,3,0,12,2,0,1,1,1,0,1,1\n0,0,9,1,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,2,1,0\n0,2,0,3,1,9,3,0,1,1,1,1,1,0\n0,4,0,3,1,5,4,0,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n1,0,1,2,2,4,3,0,0,1,1,0,1,0\n1,0,1,2,1,3,5,0,1,1,1,1,1,0\n1,0,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,12,1,2,1,3,0,1,1,1,2,1,0\n2,0,6,2,0,7,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,4,1,2,1,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,4,3,2,0,12,2,0,1,1,1,1,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n2,4,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,1,14,0,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,4,1,1,1,0,1,0\n0,5,1,2,5,9,1,0,1,1,1,1,1,0\n3,0,7,1,4,2,5,4,0,1,1,2,1,0\n2,1,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,4,0,1,1,1,2,1,0\n0,4,0,3,2,1,1,0,1,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,10,3,2,5,3,0,0,1,1,1,1,1\n2,0,0,3,1,4,5,0,0,1,1,2,1,0\n0,0,0,3,2,0,1,0,1,1,1,0,1,0\n1,0,6,2,0,0,0,0,0,1,1,2,1,1\n1,0,12,1,0,4,2,0,1,1,1,0,1,1\n0,0,5,2,1,8,5,0,0,1,1,0,1,0\n1,2,0,3,0,3,1,1,0,1,1,0,1,1\n1,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,4,1,0,0,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,5,0,0,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,3,2,3,3,5,4,0,1,1,2,1,0\n0,0,3,2,0,8,2,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,4,1,1,1,1,1,1\n0,0,1,2,5,5,3,0,1,1,1,0,1,0\n1,0,0,3,1,4,3,0,0,1,1,1,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,1,1,1,2,1,0\n1,3,3,2,0,4,2,0,1,1,1,0,1,1\n2,3,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n2,0,0,3,0,8,2,0,1,1,1,1,1,0\n0,4,0,3,0,12,2,0,1,1,1,0,1,0\n1,0,1,2,1,4,5,0,0,1,1,2,1,0\n0,0,5,2,2,5,3,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,5,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,1,2,1,1,3,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,1,1,1,1,0,1,1\n2,0,14,0,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,0,1,0,1,1,1,2,1,0\n0,0,3,2,0,7,0,2,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,6,2,2,2,1,0,0,1,1,2,1,0\n1,0,5,2,3,4,3,0,1,1,1,0,1,0\n1,0,9,1,1,10,3,0,0,1,1,0,1,0\n2,0,8,0,0,9,2,0,1,1,1,1,1,0\n0,0,6,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,0,3,0,4,2,1,1,1,1,0,1,1\n0,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,5,8,0,2,2,3,4,0,1,1,0,1,0\n0,1,3,2,0,2,0,0,0,1,1,2,1,0\n1,2,3,2,0,1,2,0,1,1,1,0,1,0\n2,4,3,2,1,2,3,0,0,1,1,2,1,0\n2,5,10,3,0,5,2,1,1,1,1,2,1,1\n2,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,0,3,2,2,3,5,4,0,1,1,2,1,0\n1,0,12,1,0,1,2,0,1,1,1,1,1,1\n0,5,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,0,3,2,1,4,5,0,0,1,1,0,1,0\n0,0,13,3,0,5,0,0,0,1,1,1,1,0\n2,0,1,2,0,4,0,0,0,1,1,1,1,0\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n1,5,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n3,2,2,1,2,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,2,5,3,0,1,1,1,0,1,0\n1,0,10,3,2,4,3,0,0,1,1,0,1,1\n1,0,3,2,1,3,3,0,0,1,1,2,1,0\n1,4,0,3,2,12,3,4,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,4,3,0,0,1,1,0,1,0\n0,0,10,3,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,5,5,2,1,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n2,4,1,2,1,8,3,4,0,1,1,2,1,0\n1,0,6,2,2,8,3,0,0,1,1,1,1,0\n2,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,4,3,2,2,12,3,4,1,1,1,0,1,0\n0,0,1,2,2,2,5,4,0,1,1,2,1,0\n1,0,1,2,1,4,3,0,0,1,1,1,1,0\n2,0,8,0,0,2,2,0,1,1,1,2,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n1,0,8,0,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n2,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,4,0,1,1,2,1,0\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n0,0,14,0,0,2,2,0,1,1,1,0,1,0\n1,4,3,2,0,0,0,0,0,1,1,0,1,1\n1,4,7,1,0,2,0,0,0,1,1,0,1,0\n1,0,3,2,1,6,3,0,1,1,1,0,1,0\n1,3,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,0,1,0,0,1,1,2,1,0\n0,0,3,2,1,3,5,0,0,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,2,6,1,0,0,1,1,0,1,0\n0,0,6,2,1,4,3,0,0,1,1,0,1,0\n2,1,10,3,2,3,3,0,1,1,1,2,1,0\n1,0,0,3,3,0,5,0,0,1,1,0,1,0\n1,0,1,2,3,5,1,0,0,1,1,0,1,0\n0,0,14,0,2,2,4,0,0,1,1,0,1,0\n1,1,3,2,0,4,2,1,1,1,1,2,1,0\n0,2,3,2,1,3,3,0,0,1,1,1,1,0\n1,1,6,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,5,0,0,1,1,2,1,0\n1,0,2,1,1,2,5,4,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,4,6,2,0,10,2,0,1,1,1,2,1,0\n0,4,1,2,2,2,1,4,0,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,4,0,3,1,5,5,0,0,1,1,1,1,0\n1,1,6,2,0,1,2,0,1,1,1,0,1,0\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,8,2,0,1,1,1,1,1,0\n0,5,0,3,2,8,3,0,1,1,1,1,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,2,1,4,2,5,4,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,2,1,0\n0,0,9,1,0,9,1,0,1,1,1,1,1,0\n0,0,2,1,2,6,1,0,1,1,1,0,1,0\n0,1,3,2,1,3,3,0,1,1,1,1,1,1\n1,1,1,2,0,2,0,0,0,1,1,1,1,0\n1,0,0,3,1,8,5,0,0,1,1,0,1,0\n0,0,6,2,2,2,3,1,0,1,1,0,1,0\n1,0,7,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,4,2,3,0,0,1,1,1,1,0\n2,1,12,1,0,5,2,0,1,1,1,2,1,1\n2,1,8,0,1,10,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,3,1,1,1,0,1,0\n0,0,3,2,1,1,5,0,1,1,1,2,1,0\n1,0,5,2,2,3,3,4,1,1,1,1,1,1\n0,1,3,2,2,3,4,1,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,5,2,1,8,5,0,0,1,1,0,1,0\n0,0,9,1,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,1,7,3,0,0,1,1,0,1,0\n2,4,3,2,4,10,3,4,0,1,1,0,1,0\n1,0,3,2,3,8,3,4,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,12,1,1,4,5,0,0,1,1,2,1,0\n0,0,1,2,2,0,1,0,0,1,1,0,1,0\n0,0,0,3,0,1,2,0,1,1,1,1,1,1\n1,1,5,2,0,7,2,0,1,1,1,0,1,1\n1,5,10,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,5,1,2,0,12,2,0,1,1,1,0,1,1\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n2,2,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,5,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,3,3,2,1,4,3,0,0,1,1,0,1,0\n0,0,2,1,5,2,5,0,0,1,1,2,1,0\n0,2,1,2,0,4,2,0,1,1,1,1,1,1\n3,0,4,3,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n2,5,1,2,0,5,2,4,1,1,1,2,1,1\n1,0,13,3,0,5,2,0,1,1,1,1,1,0\n1,0,10,3,0,3,2,0,1,1,1,0,1,1\n0,0,8,0,0,6,1,0,1,1,1,1,1,0\n2,3,9,1,0,8,2,0,1,1,1,0,1,0\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n1,4,0,3,0,8,2,0,1,1,1,1,1,1\n1,5,1,2,0,12,2,0,1,1,1,0,1,1\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,1,3,5,0,1,1,1,0,1,0\n1,0,3,2,1,4,5,0,0,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,5,0,3,2,5,1,0,0,1,1,2,1,0\n2,0,2,1,4,2,3,0,0,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,0,1,0,4,0,1,1,2,1,1\n1,0,10,3,5,12,3,1,1,1,1,0,1,0\n1,0,3,2,1,7,3,4,0,1,1,0,1,0\n1,0,0,3,1,3,5,0,1,1,1,0,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,1,1,2,0,3,2,0,1,1,1,1,1,1\n1,4,1,2,0,1,2,0,1,1,1,0,1,1\n2,0,1,2,5,8,3,0,1,1,1,0,1,0\n1,0,3,2,0,2,0,0,0,1,1,2,1,0\n3,1,3,2,0,9,2,0,1,1,1,0,1,0\n1,0,3,2,0,11,0,0,0,1,1,1,1,0\n0,3,0,3,0,5,2,1,1,1,1,0,1,0\n0,4,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,0,2,2,0,1,1,1,1,1,1\n0,0,12,1,2,9,3,4,1,1,1,0,1,0\n1,0,3,2,2,10,5,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,0,12,1,3,8,3,4,0,1,1,1,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,5,2,0,1,2,0,1,1,1,0,1,1\n3,0,7,1,4,2,5,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,1,1,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,1\n0,0,14,0,0,9,2,0,1,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,5,1,2,2,5,3,0,1,1,1,2,1,0\n0,0,9,1,2,8,1,0,0,1,1,2,1,0\n1,0,0,3,1,4,5,4,0,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,14,0,2,9,5,0,1,1,1,1,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,0\n0,0,11,0,2,7,3,0,1,1,1,2,1,0\n1,0,0,3,1,4,5,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,1,2,0,8,2,0,1,1,1,1,1,1\n2,0,6,2,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,1,4,3,0,1,1,1,1,1,1\n1,0,3,2,5,8,5,4,0,1,1,0,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n2,2,0,3,0,5,2,0,1,1,1,0,1,1\n0,1,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,1\n2,4,9,1,4,4,3,0,1,1,1,1,1,0\n0,0,12,1,2,1,1,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,1,3,2,2,9,1,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,1,0,1,1,2,1,0\n3,0,3,2,4,8,3,0,0,1,1,2,1,0\n0,0,6,2,0,0,2,0,1,1,1,0,1,0\n1,4,1,2,0,10,2,0,1,1,1,2,1,0\n0,1,3,2,0,10,2,0,1,1,1,1,1,0\n2,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n2,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,3,1,2,2,2,3,0,0,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,9,2,0,1,1,1,0,1,0\n2,5,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,5,0,1,1,1,2,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,0,4,0,0,0,1,1,2,1,1\n1,0,10,3,0,5,0,0,0,1,1,1,1,1\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,5,2,0,8,2,0,1,1,1,0,1,0\n1,0,10,3,1,5,5,0,0,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,1,3,5,4,0,1,1,2,1,1\n0,0,5,2,0,10,2,0,1,1,1,0,1,0\n1,0,1,2,0,9,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,1,0,0,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n2,5,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,1\n2,0,0,3,0,1,2,4,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,1,1,0\n0,0,5,2,2,5,1,0,0,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,4,10,3,0,5,2,0,1,1,1,1,1,0\n0,1,5,2,0,2,0,0,0,1,1,2,1,1\n2,0,6,2,1,2,3,0,1,1,1,0,1,0\n1,0,3,2,0,5,0,0,0,1,1,2,1,0\n0,4,0,3,2,5,3,4,0,1,1,1,1,0\n1,0,12,1,0,7,2,4,1,1,1,0,1,1\n2,1,10,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,3,2,5,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n2,3,1,2,0,8,2,0,1,1,1,0,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,3,0,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,3,2,1,1,5,0,0,1,1,1,1,0\n1,0,3,2,3,6,5,0,0,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,5,10,3,2,5,5,1,0,1,1,2,1,0\n0,0,1,2,2,5,3,0,1,1,1,0,1,1\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,2,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,2,1,2,0,1,0,0,1,1,2,1,0\n0,0,1,2,2,10,3,0,1,1,1,0,1,0\n0,0,1,2,2,5,3,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n2,5,8,0,4,2,4,0,0,1,1,2,1,0\n1,1,1,2,0,0,2,0,1,1,1,1,1,1\n0,0,12,1,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n1,0,4,3,2,5,3,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,6,2,0,8,0,0,0,1,1,2,1,0\n1,4,5,2,1,4,3,0,1,1,1,1,1,1\n1,4,3,2,0,1,2,0,1,1,1,0,1,1\n3,0,10,3,2,8,3,0,0,1,1,0,1,0\n1,0,6,2,0,5,0,0,0,1,1,1,1,1\n1,1,2,1,0,6,2,0,1,1,1,1,1,0\n1,0,1,2,5,4,5,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,1,6,2,0,9,2,0,1,1,1,1,1,0\n0,4,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n2,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,2,1,1\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n0,0,5,2,0,0,2,0,1,1,1,1,1,1\n0,0,12,1,2,1,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n2,0,1,2,1,5,5,0,1,1,1,0,1,0\n2,5,3,2,0,9,2,0,1,1,1,0,1,0\n3,1,3,2,2,4,3,0,1,1,1,2,1,0\n1,0,1,2,1,3,3,0,0,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,8,0,5,7,5,3,0,1,1,0,1,0\n1,1,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,5,2,0,8,0,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n2,0,3,2,0,2,2,0,1,1,1,2,1,0\n0,1,0,3,3,1,3,0,1,1,1,1,1,0\n0,0,0,3,2,5,1,1,1,1,1,0,1,0\n1,0,1,2,1,7,3,0,0,1,1,2,1,0\n0,0,12,1,2,3,3,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,2,5,2,0,3,2,0,1,1,1,0,1,1\n2,0,3,2,0,2,0,4,0,1,1,0,1,0\n0,0,1,2,0,5,0,0,0,1,1,0,1,1\n2,0,12,1,0,10,2,0,1,1,1,1,1,1\n1,2,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,1,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,4,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,1,8,3,1,0,1,1,1,1,0\n1,4,3,2,0,7,2,0,1,1,1,2,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,4,0,3,1,10,3,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,2,1,1,1,1,1,0\n0,0,3,2,1,8,1,0,0,1,1,0,1,0\n1,0,1,2,2,8,3,4,0,1,1,0,1,0\n2,1,3,2,4,2,3,0,0,1,1,2,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,4,1,0,1,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,1,2,1,4,5,0,0,1,1,2,1,0\n2,1,3,2,0,9,2,0,1,1,1,0,1,0\n0,2,5,2,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,5,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,3,3,0,1,1,1,0,1,0\n0,0,9,1,2,8,5,0,1,1,1,0,1,0\n0,0,8,0,2,1,3,0,1,1,1,0,1,0\n1,0,6,2,0,5,2,0,1,1,1,0,1,1\n0,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,6,3,1,0,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,1,4,3,0,1,1,1,1,1,1\n0,0,2,1,2,10,4,0,1,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n2,0,5,2,4,4,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,9,1,0,1,2,0,1,1,1,1,1,0\n0,0,2,1,2,6,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,4,3,2,0,12,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,4,2,4,1,1,1,0,1,1\n1,0,1,2,1,8,3,4,0,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,1,8,3,0,1,1,1,0,1,0\n0,0,1,2,2,9,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,4,3,0,0,1,1,1,1,0\n1,0,1,2,0,2,0,0,0,1,1,0,1,0\n1,1,13,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,0,3,0,8,0,0,0,1,1,1,1,1\n0,0,2,1,2,6,1,0,1,1,1,1,1,0\n2,3,4,3,0,4,2,0,1,1,1,0,1,1\n1,4,8,0,0,10,2,0,1,1,1,0,1,0\n2,0,1,2,4,1,5,0,0,1,1,2,1,0\n1,1,10,3,0,4,2,0,1,1,1,1,1,0\n2,1,0,3,0,4,2,0,1,1,1,0,1,1\n1,5,5,2,0,12,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,2,4,3,2,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,3,0,1,1,2,1,0\n1,0,3,2,2,3,3,0,1,1,1,0,1,0\n2,0,13,3,1,5,5,0,1,1,1,1,1,1\n1,0,2,1,0,6,2,0,1,1,1,1,1,1\n0,1,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,5,8,1,0,0,1,1,0,1,0\n0,0,12,1,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,3,1,3,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,13,3,0,5,2,1,1,1,1,0,1,1\n0,0,1,2,1,1,3,0,1,1,1,1,1,0\n0,0,6,2,2,7,3,0,1,1,1,2,1,0\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n1,2,10,3,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,0,0,3,0,10,2,0,1,1,1,0,1,1\n0,0,1,2,2,6,1,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n2,1,0,3,1,5,3,0,0,1,1,0,1,0\n1,5,0,3,0,8,2,0,1,1,1,1,1,1\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n3,0,3,2,4,8,3,0,0,1,1,2,1,0\n0,0,6,2,0,2,2,0,1,1,1,1,1,0\n0,2,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,15,0,0,1,2,1,1,1,1,0,1,0\n1,5,1,2,3,5,5,4,0,1,1,2,1,0\n0,0,1,2,0,0,2,0,1,1,1,1,1,0\n1,3,0,3,0,5,2,1,1,1,1,0,1,0\n0,4,0,3,2,5,1,0,0,1,1,2,1,0\n1,1,10,3,0,3,2,0,1,1,1,1,1,1\n0,1,3,2,1,9,3,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,0,6,2,0,5,2,0,1,1,1,1,1,0\n1,0,0,3,4,1,5,4,0,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,2,1,2,6,1,0,1,1,1,0,1,0\n2,2,10,3,0,3,2,0,1,1,1,0,1,0\n2,1,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,0,3,2,2,3,0,1,1,1,2,1,0\n1,0,0,3,0,0,2,0,1,1,1,1,1,1\n1,0,1,2,1,2,5,4,0,1,1,0,1,0\n1,0,3,2,1,4,3,0,0,1,1,0,1,0\n2,0,10,3,4,4,3,0,0,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,4,3,2,0,12,2,0,1,1,1,1,1,1\n0,5,3,2,2,2,3,1,1,1,1,0,1,0\n1,0,4,3,2,5,3,0,0,1,1,2,1,1\n1,0,1,2,2,8,3,0,1,1,1,0,1,0\n2,0,0,3,4,4,3,0,0,1,1,2,1,0\n1,0,3,2,0,2,0,0,0,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,4,6,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,4,1,1,1,0,1,0\n3,0,1,2,4,5,3,0,0,1,1,2,1,0\n1,5,6,2,2,5,5,4,0,1,1,0,1,0\n0,0,2,1,2,2,1,4,1,1,1,2,1,0\n2,3,3,2,0,10,2,0,1,1,1,1,1,0\n0,5,10,3,2,10,1,0,1,1,1,2,1,0\n0,0,3,2,3,12,4,0,1,1,1,0,1,0\n1,0,12,1,0,7,2,0,1,1,1,0,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,0\n1,1,4,3,0,5,0,0,0,1,1,0,1,1\n1,0,1,2,2,1,3,0,0,1,1,0,1,0\n2,0,3,2,1,4,5,0,0,1,1,0,1,0\n1,4,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,5,2,2,3,3,0,1,1,1,1,1,0\n1,0,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,5,2,2,2,3,0,1,1,1,0,1,0\n1,5,3,2,1,8,5,0,0,1,1,0,1,0\n1,1,13,3,0,5,2,0,1,1,1,0,1,1\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,5,0,0,1,1,2,1,0\n0,0,3,2,0,2,2,4,1,1,1,2,1,0\n1,0,6,2,0,0,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,2,1,0,9,2,0,1,1,1,0,1,0\n2,0,8,0,1,0,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,4,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,4,0,3,0,5,0,0,0,1,1,1,1,0\n2,4,3,2,4,8,3,0,0,1,1,2,1,0\n2,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n1,4,3,2,1,1,5,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,6,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,0,0,0,1,1,1,1,0\n2,0,7,1,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,1,1,1,1,1,0\n0,0,3,2,0,6,2,2,1,1,1,2,1,0\n2,4,7,1,1,2,3,0,0,1,1,0,1,0\n1,5,3,2,1,8,5,0,0,1,1,2,1,0\n2,0,8,0,0,1,2,0,1,1,1,2,1,0\n1,0,1,2,3,4,3,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,4,1,1,1,0,1,0\n0,0,12,1,2,10,5,0,1,1,1,2,1,0\n2,1,13,3,0,5,2,0,1,1,1,0,1,1\n2,1,7,1,0,9,2,0,1,1,1,2,1,1\n0,0,1,2,0,9,2,0,1,1,1,1,1,1\n0,0,5,2,2,2,1,0,0,1,1,0,1,0\n2,1,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,4,10,3,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n2,5,0,3,0,4,2,0,1,1,1,1,1,1\n3,2,8,0,0,9,2,0,1,1,1,1,1,0\n0,5,13,3,0,5,0,0,0,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,1,2,1,0,0,1,1,0,1,0\n2,1,3,2,0,4,2,0,1,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,12,1,0,2,2,4,1,1,1,0,1,0\n0,0,1,2,2,6,3,4,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n1,5,1,2,1,8,3,4,1,1,1,1,1,1\n3,3,1,2,4,0,3,0,0,1,1,2,1,0\n2,1,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,3,8,1,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,0,3,1,2,3,1,1,1,1,1,1,1\n2,0,14,0,5,2,5,4,0,1,1,2,1,0\n0,0,5,2,3,4,5,0,0,1,1,1,1,1\n2,0,3,2,4,3,3,0,0,1,1,0,1,0\n1,5,6,2,0,5,2,0,1,1,1,2,1,1\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n2,1,8,0,0,9,2,0,1,1,1,1,1,0\n0,2,0,3,2,3,3,0,0,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,5,2,1,3,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,2,8,4,4,0,1,1,0,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,1,3,2,0,4,0,0,0,1,1,0,1,0\n1,0,1,2,2,10,5,4,0,1,1,0,1,0\n0,5,3,2,2,2,4,3,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,4,8,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,5,13,3,0,4,2,0,1,1,1,1,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,1,3,4,1,1,1,1,1,1\n0,0,5,2,0,5,0,0,0,1,1,0,1,0\n1,0,1,2,3,1,3,0,1,1,1,1,1,1\n1,4,1,2,1,12,3,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n0,4,0,3,2,5,3,2,0,1,1,1,1,0\n1,1,6,2,0,4,0,0,0,1,1,2,1,1\n1,0,8,0,2,2,1,0,0,1,1,2,1,0\n2,5,4,3,0,5,2,0,1,1,1,0,1,1\n1,1,0,3,0,4,2,1,1,1,1,1,1,1\n0,0,7,1,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,1,2,3,0,1,1,1,2,1,0\n1,0,1,2,1,4,5,4,1,1,1,1,1,0\n0,0,1,2,0,5,0,0,0,1,1,0,1,1\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n2,0,12,1,0,7,2,0,1,1,1,0,1,0\n2,4,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,4,1,1,1,2,1,0\n1,0,3,2,3,2,3,0,0,1,1,0,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,0\n2,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,1,8,1,0,1,1,1,0,1,0\n0,0,6,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,3,3,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,5,2,1,1,3,0,0,1,1,1,1,0\n1,0,5,2,2,3,1,0,1,1,1,0,1,0\n0,3,3,2,2,4,3,4,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,10,3,2,5,3,0,1,1,1,0,1,0\n2,0,5,2,1,0,3,0,0,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,1,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,2,1,3,2,5,0,0,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,5,2,3,3,3,4,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,1,1,0,1,1,1,0,1,1\n0,0,5,2,0,5,2,0,1,1,1,1,1,1\n0,4,1,2,0,12,2,0,1,1,1,1,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,1\n0,4,0,3,1,5,3,0,0,1,1,0,1,0\n1,0,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,8,0,2,6,1,0,1,1,1,2,1,0\n2,0,1,2,0,10,2,4,1,1,1,2,1,0\n2,0,12,1,0,7,2,0,1,1,1,1,1,0\n2,0,3,2,3,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,6,3,0,1,1,1,2,1,0\n0,0,10,3,2,8,1,0,1,1,1,1,1,0\n0,0,3,2,2,10,1,0,1,1,1,2,1,0\n0,0,0,3,2,5,3,2,0,1,1,0,1,1\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n1,1,1,2,0,3,2,1,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,1,1,3,4,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n2,0,1,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,3,6,3,4,1,1,1,2,1,0\n1,0,1,2,1,8,1,0,0,1,1,0,1,0\n1,5,1,2,1,8,5,0,0,1,1,1,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n3,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,4,2,1,2,2,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,3,0,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,1,4,3,0,3,2,0,1,1,1,1,1,1\n0,4,6,2,1,12,5,2,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n0,0,5,2,2,0,1,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,2,4,1,1,0,1,1,2,1,0\n3,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,2,2,5,4,0,1,1,2,1,0\n1,0,3,2,1,2,3,4,0,1,1,2,1,0\n2,0,12,1,4,3,3,0,0,1,1,0,1,0\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,4,0,1,1,1,0,1,0\n2,5,13,3,2,4,3,0,0,1,1,0,1,1\n1,4,3,2,0,2,2,4,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,2,8,4,4,1,1,1,2,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,0,12,1,2,7,3,4,1,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,2,1,0\n2,0,11,0,3,9,3,4,1,1,1,1,1,0\n2,5,5,2,1,8,1,1,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,7,3,0,0,1,1,0,1,0\n1,0,3,2,0,5,0,4,0,1,1,0,1,0\n2,4,3,2,0,8,0,0,0,1,1,2,1,1\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n1,0,1,2,2,4,1,0,0,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n1,3,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,13,3,2,5,3,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,1,2,3,2,5,0,0,1,1,1,1,0\n0,0,3,2,1,2,5,0,0,1,1,0,1,0\n2,0,3,2,2,8,5,0,0,1,1,0,1,0\n1,4,3,2,1,0,5,0,1,1,1,2,1,1\n0,1,0,3,2,4,3,0,1,1,1,2,1,1\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,10,3,0,8,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,1,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,2,4,3,0,0,1,1,0,1,0\n2,3,1,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,5,0,0,1,1,0,1,0\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,1,0,3,0,5,0,0,0,1,1,1,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,5,2,3,1,3,3,0,1,1,0,1,0\n2,1,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,8,0,1,7,3,0,1,1,1,0,1,0\n0,0,10,3,2,4,3,0,0,1,1,0,1,0\n0,5,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,2,1,2,8,5,0,0,1,1,1,1,0\n0,0,3,2,3,3,5,0,0,1,1,2,1,0\n1,0,3,2,2,3,5,4,0,1,1,0,1,0\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,6,2,2,4,1,0,1,1,1,0,1,0\n1,0,7,1,4,8,5,0,0,1,1,0,1,0\n1,4,1,2,1,2,5,4,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,3,3,2,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n2,0,8,0,4,9,3,4,1,1,1,0,1,0\n0,0,3,2,1,1,5,0,1,1,1,0,1,0\n0,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,1,2,3,1,3,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,1,4,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,2,10,3,1,4,3,1,1,1,1,1,1,1\n2,1,7,1,0,9,2,0,1,1,1,2,1,0\n0,3,1,2,2,8,5,4,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,0,3,2,0,3,0,1,1,1,1,1,0\n2,0,3,2,0,2,2,4,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,2,1,0,2,0,0,0,1,1,0,1,0\n0,0,0,3,2,0,3,0,0,1,1,1,1,0\n1,0,6,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n2,0,7,1,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n1,0,1,2,3,1,3,0,1,1,1,0,1,0\n1,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,7,1,0,8,2,0,1,1,1,0,1,0\n2,5,4,3,0,5,2,0,1,1,1,0,1,1\n2,1,10,3,0,4,2,4,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,0,3,2,4,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,1,4,3,0,4,2,0,1,1,1,1,1,1\n2,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,2,1,0,8,0,0,0,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,4,3,1,5,3,0,1,1,1,1,1,1\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,1,2,1,5,5,0,0,1,1,2,1,0\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n1,0,0,3,2,7,3,0,0,1,1,2,1,0\n1,0,6,2,1,5,3,0,0,1,1,0,1,0\n0,0,0,3,2,9,3,0,1,1,1,0,1,0\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,0,1,1\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,7,1,1,3,3,0,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,3,6,5,0,0,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,4,1,2,0,5,2,0,1,1,1,0,1,1\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,1,3,5,0,0,1,1,1,1,0\n0,0,0,3,2,12,3,4,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,3,2,3,2,3,4,1,1,1,0,1,0\n1,0,0,3,1,5,3,0,1,1,1,1,1,1\n0,0,2,1,0,4,2,0,1,1,1,1,1,0\n0,4,0,3,2,5,3,4,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,5,2,1,5,3,0,0,1,1,1,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,5,5,2,1,5,5,0,0,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,4,12,1,4,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n0,5,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,4,2,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,12,1,1,8,5,0,0,1,1,1,1,0\n1,0,15,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n3,0,0,3,4,3,3,0,1,1,1,1,1,1\n1,0,6,2,0,5,2,0,1,1,1,0,1,0\n0,0,0,3,2,0,1,0,0,1,1,2,1,0\n0,0,1,2,2,0,1,0,0,1,1,2,1,0\n1,0,3,2,2,3,3,0,0,1,1,1,1,0\n1,5,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,0,0,3,1,5,3,0,1,1,1,1,1,1\n2,0,1,2,1,4,3,0,0,1,1,0,1,0\n0,0,3,2,0,4,0,0,0,1,1,0,1,1\n0,0,0,3,3,4,3,0,0,1,1,2,1,0\n0,4,10,3,0,5,0,0,0,1,1,0,1,1\n0,0,0,3,2,2,3,0,1,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,1,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,2,7,5,0,0,1,1,0,1,0\n0,0,1,2,2,2,4,0,0,1,1,2,1,0\n0,5,12,1,2,2,1,4,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,12,1,2,2,1,4,1,1,1,2,1,0\n1,0,3,2,1,3,5,0,0,1,1,2,1,0\n0,0,1,2,3,8,5,0,0,1,1,2,1,0\n0,5,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,0,3,2,4,3,0,0,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,0,8,0,2,1,3,0,1,1,1,2,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n2,6,5,2,0,9,2,0,1,1,1,1,1,0\n1,4,0,3,0,12,2,0,1,1,1,0,1,1\n0,0,6,2,2,0,3,0,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,2,0,3,0,5,2,0,1,1,1,0,1,1\n2,3,1,2,0,8,2,0,1,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,1,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,0,0,3,2,4,3,0,1,1,1,1,1,1\n1,0,2,1,0,8,0,0,0,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,2,1,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,0,4,0,0,0,1,1,1,1,1\n1,0,6,2,2,4,1,0,0,1,1,0,1,0\n0,0,3,2,2,9,3,0,1,1,1,1,1,0\n1,4,1,2,0,12,2,0,1,1,1,1,1,0\n2,1,1,2,0,3,0,0,0,1,1,2,1,1\n1,0,1,2,1,8,5,4,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,4,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,0,9,2,0,1,1,1,1,1,0\n1,0,2,1,5,2,4,0,1,1,1,0,1,0\n1,2,3,2,0,9,2,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,5,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,0,2,2,0,1,1,1,1,1,0\n0,3,1,2,2,6,5,0,0,1,1,0,1,0\n2,1,3,2,1,2,3,0,1,1,1,1,1,0\n1,0,0,3,0,1,2,1,1,1,1,0,1,0\n1,4,0,3,0,0,2,0,1,1,1,1,1,1\n1,5,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,1,2,1,0,0,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,6,2,0,0,2,1,1,1,1,0,1,0\n0,0,3,2,1,8,3,4,1,1,1,1,1,0\n0,0,1,2,2,4,1,3,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,0,9,1,2,7,1,0,1,1,1,0,1,0\n2,0,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n0,0,1,2,1,8,3,0,0,1,1,1,1,0\n1,0,13,3,3,5,5,0,0,1,1,0,1,0\n2,0,9,1,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n0,0,1,2,1,3,3,0,1,1,1,1,1,0\n1,1,1,2,2,2,5,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,1,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,1,3,4,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,2,1,0\n1,4,10,3,0,5,0,0,0,1,1,1,1,1\n0,2,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n1,4,1,2,1,8,5,0,0,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,1\n0,0,3,2,0,5,0,0,0,1,1,2,1,0\n0,5,13,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,1,4,3,1,5,3,0,1,1,1,1,1,1\n0,0,3,2,3,1,3,4,1,1,1,0,1,0\n1,2,5,2,4,4,3,0,0,1,1,1,1,0\n0,5,10,3,0,5,0,0,0,1,1,1,1,1\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n0,0,4,3,0,5,2,0,1,1,1,2,1,1\n1,3,5,2,0,5,0,4,0,1,1,0,1,0\n2,1,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,5,0,0,1,1,0,1,0\n1,3,1,2,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,4,4,5,0,0,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,4,3,2,0,8,0,0,0,1,1,0,1,1\n3,1,1,2,0,1,2,0,1,1,1,2,1,0\n1,0,6,2,0,10,2,2,1,1,1,1,1,0\n0,0,1,2,3,5,5,0,0,1,1,2,1,0\n0,0,7,1,2,6,1,1,1,1,1,0,1,0\n1,0,7,1,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,15,0,0,7,2,0,1,1,1,0,1,0\n1,1,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,5,3,2,0,12,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,1,2,3,0,1,1,1,1,1,0\n1,0,6,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,1,0,3,0,1,2,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,5,4,0,1,1,0,1,0\n1,1,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,3,2,1,3,5,0,0,1,1,2,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,9,1,2,9,1,0,0,1,1,2,1,0\n0,2,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,3,2,1,8,5,0,0,1,1,1,1,0\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,1,0,3,2,3,3,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,2,10,1,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,4,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,3,3,5,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n2,0,3,2,0,6,2,0,1,1,1,2,1,0\n2,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,1,1,2,0,1,2,0,1,1,1,1,1,1\n0,5,3,2,0,10,2,0,1,1,1,1,1,1\n1,1,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,3,12,3,4,1,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,0,1,0,0,1,1,2,1,0\n0,0,1,2,3,3,5,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,2,7,5,0,1,1,1,0,1,0\n1,0,1,2,2,2,5,4,0,1,1,0,1,0\n0,1,1,2,2,9,1,0,1,1,1,0,1,0\n0,0,8,0,2,1,3,0,1,1,1,0,1,0\n2,3,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,1,3,3,0,0,1,1,0,1,0\n0,5,3,2,2,10,1,0,1,1,1,0,1,0\n2,1,8,0,0,10,2,0,1,1,1,0,1,0\n2,0,0,3,4,3,5,0,0,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,0\n2,0,3,2,4,3,3,0,0,1,1,2,1,0\n0,0,3,2,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,0,3,1,2,3,0,0,1,1,2,1,0\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n2,2,13,3,0,5,2,0,1,1,1,2,1,1\n0,0,3,2,2,1,3,4,1,1,1,0,1,0\n1,0,1,2,2,2,3,0,0,1,1,0,1,0\n1,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,1,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,1,8,5,0,1,1,1,0,1,0\n2,0,3,2,1,2,3,4,0,1,1,0,1,0\n1,1,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,12,1,1,5,5,0,1,1,1,1,1,1\n0,4,0,3,2,5,1,4,0,1,1,1,1,0\n0,0,2,1,2,2,3,4,0,1,1,0,1,0\n0,1,2,1,2,3,1,0,0,1,1,0,1,0\n1,0,0,3,1,5,3,0,0,1,1,1,1,0\n1,0,3,2,1,1,3,0,1,1,1,2,1,0\n2,0,0,3,2,5,3,0,0,1,1,1,1,0\n1,0,5,2,1,4,5,4,0,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n3,1,1,2,0,5,2,0,1,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n2,0,3,2,4,1,5,4,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n0,0,3,2,0,8,0,4,0,1,1,0,1,0\n1,0,8,0,0,9,2,0,1,1,1,2,1,0\n1,0,3,2,2,2,3,0,1,1,1,0,1,0\n1,4,5,2,0,8,0,0,0,1,1,2,1,0\n1,1,1,2,0,4,2,0,1,1,1,1,1,1\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,2,0,3,2,5,1,0,1,1,1,0,1,0\n0,2,0,3,2,8,3,0,0,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,7,1,0,10,4,0,1,1,1,0,1,0\n1,0,0,3,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,2,0,1,4,0,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,0,1,2,0,8,4,0,0,1,1,2,1,1\n0,0,3,2,2,3,1,0,1,1,1,1,1,0\n0,4,1,2,0,2,2,0,1,1,1,0,1,0\n1,4,6,2,1,0,5,1,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,0,3,0,0,1,1,0,1,0\n0,0,6,2,2,5,5,0,0,1,1,0,1,0\n1,4,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,0,4,0,0,1,1,0,1,0\n1,5,13,3,1,5,3,0,0,1,1,0,1,1\n0,4,1,2,2,12,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,5,2,2,7,1,0,1,1,1,2,1,0\n0,0,1,2,2,12,3,0,1,1,1,1,1,0\n0,0,5,2,0,5,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,2,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,3,2,1,6,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,9,1,0,0,1,1,0,1,0\n2,0,8,0,4,2,3,0,0,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n3,1,4,3,0,5,2,0,1,1,1,2,1,1\n0,1,0,3,1,4,3,0,1,1,1,2,1,0\n1,3,1,2,2,8,1,0,1,1,1,0,1,0\n1,0,4,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,6,3,0,1,1,1,0,1,0\n0,4,3,2,2,2,5,4,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,2,1,0\n1,0,3,2,2,11,5,4,0,1,1,2,1,0\n1,0,1,2,2,4,3,4,0,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,7,1,2,7,4,0,1,1,1,2,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,9,1,5,5,3,0,1,1,1,0,1,0\n2,0,1,2,4,8,5,0,0,1,1,2,1,1\n0,5,1,2,2,1,1,0,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,5,2,1,2,3,0,1,1,1,1,1,0\n1,0,4,3,1,9,5,0,1,1,1,1,1,0\n1,1,3,2,2,9,3,0,1,1,1,1,1,0\n0,0,3,2,2,4,3,0,0,1,1,1,1,0\n0,4,0,3,2,10,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,3,3,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n2,1,0,3,0,3,2,0,1,1,1,1,1,1\n1,5,6,2,5,12,1,0,0,1,1,0,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n0,5,0,3,0,12,2,0,1,1,1,1,1,0\n2,0,3,2,0,3,0,0,0,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,1,4,5,0,0,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,4,5,2,1,5,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,1,0,3,1,4,5,0,1,1,1,1,1,0\n1,2,1,2,0,1,2,0,1,1,1,2,1,0\n2,0,5,2,1,4,5,0,0,1,1,1,1,1\n1,0,0,3,2,5,1,0,0,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,2,1,0\n0,0,7,1,2,7,3,0,1,1,1,1,1,0\n1,4,0,3,0,12,2,0,1,1,1,0,1,1\n1,0,1,2,2,8,5,4,0,1,1,0,1,0\n0,1,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,7,1,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,2,1,5,0,0,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n2,0,7,1,4,4,3,4,1,1,1,1,1,0\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,0,0,0,1,1,0,1,1\n1,4,0,3,0,5,2,0,1,1,1,2,1,0\n0,0,3,2,2,7,5,4,0,1,1,0,1,0\n2,4,1,2,5,8,5,4,0,1,1,2,1,0\n2,0,3,2,4,5,3,0,0,1,1,2,1,0\n0,0,3,2,3,8,5,0,1,1,1,0,1,0\n2,0,1,2,1,2,5,4,0,1,1,0,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,0\n1,0,6,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,3,2,5,4,0,1,1,0,1,0\n0,3,3,2,2,7,5,0,0,1,1,0,1,0\n1,0,1,2,0,3,0,0,0,1,1,1,1,1\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,1,2,5,0,0,1,1,0,1,0\n1,4,7,1,0,4,2,0,1,1,1,0,1,0\n2,0,3,2,4,2,3,0,0,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,1\n2,5,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n1,3,5,2,2,4,3,0,1,1,1,0,1,0\n0,0,1,2,0,8,2,4,1,1,1,1,1,0\n0,0,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,0,7,2,4,1,1,1,0,1,1\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n2,2,2,1,0,4,2,0,1,1,1,2,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,9,1,0,1,1,1,0,1,0\n0,0,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,0,3,0,7,2,0,1,1,1,0,1,1\n1,0,1,2,1,5,5,0,0,1,1,2,1,0\n1,3,3,2,1,8,3,0,1,1,1,1,1,0\n1,1,0,3,0,4,2,1,1,1,1,2,1,1\n1,3,3,2,5,8,5,0,0,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n2,0,12,1,0,10,2,4,1,1,1,1,1,0\n2,0,3,2,2,8,3,0,0,1,1,2,1,0\n1,0,1,2,1,8,3,0,1,1,1,1,1,0\n1,0,3,2,3,3,3,0,0,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,2,1,0\n0,0,7,1,2,9,4,0,1,1,1,2,1,0\n0,0,8,0,3,7,1,0,1,1,1,0,1,0\n0,1,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,2,1,2,8,1,0,1,1,1,2,1,0\n0,0,0,3,2,8,1,0,1,1,1,0,1,0\n0,0,6,2,0,8,2,0,1,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,4,1,2,0,12,2,4,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,1\n2,0,10,3,1,4,5,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,4,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,1,1,0\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n1,0,5,2,2,1,3,0,1,1,1,0,1,0\n1,0,7,1,4,3,5,4,0,1,1,2,1,0\n0,0,1,2,3,3,1,2,1,1,1,1,1,0\n2,0,1,2,0,12,2,0,1,1,1,0,1,1\n0,0,3,2,2,4,3,0,1,1,1,0,1,0\n1,0,11,0,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,1,1,5,0,1,1,1,0,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,4,5,5,4,0,1,1,0,1,0\n2,0,7,1,0,3,2,4,1,1,1,1,1,1\n0,0,2,1,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,1,2,1,3,3,0,0,1,1,1,1,0\n1,2,0,3,0,3,4,1,1,1,1,1,1,0\n0,0,1,2,2,3,4,0,1,1,1,2,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,8,0,0,0,1,1,0,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n2,5,1,2,1,1,3,0,0,1,1,0,1,0\n1,0,5,2,0,0,2,1,1,1,1,0,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n2,0,1,2,1,10,3,0,1,1,1,1,1,0\n0,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,12,1,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,9,1,0,1,1,1,0,1,0\n0,0,3,2,1,1,1,0,0,1,1,1,1,0\n0,0,0,3,0,5,0,0,0,1,1,2,1,0\n1,0,2,1,1,3,5,0,0,1,1,1,1,0\n0,0,1,2,2,5,1,0,1,1,1,0,1,0\n1,0,12,1,5,2,3,1,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,7,1,0,10,2,0,1,1,1,0,1,0\n1,0,6,2,1,7,5,0,1,1,1,0,1,0\n1,0,1,2,2,7,4,1,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,7,1,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,0,4,0,0,0,1,1,0,1,0\n1,0,1,2,1,2,5,4,0,1,1,2,1,0\n0,0,1,2,1,3,5,2,0,1,1,0,1,0\n2,0,1,2,1,8,3,0,0,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,6,0,0,0,1,1,0,1,0\n0,0,2,1,2,1,1,0,1,1,1,2,1,0\n1,0,0,3,2,3,3,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,3,0,1,1,1,2,1,0\n2,0,8,0,0,7,2,0,1,1,1,0,1,0\n2,0,10,3,0,0,2,0,1,1,1,0,1,0\n1,0,5,2,0,3,2,0,1,1,1,0,1,0\n0,0,7,1,0,1,2,3,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,2,1,1,1,0,1,0\n0,0,7,1,2,4,4,0,0,1,1,0,1,0\n0,0,1,2,2,9,4,4,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,1,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,4,2,5,0,0,1,1,2,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,0\n1,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,3,2,5,0,0,1,1,2,1,0\n1,0,3,2,1,5,5,2,0,1,1,0,1,0\n0,0,5,2,0,8,0,4,0,1,1,2,1,0\n1,0,5,2,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n1,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,5,3,3,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,4,6,2,2,12,3,0,1,1,1,1,1,1\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,2,1,0\n1,2,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,4,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,6,2,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n2,3,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,3,1,5,2,0,1,1,0,1,0\n2,0,3,2,4,8,5,0,0,1,1,2,1,0\n1,3,3,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,1,5,5,0,0,1,1,0,1,0\n1,0,7,1,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,3,0,5,0,0,1,1,1,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n3,0,12,1,1,2,3,0,0,1,1,2,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,6,2,1,3,3,0,1,1,1,0,1,0\n0,1,3,2,1,1,3,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,2,3,3,0,1,1,1,1,1,0\n0,1,12,1,0,1,2,0,1,1,1,2,1,1\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,1,1,3,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,3,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,5,2,0,12,2,4,1,1,1,1,1,0\n0,0,3,2,2,4,1,0,1,1,1,1,1,0\n1,4,10,3,1,4,3,0,0,1,1,1,1,0\n0,5,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,6,3,4,1,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,4,0,1,1,2,1,0\n2,4,0,3,1,4,3,0,1,1,1,0,1,0\n2,4,10,3,1,5,3,0,0,1,1,0,1,0\n1,0,15,0,3,2,5,0,0,1,1,0,1,0\n1,2,1,2,1,3,5,1,1,1,1,1,1,0\n1,0,9,1,0,10,2,0,1,1,1,0,1,0\n1,4,5,2,2,10,3,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,4,3,2,0,7,2,0,1,1,1,0,1,0\n1,5,3,2,0,5,2,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,1,4,5,0,0,1,1,1,1,0\n1,0,3,2,0,5,2,0,1,1,1,0,1,1\n1,0,12,1,3,2,1,4,0,1,1,2,1,0\n0,0,15,0,2,2,1,0,0,1,1,2,1,0\n0,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,4,3,2,2,5,1,4,0,1,1,0,1,0\n0,0,1,2,3,6,3,4,1,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n2,5,0,3,0,8,2,1,1,1,1,0,1,0\n1,2,6,2,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,10,3,2,4,3,0,0,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,5,1,2,0,8,0,4,0,1,1,0,1,0\n2,5,3,2,4,8,5,2,0,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,6,10,2,0,1,1,1,1,1,0\n1,1,7,1,1,2,3,0,0,1,1,2,1,0\n1,4,0,3,1,5,5,0,0,1,1,2,1,0\n0,0,1,2,2,4,3,4,0,1,1,0,1,0\n1,0,13,3,0,5,0,0,0,1,1,2,1,1\n0,0,1,2,1,6,3,0,1,1,1,2,1,0\n1,0,0,3,1,3,3,4,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n1,0,6,2,0,0,2,0,1,1,1,2,1,1\n0,5,3,2,2,12,4,1,1,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,4,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,7,1,1,6,3,0,1,1,1,1,1,0\n1,0,8,0,0,2,2,0,1,1,1,1,1,0\n1,0,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,5,2,0,1,1,1,0,1,0\n0,0,8,0,2,9,3,0,1,1,1,0,1,1\n0,0,10,3,2,4,3,0,1,1,1,0,1,1\n1,1,1,2,0,5,0,0,0,1,1,0,1,1\n0,4,4,3,0,5,2,0,1,1,1,0,1,0\n0,0,9,1,2,5,3,1,0,1,1,2,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n1,1,0,3,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n2,0,3,2,1,1,5,4,1,1,1,1,1,1\n0,0,8,0,3,10,3,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n3,0,3,2,0,3,2,0,1,1,1,2,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,5,2,2,0,3,0,1,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,0,3,0,2,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,1,2,2,2,3,0,1,1,1,0,1,0\n0,0,12,1,0,1,2,0,1,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,0,1,1\n2,0,1,2,1,2,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,2,3,2,0,4,2,0,1,1,1,1,1,0\n0,4,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,5,2,2,3,3,0,0,1,1,0,1,0\n1,0,13,3,2,5,3,0,1,1,1,2,1,1\n0,0,8,0,2,3,1,0,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,1\n0,0,14,0,2,9,4,4,1,1,1,0,1,0\n0,0,3,2,2,4,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,4,3,4,0,1,1,1,1,0\n1,3,1,2,0,6,2,0,1,1,1,1,1,0\n2,5,8,0,0,10,2,0,1,1,1,0,1,0\n1,0,1,2,1,4,3,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,1,0,1,1,0,1,0\n1,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,2,1,1,1,0,1,1\n1,0,0,3,5,4,5,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,5,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,1,2,2,2,3,0,1,1,1,0,1,0\n1,0,2,1,5,10,1,0,1,1,1,2,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,0,6,2,2,9,3,0,1,1,1,1,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,10,1,4,1,1,1,2,1,0\n1,5,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,10,3,2,5,3,4,1,1,1,1,1,0\n1,1,4,3,1,5,5,0,1,1,1,1,1,1\n1,3,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,5,2,2,8,1,0,0,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,4,3,2,5,8,5,4,0,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n3,0,12,1,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,0,10,4,0,1,1,1,0,1,0\n1,4,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,2,0,3,2,9,3,0,1,1,1,0,1,0\n0,4,5,2,1,4,3,4,0,1,1,0,1,0\n1,0,3,2,1,4,3,0,0,1,1,2,1,1\n0,0,15,0,2,2,3,1,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,3,5,3,0,1,1,1,2,1,0\n0,2,1,2,2,2,1,1,0,1,1,2,1,0\n0,0,1,2,2,10,3,0,1,1,1,0,1,0\n1,0,3,2,1,0,1,0,1,1,1,1,1,0\n0,0,3,2,2,9,1,0,1,1,1,0,1,0\n1,0,9,1,0,8,0,4,0,1,1,0,1,1\n0,0,0,3,2,8,3,0,0,1,1,1,1,0\n0,1,2,1,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,10,5,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,1,3,0,1,1,1,1,1,0\n0,5,3,2,0,12,2,0,1,1,1,0,1,0\n2,1,8,0,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n1,0,6,2,4,8,3,1,0,1,1,0,1,0\n1,0,1,2,0,4,0,0,0,1,1,2,1,1\n1,0,2,1,0,1,2,0,1,1,1,0,1,1\n1,4,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,10,5,4,1,1,1,0,1,0\n1,0,1,2,1,3,1,0,1,1,1,1,1,0\n1,0,3,2,5,6,5,0,0,1,1,0,1,0\n1,0,3,2,0,4,0,0,0,1,1,0,1,1\n2,0,0,3,4,4,5,0,0,1,1,0,1,0\n1,2,3,2,0,2,2,4,1,1,1,1,1,0\n0,0,0,3,2,3,1,1,1,1,1,1,1,0\n1,2,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,1,3,3,0,1,1,1,0,1,1\n1,2,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,5,2,0,1,2,0,1,1,1,1,1,0\n1,0,5,2,2,0,3,4,1,1,1,0,1,0\n1,0,0,3,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,5,2,2,6,1,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,4,0,3,0,5,0,0,0,1,1,2,1,0\n2,0,8,0,0,6,2,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n0,1,8,0,2,6,5,4,1,1,1,2,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,4,0,3,0,10,2,4,1,1,1,0,1,0\n2,0,3,2,0,2,2,0,1,1,1,2,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,1\n1,4,0,3,2,5,3,0,1,1,1,1,1,1\n2,0,14,0,0,6,2,0,1,1,1,1,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,4,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,4,3,2,5,3,0,0,1,1,1,1,1\n1,5,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,3,2,5,0,0,1,1,0,1,0\n1,1,4,3,1,5,3,0,1,1,1,1,1,1\n0,0,6,2,0,7,2,0,1,1,1,0,1,0\n1,1,6,2,2,2,1,0,0,1,1,0,1,0\n1,0,1,2,1,4,3,0,1,1,1,0,1,0\n0,0,10,3,2,4,1,0,1,1,1,0,1,0\n2,3,2,1,4,8,3,0,0,1,1,2,1,0\n1,1,6,2,1,2,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,1,2,2,6,1,4,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,0,3,1,4,3,0,1,1,1,1,1,0\n1,3,0,3,4,8,3,0,0,1,1,0,1,0\n2,3,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,12,1,3,8,5,4,0,1,1,0,1,0\n0,0,9,1,2,5,1,0,1,1,1,2,1,0\n1,0,1,2,1,4,3,0,0,1,1,1,1,0\n1,0,1,2,1,8,1,0,0,1,1,0,1,0\n0,0,4,3,2,5,5,0,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,1,7,3,0,1,1,1,0,1,0\n2,1,4,3,0,5,2,0,1,1,1,2,1,1\n1,0,3,2,1,10,3,0,1,1,1,1,1,1\n0,0,14,0,2,6,3,0,1,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,0\n2,0,6,2,4,4,5,1,0,1,1,0,1,1\n0,0,9,1,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,1,4,1,1,1,2,1,0\n1,0,3,2,0,4,0,0,0,1,1,0,1,0\n0,0,3,2,0,2,0,0,0,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,3,2,3,4,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,10,3,2,5,3,0,0,1,1,2,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,7,1,3,1,5,4,1,1,1,0,1,0\n0,0,12,1,2,2,1,4,1,1,1,2,1,0\n1,2,10,3,0,3,2,0,1,1,1,1,1,1\n2,3,3,2,0,8,2,0,1,1,1,0,1,1\n2,0,3,2,0,3,2,0,1,1,1,1,1,0\n2,0,1,2,1,8,3,0,0,1,1,1,1,0\n0,0,1,2,2,3,5,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,4,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,1,7,5,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,0,12,1,2,6,3,0,1,1,1,0,1,0\n0,0,14,0,2,9,1,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,2,0,3,2,4,1,1,1,1,1,2,1,0\n2,0,14,0,0,1,2,0,1,1,1,1,1,0\n2,4,3,2,4,4,3,0,1,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n2,0,10,3,2,5,3,0,1,1,1,1,1,0\n1,3,0,3,1,5,3,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,5,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,2,3,4,0,1,1,1,2,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,12,1,2,6,3,0,0,1,1,2,1,0\n1,0,8,0,0,7,2,3,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,1\n0,4,3,2,0,12,2,4,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,2,1,0\n2,0,3,2,0,2,0,0,0,1,1,0,1,1\n1,2,0,3,2,1,3,0,0,1,1,2,1,0\n0,0,3,2,2,10,3,0,0,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,1,1,1,1,2,1,0\n1,4,3,2,0,2,4,0,1,1,1,0,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,5,10,3,1,4,3,0,1,1,1,1,1,0\n3,4,3,2,4,2,3,0,0,1,1,2,1,0\n1,0,0,3,0,7,2,0,1,1,1,0,1,1\n1,4,10,3,3,5,5,0,0,1,1,1,1,0\n1,4,6,2,2,12,3,4,0,1,1,1,1,1\n0,0,2,1,2,1,1,0,1,1,1,2,1,0\n1,0,6,2,1,5,5,0,0,1,1,1,1,0\n0,0,3,2,6,3,2,0,1,1,1,1,1,0\n0,0,1,2,1,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,0,1,1,2,1,0\n0,0,0,3,2,2,3,0,1,1,1,0,1,0\n0,0,6,2,2,0,1,0,0,1,1,2,1,0\n0,1,10,3,2,5,3,0,1,1,1,1,1,0\n2,4,10,3,1,2,5,4,0,1,1,0,1,0\n1,0,2,1,1,3,4,0,0,1,1,0,1,0\n1,0,5,2,2,0,3,4,1,1,1,0,1,1\n2,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,4,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,4,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,2,1,1\n1,4,5,2,1,8,3,0,0,1,1,2,1,0\n1,1,1,2,1,3,3,0,0,1,1,1,1,0\n0,5,1,2,2,2,3,0,1,1,1,2,1,0\n1,0,2,1,0,10,2,4,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,0,1,2,1,2,3,0,0,1,1,0,1,0\n0,0,3,2,2,1,4,0,1,1,1,0,1,0\n1,0,7,1,1,2,4,0,0,1,1,2,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n1,4,2,1,0,2,0,0,0,1,1,2,1,0\n1,0,3,2,0,2,0,0,0,1,1,2,1,1\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n1,0,3,2,4,1,5,0,1,1,1,0,1,1\n1,0,3,2,1,6,3,0,1,1,1,0,1,0\n1,1,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,0,6,2,2,1,3,1,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,0,0,2,1,1,1,1,0,1,1\n1,1,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,5,2,4,0,5,0,1,1,1,0,1,1\n2,4,10,3,1,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,9,3,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n1,2,13,3,0,5,2,0,1,1,1,0,1,1\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,5,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n1,4,3,2,1,8,3,0,0,1,1,1,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n2,2,1,2,0,4,2,0,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,5,4,0,1,1,0,1,0\n0,0,5,2,2,0,3,0,0,1,1,0,1,0\n0,0,1,2,2,6,3,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,12,1,2,6,3,0,1,1,1,0,1,0\n0,0,1,2,3,8,5,4,0,1,1,0,1,0\n1,0,3,2,1,2,3,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n2,4,12,1,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n2,0,13,3,0,4,2,0,1,1,1,1,1,1\n1,0,7,1,0,6,2,0,1,1,1,1,1,0\n0,0,3,2,1,1,3,2,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,2,4,3,1,1,1,1,1,1,0\n0,0,1,2,2,6,3,0,1,1,1,0,1,0\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,1,1,1,1,0,1,0\n0,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,3,4,1,1,1,1,1,0\n0,1,0,3,0,3,4,0,1,1,1,1,1,0\n0,0,5,2,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,1,3,2,2,2,1,0,1,1,1,1,1,0\n0,0,5,2,2,6,1,0,1,1,1,2,1,0\n1,0,3,2,3,7,5,0,1,1,1,0,1,0\n2,0,3,2,1,1,3,0,1,1,1,2,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,4,7,3,0,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n2,2,1,2,0,4,2,0,1,1,1,2,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,1,3,2,1,1,5,0,1,1,1,0,1,0\n0,5,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,4,1,2,0,2,4,0,1,1,1,0,1,0\n0,0,3,2,2,2,5,4,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n2,0,1,2,1,5,5,0,0,1,1,0,1,0\n0,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,5,2,2,2,3,0,0,1,1,2,1,0\n0,0,7,1,0,2,2,0,1,1,1,0,1,0\n2,5,1,2,0,9,2,0,1,1,1,2,1,0\n0,0,5,2,2,8,5,0,0,1,1,2,1,0\n1,1,3,2,0,4,2,0,1,1,1,2,1,0\n0,4,3,2,0,10,2,0,1,1,1,1,1,0\n0,6,1,2,0,9,1,0,1,1,1,1,1,0\n1,5,13,3,0,5,2,0,1,1,1,0,1,1\n0,0,7,1,2,2,1,4,0,1,1,0,1,0\n1,0,10,3,0,0,2,0,1,1,1,0,1,1\n0,0,5,2,0,4,0,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,1,2,1,3,3,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,5,2,0,1,1,1,0,1,1\n1,0,14,0,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,10,1,0,1,1,1,0,1,0\n0,0,3,2,2,4,3,0,1,1,1,1,1,0\n2,0,1,2,0,8,2,4,1,1,1,2,1,0\n0,0,1,2,2,5,1,0,1,1,1,2,1,0\n2,0,12,1,0,10,2,4,1,1,1,0,1,0\n0,0,12,1,2,1,3,0,1,1,1,2,1,0\n1,0,1,2,2,8,3,0,1,1,1,1,1,0\n1,5,10,3,1,12,3,0,1,1,1,1,1,0\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,6,2,1,3,5,0,0,1,1,0,1,0\n2,0,1,2,0,5,2,0,1,1,1,0,1,1\n2,0,12,1,0,1,2,0,1,1,1,0,1,1\n2,2,0,3,0,3,2,4,1,1,1,0,1,0\n1,0,1,2,3,1,3,0,1,1,1,1,1,0\n0,2,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,5,2,0,8,0,0,0,1,1,0,1,0\n1,0,3,2,0,8,2,4,1,1,1,0,1,1\n0,4,3,2,0,2,2,0,1,1,1,0,1,0\n1,1,1,2,0,2,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,5,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,4,3,0,1,1,1,2,1,0\n1,0,10,3,0,5,0,0,0,1,1,2,1,1\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n0,4,3,2,2,9,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,4,4,0,1,1,0,1,0\n2,0,14,0,0,7,2,0,1,1,1,0,1,0\n1,0,2,1,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,3,2,3,0,0,1,1,0,1,0\n0,0,11,0,0,1,2,0,1,1,1,0,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,7,1,0,1,1,1,0,1,0\n2,0,5,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,5,1,2,1,4,5,0,1,1,1,0,1,0\n0,5,0,3,2,2,3,0,0,1,1,1,1,0\n1,1,0,3,0,4,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,1,7,3,0,1,1,1,0,1,0\n2,4,6,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,1,1,1,1,0,1,0\n1,0,3,2,1,4,3,0,0,1,1,1,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,9,1,2,8,3,0,0,1,1,0,1,0\n0,5,1,2,5,8,5,1,0,1,1,2,1,0\n1,5,0,3,1,8,3,0,1,1,1,0,1,0\n0,0,3,2,2,11,3,0,0,1,1,1,1,0\n2,1,14,0,0,2,2,0,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,4,0,1,1,1,2,1,0\n0,5,0,3,2,5,3,0,0,1,1,0,1,0\n2,3,0,3,2,5,3,0,1,1,1,1,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,1,1,1,0,1,1\n1,0,8,0,0,1,2,1,1,1,1,0,1,0\n1,0,1,2,3,10,5,0,1,1,1,1,1,1\n1,0,3,2,3,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,2,8,3,4,0,1,1,0,1,0\n0,0,0,3,2,4,1,4,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,5,4,5,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,4,0,3,2,5,4,0,0,1,1,1,1,0\n1,0,12,1,0,6,2,0,1,1,1,0,1,0\n0,5,1,2,2,0,1,0,1,1,1,2,1,0\n1,0,7,1,3,2,3,4,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,5,0,3,2,0,3,0,1,1,1,2,1,0\n0,0,2,1,2,7,5,0,0,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n2,1,2,1,0,4,2,0,1,1,1,2,1,0\n0,0,8,0,3,3,5,0,0,1,1,2,1,0\n0,3,1,2,2,1,3,0,1,1,1,0,1,0\n1,4,0,3,1,8,3,0,0,1,1,0,1,0\n1,4,1,2,2,12,3,0,1,1,1,0,1,1\n1,0,3,2,2,4,3,0,1,1,1,1,1,0\n0,0,1,2,1,2,4,4,1,1,1,2,1,0\n1,0,5,2,0,5,2,0,1,1,1,1,1,1\n2,1,8,0,0,10,2,0,1,1,1,2,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,4,2,5,0,0,1,1,2,1,0\n1,0,0,3,0,5,0,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n2,1,1,2,0,10,2,0,1,1,1,1,1,1\n1,2,4,3,0,5,2,0,1,1,1,2,1,1\n2,0,2,1,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,3,3,3,0,1,1,1,1,1,1\n2,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n1,0,1,2,1,8,3,4,0,1,1,0,1,0\n1,4,10,3,1,5,5,0,0,1,1,1,1,0\n1,3,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,5,2,0,4,0,0,0,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,1,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,1,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,1,0,3,0,1,1,1,1,1,1\n1,2,1,2,4,3,5,0,0,1,1,0,1,0\n0,0,7,1,0,12,2,0,1,1,1,0,1,0\n2,0,3,2,3,2,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,2,4,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,2,4,3,0,1,1,1,0,1,1\n2,0,3,2,1,8,5,0,0,1,1,2,1,0\n0,2,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,12,1,2,6,1,0,1,1,1,2,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,3,1,2,0,0,2,0,1,1,1,0,1,1\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,0,0,0,1,1,0,1,0\n0,5,3,2,1,2,3,0,0,1,1,2,1,0\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n1,0,10,3,0,5,2,3,1,1,1,0,1,1\n0,0,9,1,2,6,1,2,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,3,4,5,4,0,1,1,0,1,0\n0,0,3,2,2,5,1,0,1,1,1,1,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,15,0,2,6,3,0,1,1,1,2,1,0\n1,0,6,2,2,3,3,0,0,1,1,2,1,0\n0,0,0,3,1,8,3,0,0,1,1,1,1,0\n1,0,1,2,3,5,5,0,0,1,1,0,1,0\n0,0,9,1,2,7,3,0,1,1,1,1,1,0\n1,4,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,0,3,2,2,3,0,0,1,1,0,1,0\n1,1,1,2,4,1,3,4,1,1,1,2,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,4,10,3,2,5,3,0,1,1,1,2,1,1\n2,0,3,2,0,12,2,4,1,1,1,0,1,0\n1,4,10,3,1,5,3,4,1,1,1,0,1,0\n1,0,1,2,1,3,5,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,1,6,2,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,7,1,3,1,1,1,2,1,0\n1,0,3,2,3,6,5,0,1,1,1,0,1,0\n0,4,0,3,0,12,2,0,1,1,1,1,1,1\n0,0,10,3,5,3,3,0,0,1,1,1,1,1\n0,0,6,2,2,6,3,0,1,1,1,0,1,0\n1,0,3,2,1,4,3,4,0,1,1,0,1,0\n0,5,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,9,1,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,3,12,1,4,1,1,1,0,1,0\n1,4,0,3,0,5,0,4,0,1,1,0,1,1\n0,0,0,3,2,8,5,0,0,1,1,2,1,0\n0,0,7,1,0,2,2,0,1,1,1,2,1,0\n0,0,0,3,1,5,1,0,0,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n2,0,12,1,4,1,5,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,0,2,0,0,0,1,1,2,1,0\n0,0,2,1,5,1,3,4,1,1,1,1,1,0\n2,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,10,3,2,2,3,0,0,1,1,2,1,0\n1,0,1,2,1,2,5,0,0,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n0,0,1,2,1,8,5,4,0,1,1,0,1,0\n2,1,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,4,3,2,5,1,0,0,1,1,0,1,0\n0,0,1,2,0,8,0,4,0,1,1,0,1,0\n2,0,3,2,4,4,5,0,0,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,5,2,0,3,1,0,0,1,1,2,1,0\n1,5,12,1,0,10,2,0,1,1,1,0,1,1\n1,0,3,2,0,6,2,0,1,1,1,1,1,1\n0,0,1,2,0,0,2,0,1,1,1,1,1,1\n2,0,12,1,4,0,5,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,3,3,2,2,8,3,4,1,1,1,0,1,0\n0,0,6,2,0,10,2,0,1,1,1,1,1,1\n0,0,12,1,3,2,3,0,0,1,1,2,1,0\n0,4,5,2,0,12,2,0,1,1,1,0,1,1\n1,0,7,1,5,6,3,0,1,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,4,4,3,2,5,3,0,0,1,1,1,1,1\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n1,4,0,3,1,5,3,0,0,1,1,1,1,0\n0,0,0,3,1,1,3,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n2,0,12,1,1,2,1,0,0,1,1,0,1,0\n1,0,10,3,0,2,2,0,1,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,0\n3,1,8,0,0,9,2,0,1,1,1,0,1,0\n2,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,7,4,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,1,0,3,1,4,5,0,0,1,1,1,1,0\n1,0,1,2,2,8,3,0,0,1,1,1,1,1\n0,2,10,3,0,5,2,1,1,1,1,0,1,1\n1,0,3,2,4,7,3,0,0,1,1,0,1,0\n0,0,1,2,1,1,1,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,4,4,3,0,5,2,1,1,1,1,0,1,1\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n1,2,1,2,1,7,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,1,1,1\n1,0,6,2,1,0,3,4,1,1,1,0,1,0\n1,4,0,3,2,12,3,0,0,1,1,1,1,1\n1,0,5,2,1,4,5,1,0,1,1,0,1,0\n0,0,1,2,2,1,5,0,1,1,1,1,1,0\n0,0,2,1,2,10,4,0,1,1,1,0,1,0\n0,0,1,2,2,0,4,1,0,1,1,2,1,0\n0,0,6,2,2,1,5,2,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,9,3,0,1,1,1,2,1,0\n1,5,3,2,1,1,1,0,1,1,1,0,1,1\n0,0,11,0,2,9,3,0,1,1,1,2,1,0\n2,1,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,4,0,1,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,0,0,0,1,1,0,1,1\n1,4,0,3,0,5,2,1,1,1,1,0,1,1\n0,0,2,1,2,3,5,0,0,1,1,2,1,0\n0,0,1,2,2,4,1,0,0,1,1,2,1,0\n1,0,3,2,2,3,5,0,1,1,1,0,1,0\n0,0,6,2,1,3,3,0,0,1,1,0,1,1\n1,0,5,2,2,1,3,0,1,1,1,2,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n0,2,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,2,1,2,8,1,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n2,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,8,0,1,4,3,0,1,1,1,0,1,0\n0,0,3,2,1,6,1,0,1,1,1,1,1,0\n0,0,1,2,2,6,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,9,1,3,2,5,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,5,0,3,1,5,3,0,1,1,1,0,1,0\n0,0,4,3,2,5,3,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n2,0,4,3,0,10,2,4,1,1,1,1,1,1\n1,0,0,3,1,4,3,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,4,1,1,1,0,1,0\n1,4,10,3,1,5,5,0,0,1,1,1,1,0\n0,0,2,1,3,3,3,0,0,1,1,1,1,0\n0,0,0,3,0,4,0,0,0,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,3,10,3,0,13,2,0,1,1,1,0,1,1\n2,2,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,0,3,0,3,2,0,1,1,1,2,1,1\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,6,2,2,7,5,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,0,3,0,7,2,0,1,1,1,0,1,1\n1,0,9,1,5,4,3,0,0,1,1,1,1,0\n2,4,3,2,1,12,3,0,0,1,1,0,1,0\n2,0,1,2,5,4,5,0,0,1,1,0,1,0\n1,0,2,1,4,2,1,0,0,1,1,1,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,3,3,5,1,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,3,2,3,2,5,4,0,1,1,0,1,0\n1,5,3,2,1,8,4,0,0,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,6,2,0,4,2,0,1,1,1,0,1,0\n0,1,0,3,0,9,2,0,1,1,1,1,1,0\n2,0,10,3,0,10,2,0,1,1,1,1,1,1\n1,4,0,3,1,5,5,0,0,1,1,0,1,0\n2,1,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,2,2,1,0,10,2,0,1,1,1,1,1,0\n0,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,1,3,2,4,2,4,0,0,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,4,1,2,2,5,1,0,0,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n3,0,0,3,0,5,2,0,1,1,1,2,1,0\n0,0,0,3,0,8,2,0,1,1,1,1,1,1\n1,3,1,2,1,9,3,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n1,0,0,3,2,5,3,4,0,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,5,1,2,0,12,2,0,1,1,1,0,1,0\n2,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,1,8,0,0,2,0,4,0,1,1,1,1,0\n2,4,7,1,1,12,3,4,1,1,1,2,1,0\n1,4,0,3,0,9,2,1,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n1,1,8,0,0,3,2,0,1,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,2,1,1\n1,1,1,2,2,1,5,0,1,1,1,0,1,0\n1,0,1,2,0,8,0,4,0,1,1,2,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,5,1,2,0,4,0,0,0,1,1,2,1,1\n0,0,0,3,2,0,3,4,0,1,1,0,1,0\n2,0,14,0,5,7,5,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,5,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,2,1,0\n1,0,1,2,1,2,3,0,1,1,1,1,1,0\n2,2,1,2,0,3,2,0,1,1,1,0,1,0\n2,0,3,2,0,11,0,4,0,1,1,2,1,0\n1,0,3,2,4,6,3,0,1,1,1,2,1,0\n0,0,10,3,2,5,5,0,0,1,1,2,1,0\n2,1,3,2,4,2,4,0,0,1,1,0,1,0\n1,0,0,3,2,2,3,1,0,1,1,2,1,0\n1,1,0,3,0,5,2,0,1,1,1,1,1,0\n2,0,3,2,2,6,4,4,0,1,1,0,1,0\n2,1,8,0,0,1,2,0,1,1,1,2,1,0\n1,1,10,3,1,1,3,0,1,1,1,0,1,0\n0,0,5,2,2,3,1,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,2,0,3,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,0,8,2,4,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,3,1,2,3,4,3,0,0,1,1,0,1,0\n0,1,0,3,2,5,3,4,1,1,1,1,1,1\n2,1,3,2,0,10,2,0,1,1,1,2,1,0\n0,0,3,2,1,2,5,0,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,1,3,3,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,9,1,2,9,1,0,1,1,1,0,1,0\n0,0,1,2,0,2,2,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,1,9,3,0,1,1,1,0,1,0\n0,0,2,1,5,3,1,1,0,1,1,0,1,0\n0,0,3,2,0,10,2,3,1,1,1,0,1,0\n1,0,0,3,3,5,5,1,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,2,0,4,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,4,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n1,0,3,2,0,0,2,4,1,1,1,0,1,1\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n1,1,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,1\n2,2,0,3,0,4,2,0,1,1,1,1,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n3,5,8,0,4,6,3,0,0,1,1,2,1,0\n1,5,1,2,0,12,2,4,1,1,1,1,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,14,0,0,7,2,0,1,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,1,4,5,0,0,1,1,0,1,0\n1,0,3,2,1,1,5,4,0,1,1,1,1,0\n0,0,6,2,2,7,3,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,2,3,2,5,9,3,0,1,1,1,1,1,0\n1,5,1,2,1,2,3,0,1,1,1,1,1,0\n1,5,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,5,0,0,1,1,0,1,0\n2,0,3,2,4,8,5,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,9,1,2,8,4,4,0,1,1,0,1,0\n0,1,1,2,2,8,3,0,0,1,1,1,1,0\n1,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,4,3,2,5,3,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,0,11,3,0,0,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,6,2,4,1,1,1,0,1,0\n0,0,15,0,2,9,3,0,1,1,1,2,1,0\n0,0,1,2,2,6,3,0,1,1,1,0,1,0\n1,4,10,3,2,5,3,0,0,1,1,1,1,0\n1,1,1,2,3,3,3,1,1,1,1,1,1,0\n1,0,3,2,0,7,0,0,0,1,1,0,1,1\n0,0,1,2,0,8,0,0,0,1,1,0,1,1\n1,0,7,1,3,7,3,0,0,1,1,0,1,0\n1,0,1,2,4,4,3,0,0,1,1,1,1,0\n0,0,5,2,2,6,1,0,1,1,1,2,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,4,4,1,1,1,0,1,0\n0,0,12,1,2,1,3,0,1,1,1,1,1,0\n0,0,3,2,1,2,3,0,0,1,1,0,1,0\n2,5,13,3,1,5,5,0,0,1,1,1,1,0\n2,0,8,0,2,8,3,0,1,1,1,0,1,0\n0,0,3,2,2,4,3,4,0,1,1,2,1,0\n1,0,0,3,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n2,1,1,2,0,8,2,0,1,1,1,1,1,1\n1,0,6,2,1,0,5,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,2,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,5,4,0,1,1,1,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,4,7,5,4,0,1,1,1,1,0\n0,0,0,3,0,4,0,0,0,1,1,1,1,1\n1,4,13,3,0,5,0,4,0,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,5,2,5,4,5,1,0,1,1,2,1,0\n0,0,10,3,2,5,3,0,1,1,1,2,1,0\n0,4,3,2,2,9,1,0,1,1,1,2,1,0\n2,0,3,2,1,10,3,0,1,1,1,1,1,0\n2,0,3,2,4,2,5,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,2,1,2,5,1,0,1,1,1,0,1,0\n1,4,3,2,0,10,2,4,1,1,1,0,1,0\n1,4,8,0,0,10,2,0,1,1,1,2,1,0\n1,4,1,2,0,12,2,4,1,1,1,1,1,0\n0,0,0,3,2,9,3,0,1,1,1,0,1,0\n0,0,6,2,1,0,1,0,1,1,1,2,1,0\n2,0,1,2,0,0,0,0,0,1,1,0,1,1\n0,0,5,2,2,5,4,1,0,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n2,0,3,2,0,3,2,0,1,1,1,2,1,1\n2,0,5,2,1,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,1,1,1,1,0,1,0\n2,1,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,1\n1,4,1,2,3,1,3,4,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n2,1,3,2,0,4,2,0,1,1,1,0,1,0\n1,3,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,1,2,0,0,2,0,1,1,1,1,1,1\n0,0,6,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n2,1,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,10,3,0,5,2,0,1,1,1,2,1,1\n0,1,3,2,2,9,1,0,1,1,1,0,1,0\n2,0,5,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,7,3,0,0,1,1,2,1,0\n0,4,2,1,2,12,1,0,1,1,1,2,1,0\n0,0,1,2,2,10,3,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,1,0,1,1,2,1,0\n0,0,9,1,2,2,4,0,1,1,1,0,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,0,0,0,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,6,2,0,5,2,0,1,1,1,0,1,1\n1,1,1,2,0,9,2,0,1,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,2,1,0\n0,0,0,3,5,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,1\n1,0,3,2,4,2,5,0,0,1,1,2,1,0\n1,1,6,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,1,3,3,0,0,1,1,2,1,0\n1,0,0,3,2,3,3,0,0,1,1,1,1,1\n0,0,0,3,0,2,2,0,1,1,1,0,1,0\n2,1,13,3,0,5,2,0,1,1,1,2,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,2,3,4,0,0,1,1,2,1,0\n1,1,3,2,1,9,1,0,1,1,1,1,1,0\n0,0,3,2,0,5,2,0,1,1,1,0,1,1\n2,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,5,2,2,8,3,0,0,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,0,4,3,1,4,3,0,1,1,1,0,1,0\n1,0,6,2,1,4,1,2,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,2,1,0\n1,0,5,2,2,0,3,0,0,1,1,0,1,0\n1,5,0,3,0,9,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,0,10,2,4,1,1,1,0,1,1\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,1,10,3,0,1,1,1,0,1,0\n1,0,3,2,1,0,5,4,0,1,1,2,1,0\n1,0,3,2,0,10,2,4,1,1,1,2,1,0\n0,0,0,3,2,4,1,4,1,1,1,1,1,0\n1,1,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n2,0,10,3,0,10,2,0,1,1,1,2,1,0\n1,4,13,3,0,5,0,0,0,1,1,0,1,1\n0,0,9,1,2,10,5,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n1,0,3,2,0,2,0,0,0,1,1,0,1,0\n0,1,0,3,0,3,2,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,2,5,3,0,0,1,1,0,1,0\n2,1,10,3,0,4,2,0,1,1,1,2,1,0\n2,3,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,1,2,0,4,0,0,0,1,1,0,1,1\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n1,0,0,3,1,8,3,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,4,1,1,1,2,1,0\n1,1,3,2,0,3,2,0,1,1,1,0,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,1,3,2,2,9,3,0,1,1,1,1,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,4,0,1,1,2,1,0\n0,0,1,2,2,4,1,0,0,1,1,2,1,0\n0,0,1,2,1,1,5,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,2,10,3,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,2,8,5,0,1,1,1,0,1,0\n0,0,0,3,0,4,0,0,0,1,1,0,1,1\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,2,1,2,6,3,4,0,1,1,2,1,0\n2,2,4,3,0,5,2,0,1,1,1,2,1,1\n0,1,9,1,2,6,1,0,1,1,1,2,1,0\n0,0,0,3,2,0,1,1,0,1,1,0,1,0\n1,4,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,3,0,0,1,1,2,1,0\n1,0,14,0,1,2,5,0,0,1,1,0,1,0\n1,0,0,3,2,4,3,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,7,2,0,1,1,1,0,1,1\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,4,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,6,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,8,0,0,1,2,0,1,1,1,1,1,0\n0,0,4,3,2,4,1,0,1,1,1,1,1,0\n1,0,6,2,3,1,3,0,1,1,1,2,1,0\n1,2,4,3,1,5,3,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,1,1,0\n2,2,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,1,4,3,0,0,1,1,1,1,0\n1,4,10,3,1,5,5,0,0,1,1,0,1,0\n0,4,3,2,2,2,4,0,1,1,1,2,1,0\n1,0,3,2,0,2,2,0,1,1,1,1,1,0\n1,5,0,3,2,5,3,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,4,1,1,1,1,1,0\n1,0,1,2,5,1,5,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n1,5,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,1,6,3,0,1,1,1,0,1,0\n0,0,12,1,1,3,4,0,0,1,1,0,1,0\n1,3,5,2,0,8,2,0,1,1,1,0,1,1\n1,4,0,3,0,12,2,0,1,1,1,0,1,1\n1,1,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,5,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,4,2,5,4,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,5,10,3,0,4,0,0,0,1,1,0,1,0\n1,0,0,3,4,5,5,0,0,1,1,2,1,0\n1,4,4,3,4,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,10,5,0,1,1,1,1,1,0\n1,0,0,3,2,1,3,0,1,1,1,1,1,0\n0,0,3,2,0,2,2,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n1,4,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,5,3,0,1,1,1,1,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,4,2,1,1,6,5,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,3,13,3,0,5,2,1,1,1,1,0,1,1\n2,4,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,0,3,2,1,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,0,7,1,0,1,2,4,1,1,1,1,1,0\n2,0,13,3,4,5,3,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,2,1,1,1,0,1,0\n0,0,3,2,2,9,1,0,1,1,1,2,1,0\n0,0,1,2,2,1,1,0,1,1,1,2,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,5,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,3,11,4,0,0,1,1,2,1,0\n0,0,1,2,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,4,0,1,1,0,1,0\n2,3,1,2,0,5,2,2,1,1,1,0,1,0\n1,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,5,4,0,1,1,2,1,0\n1,0,4,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,4,3,0,0,1,1,1,1,0\n2,2,6,2,1,5,3,0,1,1,1,1,1,1\n1,5,10,3,0,8,2,2,1,1,1,0,1,1\n2,1,1,2,2,5,3,0,0,1,1,2,1,0\n0,3,3,2,5,2,5,4,1,1,1,0,1,0\n0,5,1,2,2,1,3,0,1,1,1,2,1,0\n2,0,1,2,1,4,3,0,0,1,1,0,1,0\n1,0,10,3,1,4,3,0,1,1,1,1,1,1\n0,0,3,2,3,2,3,0,0,1,1,0,1,0\n2,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,12,1,1,7,5,4,1,1,1,0,1,0\n1,3,0,3,1,0,3,0,1,1,1,0,1,1\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,0,3,0,5,0,0,0,1,1,2,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,1\n2,0,11,0,1,10,3,0,1,1,1,0,1,0\n1,4,3,2,0,12,2,0,1,1,1,1,1,1\n0,0,7,1,2,3,1,4,1,1,1,2,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n0,0,1,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,5,1,2,1,5,3,0,0,1,1,0,1,0\n1,4,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,6,2,2,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,9,1,2,3,4,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,12,1,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,3,2,4,0,1,1,1,2,1,0\n0,5,3,2,2,8,1,4,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,1,13,3,0,5,2,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,9,1,0,1,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,4,0,3,2,8,3,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,0,7,3,0,0,1,1,0,1,0\n0,0,10,3,2,5,1,0,1,1,1,0,1,0\n0,4,10,3,2,5,1,0,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,5,10,3,1,4,3,0,1,1,1,1,1,0\n0,0,3,2,0,1,1,0,1,1,1,0,1,0\n1,0,0,3,2,3,3,4,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,2,1,0\n0,4,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n2,1,8,0,0,9,2,0,1,1,1,0,1,0\n2,0,3,2,2,4,5,0,1,1,1,0,1,1\n0,0,10,3,2,0,4,0,1,1,1,2,1,0\n1,0,0,3,1,5,3,0,0,1,1,1,1,0\n0,0,1,2,1,1,3,0,1,1,1,1,1,0\n1,0,1,2,1,7,1,0,0,1,1,0,1,0\n0,0,0,3,1,4,3,0,0,1,1,1,1,1\n1,0,3,2,3,1,3,0,1,1,1,0,1,0\n0,0,1,2,0,6,2,4,1,1,1,0,1,0\n0,4,3,2,2,12,1,0,1,1,1,2,1,0\n1,0,8,0,5,10,3,0,1,1,1,1,1,0\n1,0,6,2,0,2,2,0,1,1,1,2,1,0\n3,2,0,3,0,3,2,0,1,1,1,2,1,1\n1,3,0,3,0,4,0,2,0,1,1,0,1,1\n1,3,1,2,2,8,4,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n2,0,3,2,3,12,3,0,1,1,1,2,1,0\n2,0,0,3,0,3,2,0,1,1,1,2,1,1\n1,1,6,2,0,9,2,0,1,1,1,1,1,0\n0,0,5,2,2,5,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,3,4,1,1,1,1,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,1,2,1,0,5,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,1,0,3,1,4,3,0,0,1,1,0,1,0\n2,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,1\n2,0,3,2,4,6,3,0,0,1,1,0,1,0\n1,0,2,1,1,3,5,0,0,1,1,0,1,0\n0,0,6,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,1,4,3,0,0,1,1,0,1,0\n1,0,14,0,3,2,5,0,0,1,1,0,1,0\n1,1,13,3,2,5,3,0,0,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,2,1,1\n1,0,10,3,4,5,3,0,0,1,1,1,1,0\n0,0,7,1,2,1,4,0,1,1,1,1,1,0\n0,0,1,2,0,10,2,0,1,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,8,0,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,5,2,1,1,5,0,0,1,1,2,1,0\n0,0,14,0,0,7,2,3,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,1,1,5,0,1,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,0,3,4,2,5,0,0,1,1,2,1,0\n1,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,0,0,2,4,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n1,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,1,2,1,2,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,1\n0,4,0,3,2,5,1,0,0,1,1,1,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n1,1,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,2,1,0,7,2,0,1,1,1,0,1,0\n1,0,7,1,0,10,2,0,1,1,1,0,1,0\n1,0,6,2,0,8,2,0,1,1,1,0,1,0\n2,0,1,2,4,0,3,0,0,1,1,2,1,0\n0,0,0,3,0,0,2,1,1,1,1,0,1,1\n0,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,4,10,3,3,5,5,0,0,1,1,0,1,0\n2,1,3,2,1,2,4,0,0,1,1,0,1,0\n2,0,2,1,0,7,2,0,1,1,1,0,1,0\n1,5,0,3,0,5,0,0,0,1,1,2,1,0\n0,5,1,2,2,9,1,0,1,1,1,0,1,0\n1,0,0,3,1,4,3,0,1,1,1,0,1,0\n0,2,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,6,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,4,3,1,5,5,0,0,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,12,1,0,2,2,1,1,1,1,1,1,0\n1,0,3,2,2,8,1,0,1,1,1,0,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,1,1,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,10,3,0,7,2,0,1,1,1,2,1,0\n2,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,4,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,1,1,3,0,0,1,1,0,1,0\n1,0,3,2,1,6,5,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,1,0,1,1,1,2,1,0\n0,0,9,1,2,10,4,0,1,1,1,0,1,0\n1,1,4,3,1,5,5,0,1,1,1,0,1,1\n2,2,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,1\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,5,0,3,0,4,2,0,1,1,1,0,1,1\n1,5,1,2,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,1,4,5,0,0,1,1,0,1,0\n0,3,1,2,0,8,4,0,0,1,1,0,1,0\n0,0,10,3,0,4,2,1,1,1,1,0,1,1\n0,0,1,2,1,3,1,4,0,1,1,0,1,0\n2,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,9,3,0,1,1,1,0,1,0\n1,2,0,3,1,9,5,0,1,1,1,1,1,0\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n0,0,1,2,0,4,1,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,4,0,1,1,2,1,0\n1,0,6,2,0,3,2,0,1,1,1,0,1,1\n2,5,1,2,0,12,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,2,1,0,2,0,4,0,1,1,2,1,1\n0,0,5,2,1,3,3,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,1,1,1,1,1,0\n1,0,3,2,0,0,2,0,1,1,1,0,1,0\n0,1,6,2,2,5,4,0,1,1,1,2,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n2,3,5,2,0,8,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,1,3,2,0,10,2,2,1,1,1,0,1,0\n2,0,3,2,0,2,2,0,1,1,1,1,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,1,3,2,1,3,3,0,0,1,1,1,1,0\n1,0,0,3,1,8,5,0,0,1,1,1,1,0\n0,3,1,2,5,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,1,5,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,3,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,0,1,0,0,1,1,2,1,0\n0,5,10,3,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,1,4,3,0,0,1,1,1,1,0\n0,4,3,2,0,2,2,4,1,1,1,0,1,0\n1,4,1,2,1,8,5,0,0,1,1,1,1,0\n0,0,1,2,5,8,3,4,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,3,4,5,0,0,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,8,0,2,7,5,0,1,1,1,1,1,0\n1,0,1,2,0,2,2,1,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,0,3,0,4,0,1,1,0,1,0\n0,0,6,2,3,5,3,0,1,1,1,1,1,0\n2,2,14,0,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n2,0,0,3,1,4,1,0,1,1,1,1,1,0\n0,0,3,2,2,7,5,0,1,1,1,2,1,0\n0,0,1,2,2,1,4,0,1,1,1,0,1,0\n2,2,10,3,0,3,2,0,1,1,1,0,1,1\n1,0,10,3,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,6,2,2,8,1,0,0,1,1,1,1,0\n2,0,6,2,4,4,3,0,0,1,1,0,1,0\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,9,1,2,9,3,2,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,1,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,1\n0,0,11,0,2,11,3,0,0,1,1,0,1,0\n2,0,13,3,1,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,1,1,1,1,0,1,0\n0,0,7,1,2,2,5,0,1,1,1,2,1,0\n0,0,1,2,2,1,1,0,0,1,1,1,1,0\n1,0,1,2,1,4,5,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,4,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,2,3,0,0,1,1,1,1,0\n0,0,4,3,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,2,4,3,0,5,2,0,1,1,1,2,1,1\n1,0,1,2,2,3,1,0,0,1,1,1,1,0\n1,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,9,1,1,9,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,1,0,1,1,2,1,0\n0,0,7,1,2,6,1,4,1,1,1,0,1,0\n1,0,3,2,3,8,3,4,1,1,1,0,1,0\n1,0,1,2,0,1,2,4,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n2,0,8,0,4,2,5,0,1,1,1,2,1,0\n0,4,3,2,3,10,1,0,0,1,1,2,1,0\n0,0,8,0,0,9,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,2,1,0\n1,2,0,3,0,4,2,1,1,1,1,1,1,1\n2,1,1,2,0,4,2,0,1,1,1,0,1,0\n0,5,10,3,0,4,2,0,1,1,1,2,1,0\n0,0,1,2,0,3,0,0,0,1,1,1,1,1\n2,0,12,1,0,3,2,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n2,0,9,1,1,10,4,4,1,1,1,2,1,0\n0,1,13,3,0,5,2,0,1,1,1,2,1,1\n1,0,6,2,0,4,2,0,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,6,2,0,0,2,0,1,1,1,0,1,1\n0,0,8,0,2,2,1,0,1,1,1,2,1,0\n1,0,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n1,0,5,2,3,8,5,0,1,1,1,0,1,0\n0,1,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,3,2,5,0,0,1,1,2,1,0\n1,0,3,2,2,2,5,4,0,1,1,2,1,0\n0,0,0,3,0,5,2,1,1,1,1,0,1,1\n1,4,13,3,0,5,2,0,1,1,1,1,1,1\n2,1,3,2,0,9,2,0,1,1,1,1,1,1\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,4,8,5,0,0,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,2,1,0\n1,0,0,3,2,0,3,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,4,1,1,1,0,1,0\n1,2,1,2,3,3,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,1,0,3,0,4,0,0,0,1,1,0,1,1\n1,0,1,2,0,8,1,4,0,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,1\n1,0,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,10,3,0,5,2,1,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,2,1,2,2,4,0,1,1,1,2,1,0\n0,0,0,3,0,0,2,0,1,1,1,2,1,0\n2,3,1,2,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,1,3,1,0,0,1,1,0,1,0\n1,0,0,3,2,5,3,0,0,1,1,1,1,0\n1,0,15,0,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,1,8,3,4,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,2,1,1\n3,0,8,0,4,12,3,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,5,2,1,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,0,0,2,0,1,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,3,1,2,1,8,5,4,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,5,1,2,0,1,2,0,1,1,1,2,1,0\n0,0,5,2,2,3,1,0,1,1,1,2,1,0\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,5,2,0,0,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,4,0,0,1,1,2,1,0\n1,4,0,3,0,5,0,4,0,1,1,0,1,1\n1,0,6,2,1,3,3,0,1,1,1,1,1,0\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,4,1,1,1,0,1,0\n1,1,6,2,1,2,5,0,0,1,1,0,1,0\n0,0,1,2,0,4,2,4,1,1,1,1,1,0\n2,4,3,2,1,2,3,4,0,1,1,2,1,0\n0,4,3,2,0,8,2,0,1,1,1,2,1,0\n2,0,1,2,0,8,0,0,0,1,1,0,1,1\n0,0,10,3,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,3,2,5,4,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,1,1,0\n0,0,3,2,2,8,4,0,0,1,1,2,1,0\n2,5,7,1,0,10,2,0,1,1,1,0,1,0\n1,0,1,2,3,8,1,0,0,1,1,0,1,0\n2,4,10,3,2,5,3,0,0,1,1,2,1,1\n1,0,3,2,0,5,2,0,1,1,1,1,1,0\n1,0,0,3,0,9,2,0,1,1,1,0,1,0\n1,0,0,3,1,8,5,0,0,1,1,0,1,0\n0,2,0,3,0,2,2,1,1,1,1,1,1,1\n2,0,1,2,3,3,5,0,0,1,1,2,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,1,7,5,0,0,1,1,0,1,0\n1,4,10,3,0,5,0,0,0,1,1,1,1,1\n2,0,0,3,2,2,1,4,0,1,1,2,1,0\n0,0,1,2,2,7,3,0,1,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,0,3,1,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,5,10,3,0,8,2,0,1,1,1,0,1,1\n0,1,3,2,0,9,2,0,1,1,1,1,1,1\n3,2,1,2,0,4,2,0,1,1,1,2,1,1\n0,0,3,2,0,4,0,4,0,1,1,0,1,0\n1,5,3,2,0,5,2,0,1,1,1,1,1,0\n1,0,6,2,4,4,5,0,0,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,1,0,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,0,1,1\n1,0,5,2,1,5,5,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,4,4,0,1,1,2,1,0\n1,0,1,2,1,8,5,4,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,5,6,2,1,8,3,4,0,1,1,1,1,0\n1,0,0,3,3,5,1,3,0,1,1,0,1,0\n1,5,13,3,0,5,0,0,0,1,1,2,1,1\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n1,0,3,2,3,5,5,4,0,1,1,0,1,0\n1,5,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n2,0,2,1,4,8,5,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,3,0,1,1,0,1,0\n2,1,3,2,0,9,2,2,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,0,10,3,0,4,0,0,0,1,1,2,1,1\n1,5,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,3,5,3,4,0,1,1,1,1,1\n1,0,1,2,1,1,5,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,5,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,2,3,3,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,5,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,5,8,5,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,4,1,1,1,0,1,1\n0,0,5,2,2,6,3,0,1,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,0,15,0,0,1,2,1,1,1,1,0,1,0\n0,0,0,3,0,8,4,0,0,1,1,0,1,0\n2,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,2,3,2,2,9,1,0,0,1,1,2,1,0\n1,4,1,2,0,8,0,4,0,1,1,0,1,0\n1,4,10,3,2,5,3,0,0,1,1,0,1,0\n2,5,6,2,4,4,5,4,0,1,1,0,1,0\n0,0,0,3,5,0,5,4,0,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,4,0,1,1,1,0,1,0\n0,1,3,2,3,1,5,0,1,1,1,1,1,0\n2,1,4,3,0,5,2,0,1,1,1,2,1,0\n0,0,8,0,0,2,0,0,0,1,1,0,1,0\n1,3,6,2,1,8,5,4,0,1,1,0,1,1\n2,0,7,1,2,6,4,4,1,1,1,2,1,0\n1,0,3,2,2,3,3,0,0,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,1\n2,1,3,2,4,9,3,0,1,1,1,1,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,0\n0,2,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,5,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,4,3,2,3,3,0,0,1,1,1,1,1\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,1,11,3,0,0,1,1,2,1,0\n1,3,1,2,1,8,3,0,1,1,1,1,1,0\n1,2,9,1,1,1,3,0,1,1,1,2,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n2,1,0,3,0,4,2,0,1,1,1,1,1,0\n0,3,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n2,1,4,3,1,5,3,0,0,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,4,10,3,0,5,0,0,0,1,1,0,1,1\n2,1,12,1,1,2,3,4,0,1,1,2,1,0\n1,1,0,3,1,5,3,0,1,1,1,1,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,4,4,3,2,4,3,0,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,1,1,1,1,0,1,0\n0,0,1,2,0,4,0,0,0,1,1,0,1,1\n0,0,3,2,2,8,1,3,0,1,1,2,1,0\n0,3,5,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,5,3,0,0,1,1,2,1,0\n2,4,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,4,0,1,1,1,2,1,0\n0,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,3,2,3,4,1,1,1,0,1,0\n0,0,1,2,2,8,1,3,0,1,1,2,1,0\n0,1,6,2,2,2,5,0,0,1,1,2,1,0\n0,3,2,1,2,7,1,0,1,1,1,2,1,0\n0,4,1,2,5,8,5,0,0,1,1,0,1,0\n1,0,3,2,1,10,3,0,0,1,1,0,1,0\n2,0,1,2,0,10,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,1,12,1,0,4,0,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,8,0,3,6,3,0,1,1,1,0,1,0\n0,0,0,3,2,2,3,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,1,1,0\n0,0,2,1,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,3,5,4,4,0,1,1,2,1,1\n0,0,12,1,5,8,5,0,0,1,1,0,1,0\n2,0,1,2,5,7,3,0,1,1,1,1,1,1\n1,4,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,8,0,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,1,3,5,0,0,1,1,2,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,0,10,3,0,3,2,0,1,1,1,0,1,1\n1,4,0,3,2,5,5,0,1,1,1,0,1,0\n0,5,1,2,1,8,5,0,0,1,1,1,1,0\n0,0,1,2,2,2,3,1,0,1,1,2,1,0\n1,4,5,2,0,12,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,1,2,0,6,2,0,1,1,1,1,1,0\n0,0,5,2,2,6,1,4,1,1,1,2,1,0\n0,0,1,2,0,5,2,4,1,1,1,1,1,0\n0,0,12,1,0,3,0,0,0,1,1,0,1,0\n0,2,3,2,0,4,2,0,1,1,1,0,1,0\n2,0,3,2,1,2,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,2,2,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,1,3,2,2,1,1,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,1,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,6,2,0,8,0,0,0,1,1,2,1,0\n0,0,1,2,2,3,3,0,0,1,1,1,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,1\n2,3,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,5,8,5,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,0,5,2,0,1,1,1,2,1,0\n2,0,1,2,1,7,1,0,1,1,1,0,1,0\n0,3,0,3,2,10,4,0,1,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,8,0,2,2,5,0,0,1,1,0,1,0\n0,0,3,2,2,1,5,4,0,1,1,0,1,0\n0,0,12,1,2,1,3,0,0,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,10,3,0,3,2,0,1,1,1,0,1,0\n1,1,3,2,0,9,0,0,0,1,1,0,1,0\n2,1,12,1,0,9,2,0,1,1,1,0,1,0\n2,1,1,2,0,4,0,0,0,1,1,1,1,1\n2,0,3,2,1,1,3,0,1,1,1,1,1,1\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,4,0,3,2,5,3,1,1,1,1,0,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,0,6,2,0,1,1,1,1,1,0\n3,0,3,2,4,5,3,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,4,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,12,1,2,2,3,0,1,1,1,0,1,0\n0,0,10,3,2,5,3,0,1,1,1,0,1,0\n1,0,1,2,1,4,5,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,1,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,0,10,3,1,4,3,0,0,1,1,1,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,14,0,2,7,5,0,0,1,1,0,1,0\n1,0,10,3,2,4,3,0,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,5,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,0,3,0,1,2,0,1,1,1,1,1,1\n2,0,10,3,2,5,4,0,0,1,1,2,1,0\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,0,3,2,1,10,3,0,1,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n1,0,1,2,1,7,3,0,1,1,1,0,1,0\n1,1,6,2,0,1,2,1,1,1,1,0,1,0\n0,0,0,3,2,4,5,0,1,1,1,0,1,0\n0,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,1,2,1,0,1,2,0,1,1,1,2,1,0\n0,1,1,2,1,1,3,0,1,1,1,2,1,0\n0,0,3,2,1,1,1,0,1,1,1,2,1,0\n1,0,3,2,5,8,1,0,0,1,1,2,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n2,0,3,2,0,8,2,4,1,1,1,0,1,0\n0,5,3,2,2,10,1,0,1,1,1,0,1,0\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,10,3,0,3,2,0,1,1,1,1,1,0\n1,1,12,1,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,3,8,1,0,0,1,1,0,1,0\n2,0,3,2,1,10,3,0,1,1,1,1,1,1\n1,0,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,0,12,1,2,9,4,0,1,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,11,0,2,2,5,0,0,1,1,1,1,0\n2,0,3,2,0,3,0,0,0,1,1,2,1,0\n1,0,6,2,4,5,5,1,0,1,1,0,1,0\n2,0,1,2,4,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,2,1,2,1,4,5,0,1,1,1,1,1,1\n1,0,3,2,0,2,0,4,0,1,1,2,1,0\n2,0,5,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,1,0,0,1,1,1,1,0\n0,0,3,2,2,2,3,0,0,1,1,1,1,0\n1,0,2,1,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,4,3,4,1,1,1,0,1,0\n0,3,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,1,0,3,0,0,1,1,0,1,0\n1,0,3,2,1,7,5,0,1,1,1,0,1,0\n0,0,2,1,0,6,2,0,1,1,1,0,1,0\n2,0,14,0,0,9,2,1,1,1,1,0,1,0\n0,0,12,1,2,3,4,0,1,1,1,2,1,0\n2,0,1,2,1,8,3,4,0,1,1,1,1,1\n2,2,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,3,3,3,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n2,3,1,2,0,8,0,0,0,1,1,0,1,1\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n1,4,10,3,0,8,2,0,1,1,1,2,1,1\n1,0,13,3,2,5,3,0,1,1,1,1,1,0\n1,0,14,0,2,8,4,0,0,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,1,1,1\n0,0,7,1,2,7,1,0,1,1,1,2,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,4,5,2,3,8,5,0,0,1,1,0,1,0\n1,5,3,2,0,6,2,0,1,1,1,0,1,1\n1,0,4,3,1,5,5,0,0,1,1,2,1,0\n0,0,0,3,2,3,4,0,1,1,1,0,1,0\n0,0,5,2,2,8,3,0,0,1,1,2,1,0\n0,5,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,7,1,2,7,3,0,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,4,1,2,3,8,1,4,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,4,12,1,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n0,0,3,2,0,2,1,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,1,1,2,0,2,0,0,0,1,1,0,1,0\n0,0,0,3,2,4,1,0,0,1,1,1,1,0\n1,1,13,3,2,5,3,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,6,2,0,3,2,0,1,1,1,1,1,0\n1,0,5,2,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,0,0,0,0,1,1,0,1,1\n2,4,6,2,1,8,3,4,0,1,1,0,1,0\n1,0,14,0,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,3,1,2,2,8,1,0,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,0,4,0,4,0,1,1,0,1,1\n0,0,5,2,1,2,5,0,0,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,6,2,0,0,2,0,1,1,1,0,1,0\n1,0,6,2,0,4,0,0,0,1,1,1,1,1\n1,0,0,3,5,10,3,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,4,1,1,1,0,1,0\n0,0,3,2,1,8,1,0,1,1,1,0,1,0\n1,2,3,2,1,1,3,0,1,1,1,1,1,0\n0,0,0,3,2,7,3,0,1,1,1,1,1,0\n1,0,3,2,3,6,3,4,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,1,3,2,1,3,1,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,4,0,1,1,1,1,0\n0,0,2,1,2,1,5,0,1,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,2,2,1,4,4,3,0,0,1,1,2,1,0\n1,1,0,3,0,4,2,1,1,1,1,0,1,0\n1,2,5,2,3,4,5,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,3,2,1,2,8,3,4,0,1,1,0,1,0\n1,0,1,2,1,1,5,4,1,1,1,0,1,0\n0,3,0,3,2,0,3,4,0,1,1,0,1,0\n1,0,5,2,1,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,4,0,3,1,5,3,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,2,1,1\n1,0,7,1,2,10,3,0,1,1,1,1,1,0\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n0,5,0,3,0,12,2,0,1,1,1,0,1,1\n0,5,0,3,2,8,1,0,1,1,1,0,1,0\n0,0,0,3,2,3,1,1,1,1,1,0,1,0\n1,0,3,2,0,1,2,1,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,9,1,2,3,1,0,1,1,1,2,1,0\n0,4,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,1,1,5,0,1,1,1,1,1,0\n1,5,4,3,0,5,2,0,1,1,1,1,1,1\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n2,3,3,2,4,2,5,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,1,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,13,3,1,5,3,0,1,1,1,1,1,1\n0,0,12,1,3,2,5,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n2,0,1,2,1,2,3,0,0,1,1,0,1,0\n0,4,1,2,2,8,3,4,0,1,1,0,1,0\n1,2,3,2,0,5,2,0,1,1,1,2,1,0\n0,0,11,0,0,5,2,0,1,1,1,1,1,0\n0,0,7,1,2,3,4,3,0,1,1,2,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,4,4,3,2,0,1,1,0,1,0\n3,0,14,0,0,10,2,1,1,1,1,2,1,0\n2,0,6,2,0,4,2,0,1,1,1,0,1,1\n0,4,0,3,2,8,1,1,0,1,1,1,1,0\n0,0,3,2,0,5,2,0,1,1,1,2,1,1\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,4,0,1,1,1,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n2,4,13,3,0,5,2,4,1,1,1,2,1,1\n0,0,3,2,2,1,1,4,1,1,1,0,1,0\n0,0,1,2,2,0,1,0,1,1,1,0,1,0\n0,2,0,3,0,3,2,0,1,1,1,0,1,0\n0,4,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,5,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,1,2,2,0,1,0,0,1,1,0,1,0\n0,0,3,2,2,4,3,0,0,1,1,0,1,0\n0,4,2,1,1,2,5,4,0,1,1,2,1,0\n0,0,0,3,2,2,1,0,1,1,1,0,1,0\n1,3,0,3,2,4,3,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,14,0,0,9,2,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,4,1,1,1,0,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,3,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,8,2,4,1,1,1,0,1,0\n0,0,1,2,2,4,1,0,1,1,1,0,1,0\n0,3,3,2,2,8,1,0,1,1,1,2,1,0\n0,4,1,2,2,0,3,0,1,1,1,1,1,1\n1,0,2,1,1,2,3,0,0,1,1,2,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,3,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n2,4,0,3,0,5,0,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,4,3,2,1,1,5,0,1,1,1,0,1,0\n0,0,1,2,2,6,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,2,1,1,4,5,0,0,1,1,0,1,0\n1,0,1,2,1,2,5,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,5,10,3,1,4,5,0,0,1,1,1,1,1\n2,0,3,2,0,3,0,0,0,1,1,2,1,0\n1,1,8,0,0,3,2,0,1,1,1,0,1,0\n1,0,9,1,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,4,8,5,0,0,1,1,1,1,0\n0,0,1,2,2,1,3,4,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n1,0,5,2,1,4,3,0,0,1,1,0,1,1\n0,5,10,3,2,5,3,0,1,1,1,2,1,0\n1,0,0,3,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,1,8,3,0,0,1,1,2,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n1,0,6,2,0,5,0,0,0,1,1,2,1,1\n2,0,1,2,0,8,0,0,0,1,1,2,1,1\n0,4,3,2,2,6,1,4,1,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n0,5,1,2,2,5,1,0,1,1,1,2,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,4,6,2,1,12,1,1,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n2,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n3,0,1,2,0,8,0,0,0,1,1,2,1,1\n1,0,3,2,1,5,3,0,0,1,1,1,1,0\n2,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,8,0,0,1,2,3,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,5,0,3,0,4,2,0,1,1,1,1,1,1\n0,5,3,2,0,1,2,0,1,1,1,0,1,1\n1,1,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,8,3,0,0,1,1,0,1,0\n0,5,0,3,2,5,1,4,0,1,1,0,1,0\n1,0,6,2,0,7,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,11,0,0,1,3,0,1,1,1,2,1,0\n2,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,1,1,1,2,1,0\n2,5,6,2,4,2,3,4,0,1,1,2,1,0\n0,0,2,1,3,2,5,0,1,1,1,2,1,0\n1,0,6,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,1,1,1,1,0,1,1\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,5,10,3,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,6,2,1,2,5,4,0,1,1,0,1,0\n2,0,6,2,0,1,2,1,1,1,1,0,1,1\n1,5,10,3,1,4,5,0,0,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,5,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,5,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,3,4,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,5,2,1,0,3,0,1,1,1,2,1,0\n2,0,1,2,4,3,3,0,0,1,1,2,1,0\n1,0,3,2,0,9,2,0,1,1,1,2,1,0\n2,0,6,2,0,1,2,0,1,1,1,1,1,1\n2,0,8,0,1,7,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,4,1,1,1,2,1,0\n0,0,1,2,2,0,4,1,1,1,1,0,1,0\n0,1,1,2,0,1,2,0,1,1,1,2,1,0\n1,0,0,3,0,7,2,0,1,1,1,0,1,1\n2,1,3,2,1,3,3,4,1,1,1,1,1,0\n0,0,1,2,2,3,5,0,1,1,1,0,1,0\n0,0,3,2,3,3,5,0,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,2,3,3,1,0,1,1,1,1,0\n1,0,0,3,2,10,3,0,1,1,1,1,1,0\n0,0,5,2,6,8,0,0,0,1,1,0,1,0\n0,0,12,1,2,11,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,1,7,3,0,0,1,1,0,1,0\n2,2,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,9,4,0,0,1,1,1,1,0\n1,4,2,1,0,2,2,4,1,1,1,1,1,0\n0,0,0,3,0,1,2,0,1,1,1,1,1,1\n2,0,1,2,4,8,5,0,0,1,1,1,1,0\n0,0,1,2,2,5,4,1,0,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,5,3,2,0,4,0,0,0,1,1,0,1,0\n0,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,5,0,3,2,5,3,0,1,1,1,1,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n1,0,8,0,2,2,1,0,1,1,1,1,1,0\n0,0,1,2,2,7,1,0,0,1,1,0,1,0\n1,0,3,2,2,6,4,0,1,1,1,0,1,0\n0,0,0,3,2,8,1,1,0,1,1,0,1,0\n0,1,12,1,0,4,2,0,1,1,1,1,1,0\n0,4,9,1,0,8,0,0,0,1,1,0,1,0\n2,0,12,1,0,10,2,0,1,1,1,0,1,0\n2,5,13,3,2,4,3,0,0,1,1,1,1,1\n1,0,1,2,1,6,3,0,1,1,1,2,1,0\n3,1,1,2,4,10,3,0,1,1,1,0,1,0\n1,0,3,2,1,8,1,0,0,1,1,0,1,0\n0,0,10,3,2,3,1,4,1,1,1,0,1,0\n1,1,3,2,1,9,3,0,1,1,1,1,1,0\n0,0,5,2,2,5,5,4,0,1,1,2,1,0\n1,2,6,2,0,4,2,0,1,1,1,0,1,1\n0,5,0,3,2,5,3,0,1,1,1,1,1,0\n1,4,5,2,0,9,2,0,1,1,1,2,1,0\n0,0,10,3,0,4,2,1,1,1,1,1,1,1\n1,0,11,0,2,2,4,3,0,1,1,0,1,0\n1,0,1,2,0,4,0,0,0,1,1,2,1,1\n1,4,3,2,0,10,2,0,1,1,1,0,1,0\n1,1,0,3,6,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n2,0,7,1,1,1,5,0,0,1,1,2,1,1\n1,0,8,0,0,7,2,0,1,1,1,0,1,0\n2,3,3,2,0,1,2,4,1,1,1,0,1,1\n0,0,3,2,1,0,3,0,0,1,1,1,1,0\n2,0,10,3,2,6,3,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,1,0,3,2,1,3,2,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,4,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,5,2,2,5,3,0,1,1,1,1,1,0\n0,4,10,3,2,5,3,0,1,1,1,2,1,0\n1,5,1,2,0,4,2,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,6,2,2,1,1,0,1,1,1,0,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n0,0,0,3,1,3,3,0,0,1,1,0,1,0\n0,0,6,2,3,0,5,4,0,1,1,2,1,0\n0,0,5,2,2,1,3,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,3,3,2,0,8,2,0,1,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,14,0,0,7,2,0,1,1,1,0,1,0\n0,4,1,2,2,8,5,4,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,0,10,3,2,5,3,0,1,1,1,0,1,0\n1,4,3,2,0,9,2,0,1,1,1,0,1,0\n0,5,10,3,0,5,0,0,0,1,1,1,1,1\n0,0,6,2,2,5,3,0,1,1,1,0,1,0\n1,2,3,2,0,9,2,0,1,1,1,0,1,1\n2,1,0,3,0,3,2,0,1,1,1,2,1,0\n2,0,12,1,1,2,5,4,0,1,1,1,1,0\n0,0,1,2,2,12,1,0,1,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,2,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,10,3,1,5,5,0,0,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,11,4,4,0,1,1,0,1,0\n1,0,1,2,0,4,0,0,0,1,1,2,1,1\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n3,0,10,3,2,5,3,0,1,1,1,1,1,0\n1,4,1,2,1,8,3,0,0,1,1,2,1,0\n0,0,6,2,2,1,4,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,2,3,5,0,0,1,1,0,1,0\n0,0,3,2,2,4,1,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,5,10,3,1,5,5,0,0,1,1,2,1,0\n2,0,3,2,1,8,3,1,0,1,1,0,1,0\n2,1,0,3,2,9,1,0,1,1,1,1,1,0\n1,5,3,2,1,5,3,0,1,1,1,0,1,0\n1,1,1,2,1,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,3,6,3,4,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n1,5,3,2,2,2,3,0,0,1,1,0,1,0\n0,5,3,2,2,3,3,4,0,1,1,2,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n1,0,6,2,0,4,0,0,0,1,1,1,1,1\n1,4,3,2,0,4,2,0,1,1,1,0,1,0\n2,0,15,0,4,11,4,0,0,1,1,0,1,0\n0,0,3,2,1,8,5,0,0,1,1,1,1,0\n1,4,3,2,1,6,3,0,1,1,1,0,1,1\n0,0,3,2,2,10,1,4,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,1\n2,1,10,3,1,5,5,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n1,2,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,4,0,0,1,1,0,1,0\n0,3,6,2,2,1,1,0,1,1,1,1,1,0\n1,0,8,0,0,10,2,0,1,1,1,1,1,0\n1,3,10,3,1,4,3,0,1,1,1,0,1,1\n1,2,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n2,0,8,0,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,0,8,0,4,0,1,1,0,1,1\n1,0,10,3,3,7,5,1,0,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,1,3,2,3,2,5,0,0,1,1,2,1,0\n0,0,1,2,2,0,3,0,0,1,1,2,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,1,2,5,0,0,1,1,1,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n1,0,1,2,3,2,4,4,0,1,1,0,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,2,9,1,0,3,2,3,1,1,1,1,1,0\n0,4,1,2,0,1,2,0,1,1,1,0,1,0\n2,3,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,2,1,1,1,1,0,1,1,1,1,1,0\n0,0,1,2,2,2,4,0,0,1,1,0,1,0\n0,1,1,2,2,7,3,4,1,1,1,0,1,0\n0,0,12,1,2,2,4,0,1,1,1,2,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,1,8,1,0,0,1,1,0,1,0\n1,5,0,3,1,5,5,0,0,1,1,2,1,0\n1,1,1,2,2,5,3,0,1,1,1,2,1,0\n0,0,1,2,0,4,0,0,0,1,1,1,1,1\n2,0,11,0,0,2,2,0,1,1,1,2,1,0\n1,4,3,2,4,2,5,0,0,1,1,0,1,0\n2,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,5,2,3,8,3,0,0,1,1,0,1,0\n0,0,6,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,2,2,3,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,1,8,3,0,1,1,1,2,1,0\n1,0,3,2,3,7,5,4,0,1,1,0,1,0\n2,3,3,2,2,8,3,4,0,1,1,0,1,0\n0,3,0,3,2,4,3,4,1,1,1,0,1,0\n0,0,1,2,0,7,2,2,1,1,1,2,1,0\n1,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,5,1,2,2,9,1,0,1,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,1,3,2,0,9,2,0,1,1,1,2,1,0\n2,3,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,1,2,1,1,1,1,2,1,1\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n1,0,3,2,0,4,0,0,0,1,1,0,1,1\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n2,1,10,3,2,9,3,0,1,1,1,2,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n0,4,1,2,0,12,2,0,1,1,1,1,1,0\n3,3,10,3,4,5,3,0,0,1,1,2,1,0\n2,4,3,2,1,6,3,4,0,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,12,1,0,2,2,4,1,1,1,0,1,0\n1,0,3,2,6,2,0,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,1,8,0,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n1,0,6,2,1,4,3,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,0,5,2,2,3,1,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n0,4,15,0,2,8,1,4,0,1,1,2,1,0\n1,0,0,3,3,4,3,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,4,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,4,1,1,1,0,1,0\n0,5,10,3,0,5,2,1,1,1,1,2,1,0\n1,0,10,3,1,5,5,0,0,1,1,0,1,1\n0,0,0,3,1,4,3,1,0,1,1,0,1,0\n2,5,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,2,0,1,4,1,1,1,2,1,0\n1,1,1,2,2,2,3,0,1,1,1,0,1,0\n1,0,0,3,4,5,5,0,0,1,1,2,1,0\n1,1,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,12,2,0,1,1,1,0,1,1\n1,5,0,3,2,5,4,0,1,1,1,0,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n2,0,0,3,4,2,3,0,1,1,1,2,1,0\n2,0,10,3,2,5,3,0,0,1,1,0,1,0\n0,4,3,2,0,12,0,0,0,1,1,0,1,0\n2,1,1,2,0,9,2,0,1,1,1,2,1,0\n0,0,12,1,2,2,5,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,1,3,2,2,9,1,0,1,1,1,1,1,0\n1,0,3,2,3,7,3,0,0,1,1,0,1,0\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n1,0,3,2,4,10,3,0,1,1,1,0,1,0\n2,1,3,2,0,2,2,4,1,1,1,2,1,0\n1,5,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,1,1,0\n0,0,0,3,0,7,2,3,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,0,8,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,4,0,1,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,2,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,3,1,2,0,4,2,4,1,1,1,0,1,0\n0,0,1,2,3,8,5,0,0,1,1,2,1,0\n1,0,3,2,0,5,2,0,1,1,1,0,1,1\n0,1,2,1,0,2,0,0,0,1,1,2,1,0\n1,0,0,3,2,3,1,0,1,1,1,0,1,0\n0,0,0,3,2,3,1,4,1,1,1,0,1,0\n2,0,0,3,0,4,2,3,1,1,1,2,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,5,2,2,1,3,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,1,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,1,2,1,2,1,1,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n1,5,3,2,1,8,1,4,0,1,1,0,1,0\n1,2,5,2,0,3,2,0,1,1,1,1,1,1\n0,0,6,2,2,1,1,4,1,1,1,0,1,0\n0,0,2,1,2,6,1,4,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n1,0,1,2,0,5,2,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,1,1,1,1,1,1,0\n0,0,1,2,4,8,5,0,0,1,1,0,1,0\n1,1,13,3,0,5,2,0,1,1,1,2,1,0\n1,0,9,1,2,7,3,4,0,1,1,1,1,0\n2,5,0,3,1,4,5,4,1,1,1,0,1,0\n1,1,8,0,0,2,2,0,1,1,1,1,1,0\n1,0,0,3,5,2,3,3,1,1,1,0,1,0\n1,0,6,2,1,0,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,1,1,0,1,1,1,1,0\n0,5,3,2,0,12,2,0,1,1,1,0,1,1\n1,0,12,1,2,2,5,4,0,1,1,0,1,0\n1,1,0,3,3,1,5,0,1,1,1,2,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,0,3,2,0,1,1,1,1,1,1\n0,0,6,2,3,12,3,0,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,1,4,3,0,1,1,1,1,1,0\n0,0,10,3,0,5,0,1,0,1,1,0,1,1\n1,0,14,0,0,2,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n2,3,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,1,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,5,4,0,1,1,2,1,0\n1,0,3,2,0,2,0,1,0,1,1,0,1,0\n1,0,12,1,0,6,2,0,1,1,1,1,1,0\n1,0,1,2,1,1,3,0,1,1,1,1,1,0\n0,0,3,2,5,4,4,0,0,1,1,1,1,0\n2,0,12,1,3,7,3,4,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,3,7,5,0,0,1,1,1,1,0\n1,0,3,2,0,3,2,4,1,1,1,0,1,0\n1,0,6,2,1,0,5,4,0,1,1,0,1,0\n0,0,1,2,0,8,0,0,0,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,1,4,3,0,1,1,1,1,1,0\n0,5,1,2,2,8,1,1,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,4,6,2,0,12,2,4,1,1,1,0,1,0\n1,1,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,8,5,4,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,5,0,3,1,5,3,0,1,1,1,0,1,1\n0,0,2,1,1,2,5,0,0,1,1,2,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,12,1,2,1,5,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,4,0,1,1,2,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,1,14,0,0,6,2,0,1,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,4,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,12,1,4,0,1,1,0,1,0\n2,2,1,2,0,4,2,0,1,1,1,2,1,0\n1,5,0,3,0,4,2,1,1,1,1,0,1,0\n1,5,10,3,2,5,3,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,4,3,0,1,1,1,1,1,0\n1,0,0,3,1,4,3,0,1,1,1,2,1,0\n1,3,3,2,0,8,2,0,1,1,1,1,1,0\n0,0,2,1,0,9,2,0,1,1,1,0,1,0\n1,0,2,1,1,3,5,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,5,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,5,2,2,7,1,0,1,1,1,0,1,0\n1,0,0,3,1,3,3,0,0,1,1,1,1,0\n0,0,3,2,0,10,2,4,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n1,3,3,2,2,8,5,0,0,1,1,0,1,0\n0,4,0,3,1,5,5,0,0,1,1,2,1,0\n1,5,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,10,3,2,8,3,0,0,1,1,0,1,0\n2,5,14,0,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,1,1,1,2,1,0\n2,0,3,2,2,7,3,4,0,1,1,0,1,0\n0,0,14,0,2,6,4,0,1,1,1,0,1,0\n0,4,3,2,0,12,2,0,1,1,1,0,1,1\n0,0,0,3,1,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,4,0,1,1,0,1,0\n0,0,9,1,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,2,1,3,4,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n2,0,4,3,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,4,11,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,12,1,2,2,1,0,0,1,1,0,1,0\n2,3,1,2,4,4,3,0,0,1,1,0,1,0\n1,3,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,1,0,0,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,14,0,1,1,3,0,1,1,1,0,1,0\n2,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,3,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,0,3,2,2,1,4,0,1,1,2,1,0\n1,5,3,2,1,4,5,0,0,1,1,1,1,0\n1,0,3,2,0,1,0,0,0,1,1,0,1,1\n2,1,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n0,1,1,2,2,1,3,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,0,4,3,0,5,0,0,0,1,1,1,1,1\n0,0,10,3,2,4,3,1,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,3,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,2,0,3,0,0,1,1,1,1,0\n1,0,10,3,1,4,3,0,0,1,1,1,1,1\n2,0,1,2,4,8,4,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,4,1,1,1,0,1,1\n1,0,0,3,0,8,2,0,1,1,1,0,1,0\n1,4,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,8,0,0,9,2,0,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,5,0,3,2,5,1,0,0,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,5,2,2,7,3,0,1,1,1,1,1,0\n2,1,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,6,2,3,1,3,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,0,10,0,4,0,1,1,0,1,0\n0,0,2,1,2,1,3,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,6,2,0,3,2,0,1,1,1,0,1,0\n0,4,5,2,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,2,1,1,0,0,1,1,2,1,0\n0,0,3,2,0,2,2,3,1,1,1,0,1,0\n2,0,1,2,0,6,2,0,1,1,1,2,1,0\n2,0,1,2,2,0,1,0,1,1,1,2,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,2,0,3,0,3,1,0,1,1,1,1,1,1\n1,0,0,3,1,4,5,0,0,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,4,3,1,3,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,2,4,3,4,0,1,1,1,1,1\n2,0,0,3,0,1,2,0,1,1,1,1,1,1\n1,1,0,3,1,3,3,0,1,1,1,1,1,0\n0,0,6,2,2,8,3,0,0,1,1,0,1,0\n0,0,5,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,1,6,5,0,0,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,2,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n2,0,3,2,1,2,5,0,1,1,1,2,1,0\n1,0,9,1,0,3,2,1,1,1,1,0,1,1\n0,0,7,1,3,7,5,0,0,1,1,0,1,0\n0,0,3,2,1,7,3,0,0,1,1,2,1,0\n1,0,3,2,2,2,3,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,2,1,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n2,0,2,1,0,2,2,0,1,1,1,2,1,0\n0,0,14,0,2,2,3,0,1,1,1,1,1,0\n2,0,0,3,0,0,2,0,1,1,1,2,1,0\n1,2,0,3,2,0,3,0,1,1,1,1,1,1\n0,4,1,2,2,8,3,0,0,1,1,2,1,0\n1,0,10,3,0,5,0,0,0,1,1,1,1,0\n0,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,0,0,3,0,6,2,0,1,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,2,0,1,1,2,1,0\n3,1,8,0,2,9,3,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,2,1,2,3,5,0,0,1,1,2,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n2,0,1,2,1,2,3,0,0,1,1,2,1,0\n1,4,1,2,0,8,0,0,0,1,1,0,1,0\n0,0,14,0,0,6,2,3,1,1,1,0,1,0\n1,0,0,3,2,2,3,0,1,1,1,1,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,1,5,2,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,1,8,5,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n1,0,14,0,0,2,2,1,1,1,1,0,1,0\n0,0,0,3,2,2,3,0,1,1,1,0,1,0\n2,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,1,1,0\n0,0,1,2,0,7,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,1\n1,0,0,3,3,5,5,0,0,1,1,1,1,0\n0,1,6,2,1,1,3,0,1,1,1,1,1,0\n1,0,3,2,3,3,3,0,1,1,1,1,1,0\n1,0,0,3,0,5,0,1,0,1,1,0,1,1\n0,0,1,2,2,4,3,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,9,1,2,6,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,4,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,11,0,2,6,4,0,1,1,1,1,1,0\n0,0,0,3,0,3,0,4,0,1,1,1,1,1\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,4,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,1,6,3,0,1,1,1,0,1,0\n0,0,12,1,0,2,0,0,0,1,1,0,1,0\n0,2,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,5,0,1,1,1,0,1,0\n1,0,1,2,2,1,3,0,0,1,1,0,1,0\n0,0,8,0,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,0,3,0,0,0,1,1,1,1,0\n1,0,14,0,5,1,4,0,1,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n1,1,1,2,0,9,2,0,1,1,1,0,1,1\n0,0,9,1,2,6,3,0,1,1,1,0,1,0\n1,3,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n2,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,3,4,1,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,2,1,0\n1,0,3,2,2,10,4,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,8,0,1,1,3,0,1,1,1,1,1,0\n0,1,3,2,2,2,5,0,0,1,1,2,1,0\n1,0,2,1,1,2,5,0,0,1,1,0,1,0\n1,0,5,2,1,5,3,0,0,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,2,1,0\n1,2,0,3,3,1,1,0,1,1,1,1,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,0\n2,1,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,1,0,1,1,1,1,1,0\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n2,0,8,0,0,1,2,0,1,1,1,2,1,0\n2,5,6,2,0,12,2,0,1,1,1,0,1,0\n1,4,3,2,2,2,3,4,0,1,1,0,1,0\n2,0,8,0,0,7,2,0,1,1,1,0,1,0\n1,0,2,1,4,6,5,4,0,1,1,0,1,0\n0,0,3,2,3,4,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n1,0,6,2,0,8,2,0,1,1,1,0,1,0\n3,1,1,2,0,1,2,0,1,1,1,2,1,1\n0,1,3,2,1,1,3,0,1,1,1,1,1,0\n0,0,2,1,3,9,4,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,1,5,2,0,1,3,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,4,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,3,5,1,0,1,1,1,1,1,0\n1,0,3,2,1,4,5,0,0,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,7,5,4,1,1,1,2,1,0\n3,2,3,2,4,3,4,1,1,1,1,2,1,1\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,2,1,2,0,3,2,0,1,1,1,0,1,0\n2,2,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,0,6,2,4,1,1,1,0,1,0\n2,0,7,1,0,7,2,0,1,1,1,1,1,0\n2,0,3,2,4,3,3,0,1,1,1,2,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,0,5,2,0,1,1,1,2,1,1\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n2,1,4,3,0,5,2,0,1,1,1,2,1,0\n1,0,2,1,1,2,3,0,0,1,1,2,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n2,0,3,2,3,7,3,0,1,1,1,1,1,0\n1,0,2,1,0,3,0,0,0,1,1,0,1,0\n1,0,6,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,6,2,2,2,5,2,0,1,1,0,1,0\n0,0,6,2,1,5,1,4,1,1,1,0,1,0\n0,4,3,2,1,8,1,0,0,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,6,1,0,1,1,1,0,1,0\n1,0,3,2,1,8,5,4,0,1,1,0,1,0\n2,1,0,3,0,4,0,0,0,1,1,2,1,0\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,9,1,2,6,1,0,1,1,1,2,1,0\n0,0,0,3,2,8,1,0,1,1,1,2,1,0\n0,4,5,2,0,12,2,0,1,1,1,1,1,1\n0,5,0,3,2,5,3,0,0,1,1,2,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,8,2,0,1,1,1,1,1,0\n1,0,5,2,0,0,2,0,1,1,1,0,1,1\n0,4,12,1,0,2,2,0,1,1,1,0,1,0\n0,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,5,10,3,0,5,2,0,1,1,1,1,1,1\n0,2,3,2,0,3,2,0,1,1,1,1,1,0\n2,4,10,3,0,4,2,4,1,1,1,0,1,1\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,1,1,1,1,1,0,1,0\n1,0,3,2,0,7,2,3,1,1,1,0,1,0\n0,0,1,2,2,5,1,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,2,8,5,0,0,1,1,1,1,1\n2,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,2,8,5,0,0,1,1,2,1,0\n2,0,12,1,0,3,2,0,1,1,1,2,1,0\n1,0,10,3,2,4,3,0,1,1,1,1,1,1\n1,1,1,2,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,1,2,3,0,0,1,1,0,1,0\n0,0,2,1,5,6,3,1,1,1,1,0,1,0\n1,2,5,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,0,3,1,0,1,1,0,1,0\n1,2,3,2,1,4,3,0,1,1,1,0,1,1\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n2,0,10,3,0,5,2,1,1,1,1,1,1,1\n0,4,0,3,2,4,1,0,1,1,1,0,1,0\n1,0,0,3,2,1,3,0,1,1,1,0,1,0\n0,0,6,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,0,2,2,0,1,1,1,0,1,0\n1,0,5,2,4,8,5,0,0,1,1,1,1,0\n0,0,1,2,2,8,4,0,0,1,1,0,1,0\n1,4,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,6,2,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,5,2,2,2,1,0,1,1,1,1,1,0\n2,0,8,0,4,10,3,0,1,1,1,2,1,0\n0,0,3,2,0,5,0,4,0,1,1,0,1,0\n0,0,6,2,2,0,3,4,0,1,1,0,1,0\n2,0,6,2,0,12,2,4,1,1,1,2,1,1\n0,0,2,1,2,3,1,4,0,1,1,2,1,0\n1,0,3,2,0,2,2,4,1,1,1,0,1,0\n1,0,3,2,5,2,5,0,0,1,1,2,1,0\n2,0,3,2,4,10,5,0,1,1,1,1,1,0\n2,3,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,12,1,2,3,1,0,0,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n2,0,12,1,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n1,0,2,1,2,2,3,0,0,1,1,0,1,0\n1,5,10,3,2,5,4,0,0,1,1,0,1,0\n0,0,0,3,2,3,1,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,2,10,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,8,0,0,7,2,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n2,5,6,2,4,5,5,0,0,1,1,0,1,0\n1,1,3,2,1,9,4,0,1,1,1,2,1,0\n1,0,14,0,2,7,1,0,0,1,1,2,1,0\n1,0,8,0,2,7,3,1,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,0,0,3,0,8,2,0,1,1,1,1,1,0\n1,0,1,2,2,2,3,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,0,5,2,2,5,3,4,0,1,1,2,1,0\n2,4,10,3,1,5,3,0,0,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,14,0,0,6,2,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,9,1,1,10,3,0,1,1,1,1,1,1\n1,0,3,2,4,10,5,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,2,1,0\n1,0,3,2,1,4,5,0,0,1,1,1,1,0\n1,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,8,0,0,0,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,2,1,0\n1,0,3,2,1,7,3,4,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,0\n2,0,1,2,1,3,3,0,0,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,0,3,2,4,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,2,1,0\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n3,6,3,2,0,2,2,0,1,1,1,1,1,0\n1,0,14,0,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n2,0,6,2,0,1,2,0,1,1,1,1,1,1\n0,0,5,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,3,8,5,0,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,5,2,4,1,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,2,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,12,1,2,3,1,4,0,1,1,2,1,0\n0,0,6,2,1,2,5,0,0,1,1,2,1,0\n1,0,3,2,1,1,5,0,1,1,1,0,1,0\n1,0,7,1,2,6,1,0,1,1,1,0,1,0\n0,0,2,1,0,7,2,0,1,1,1,1,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,0\n0,0,2,1,2,3,3,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,4,6,2,0,10,2,2,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n0,0,5,2,0,8,2,0,1,1,1,0,1,1\n2,3,1,2,0,4,2,4,1,1,1,0,1,1\n1,0,10,3,2,4,3,4,0,1,1,0,1,1\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n2,0,14,0,0,10,2,4,1,1,1,1,1,0\n2,1,10,3,1,5,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n1,0,3,2,3,6,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,2,1,0,6,2,0,1,1,1,1,1,1\n0,0,3,2,0,5,2,0,1,1,1,0,1,1\n1,0,4,3,1,5,5,0,0,1,1,2,1,0\n0,0,1,2,2,5,3,0,0,1,1,0,1,0\n0,0,0,3,0,8,4,0,0,1,1,2,1,0\n2,0,7,1,0,2,2,0,1,1,1,2,1,0\n1,0,9,1,1,7,3,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,1,1,2,0,9,2,0,1,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,10,3,2,5,3,0,0,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,2,1,0\n0,0,3,2,2,3,3,0,0,1,1,1,1,0\n1,0,12,1,3,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n3,0,8,0,0,5,2,4,1,1,1,2,1,0\n1,1,4,3,0,5,2,0,1,1,1,2,1,1\n2,1,3,2,4,8,5,0,0,1,1,2,1,0\n1,0,1,2,1,1,3,0,1,1,1,1,1,0\n0,0,3,2,3,6,5,1,0,1,1,1,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,5,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,0,2,2,0,1,1,1,2,1,0\n0,0,3,2,1,0,1,1,0,1,1,0,1,0\n0,0,5,2,0,8,0,0,0,1,1,0,1,1\n0,1,1,2,1,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,1,2,0,4,2,4,1,1,1,1,1,0\n2,0,10,3,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,9,1,2,6,3,0,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,3,1,1,1,1,0,1,0\n0,0,1,2,2,7,4,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,14,0,4,11,3,1,0,1,1,1,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,1,2,2,4,3,0,0,1,1,0,1,0\n1,3,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,1,1,5,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,1,3,2,5,2,5,4,0,1,1,0,1,0\n1,4,0,3,1,5,5,0,0,1,1,0,1,0\n0,0,3,2,2,3,5,0,0,1,1,0,1,0\n2,0,13,3,0,4,2,0,1,1,1,1,1,1\n1,2,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,5,1,2,2,1,1,0,1,1,1,2,1,0\n0,0,3,2,2,1,4,0,1,1,1,1,1,0\n0,0,5,2,2,4,3,0,1,1,1,2,1,0\n2,3,3,2,0,8,2,0,1,1,1,0,1,1\n2,1,0,3,0,8,2,0,1,1,1,0,1,1\n1,1,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,0,5,0,0,0,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,11,0,2,9,3,0,1,1,1,0,1,0\n0,4,1,2,2,12,1,1,0,1,1,2,1,0\n1,0,3,2,2,3,1,0,0,1,1,0,1,0\n1,3,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,9,3,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,0,2,1,2,1,5,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,2,1,0\n1,3,4,3,3,5,5,0,0,1,1,0,1,1\n2,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,1,7,5,4,0,1,1,0,1,0\n2,0,3,2,1,7,3,0,0,1,1,0,1,0\n1,0,10,3,3,0,3,0,1,1,1,0,1,1\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n2,0,4,3,0,4,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,0,2,0,0,0,1,1,1,1,0\n1,0,5,2,0,4,2,0,1,1,1,0,1,1\n2,1,1,2,4,7,3,0,0,1,1,0,1,0\n2,2,10,3,0,5,2,1,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,12,3,4,0,1,1,2,1,0\n0,0,1,2,2,9,1,0,1,1,1,1,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,0,10,3,2,5,4,1,0,1,1,0,1,0\n2,0,3,2,0,2,0,4,0,1,1,2,1,0\n1,1,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,3,1,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,5,0,0,1,1,0,1,0\n1,0,1,2,1,0,5,0,0,1,1,0,1,0\n1,0,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,1,8,1,4,0,1,1,0,1,0\n2,0,8,0,0,7,0,0,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,5,0,3,1,5,5,0,0,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,1,1,2,0,3,2,0,1,1,1,2,1,0\n1,0,3,2,1,12,3,0,1,1,1,0,1,0\n1,0,9,1,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,1,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,4,3,2,0,8,0,0,0,1,1,0,1,1\n0,4,3,2,2,2,3,4,1,1,1,0,1,0\n1,5,1,2,1,10,5,0,1,1,1,2,1,0\n0,0,4,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n2,4,0,3,4,5,3,4,0,1,1,2,1,0\n0,0,1,2,0,8,2,1,1,1,1,1,1,0\n1,0,1,2,1,8,5,0,1,1,1,0,1,0\n1,3,5,2,2,5,3,0,1,1,1,0,1,1\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n2,0,8,0,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,1,1,0\n0,0,7,1,2,2,1,2,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,0,0,0,1,1,1,1,1\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n2,0,12,1,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,0,8,1,0,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,1,8,3,0,1,1,1,1,1,0\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,0,7,2,0,1,1,1,0,1,0\n2,0,10,3,0,4,2,0,1,1,1,0,1,1\n2,3,3,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,7,5,0,0,1,1,1,1,0\n0,1,8,0,2,1,3,0,1,1,1,0,1,0\n1,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,2,1,1,1,3,0,1,1,1,1,1,0\n0,0,1,2,0,10,2,4,1,1,1,0,1,0\n0,0,0,3,1,6,1,4,1,1,1,0,1,0\n0,5,1,2,2,2,1,4,0,1,1,2,1,0\n0,0,14,0,2,7,3,0,1,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,1,4,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,4,4,0,1,1,2,1,0\n1,0,3,2,1,1,5,0,1,1,1,0,1,0\n0,1,0,3,0,1,2,0,1,1,1,2,1,0\n2,1,0,3,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,3,3,2,0,5,0,4,0,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,1\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,10,3,0,2,2,0,1,1,1,2,1,1\n1,0,10,3,0,4,0,0,0,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,4,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n0,0,1,2,0,8,0,0,0,1,1,0,1,0\n0,0,3,2,1,10,3,0,1,1,1,1,1,0\n1,4,1,2,0,4,2,0,1,1,1,0,1,0\n0,5,1,2,0,5,2,0,1,1,1,2,1,0\n2,0,1,2,0,4,0,0,0,1,1,0,1,0\n0,0,3,2,2,2,5,0,0,1,1,0,1,0\n1,0,6,2,0,2,2,0,1,1,1,1,1,0\n0,4,1,2,2,6,1,0,1,1,1,0,1,0\n1,0,10,3,1,3,3,0,1,1,1,1,1,1\n1,1,3,2,0,5,2,0,1,1,1,2,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n2,0,6,2,0,4,0,0,0,1,1,1,1,1\n0,0,1,2,0,10,2,0,1,1,1,0,1,1\n1,0,0,3,0,0,2,0,1,1,1,2,1,1\n0,0,0,3,0,8,4,1,1,1,1,0,1,0\n0,0,1,2,2,10,4,0,1,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,7,4,2,1,1,1,0,1,0\n2,0,1,2,0,10,2,0,1,1,1,2,1,1\n2,1,0,3,0,4,0,0,0,1,1,2,1,1\n2,0,0,3,0,0,2,0,1,1,1,1,1,1\n0,0,6,2,2,8,3,0,0,1,1,0,1,0\n2,0,8,0,4,2,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,2,1,0\n1,0,10,3,2,4,3,0,0,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,14,0,0,1,2,0,1,1,1,0,1,0\n2,4,0,3,0,5,2,0,1,1,1,1,1,1\n1,4,6,2,3,8,1,4,0,1,1,0,1,0\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,2,1,0\n1,1,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,4,3,3,0,0,1,1,1,1,0\n2,0,3,2,2,3,3,0,1,1,1,0,1,0\n0,0,8,0,2,7,1,0,0,1,1,2,1,0\n1,0,5,2,2,0,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,4,0,0,1,1,1,1,0\n0,0,3,2,3,9,5,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,14,0,0,7,0,1,0,1,1,0,1,1\n0,0,1,2,2,3,4,0,1,1,1,1,1,0\n1,0,3,2,2,8,3,0,1,1,1,0,1,0\n2,0,3,2,5,4,3,0,0,1,1,1,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,11,0,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,5,2,0,0,2,0,1,1,1,0,1,0\n0,0,1,2,2,4,1,0,0,1,1,0,1,0\n0,0,3,2,2,6,3,4,1,1,1,2,1,0\n2,0,11,0,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n0,0,5,2,2,8,3,0,0,1,1,2,1,0\n0,4,1,2,2,5,1,0,0,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,1\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n0,0,6,2,2,3,4,4,1,1,1,1,1,0\n1,0,1,2,4,3,3,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,9,2,0,1,1,1,0,1,0\n0,1,3,2,2,2,3,0,0,1,1,1,1,0\n0,1,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,3,7,3,0,1,1,1,2,1,0\n0,0,1,2,2,6,3,0,1,1,1,0,1,0\n2,0,8,0,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,4,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,1,0,3,1,1,3,0,1,1,1,1,1,0\n0,0,6,2,1,4,5,0,0,1,1,1,1,0\n0,0,5,2,0,0,0,0,0,1,1,0,1,0\n2,0,12,1,1,2,3,0,1,1,1,2,1,0\n1,0,3,2,0,7,0,0,0,1,1,1,1,0\n0,3,5,2,1,8,3,0,0,1,1,0,1,0\n0,0,5,2,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,1,7,5,0,0,1,1,0,1,0\n0,0,3,2,2,1,4,1,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,1\n2,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,2,5,0,0,1,1,0,1,0\n1,0,3,2,3,1,3,4,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,1\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,11,0,4,7,5,0,0,1,1,1,1,0\n0,0,7,1,2,6,3,4,1,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,0,0,0,1,1,0,1,1\n0,0,3,2,0,3,2,3,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,1,2,0,2,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n1,0,6,2,5,1,5,0,1,1,1,0,1,0\n0,0,9,1,2,1,4,0,1,1,1,0,1,0\n0,0,8,0,2,8,1,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,4,0,3,2,5,1,4,1,1,1,2,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,5,4,0,1,1,2,1,0\n0,0,3,2,2,2,3,4,0,1,1,0,1,0\n2,0,3,2,4,2,5,4,0,1,1,2,1,0\n1,0,10,3,0,4,0,0,0,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n2,0,8,0,0,10,2,4,1,1,1,0,1,0\n1,5,3,2,2,2,5,4,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,5,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,5,4,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,1\n0,0,3,2,3,2,5,4,0,1,1,0,1,0\n1,1,4,3,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,0,0,2,1,1,1,1,1,1,1\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n1,0,3,2,4,1,5,4,0,1,1,0,1,0\n0,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,6,1,4,1,1,1,2,1,0\n0,2,0,3,2,5,3,0,0,1,1,1,1,1\n0,0,3,2,1,3,5,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n2,0,1,2,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,1\n2,0,1,2,0,3,2,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n1,1,9,1,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,4,3,5,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,4,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,2,7,1,0,0,1,1,1,1,0\n0,2,3,2,0,8,2,0,1,1,1,1,1,0\n1,0,12,1,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,5,4,0,1,1,0,1,0\n0,0,8,0,2,7,1,0,0,1,1,1,1,0\n0,5,1,2,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,2,1,3,4,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,4,3,1,0,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,1,7,1,0,10,2,0,1,1,1,1,1,1\n1,0,8,0,0,2,0,0,0,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,4,5,2,2,1,1,0,1,1,1,2,1,0\n0,0,1,2,0,2,0,0,0,1,1,1,1,0\n1,4,0,3,0,5,2,0,1,1,1,2,1,0\n0,0,0,3,2,0,1,0,0,1,1,0,1,0\n0,0,3,2,2,6,4,0,1,1,1,1,1,0\n1,0,11,0,0,9,2,0,1,1,1,1,1,0\n0,5,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,0,3,0,3,2,4,1,1,1,0,1,1\n0,0,3,2,1,8,5,0,0,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,0,10,3,1,0,3,0,1,1,1,0,1,1\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,0,3,2,1,6,5,0,1,1,1,1,1,0\n0,0,0,3,2,2,3,0,1,1,1,2,1,0\n1,1,6,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,7,1,1,10,3,4,1,1,1,0,1,0\n1,0,3,2,1,1,4,0,1,1,1,0,1,0\n1,1,1,2,0,4,2,2,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n2,4,13,3,2,5,3,0,0,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,1,0,0,1,1,2,1,0\n2,4,10,3,0,5,0,0,0,1,1,0,1,1\n0,4,0,3,0,12,2,4,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,1,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,4,0,1,1,2,1,0\n0,0,3,2,5,2,5,0,0,1,1,0,1,0\n0,0,1,2,1,1,3,4,1,1,1,0,1,0\n1,5,3,2,1,4,5,0,0,1,1,0,1,0\n1,0,2,1,1,2,5,4,0,1,1,2,1,0\n1,0,0,3,4,11,5,0,0,1,1,2,1,1\n1,5,13,3,2,4,3,0,0,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n3,3,13,3,4,4,3,0,1,1,1,2,1,1\n0,5,1,2,1,2,5,0,1,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,0,2,2,0,1,1,1,1,1,0\n0,1,0,3,2,0,3,0,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,2,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n2,0,2,1,0,10,2,0,1,1,1,0,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,5,3,0,1,1,1,2,1,0\n1,0,3,2,0,5,2,0,1,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,7,1,0,0,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,2,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,1,10,3,0,1,2,0,1,1,1,2,1,0\n3,0,8,0,0,6,2,0,1,1,1,2,1,0\n2,2,3,2,0,4,2,0,1,1,1,0,1,1\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,4,3,2,0,7,2,0,1,1,1,0,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,6,2,2,8,3,0,0,1,1,0,1,0\n1,4,9,1,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,3,4,0,1,1,0,1,0\n0,0,11,0,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,4,4,3,4,0,1,1,0,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n0,5,0,3,2,8,4,0,0,1,1,2,1,0\n1,5,0,3,1,8,5,4,0,1,1,0,1,0\n1,0,0,3,0,4,2,4,1,1,1,1,1,1\n1,0,0,3,1,4,5,4,0,1,1,1,1,0\n3,1,3,2,0,9,2,0,1,1,1,0,1,0\n1,2,7,1,2,3,1,0,0,1,1,1,1,0\n0,5,1,2,0,12,2,0,1,1,1,0,1,0\n1,0,5,2,0,5,2,0,1,1,1,1,1,1\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,1,3,2,2,1,3,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,14,0,2,2,5,0,0,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n0,0,2,1,2,6,3,0,1,1,1,2,1,0\n0,0,1,2,3,0,5,0,0,1,1,1,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,6,0,4,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n0,3,0,3,0,12,2,0,1,1,1,1,1,1\n1,0,0,3,3,4,5,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,1,1,1,1,0,1,1\n1,1,1,2,0,0,2,4,1,1,1,0,1,1\n1,0,3,2,5,1,3,4,0,1,1,0,1,0\n1,4,11,0,2,2,3,2,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,2,3,2,3,4,5,0,1,1,1,0,1,0\n1,0,2,1,3,2,5,4,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,2,3,2,0,1,2,0,1,1,1,1,1,1\n1,4,13,3,2,5,5,0,0,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,1,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,12,1,2,6,4,0,1,1,1,0,1,0\n0,0,2,1,2,6,4,0,1,1,1,2,1,0\n1,1,4,3,0,5,2,3,1,1,1,1,1,1\n0,0,3,2,2,1,4,0,1,1,1,2,1,0\n2,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,13,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,3,2,2,5,3,0,1,1,1,0,1,0\n2,0,0,3,0,12,2,1,1,1,1,0,1,1\n1,4,10,3,0,5,2,0,1,1,1,2,1,1\n0,3,3,2,2,4,5,0,0,1,1,1,1,0\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n0,3,1,2,2,8,1,4,0,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,2,1,1,1,0,1,0\n0,3,1,2,0,7,2,4,1,1,1,1,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,2,1,3,2,5,4,0,1,1,0,1,0\n0,0,3,2,2,9,3,0,1,1,1,0,1,0\n0,0,3,2,1,9,3,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,1,1,2,0,2,2,0,1,1,1,0,1,0\n1,4,6,2,0,12,2,0,1,1,1,0,1,1\n1,1,0,3,2,5,5,0,0,1,1,1,1,0\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,2,7,1,0,1,1,1,0,1,0\n2,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,5,2,2,1,3,0,1,1,1,1,1,0\n2,0,10,3,0,2,2,0,1,1,1,0,1,0\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,7,3,1,0,1,1,1,1,0\n2,0,14,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,2,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,5,1,2,2,2,3,0,0,1,1,0,1,0\n1,0,5,2,0,0,2,0,1,1,1,1,1,1\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n1,0,3,2,0,8,2,4,1,1,1,1,1,0\n2,2,1,2,2,4,3,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,0,0,0,0,0,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n1,1,10,3,0,5,2,4,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,7,1,2,1,3,4,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,2,1,0\n2,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,10,3,1,5,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,5,0,3,0,12,2,0,1,1,1,0,1,1\n1,0,3,2,1,12,5,0,0,1,1,0,1,0\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,0,3,2,1,3,5,0,0,1,1,2,1,0\n2,0,1,2,0,8,2,0,1,1,1,2,1,0\n2,0,8,0,3,2,1,4,0,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,10,3,1,5,5,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,1,8,3,0,0,1,1,1,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,1\n1,3,3,2,2,8,5,0,0,1,1,0,1,0\n2,2,1,2,0,4,2,0,1,1,1,1,1,1\n2,2,13,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,1,4,0,1,1,0,1,0\n0,0,1,2,1,8,5,4,0,1,1,2,1,0\n0,0,3,2,1,3,1,0,0,1,1,2,1,0\n1,0,6,2,1,8,5,0,0,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,2,1,1\n0,0,1,2,2,3,4,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,4,0,1,1,1,0,1,0\n2,4,1,2,1,2,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,5,1,2,0,10,2,0,1,1,1,2,1,0\n0,1,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,0,8,0,0,0,1,1,2,1,0\n3,0,0,3,0,5,2,0,1,1,1,1,1,0\n2,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,0,1,1\n2,0,0,3,2,3,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,5,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,4,1,1,1,0,1,0\n1,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,2,1,1,4,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,12,1,0,2,2,0,1,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,1,1,0\n2,3,0,3,1,4,3,0,1,1,1,0,1,0\n0,4,3,2,0,10,2,0,1,1,1,1,1,0\n0,4,3,2,0,12,2,0,1,1,1,0,1,1\n1,2,1,2,0,9,2,0,1,1,1,0,1,0\n1,0,3,2,1,3,1,0,0,1,1,2,1,0\n0,4,6,2,2,8,1,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,15,0,2,7,3,4,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,6,3,2,1,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,2,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,0,0,0,1,1,0,1,0\n1,3,1,2,1,6,3,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,2,7,5,4,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n2,1,8,0,4,9,5,0,1,1,1,1,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,3,3,5,4,0,1,1,0,1,0\n0,0,3,2,2,6,1,4,1,1,1,0,1,0\n0,1,12,1,1,1,3,0,1,1,1,1,1,0\n0,0,1,2,0,4,0,0,0,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n0,0,7,1,2,2,3,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,14,0,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,3,3,2,2,8,3,0,1,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,0,3,2,4,3,0,0,1,1,2,1,0\n1,0,3,2,1,2,3,3,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,3,4,1,1,1,0,1,0\n1,1,10,3,2,4,3,0,0,1,1,1,1,0\n1,3,7,1,0,7,2,0,1,1,1,0,1,1\n0,3,1,2,2,0,3,0,1,1,1,0,1,0\n1,5,3,2,1,8,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,1,1,1,1,1,1,1\n1,0,0,3,3,5,5,4,0,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,1,5,5,0,0,1,1,2,1,0\n2,0,3,2,4,4,3,0,0,1,1,0,1,0\n1,3,6,2,0,8,0,0,0,1,1,2,1,0\n1,5,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,4,1,0,0,1,1,2,1,0\n1,0,14,0,0,3,0,0,0,1,1,2,1,0\n0,0,14,0,0,2,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n2,1,3,2,3,9,5,0,0,1,1,1,1,0\n2,0,8,0,0,9,2,4,1,1,1,0,1,0\n2,3,1,2,0,8,2,0,1,1,1,0,1,1\n1,0,0,3,1,4,3,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,1,8,5,4,0,1,1,0,1,0\n1,0,5,2,0,3,0,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,1,1,1,1,0,1,1\n1,0,6,2,0,0,0,0,0,1,1,2,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,4,3,2,0,6,2,0,1,1,1,0,1,0\n0,1,2,1,3,6,5,0,0,1,1,0,1,0\n2,4,0,3,4,5,5,0,0,1,1,1,1,1\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,5,0,0,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n0,0,0,3,0,7,2,0,1,1,1,1,1,0\n3,3,3,2,0,1,2,0,1,1,1,2,1,0\n1,4,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,4,1,1,1,2,1,0\n0,0,3,2,5,2,1,4,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,1,1,0\n1,0,7,1,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,2,3,2,2,4,3,0,1,1,1,1,1,1\n1,0,7,1,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,5,0,1,1,1,1,1,0\n2,0,3,2,3,10,5,4,0,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,12,1,1,7,1,0,0,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n1,1,5,2,0,1,2,0,1,1,1,2,1,0\n1,0,7,1,0,6,2,0,1,1,1,0,1,0\n0,0,14,0,5,1,4,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,1,0,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,5,3,2,1,8,3,4,0,1,1,2,1,0\n1,0,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,0,7,1,0,2,2,0,1,1,1,1,1,0\n2,0,3,2,1,3,5,4,0,1,1,0,1,0\n0,1,6,2,0,4,2,0,1,1,1,1,1,0\n0,5,0,3,2,12,3,4,0,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,3,1,2,2,8,4,0,1,1,1,0,1,0\n1,0,8,0,4,2,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,5,2,1,1,3,0,1,1,1,0,1,0\n1,2,1,2,0,10,2,0,1,1,1,0,1,1\n2,0,11,0,3,11,4,0,0,1,1,0,1,0\n0,0,0,3,1,3,3,0,1,1,1,0,1,0\n0,0,6,2,2,0,3,0,0,1,1,0,1,0\n0,0,1,2,0,5,2,0,1,1,1,0,1,1\n2,0,13,3,0,5,2,1,1,1,1,0,1,1\n0,0,0,3,2,2,4,0,0,1,1,0,1,0\n2,1,0,3,4,3,5,0,0,1,1,2,1,0\n1,0,0,3,3,8,5,0,0,1,1,0,1,0\n0,0,5,2,2,10,3,4,1,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,7,0,0,0,1,1,0,1,0\n1,3,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,6,2,1,3,5,0,0,1,1,0,1,0\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n3,0,8,0,0,6,2,0,1,1,1,2,1,0\n1,4,1,2,1,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,5,0,0,1,1,1,1,0\n0,0,12,1,2,3,4,0,1,1,1,0,1,0\n1,0,4,3,2,4,3,0,1,1,1,0,1,1\n0,0,3,2,2,3,3,0,1,1,1,2,1,0\n2,4,6,2,1,5,5,0,1,1,1,0,1,1\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n1,0,2,1,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,1,4,3,0,0,1,1,1,1,0\n0,4,10,3,2,5,3,0,0,1,1,0,1,0\n0,5,0,3,2,5,1,0,1,1,1,2,1,0\n1,2,0,3,0,1,2,0,1,1,1,1,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,1,4,5,0,0,1,1,0,1,1\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,4,5,5,0,0,1,1,0,1,0\n1,0,12,1,0,7,1,0,0,1,1,0,1,0\n1,0,3,2,1,7,3,4,1,1,1,0,1,0\n2,0,3,2,1,4,3,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,10,3,2,4,3,4,0,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,1,7,3,0,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,5,2,2,5,3,0,0,1,1,2,1,0\n2,0,1,2,1,5,3,0,0,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,10,3,0,5,2,1,1,1,1,1,1,1\n2,0,3,2,4,2,3,0,0,1,1,2,1,0\n1,0,6,2,1,4,3,0,0,1,1,1,1,0\n2,0,8,0,0,1,2,4,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,2,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,14,0,0,2,2,1,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,12,1,1,7,3,0,0,1,1,0,1,0\n0,4,2,1,2,1,1,0,1,1,1,2,1,0\n2,0,10,3,0,6,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,4,5,2,0,6,2,0,1,1,1,0,1,0\n0,0,12,1,2,6,1,0,1,1,1,2,1,0\n0,4,3,2,0,1,2,0,1,1,1,0,1,0\n1,3,1,2,1,0,5,4,0,1,1,0,1,0\n0,0,3,2,0,4,0,0,0,1,1,0,1,0\n1,0,1,2,4,8,5,0,0,1,1,2,1,0\n1,3,10,3,0,1,2,0,1,1,1,0,1,0\n1,5,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,2,2,3,4,1,1,1,0,1,0\n0,0,3,2,2,8,5,0,0,1,1,1,1,0\n0,0,3,2,2,2,1,1,0,1,1,0,1,0\n1,1,7,1,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,0,10,2,0,1,1,1,0,1,0\n1,0,1,2,1,6,1,0,1,1,1,0,1,0\n2,0,8,0,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,1,3,2,3,2,5,0,0,1,1,1,1,0\n1,5,3,2,0,10,2,0,1,1,1,0,1,0\n0,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,4,2,0,1,1,1,2,1,0\n0,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,11,0,2,9,3,3,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,2,1,1\n1,0,0,3,2,5,4,0,0,1,1,0,1,0\n1,4,1,2,0,12,2,0,1,1,1,1,1,0\n1,1,14,0,0,1,2,0,1,1,1,0,1,0\n1,5,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n1,1,1,2,2,7,3,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,1,2,0,12,2,0,1,1,1,1,1,1\n0,0,6,2,1,6,5,0,1,1,1,1,1,0\n1,0,1,2,1,8,3,4,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,4,3,2,0,7,2,4,1,1,1,0,1,0\n1,0,5,2,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,2,12,1,4,1,1,1,2,1,0\n1,0,1,2,1,8,5,0,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,2,3,0,0,1,1,2,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,2,1,2,1,3,0,1,1,1,1,1,0\n0,4,1,2,2,12,1,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,1,2,0,2,2,0,1,1,1,2,1,0\n0,0,1,2,2,1,1,0,1,1,1,2,1,0\n1,0,1,2,0,7,2,3,1,1,1,0,1,1\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,5,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,2,2,1,0,1,1,1,0,1,0\n1,0,2,1,3,7,3,0,0,1,1,0,1,0\n2,3,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,5,2,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,2,2,0,1,1,1,1,1,0\n1,0,3,2,2,10,1,4,1,1,1,1,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n0,4,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,1,3,3,0,1,1,1,1,1,0\n0,0,0,3,2,2,1,0,0,1,1,2,1,0\n2,0,6,2,0,4,2,0,1,1,1,0,1,1\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,3,6,2,1,1,3,2,0,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n1,1,4,3,0,5,2,1,1,1,1,1,1,1\n1,1,4,3,0,5,2,0,1,1,1,2,1,1\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n0,0,3,2,2,9,3,0,1,1,1,0,1,0\n0,0,3,2,1,2,3,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,2,1,2,10,1,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,5,6,2,0,2,2,1,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,1,2,3,0,1,1,1,2,1,0\n2,0,1,2,4,5,3,0,1,1,1,1,1,0\n0,0,7,1,2,7,1,4,0,1,1,0,1,0\n0,0,4,3,2,5,3,1,1,1,1,1,1,0\n1,5,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,0,3,2,8,3,0,1,1,1,1,1,0\n2,0,13,3,0,0,2,0,1,1,1,0,1,1\n0,0,10,3,2,8,3,4,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,2,1,0\n0,0,5,2,1,2,3,0,0,1,1,2,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,4,0,3,0,5,0,0,0,1,1,2,1,1\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,1,0,5,0,0,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,0,0,3,0,4,0,0,0,1,1,0,1,1\n2,4,10,3,1,5,3,0,0,1,1,0,1,0\n1,0,3,2,1,1,5,0,1,1,1,0,1,0\n0,0,1,2,5,3,1,3,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n1,0,7,1,0,6,2,0,1,1,1,0,1,0\n2,1,8,0,0,10,2,0,1,1,1,0,1,1\n0,2,0,3,1,3,5,0,0,1,1,0,1,0\n1,0,10,3,0,5,0,0,0,1,1,1,1,1\n0,4,0,3,2,8,3,4,0,1,1,1,1,0\n1,4,6,2,1,4,1,0,1,1,1,0,1,0\n0,0,2,1,2,1,3,1,1,1,1,0,1,0\n0,2,3,2,0,4,2,0,1,1,1,1,1,0\n1,2,5,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n2,0,10,3,1,5,3,0,0,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,6,2,0,8,2,0,1,1,1,0,1,1\n2,1,3,2,0,3,2,0,1,1,1,2,1,0\n1,3,3,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,1,2,4,3,5,0,0,1,1,1,1,1\n1,1,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,9,5,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,4,1,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n2,0,2,1,2,9,3,0,1,1,1,2,1,0\n0,0,1,2,2,6,3,0,1,1,1,2,1,0\n0,0,14,0,5,1,3,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,6,2,0,9,2,0,1,1,1,2,1,1\n1,0,3,2,0,0,2,0,1,1,1,0,1,1\n0,4,0,3,2,5,3,4,0,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,1\n3,1,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,12,1,2,10,3,4,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,8,2,0,1,1,1,1,1,1\n1,5,3,2,3,2,3,0,0,1,1,2,1,0\n1,0,3,2,4,8,5,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,4,1,1,1,1,1,1\n2,2,4,3,0,5,2,0,1,1,1,2,1,1\n2,0,1,2,4,9,3,0,1,1,1,1,1,1\n0,0,0,3,4,4,3,0,0,1,1,0,1,0\n2,0,3,2,0,7,0,0,0,1,1,0,1,1\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,4,5,2,3,1,3,0,1,1,1,1,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,2,8,4,0,0,1,1,0,1,0\n1,0,3,2,2,2,5,4,0,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,0,1,1\n1,0,2,1,0,7,2,0,1,1,1,0,1,0\n3,2,3,2,0,4,2,0,1,1,1,2,1,1\n0,1,14,0,0,2,0,0,0,1,1,2,1,0\n1,0,9,1,1,8,3,2,1,1,1,0,1,0\n0,0,6,2,0,0,0,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,2,4,3,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,5,10,3,0,7,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,1,14,0,2,0,3,1,0,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,0,3,1,8,5,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,4,3,0,1,1,2,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n2,0,13,3,4,5,3,0,0,1,1,0,1,0\n0,1,0,3,0,7,2,0,1,1,1,1,1,1\n0,2,0,3,2,5,3,0,1,1,1,1,1,0\n0,5,1,2,2,0,5,4,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,4,1,2,1,12,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n3,0,12,1,0,2,2,0,1,1,1,2,1,0\n1,0,3,2,1,4,3,0,1,1,1,1,1,0\n2,1,3,2,0,9,2,0,1,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,2,1,0,6,2,3,1,1,1,0,1,0\n0,0,8,0,2,3,1,0,1,1,1,2,1,0\n0,1,0,3,1,4,5,4,0,1,1,2,1,0\n2,0,2,1,4,2,3,0,0,1,1,0,1,0\n1,0,10,3,0,5,2,1,1,1,1,0,1,0\n0,0,11,0,2,1,3,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,1,1,2,2,1,3,0,0,1,1,2,1,0\n1,1,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,12,1,2,3,3,0,0,1,1,2,1,0\n0,4,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,8,4,1,0,1,1,2,1,0\n0,0,6,2,2,2,1,0,1,1,1,0,1,0\n1,1,12,1,2,1,3,4,1,1,1,2,1,0\n1,0,3,2,1,7,3,2,0,1,1,0,1,0\n0,0,5,2,1,4,1,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n1,0,6,2,1,8,5,0,0,1,1,1,1,1\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,2,0,3,0,4,2,0,1,1,1,2,1,1\n2,4,3,2,4,8,3,0,0,1,1,0,1,0\n1,0,13,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,5,2,2,0,3,0,1,1,1,1,1,0\n1,5,0,3,0,4,0,4,0,1,1,2,1,1\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n0,1,10,3,1,5,3,1,1,1,1,1,1,1\n1,0,1,2,0,8,0,0,0,1,1,0,1,1\n1,0,3,2,2,1,3,1,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,3,3,2,2,8,4,0,1,1,1,2,1,0\n2,2,1,2,4,3,3,0,0,1,1,1,1,1\n0,1,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,2,10,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n1,1,14,0,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,2,6,4,0,1,1,1,2,1,0\n1,4,0,3,0,4,2,0,1,1,1,1,1,1\n2,4,9,1,4,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,4,1,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,1,2,1,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,4,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,1,3,0,1,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,3,0,3,1,5,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n1,4,10,3,0,8,2,0,1,1,1,2,1,0\n0,0,8,0,2,2,5,4,0,1,1,2,1,0\n2,6,1,2,5,9,5,0,0,1,1,2,1,0\n1,0,4,3,0,4,2,0,1,1,1,1,1,1\n1,0,12,1,0,7,2,0,1,1,1,1,1,0\n1,0,13,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,8,0,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,4,0,1,1,1,2,1,0\n2,0,12,1,0,6,2,0,1,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,3,2,2,11,3,0,0,1,1,2,1,0\n1,0,14,0,2,6,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,4,1,1,1,1,1,0\n2,0,1,2,1,0,3,0,0,1,1,0,1,0\n0,0,5,2,3,3,5,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,5,0,3,4,8,3,0,1,1,1,0,1,0\n1,1,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,3,1,5,4,1,1,1,1,1,0\n2,0,8,0,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,12,1,2,6,4,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,0,3,0,9,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,4,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,5,0,3,0,5,2,0,1,1,1,2,1,1\n0,0,1,2,2,6,4,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,4,1,1,1,1,1,1\n1,3,0,3,4,5,3,4,0,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,14,0,2,10,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n1,0,3,2,4,2,3,0,0,1,1,0,1,0\n2,4,3,2,4,12,3,0,1,1,1,2,1,0\n1,0,1,2,2,0,3,0,0,1,1,0,1,1\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,0,0,3,1,0,1,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,2,9,5,0,1,1,1,0,1,0\n0,4,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,4,1,1,1,1,2,1,0\n1,5,10,3,1,8,3,0,0,1,1,0,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,4,0,0,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,0,3,0,0,0,1,1,1,1,1\n0,0,0,3,2,5,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,0,3,4,0,1,1,1,1,0\n0,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,10,3,0,3,2,0,1,1,1,0,1,1\n0,1,1,2,0,8,0,0,0,1,1,2,1,1\n2,0,3,2,2,8,3,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,1,2,1,7,5,0,0,1,1,0,1,0\n0,0,3,2,3,1,5,4,1,1,1,0,1,0\n1,0,0,3,1,7,4,0,1,1,1,0,1,0\n1,0,2,1,1,5,5,2,1,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n2,4,10,3,1,5,5,0,0,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,8,0,0,7,2,4,1,1,1,0,1,0\n0,4,3,2,2,6,5,1,1,1,1,1,1,0\n0,0,2,1,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,2,10,3,0,1,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,6,2,2,4,4,1,0,1,1,0,1,0\n0,0,1,2,2,3,4,0,1,1,1,1,1,0\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,0,3,0,8,2,1,1,1,1,0,1,1\n2,0,3,2,3,10,5,1,1,1,1,1,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,1,7,1,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n1,5,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,5,0,0,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,6,0,0,0,1,1,2,1,1\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n0,0,8,0,2,2,4,1,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,5,3,0,1,1,1,0,1,0\n1,0,1,2,2,2,4,1,1,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n2,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,2,5,2,1,4,5,0,1,1,1,1,1,0\n3,0,8,0,0,10,2,0,1,1,1,2,1,0\n0,0,1,2,2,7,1,0,0,1,1,2,1,0\n1,5,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,5,2,0,8,0,0,0,1,1,0,1,0\n1,1,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,1,2,3,6,3,0,1,1,1,0,1,0\n0,0,1,2,1,4,3,0,0,1,1,0,1,0\n1,0,0,3,3,2,5,4,0,1,1,2,1,0\n0,0,8,0,0,9,2,0,1,1,1,0,1,0\n1,0,0,3,1,5,5,4,0,1,1,0,1,0\n1,0,3,2,2,6,1,0,1,1,1,2,1,0\n2,0,1,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,1,7,5,0,0,1,1,0,1,0\n0,0,1,2,2,2,4,4,0,1,1,2,1,0\n1,3,1,2,1,8,3,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n0,0,8,0,1,1,5,0,0,1,1,1,1,0\n2,0,1,2,0,1,2,3,1,1,1,2,1,1\n0,0,10,3,0,4,0,0,0,1,1,1,1,1\n2,0,7,1,2,6,1,0,1,1,1,0,1,0\n0,0,1,2,3,3,3,0,1,1,1,0,1,0\n1,5,1,2,1,12,5,2,0,1,1,0,1,0\n2,0,3,2,1,12,3,0,1,1,1,0,1,0\n1,1,1,2,1,2,5,0,0,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,1\n0,0,4,3,0,5,0,0,0,1,1,1,1,1\n1,2,3,2,0,4,2,0,1,1,1,0,1,1\n1,2,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,7,1,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n2,0,6,2,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,1,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,1,1,1,1,0,1,1\n1,3,3,2,0,8,0,0,0,1,1,2,1,1\n2,0,10,3,0,4,2,1,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,11,3,0,0,1,1,0,1,0\n0,0,2,1,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,1,5,2,0,4,0,0,0,1,1,2,1,1\n3,0,10,3,2,12,3,0,1,1,1,2,1,0\n1,0,10,3,1,4,5,4,0,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,2,4,1,0,0,1,1,1,1,0\n0,4,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,1,0,1,1,1,0,1,0\n1,0,3,2,4,8,3,0,0,1,1,0,1,0\n0,5,3,2,2,12,1,0,1,1,1,0,1,0\n0,0,3,2,2,9,3,3,1,1,1,0,1,0\n1,4,9,1,0,2,4,0,0,1,1,2,1,0\n0,4,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,2,0,3,0,1,1,1,2,1,0\n0,0,7,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,2,5,3,2,0,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,1,1,0,1,1,1,1,1,0\n0,0,3,2,2,8,4,0,0,1,1,0,1,0\n2,1,7,1,0,4,4,0,1,1,1,1,1,0\n0,0,1,2,2,4,1,4,0,1,1,0,1,0\n1,0,1,2,0,6,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,4,0,1,1,1,0,1,0\n1,5,13,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,5,4,0,0,1,1,0,1,0\n1,0,5,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,4,7,1,0,1,2,4,1,1,1,0,1,1\n1,3,0,3,1,5,5,0,0,1,1,1,1,1\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,5,0,1,1,1,2,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n2,0,10,3,0,4,2,1,1,1,1,0,1,1\n0,0,1,2,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n0,0,8,0,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,0,3,2,5,1,0,1,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,2,3,3,0,1,1,1,1,1,1\n1,3,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,12,1,1,2,5,0,0,1,1,1,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,6,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,11,1,0,1,1,1,0,1,0\n0,0,3,2,2,4,3,0,0,1,1,0,1,0\n2,1,1,2,1,5,3,0,0,1,1,0,1,0\n1,0,6,2,1,0,5,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,5,4,1,1,1,0,1,0\n1,0,14,0,2,6,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,4,3,0,1,1,1,2,1,0\n1,0,0,3,1,4,3,0,1,1,1,1,1,0\n1,4,1,2,5,8,5,4,0,1,1,0,1,0\n0,0,5,2,2,0,1,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,5,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,10,1,0,1,1,1,0,1,0\n1,0,10,3,2,5,1,0,0,1,1,0,1,0\n1,0,1,2,0,5,0,0,0,1,1,0,1,1\n1,0,3,2,0,1,2,4,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,8,0,1,7,5,4,0,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n2,0,8,0,0,8,2,0,1,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,4,0,3,1,5,5,0,0,1,1,0,1,0\n0,0,3,2,1,4,5,0,0,1,1,2,1,0\n0,0,1,2,0,0,2,0,1,1,1,0,1,0\n1,0,9,1,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,2,4,3,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,3,7,3,0,1,1,1,0,1,0\n0,0,1,2,2,7,4,0,0,1,1,0,1,0\n0,0,1,2,2,0,3,0,1,1,1,1,1,0\n0,0,3,2,0,10,1,0,0,1,1,0,1,0\n1,4,1,2,1,5,3,0,0,1,1,0,1,0\n1,2,12,1,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,4,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,7,2,0,1,1,1,0,1,1\n0,4,6,2,2,12,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,0,6,2,2,4,1,0,1,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,2,1,2,2,4,1,0,1,1,1,1,1,0\n1,4,6,2,0,4,2,0,1,1,1,0,1,0\n1,1,1,2,0,5,0,0,0,1,1,0,1,1\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,0,12,2,0,1,1,1,1,1,1\n2,1,3,2,0,3,2,0,1,1,1,2,1,1\n0,0,1,2,2,7,1,0,1,1,1,1,1,0\n0,5,1,2,2,4,1,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,2,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,7,1,2,2,1,0,1,1,1,2,1,0\n2,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,1,0,3,0,3,2,0,1,1,1,2,1,0\n0,0,2,1,5,6,3,2,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,3,1,2,0,4,2,4,1,1,1,0,1,0\n0,0,10,3,2,5,3,0,1,1,1,1,1,0\n0,1,13,3,0,5,2,0,1,1,1,0,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,0,1,1,1,1,0\n1,0,7,1,0,7,2,4,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,2,2,0,1,1,1,0,1,0\n2,0,1,2,0,4,0,0,0,1,1,1,1,1\n1,0,0,3,0,4,0,0,0,1,1,1,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n3,0,3,2,4,3,5,0,0,1,1,2,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,5,0,3,2,0,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,10,3,2,5,1,0,1,1,1,2,1,0\n0,0,0,3,1,3,3,0,0,1,1,1,1,1\n0,2,6,2,0,3,2,0,1,1,1,2,1,0\n1,3,10,3,1,5,3,0,0,1,1,0,1,0\n2,6,3,2,0,8,2,1,1,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,2,1,0\n3,1,3,2,0,9,2,0,1,1,1,2,1,0\n1,0,1,2,0,4,0,0,0,1,1,1,1,0\n0,0,12,1,0,6,2,0,1,1,1,0,1,0\n1,3,3,2,1,8,3,0,0,1,1,2,1,0\n1,4,3,2,1,2,3,4,1,1,1,0,1,0\n0,0,1,2,0,0,0,0,0,1,1,2,1,1\n2,0,3,2,3,3,5,0,0,1,1,2,1,0\n0,0,1,2,2,6,1,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,2,1,1\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n1,4,0,3,0,1,2,0,1,1,1,2,1,1\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n2,1,8,0,0,3,2,0,1,1,1,2,1,1\n1,0,3,2,2,3,3,0,1,1,1,1,1,0\n0,0,1,2,2,0,1,0,1,1,1,0,1,0\n2,0,1,2,0,1,2,4,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,7,4,4,0,1,1,2,1,0\n2,2,0,3,0,4,2,0,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,4,1,2,2,8,3,3,1,1,1,0,1,0\n1,0,1,2,2,1,5,0,0,1,1,2,1,1\n0,0,3,2,2,8,4,4,0,1,1,0,1,0\n0,0,3,2,1,2,5,0,0,1,1,1,1,1\n1,0,0,3,5,3,5,0,0,1,1,1,1,1\n1,0,10,3,1,5,3,0,1,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,0,2,1,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,1,3,2,0,5,2,0,1,1,1,0,1,0\n1,1,0,3,0,9,0,0,0,1,1,1,1,0\n1,0,3,2,2,8,3,4,0,1,1,2,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n2,0,6,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,4,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n1,0,3,2,2,6,4,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,1,2,2,9,1,0,1,1,1,1,1,0\n0,0,3,2,2,4,1,0,0,1,1,1,1,0\n0,4,0,3,2,8,3,1,1,1,1,2,1,0\n1,2,5,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,5,2,2,3,1,0,0,1,1,2,1,0\n1,4,0,3,1,8,5,0,0,1,1,2,1,0\n0,0,1,2,0,8,0,0,0,1,1,0,1,1\n2,0,2,1,2,7,3,0,1,1,1,0,1,0\n1,3,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,4,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n0,0,1,2,2,1,5,0,1,1,1,1,1,0\n0,0,3,2,2,3,5,0,1,1,1,0,1,0\n1,1,12,1,1,9,5,0,1,1,1,2,1,0\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n1,5,4,3,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,2,0,3,2,8,1,0,0,1,1,2,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,4,3,0,0,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,2,1,0\n1,1,0,3,0,1,2,0,1,1,1,2,1,0\n2,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,4,0,1,1,1,2,1,0\n1,0,1,2,2,6,3,0,1,1,1,0,1,0\n1,0,8,0,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,1,7,4,0,1,1,1,0,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n2,4,3,2,0,10,2,0,1,1,1,1,1,0\n2,0,0,3,1,5,3,0,0,1,1,1,1,0\n2,1,3,2,0,4,2,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,6,2,0,0,2,0,1,1,1,1,1,1\n0,1,3,2,1,1,3,0,1,1,1,1,1,0\n0,0,0,3,3,4,3,0,0,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,1,3,2,0,3,2,4,1,1,1,0,1,0\n2,2,9,1,4,4,3,0,0,1,1,0,1,0\n1,1,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,2,1,1,1,1,1,0\n1,0,6,2,0,5,2,4,1,1,1,0,1,1\n2,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,0,3,0,0,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,1,3,2,0,10,2,0,1,1,1,0,1,0\n0,4,1,2,0,12,2,0,1,1,1,1,1,1\n0,4,0,3,1,5,5,0,0,1,1,0,1,0\n1,0,14,0,3,3,5,0,0,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,0,7,1,2,6,1,0,1,1,1,2,1,0\n2,1,1,2,0,3,0,0,0,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,10,3,2,4,3,0,0,1,1,1,1,0\n1,0,3,2,0,9,2,0,1,1,1,2,1,0\n2,0,1,2,3,2,3,0,1,1,1,0,1,0\n0,4,12,1,2,2,1,0,0,1,1,2,1,0\n1,0,1,2,0,2,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,1,3,2,0,5,0,0,0,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n0,0,14,0,2,11,4,0,0,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,8,0,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,4,0,0,1,1,2,1,0\n0,0,3,2,2,5,3,0,0,1,1,0,1,0\n0,0,5,2,2,1,3,0,1,1,1,1,1,1\n0,0,6,2,2,4,5,1,1,1,1,0,1,0\n2,0,1,2,1,1,1,0,1,1,1,1,1,1\n2,0,1,2,0,0,2,0,1,1,1,2,1,1\n1,0,3,2,3,1,3,0,1,1,1,2,1,0\n0,5,1,2,2,2,1,0,1,1,1,0,1,0\n1,4,10,3,1,4,3,0,0,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n2,2,3,2,0,9,2,0,1,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,2,0,1,0,0,1,1,0,1,0\n1,0,5,2,2,0,3,0,0,1,1,0,1,0\n1,4,1,2,2,4,3,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,4,0,1,1,1,0,1,0\n0,0,3,2,1,6,3,0,1,1,1,0,1,0\n0,1,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,2,7,3,4,1,1,1,0,1,0\n0,0,10,3,2,4,1,0,0,1,1,0,1,0\n1,5,10,3,2,8,3,4,1,1,1,2,1,0\n0,0,0,3,2,1,3,1,1,1,1,0,1,0\n2,0,3,2,1,4,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,5,1,2,3,8,5,0,0,1,1,1,1,0\n0,0,0,3,2,3,1,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,9,1,0,12,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,1\n0,0,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n2,0,11,0,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,1,0,1,1,1,1,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,0\n2,0,4,3,0,4,2,0,1,1,1,0,1,1\n0,1,1,2,2,1,3,0,0,1,1,2,1,0\n1,0,1,2,4,7,5,4,0,1,1,1,1,0\n1,0,3,2,2,1,5,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,1,1,0,1,1,1,2,1,0\n0,0,1,2,2,8,5,0,0,1,1,1,1,0\n0,0,1,2,0,7,2,0,1,1,1,1,1,0\n1,5,1,2,1,8,3,0,0,1,1,0,1,0\n0,3,1,2,2,0,1,4,1,1,1,2,1,0\n1,0,3,2,0,1,2,3,1,1,1,0,1,0\n1,0,14,0,0,7,2,4,1,1,1,0,1,0\n1,0,3,2,1,5,3,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,4,0,1,1,2,1,0\n0,3,2,1,2,2,1,1,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,0,12,1,0,10,2,4,1,1,1,0,1,0\n1,0,3,2,0,2,2,4,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,1,3,2,2,3,3,4,1,1,1,0,1,0\n0,3,1,2,2,3,1,0,0,1,1,2,1,0\n2,1,3,2,0,4,2,0,1,1,1,2,1,1\n1,2,10,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,0,0,0,1,1,0,1,0\n0,0,0,3,1,3,5,0,0,1,1,2,1,0\n1,0,3,2,3,4,3,0,0,1,1,1,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,1,4,3,0,0,1,1,0,1,1\n1,0,3,2,1,8,1,0,0,1,1,1,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,0,1,1,1,0,1,0\n0,0,5,2,2,8,3,0,0,1,1,2,1,0\n0,3,0,3,0,5,2,0,1,1,1,0,1,0\n1,3,6,2,0,1,2,0,1,1,1,0,1,0\n2,0,12,1,1,5,5,0,0,1,1,0,1,0\n2,4,1,2,1,12,3,4,1,1,1,1,1,0\n0,0,3,2,2,10,5,0,0,1,1,0,1,0\n1,0,3,2,2,2,3,0,0,1,1,0,1,0\n1,0,10,3,1,4,5,0,0,1,1,0,1,0\n0,0,0,3,2,2,3,0,1,1,1,1,1,0\n0,0,0,3,2,8,4,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n2,0,14,0,1,11,3,4,0,1,1,2,1,0\n0,5,3,2,0,12,2,0,1,1,1,2,1,0\n1,0,1,2,1,10,1,0,1,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,5,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,3,2,1,8,3,0,0,1,1,0,1,0\n2,0,3,2,2,2,3,0,1,1,1,2,1,0\n2,0,7,1,1,1,3,0,0,1,1,0,1,1\n1,0,3,2,0,1,2,1,1,1,1,1,1,0\n0,0,3,2,0,1,2,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,5,4,0,1,1,0,1,0\n1,0,3,2,1,4,3,0,0,1,1,0,1,1\n0,0,1,2,2,3,4,0,1,1,1,0,1,0\n1,2,3,2,2,2,3,0,0,1,1,1,1,0\n2,0,6,2,4,3,3,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,2,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,1,1,0\n0,0,3,2,2,4,3,0,0,1,1,0,1,0\n0,0,5,2,3,1,5,1,1,1,1,0,1,1\n1,0,3,2,0,8,2,4,1,1,1,0,1,1\n1,0,3,2,2,7,5,2,0,1,1,0,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,10,3,0,0,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,11,0,0,2,2,0,1,1,1,0,1,0\n0,3,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,1,0,1,1,1,2,1,0\n0,0,11,0,0,6,2,0,1,1,1,0,1,0\n0,0,6,2,1,8,3,0,0,1,1,2,1,0\n0,0,6,2,0,0,2,4,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n1,4,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,6,2,3,11,3,4,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n3,1,3,2,0,9,2,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n2,0,4,3,0,4,2,0,1,1,1,1,1,0\n2,0,3,2,1,0,3,0,1,1,1,1,1,1\n1,3,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,5,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,0,3,1,3,3,0,1,1,1,1,1,1\n1,2,4,3,2,1,3,0,1,1,1,1,1,1\n1,0,12,1,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,1,8,1,0,0,1,1,0,1,0\n2,0,1,2,1,3,3,0,0,1,1,0,1,0\n0,0,11,0,0,2,4,0,1,1,1,0,1,0\n2,0,2,1,1,1,3,0,1,1,1,1,1,0\n0,0,3,2,2,6,4,0,1,1,1,1,1,0\n0,0,1,2,2,6,1,4,0,1,1,0,1,0\n2,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,4,6,2,0,4,2,0,1,1,1,0,1,0\n0,1,3,2,1,4,5,0,0,1,1,0,1,0\n1,0,1,2,0,3,0,0,0,1,1,0,1,0\n0,0,7,1,2,9,1,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,1,7,1,0,0,1,1,0,1,0\n0,0,11,0,2,6,3,0,1,1,1,1,1,0\n1,0,2,1,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,7,2,0,1,1,1,0,1,1\n1,4,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n1,4,0,3,0,0,2,0,1,1,1,0,1,0\n2,0,3,2,0,9,2,0,1,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,4,0,3,1,4,5,0,1,1,1,1,1,0\n1,1,1,2,2,1,5,0,1,1,1,0,1,0\n0,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,8,0,0,6,2,0,1,1,1,0,1,0\n0,0,2,1,3,2,1,0,0,1,1,0,1,0\n0,0,0,3,2,4,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,4,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,0,2,0,0,0,1,1,0,1,0\n0,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n0,0,6,2,4,0,5,4,0,1,1,0,1,0\n0,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,5,10,3,0,4,2,4,1,1,1,0,1,0\n0,1,6,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,4,1,1,1,2,1,0\n3,0,10,3,1,3,3,0,0,1,1,2,1,0\n1,0,3,2,2,1,3,1,1,1,1,1,1,0\n1,0,5,2,0,0,2,0,1,1,1,1,1,0\n0,0,3,2,0,8,0,0,0,1,1,2,1,0\n1,0,0,3,1,4,5,0,0,1,1,1,1,0\n0,2,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,3,9,1,0,1,1,1,0,1,0\n1,5,6,2,2,4,5,0,0,1,1,1,1,0\n1,0,1,2,1,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,3,3,1,0,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n1,0,1,2,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,3,2,5,4,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,10,3,2,4,3,0,0,1,1,1,1,0\n0,5,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,0,12,1,1,3,1,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,1\n0,0,1,2,2,1,1,0,1,1,1,1,1,0\n0,0,3,2,2,4,3,0,0,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,10,1,1,1,1,1,0,1,0\n0,5,1,2,2,8,1,0,0,1,1,2,1,0\n2,0,2,1,0,10,2,0,1,1,1,0,1,0\n1,0,1,2,1,10,3,4,1,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,5,2,0,5,2,0,1,1,1,1,1,0\n1,3,1,2,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,0,2,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,1,4,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,6,0,4,0,1,1,0,1,0\n1,0,5,2,1,0,5,0,0,1,1,0,1,0\n0,0,7,1,2,6,1,0,1,1,1,2,1,0\n0,0,2,1,2,2,3,0,1,1,1,0,1,0\n1,5,13,3,2,5,3,0,0,1,1,0,1,0\n1,3,6,2,0,8,2,0,1,1,1,0,1,1\n1,0,1,2,0,7,2,0,1,1,1,1,1,0\n1,4,10,3,1,5,3,2,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,4,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,10,3,0,8,0,0,0,1,1,0,1,1\n1,0,1,2,1,1,5,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,1,1,1\n0,0,6,2,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,2,0,5,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,1,1,1,1,0,1,1\n1,0,1,2,0,0,2,0,1,1,1,1,1,1\n1,1,1,2,1,3,5,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,5,2,5,4,0,1,1,2,1,0\n0,0,1,2,0,1,2,1,1,1,1,0,1,0\n1,0,0,3,0,8,2,1,1,1,1,0,1,1\n1,1,1,2,0,4,2,1,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,12,1,2,6,3,0,1,1,1,0,1,0\n2,0,0,3,1,4,3,0,1,1,1,1,1,1\n1,0,6,2,0,10,0,0,0,1,1,2,1,0\n1,3,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,0,3,2,2,6,3,0,1,1,1,1,1,0\n1,0,0,3,0,10,2,0,1,1,1,0,1,1\n0,2,3,2,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,3,2,1,1,5,0,1,1,1,1,1,0\n1,0,2,1,0,1,2,0,1,1,1,1,1,0\n0,4,3,2,2,12,3,4,1,1,1,0,1,0\n2,0,14,0,4,2,3,4,0,1,1,2,1,0\n2,4,3,2,0,4,2,0,1,1,1,2,1,0\n0,0,0,3,2,3,3,0,0,1,1,2,1,0\n1,1,0,3,0,10,2,0,1,1,1,0,1,1\n1,1,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,12,1,2,8,3,4,1,1,1,2,1,0\n0,0,6,2,2,1,4,0,1,1,1,0,1,0\n0,0,1,2,2,3,4,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,5,1,2,2,8,1,0,0,1,1,0,1,0\n1,5,0,3,0,5,2,0,1,1,1,2,1,1\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,0,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n1,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,13,3,1,5,3,0,0,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n3,1,11,0,4,3,4,0,1,1,1,1,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n0,0,0,3,2,3,1,0,0,1,1,0,1,0\n0,1,5,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n1,3,3,2,2,8,5,0,0,1,1,0,1,0\n0,0,3,2,1,10,1,4,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,2,1,2,7,5,0,1,1,1,1,1,0\n0,0,1,2,2,12,1,0,1,1,1,1,1,0\n2,0,5,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,2,4,3,0,4,0,0,0,1,1,1,1,1\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,8,0,3,11,5,4,0,1,1,2,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,4,1,1,1,0,1,0\n0,0,0,3,2,5,5,0,0,1,1,0,1,0\n0,0,0,3,2,5,5,0,1,1,1,0,1,0\n0,5,10,3,2,5,3,0,1,1,1,2,1,0\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,1\n1,0,1,2,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,1,6,3,4,1,1,1,0,1,0\n1,3,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,10,3,1,12,5,0,1,1,1,0,1,0\n0,4,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,0,3,2,2,3,4,0,1,1,2,1,0\n0,3,0,3,6,5,2,0,1,1,1,1,1,1\n1,1,3,2,2,9,3,0,1,1,1,1,1,1\n2,0,3,2,1,7,3,0,0,1,1,0,1,0\n1,0,0,3,1,3,5,0,0,1,1,0,1,0\n0,0,12,1,1,6,3,0,1,1,1,0,1,0\n0,0,4,3,0,0,2,1,1,1,1,0,1,0\n1,2,6,2,2,8,1,0,0,1,1,0,1,0\n0,0,6,2,2,8,4,1,1,1,1,0,1,0\n2,0,3,2,2,8,3,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,1,4,3,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,1,7,1,0,1,2,0,1,1,1,1,1,0\n1,0,5,2,2,5,5,0,0,1,1,2,1,0\n1,2,0,3,1,4,5,0,1,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,2,1,0,8,0,0,0,1,1,2,1,0\n1,5,1,2,1,5,5,0,0,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,1,7,5,0,0,1,1,0,1,0\n0,5,6,2,0,5,2,0,1,1,1,0,1,0\n1,0,6,2,5,7,5,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,1,1,0\n2,0,3,2,3,1,3,0,0,1,1,0,1,0\n0,0,1,2,2,5,3,0,0,1,1,2,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,2,1,0,2,0,0,0,1,1,2,1,0\n2,0,6,2,0,10,2,0,1,1,1,1,1,1\n1,5,1,2,1,8,3,0,0,1,1,0,1,0\n2,0,1,2,0,4,2,0,1,1,1,2,1,0\n0,3,1,2,2,5,3,0,0,1,1,0,1,0\n1,0,1,2,0,0,0,0,0,1,1,0,1,0\n2,0,5,2,0,3,2,0,1,1,1,0,1,1\n2,0,0,3,1,4,5,0,1,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n2,0,8,0,0,7,2,0,1,1,1,1,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,0,1,1,1,1,0\n0,0,1,2,1,5,5,0,0,1,1,2,1,0\n0,4,10,3,2,5,3,0,0,1,1,1,1,0\n0,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,0,3,0,3,4,0,1,1,1,0,1,1\n0,2,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,0,3,1,5,5,0,0,1,1,0,1,1\n0,0,8,0,1,10,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,5,2,2,2,3,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,3,3,2,0,8,2,4,1,1,1,1,1,1\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n1,0,11,0,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n1,2,6,2,1,3,5,0,0,1,1,2,1,0\n0,2,3,2,1,4,3,0,1,1,1,1,1,1\n0,0,5,2,2,8,1,0,0,1,1,2,1,0\n1,4,0,3,1,5,5,0,1,1,1,1,1,0\n1,0,0,3,1,4,3,0,1,1,1,0,1,0\n0,0,7,1,2,4,3,0,0,1,1,0,1,0\n2,0,0,3,5,5,5,0,0,1,1,0,1,0\n1,0,10,3,1,0,3,0,1,1,1,0,1,0\n0,0,0,3,0,6,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,1,0,0,1,1,2,1,0\n0,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,1,6,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,0,3,0,0,0,1,1,1,1,0\n0,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,2,3,2,2,1,3,0,1,1,1,1,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,0,3,0,5,0,0,0,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,4,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,5,2,2,2,1,4,0,1,1,2,1,0\n0,0,1,2,2,5,3,4,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,4,10,3,0,8,2,0,1,1,1,0,1,1\n0,1,4,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,11,1,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,1,1,1,1,2,1,0\n2,1,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,10,3,2,4,3,0,1,1,1,1,1,1\n1,5,1,2,2,2,3,0,0,1,1,0,1,0\n0,0,9,1,2,9,3,0,1,1,1,2,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,1,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,4,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,2,2,0,1,1,1,2,1,0\n0,0,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,5,0,3,2,5,4,4,0,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,6,2,0,5,2,0,1,1,1,1,1,0\n0,0,5,2,2,2,5,0,0,1,1,2,1,0\n2,5,4,3,0,4,2,4,1,1,1,1,1,1\n1,0,3,2,2,2,5,0,0,1,1,1,1,0\n2,1,11,0,4,1,4,0,0,1,1,1,1,0\n1,1,6,2,1,9,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,9,1,2,2,4,0,0,1,1,2,1,0\n1,4,0,3,1,4,5,4,0,1,1,1,1,0\n1,1,9,1,0,2,2,0,1,1,1,1,1,0\n1,1,0,3,0,5,2,0,1,1,1,2,1,0\n1,0,1,2,1,8,3,0,0,1,1,1,1,0\n2,3,1,2,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,2,3,1,0,0,1,1,0,1,0\n0,5,1,2,2,8,1,0,0,1,1,2,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n2,4,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,1,2,1,5,5,0,0,1,1,1,1,0\n0,0,3,2,2,1,5,0,1,1,1,2,1,0\n1,0,4,3,0,4,2,0,1,1,1,0,1,1\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,1,1,0\n0,0,5,2,0,3,2,0,1,1,1,0,1,0\n1,0,10,3,2,4,5,4,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,5,5,2,0,8,2,0,1,1,1,2,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,1,3,2,0,10,2,0,1,1,1,1,1,0\n2,1,0,3,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,0,6,2,0,2,2,0,1,1,1,1,1,0\n1,3,0,3,0,8,0,0,0,1,1,0,1,1\n0,0,0,3,4,2,3,0,0,1,1,2,1,0\n2,0,3,2,2,5,3,0,0,1,1,1,1,0\n0,4,5,2,0,8,0,0,0,1,1,0,1,1\n0,0,3,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,2,10,3,0,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,5,2,0,1,2,0,1,1,1,1,1,0\n0,0,10,3,2,5,3,0,1,1,1,1,1,1\n1,0,0,3,2,4,3,0,1,1,1,0,1,1\n0,0,6,2,1,8,5,0,0,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,2,1,2,2,4,0,0,1,1,2,1,0\n1,0,14,0,0,7,2,0,1,1,1,0,1,0\n1,4,1,2,1,10,3,0,0,1,1,0,1,0\n1,3,1,2,0,10,2,4,1,1,1,0,1,0\n0,1,0,3,1,3,3,0,1,1,1,1,1,1\n2,0,3,2,1,2,3,4,0,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,1\n2,0,12,1,0,1,2,4,1,1,1,0,1,0\n2,1,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,4,0,3,0,5,0,0,0,1,1,1,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,2,0,3,3,5,3,0,0,1,1,1,1,0\n0,4,3,2,0,12,2,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,2,3,2,2,3,1,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,1,2,5,0,0,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,1,2,1,5,3,0,0,1,1,2,1,0\n1,4,3,2,1,8,5,0,0,1,1,2,1,0\n1,0,4,3,0,3,0,0,0,1,1,0,1,0\n0,0,3,2,2,6,1,4,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,0,0,0,1,1,2,1,1\n1,0,6,2,1,5,3,0,0,1,1,2,1,0\n2,1,2,1,0,1,2,0,1,1,1,2,1,0\n1,0,6,2,1,5,5,0,0,1,1,0,1,1\n2,0,3,2,0,8,2,0,1,1,1,1,1,1\n0,4,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n2,4,0,3,3,5,5,0,0,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n3,0,1,2,0,5,2,0,1,1,1,1,1,1\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,1,5,1,0,0,1,1,0,1,1\n0,0,3,2,2,3,4,0,0,1,1,1,1,0\n1,0,1,2,0,6,2,4,1,1,1,0,1,0\n0,4,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,0\n2,0,1,2,0,4,2,0,1,1,1,2,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,14,0,3,7,5,0,0,1,1,0,1,0\n0,0,1,2,1,5,5,0,0,1,1,0,1,0\n2,4,11,0,0,2,2,0,1,1,1,0,1,0\n1,0,8,0,1,11,1,4,0,1,1,2,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,0,0,3,1,4,5,0,0,1,1,0,1,1\n1,5,0,3,2,5,5,4,0,1,1,0,1,0\n0,0,10,3,2,4,5,0,1,1,1,0,1,0\n1,0,3,2,0,5,2,2,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,1,0,0,1,1,2,1,0\n1,0,10,3,0,5,0,0,0,1,1,2,1,1\n0,0,3,2,2,3,3,0,1,1,1,2,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n1,0,3,2,1,1,3,0,0,1,1,0,1,0\n1,0,1,2,2,0,3,0,0,1,1,1,1,1\n2,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,1,4,3,0,5,2,3,1,1,1,2,1,1\n2,4,0,3,0,10,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,11,0,2,7,4,0,1,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,4,10,3,1,4,3,0,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,1,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,1,2,6,2,0,0,0,1,1,0,1,1\n0,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,13,3,0,5,0,0,0,1,1,2,1,1\n1,0,10,3,2,5,3,0,1,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n0,0,3,2,1,4,3,0,0,1,1,1,1,0\n1,0,1,2,2,4,3,0,1,1,1,1,1,0\n0,5,6,2,2,8,5,0,0,1,1,0,1,0\n0,0,12,1,2,6,1,0,1,1,1,2,1,0\n1,0,12,1,0,1,2,4,1,1,1,0,1,0\n1,3,1,2,0,8,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,5,1,2,2,5,3,0,1,1,1,0,1,0\n0,0,2,1,0,9,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,3,4,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,1,2,0,4,2,0,1,1,1,2,1,1\n1,3,1,2,1,4,5,0,0,1,1,2,1,0\n1,1,1,2,0,4,0,0,0,1,1,2,1,0\n0,0,3,2,1,2,1,0,0,1,1,2,1,0\n0,4,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,0,3,3,4,5,4,0,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n1,0,0,3,1,5,5,0,0,1,1,2,1,0\n0,0,1,2,2,0,3,4,1,1,1,0,1,0\n1,4,10,3,0,4,2,4,1,1,1,1,1,1\n0,0,1,2,0,8,2,0,1,1,1,0,1,1\n1,4,1,2,1,6,3,0,1,1,1,1,1,0\n1,5,3,2,1,8,5,0,0,1,1,1,1,0\n0,0,3,2,0,3,0,0,0,1,1,2,1,0\n2,4,10,3,0,5,0,0,0,1,1,0,1,0\n1,0,3,2,0,9,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,1,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,8,0,0,6,2,0,1,1,1,2,1,0\n1,1,13,3,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,1,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,4,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n2,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,5,0,0,1,1,0,1,0\n0,0,2,1,0,6,0,1,0,1,1,2,1,0\n0,0,1,2,2,9,3,0,1,1,1,2,1,0\n1,5,1,2,1,3,3,0,0,1,1,0,1,0\n2,2,8,0,0,4,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,3,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n2,0,4,3,0,5,2,0,1,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n1,3,3,2,0,4,2,0,1,1,1,1,1,1\n1,3,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,3,3,0,0,1,1,0,1,0\n1,0,7,1,0,9,2,0,1,1,1,1,1,0\n1,5,0,3,2,5,3,0,0,1,1,0,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,7,1,2,9,5,0,1,1,1,1,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,2,1,0\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,1,0,3,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,10,3,2,5,1,0,1,1,1,0,1,0\n0,0,3,2,3,2,5,4,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,0,8,0,0,0,1,1,0,1,0\n2,0,3,2,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,5,1,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,4,1,1,1,2,1,0\n1,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,2,5,2,0,3,2,0,1,1,1,1,1,1\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,3,0,3,1,4,3,4,0,1,1,0,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,0\n1,4,3,2,0,10,0,0,0,1,1,0,1,1\n1,4,10,3,0,5,2,0,1,1,1,2,1,1\n0,5,0,3,2,5,3,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,9,3,0,1,1,1,1,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,5,2,0,1,1,1,0,1,1\n0,5,10,3,2,0,3,0,1,1,1,0,1,0\n1,1,3,2,2,1,3,0,1,1,1,2,1,0\n1,0,10,3,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n0,4,0,3,2,5,3,0,1,1,1,1,1,0\n1,4,1,2,0,0,2,0,1,1,1,1,1,1\n0,0,5,2,1,7,5,2,0,1,1,0,1,0\n0,0,1,2,1,7,5,4,0,1,1,1,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,5,0,0,1,1,0,1,0\n0,0,10,3,2,0,5,0,1,1,1,1,1,0\n1,0,6,2,0,2,2,1,1,1,1,1,1,1\n2,4,1,2,0,8,2,0,1,1,1,2,1,0\n1,0,3,2,3,1,3,0,1,1,1,0,1,0\n1,0,3,2,2,0,3,0,1,1,1,1,1,0\n0,4,1,2,2,12,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,4,1,1,1,0,1,0\n0,0,2,1,2,5,1,0,0,1,1,2,1,0\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,5,10,3,0,5,2,0,1,1,1,1,1,1\n1,5,1,2,0,4,0,4,0,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,1,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,13,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,5,0,3,0,12,2,0,1,1,1,1,1,0\n1,3,1,2,0,8,2,4,1,1,1,0,1,1\n0,0,2,1,1,1,3,0,0,1,1,0,1,0\n0,5,1,2,1,12,3,0,1,1,1,0,1,1\n1,0,1,2,1,8,5,4,0,1,1,2,1,0\n1,0,1,2,2,4,5,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,2,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,1,1,2,0,0,2,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,10,1,0,1,1,1,2,1,0\n0,0,2,1,2,2,4,0,0,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,4,5,5,0,0,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,1,1,0,1,1,1,1,1,0\n0,0,5,2,0,5,2,0,1,1,1,0,1,0\n2,0,6,2,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,5,4,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,5,2,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,2,1,1,4,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,2,1,0\n0,5,1,2,2,4,1,0,1,1,1,0,1,0\n0,2,0,3,2,4,3,0,0,1,1,1,1,1\n2,4,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,3,3,2,2,4,5,0,0,1,1,0,1,0\n2,0,3,2,1,10,3,0,1,1,1,0,1,0\n2,3,10,3,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,4,1,1,1,2,1,0\n1,0,3,2,2,2,3,4,0,1,1,0,1,0\n2,0,3,2,4,8,3,0,0,1,1,0,1,1\n0,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,12,1,3,7,5,4,0,1,1,0,1,0\n1,2,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n2,1,3,2,0,9,2,2,1,1,1,2,1,0\n1,3,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n0,0,6,2,1,0,5,4,0,1,1,0,1,0\n0,0,6,2,0,2,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,4,3,1,5,3,0,0,1,1,2,1,1\n0,4,0,3,2,1,3,0,1,1,1,0,1,1\n1,4,10,3,1,5,3,4,1,1,1,0,1,0\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n1,0,6,2,1,8,5,4,0,1,1,1,1,0\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,3,1,2,2,8,1,4,0,1,1,0,1,0\n0,1,7,1,0,1,2,0,1,1,1,2,1,0\n0,0,10,3,2,4,3,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,0,1,2,2,4,3,0,0,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,2,1,1\n2,0,12,1,2,2,3,0,1,1,1,0,1,0\n1,0,6,2,0,2,2,0,1,1,1,0,1,0\n2,4,3,2,4,8,3,0,0,1,1,2,1,0\n1,0,3,2,1,5,5,0,1,1,1,0,1,0\n1,0,1,2,1,4,3,0,0,1,1,1,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,12,1,0,1,1,4,1,1,1,0,1,0\n2,5,0,3,2,4,3,4,0,1,1,0,1,0\n0,0,3,2,2,9,4,0,1,1,1,1,1,0\n1,0,10,3,0,0,2,0,1,1,1,2,1,1\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n2,1,12,1,4,9,5,0,1,1,1,2,1,0\n2,0,3,2,0,2,2,0,1,1,1,0,1,1\n2,0,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,10,3,1,4,5,0,0,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,0,8,2,4,1,1,1,0,1,0\n1,0,6,2,2,8,3,0,0,1,1,0,1,0\n2,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,2,1,0,1,2,0,1,1,1,1,1,0\n0,0,12,1,1,7,3,4,1,1,1,1,1,0\n2,3,0,3,0,0,2,0,1,1,1,1,1,1\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,0,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,0,6,2,5,5,3,0,1,1,1,0,1,0\n1,3,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,0,14,0,5,7,4,0,1,1,1,0,1,0\n1,2,3,2,0,4,0,2,0,1,1,0,1,1\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,5,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,2,1,0,6,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,1,1,0\n1,0,3,2,3,0,5,0,0,1,1,0,1,0\n0,0,2,1,2,7,1,4,0,1,1,0,1,0\n2,1,8,0,0,9,2,0,1,1,1,1,1,1\n1,0,3,2,1,3,3,0,1,1,1,1,1,0\n1,4,1,2,1,0,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,10,3,2,5,3,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,3,5,2,0,4,0,0,0,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,1,3,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,1,4,3,0,1,1,1,0,1,0\n1,1,3,2,2,9,3,0,1,1,1,1,1,0\n0,0,1,2,2,1,4,1,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,1,3,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n2,3,1,2,4,12,3,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,7,1,2,2,5,0,0,1,1,2,1,0\n2,0,7,1,1,3,5,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,1,0,0,1,1,2,1,0\n1,4,1,2,0,12,2,0,1,1,1,1,1,0\n1,0,13,3,0,5,2,1,1,1,1,0,1,1\n0,0,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,1,2,0,0,2,0,1,1,1,1,1,0\n1,1,3,2,0,10,2,0,1,1,1,2,1,0\n2,0,10,3,0,4,0,0,0,1,1,1,1,0\n1,0,5,2,1,3,5,0,1,1,1,0,1,0\n1,5,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,7,1,3,7,5,0,0,1,1,2,1,0\n2,5,9,1,2,2,1,0,1,1,1,0,1,0\n1,0,6,2,1,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,5,1,0,0,1,1,2,1,0\n2,4,12,1,0,10,2,0,1,1,1,2,1,0\n0,0,5,2,2,3,3,4,0,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,2,1,0\n0,0,0,3,0,5,0,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,1\n0,0,5,2,2,2,1,0,0,1,1,2,1,0\n1,1,6,2,1,4,3,0,1,1,1,2,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n2,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,1,1,2,2,0,3,0,1,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,1,2,5,4,0,1,1,0,1,0\n3,1,0,3,0,4,2,0,1,1,1,2,1,1\n1,0,1,2,1,7,5,4,0,1,1,2,1,0\n0,0,1,2,2,5,3,0,0,1,1,0,1,0\n1,0,2,1,0,6,2,0,1,1,1,0,1,0\n0,0,2,1,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,3,7,5,4,0,1,1,0,1,0\n1,5,0,3,0,4,2,0,1,1,1,2,1,1\n2,0,0,3,2,3,5,0,0,1,1,0,1,0\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n2,1,12,1,5,9,3,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n2,2,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,4,3,2,5,3,0,1,1,1,0,1,0\n0,0,5,2,2,3,1,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n1,0,3,2,0,2,0,1,0,1,1,2,1,0\n2,4,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,2,1,0,6,2,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,7,2,0,1,1,1,2,1,0\n0,1,6,2,0,9,2,0,1,1,1,0,1,0\n2,1,3,2,0,3,2,0,1,1,1,0,1,0\n2,4,10,3,4,5,5,0,0,1,1,1,1,1\n1,1,1,2,1,4,5,0,0,1,1,0,1,0\n1,0,1,2,1,4,5,0,0,1,1,0,1,0\n1,3,1,2,0,4,2,0,1,1,1,0,1,1\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n3,0,1,2,0,5,2,0,1,1,1,2,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n0,0,9,1,1,7,3,0,0,1,1,0,1,0\n1,0,0,3,1,0,4,0,1,1,1,0,1,0\n1,0,1,2,3,1,3,0,1,1,1,1,1,0\n1,1,3,2,2,3,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,10,3,0,0,1,1,1,1,0\n1,0,1,2,1,3,4,0,0,1,1,2,1,1\n1,0,3,2,4,1,3,0,0,1,1,0,1,0\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n2,4,10,3,0,5,2,0,1,1,1,2,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n3,1,1,2,0,4,2,0,1,1,1,2,1,0\n2,3,2,1,1,1,3,4,0,1,1,0,1,1\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,5,5,2,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n0,0,6,2,2,0,4,0,0,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,2,1,2,3,5,4,0,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,1,3,3,0,1,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,4,4,3,0,5,0,0,0,1,1,1,1,1\n0,0,1,2,0,6,2,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n2,5,1,2,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,4,8,5,0,0,1,1,2,1,0\n0,0,1,2,2,9,3,0,0,1,1,1,1,0\n0,0,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,0\n2,3,3,2,1,4,3,0,1,1,1,0,1,1\n2,5,9,1,1,2,5,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,0,3,2,7,1,0,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,3,3,2,0,8,2,4,1,1,1,1,1,1\n0,1,10,3,2,5,3,0,1,1,1,0,1,0\n0,0,1,2,2,0,1,0,1,1,1,2,1,0\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,5,0,1,1,1,0,1,0\n2,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,5,1,0,1,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,5,10,3,1,5,3,0,1,1,1,2,1,0\n0,0,8,0,0,6,4,3,0,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n1,0,3,2,3,10,5,4,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,4,3,2,0,3,0,1,1,1,1,1,0\n0,0,0,3,5,8,3,0,0,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,5,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,14,0,0,6,2,0,1,1,1,0,1,0\n2,0,8,0,0,5,2,0,1,1,1,2,1,0\n2,0,3,2,0,1,2,4,1,1,1,0,1,0\n1,0,3,2,3,4,5,0,0,1,1,0,1,0\n0,0,0,3,2,4,1,1,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,1,4,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,5,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,7,1,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,10,3,0,1,1,1,0,1,0\n0,0,0,3,0,4,0,0,0,1,1,1,1,1\n0,0,3,2,0,3,1,0,1,1,1,0,1,0\n1,0,8,0,1,1,5,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,2,1,0\n0,0,12,1,0,7,1,1,0,1,1,0,1,0\n2,0,0,3,1,5,3,0,0,1,1,0,1,1\n1,0,3,2,1,7,3,4,1,1,1,0,1,0\n1,0,1,2,1,3,3,0,1,1,1,1,1,0\n1,0,3,2,1,7,5,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,6,2,2,2,3,0,1,1,1,1,1,0\n1,0,1,2,1,7,5,0,1,1,1,1,1,0\n1,0,3,2,1,8,5,4,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,8,0,1,3,3,0,0,1,1,0,1,0\n2,2,5,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,0,0,0,1,1,0,1,1\n0,0,1,2,2,12,1,4,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,1\n0,2,2,1,2,9,1,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,4,1,1,1,1,1,1\n0,0,0,3,2,2,3,0,1,1,1,0,1,0\n0,0,6,2,0,6,0,0,0,1,1,2,1,0\n0,5,3,2,2,8,1,0,0,1,1,1,1,0\n0,0,2,1,2,1,1,0,1,1,1,2,1,0\n2,0,14,0,0,6,2,1,1,1,1,0,1,1\n2,3,1,2,0,8,2,1,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,12,1,2,6,1,0,1,1,1,2,1,0\n0,4,3,2,0,12,2,0,1,1,1,0,1,1\n2,0,3,2,4,8,3,0,0,1,1,2,1,0\n1,0,3,2,3,7,3,4,1,1,1,0,1,0\n0,4,3,2,2,12,3,0,1,1,1,0,1,0\n0,4,2,1,2,8,1,0,1,1,1,2,1,0\n2,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,1\n0,5,13,3,0,5,2,1,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n2,0,3,2,0,2,2,0,1,1,1,1,1,0\n1,5,3,2,1,8,1,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,1,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,1,0,3,0,4,2,1,1,1,1,1,1,0\n0,0,6,2,0,7,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,4,1,1,1,0,1,0\n0,0,14,0,2,6,1,0,1,1,1,0,1,0\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n2,0,6,2,0,0,2,0,1,1,1,0,1,1\n1,0,5,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,5,1,2,2,6,1,0,1,1,1,0,1,0\n1,4,6,2,1,1,5,0,0,1,1,1,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,3,2,2,12,1,4,1,1,1,0,1,0\n1,5,14,0,0,2,2,0,1,1,1,0,1,0\n1,4,6,2,2,12,3,0,0,1,1,0,1,0\n2,0,9,1,0,10,2,0,1,1,1,1,1,1\n1,3,1,2,1,4,3,0,0,1,1,1,1,0\n2,0,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,0,5,3,4,1,1,1,0,1,0\n1,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,12,1,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,5,10,3,1,5,3,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,2,1,1\n1,0,5,2,4,3,5,0,0,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,4,0,3,2,5,1,4,0,1,1,2,1,0\n0,0,1,2,2,7,3,0,0,1,1,0,1,0\n0,0,3,2,3,7,3,0,1,1,1,1,1,0\n1,0,3,2,1,4,3,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,2,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,3,5,0,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n0,4,5,2,2,12,5,0,1,1,1,0,1,0\n2,0,9,1,0,1,2,0,1,1,1,0,1,0\n1,0,12,1,0,6,2,4,1,1,1,1,1,0\n2,4,10,3,0,5,2,4,1,1,1,0,1,1\n0,5,1,2,2,5,1,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n2,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,12,1,0,10,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,2,1,2,0,7,2,0,1,1,1,1,1,0\n1,4,10,3,0,5,0,0,0,1,1,1,1,1\n2,0,3,2,0,3,0,0,0,1,1,2,1,0\n0,0,0,3,1,4,3,0,0,1,1,1,1,1\n0,5,0,3,0,4,0,0,0,1,1,1,1,1\n0,0,2,1,1,2,5,0,0,1,1,0,1,0\n0,0,6,2,0,0,2,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,0,6,2,1,8,3,0,0,1,1,2,1,0\n2,0,6,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,0,6,2,0,1,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,3,0,3,0,0,1,1,2,1,0\n0,3,1,2,2,8,3,0,1,1,1,0,1,0\n1,0,3,2,2,7,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,0,3,4,5,5,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,0,9,2,0,1,1,1,0,1,1\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n2,2,4,3,0,5,2,0,1,1,1,2,1,1\n1,0,3,2,1,4,5,0,0,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,4,6,2,0,12,2,0,1,1,1,0,1,1\n2,0,0,3,1,5,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,3,0,3,2,4,1,0,1,1,1,0,1,0\n1,0,3,2,3,4,5,0,0,1,1,2,1,0\n1,0,6,2,2,4,3,0,0,1,1,1,1,0\n0,0,3,2,2,2,4,0,1,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,0,1,1,2,1,0\n1,5,3,2,1,4,3,0,1,1,1,0,1,0\n2,0,12,1,0,7,2,4,1,1,1,1,1,0\n0,0,3,2,2,6,4,0,1,1,1,2,1,0\n0,0,0,3,2,0,3,4,1,1,1,2,1,0\n0,0,3,2,2,3,1,0,1,1,1,1,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n2,5,3,2,4,5,5,4,0,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,3,1,2,1,4,5,4,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,1,10,1,0,1,1,1,1,1,0\n0,0,1,2,2,10,1,0,1,1,1,0,1,0\n1,0,3,2,2,1,1,4,1,1,1,2,1,0\n0,0,1,2,0,7,2,1,1,1,1,0,1,0\n1,4,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,14,0,0,1,2,0,1,1,1,1,1,0\n0,5,9,1,2,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,4,1,1,1,2,1,0\n0,1,0,3,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,1,3,2,0,2,2,4,1,1,1,1,1,1\n0,2,1,2,0,3,2,0,1,1,1,1,1,1\n0,5,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,8,0,0,9,2,4,1,1,1,2,1,0\n1,0,3,2,2,2,5,4,0,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,1,2,0,4,2,4,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,10,3,2,5,3,0,1,1,1,2,1,0\n1,0,3,2,2,3,5,0,1,1,1,1,1,0\n0,4,5,2,1,8,5,0,0,1,1,2,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,14,0,2,6,5,0,1,1,1,2,1,0\n1,5,6,2,0,4,2,0,1,1,1,2,1,1\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,5,2,1,3,3,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,5,1,2,1,5,3,4,0,1,1,2,1,0\n1,0,3,2,2,10,3,0,1,1,1,2,1,0\n0,0,1,2,2,4,3,0,0,1,1,0,1,1\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n0,0,1,2,2,7,3,4,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,3,10,3,0,6,2,0,1,1,1,2,1,0\n2,0,12,1,0,1,2,0,1,1,1,0,1,1\n1,1,12,1,5,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,2,6,3,4,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,1,1,0\n2,0,3,2,0,5,2,0,1,1,1,2,1,0\n1,0,1,2,2,6,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,5,0,0,1,1,1,1,0\n2,4,1,2,0,6,2,4,1,1,1,0,1,1\n0,4,3,2,2,6,4,4,1,1,1,0,1,0\n1,0,3,2,1,2,5,4,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,14,0,2,1,3,0,1,1,1,0,1,0\n2,1,3,2,2,3,3,0,0,1,1,1,1,0\n0,0,1,2,1,1,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,0\n1,0,9,1,1,1,1,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n1,1,1,2,0,5,2,0,1,1,1,1,1,0\n0,4,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n0,5,1,2,0,4,2,4,1,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,4,1,1,1,2,1,0\n0,0,1,2,2,8,3,3,0,1,1,2,1,0\n1,2,1,2,0,5,0,0,0,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n1,1,1,2,0,8,0,0,0,1,1,2,1,0\n2,0,10,3,1,5,3,0,1,1,1,2,1,0\n2,0,8,0,2,2,1,0,0,1,1,2,1,0\n1,0,5,2,1,5,3,0,1,1,1,1,1,0\n1,1,3,2,0,2,2,1,1,1,1,1,1,0\n0,0,7,1,2,7,3,0,1,1,1,1,1,0\n0,0,10,3,0,3,2,0,1,1,1,2,1,0\n0,3,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,12,1,0,7,2,0,1,1,1,1,1,0\n1,0,3,2,1,1,5,0,1,1,1,0,1,0\n1,0,13,3,1,5,5,4,0,1,1,2,1,1\n0,1,5,2,2,1,1,0,1,1,1,0,1,0\n0,2,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,6,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,4,3,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,4,3,2,1,12,3,0,1,1,1,1,1,1\n1,1,10,3,1,2,5,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,3,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,5,5,2,2,5,3,0,1,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,4,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,1,4,3,0,0,1,1,0,1,0\n0,0,3,2,1,10,3,0,1,1,1,1,1,0\n1,0,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,2,1,0,6,4,0,1,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,0\n1,0,5,2,1,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,6,2,0,5,2,0,1,1,1,0,1,1\n0,1,5,2,4,3,5,0,0,1,1,0,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,5,0,3,3,5,3,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,1,1,0\n1,0,5,2,4,8,5,0,0,1,1,0,1,0\n1,5,1,2,1,7,3,4,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,2,1,2,6,1,2,1,1,1,2,1,0\n1,0,7,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,7,5,4,0,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,4,5,2,0,5,0,2,0,1,1,0,1,0\n0,0,14,0,0,1,2,0,1,1,1,2,1,0\n2,5,1,2,1,4,3,0,0,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,4,5,2,2,5,3,0,1,1,1,0,1,1\n0,0,3,2,1,3,5,2,0,1,1,2,1,0\n1,4,3,2,1,12,5,0,1,1,1,1,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,5,8,5,0,0,1,1,0,1,0\n0,0,0,3,0,4,0,0,0,1,1,0,1,1\n1,4,10,3,2,5,5,0,0,1,1,0,1,0\n1,0,6,2,2,1,3,0,1,1,1,2,1,0\n0,0,3,2,2,10,1,0,0,1,1,0,1,0\n2,4,8,0,0,12,2,0,1,1,1,2,1,0\n0,3,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,1,3,2,1,4,5,0,0,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,2,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,12,1,5,1,3,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,4,1,1,1,0,1,1\n1,1,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,5,4,0,1,1,0,1,0\n1,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,6,2,2,2,1,0,0,1,1,2,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,3,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n1,2,0,3,1,4,3,0,0,1,1,1,1,0\n2,0,3,2,4,4,5,0,1,1,1,1,1,1\n0,4,0,3,0,5,0,0,0,1,1,2,1,1\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,12,1,0,6,2,0,1,1,1,2,1,0\n1,0,3,2,2,7,3,0,0,1,1,2,1,0\n1,0,3,2,0,2,2,4,1,1,1,2,1,1\n1,4,3,2,0,10,2,0,1,1,1,0,1,0\n2,0,4,3,0,4,2,0,1,1,1,0,1,1\n0,0,2,1,2,6,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,12,1,2,10,3,4,1,1,1,0,1,0\n0,5,10,3,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,6,2,2,5,3,0,0,1,1,0,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,5,2,2,2,3,0,0,1,1,2,1,0\n2,0,3,2,0,4,0,0,0,1,1,0,1,1\n1,5,6,2,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n0,5,3,2,0,12,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,0,10,3,4,4,5,0,1,1,1,0,1,1\n1,0,3,2,1,6,5,0,1,1,1,0,1,0\n3,0,1,2,4,8,3,0,0,1,1,2,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,4,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,7,1,2,2,1,4,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,1,3,3,0,0,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,1,10,3,0,1,1,1,1,1,0\n1,4,13,3,0,5,2,0,1,1,1,2,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,5,2,2,5,5,4,0,1,1,1,1,0\n1,0,6,2,2,1,3,0,1,1,1,1,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,4,0,5,4,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,5,2,0,4,0,0,0,1,1,1,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,1,2,1,3,2,5,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,1,2,1,3,5,0,0,1,1,1,1,1\n0,4,0,3,0,12,2,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,9,1,0,1,1,1,0,1,0\n1,0,3,2,2,2,3,0,0,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,2,1,1\n0,0,7,1,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,0,3,1,2,3,0,0,1,1,2,1,0\n1,0,2,1,0,7,2,0,1,1,1,1,1,1\n1,0,1,2,1,4,5,0,0,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n1,0,6,2,2,2,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,4,3,0,0,1,1,0,1,0\n0,0,3,2,2,10,4,0,1,1,1,1,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,2,8,3,0,0,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,5,0,1,1,1,0,1,0\n0,0,5,2,2,5,3,0,0,1,1,0,1,0\n1,0,1,2,2,12,5,4,0,1,1,0,1,0\n1,0,12,1,1,1,3,0,1,1,1,0,1,0\n1,0,3,2,4,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,5,0,1,1,1,2,1,0\n1,1,1,2,0,4,2,0,1,1,1,2,1,1\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,5,12,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,0,3,1,5,3,0,1,1,1,0,1,0\n0,4,3,2,0,10,2,4,1,1,1,0,1,0\n1,0,3,2,0,4,0,0,0,1,1,0,1,1\n2,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,4,1,0,1,1,0,1,0\n1,0,3,2,1,2,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,8,0,1,0,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,1,7,1,0,1,2,0,1,1,1,0,1,0\n0,5,0,3,0,5,2,0,1,1,1,2,1,0\n1,0,0,3,1,5,3,0,0,1,1,1,1,0\n1,5,1,2,0,4,0,0,0,1,1,0,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,9,1,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,3,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,4,8,3,0,0,1,1,0,1,0\n0,0,0,3,0,4,0,0,0,1,1,2,1,1\n1,1,5,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,4,0,1,1,1,0,1,0\n0,0,3,2,0,9,2,0,1,1,1,0,1,0\n1,0,5,2,0,0,2,0,1,1,1,1,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,4,3,2,5,3,0,0,1,1,1,1,0\n1,4,3,2,4,10,5,0,0,1,1,0,1,0\n0,0,3,2,3,6,5,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,0,12,2,4,1,1,1,0,1,1\n0,0,9,1,2,12,1,4,1,1,1,0,1,0\n2,0,1,2,1,8,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,2,1,0,2,0,4,0,1,1,2,1,0\n1,0,1,2,1,3,1,0,0,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n1,2,1,2,1,3,3,0,1,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,4,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,4,0,1,1,0,1,0\n0,0,6,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,2,6,2,2,10,5,0,1,1,1,1,1,0\n1,5,12,1,0,1,2,2,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n2,0,3,2,1,2,3,0,0,1,1,0,1,0\n0,1,3,2,2,3,3,0,1,1,1,0,1,0\n0,3,12,1,0,2,0,2,0,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,1,1,1\n0,0,5,2,2,1,1,0,1,1,1,0,1,0\n1,0,5,2,2,8,3,0,0,1,1,2,1,0\n0,2,4,3,0,5,2,0,1,1,1,1,1,1\n2,1,4,3,0,5,2,0,1,1,1,2,1,1\n0,0,3,2,2,12,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,1,1,1,1,2,1,0\n0,0,12,1,2,6,1,0,1,1,1,0,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,4,3,2,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,4,0,3,2,5,5,0,0,1,1,1,1,0\n0,0,1,2,3,2,5,4,0,1,1,2,1,0\n1,0,1,2,1,1,3,0,0,1,1,2,1,0\n1,0,5,2,1,1,3,0,1,1,1,1,1,1\n1,4,3,2,3,2,5,4,0,1,1,0,1,0\n0,5,3,2,0,0,2,0,1,1,1,0,1,1\n0,0,5,2,0,3,2,3,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,11,0,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,5,1,3,0,1,1,1,0,1,1\n0,0,0,3,2,1,1,4,1,1,1,0,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,1,8,5,0,0,1,1,1,1,0\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,1,1,0\n2,3,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n0,4,5,2,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,1,1,0\n2,1,0,3,1,9,3,0,1,1,1,1,1,1\n0,0,2,1,3,1,3,0,1,1,1,0,1,0\n1,5,0,3,2,12,5,4,0,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,5,5,2,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,1,0,3,2,5,3,0,0,1,1,1,1,1\n0,0,6,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,2,4,3,0,1,1,1,0,1,0\n2,4,10,3,2,5,5,0,0,1,1,2,1,0\n0,5,1,2,2,10,1,0,1,1,1,2,1,0\n1,5,4,3,0,5,0,0,0,1,1,1,1,1\n1,4,10,3,1,5,5,0,0,1,1,0,1,0\n0,0,5,2,0,8,0,1,0,1,1,2,1,1\n0,0,12,1,2,11,4,0,1,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,2,1,1\n0,0,4,3,2,5,3,0,1,1,1,1,1,0\n1,0,10,3,2,5,3,0,1,1,1,2,1,0\n0,4,10,3,2,4,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,11,0,0,10,2,0,1,1,1,0,1,0\n1,5,3,2,5,2,5,0,0,1,1,2,1,0\n2,0,1,2,0,3,0,0,0,1,1,0,1,1\n1,0,3,2,1,2,1,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,7,1,0,10,2,0,1,1,1,1,1,0\n0,0,2,1,2,1,1,0,1,1,1,0,1,0\n1,5,0,3,1,5,3,4,1,1,1,0,1,0\n1,4,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,9,1,0,1,2,0,1,1,1,1,1,0\n1,4,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n2,0,11,0,0,6,2,0,1,1,1,0,1,0\n2,0,11,0,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,1,2,5,4,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,4,0,1,1,1,0,1,0\n2,1,10,3,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,3,2,3,4,0,1,1,1,1,0\n1,5,0,3,0,5,2,2,1,1,1,2,1,1\n0,1,6,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,12,1,5,2,3,4,0,1,1,2,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n2,0,10,3,0,3,2,0,1,1,1,2,1,1\n2,1,0,3,0,4,2,0,1,1,1,2,1,1\n0,0,10,3,2,5,3,1,1,1,1,2,1,0\n1,0,5,2,4,0,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,1,1,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,1,3,5,4,1,1,1,1,1,0\n1,0,3,2,3,10,3,0,1,1,1,2,1,0\n0,0,3,2,2,6,3,4,1,1,1,0,1,0\n1,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,2,1,1\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n2,4,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,6,2,1,0,5,4,0,1,1,1,1,0\n2,3,4,3,1,5,3,0,0,1,1,1,1,1\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,6,0,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n1,0,9,1,3,7,4,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,1,2,2,6,1,4,1,1,1,0,1,0\n0,0,3,2,2,0,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,4,0,1,1,2,1,0\n0,4,7,1,2,2,1,0,1,1,1,1,1,0\n0,3,0,3,2,8,3,0,0,1,1,2,1,0\n0,0,0,3,2,1,3,0,0,1,1,1,1,0\n0,0,1,2,1,4,3,0,1,1,1,1,1,1\n1,5,0,3,1,8,3,4,0,1,1,2,1,0\n0,0,3,2,2,3,4,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,1,7,1,0,9,4,0,1,1,1,0,1,0\n0,0,1,2,2,2,4,0,0,1,1,2,1,0\n2,0,5,2,4,2,3,0,0,1,1,2,1,0\n0,0,1,2,1,4,3,0,0,1,1,2,1,0\n1,0,5,2,0,0,2,0,1,1,1,0,1,1\n0,0,1,2,3,0,5,4,0,1,1,0,1,0\n2,0,0,3,0,8,0,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,3,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n2,5,13,3,0,5,2,0,1,1,1,0,1,1\n3,1,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,6,2,0,2,4,0,0,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,8,0,2,2,1,0,1,1,1,0,1,0\n0,1,1,2,2,5,3,1,1,1,1,0,1,0\n2,0,3,2,0,6,2,0,1,1,1,2,1,0\n0,0,2,1,2,2,1,4,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,6,2,0,7,1,0,0,1,1,2,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,4,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,0,3,1,3,3,0,0,1,1,0,1,0\n0,0,0,3,2,9,3,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n2,0,2,1,0,2,0,4,0,1,1,0,1,1\n1,2,0,3,1,4,3,0,1,1,1,1,1,0\n1,3,3,2,0,4,2,2,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,0,1,1,0,1,0\n0,0,1,2,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,3,8,5,0,0,1,1,2,1,0\n0,0,1,2,1,4,5,0,0,1,1,0,1,0\n0,0,1,2,2,5,3,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,1,8,5,0,0,1,1,1,1,0\n1,0,6,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,3,7,5,3,0,1,1,0,1,0\n1,5,3,2,1,4,5,0,0,1,1,2,1,1\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n3,0,1,2,0,10,2,0,1,1,1,2,1,0\n0,0,3,2,2,7,5,4,1,1,1,0,1,0\n2,0,0,3,0,4,2,4,1,1,1,1,1,1\n0,0,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,2,8,3,0,0,1,1,1,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,1,3,3,0,0,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,4,1,1,1,1,1,1\n0,0,3,2,2,1,5,0,1,1,1,1,1,0\n0,0,1,2,2,8,5,4,0,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,1\n2,4,3,2,4,2,5,4,0,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,1,1,0\n0,0,1,2,0,4,2,2,1,1,1,1,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,4,3,2,0,12,2,0,1,1,1,1,1,1\n1,4,1,2,0,12,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,2,8,3,1,0,1,1,0,1,0\n1,0,13,3,0,5,2,1,1,1,1,1,1,1\n1,0,5,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,0,12,2,0,1,1,1,1,1,1\n2,4,5,2,0,5,2,1,1,1,1,0,1,1\n1,0,0,3,1,3,3,0,1,1,1,0,1,1\n1,0,6,2,0,2,2,0,1,1,1,1,1,1\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,1,0,3,5,1,3,0,1,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,4,3,2,1,2,5,2,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,1,4,3,0,0,1,1,0,1,0\n0,0,3,2,2,4,3,1,0,1,1,0,1,0\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n0,0,14,0,0,9,2,0,1,1,1,0,1,0\n1,2,10,3,2,2,1,0,1,1,1,1,1,0\n2,0,1,2,1,2,3,0,0,1,1,2,1,0\n2,4,0,3,0,5,0,0,0,1,1,1,1,0\n1,1,5,2,0,4,2,0,1,1,1,1,1,0\n0,5,0,3,2,4,3,0,0,1,1,2,1,0\n0,0,1,2,0,8,2,2,1,1,1,0,1,0\n0,0,0,3,0,8,0,0,0,1,1,0,1,0\n0,0,10,3,2,3,3,0,1,1,1,1,1,1\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n2,0,2,1,4,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,1,1,1,1,2,1,0\n0,0,3,2,0,3,2,1,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n2,0,6,2,0,1,2,0,1,1,1,1,1,1\n2,4,3,2,0,4,0,0,0,1,1,2,1,0\n1,5,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,10,1,0,1,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,10,3,1,4,3,0,1,1,1,1,1,1\n1,0,8,0,0,10,2,0,1,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,1,10,3,0,3,2,0,1,1,1,0,1,1\n1,3,3,2,1,6,3,0,1,1,1,0,1,0\n1,0,3,2,3,6,3,4,1,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,9,1,2,2,5,4,1,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,6,3,4,1,1,1,0,1,0\n2,0,8,0,0,9,2,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,1,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n3,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,6,2,1,5,5,0,0,1,1,0,1,0\n2,0,3,2,0,10,2,4,1,1,1,0,1,0\n0,5,13,3,2,5,3,0,0,1,1,1,1,0\n0,0,1,2,0,6,2,0,1,1,1,1,1,0\n1,0,3,2,2,8,3,4,0,1,1,0,1,0\n0,0,0,3,3,5,4,4,0,1,1,0,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,0,2,1,1,1,3,0,1,1,1,0,1,0\n2,0,6,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,14,0,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,1,3,3,0,1,1,1,1,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,1,1,1,1,0,1,0\n1,0,0,3,3,4,3,0,1,1,1,2,1,0\n0,0,1,2,2,6,3,0,1,1,1,1,1,0\n1,0,0,3,1,4,3,0,0,1,1,1,1,1\n1,0,1,2,1,0,5,4,0,1,1,2,1,0\n0,0,10,3,2,4,1,0,1,1,1,2,1,0\n1,0,10,3,3,4,5,0,0,1,1,2,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,4,4,5,0,0,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,1\n0,0,1,2,2,8,5,0,0,1,1,2,1,0\n0,0,7,1,2,2,1,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,0,8,0,1,0,1,1,0,1,1\n2,1,1,2,4,4,4,0,1,1,1,2,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,4,5,2,0,12,2,0,1,1,1,0,1,1\n2,4,10,3,1,5,5,0,0,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n1,0,5,2,1,5,3,0,0,1,1,0,1,1\n1,0,10,3,2,4,3,0,1,1,1,0,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n0,0,10,3,0,5,2,0,1,1,1,2,1,0\n1,2,10,3,0,3,2,0,1,1,1,1,1,0\n1,1,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,0,1,0,1,1,1,2,1,0\n0,0,0,3,2,4,5,1,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,14,0,5,2,5,0,0,1,1,2,1,0\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n1,0,3,2,0,2,0,0,0,1,1,2,1,0\n0,3,1,2,0,4,2,0,1,1,1,0,1,1\n1,4,2,1,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,2,0,1,1,2,1,0\n0,0,11,0,2,9,3,0,1,1,1,2,1,0\n0,0,1,2,0,9,2,0,1,1,1,1,1,0\n0,2,3,2,3,5,4,0,1,1,1,2,1,0\n1,0,5,2,0,2,2,0,1,1,1,0,1,0\n1,5,10,3,0,5,2,0,1,1,1,0,1,1\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,4,10,3,0,5,2,0,1,1,1,0,1,1\n2,0,6,2,0,3,2,0,1,1,1,0,1,1\n0,0,9,1,2,1,3,0,1,1,1,1,1,0\n1,4,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,7,1,2,11,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,5,0,0,1,1,0,1,0\n1,4,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,1,2,0,7,2,0,1,1,1,1,1,0\n2,4,10,3,1,5,3,0,0,1,1,2,1,1\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,4,0,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,1\n0,1,1,2,2,3,1,4,1,1,1,1,1,1\n0,0,3,2,1,4,3,0,1,1,1,1,1,0\n0,0,6,2,0,5,0,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,5,0,1,1,1,1,1,0\n1,0,7,1,1,4,5,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,4,1,1,1,0,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n1,0,1,2,0,3,0,0,0,1,1,2,1,0\n2,0,7,1,4,2,3,0,0,1,1,2,1,0\n2,0,6,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,1,2,1,0,0,1,1,2,1,0\n1,5,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n0,4,1,2,2,12,5,1,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,1,1,0\n0,0,1,2,2,12,1,0,0,1,1,2,1,0\n1,0,1,2,1,4,3,0,1,1,1,0,1,0\n1,4,10,3,0,5,0,0,0,1,1,0,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,12,1,2,10,3,0,1,1,1,1,1,0\n1,0,11,0,1,2,5,4,0,1,1,0,1,0\n1,0,0,3,0,2,2,0,1,1,1,2,1,0\n0,5,3,2,2,1,5,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,5,10,3,3,5,3,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,2,1,0\n1,3,4,3,0,5,2,0,1,1,1,0,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,10,3,4,5,5,4,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n2,0,5,2,1,7,3,0,1,1,1,1,1,0\n1,1,6,2,3,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,1,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,7,1,2,6,1,0,1,1,1,2,1,0\n0,0,4,3,2,5,3,0,0,1,1,2,1,0\n1,0,1,2,2,4,5,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,1,3,2,0,10,2,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,1,6,2,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,0,2,0,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,3,0,0,0,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n2,0,3,2,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,10,1,4,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n3,2,1,2,4,3,3,0,1,1,1,0,1,1\n0,0,3,2,2,7,1,1,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n1,0,13,3,0,5,2,1,1,1,1,1,1,1\n1,0,6,2,1,5,5,0,0,1,1,1,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,0,3,0,8,2,0,1,1,1,1,1,1\n2,5,1,2,0,12,2,0,1,1,1,1,1,1\n0,0,1,2,2,0,1,0,1,1,1,2,1,0\n1,0,1,2,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,2,2,3,0,1,1,1,0,1,0\n1,4,1,2,4,5,5,0,1,1,1,0,1,0\n2,2,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,2,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n1,4,1,2,0,4,2,0,1,1,1,0,1,1\n2,0,8,0,0,2,2,4,1,1,1,0,1,0\n1,2,0,3,0,12,2,4,1,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,6,2,0,5,2,0,1,1,1,1,1,0\n0,0,6,2,2,10,3,0,1,1,1,0,1,0\n0,0,3,2,1,6,4,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,1,5,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,1,2,2,3,4,4,0,1,1,2,1,0\n1,0,1,2,3,4,5,4,0,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,1,8,5,4,0,1,1,0,1,0\n0,4,0,3,1,5,3,0,1,1,1,1,1,0\n1,3,10,3,2,4,3,0,0,1,1,1,1,0\n0,0,3,2,2,10,3,4,1,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,6,2,1,0,3,4,1,1,1,0,1,1\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,4,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,4,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,7,1,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,5,3,3,0,0,1,1,2,1,0\n1,0,12,1,3,7,5,4,0,1,1,0,1,0\n0,1,1,2,0,4,2,0,1,1,1,0,1,0\n2,1,2,1,0,9,2,0,1,1,1,1,1,0\n1,0,11,0,0,6,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,1,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n2,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,5,10,5,4,1,1,1,1,1,0\n0,0,3,2,1,10,5,0,0,1,1,1,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,0,8,0,0,0,1,1,0,1,1\n0,5,5,2,2,5,3,0,0,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,0,3,0,1,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,3,2,0,2,2,4,1,1,1,1,1,0\n0,0,12,1,3,7,1,0,1,1,1,2,1,0\n1,0,3,2,2,2,3,0,0,1,1,1,1,0\n1,1,0,3,4,3,5,0,0,1,1,0,1,0\n0,0,1,2,2,1,5,0,1,1,1,1,1,0\n0,0,3,2,2,3,5,0,1,1,1,2,1,0\n0,1,0,3,2,3,5,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n0,0,6,2,2,2,1,0,1,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,3,3,0,0,1,1,1,1,1\n1,0,4,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n3,0,1,2,0,3,2,0,1,1,1,2,1,1\n1,0,0,3,0,5,2,1,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,12,1,0,6,2,0,1,1,1,2,1,0\n1,0,3,2,2,1,3,0,1,1,1,1,1,1\n1,0,6,2,0,3,2,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,6,2,0,1,2,1,1,1,1,2,1,1\n2,1,3,2,4,5,5,0,0,1,1,2,1,0\n1,0,1,2,1,4,3,0,0,1,1,2,1,0\n1,0,7,1,1,1,3,0,1,1,1,0,1,0\n1,2,0,3,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,1,0,3,0,5,2,0,1,1,1,1,1,1\n0,4,0,3,2,4,3,0,0,1,1,1,1,0\n2,1,0,3,0,5,0,0,0,1,1,2,1,0\n0,0,1,2,0,2,0,0,0,1,1,1,1,0\n0,0,3,2,1,9,3,1,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,4,10,3,0,5,0,0,0,1,1,2,1,1\n0,5,1,2,2,5,1,0,1,1,1,0,1,0\n0,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,3,3,2,1,8,3,3,1,1,1,1,1,0\n1,0,3,2,1,6,3,0,0,1,1,0,1,0\n0,0,5,2,2,8,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n2,0,10,3,0,8,2,1,1,1,1,1,1,1\n1,0,3,2,1,9,3,0,1,1,1,1,1,0\n1,0,12,1,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,5,7,3,0,0,1,1,0,1,0\n1,5,10,3,5,4,5,0,0,1,1,1,1,1\n1,0,1,2,1,8,5,4,0,1,1,2,1,0\n1,5,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,2,1,1,1,1,0,1,1,1,0,1,0\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,7,1,2,2,5,4,0,1,1,0,1,0\n0,0,1,2,1,5,1,0,0,1,1,0,1,0\n1,0,1,2,1,4,3,0,1,1,1,0,1,0\n0,0,1,2,2,0,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,5,4,0,1,1,2,1,0\n1,5,1,2,2,4,5,0,0,1,1,0,1,0\n0,0,0,3,2,0,3,0,0,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,6,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n1,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,4,5,2,2,8,1,4,0,1,1,2,1,0\n1,0,3,2,0,1,0,0,0,1,1,1,1,0\n1,5,0,3,0,5,2,1,1,1,1,1,1,1\n0,0,3,2,0,2,2,0,1,1,1,2,1,0\n0,4,13,3,1,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,5,4,1,1,1,2,1,0\n1,4,5,2,0,12,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,0,1,0,1,1,0,1,0\n1,3,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,3,4,5,4,0,1,1,0,1,0\n0,0,3,2,0,0,0,0,0,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,0,3,1,5,3,0,1,1,1,1,1,1\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n2,1,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,5,4,3,0,1,1,1,1,1,0\n1,0,1,2,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n2,3,1,2,0,10,2,0,1,1,1,0,1,1\n1,0,0,3,1,0,3,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,0,3,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n1,0,3,2,1,1,1,0,1,1,1,0,1,0\n0,5,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,0,1,2,0,1,1,1,0,1,1\n1,4,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,10,3,4,3,3,0,0,1,1,2,1,0\n0,0,10,3,0,5,2,1,1,1,1,1,1,1\n0,3,3,2,0,9,2,2,1,1,1,0,1,0\n1,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n0,1,0,3,2,5,3,0,0,1,1,2,1,0\n2,1,7,1,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,6,5,4,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,1,1,2,0,10,4,3,1,1,1,1,1,1\n1,0,14,0,0,6,2,4,1,1,1,1,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,4,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,0,3,4,5,5,0,0,1,1,2,1,1\n2,0,11,0,0,6,2,0,1,1,1,0,1,0\n1,0,4,3,0,8,4,1,0,1,1,0,1,0\n1,4,12,1,2,9,5,0,1,1,1,2,1,0\n2,2,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,7,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n0,0,2,1,2,7,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,4,2,4,4,0,1,1,1,1,0\n0,0,3,2,0,6,1,0,1,1,1,2,1,0\n1,1,3,2,0,3,0,0,0,1,1,1,1,0\n2,0,0,3,0,6,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n2,0,3,2,2,4,3,0,1,1,1,2,1,0\n0,0,3,2,2,8,5,0,0,1,1,2,1,0\n1,1,3,2,0,10,2,0,1,1,1,2,1,0\n2,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,4,3,2,2,8,4,0,1,1,1,2,1,0\n1,0,10,3,0,7,2,0,1,1,1,2,1,0\n0,4,0,3,0,5,0,0,0,1,1,1,1,1\n1,3,5,2,1,8,3,4,0,1,1,0,1,0\n1,0,3,2,5,1,3,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,2,1,1\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,4,1,1,1,0,1,0\n0,0,6,2,1,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,3,8,5,0,0,1,1,1,1,1\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,3,1,2,0,8,2,4,1,1,1,0,1,0\n1,0,5,2,3,8,5,4,0,1,1,0,1,0\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,4,3,0,8,2,1,1,1,1,0,1,0\n1,0,3,2,2,4,3,0,0,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,10,1,0,0,1,1,2,1,0\n0,0,12,1,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,0,0,0,0,0,1,1,0,1,0\n0,0,10,3,0,5,2,1,1,1,1,0,1,1\n2,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,2,4,0,1,1,1,0,1,0\n0,0,1,2,2,1,5,1,1,1,1,2,1,0\n2,2,3,2,0,3,2,0,1,1,1,1,1,1\n2,1,1,2,0,1,2,0,1,1,1,2,1,1\n0,0,1,2,2,10,3,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,5,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,8,5,4,0,1,1,2,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,2,1,2,7,5,4,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n2,0,1,2,0,1,0,0,0,1,1,0,1,1\n0,5,2,1,0,10,2,0,1,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n2,0,1,2,0,12,2,0,1,1,1,2,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n2,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,10,3,0,5,0,0,0,1,1,1,1,1\n2,4,10,3,0,5,0,0,0,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,4,0,3,0,5,2,0,1,1,1,2,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,0,3,0,1,1,1,2,1,1\n0,0,3,2,2,10,3,0,0,1,1,1,1,0\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,4,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,5,2,0,1,2,0,1,1,1,0,1,0\n1,1,1,2,3,3,5,0,0,1,1,1,1,0\n0,0,8,0,2,11,1,0,0,1,1,2,1,0\n3,1,3,2,0,3,0,0,0,1,1,2,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,11,3,0,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,2,1,0\n0,0,9,1,2,2,3,0,1,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n2,2,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,9,1,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,3,2,2,7,4,0,1,1,1,2,1,0\n0,0,0,3,2,10,5,4,0,1,1,0,1,0\n2,5,3,2,0,2,2,0,1,1,1,2,1,0\n1,1,6,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,5,2,2,9,4,0,1,1,1,1,1,1\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n1,0,5,2,1,4,5,0,0,1,1,1,1,0\n1,0,0,3,0,5,0,4,0,1,1,2,1,1\n0,0,0,3,2,8,1,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n0,4,6,2,0,5,0,0,0,1,1,2,1,1\n0,0,5,2,2,4,1,0,0,1,1,0,1,0\n1,0,0,3,0,8,2,1,1,1,1,0,1,1\n1,3,1,2,1,4,3,4,0,1,1,0,1,0\n0,0,12,1,2,10,3,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n1,0,0,3,1,5,3,4,1,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,5,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n0,0,0,3,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,1,4,5,0,0,1,1,0,1,0\n1,1,6,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,0,5,2,0,1,1,1,1,1,1\n0,3,6,2,2,0,1,4,1,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,1,1,1\n1,0,0,3,3,8,5,1,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,5,0,3,1,8,5,0,0,1,1,0,1,0\n0,0,14,0,0,2,2,0,1,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,1,1,1\n0,0,13,3,0,5,2,1,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,1,1,1\n2,0,10,3,3,5,3,0,1,1,1,2,1,1\n1,5,6,2,1,0,3,0,0,1,1,1,1,0\n1,3,6,2,0,1,2,0,1,1,1,0,1,1\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,0,11,0,5,1,3,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,1,4,5,0,0,1,1,0,1,0\n2,0,3,2,0,2,0,0,0,1,1,2,1,0\n1,4,6,2,0,1,2,0,1,1,1,0,1,1\n1,1,5,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,1,2,4,4,0,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n2,0,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,4,10,3,0,5,0,0,0,1,1,0,1,1\n0,0,1,2,1,6,1,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,1,8,0,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,1,0,1,1,0,1,0\n3,1,0,3,0,9,2,0,1,1,1,2,1,0\n1,1,2,1,1,4,5,0,0,1,1,1,1,0\n0,0,6,2,2,4,3,4,0,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n0,1,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,12,1,1,2,5,4,0,1,1,0,1,0\n0,3,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,9,2,0,1,1,1,2,1,0\n1,0,3,2,1,4,1,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n1,0,14,0,2,7,1,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,1,8,1,0,0,1,1,0,1,0\n1,5,1,2,1,8,5,4,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n0,1,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,0,3,4,5,5,0,0,1,1,1,1,0\n0,0,3,2,0,12,2,0,1,1,1,1,1,1\n1,0,3,2,5,8,5,0,0,1,1,0,1,0\n2,1,13,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,1,10,5,0,1,1,1,1,1,0\n1,0,3,2,0,0,2,0,1,1,1,1,1,0\n1,0,0,3,2,8,3,4,0,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,3,7,3,0,1,1,1,0,1,0\n0,0,3,2,5,8,3,0,0,1,1,0,1,0\n1,1,13,3,2,5,3,0,0,1,1,1,1,0\n1,0,3,2,3,3,5,4,0,1,1,0,1,0\n1,0,3,2,2,4,3,0,0,1,1,1,1,0\n1,0,6,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,1,2,2,0,1,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,1,5,3,0,0,1,1,1,1,1\n1,5,0,3,0,12,2,0,1,1,1,1,1,1\n1,0,3,2,2,10,3,0,0,1,1,0,1,0\n2,1,4,3,4,5,3,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,5,5,2,2,8,3,0,1,1,1,0,1,0\n0,0,1,2,2,6,4,0,1,1,1,0,1,0\n1,0,1,2,2,4,5,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,1\n0,0,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n2,0,10,3,0,0,2,0,1,1,1,0,1,0\n1,0,6,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,1,1,1,1,0,1,1\n1,4,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,0,3,1,1,0,1,1,0,1,0\n0,0,7,1,0,12,0,4,0,1,1,0,1,0\n0,5,0,3,2,12,1,0,1,1,1,0,1,0\n0,0,12,1,2,7,1,0,1,1,1,0,1,0\n0,0,5,2,2,6,1,0,1,1,1,2,1,0\n1,0,1,2,2,7,1,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,0,0,0,1,1,2,1,1\n1,0,5,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,4,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,13,3,0,3,2,0,1,1,1,1,1,0\n0,4,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,4,3,1,1,1,1,1,0\n0,1,3,2,2,2,3,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,4,1,1,1,0,1,1\n2,1,3,2,0,3,2,0,1,1,1,1,1,0\n1,1,4,3,2,5,3,0,1,1,1,2,1,1\n0,0,0,3,2,8,3,0,0,1,1,2,1,0\n3,0,3,2,1,6,3,0,0,1,1,2,1,0\n2,4,3,2,4,5,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,3,0,3,0,5,2,0,1,1,1,0,1,1\n2,1,3,2,0,9,2,1,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,0,2,1,1,1,1,1,2,1,0\n1,0,0,3,0,4,0,0,0,1,1,0,1,0\n1,0,3,2,1,7,3,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,2,3,2,2,10,1,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,5,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,4,0,1,1,1,0,1,0\n0,1,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,1,8,5,0,0,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,1,0,1,1,1,1,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,5,4,3,2,5,3,0,1,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,1\n0,0,0,3,2,0,3,0,1,1,1,1,1,1\n2,4,10,3,0,5,2,0,1,1,1,1,1,1\n1,2,0,3,0,9,2,0,1,1,1,1,1,1\n1,0,1,2,1,4,3,0,0,1,1,2,1,0\n2,5,8,0,0,10,2,0,1,1,1,2,1,0\n0,0,12,1,2,3,5,0,0,1,1,2,1,0\n0,5,1,2,2,2,3,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n2,0,1,2,1,2,3,0,0,1,1,1,1,0\n0,0,3,2,1,5,1,0,0,1,1,0,1,0\n1,3,3,2,2,8,1,0,1,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,6,2,1,5,3,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,5,10,3,0,5,2,0,1,1,1,1,1,1\n1,3,6,2,0,5,0,0,0,1,1,1,1,1\n0,0,3,2,2,9,4,0,1,1,1,0,1,0\n1,0,0,3,0,8,2,1,1,1,1,2,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,2,3,2,2,9,1,0,1,1,1,1,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n2,3,3,2,1,8,1,4,0,1,1,2,1,0\n0,0,12,1,3,10,5,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,9,1,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,3,1,2,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,4,10,5,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,1,2,3,0,0,1,1,1,1,0\n1,4,6,2,0,12,2,0,1,1,1,0,1,1\n0,0,5,2,2,2,3,0,1,1,1,0,1,0\n1,0,1,2,2,2,5,4,0,1,1,0,1,0\n1,0,1,2,0,9,2,0,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,2,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,1,1,1,1,0,1,1\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,2,1,2,11,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,1,6,2,2,9,1,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,0,7,1,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,0,0,0,1,1,2,1,0\n0,0,5,2,0,12,2,0,1,1,1,0,1,0\n1,0,0,3,2,3,5,4,0,1,1,2,1,1\n0,5,1,2,2,2,1,0,1,1,1,1,1,0\n1,0,1,2,2,2,3,4,1,1,1,1,1,0\n1,0,3,2,3,1,3,0,1,1,1,1,1,0\n0,2,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,6,2,3,3,5,0,0,1,1,1,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,2,1,0\n2,0,8,0,2,6,3,0,0,1,1,2,1,0\n1,4,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,1,2,1,8,5,4,0,1,1,0,1,0\n1,0,1,2,0,5,0,0,0,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,4,6,2,2,12,1,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n2,5,13,3,0,5,2,0,1,1,1,1,1,0\n1,0,5,2,0,5,2,0,1,1,1,1,1,1\n2,1,8,0,0,9,2,0,1,1,1,2,1,0\n1,1,4,3,1,2,3,0,0,1,1,2,1,0\n0,0,0,3,2,4,1,0,0,1,1,2,1,0\n1,0,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,1,2,2,6,3,0,1,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,3,5,2,0,3,2,1,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,4,3,0,5,2,4,1,1,1,0,1,1\n1,0,4,3,2,4,3,0,1,1,1,1,1,1\n2,3,4,3,1,4,3,4,1,1,1,1,1,1\n1,0,2,1,0,10,2,0,1,1,1,0,1,0\n1,0,0,3,1,4,3,0,0,1,1,1,1,1\n1,0,6,2,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,0,0,0,1,1,0,1,1\n0,5,0,3,2,8,3,0,0,1,1,1,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,1,0,1,1,2,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,2,0,3,0,1,2,0,1,1,1,1,1,1\n2,0,11,0,4,6,3,0,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,4,8,1,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,0,0,3,2,0,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,1,7,3,1,0,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,0,4,0,0,0,1,1,1,1,1\n2,0,3,2,3,2,5,0,0,1,1,0,1,0\n2,0,3,2,4,3,3,0,0,1,1,1,1,1\n0,0,3,2,0,3,4,0,0,1,1,2,1,0\n1,0,0,3,1,6,3,0,1,1,1,2,1,0\n1,0,5,2,2,8,3,0,0,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,5,4,3,2,5,3,0,1,1,1,0,1,0\n1,1,1,2,2,3,3,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,1,2,3,9,1,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,2,0,5,1,0,1,1,0,1,0\n1,4,0,3,0,12,2,0,1,1,1,0,1,1\n0,0,3,2,0,2,0,4,0,1,1,2,1,0\n1,1,1,2,0,4,2,0,1,1,1,0,1,0\n0,2,1,2,0,4,2,0,1,1,1,2,1,1\n2,4,10,3,0,5,2,4,1,1,1,2,1,1\n1,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,5,15,0,2,2,3,0,1,1,1,2,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,1,10,3,0,3,2,0,1,1,1,1,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,2,1,0,10,2,0,1,1,1,1,1,0\n0,3,1,2,2,12,1,4,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,1,0,3,0,0,2,0,1,1,1,1,1,1\n1,0,5,2,1,8,5,0,0,1,1,1,1,0\n2,3,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,1,4,1,1,1,1,1,0\n1,1,1,2,0,2,0,0,0,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n3,1,8,0,2,9,5,0,1,1,1,2,1,0\n2,0,13,3,0,5,2,0,1,1,1,0,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,5,10,5,0,1,1,1,2,1,0\n0,0,4,3,2,5,1,1,1,1,1,0,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n1,0,7,1,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,3,8,5,0,0,1,1,0,1,0\n2,4,1,2,0,8,0,4,0,1,1,1,1,0\n2,0,7,1,3,9,3,4,1,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,1\n1,2,1,2,0,12,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,8,3,0,1,1,1,1,1,0\n0,0,4,3,0,4,2,1,1,1,1,1,1,1\n1,4,3,2,0,4,2,3,1,1,1,0,1,1\n0,0,1,2,0,5,2,0,1,1,1,1,1,0\n1,4,6,2,0,8,0,0,0,1,1,2,1,0\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,0,3,0,1,1,1,1,1,0\n0,0,5,2,2,5,1,0,1,1,1,2,1,0\n0,4,3,2,0,5,2,0,1,1,1,0,1,0\n0,0,5,2,2,10,1,0,1,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,1,1,3,0,0,1,1,0,1,0\n1,0,1,2,0,10,2,4,1,1,1,1,1,1\n2,4,0,3,0,5,2,0,1,1,1,2,1,0\n1,2,1,2,4,3,3,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,4,0,3,2,0,3,0,0,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,6,2,0,3,2,0,1,1,1,0,1,1\n0,1,6,2,2,9,1,0,1,1,1,1,1,0\n2,0,1,2,3,4,3,0,0,1,1,0,1,0\n1,1,4,3,1,5,5,0,1,1,1,0,1,1\n1,0,1,2,1,3,5,0,0,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,6,2,1,6,5,0,0,1,1,0,1,0\n3,1,3,2,0,9,2,0,1,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n1,4,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,5,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,2,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,9,1,2,8,1,0,0,1,1,2,1,0\n0,0,11,0,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,12,1,2,2,4,4,1,1,1,2,1,0\n1,0,0,3,1,0,5,0,0,1,1,0,1,0\n0,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,11,0,5,2,1,3,0,1,1,2,1,0\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n2,0,3,2,1,8,4,0,0,1,1,0,1,0\n2,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,0\n2,2,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,1,8,3,0,1,1,1,2,1,0\n2,1,5,2,1,0,3,0,1,1,1,0,1,0\n1,3,1,2,0,4,0,1,0,1,1,0,1,1\n1,3,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,2,10,3,0,4,2,0,1,1,1,1,1,1\n1,4,0,3,0,5,0,0,0,1,1,2,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,9,1,0,1,1,1,1,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,1,5,3,0,0,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,2,8,3,0,0,1,1,1,1,0\n1,4,10,3,4,5,5,0,0,1,1,2,1,0\n2,2,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,10,1,0,1,1,1,2,1,0\n0,0,9,1,2,3,5,4,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,1,2,0,12,2,0,1,1,1,1,1,0\n1,0,3,2,1,6,3,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,0,12,1,0,6,2,0,1,1,1,0,1,0\n0,4,10,3,0,5,2,0,1,1,1,0,1,1\n2,0,12,1,2,2,3,0,1,1,1,0,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n1,0,5,2,0,5,0,0,0,1,1,2,1,1\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,10,3,4,5,5,4,0,1,1,2,1,0\n0,0,1,2,0,5,2,0,1,1,1,2,1,1\n1,0,0,3,3,3,3,0,1,1,1,0,1,1\n1,1,3,2,2,1,3,2,1,1,1,2,1,0\n0,0,7,1,2,2,1,4,1,1,1,2,1,0\n1,0,7,1,1,3,3,0,1,1,1,2,1,0\n0,0,1,2,2,7,3,1,1,1,1,1,1,1\n1,0,8,0,0,7,0,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n0,0,0,3,0,8,0,0,0,1,1,0,1,0\n2,0,3,2,1,8,5,0,0,1,1,0,1,0\n2,3,1,2,2,8,5,0,1,1,1,0,1,0\n0,0,1,2,0,8,0,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,6,2,2,1,3,0,1,1,1,1,1,0\n2,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,1,3,2,0,9,2,0,1,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,1,1,0\n0,0,0,3,1,3,3,0,0,1,1,0,1,0\n1,1,1,2,2,9,3,0,1,1,1,1,1,0\n0,0,3,2,1,8,3,0,0,1,1,2,1,0\n1,5,1,2,0,2,2,0,1,1,1,2,1,0\n0,0,2,1,2,3,1,0,0,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,4,0,1,1,1,0,1,0\n1,1,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n2,1,8,0,4,9,4,0,0,1,1,2,1,0\n0,4,0,3,2,5,1,0,0,1,1,0,1,0\n0,0,1,2,2,7,3,0,0,1,1,2,1,0\n0,0,7,1,0,9,2,4,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n2,0,1,2,1,3,3,0,0,1,1,0,1,0\n0,0,5,2,2,3,1,0,0,1,1,0,1,0\n1,3,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,1,2,1,0,10,2,0,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,0,0,0,1,1,0,1,1\n0,0,12,1,2,2,5,4,0,1,1,0,1,0\n1,4,6,2,1,4,3,0,0,1,1,2,1,0\n0,0,2,1,2,8,4,0,0,1,1,0,1,0\n0,0,3,2,0,2,0,0,0,1,1,2,1,0\n1,0,3,2,1,9,3,0,1,1,1,1,1,1\n0,0,3,2,2,4,1,0,0,1,1,2,1,0\n1,2,5,2,0,5,2,0,1,1,1,1,1,0\n0,0,9,1,1,4,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,4,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,5,4,0,1,1,0,1,0\n1,0,3,2,1,2,5,4,0,1,1,2,1,0\n1,5,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,1,8,1,0,1,1,1,0,1,1\n1,4,3,2,0,12,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,4,4,0,1,1,1,1,0\n1,0,0,3,0,9,2,0,1,1,1,1,1,0\n1,1,10,3,2,4,3,0,1,1,1,1,1,0\n1,2,4,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,3,4,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,2,1,0\n0,0,1,2,2,5,1,0,1,1,1,0,1,0\n1,0,1,2,2,4,3,0,1,1,1,1,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,4,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,1,0,3,1,4,3,3,1,1,1,2,1,0\n1,0,6,2,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,4,3,0,1,1,1,2,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,3,1,2,2,8,1,4,1,1,1,2,1,0\n1,5,4,3,0,4,2,0,1,1,1,0,1,1\n1,2,1,2,1,9,3,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,2,1,2,0,1,2,4,1,1,1,1,1,0\n1,1,5,2,0,9,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,1,2,1,4,1,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,5,2,0,7,2,0,1,1,1,1,1,0\n1,2,0,3,0,4,2,0,1,1,1,2,1,0\n1,0,1,2,1,3,3,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,3,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n1,0,0,3,2,2,3,0,1,1,1,0,1,0\n1,0,10,3,1,5,3,0,0,1,1,2,1,0\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,5,2,0,10,2,3,1,1,1,2,1,0\n1,0,3,2,1,3,5,0,0,1,1,0,1,0\n1,0,9,1,1,9,1,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,5,0,1,1,1,2,1,0\n1,4,10,3,1,5,3,0,0,1,1,1,1,1\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,8,0,0,0,2,0,1,1,1,0,1,0\n1,5,0,3,0,4,0,0,0,1,1,2,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n2,0,8,0,0,3,2,0,1,1,1,1,1,0\n1,0,15,0,0,2,2,0,1,1,1,0,1,0\n0,0,2,1,2,1,1,0,1,1,1,2,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,2,0,3,0,1,2,4,1,1,1,1,1,0\n0,4,3,2,3,10,1,0,1,1,1,1,1,0\n0,0,6,2,2,0,5,0,0,1,1,1,1,0\n2,3,0,3,1,8,3,0,1,1,1,0,1,0\n1,0,11,0,0,2,0,1,0,1,1,0,1,0\n0,0,1,2,2,3,5,4,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,1,2,3,8,4,0,1,1,1,0,1,0\n0,0,3,2,2,6,4,4,1,1,1,0,1,0\n0,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,2,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,5,4,1,1,1,2,1,0\n1,0,9,1,1,10,3,0,0,1,1,0,1,0\n1,0,0,3,0,8,2,0,1,1,1,1,1,0\n2,0,1,2,4,12,3,4,0,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,2,1,0\n2,1,3,2,0,9,2,0,1,1,1,2,1,0\n2,0,13,3,0,5,2,0,1,1,1,1,1,0\n0,0,6,2,0,5,1,0,0,1,1,2,1,1\n1,0,0,3,0,4,0,0,0,1,1,1,1,0\n1,0,9,1,0,1,2,0,1,1,1,0,1,0\n0,2,0,3,2,3,1,0,0,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,9,1,2,9,3,0,1,1,1,0,1,0\n1,5,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,6,2,0,0,0,0,0,1,1,2,1,0\n2,3,1,2,0,0,2,0,1,1,1,0,1,1\n0,0,6,2,0,2,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n1,0,0,3,0,6,2,0,1,1,1,1,1,1\n1,4,0,3,1,5,5,0,0,1,1,0,1,1\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,7,1,4,10,5,0,1,1,1,0,1,1\n1,0,1,2,0,5,2,0,1,1,1,1,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,1,3,2,2,1,3,0,1,1,1,1,1,0\n2,1,3,2,0,10,2,0,1,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,6,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,3,9,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n2,0,1,2,3,4,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,4,0,1,1,1,0,1,0\n1,0,0,3,3,5,5,0,0,1,1,1,1,0\n2,4,10,3,1,5,3,0,0,1,1,0,1,1\n0,0,3,2,0,4,2,4,1,1,1,1,1,0\n1,3,10,3,2,5,3,0,0,1,1,0,1,0\n1,1,1,2,1,1,3,0,1,1,1,2,1,0\n2,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,4,1,1,1,1,2,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,0,7,1,0,7,2,4,1,1,1,0,1,0\n0,2,0,3,0,1,2,0,1,1,1,1,1,0\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,5,0,1,0,1,1,2,1,1\n2,0,12,1,0,8,2,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,0,3,0,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,3,1,2,2,4,1,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,3,2,1,1,5,0,1,1,1,0,1,0\n1,3,1,2,2,8,3,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,5,0,3,2,5,3,0,0,1,1,2,1,0\n1,0,2,1,1,3,3,0,0,1,1,0,1,0\n1,0,6,2,0,8,4,0,0,1,1,2,1,0\n1,0,1,2,0,1,4,1,1,1,1,0,1,1\n1,1,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,2,1,3,0,1,1,1,1,1,0\n1,3,3,2,0,8,2,0,1,1,1,1,1,1\n2,0,3,2,4,2,4,0,0,1,1,0,1,0\n1,0,3,2,1,4,3,0,0,1,1,0,1,1\n1,0,10,3,2,5,3,0,0,1,1,0,1,0\n0,5,10,3,2,4,3,0,0,1,1,0,1,0\n1,2,2,1,2,4,4,0,1,1,1,0,1,1\n1,1,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,4,0,0,1,1,2,1,0\n0,0,1,2,2,8,5,0,0,1,1,0,1,0\n0,4,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,0,3,0,1,1,1,1,1,0\n1,0,1,2,0,5,0,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,10,3,0,1,1,1,1,1,0\n1,1,5,2,2,3,3,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,6,2,2,3,3,4,0,1,1,2,1,0\n1,4,0,3,0,12,2,0,1,1,1,1,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n0,0,2,1,1,3,1,0,1,1,1,1,1,0\n2,0,14,0,4,7,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,1,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n1,0,0,3,2,7,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,0,8,2,0,1,1,1,0,1,0\n1,5,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,1\n1,0,1,2,2,4,3,0,0,1,1,2,1,0\n1,4,0,3,1,5,5,4,0,1,1,2,1,0\n0,0,10,3,2,3,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,12,1,2,7,3,0,1,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,2,1,0\n1,0,5,2,0,4,0,0,0,1,1,2,1,0\n0,2,10,3,0,3,2,0,1,1,1,1,1,1\n1,1,0,3,2,3,3,0,1,1,1,1,1,0\n0,3,0,3,3,5,3,0,1,1,1,0,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,0,10,3,2,0,3,0,0,1,1,0,1,0\n2,0,12,1,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,4,0,3,0,12,2,0,1,1,1,1,1,1\n1,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,7,5,0,1,1,1,2,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,2,5,3,0,1,1,1,1,1,0\n0,0,9,1,2,8,1,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,4,1,2,0,12,2,4,1,1,1,0,1,0\n2,5,1,2,3,8,3,0,0,1,1,1,1,0\n2,0,12,1,1,10,3,0,1,1,1,2,1,0\n1,5,3,2,2,8,5,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,2,3,2,0,9,2,0,1,1,1,1,1,0\n0,5,1,2,0,8,0,0,0,1,1,2,1,0\n2,2,1,2,0,4,2,0,1,1,1,2,1,1\n0,0,1,2,0,1,2,1,1,1,1,0,1,1\n0,0,10,3,0,5,2,0,1,1,1,0,1,0\n0,0,5,2,2,6,3,0,1,1,1,1,1,0\n1,3,13,3,0,5,2,1,1,1,1,0,1,1\n0,4,0,3,2,5,1,1,0,1,1,2,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,0,1,2,1,1,3,0,1,1,1,2,1,0\n0,0,6,2,2,0,3,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n1,0,6,2,1,6,3,0,0,1,1,0,1,0\n0,4,14,0,2,6,4,0,1,1,1,0,1,1\n2,0,1,2,1,0,3,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,1,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,4,0,1,1,2,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,13,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,1,8,5,0,0,1,1,2,1,0\n1,0,15,0,2,2,3,0,0,1,1,2,1,0\n1,0,7,1,0,7,2,0,1,1,1,1,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,0,1,0,0,1,1,2,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,4,5,4,0,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,4,2,2,1,1,1,0,1,0\n1,4,1,2,1,2,5,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,5,2,1,3,1,0,1,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,6,2,2,0,3,4,1,1,1,0,1,0\n1,0,4,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,3,8,3,0,0,1,1,2,1,0\n0,0,6,2,0,9,2,0,1,1,1,1,1,0\n1,5,0,3,1,12,3,0,1,1,1,0,1,0\n0,0,3,2,3,1,3,2,1,1,1,2,1,0\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n2,1,3,2,1,9,5,0,0,1,1,2,1,0\n0,0,5,2,1,1,3,0,1,1,1,1,1,1\n0,1,1,2,0,9,2,0,1,1,1,1,1,1\n1,3,0,3,4,4,5,0,0,1,1,0,1,1\n0,0,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,0,3,0,2,2,2,1,1,1,2,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,1,0,3,0,3,0,0,0,1,1,1,1,0\n1,1,0,3,2,9,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,13,3,2,7,3,0,0,1,1,0,1,1\n1,2,3,2,0,2,2,0,1,1,1,2,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n2,0,12,1,4,2,3,0,0,1,1,2,1,0\n1,3,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n2,6,1,2,0,8,0,0,0,1,1,2,1,0\n0,0,3,2,2,1,4,3,1,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,2,1,0\n1,4,0,3,0,2,2,0,1,1,1,0,1,1\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,6,2,5,3,5,4,0,1,1,2,1,0\n2,0,3,2,0,12,2,0,1,1,1,2,1,0\n1,4,1,2,0,12,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,2,1,1\n0,0,5,2,2,5,1,4,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,4,1,2,2,12,1,0,1,1,1,1,1,0\n3,0,3,2,4,8,5,0,0,1,1,2,1,0\n2,0,9,1,1,7,3,0,0,1,1,0,1,0\n1,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,2,1,0\n1,0,5,2,2,4,3,1,0,1,1,1,1,0\n0,0,0,3,2,5,1,4,0,1,1,0,1,0\n2,4,13,3,0,4,2,0,1,1,1,1,1,1\n0,0,7,1,2,7,1,4,1,1,1,2,1,0\n0,0,6,2,2,10,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,1,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,1\n1,0,1,2,1,7,3,0,0,1,1,0,1,0\n1,0,3,2,0,4,0,0,0,1,1,2,1,1\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,0\n2,0,10,3,0,5,2,0,1,1,1,1,1,0\n2,4,8,0,0,4,2,0,1,1,1,0,1,0\n1,4,3,2,0,12,2,0,1,1,1,0,1,1\n2,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,11,0,0,6,4,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n2,0,10,3,1,5,3,0,0,1,1,0,1,1\n0,0,9,1,5,6,5,0,1,1,1,2,1,0\n1,0,1,2,1,7,1,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,3,3,2,2,13,3,0,1,1,1,2,1,0\n0,0,0,3,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,4,3,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,5,3,2,0,5,2,0,1,1,1,0,1,0\n0,4,1,2,2,12,4,0,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,5,1,2,1,8,1,0,1,1,1,0,1,0\n0,5,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,1,1,1,1,0,1,0\n0,0,12,1,1,1,3,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,9,1,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,14,0,5,9,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,5,4,0,1,1,0,1,0\n0,0,0,3,2,5,3,1,1,1,1,1,1,0\n0,4,3,2,1,10,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n3,1,10,3,4,3,3,0,1,1,1,1,1,0\n3,1,0,3,4,1,3,0,1,1,1,2,1,1\n0,0,1,2,0,7,2,4,1,1,1,0,1,0\n0,0,0,3,5,8,3,0,0,1,1,1,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,5,0,3,0,8,0,0,0,1,1,2,1,1\n1,0,0,3,0,10,2,0,1,1,1,1,1,0\n1,0,2,1,2,1,3,4,0,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n2,0,8,0,5,7,3,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,12,1,1,10,5,0,1,1,1,1,1,0\n0,0,6,2,1,8,3,0,0,1,1,0,1,0\n1,1,6,2,0,5,2,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,1,2,1,8,5,0,0,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,15,0,0,7,4,4,1,1,1,1,1,0\n2,5,3,2,0,1,2,0,1,1,1,0,1,0\n2,4,10,3,2,5,3,0,0,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,2,3,5,0,0,1,1,0,1,0\n3,4,8,0,0,12,2,0,1,1,1,0,1,0\n1,0,3,2,2,3,1,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n1,1,4,3,2,5,3,1,1,1,1,0,1,1\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,6,2,2,2,3,0,0,1,1,0,1,0\n2,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,0,3,2,1,1,3,1,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,3,2,3,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n1,5,1,2,1,4,3,0,0,1,1,0,1,0\n2,0,7,1,0,2,2,4,1,1,1,1,1,0\n1,4,3,2,1,8,5,0,0,1,1,0,1,0\n0,3,0,3,2,5,3,0,1,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,3,3,2,0,3,0,0,0,1,1,0,1,1\n0,0,1,2,2,8,4,0,0,1,1,2,1,0\n1,0,5,2,3,0,5,0,0,1,1,2,1,0\n1,0,1,2,0,2,2,0,1,1,1,1,1,1\n2,0,1,2,0,3,2,0,1,1,1,0,1,0\n2,0,3,2,3,12,3,0,1,1,1,1,1,0\n0,0,9,1,2,8,1,0,1,1,1,2,1,0\n1,0,0,3,2,8,3,0,1,1,1,0,1,0\n0,1,3,2,1,2,3,0,1,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n2,0,3,2,1,0,3,4,0,1,1,0,1,0\n1,0,3,2,3,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,2,4,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n1,4,8,0,2,2,4,4,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,11,0,0,7,2,0,1,1,1,0,1,0\n0,0,2,1,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n2,0,1,2,1,2,3,4,1,1,1,0,1,0\n0,0,3,2,1,2,5,0,0,1,1,1,1,0\n2,1,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,5,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,0,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n0,0,3,2,0,2,0,4,0,1,1,2,1,0\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n2,0,2,1,4,6,3,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,11,0,0,7,0,2,0,1,1,2,1,0\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n1,3,0,3,0,8,0,1,0,1,1,0,1,0\n1,4,13,3,1,4,3,0,0,1,1,1,1,1\n2,1,8,0,0,9,2,0,1,1,1,1,1,0\n1,0,8,0,1,7,3,0,0,1,1,1,1,0\n1,0,15,0,1,2,3,3,1,1,1,1,1,0\n1,1,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,5,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n2,1,10,3,0,4,2,0,1,1,1,2,1,1\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n0,1,1,2,5,1,1,0,1,1,1,1,1,1\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,4,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,4,1,3,4,0,1,1,1,1,0\n1,0,3,2,4,7,5,4,0,1,1,2,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,7,1,0,10,2,4,1,1,1,0,1,0\n1,0,1,2,3,4,5,0,0,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n0,1,2,1,5,1,3,0,1,1,1,2,1,0\n0,0,10,3,0,0,2,1,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n3,0,0,3,0,4,2,0,1,1,1,2,1,0\n2,0,3,2,4,8,3,0,0,1,1,2,1,0\n0,0,0,3,2,7,3,0,0,1,1,2,1,0\n1,2,3,2,0,1,2,0,1,1,1,1,1,1\n2,4,3,2,0,2,2,0,1,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,4,4,3,0,0,1,1,2,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n2,0,7,1,0,1,2,0,1,1,1,1,1,0\n1,1,3,2,2,4,3,0,1,1,1,1,1,0\n1,0,13,3,1,5,3,0,0,1,1,1,1,0\n0,0,1,2,1,6,3,0,1,1,1,1,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,0\n1,3,10,3,1,5,5,0,0,1,1,0,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,5,0,1,1,1,1,1,0\n0,0,9,1,0,1,2,0,1,1,1,1,1,0\n0,0,5,2,2,2,1,0,1,1,1,0,1,0\n2,5,8,0,0,2,0,4,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,6,2,3,3,5,0,0,1,1,0,1,0\n0,0,1,2,0,5,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,0,0,0,1,1,0,1,0\n0,0,1,2,0,2,1,1,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,4,1,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,4,1,1,1,0,1,0\n0,0,3,2,1,8,5,4,0,1,1,0,1,0\n0,0,2,1,1,7,5,0,0,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n0,0,2,1,2,5,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,4,4,1,1,1,0,1,0\n0,0,2,1,1,10,5,0,1,1,1,1,1,0\n2,0,7,1,0,2,2,0,1,1,1,0,1,0\n0,4,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,10,3,1,3,3,0,0,1,1,1,1,1\n0,0,12,1,2,8,3,4,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,12,1,1,2,3,4,0,1,1,2,1,0\n0,0,3,2,3,3,3,0,0,1,1,1,1,0\n0,4,0,3,2,8,1,4,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,10,3,0,5,0,0,0,1,1,2,1,1\n1,0,6,2,0,1,2,4,1,1,1,1,1,0\n2,3,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,1,8,5,0,0,1,1,2,1,0\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n2,4,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,5,0,0,1,1,1,1,0\n0,0,3,2,0,1,2,4,1,1,1,0,1,0\n2,0,2,1,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,5,2,2,7,4,0,0,1,1,2,1,0\n0,0,12,1,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,0,3,2,0,7,0,0,0,1,1,0,1,0\n0,0,3,2,3,3,5,0,0,1,1,2,1,0\n0,0,13,3,0,5,2,0,1,1,1,1,1,1\n2,0,0,3,0,4,2,1,1,1,1,1,1,1\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,9,1,2,12,1,4,1,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,1\n0,0,3,2,2,1,3,4,1,1,1,1,1,0\n1,0,0,3,1,5,5,4,0,1,1,1,1,1\n1,5,3,2,3,8,1,0,0,1,1,0,1,0\n1,4,5,2,1,5,5,0,0,1,1,1,1,0\n0,0,10,3,1,2,3,3,0,1,1,2,1,0\n1,4,5,2,0,8,0,0,0,1,1,2,1,1\n1,0,5,2,1,0,3,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,1,4,3,2,5,3,0,1,1,1,1,1,0\n1,5,1,2,1,8,4,0,0,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,12,1,0,6,2,2,1,1,1,0,1,0\n1,0,6,2,0,3,2,0,1,1,1,1,1,0\n0,0,10,3,2,0,3,1,1,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,12,3,0,1,1,1,0,1,0\n0,0,5,2,0,0,0,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n2,0,3,2,4,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n1,2,3,2,0,4,0,0,0,1,1,0,1,1\n"
  },
  {
    "path": "ML/data/adult/adult_deal_value.test",
    "content": "0,0,2,1,2,7,1,4,1,1,1,0,1,0\n1,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,4,5,2,0,12,2,0,1,1,1,0,1,1\n1,0,1,2,0,7,2,4,1,1,1,0,1,1\n0,0,12,1,2,2,3,0,1,1,1,2,1,0\n2,1,4,3,0,5,2,0,1,1,1,2,1,1\n0,0,1,2,2,2,5,0,0,1,1,0,1,0\n2,0,8,0,0,1,2,0,1,1,1,2,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,3,0,3,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,5,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,0\n1,0,3,2,4,7,5,0,0,1,1,2,1,0\n0,0,0,3,0,0,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,4,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,3,7,5,4,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,1,1,2,2,5,3,0,1,1,1,1,1,0\n1,5,1,2,0,4,2,4,1,1,1,2,1,1\n2,1,2,1,4,2,5,0,0,1,1,1,1,0\n0,1,0,3,2,3,3,0,1,1,1,1,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,0\n0,0,3,2,1,4,5,0,0,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,14,0,2,11,3,0,1,1,1,1,1,0\n0,0,12,1,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n2,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,2,6,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,2,1,0,2,2,0,1,1,1,0,1,0\n0,5,1,2,2,9,1,0,1,1,1,2,1,0\n0,0,6,2,0,5,0,0,0,1,1,2,1,1\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n2,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,2,1,3,11,3,4,0,1,1,2,1,0\n2,2,3,2,4,4,3,0,0,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,1,6,1,4,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,1,1,1,1,1,1\n1,0,7,1,5,4,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,4,0,3,0,4,2,0,1,1,1,1,1,1\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,0,1,2,1,3,3,0,1,1,1,0,1,0\n0,0,10,3,2,4,3,0,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n1,4,3,2,1,8,3,0,0,1,1,0,1,0\n1,2,5,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,3,10,3,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,3,6,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,3,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,2,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,2,1,2,0,7,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,1,2,3,2,3,0,1,1,1,0,1,0\n0,1,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,3,7,3,0,0,1,1,1,1,0\n0,3,2,1,2,2,1,0,0,1,1,2,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,3,1,2,2,13,3,0,1,1,1,0,1,0\n2,0,0,3,2,4,3,0,0,1,1,2,1,0\n1,3,8,0,2,2,3,4,1,1,1,2,1,0\n0,0,10,3,0,5,0,0,0,1,1,2,1,1\n2,3,0,3,1,8,3,0,1,1,1,0,1,0\n0,0,10,3,2,2,3,2,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n1,0,12,1,0,9,2,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,5,4,0,1,1,2,1,0\n0,0,1,2,2,10,1,4,1,1,1,2,1,0\n2,1,7,1,4,2,3,0,0,1,1,0,1,0\n1,4,3,2,4,8,5,0,0,1,1,2,1,0\n1,0,12,1,3,7,3,0,0,1,1,0,1,0\n1,4,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,4,1,1,1,2,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,7,1,0,0,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,5,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,3,0,0,1,1,2,1,0\n1,0,3,2,5,8,5,0,0,1,1,0,1,0\n1,0,0,3,1,3,5,0,0,1,1,0,1,1\n0,4,0,3,1,5,5,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,12,1,0,1,1,1,2,1,0\n1,0,1,2,1,0,3,0,0,1,1,0,1,0\n1,0,3,2,1,6,5,0,0,1,1,0,1,0\n2,0,3,2,1,8,3,0,0,1,1,2,1,0\n1,3,13,3,0,5,0,0,0,1,1,0,1,1\n0,0,3,2,2,5,1,0,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,5,4,0,1,1,0,1,0\n1,2,13,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,4,1,1,1,1,1,0\n0,0,5,2,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,8,0,0,7,2,4,1,1,1,0,1,0\n0,0,3,2,0,7,0,0,0,1,1,2,1,0\n0,0,12,1,0,9,2,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,1,0,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,10,3,2,5,1,0,0,1,1,2,1,0\n1,1,3,2,4,4,3,0,0,1,1,2,1,0\n1,0,6,2,4,4,5,0,0,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,1\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,3,0,1,1,1,2,1,0\n0,0,1,2,2,2,3,4,1,1,1,2,1,0\n0,0,2,1,0,2,0,4,0,1,1,2,1,0\n1,0,8,0,0,7,2,0,1,1,1,2,1,0\n0,0,2,1,2,1,5,0,1,1,1,0,1,0\n1,5,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,4,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,2,1,0\n1,0,1,2,2,6,5,4,0,1,1,0,1,0\n1,2,0,3,1,4,3,0,1,1,1,0,1,0\n2,0,2,1,0,2,2,0,1,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n1,5,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,2,0,1,1,1,0,1,1\n2,1,13,3,0,5,2,0,1,1,1,2,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,5,0,1,1,1,2,1,0\n2,4,3,2,1,4,3,0,1,1,1,2,1,0\n2,0,3,2,0,5,2,0,1,1,1,0,1,1\n0,0,10,3,2,5,3,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n2,0,9,1,0,4,2,0,1,1,1,1,1,0\n1,4,10,3,3,8,5,4,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,6,2,0,7,2,0,1,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,2,1,0\n0,2,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,7,2,0,1,1,1,0,1,1\n0,0,10,3,2,4,1,0,1,1,1,0,1,0\n2,2,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,4,4,3,0,0,1,1,1,1,0\n1,0,3,2,1,3,5,4,0,1,1,0,1,0\n2,0,3,2,1,6,3,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,0,0,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,3,5,3,0,1,1,1,1,1,1\n1,0,1,2,1,8,3,4,0,1,1,2,1,0\n0,0,3,2,2,5,5,4,0,1,1,1,1,0\n0,0,1,2,1,4,5,0,0,1,1,0,1,0\n1,0,1,2,2,10,3,0,1,1,1,1,1,0\n1,2,4,3,0,5,0,0,0,1,1,1,1,1\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n0,2,0,3,0,4,2,0,1,1,1,1,1,0\n2,0,0,3,1,1,3,0,1,1,1,1,1,0\n1,4,0,3,1,5,5,0,0,1,1,0,1,0\n1,0,6,2,0,5,2,0,1,1,1,0,1,1\n0,2,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,8,0,0,1,2,4,1,1,1,0,1,0\n3,4,3,2,0,4,2,0,1,1,1,2,1,0\n0,0,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,3,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,1,1,0\n1,3,6,2,1,1,5,0,0,1,1,0,1,0\n1,0,0,3,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,2,0,1,4,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,3,3,2,2,2,3,0,1,1,1,2,1,0\n0,0,14,0,2,7,4,0,1,1,1,2,1,0\n0,0,6,2,3,1,3,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n0,0,0,3,0,8,2,1,1,1,1,0,1,0\n0,0,3,2,2,7,3,1,0,1,1,0,1,0\n1,0,3,2,2,1,5,0,1,1,1,0,1,0\n1,2,3,2,0,3,2,0,1,1,1,0,1,1\n2,4,7,1,0,10,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,2,1,1\n1,4,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,9,1,2,11,1,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,0\n2,0,10,3,2,4,5,1,0,1,1,1,1,0\n0,0,3,2,0,0,2,0,1,1,1,0,1,1\n3,1,3,2,0,2,2,0,1,1,1,2,1,0\n0,0,6,2,1,0,5,0,0,1,1,1,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,0\n1,0,3,2,2,2,5,4,0,1,1,2,1,0\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,4,3,2,2,2,1,0,0,1,1,2,1,0\n2,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,1,1,2,0,10,2,0,1,1,1,2,1,0\n0,3,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,1,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,5,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,6,2,2,1,3,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,0,1,0,1,1,1,1,1,0\n0,0,1,2,2,7,4,0,1,1,1,2,1,0\n2,3,1,2,1,0,3,4,1,1,1,0,1,0\n1,0,3,2,2,2,3,4,0,1,1,0,1,0\n0,5,3,2,2,2,3,0,1,1,1,0,1,0\n3,1,4,3,2,5,3,0,1,1,1,2,1,0\n1,0,1,2,0,4,0,0,0,1,1,1,1,0\n0,4,10,3,2,5,3,0,1,1,1,0,1,0\n0,0,1,2,2,5,3,0,0,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,0,10,3,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,1\n0,0,12,1,0,1,2,0,1,1,1,2,1,0\n0,0,2,1,0,3,0,0,0,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n2,0,12,1,0,10,2,0,1,1,1,0,1,1\n2,0,1,2,0,4,0,0,0,1,1,0,1,1\n1,5,10,3,2,4,3,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,2,0,1,1,2,1,0\n1,0,3,2,1,2,3,4,1,1,1,1,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n2,2,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,12,3,4,1,1,1,1,1,0\n0,3,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,6,2,0,1,1,1,2,1,1\n0,0,3,2,2,6,3,0,0,1,1,2,1,0\n0,0,1,2,1,0,5,0,0,1,1,0,1,0\n0,0,0,3,0,3,2,4,1,1,1,1,1,0\n1,0,1,2,2,7,3,0,0,1,1,1,1,0\n0,0,3,2,2,7,1,4,1,1,1,0,1,0\n1,0,1,2,0,12,2,0,1,1,1,0,1,1\n2,3,1,2,0,10,2,4,1,1,1,0,1,0\n0,0,3,2,2,4,3,4,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,0,12,1,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,12,1,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,5,0,1,1,1,0,1,0\n0,0,7,1,0,2,2,0,1,1,1,2,1,1\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n0,1,6,2,2,9,3,0,1,1,1,1,1,1\n0,0,3,2,0,7,4,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,2,1,2,6,4,0,1,1,1,2,1,0\n1,4,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,1,4,1,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,0,8,1,0,0,1,1,0,1,0\n0,0,0,3,2,8,1,0,1,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,0,3,2,1,1,1,1,1,1,0\n2,4,5,2,0,0,2,0,1,1,1,1,1,1\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,1,4,5,0,0,1,1,1,1,1\n0,0,3,2,0,8,0,0,0,1,1,2,1,0\n1,0,1,2,1,1,3,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,0,7,2,4,1,1,1,0,1,1\n0,0,1,2,1,12,3,0,1,1,1,0,1,0\n2,2,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,11,0,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,3,6,1,0,1,1,1,0,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,0\n1,4,10,3,1,5,5,0,0,1,1,1,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,1,8,5,0,0,1,1,1,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,5,0,0,1,1,0,1,0\n1,0,7,1,1,2,5,0,0,1,1,1,1,0\n2,0,12,1,4,2,5,0,0,1,1,0,1,0\n1,2,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,1,4,5,0,0,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,0,3,2,1,3,0,1,1,1,0,1,0\n0,0,14,0,0,2,2,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,0,1,1,1,1,1\n1,0,3,2,1,4,5,4,0,1,1,0,1,1\n2,0,8,0,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,6,2,1,1,5,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,4,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,0,2,0,0,0,1,1,2,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,4,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,3,5,2,2,12,3,4,1,1,1,0,1,0\n0,0,0,3,2,8,1,4,0,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,1,3,0,1,1,1,1,1,0\n2,0,1,2,1,6,4,0,1,1,1,2,1,0\n0,4,1,2,0,4,1,0,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,2,4,3,0,5,2,0,1,1,1,2,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,1\n0,1,10,3,0,5,0,0,0,1,1,2,1,0\n0,0,12,1,1,2,5,0,0,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,8,0,3,1,3,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,0\n0,1,3,2,2,1,1,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,5,0,1,0,1,1,0,1,0\n0,0,3,2,2,4,1,1,0,1,1,0,1,0\n0,0,3,2,2,1,4,0,1,1,1,2,1,0\n1,1,3,2,0,4,2,4,1,1,1,0,1,1\n0,0,0,3,1,0,3,0,0,1,1,0,1,0\n2,1,13,3,6,4,0,0,0,1,1,2,1,1\n1,0,3,2,4,8,5,4,0,1,1,2,1,0\n0,0,2,1,0,10,2,0,1,1,1,1,1,1\n1,0,2,1,0,2,2,0,1,1,1,2,1,0\n1,0,3,2,1,8,5,4,0,1,1,2,1,0\n1,0,2,1,4,8,5,0,0,1,1,0,1,0\n2,1,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,1,5,4,0,0,1,1,1,1,1\n0,0,3,2,2,10,1,4,1,1,1,0,1,0\n1,4,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,1,5,0,0,1,1,0,1,0\n1,0,3,2,3,7,1,1,1,1,1,1,1,0\n1,0,0,3,0,4,2,1,1,1,1,1,1,1\n1,0,10,3,0,4,2,1,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,0,5,2,2,0,4,0,0,1,1,2,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,2,10,1,0,1,1,1,1,1,0\n1,0,0,3,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,1,2,2,4,1,0,0,1,1,0,1,0\n1,0,0,3,0,5,0,0,0,1,1,2,1,1\n1,0,2,1,1,10,5,0,0,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,1\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n1,3,12,1,0,8,2,0,1,1,1,0,1,0\n1,0,12,1,0,10,2,0,1,1,1,0,1,1\n0,0,3,2,0,6,2,0,1,1,1,2,1,0\n1,5,1,2,0,5,4,1,1,1,1,0,1,0\n2,2,4,3,0,5,2,0,1,1,1,0,1,1\n1,2,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,3,2,1,1,3,0,0,1,1,0,1,0\n0,0,1,2,2,0,4,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,6,2,3,8,5,4,0,1,1,0,1,0\n1,0,3,2,3,8,3,0,1,1,1,0,1,1\n2,0,3,2,1,2,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,5,0,0,1,1,0,1,0\n1,0,2,1,2,2,1,0,0,1,1,1,1,0\n2,2,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,3,1,1,1,2,1,0\n0,0,1,2,0,8,0,4,0,1,1,0,1,1\n0,0,3,2,2,4,3,4,0,1,1,2,1,0\n2,1,10,3,0,5,2,0,1,1,1,0,1,0\n0,0,0,3,0,1,2,0,1,1,1,1,1,1\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,1,0,0,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,3,1,1,1,0,1,0\n1,5,3,2,0,10,2,0,1,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,3,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,2,8,3,0,1,1,1,1,1,0\n0,5,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,2,7,3,0,1,1,1,1,1,0\n0,4,1,2,2,12,1,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,5,3,2,0,2,0,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,1,8,0,0,1,2,0,1,1,1,2,1,0\n1,5,3,2,0,2,2,0,1,1,1,0,1,0\n0,5,2,1,2,12,1,0,1,1,1,0,1,0\n1,3,10,3,0,4,2,4,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,6,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,1,3,4,0,1,1,1,1,1,0\n1,3,10,3,2,5,3,0,1,1,1,0,1,1\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n3,1,1,2,4,9,3,0,0,1,1,1,1,0\n1,0,8,0,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n0,0,1,2,6,3,0,0,0,1,1,2,1,0\n1,0,1,2,1,3,3,0,0,1,1,2,1,0\n1,0,0,3,0,8,0,0,0,1,1,2,1,0\n0,0,0,3,1,6,1,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,4,1,1,1,2,1,0\n1,0,0,3,1,4,3,0,1,1,1,1,1,1\n3,0,3,2,1,4,3,0,0,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,0,5,2,2,2,3,0,1,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,6,2,2,7,1,0,1,1,1,0,1,0\n0,0,0,3,2,6,3,0,1,1,1,2,1,0\n0,0,2,1,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,6,2,2,1,1,1,0,1,0\n1,5,7,1,0,1,2,4,1,1,1,0,1,0\n2,0,1,2,0,4,2,0,1,1,1,2,1,0\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,2,4,3,0,1,1,1,1,1,0\n0,0,14,0,2,7,4,1,1,1,1,0,1,0\n2,5,4,3,1,5,3,0,0,1,1,2,1,0\n0,1,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,7,1,0,1,2,0,1,1,1,1,1,0\n1,4,1,2,0,0,2,0,1,1,1,0,1,0\n1,0,0,3,1,8,5,0,0,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,3,6,2,2,8,1,0,0,1,1,2,1,0\n0,1,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n2,0,12,1,4,2,5,0,0,1,1,2,1,0\n0,0,3,2,2,10,4,4,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,1,8,1,0,1,1,1,0,1,0\n0,0,3,2,3,0,3,0,0,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,0\n2,5,11,0,0,9,2,3,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,4,3,2,0,10,2,0,1,1,1,1,1,1\n1,1,0,3,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,9,1,0,1,1,1,2,1,0\n1,4,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,4,8,3,2,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,2,2,1,0,4,2,0,1,1,1,0,1,0\n2,0,0,3,2,4,3,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,4,1,1,1,1,1,0\n0,4,0,3,2,5,1,0,0,1,1,2,1,0\n2,0,1,2,1,8,4,0,0,1,1,0,1,0\n2,0,12,1,0,2,2,4,1,1,1,0,1,0\n0,2,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,10,3,0,5,0,0,0,1,1,2,1,0\n2,0,3,2,4,10,3,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n2,0,8,0,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,1,4,3,0,0,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,6,2,0,2,2,0,1,1,1,0,1,0\n0,0,6,2,0,1,4,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,1,1,1,1,1,1,1\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n0,0,12,1,1,7,1,0,1,1,1,2,1,0\n1,2,0,3,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,3,8,3,4,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,5,0,3,0,9,2,0,1,1,1,0,1,1\n1,1,0,3,0,2,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,5,3,0,0,1,1,2,1,0\n1,0,3,2,3,8,5,4,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,5,10,3,0,5,2,0,1,1,1,2,1,1\n0,0,1,2,2,8,4,1,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n3,0,14,0,0,4,2,0,1,1,1,1,1,1\n0,1,0,3,2,3,3,0,0,1,1,0,1,0\n2,1,6,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,3,2,1,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,1,10,3,2,3,3,0,0,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,3,8,5,0,0,1,1,2,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,0,8,0,0,0,1,1,1,1,1\n0,1,6,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,6,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,1,0,3,0,5,0,0,0,1,1,0,1,1\n0,0,0,3,2,5,1,0,1,1,1,1,1,1\n0,0,1,2,2,2,5,4,0,1,1,0,1,0\n1,0,3,2,2,1,1,0,1,1,1,0,1,1\n0,0,1,2,2,12,1,0,1,1,1,2,1,0\n1,0,2,1,0,4,2,0,1,1,1,0,1,0\n1,4,0,3,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,5,4,0,1,1,0,1,0\n0,0,3,2,1,4,1,0,1,1,1,0,1,0\n0,0,14,0,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,1\n1,4,3,2,3,4,5,4,0,1,1,2,1,0\n0,2,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,3,2,3,7,5,4,0,1,1,2,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,0\n1,2,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,7,1,1,1,1,1,2,1,0\n2,0,3,2,0,7,0,0,0,1,1,0,1,1\n1,0,3,2,2,10,3,0,1,1,1,0,1,0\n0,0,0,3,4,8,5,0,1,1,1,1,1,0\n2,5,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,4,4,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,4,1,2,0,12,2,0,1,1,1,1,1,0\n1,0,6,2,2,1,1,1,1,1,1,0,1,0\n0,4,0,3,2,8,3,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,4,1,1,1,0,1,0\n1,0,8,0,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n1,0,9,1,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,0,9,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,7,2,0,1,1,1,2,1,0\n0,0,5,2,2,3,3,0,0,1,1,2,1,0\n0,0,3,2,3,6,3,0,1,1,1,0,1,0\n1,0,1,2,1,1,5,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,1,1,2,1,7,3,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,4,0,1,1,2,1,0\n1,0,0,3,1,5,3,4,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,5,8,3,0,1,1,1,1,1,0\n1,5,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,3,10,3,1,4,3,0,1,1,1,1,1,1\n0,0,14,0,2,6,4,0,1,1,1,0,1,0\n2,3,0,3,0,4,0,0,0,1,1,0,1,1\n2,5,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,5,4,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,4,3,2,2,8,1,4,0,1,1,2,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,2,3,5,0,0,1,1,0,1,0\n1,1,3,2,0,2,0,0,0,1,1,2,1,1\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,4,0,3,0,10,2,4,1,1,1,0,1,1\n0,0,1,2,2,3,1,1,0,1,1,2,1,0\n0,3,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,0,3,2,1,3,5,0,1,1,1,1,1,0\n1,0,1,2,0,8,0,0,0,1,1,2,1,1\n2,0,7,1,0,6,2,0,1,1,1,2,1,0\n1,0,3,2,2,2,4,1,1,1,1,2,1,0\n0,0,3,2,2,8,1,4,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,2,4,5,0,0,1,1,0,1,0\n0,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,2,3,2,0,4,2,4,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,3,2,3,0,0,1,1,2,1,0\n0,3,0,3,2,8,5,4,0,1,1,0,1,0\n2,4,4,3,0,4,2,0,1,1,1,0,1,1\n0,0,12,1,2,7,5,0,0,1,1,0,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,4,1,1,1,1,1,1,1,0\n0,0,3,2,1,3,5,3,0,1,1,0,1,0\n1,0,3,2,1,6,3,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n2,1,13,3,1,3,3,0,1,1,1,2,1,0\n0,1,9,1,2,10,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,3,6,2,1,8,1,4,1,1,1,1,1,0\n2,1,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,3,3,4,0,0,1,1,1,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,0\n0,0,0,3,0,9,2,0,1,1,1,2,1,1\n1,0,3,2,1,7,5,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,7,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n0,0,3,2,1,3,5,0,0,1,1,2,1,0\n1,0,6,2,1,2,3,0,1,1,1,2,1,0\n1,4,1,2,0,12,2,0,1,1,1,1,1,1\n2,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,5,0,3,2,5,1,0,1,1,1,1,1,1\n1,1,2,1,1,2,3,0,0,1,1,0,1,0\n0,0,6,2,1,8,3,0,0,1,1,0,1,0\n0,0,0,3,0,8,0,0,0,1,1,2,1,0\n0,0,3,2,1,8,3,0,1,1,1,0,1,0\n1,5,0,3,0,1,2,0,1,1,1,0,1,1\n2,2,6,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n2,0,0,3,1,4,3,0,1,1,1,1,1,1\n1,2,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,9,1,1,2,3,0,1,1,1,0,1,0\n1,2,1,2,0,10,2,0,1,1,1,1,1,1\n2,1,8,0,2,9,3,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,1,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n0,0,0,3,0,0,2,0,1,1,1,1,1,0\n1,1,1,2,5,4,3,0,0,1,1,1,1,0\n0,1,7,1,0,1,2,2,1,1,1,1,1,0\n2,0,1,2,1,3,5,0,0,1,1,0,1,0\n0,2,10,3,2,5,1,0,1,1,1,0,1,0\n1,2,4,3,0,5,2,1,1,1,1,1,1,1\n1,0,6,2,3,3,5,4,0,1,1,2,1,0\n0,0,0,3,2,0,3,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,12,1,0,3,2,0,1,1,1,1,1,0\n1,5,1,2,0,12,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,1,8,0,2,1,1,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,4,3,2,2,2,1,0,1,1,1,2,1,0\n1,4,5,2,5,2,5,4,0,1,1,1,1,0\n0,0,3,2,0,2,0,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,12,1,0,7,2,0,1,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n1,0,3,2,1,7,5,4,0,1,1,2,1,0\n0,1,3,2,0,7,1,1,1,1,1,1,1,0\n1,5,4,3,4,5,3,3,0,1,1,1,1,1\n1,5,0,3,0,8,0,4,0,1,1,1,1,1\n1,3,3,2,0,10,2,1,1,1,1,0,1,0\n1,3,0,3,0,4,0,4,0,1,1,1,1,1\n1,4,6,2,0,4,2,0,1,1,1,2,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,1,1,5,4,0,1,1,0,1,0\n0,5,0,3,2,4,3,0,0,1,1,0,1,1\n1,2,3,2,0,1,2,0,1,1,1,1,1,1\n0,4,3,2,1,5,5,0,1,1,1,2,1,0\n1,0,0,3,1,8,5,0,0,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,3,0,3,2,5,3,0,1,1,1,0,1,0\n1,5,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,0,3,2,5,3,0,0,1,1,0,1,1\n0,0,2,1,1,2,3,0,1,1,1,2,1,0\n0,0,1,2,2,11,1,0,0,1,1,2,1,0\n0,0,3,2,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n2,5,1,2,0,4,2,0,1,1,1,2,1,1\n1,0,8,0,4,2,5,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,1,0,1,1,0,1,0\n0,0,3,2,3,6,3,0,1,1,1,0,1,0\n0,0,2,1,2,3,5,0,0,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,2,1,0\n0,5,4,3,0,5,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n0,0,0,3,3,5,3,0,0,1,1,0,1,0\n2,0,15,0,0,6,2,1,1,1,1,0,1,0\n0,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,1,2,0,6,2,0,1,1,1,2,1,0\n2,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,4,13,3,2,5,3,0,0,1,1,0,1,1\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,5,3,2,0,12,4,0,0,1,1,0,1,0\n2,0,12,1,1,2,3,2,0,1,1,2,1,0\n2,0,12,1,2,2,3,0,1,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,0,1,0\n1,4,3,2,0,2,4,0,1,1,1,0,1,0\n1,5,0,3,0,5,2,0,1,1,1,2,1,1\n1,5,0,3,2,0,3,0,0,1,1,1,1,0\n1,0,6,2,0,0,2,0,1,1,1,1,1,0\n0,0,0,3,2,2,1,0,0,1,1,2,1,0\n0,4,0,3,0,1,2,4,1,1,1,1,1,1\n0,0,0,3,2,3,1,0,1,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n0,4,3,2,0,0,2,0,1,1,1,1,1,1\n2,0,9,1,0,7,2,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,4,3,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,5,3,2,1,8,5,0,0,1,1,2,1,0\n0,1,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,4,3,2,5,3,0,1,1,1,1,1,0\n0,0,6,2,2,0,3,0,1,1,1,0,1,0\n0,4,1,2,0,12,1,4,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,1,3,2,0,9,2,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,5,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,15,0,2,9,3,0,1,1,1,2,1,0\n0,4,0,3,1,5,3,0,0,1,1,1,1,0\n0,4,5,2,2,5,1,4,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,0,3,2,1,6,3,0,1,1,1,0,1,0\n0,0,5,2,2,4,3,0,1,1,1,2,1,0\n2,0,3,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,0,2,4,0,0,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,5,3,2,0,7,0,0,0,1,1,2,1,0\n1,0,1,2,2,2,3,0,1,1,1,1,1,0\n2,0,9,1,0,4,2,0,1,1,1,2,1,0\n1,3,10,3,1,0,3,0,0,1,1,0,1,1\n1,0,12,1,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,2,0,3,0,1,1,1,0,1,0\n0,0,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,2,1,0,9,2,0,1,1,1,0,1,0\n2,1,8,0,0,1,2,0,1,1,1,2,1,0\n1,0,2,1,0,10,2,0,1,1,1,0,1,0\n2,0,7,1,0,4,2,0,1,1,1,2,1,0\n0,5,3,2,2,12,1,0,1,1,1,0,1,0\n0,0,2,1,2,1,1,0,1,1,1,2,1,0\n1,0,2,1,3,3,5,4,0,1,1,0,1,0\n1,5,1,2,1,5,5,4,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,1,0,3,0,4,2,0,1,1,1,2,1,0\n1,0,10,3,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,4,0,1,1,1,2,1,0\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,1,14,0,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n1,5,5,2,0,2,2,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,4,1,1,1,2,1,1\n2,0,0,3,1,3,5,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,5,6,2,3,8,5,4,0,1,1,0,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,4,7,1,0,2,2,0,1,1,1,0,1,0\n0,0,5,2,2,0,3,0,1,1,1,0,1,0\n1,3,0,3,0,4,2,0,1,1,1,2,1,0\n2,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,3,13,3,0,5,2,0,1,1,1,1,1,0\n0,0,6,2,2,1,3,0,1,1,1,0,1,0\n3,1,1,2,0,5,0,0,0,1,1,2,1,0\n1,0,1,2,2,3,3,0,1,1,1,1,1,0\n0,0,0,3,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,2,6,3,4,1,1,1,0,1,0\n1,0,3,2,0,3,2,4,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,12,1,0,1,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,5,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,0,3,0,0,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,4,1,2,2,5,1,0,0,1,1,2,1,0\n2,0,3,2,0,0,2,4,1,1,1,1,1,1\n0,5,10,3,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,3,1,2,1,8,3,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,11,0,0,8,2,0,1,1,1,1,1,1\n1,0,0,3,1,4,3,0,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,4,9,1,2,2,1,4,0,1,1,1,1,0\n1,0,3,2,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,5,7,3,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n3,0,5,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,2,1,2,9,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,4,1,1,1,2,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,0,10,2,0,1,1,1,1,1,0\n2,1,1,2,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,0,3,4,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,3,1,3,0,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,1\n2,0,1,2,0,10,2,4,1,1,1,2,1,1\n0,4,1,2,2,8,5,0,1,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,0\n1,0,4,3,0,4,2,0,1,1,1,0,1,1\n1,4,0,3,0,5,2,0,1,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,1,12,1,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,5,2,2,7,3,0,1,1,1,1,1,0\n1,1,12,1,0,10,2,0,1,1,1,1,1,0\n3,1,8,0,0,9,2,0,1,1,1,2,1,0\n2,0,6,2,2,2,1,0,0,1,1,0,1,0\n0,2,0,3,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,0,6,2,0,1,1,1,2,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,1,0,3,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,4,4,0,0,1,1,0,1,0\n2,1,1,2,0,4,2,0,1,1,1,1,1,1\n0,1,12,1,2,3,1,0,0,1,1,1,1,0\n0,0,3,2,2,4,1,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n1,0,1,2,0,3,2,4,1,1,1,1,1,1\n0,0,3,2,2,8,5,0,0,1,1,1,1,0\n2,2,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,4,1,1,1,2,1,0\n1,0,13,3,0,5,2,1,1,1,1,0,1,1\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,1,1,2,2,9,1,0,1,1,1,0,1,0\n2,0,12,1,3,4,3,0,1,1,1,1,1,0\n0,3,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,3,2,3,1,5,0,1,1,1,1,1,0\n3,0,3,2,5,7,3,0,0,1,1,2,1,0\n1,0,3,2,0,7,0,0,0,1,1,0,1,0\n0,4,2,1,2,6,4,0,1,1,1,2,1,0\n0,0,1,2,0,12,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,5,0,0,1,1,0,1,0\n2,4,2,1,0,2,2,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,1\n1,1,6,2,0,2,0,0,0,1,1,0,1,1\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,11,0,1,9,3,4,1,1,1,0,1,0\n1,0,14,0,0,6,2,0,1,1,1,0,1,0\n0,0,9,1,2,7,1,4,1,1,1,0,1,0\n1,0,4,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,1,0,1,1,1,1,1,0\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,2,0,4,0,1,1,0,1,0\n2,0,8,0,1,2,4,1,0,1,1,0,1,0\n0,0,1,2,2,4,3,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,12,1,0,2,2,0,1,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,5,3,2,1,4,3,0,1,1,1,2,1,1\n0,4,0,3,2,8,1,0,0,1,1,0,1,0\n2,1,7,1,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,3,3,0,1,1,1,1,1,1\n1,1,4,3,1,5,5,0,1,1,1,1,1,1\n2,1,0,3,0,5,2,0,1,1,1,2,1,1\n1,4,6,2,1,7,5,2,1,1,1,0,1,0\n1,0,3,2,0,7,2,4,1,1,1,0,1,1\n0,0,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,2,7,3,0,1,1,1,1,1,0\n1,4,1,2,0,8,2,0,1,1,1,0,1,1\n0,3,0,3,2,4,3,0,0,1,1,1,1,0\n0,0,2,1,2,10,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n2,5,0,3,0,8,0,0,0,1,1,0,1,0\n1,1,0,3,0,4,2,0,1,1,1,0,1,0\n2,2,4,3,0,5,2,0,1,1,1,0,1,1\n1,4,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,1,2,3,0,0,1,1,1,1,1\n0,0,2,1,2,3,3,0,0,1,1,2,1,0\n2,4,12,1,4,5,5,0,0,1,1,2,1,0\n0,0,1,2,2,9,3,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,0,3,2,5,3,4,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,1\n1,1,3,2,3,4,5,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n0,0,5,2,0,3,2,0,1,1,1,1,1,0\n0,1,6,2,4,4,5,0,0,1,1,0,1,0\n2,4,3,2,4,2,3,0,1,1,1,0,1,0\n1,0,12,1,1,10,5,0,1,1,1,0,1,0\n1,4,1,2,0,5,2,0,1,1,1,1,1,1\n1,0,8,0,3,2,5,4,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,3,0,3,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,6,2,0,0,2,1,1,1,1,2,1,0\n1,0,3,2,0,0,2,4,1,1,1,1,1,0\n1,1,0,3,0,4,0,0,0,1,1,0,1,0\n0,0,1,2,1,7,5,0,0,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n0,3,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n1,3,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,1,3,5,0,0,1,1,0,1,0\n0,0,0,3,0,2,0,0,0,1,1,2,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,6,2,0,0,2,0,1,1,1,1,1,1\n2,0,1,2,0,5,2,0,1,1,1,2,1,0\n2,1,1,2,0,3,2,0,1,1,1,2,1,0\n3,0,3,2,4,8,3,0,0,1,1,0,1,0\n0,0,3,2,1,2,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,4,8,3,0,0,1,1,0,1,0\n0,4,10,3,2,5,1,0,0,1,1,0,1,0\n1,5,13,3,0,5,2,0,1,1,1,1,1,1\n1,2,10,3,1,5,3,4,1,1,1,0,1,1\n1,5,1,2,3,0,1,4,0,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n2,3,12,1,0,6,2,4,1,1,1,0,1,0\n1,0,5,2,1,5,3,0,1,1,1,1,1,0\n0,5,1,2,1,5,4,0,0,1,1,0,1,0\n0,0,0,3,0,5,0,4,0,1,1,0,1,1\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,12,1,1,1,1,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,5,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,5,5,2,0,5,2,0,1,1,1,1,1,1\n2,0,8,0,2,1,3,4,1,1,1,1,1,0\n0,0,15,0,2,6,3,2,1,1,1,2,1,0\n1,0,6,2,1,5,5,0,1,1,1,0,1,0\n0,0,12,1,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,5,5,2,1,8,5,2,0,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,1,1,0\n2,0,3,2,4,8,3,0,0,1,1,0,1,1\n2,0,10,3,0,5,2,0,1,1,1,1,1,0\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,1,8,5,3,0,1,1,1,1,0\n0,0,2,1,2,8,5,0,1,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n2,0,2,1,4,6,3,4,0,1,1,0,1,0\n2,0,10,3,0,5,2,0,1,1,1,1,1,1\n2,5,10,3,0,8,2,0,1,1,1,1,1,1\n0,0,12,1,3,3,5,0,0,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n3,0,8,0,4,7,5,0,0,1,1,0,1,0\n0,0,3,2,2,1,4,1,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,1,2,2,5,1,0,1,1,1,1,1,0\n1,1,3,2,3,2,5,0,0,1,1,1,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,12,1,0,10,2,0,1,1,1,1,1,0\n1,5,3,2,1,2,3,0,0,1,1,2,1,0\n0,0,10,3,0,8,2,0,1,1,1,1,1,1\n2,1,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,0,1,0,1,1,1,0,1,0\n0,0,7,1,0,7,2,0,1,1,1,0,1,0\n1,0,14,0,3,2,5,0,0,1,1,0,1,0\n0,0,7,1,1,9,1,0,1,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,0\n2,2,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,10,3,2,4,3,4,1,1,1,1,1,0\n1,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,5,3,2,3,2,3,0,0,1,1,0,1,0\n2,0,0,3,0,7,2,1,1,1,1,0,1,0\n0,1,6,2,0,9,2,0,1,1,1,1,1,1\n0,0,8,0,2,2,1,0,1,1,1,2,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,0,7,1,0,6,2,0,1,1,1,1,1,1\n1,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,4,3,1,1,1,1,0,1,0\n1,0,0,3,1,0,5,0,0,1,1,1,1,0\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n2,1,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,0,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,1,3,2,0,10,2,0,1,1,1,1,1,1\n2,0,3,2,4,10,5,0,0,1,1,0,1,0\n2,3,12,1,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,1,1,1,2,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,4,1,1,1,0,1,1\n0,4,4,3,0,5,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,2,1,0,1,2,0,1,1,1,1,1,0\n0,5,12,1,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,3,1,5,0,1,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,4,0,3,2,5,1,0,0,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,1,1,1,1,0,1,1\n1,0,14,0,5,7,5,1,0,1,1,2,1,0\n0,0,8,0,2,11,1,0,0,1,1,2,1,0\n0,1,0,3,2,1,1,0,1,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,1,1,0\n1,0,3,2,1,3,4,0,0,1,1,0,1,0\n1,0,10,3,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,5,10,3,2,4,3,0,0,1,1,0,1,0\n2,0,3,2,1,3,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n2,0,12,1,3,2,5,4,0,1,1,0,1,0\n1,0,5,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,10,3,0,2,0,0,0,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,5,0,3,1,4,3,0,1,1,1,0,1,0\n2,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,5,13,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,2,10,1,0,1,1,1,0,1,0\n1,0,5,2,1,8,3,0,0,1,1,0,1,0\n1,0,6,2,0,2,2,0,1,1,1,1,1,0\n1,1,3,2,1,3,3,0,1,1,1,2,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,1,2,2,7,3,0,0,1,1,1,1,0\n1,4,0,3,3,5,5,0,0,1,1,2,1,0\n1,0,9,1,0,1,2,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,1,0,3,0,1,1,1,1,1,0\n1,1,5,2,1,4,5,4,0,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n3,4,8,0,4,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,1,4,5,4,0,1,1,0,1,0\n0,0,9,1,2,10,5,1,1,1,1,0,1,0\n2,3,1,2,4,4,3,0,0,1,1,2,1,0\n1,0,10,3,1,5,5,0,0,1,1,2,1,1\n2,0,0,3,4,4,5,0,1,1,1,0,1,1\n0,0,3,2,0,2,0,0,0,1,1,2,1,0\n2,0,0,3,1,5,5,0,1,1,1,0,1,1\n0,0,1,2,1,2,3,4,0,1,1,2,1,0\n1,0,11,0,0,10,0,0,0,1,1,1,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,1\n0,5,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n2,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,4,3,0,1,1,1,0,1,0\n1,0,2,1,1,7,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,5,4,1,1,1,2,1,0\n1,3,3,2,2,6,5,4,1,1,1,0,1,0\n1,1,3,2,0,2,2,0,1,1,1,0,1,0\n1,5,10,3,2,5,3,0,1,1,1,1,1,0\n1,4,10,3,3,5,3,0,1,1,1,2,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,12,1,2,7,3,4,0,1,1,0,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,2,3,3,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,6,2,0,1,2,0,1,1,1,1,1,1\n1,0,10,3,1,4,5,0,0,1,1,2,1,0\n0,0,3,2,1,7,5,0,0,1,1,1,1,0\n0,0,1,2,2,0,1,0,1,1,1,2,1,0\n1,0,9,1,1,1,3,0,1,1,1,0,1,0\n1,4,5,2,0,1,2,0,1,1,1,0,1,1\n1,2,5,2,1,4,3,0,0,1,1,0,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n1,1,1,2,0,5,2,0,1,1,1,1,1,1\n0,4,0,3,2,5,1,0,0,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,3,0,0,1,1,1,1,0\n0,4,3,2,1,1,5,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,2,1,1\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,1,3,5,0,1,1,1,1,1,0\n1,0,1,2,3,2,5,0,0,1,1,0,1,0\n0,0,6,2,2,3,1,4,1,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,4,6,2,0,12,2,0,1,1,1,1,1,0\n1,0,12,1,5,2,3,0,1,1,1,1,1,0\n2,0,8,0,3,11,3,3,0,1,1,2,1,0\n1,0,0,3,2,5,1,2,1,1,1,0,1,1\n1,0,3,2,0,6,2,0,1,1,1,2,1,1\n0,1,3,2,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,10,3,4,5,3,0,0,1,1,2,1,1\n1,0,7,1,1,2,5,0,0,1,1,0,1,0\n0,0,0,3,2,3,1,0,0,1,1,1,1,0\n0,0,3,2,5,10,3,4,1,1,1,1,1,0\n2,2,0,3,0,5,2,0,1,1,1,2,1,0\n0,3,12,1,3,4,3,0,0,1,1,0,1,0\n0,5,0,3,2,8,3,0,1,1,1,2,1,0\n0,0,0,3,2,3,1,0,1,1,1,2,1,0\n2,0,0,3,0,5,2,1,1,1,1,0,1,1\n1,5,0,3,0,5,0,0,0,1,1,0,1,0\n0,0,3,2,3,6,5,4,0,1,1,0,1,0\n0,4,9,1,0,9,2,0,1,1,1,0,1,0\n1,2,0,3,0,8,0,0,0,1,1,1,1,1\n0,0,3,2,5,8,5,2,1,1,1,0,1,0\n0,0,10,3,2,4,3,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,1,1,2,0,5,2,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,10,3,2,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,0,3,0,1,1,1,0,1,0\n2,0,3,2,0,8,0,4,0,1,1,2,1,1\n1,0,3,2,1,11,5,4,0,1,1,2,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,1,3,5,0,1,1,1,1,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,1\n0,1,1,2,2,3,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,4,0,1,1,2,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,1,2,2,10,3,0,1,1,1,0,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,5,1,2,1,8,3,0,0,1,1,1,1,0\n1,0,11,0,0,9,2,0,1,1,1,0,1,0\n0,3,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,7,1,2,2,1,0,0,1,1,1,1,0\n0,0,5,2,2,8,3,1,0,1,1,0,1,0\n2,3,3,2,4,8,3,0,0,1,1,0,1,0\n1,1,3,2,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,0\n0,5,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,4,3,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,1,3,1,0,0,1,1,0,1,0\n1,0,10,3,0,4,0,0,0,1,1,1,1,1\n2,0,3,2,1,4,5,0,0,1,1,0,1,0\n1,0,10,3,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,4,0,0,1,1,2,1,0\n2,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,2,7,3,4,1,1,1,0,1,0\n1,5,10,3,1,5,3,0,0,1,1,1,1,0\n1,5,1,2,2,5,5,4,0,1,1,2,1,0\n0,0,3,2,2,6,3,1,0,1,1,2,1,0\n0,0,0,3,1,0,3,0,0,1,1,0,1,0\n0,5,3,2,2,8,1,0,1,1,1,0,1,0\n2,0,3,2,0,12,2,4,1,1,1,0,1,0\n0,0,1,2,2,1,1,0,0,1,1,2,1,0\n2,0,8,0,4,7,5,0,0,1,1,2,1,0\n2,4,0,3,1,5,3,0,0,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,1,1,0\n2,0,2,1,2,7,4,0,1,1,1,1,1,0\n0,0,1,2,0,8,2,0,1,1,1,2,1,0\n1,0,0,3,5,4,5,0,1,1,1,1,1,1\n1,0,5,2,2,8,3,0,1,1,1,1,1,0\n0,0,2,1,2,2,5,0,1,1,1,0,1,0\n1,0,0,3,1,4,5,0,0,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n2,4,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,7,3,0,0,1,1,0,1,0\n2,0,6,2,1,0,3,0,0,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,2,1,2,6,1,0,1,1,1,0,1,0\n1,5,10,3,0,4,2,0,1,1,1,0,1,0\n0,0,6,2,0,0,2,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,8,0,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n2,2,14,0,0,3,2,0,1,1,1,2,1,0\n1,0,5,2,1,5,3,0,0,1,1,0,1,0\n1,1,0,3,0,0,2,0,1,1,1,1,1,1\n0,0,12,1,2,9,3,0,1,1,1,0,1,0\n0,0,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,0,0,0,1,1,2,1,1\n1,5,1,2,0,5,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,13,3,1,4,3,0,1,1,1,1,1,1\n0,0,10,3,2,5,3,0,0,1,1,0,1,0\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,1,2,2,6,5,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,1,2,1,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n2,2,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,2,4,3,0,1,1,1,1,1,0\n0,0,1,2,2,4,1,1,1,1,1,2,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n1,4,10,3,2,5,3,0,0,1,1,1,1,0\n1,0,13,3,0,4,0,0,0,1,1,0,1,1\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,4,1,2,0,2,2,0,1,1,1,0,1,0\n2,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,0,8,1,0,1,1,1,0,1,1\n0,4,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,0,5,2,0,1,1,1,1,1,0\n1,1,6,2,0,9,2,0,1,1,1,1,1,0\n0,4,12,1,2,6,1,4,1,1,1,0,1,0\n3,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,0,0,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,0\n0,4,1,2,0,12,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,10,3,0,3,2,0,1,1,1,1,1,1\n2,0,7,1,0,6,2,4,1,1,1,2,1,0\n0,0,6,2,2,7,3,0,1,1,1,1,1,0\n1,0,3,2,5,1,3,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,4,1,1,1,0,1,1\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n1,0,2,1,0,7,2,0,1,1,1,0,1,0\n1,4,10,3,1,5,3,0,0,1,1,1,1,1\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n2,2,5,2,0,3,2,0,1,1,1,0,1,1\n1,0,11,0,0,10,2,0,1,1,1,0,1,0\n1,4,2,1,1,2,3,4,1,1,1,0,1,0\n0,0,2,1,0,10,2,0,1,1,1,0,1,0\n0,5,0,3,2,5,3,0,1,1,1,2,1,0\n1,0,8,0,4,6,3,0,0,1,1,2,1,0\n0,0,6,2,2,5,1,0,0,1,1,0,1,0\n1,3,0,3,4,5,5,2,0,1,1,0,1,0\n3,2,8,0,4,4,3,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,4,3,2,5,3,0,0,1,1,0,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,0,1,2,0,4,2,1,1,1,1,0,1,1\n2,1,1,2,0,10,2,4,1,1,1,1,1,0\n1,0,1,2,2,1,4,2,1,1,1,2,1,0\n1,0,14,0,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,1,10,3,4,5,3,0,0,1,1,2,1,0\n1,0,10,3,0,4,0,4,0,1,1,1,1,1\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n2,0,10,3,0,5,0,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,5,6,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,3,8,5,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,4,0,1,1,2,1,0\n2,2,13,3,0,5,2,0,1,1,1,1,1,0\n0,4,3,2,2,2,1,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,0\n1,0,5,2,2,4,3,0,0,1,1,0,1,0\n2,0,3,2,1,2,3,0,0,1,1,0,1,0\n0,0,12,1,2,1,3,0,1,1,1,0,1,0\n1,5,10,3,3,5,5,0,0,1,1,0,1,0\n1,0,3,2,0,4,0,0,0,1,1,1,1,1\n0,5,0,3,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,12,2,4,1,1,1,0,1,1\n0,1,10,3,2,5,3,0,1,1,1,0,1,0\n0,2,1,2,2,4,3,0,0,1,1,1,1,0\n0,5,6,2,2,1,1,0,1,1,1,0,1,0\n1,4,5,2,2,5,3,0,1,1,1,0,1,0\n2,0,12,1,1,3,3,0,0,1,1,2,1,0\n1,0,3,2,2,6,3,0,1,1,1,0,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,3,10,3,0,8,0,0,0,1,1,0,1,1\n0,4,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n0,0,3,2,0,5,2,0,1,1,1,0,1,0\n1,0,5,2,2,4,3,0,0,1,1,1,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,1\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,2,0,3,1,4,5,0,0,1,1,1,1,1\n1,0,1,2,2,8,5,0,1,1,1,2,1,1\n1,4,10,3,0,5,2,0,1,1,1,2,1,1\n1,3,5,2,3,5,5,0,0,1,1,0,1,1\n0,0,2,1,2,1,3,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,2,1,0\n1,0,3,2,2,2,4,1,0,1,1,2,1,0\n2,0,0,3,1,8,3,0,1,1,1,0,1,0\n0,0,1,2,1,3,3,0,0,1,1,2,1,0\n0,0,10,3,2,5,3,0,0,1,1,2,1,1\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,1,3,2,0,2,2,0,1,1,1,1,1,0\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,1,3,3,0,0,1,1,0,1,0\n2,0,3,2,4,8,3,0,0,1,1,2,1,0\n3,0,6,2,4,11,3,0,0,1,1,0,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n1,4,14,0,0,10,2,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n2,0,7,1,0,1,2,0,1,1,1,2,1,0\n1,5,4,3,2,5,1,0,0,1,1,0,1,0\n0,0,7,1,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,4,3,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,0\n2,0,3,2,4,1,5,0,1,1,1,1,1,0\n0,5,1,2,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,4,0,1,1,1,0,1,0\n1,0,3,2,4,3,3,0,0,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,4,3,2,0,5,2,0,1,1,1,2,1,0\n2,1,10,3,0,10,2,0,1,1,1,2,1,0\n2,0,3,2,4,11,5,0,0,1,1,2,1,0\n0,0,6,2,2,4,3,0,1,1,1,1,1,1\n0,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,4,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,10,3,0,5,2,4,1,1,1,1,1,1\n1,4,0,3,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,1,4,5,0,0,1,1,2,1,1\n0,0,15,0,2,9,3,0,1,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,0,3,2,2,2,1,4,0,1,1,1,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,0,1,2,1,5,1,0,1,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,3,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,10,3,0,12,2,0,1,1,1,1,1,1\n1,1,15,0,0,3,2,0,1,1,1,2,1,0\n0,0,0,3,2,4,4,0,0,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,5,2,2,4,3,0,1,1,1,1,1,0\n0,0,1,2,1,7,3,4,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,4,5,2,0,0,2,0,1,1,1,0,1,0\n1,4,1,2,0,12,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,9,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,8,0,0,3,2,0,1,1,1,1,1,0\n1,0,12,1,0,10,2,0,1,1,1,1,1,0\n1,1,13,3,1,5,5,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,1,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,1,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,1,3,5,0,0,1,1,2,1,0\n0,0,3,2,2,1,4,3,1,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,1,6,2,1,0,4,4,0,1,1,2,1,0\n0,0,12,1,2,7,3,0,1,1,1,0,1,0\n1,0,3,2,1,6,3,0,1,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,14,0,2,6,5,0,1,1,1,0,1,0\n1,0,6,2,2,5,1,0,0,1,1,2,1,0\n0,0,6,2,0,8,0,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,5,4,0,1,1,2,1,0\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,5,0,3,1,8,5,4,0,1,1,0,1,0\n0,0,3,2,3,11,5,4,0,1,1,1,1,0\n0,5,6,2,2,4,3,4,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n0,0,9,1,2,7,1,4,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,4,0,1,1,1,0,1,0\n2,0,3,2,4,8,3,0,0,1,1,2,1,0\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n1,0,7,1,3,2,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n2,0,0,3,0,8,2,0,1,1,1,0,1,0\n0,4,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,4,0,0,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,5,13,3,0,5,2,1,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,0,3,2,0,1,1,1,0,1,0\n2,4,1,2,4,9,3,0,1,1,1,0,1,0\n2,4,8,0,1,4,5,0,0,1,1,0,1,0\n0,0,0,3,0,1,2,4,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,4,3,2,0,12,2,0,1,1,1,0,1,1\n1,3,10,3,2,4,3,0,1,1,1,0,1,0\n0,0,2,1,0,7,4,0,1,1,1,1,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n0,0,3,2,1,10,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n0,0,7,1,3,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,3,1,1,1,1,1,1,0\n1,0,1,2,2,9,3,0,0,1,1,0,1,0\n1,3,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,11,0,1,7,5,0,0,1,1,0,1,0\n1,0,2,1,0,7,2,4,1,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,2,4,3,0,0,1,1,1,1,0\n1,1,3,2,4,9,5,0,0,1,1,1,1,0\n0,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,1,4,0,1,1,2,1,0\n1,0,14,0,0,11,0,0,0,1,1,0,1,0\n1,5,3,2,4,8,5,0,0,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,6,2,1,5,5,0,0,1,1,0,1,0\n0,4,0,3,2,5,1,0,1,1,1,0,1,0\n0,0,1,2,2,4,1,0,0,1,1,2,1,0\n2,0,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,7,1,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,3,4,1,1,1,0,1,0\n2,0,8,0,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,1,3,1,0,0,1,1,0,1,0\n1,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,6,5,0,1,1,1,2,1,0\n1,0,0,3,2,8,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,4,4,1,1,1,1,1,0\n0,0,1,2,0,4,2,1,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,3,6,3,0,1,1,1,0,1,0\n2,0,0,3,1,5,3,0,0,1,1,2,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,0,1,2,1,12,5,0,0,1,1,2,1,0\n0,0,1,2,2,3,4,1,1,1,1,2,1,0\n2,2,1,2,0,4,2,0,1,1,1,1,1,1\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,2,2,4,1,1,1,0,1,0\n1,0,3,2,2,3,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n1,5,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,6,2,2,2,1,0,0,1,1,2,1,0\n2,5,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,5,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,4,1,2,0,1,4,0,1,1,1,0,1,0\n0,0,1,2,1,8,5,4,0,1,1,2,1,0\n0,5,0,3,2,5,3,0,0,1,1,2,1,0\n0,0,1,2,3,2,1,0,1,1,1,0,1,0\n0,0,7,1,3,1,3,0,1,1,1,0,1,0\n0,4,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,5,2,5,8,4,0,1,1,1,1,1,0\n1,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,4,3,2,1,10,3,2,1,1,1,0,1,0\n0,0,1,2,1,8,3,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,3,3,2,1,8,5,2,0,1,1,0,1,0\n1,0,3,2,0,10,2,4,1,1,1,1,1,0\n1,2,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,0,5,2,5,8,5,0,0,1,1,0,1,0\n2,1,1,2,0,12,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,5,1,2,0,7,2,0,1,1,1,1,1,1\n2,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,14,0,0,1,2,0,1,1,1,0,1,0\n0,0,9,1,2,12,1,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,3,3,2,0,3,2,4,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,0,1,1,2,1,0\n1,0,7,1,0,1,2,0,1,1,1,1,1,0\n2,0,14,0,1,2,3,1,0,1,1,2,1,0\n1,1,0,3,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,1\n0,0,14,0,2,9,3,0,1,1,1,2,1,0\n1,5,1,2,2,2,1,2,1,1,1,1,1,0\n0,1,1,2,2,7,3,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,3,1,5,0,1,1,1,0,1,0\n1,3,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,3,4,1,1,1,2,1,0\n1,5,1,2,0,2,2,0,1,1,1,1,1,1\n1,1,0,3,0,1,2,0,1,1,1,1,1,1\n2,0,3,2,1,1,3,4,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n0,1,1,2,0,2,0,0,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,1,1,1,1,1,0\n1,5,1,2,4,10,5,0,0,1,1,0,1,0\n0,0,10,3,1,5,5,0,1,1,1,0,1,0\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,3,5,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n1,0,3,2,3,4,3,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,4,0,1,1,0,1,0\n1,0,3,2,3,2,5,4,0,1,1,0,1,0\n2,0,7,1,0,10,2,0,1,1,1,0,1,0\n2,0,3,2,0,8,0,0,0,1,1,2,1,0\n2,0,6,2,4,8,5,0,0,1,1,0,1,0\n0,0,3,2,0,0,2,0,1,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,6,2,0,1,1,1,0,1,0\n1,0,6,2,2,2,5,0,0,1,1,0,1,0\n0,0,0,3,2,3,1,0,0,1,1,0,1,0\n1,1,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,4,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,6,1,0,1,1,1,0,1,0\n1,5,6,2,0,12,2,0,1,1,1,1,1,1\n1,1,3,2,0,1,2,0,1,1,1,1,1,1\n2,0,10,3,2,4,3,0,0,1,1,2,1,0\n1,4,10,3,3,5,5,0,0,1,1,0,1,0\n0,2,10,3,2,4,3,0,0,1,1,1,1,0\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,3,2,1,1,8,3,0,0,1,1,1,1,0\n2,0,0,3,0,10,2,0,1,1,1,1,1,1\n0,0,0,3,2,1,1,0,1,1,1,0,1,0\n2,0,1,2,1,3,3,0,0,1,1,2,1,0\n1,2,2,1,0,1,2,0,1,1,1,1,1,1\n1,5,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,2,2,5,0,1,1,1,2,1,0\n0,1,8,0,2,9,4,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,7,1,2,11,3,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,0,12,2,0,1,1,1,1,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,1,7,3,0,1,1,1,0,1,0\n1,0,0,3,2,4,3,4,1,1,1,0,1,1\n1,0,0,3,1,4,4,0,1,1,1,0,1,0\n2,0,3,2,0,6,4,0,1,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,2,1,0\n2,1,3,2,0,9,2,0,1,1,1,0,1,0\n1,5,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,1,2,5,0,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,4,3,2,0,12,1,0,1,1,1,0,1,1\n0,4,3,2,2,6,1,2,1,1,1,2,1,0\n0,0,0,3,2,3,1,3,1,1,1,2,1,0\n0,0,13,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,0\n0,4,0,3,2,5,3,0,0,1,1,1,1,0\n1,4,3,2,0,10,2,3,1,1,1,0,1,1\n0,0,2,1,2,6,4,0,1,1,1,0,1,0\n0,0,5,2,2,8,3,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n3,0,3,2,4,11,3,0,0,1,1,2,1,0\n0,0,3,2,2,4,1,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,0,10,3,1,5,3,0,1,1,1,1,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,2,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,0,4,0,1,1,0,1,0\n1,3,0,3,0,5,2,0,1,1,1,0,1,0\n2,0,3,2,1,7,4,4,1,1,1,0,1,0\n1,5,1,2,0,10,2,4,1,1,1,1,1,0\n1,0,1,2,2,4,3,0,0,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,5,0,1,1,1,1,1,0\n2,3,0,3,0,4,0,0,0,1,1,1,1,0\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n1,5,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,7,1,2,2,1,0,0,1,1,0,1,0\n2,0,2,1,0,0,0,4,0,1,1,0,1,0\n1,0,3,2,1,8,4,0,0,1,1,0,1,0\n1,0,8,0,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,1,9,3,0,1,1,1,1,1,0\n1,0,3,2,1,6,1,0,1,1,1,0,1,0\n0,4,2,1,3,2,5,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,2,4,3,0,0,1,1,2,1,0\n2,0,7,1,0,12,2,0,1,1,1,2,1,0\n0,3,0,3,2,5,3,0,1,1,1,0,1,1\n1,2,3,2,0,3,0,0,0,1,1,0,1,0\n0,0,3,2,2,10,1,4,1,1,1,0,1,0\n2,0,3,2,4,1,3,0,1,1,1,1,1,0\n2,0,3,2,2,8,3,4,0,1,1,2,1,0\n0,0,3,2,2,1,5,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,5,3,2,0,8,2,0,1,1,1,2,1,0\n1,3,1,2,0,8,0,2,0,1,1,0,1,1\n0,4,3,2,2,2,3,0,0,1,1,2,1,0\n1,0,3,2,2,7,1,4,0,1,1,0,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,4,5,2,2,0,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,0,3,2,2,12,3,0,1,1,1,0,1,0\n2,5,10,3,4,5,3,0,0,1,1,2,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,0\n0,1,4,3,0,5,2,1,1,1,1,0,1,1\n1,0,3,2,1,2,3,0,1,1,1,0,1,0\n0,0,1,2,1,8,3,0,1,1,1,1,1,0\n0,0,1,2,1,5,3,2,1,1,1,1,1,0\n1,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,5,2,0,5,0,0,0,1,1,0,1,1\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n2,2,3,2,0,4,4,1,0,1,1,2,1,0\n1,5,13,3,1,5,5,4,0,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,7,1,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,3,2,3,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,5,0,0,1,1,2,1,0\n2,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,5,3,2,0,8,0,0,0,1,1,2,1,1\n2,3,6,2,4,8,5,4,0,1,1,0,1,0\n0,0,3,2,2,3,5,0,0,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,1,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,0,5,0,0,0,1,1,2,1,1\n1,0,3,2,2,7,5,0,1,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n1,0,3,2,2,7,5,4,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,4,1,2,2,4,3,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,9,2,0,1,1,1,1,1,0\n0,5,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,1,10,5,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,1,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n1,1,5,2,1,0,3,0,0,1,1,0,1,0\n0,0,1,2,2,12,3,0,1,1,1,2,1,0\n2,3,12,1,2,5,3,0,1,1,1,2,1,0\n0,2,5,2,2,3,3,0,1,1,1,1,1,0\n0,0,8,0,5,9,4,0,1,1,1,2,1,0\n2,4,8,0,4,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,14,0,2,6,3,0,1,1,1,1,1,0\n1,0,3,2,0,6,2,4,1,1,1,0,1,1\n0,0,0,3,2,0,3,0,0,1,1,0,1,0\n0,5,0,3,3,5,3,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,3,5,0,0,1,1,1,1,0\n1,0,6,2,1,5,5,4,0,1,1,0,1,0\n0,0,6,2,2,5,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,4,0,1,1,2,1,0\n0,0,12,1,2,3,3,0,0,1,1,2,1,0\n1,0,0,3,0,10,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,1,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,0,12,1,1,10,5,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n1,0,1,2,2,2,5,0,0,1,1,2,1,0\n0,1,1,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,1,6,1,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,2,2,5,4,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,4,1,0,0,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,3,0,3,0,8,2,1,1,1,1,1,1,1\n0,0,1,2,5,3,3,0,0,1,1,0,1,0\n2,4,10,3,0,5,0,4,0,1,1,2,1,1\n1,0,14,0,2,7,5,0,0,1,1,0,1,0\n1,0,0,3,1,11,5,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,1,3,2,2,9,4,0,1,1,1,2,1,0\n2,0,14,0,0,7,2,4,1,1,1,1,1,0\n0,0,3,2,2,7,5,4,1,1,1,0,1,0\n0,0,3,2,2,6,1,4,0,1,1,0,1,1\n1,1,1,2,1,8,3,0,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,1,0,3,0,3,2,0,1,1,1,1,1,1\n0,3,1,2,2,6,3,0,0,1,1,2,1,0\n0,1,3,2,2,1,3,0,1,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,2,1,1\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n3,0,12,1,0,10,2,0,1,1,1,0,1,0\n1,2,1,2,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,4,4,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,1,2,2,4,5,0,0,1,1,0,1,0\n1,1,0,3,0,8,0,0,0,1,1,0,1,1\n0,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,1,2,5,1,0,1,1,0,1,0\n2,0,3,2,0,3,0,4,0,1,1,2,1,0\n1,0,12,1,1,10,3,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,0,12,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n2,0,6,2,4,8,3,0,0,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,10,2,0,1,1,1,2,1,0\n0,0,1,2,2,3,3,0,0,1,1,1,1,0\n2,0,3,2,0,4,2,1,1,1,1,1,1,1\n0,0,3,2,1,7,3,4,1,1,1,0,1,0\n0,1,1,2,0,5,2,2,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,3,3,2,0,8,0,4,0,1,1,0,1,1\n2,4,10,3,0,4,0,0,0,1,1,0,1,1\n0,0,1,2,2,1,3,0,1,1,1,1,1,1\n1,0,0,3,2,3,3,0,0,1,1,2,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,0,3,1,5,3,0,0,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,3,0,3,0,8,2,0,1,1,1,0,1,0\n2,0,1,2,0,7,2,0,1,1,1,1,1,0\n1,0,3,2,2,4,3,0,0,1,1,1,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,1\n0,4,5,2,0,12,2,0,1,1,1,1,1,1\n1,4,2,1,2,9,3,4,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,12,1,3,2,5,4,0,1,1,0,1,0\n1,0,3,2,0,4,2,1,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,11,0,0,9,2,0,1,1,1,0,1,0\n1,2,9,1,0,1,2,0,1,1,1,0,1,0\n0,1,0,3,2,5,1,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n2,0,1,2,1,4,3,0,0,1,1,1,1,0\n2,0,1,2,4,2,3,4,0,1,1,0,1,0\n0,0,3,2,2,1,5,4,0,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,1,1,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n0,4,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,4,0,0,1,1,2,1,0\n1,5,13,3,0,5,0,0,0,1,1,0,1,1\n0,0,1,2,2,10,4,0,1,1,1,0,1,0\n1,0,3,2,1,2,5,4,0,1,1,0,1,0\n2,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,2,1,2,0,1,2,0,1,1,1,1,1,0\n2,4,0,3,0,5,2,0,1,1,1,0,1,1\n1,2,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,3,1,5,0,1,1,1,1,1,0\n1,4,5,2,2,4,3,4,0,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,5,2,0,1,1,2,1,0\n0,0,6,2,2,0,3,0,1,1,1,0,1,1\n1,4,10,3,0,5,2,0,1,1,1,2,1,0\n1,0,4,3,0,5,2,0,1,1,1,0,1,1\n1,5,5,2,0,5,0,4,0,1,1,2,1,0\n1,4,0,3,1,5,5,0,0,1,1,1,1,0\n0,2,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n2,1,5,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n0,0,12,1,1,6,1,0,1,1,1,0,1,0\n2,0,3,2,0,6,2,0,1,1,1,2,1,0\n0,2,0,3,2,3,1,0,1,1,1,1,1,0\n0,0,1,2,2,6,4,0,1,1,1,2,1,0\n0,0,2,1,2,8,1,0,1,1,1,0,1,0\n1,0,0,3,1,2,3,0,0,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,4,0,3,1,2,1,0,1,1,1,0,1,0\n1,5,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,0,11,0,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n2,0,8,0,4,11,3,4,0,1,1,2,1,0\n0,5,1,2,2,2,3,2,0,1,1,1,1,0\n2,4,3,2,1,8,3,0,0,1,1,2,1,1\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,1,1,0,1,1,1,1,0\n1,0,10,3,0,0,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,4,0,0,1,1,2,1,0\n2,0,12,1,4,8,1,4,0,1,1,0,1,0\n0,1,12,1,2,3,1,0,1,1,1,1,1,0\n1,0,0,3,2,2,1,0,0,1,1,0,1,0\n0,0,7,1,2,10,3,0,1,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n2,5,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,10,3,2,5,3,0,0,1,1,2,1,0\n0,0,0,3,2,4,4,0,1,1,1,0,1,0\n0,4,3,2,2,8,1,0,1,1,1,2,1,0\n2,0,3,2,3,8,5,4,0,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,2,1,0\n0,1,6,2,0,9,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,2,1,0,7,2,4,1,1,1,1,1,0\n1,0,3,2,1,0,5,0,0,1,1,0,1,0\n1,0,1,2,1,1,5,0,0,1,1,0,1,0\n1,0,8,0,0,1,2,1,1,1,1,0,1,0\n0,0,1,2,2,6,1,4,1,1,1,0,1,0\n2,1,6,2,0,3,0,0,0,1,1,2,1,0\n1,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,0,0,3,2,1,3,0,1,1,1,1,1,0\n1,0,3,2,2,1,1,0,1,1,1,0,1,0\n3,0,8,0,4,2,3,0,0,1,1,0,1,0\n0,3,5,2,0,8,2,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,0\n1,0,14,0,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,4,4,3,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,1,1,1,1,1,0\n0,0,0,3,0,8,0,0,0,1,1,0,1,0\n1,0,0,3,2,8,3,0,0,1,1,0,1,1\n0,1,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,3,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n2,0,4,3,5,1,3,0,1,1,1,1,1,1\n0,0,12,1,2,6,1,0,1,1,1,2,1,0\n2,0,0,3,4,1,3,0,1,1,1,0,1,1\n2,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,1,1,2,2,3,1,0,1,1,1,1,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,3,7,3,0,0,1,1,0,1,0\n1,5,0,3,1,4,5,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,4,1,1,1,0,1,0\n0,0,6,2,2,8,3,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,0,4,3,0,5,0,0,0,1,1,1,1,1\n2,0,10,3,1,5,3,0,0,1,1,0,1,0\n0,4,3,2,5,3,1,4,0,1,1,0,1,0\n0,0,1,2,2,4,1,0,1,1,1,0,1,0\n2,0,3,2,2,8,3,4,0,1,1,0,1,0\n0,0,0,3,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,5,4,0,1,1,0,1,0\n1,0,3,2,1,3,1,0,0,1,1,2,1,0\n0,4,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,1,4,5,0,0,1,1,0,1,0\n2,0,14,0,4,3,3,0,0,1,1,0,1,0\n0,3,3,2,0,8,2,4,1,1,1,0,1,0\n0,0,3,2,1,4,3,0,0,1,1,2,1,0\n3,1,8,0,0,2,2,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,5,1,2,1,2,5,0,0,1,1,1,1,1\n1,0,10,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,1,4,3,1,1,1,2,1,0\n1,2,1,2,0,2,0,0,0,1,1,2,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,6,2,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,0,4,0,0,0,1,1,0,1,1\n3,1,0,3,4,9,3,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,1\n1,3,5,2,0,12,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,4,3,3,0,0,1,1,1,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,1,10,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,7,1,2,3,4,0,0,1,1,0,1,0\n0,4,1,2,2,7,3,0,1,1,1,0,1,0\n1,0,10,3,0,5,0,0,0,1,1,2,1,1\n1,0,2,1,0,1,2,4,1,1,1,2,1,0\n0,0,10,3,0,5,2,1,1,1,1,1,1,1\n0,1,3,2,2,1,5,0,1,1,1,1,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,0,3,2,7,3,4,1,1,1,0,1,0\n2,0,3,2,4,11,3,0,0,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,1,2,5,4,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,2,1,2,1,5,0,1,1,1,2,1,0\n2,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,0,10,3,2,5,1,0,0,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,5,1,0,1,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,1,8,5,0,0,1,1,2,1,0\n1,0,0,3,2,3,4,0,0,1,1,2,1,0\n1,0,3,2,1,3,5,0,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,1,4,5,2,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,4,0,5,0,0,1,1,2,1,0\n0,0,1,2,2,0,1,0,0,1,1,2,1,0\n2,0,3,2,1,1,3,0,0,1,1,1,1,0\n2,3,3,2,0,4,2,0,1,1,1,0,1,1\n1,4,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,9,2,0,1,1,1,0,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,0\n2,3,1,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,1,1,1,1,2,1,0\n1,0,2,1,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,3,3,1,0,1,1,0,1,0\n0,0,14,0,2,9,5,4,1,1,1,0,1,0\n2,0,7,1,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,2,8,3,0,0,1,1,0,1,0\n3,2,4,3,0,5,2,0,1,1,1,2,1,1\n0,0,0,3,2,3,5,0,0,1,1,2,1,0\n1,0,3,2,3,3,3,0,0,1,1,2,1,0\n1,0,3,2,1,6,5,0,0,1,1,2,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,5,2,2,1,5,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,4,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,1,3,3,0,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,1,3,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,10,3,2,4,3,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,5,0,3,0,5,2,4,1,1,1,0,1,0\n0,0,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,5,6,2,2,1,3,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,1,0,3,2,3,1,0,1,1,1,2,1,0\n1,2,4,3,0,5,2,0,1,1,1,0,1,1\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,3,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,10,3,1,4,3,0,0,1,1,0,1,0\n1,0,3,2,0,4,2,4,1,1,1,1,1,1\n1,2,4,3,0,5,2,0,1,1,1,2,1,1\n0,0,12,1,1,2,3,0,0,1,1,0,1,0\n0,0,12,1,2,6,1,0,1,1,1,2,1,0\n0,3,3,2,2,8,1,0,1,1,1,0,1,0\n2,4,3,2,1,4,5,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,1,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,4,3,2,2,3,1,4,1,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,3,3,2,1,12,5,4,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,8,2,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,4,5,4,0,1,1,0,1,0\n0,0,0,3,2,5,1,0,1,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,3,1,1,0,1,1,1,1,1,0\n0,4,3,2,2,5,3,0,1,1,1,0,1,0\n1,3,5,2,1,4,5,4,0,1,1,0,1,0\n0,1,3,2,2,3,1,0,1,1,1,1,1,0\n1,5,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,0,3,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n2,1,1,2,4,8,3,0,1,1,1,0,1,0\n0,0,3,2,2,5,3,0,1,1,1,0,1,1\n1,0,14,0,0,1,2,3,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,1\n2,0,14,0,0,10,2,4,1,1,1,0,1,0\n0,0,3,2,3,2,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,3,1,2,2,4,3,4,0,1,1,0,1,0\n0,0,3,2,4,1,1,0,1,1,1,0,1,0\n0,0,7,1,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,11,5,0,0,1,1,1,1,0\n1,5,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,1,4,3,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,4,1,2,0,12,2,0,1,1,1,1,1,0\n2,2,4,3,0,4,2,0,1,1,1,0,1,1\n0,5,1,2,0,12,2,0,1,1,1,0,1,0\n1,0,7,1,1,2,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,0,14,0,2,7,3,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,6,3,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,5,1,2,3,8,3,0,0,1,1,0,1,0\n1,0,1,2,1,1,5,0,1,1,1,1,1,1\n0,0,3,2,2,9,3,0,1,1,1,1,1,0\n0,5,1,2,2,4,1,0,1,1,1,0,1,0\n1,0,0,3,1,4,3,0,1,1,1,0,1,0\n2,0,10,3,0,5,2,0,1,1,1,1,1,0\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,0,1,0,1,1,1,0,1,0\n1,1,3,2,1,1,3,0,1,1,1,1,1,0\n2,1,3,2,0,2,0,0,0,1,1,0,1,1\n1,0,10,3,0,5,2,4,1,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,10,3,1,5,5,0,0,1,1,0,1,1\n2,2,4,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,4,4,0,0,1,1,0,1,0\n1,2,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,3,4,1,1,1,1,1,0\n1,0,3,2,0,7,2,4,1,1,1,0,1,0\n0,4,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,10,3,5,12,3,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,0,1,1,0,1,0\n1,4,10,3,0,4,2,0,1,1,1,2,1,1\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,5,2,2,3,3,0,1,1,1,0,1,0\n1,0,3,2,2,3,3,0,1,1,1,1,1,0\n0,0,6,2,2,3,3,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,1,10,1,0,1,1,1,1,1,0\n0,4,5,2,0,12,2,0,1,1,1,1,1,1\n0,2,0,3,2,8,1,0,1,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n2,0,5,2,1,5,1,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n2,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,4,1,1,1,1,1,0\n0,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,0,3,2,3,5,4,0,1,1,0,1,0\n0,3,3,2,1,8,3,0,0,1,1,0,1,0\n0,1,3,2,2,1,4,0,1,1,1,1,1,0\n3,2,0,3,4,4,3,0,1,1,1,0,1,1\n2,2,0,3,0,3,2,0,1,1,1,2,1,1\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,5,10,3,0,5,2,0,1,1,1,1,1,1\n3,2,3,2,0,2,2,0,1,1,1,2,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,1,3,5,1,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,4,1,1,1,1,1,1\n0,1,0,3,0,3,2,1,1,1,1,1,1,0\n1,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,2,1,0,8,2,0,1,1,1,0,1,0\n0,4,5,2,0,4,2,0,1,1,1,1,1,0\n0,4,0,3,0,12,2,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,1,1,1,1,2,1,1\n0,0,1,2,1,1,3,0,1,1,1,1,1,0\n0,0,2,1,2,2,3,4,0,1,1,0,1,0\n0,0,0,3,0,2,0,0,0,1,1,0,1,0\n2,0,12,1,4,1,5,4,0,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,0\n2,2,0,3,0,4,2,0,1,1,1,2,1,1\n2,5,12,1,4,2,3,0,0,1,1,2,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,3,3,2,2,8,1,0,1,1,1,0,1,0\n1,0,0,3,1,0,1,0,0,1,1,0,1,0\n1,0,5,2,0,0,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,4,0,0,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,2,1,0\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,5,3,5,0,0,1,1,2,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,6,2,0,3,2,0,1,1,1,1,1,1\n2,0,12,1,0,10,2,0,1,1,1,1,1,0\n0,1,1,2,2,1,1,4,1,1,1,0,1,0\n0,0,6,2,5,1,3,0,1,1,1,0,1,0\n0,0,0,3,0,4,4,0,0,1,1,0,1,1\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,1,2,1,2,3,0,0,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,0,6,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,4,0,0,1,1,2,1,0\n1,3,10,3,2,0,3,4,1,1,1,0,1,0\n0,0,1,2,2,4,1,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,1,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,6,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,9,5,0,1,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,3,2,3,0,0,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,1,4,3,0,5,2,1,1,1,1,0,1,1\n0,4,3,2,2,9,1,0,1,1,1,0,1,0\n0,0,3,2,2,6,5,3,1,1,1,2,1,0\n1,0,0,3,1,3,3,0,1,1,1,1,1,0\n1,0,1,2,1,0,3,0,0,1,1,0,1,0\n0,0,12,1,2,6,1,0,0,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,1,6,2,2,3,5,0,0,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n3,0,11,0,0,2,2,4,1,1,1,2,1,0\n1,0,10,3,1,5,3,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,1,3,2,0,8,2,0,1,1,1,1,1,1\n0,0,10,3,2,4,3,0,0,1,1,1,1,1\n0,0,3,2,1,7,5,4,0,1,1,0,1,0\n1,0,0,3,2,4,3,0,0,1,1,1,1,0\n0,0,0,3,2,1,3,0,1,1,1,2,1,0\n0,0,5,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,8,5,4,0,1,1,0,1,0\n0,0,5,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,5,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,2,0,3,0,0,1,1,1,1,0\n1,0,5,2,1,8,3,0,1,1,1,0,1,0\n0,0,0,3,1,4,3,0,1,1,1,0,1,0\n0,0,1,2,2,6,3,0,1,1,1,2,1,0\n2,5,4,3,0,4,2,0,1,1,1,2,1,0\n0,1,1,2,2,9,1,0,1,1,1,0,1,0\n0,0,1,2,2,12,1,0,1,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n2,1,3,2,0,9,2,0,1,1,1,2,1,0\n0,0,0,3,2,4,1,0,0,1,1,1,1,0\n1,1,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,6,2,0,1,0,2,0,1,1,2,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,1,3,1,4,0,1,1,2,1,0\n3,0,14,0,0,2,2,4,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,14,0,0,4,2,0,1,1,1,2,1,1\n2,0,2,1,0,1,2,0,1,1,1,0,1,1\n0,4,1,2,2,4,1,1,1,1,1,2,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,3,1,2,0,8,2,0,1,1,1,1,1,1\n0,0,5,2,2,3,1,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,1,4,5,0,0,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,10,3,2,1,5,4,0,1,1,0,1,0\n0,0,1,2,1,4,5,4,1,1,1,0,1,0\n2,0,10,3,3,4,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,1,1,0\n1,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,3,10,3,2,5,4,0,0,1,1,0,1,0\n1,2,13,3,0,5,2,0,1,1,1,1,1,1\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,0,1,1,0,1,0\n0,0,10,3,1,3,3,0,0,1,1,1,1,1\n1,0,0,3,0,1,2,0,1,1,1,1,1,0\n2,0,10,3,4,4,3,0,0,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,4,12,1,1,12,5,0,0,1,1,2,1,0\n2,1,3,2,0,0,0,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,2,0,3,0,4,2,0,1,1,1,2,1,0\n0,0,3,2,1,4,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,4,0,1,1,0,1,0\n2,2,1,2,0,4,2,0,1,1,1,1,1,1\n2,1,10,3,0,3,2,0,1,1,1,1,1,1\n0,3,1,2,2,8,1,4,0,1,1,2,1,0\n1,4,0,3,0,12,2,0,1,1,1,1,1,1\n0,0,5,2,2,4,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,5,2,0,5,2,0,1,1,1,1,1,0\n0,0,6,2,2,5,5,2,1,1,1,0,1,0\n1,1,12,1,0,1,2,4,1,1,1,0,1,0\n3,4,12,1,0,9,2,0,1,1,1,2,1,0\n0,5,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,3,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,2,1,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,2,0,3,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,3,8,5,0,0,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,2,8,3,0,1,1,1,0,1,0\n1,4,10,3,0,4,2,0,1,1,1,2,1,1\n2,0,3,2,1,8,5,0,0,1,1,2,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,3,1,2,0,8,2,0,1,1,1,1,1,0\n0,0,15,0,2,8,3,0,1,1,1,0,1,0\n0,5,4,3,2,5,3,0,0,1,1,0,1,1\n0,5,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n2,2,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,4,1,1,1,1,1,0\n1,0,3,2,0,11,0,0,0,1,1,2,1,1\n2,1,2,1,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,6,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,5,2,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,10,3,2,5,1,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,1,3,2,2,1,3,0,1,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,0,5,2,0,1,1,1,2,1,0\n1,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,4,0,3,2,5,5,4,0,1,1,0,1,0\n1,4,0,3,2,2,3,4,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,4,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,6,2,2,4,5,2,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,7,1,0,2,2,0,1,1,1,2,1,0\n0,0,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,2,10,3,1,5,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,2,4,1,1,1,1,0,1,0\n1,0,2,1,1,7,3,0,1,1,1,0,1,0\n1,0,6,2,1,4,3,0,0,1,1,1,1,0\n1,1,4,3,2,5,3,0,0,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,10,2,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,0,8,0,0,0,1,1,2,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,1,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,1,0,5,4,0,1,1,2,1,0\n2,2,0,3,3,3,5,0,1,1,1,1,1,0\n0,5,3,2,2,8,1,0,0,1,1,0,1,0\n0,5,0,3,0,12,2,0,1,1,1,0,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,1,1,5,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n0,0,5,2,0,5,2,4,1,1,1,1,1,1\n1,0,3,2,1,8,5,0,0,1,1,1,1,0\n3,0,3,2,2,10,3,0,1,1,1,2,1,0\n1,0,3,2,5,6,3,0,1,1,1,0,1,0\n1,3,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,6,2,0,0,2,0,1,1,1,1,1,1\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,1,1,1\n1,0,1,2,3,1,5,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,3,1,2,1,8,3,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n0,1,3,2,2,1,1,0,1,1,1,0,1,0\n1,5,6,2,0,0,2,0,1,1,1,0,1,1\n1,5,1,2,1,8,3,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,4,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,1,0,3,0,3,0,0,0,1,1,0,1,1\n0,0,8,0,0,10,2,0,1,1,1,0,1,0\n1,4,10,3,2,5,3,0,1,1,1,1,1,1\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n0,0,1,2,2,10,1,0,1,1,1,0,1,0\n1,2,3,2,2,3,5,1,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,4,0,3,2,12,3,0,0,1,1,0,1,0\n0,5,0,3,2,5,3,1,1,1,1,2,1,0\n1,1,1,2,1,1,5,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,2,1,1\n0,0,3,2,2,8,3,0,1,1,1,2,1,0\n2,0,0,3,0,7,2,0,1,1,1,0,1,1\n1,1,8,0,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,0,3,2,3,1,0,1,1,1,1,1,0\n0,5,1,2,2,2,3,1,1,1,1,1,1,0\n1,2,10,3,0,4,2,0,1,1,1,0,1,0\n0,3,13,3,0,5,2,0,1,1,1,0,1,0\n2,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,2,0,0,0,1,1,2,1,0\n1,2,2,1,0,3,2,0,1,1,1,1,1,1\n1,5,1,2,1,8,1,3,0,1,1,0,1,0\n0,0,1,2,1,7,3,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,4,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,2,8,1,0,0,1,1,1,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n1,5,3,2,0,1,2,0,1,1,1,1,1,1\n1,3,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,1,2,4,0,5,0,0,1,1,2,1,0\n0,0,3,2,2,8,4,0,0,1,1,0,1,0\n1,0,3,2,1,4,5,0,0,1,1,0,1,0\n1,0,6,2,1,8,5,0,0,1,1,1,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,8,0,0,0,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,5,1,2,1,5,3,0,0,1,1,0,1,0\n1,1,8,0,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,5,2,2,0,3,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,3,1,2,1,8,5,4,0,1,1,0,1,0\n1,1,5,2,4,5,5,0,0,1,1,1,1,0\n1,0,7,1,0,4,2,2,1,1,1,1,1,0\n1,0,3,2,2,7,3,0,0,1,1,0,1,0\n2,3,10,3,0,5,2,0,1,1,1,2,1,1\n0,1,12,1,0,1,2,0,1,1,1,1,1,0\n0,0,9,1,2,3,1,4,0,1,1,0,1,0\n0,0,1,2,2,0,1,0,1,1,1,2,1,0\n0,0,1,2,3,8,3,0,0,1,1,0,1,0\n1,4,3,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,1,2,1,2,9,5,0,1,1,1,0,1,0\n3,1,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,3,1,1,1,2,1,0\n1,0,1,2,0,5,2,0,1,1,1,1,1,1\n1,3,3,2,1,4,3,0,1,1,1,0,1,1\n1,2,0,3,2,2,3,0,0,1,1,1,1,1\n1,0,1,2,0,2,0,0,0,1,1,2,1,1\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n2,0,6,2,1,4,3,0,0,1,1,2,1,0\n0,0,0,3,2,8,1,0,1,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,2,9,1,0,1,1,1,1,1,0\n1,0,10,3,0,5,0,0,0,1,1,1,1,1\n2,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,4,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,1,2,0,6,0,0,0,1,1,1,1,0\n0,0,9,1,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,1,1,1,1,1,0\n0,3,9,1,2,8,3,4,1,1,1,0,1,0\n0,4,0,3,2,5,1,0,0,1,1,0,1,0\n1,1,0,3,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,4,10,3,1,4,3,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n2,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,0,12,1,2,3,1,0,1,1,1,2,1,0\n1,0,0,3,1,2,5,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,1,1,3,4,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,1,0,3,0,5,2,0,1,1,1,2,1,0\n3,1,8,0,0,10,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,3,2,0,1,1,0,1,0\n0,0,3,2,2,9,3,0,1,1,1,1,1,0\n0,0,10,3,3,5,3,0,0,1,1,2,1,0\n1,0,3,2,2,8,3,4,1,1,1,1,1,0\n3,0,12,1,0,2,2,4,1,1,1,2,1,0\n2,1,8,0,0,9,2,0,1,1,1,0,1,1\n0,4,0,3,0,3,2,0,1,1,1,1,1,0\n1,4,6,2,0,1,2,0,1,1,1,2,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,0,6,2,0,1,1,1,0,1,0\n0,0,10,3,0,5,0,1,0,1,1,2,1,0\n1,0,2,1,0,10,4,0,1,1,1,0,1,0\n2,0,10,3,0,3,2,0,1,1,1,2,1,1\n1,2,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,6,2,2,1,4,0,1,1,1,0,1,0\n0,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,5,1,0,0,1,1,2,1,1\n2,1,3,2,1,5,3,0,1,1,1,2,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,2,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,3,0,0,1,1,1,1,0\n0,0,3,2,0,6,2,4,1,1,1,0,1,0\n0,0,3,2,0,7,0,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,1,2,4,0,1,1,1,0,1,0\n0,0,1,2,2,10,1,0,1,1,1,0,1,0\n0,4,3,2,1,12,4,0,1,1,1,1,1,0\n0,0,0,3,2,5,1,0,0,1,1,2,1,0\n0,5,1,2,1,8,3,4,0,1,1,0,1,0\n1,0,0,3,1,5,5,0,0,1,1,0,1,1\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n1,4,5,2,0,12,2,0,1,1,1,1,1,1\n0,0,7,1,0,1,2,3,1,1,1,1,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,1,4,3,0,0,1,1,1,1,0\n1,0,1,2,0,0,0,0,0,1,1,2,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n2,4,0,3,3,5,5,4,0,1,1,0,1,1\n1,0,12,1,0,7,2,0,1,1,1,1,1,0\n2,1,1,2,0,8,2,0,1,1,1,1,1,0\n2,5,10,3,0,5,0,0,0,1,1,2,1,0\n2,0,3,2,4,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,1,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,3,1,5,0,0,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,8,0,0,9,4,0,1,1,1,2,1,0\n0,0,1,2,2,3,3,4,0,1,1,2,1,0\n1,5,3,2,0,12,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n2,0,6,2,1,0,3,0,0,1,1,1,1,0\n0,0,12,1,0,7,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,4,1,2,0,12,2,0,1,1,1,0,1,0\n1,1,1,2,0,3,2,2,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,2,1,0\n0,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,0,1,2,1,8,3,0,0,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,2,1,1\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,6,1,4,0,1,1,2,1,0\n0,0,1,2,1,4,5,4,0,1,1,0,1,0\n2,0,5,2,1,2,3,0,0,1,1,1,1,0\n1,1,0,3,0,1,4,0,1,1,1,2,1,1\n0,0,0,3,2,5,5,0,1,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,0,1,0\n2,5,10,3,0,5,2,0,1,1,1,2,1,1\n0,1,1,2,3,2,5,0,0,1,1,0,1,0\n2,0,3,2,1,11,3,4,0,1,1,2,1,0\n0,2,3,2,2,9,1,0,1,1,1,0,1,0\n2,5,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,1,1,1,2,1,0\n1,4,5,2,0,1,2,3,1,1,1,0,1,1\n1,5,0,3,2,3,3,0,1,1,1,2,1,0\n0,0,3,2,2,11,1,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,4,10,3,1,5,5,0,0,1,1,2,1,1\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,5,0,3,0,5,0,4,0,1,1,2,1,0\n1,0,2,1,1,7,5,4,0,1,1,0,1,0\n0,0,3,2,1,2,1,0,0,1,1,2,1,0\n1,2,0,3,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,5,10,4,0,0,1,1,0,1,0\n1,0,5,2,1,8,3,0,0,1,1,0,1,0\n1,0,5,2,3,8,5,0,0,1,1,0,1,1\n0,0,2,1,2,3,3,0,1,1,1,2,1,0\n0,0,3,2,1,0,5,0,0,1,1,0,1,0\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n2,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,7,4,4,1,1,1,2,1,0\n0,5,1,2,2,12,3,4,1,1,1,1,1,0\n2,0,6,2,4,5,5,0,0,1,1,2,1,1\n1,0,3,2,0,1,2,3,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,2,1,3,0,1,1,1,0,1,1\n0,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,1,1,2,1,5,3,0,0,1,1,0,1,0\n1,0,6,2,0,5,0,0,0,1,1,1,1,1\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,1,1,0\n0,0,9,1,2,7,4,0,1,1,1,0,1,0\n1,1,8,0,2,2,5,0,0,1,1,2,1,0\n0,2,3,2,2,9,1,0,1,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,4,8,5,0,0,1,1,2,1,0\n2,1,10,3,1,4,3,0,0,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n1,5,10,3,2,4,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,2,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,11,0,0,6,2,0,1,1,1,2,1,0\n1,0,1,2,2,3,3,0,1,1,1,1,1,1\n0,0,3,2,1,1,1,0,1,1,1,0,1,0\n0,0,3,2,1,12,3,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,2,4,3,0,0,1,1,1,1,0\n0,0,12,1,6,2,0,0,0,1,1,0,1,0\n1,0,1,2,1,4,3,0,0,1,1,1,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,2,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,4,8,5,0,0,1,1,0,1,0\n1,5,0,3,0,1,2,0,1,1,1,0,1,0\n0,3,1,2,0,0,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,3,0,0,1,1,2,1,0\n0,1,0,3,3,5,1,4,1,1,1,2,1,0\n2,0,3,2,4,3,3,0,0,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,1,1,1\n1,2,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,1,8,3,0,0,1,1,1,1,0\n1,4,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,6,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,0,5,2,0,1,1,0,1,0\n2,3,3,2,4,8,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n2,0,1,2,4,5,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,9,1,2,7,1,0,1,1,1,2,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,0,2,0,1,1,1,0,1,1\n0,0,12,1,2,1,5,0,1,1,1,1,1,0\n0,2,0,3,0,4,2,0,1,1,1,2,1,0\n2,0,0,3,4,4,3,0,0,1,1,0,1,0\n1,1,3,2,2,10,1,0,1,1,1,1,1,0\n0,0,10,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,1,1,4,0,1,1,1,0,1,0\n1,3,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,2,1,3,8,5,4,0,1,1,0,1,0\n1,0,3,2,1,3,5,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,5,10,3,2,5,3,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,0,7,0,4,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,1,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,14,0,0,9,2,0,1,1,1,2,1,0\n0,0,1,2,2,7,1,0,1,1,1,2,1,0\n0,0,6,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,4,1,1,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,6,2,2,3,3,0,1,1,1,0,1,0\n1,0,3,2,2,4,3,4,1,1,1,1,1,0\n1,0,2,1,1,10,3,4,0,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,4,0,3,2,5,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,3,2,0,1,1,1,2,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,6,2,2,5,3,0,1,1,1,1,1,0\n1,0,1,2,1,0,3,0,1,1,1,0,1,0\n1,0,3,2,3,1,3,0,1,1,1,2,1,0\n0,0,1,2,3,8,4,3,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n2,5,3,2,4,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,0,3,2,5,3,4,0,1,1,1,1,1\n1,0,8,0,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,5,1,2,2,1,4,0,1,1,1,0,1,0\n1,0,3,2,0,1,0,0,0,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n2,0,12,1,4,10,5,0,0,1,1,0,1,0\n1,3,0,3,0,12,2,0,1,1,1,1,1,1\n0,0,12,1,0,6,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,14,0,2,2,4,0,1,1,1,2,1,0\n0,0,1,2,3,2,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n2,0,3,2,0,6,2,0,1,1,1,0,1,1\n2,0,0,3,0,3,2,0,1,1,1,2,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,0,0,0,1,1,1,1,1\n0,0,9,1,2,9,1,0,1,1,1,2,1,0\n1,0,6,2,0,12,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n0,0,5,2,2,8,4,0,0,1,1,2,1,0\n1,0,1,2,0,10,2,4,1,1,1,0,1,0\n1,0,2,1,2,3,3,4,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,4,10,3,2,4,3,0,0,1,1,1,1,1\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,1,13,3,4,4,3,0,0,1,1,0,1,1\n1,4,10,3,0,5,0,0,0,1,1,1,1,1\n1,0,5,2,1,4,3,0,1,1,1,1,1,1\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,1,5,2,1,2,5,0,0,1,1,2,1,0\n2,1,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,4,3,0,1,1,1,1,1,0\n2,0,6,2,0,7,2,0,1,1,1,1,1,1\n2,0,1,2,1,4,3,0,1,1,1,0,1,0\n1,0,3,2,2,7,3,4,1,1,1,0,1,1\n0,5,1,2,2,5,3,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,0,5,2,0,1,1,1,0,1,0\n1,5,10,3,1,4,3,0,0,1,1,1,1,0\n1,0,12,1,2,7,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,1,0,3,1,2,3,0,0,1,1,2,1,0\n1,1,3,2,5,1,3,1,1,1,1,1,1,1\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n2,1,10,3,5,5,3,0,0,1,1,0,1,0\n0,0,1,2,2,12,1,0,0,1,1,0,1,0\n0,0,1,2,2,8,5,3,0,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,5,0,0,0,1,1,0,1,1\n0,3,12,1,2,2,5,4,0,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,6,2,4,2,5,0,0,1,1,2,1,0\n1,1,3,2,1,10,3,0,1,1,1,1,1,0\n0,5,1,2,2,4,3,0,0,1,1,2,1,0\n2,0,3,2,0,2,2,0,1,1,1,1,1,0\n2,0,7,1,1,6,3,0,1,1,1,2,1,0\n1,0,8,0,2,2,3,0,1,1,1,2,1,0\n0,0,0,3,2,2,3,0,1,1,1,0,1,0\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n1,0,6,2,2,5,3,0,0,1,1,1,1,0\n1,0,0,3,3,3,3,0,1,1,1,1,1,1\n1,3,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,10,3,2,4,3,0,1,1,1,0,1,0\n0,0,2,1,0,1,2,1,1,1,1,0,1,1\n2,0,3,2,4,2,3,0,0,1,1,2,1,0\n2,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,13,3,1,5,5,0,0,1,1,2,1,0\n2,5,0,3,0,5,2,0,1,1,1,1,1,1\n0,1,3,2,1,2,5,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,0,5,2,0,1,1,1,0,1,0\n2,0,3,2,1,2,3,0,0,1,1,0,1,0\n0,6,3,2,2,2,1,0,1,1,1,2,1,0\n1,0,6,2,2,6,3,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,0,0,1,1,2,1,0\n0,0,10,3,2,10,3,0,1,1,1,2,1,0\n1,0,1,2,0,8,1,0,0,1,1,2,1,1\n0,4,0,3,2,5,3,0,0,1,1,1,1,0\n2,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,0,3,2,1,7,5,4,0,1,1,0,1,0\n0,2,5,2,0,3,2,0,1,1,1,0,1,0\n1,0,8,0,0,8,2,0,1,1,1,0,1,0\n0,0,7,1,2,11,5,0,0,1,1,2,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,1,7,1,0,1,2,0,1,1,1,2,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,2,1,1\n1,5,3,2,1,4,5,0,0,1,1,2,1,0\n1,3,10,3,1,4,5,0,0,1,1,0,1,1\n0,0,14,0,0,6,2,0,1,1,1,0,1,0\n0,4,0,3,1,12,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n3,0,14,0,0,2,2,0,1,1,1,2,1,0\n0,0,14,0,0,2,2,0,1,1,1,1,1,0\n0,0,3,2,0,0,0,0,0,1,1,0,1,1\n1,0,6,2,0,10,2,0,1,1,1,2,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,5,2,0,0,2,0,1,1,1,0,1,1\n1,0,0,3,1,4,3,0,1,1,1,1,1,0\n1,2,3,2,0,3,0,0,0,1,1,2,1,0\n0,0,1,2,0,0,2,4,1,1,1,2,1,0\n2,0,8,0,0,2,2,4,1,1,1,0,1,0\n2,0,12,1,0,10,2,0,1,1,1,1,1,1\n1,0,1,2,2,8,3,0,1,1,1,2,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n2,0,1,2,1,3,3,0,1,1,1,1,1,0\n1,5,10,3,2,5,3,4,0,1,1,0,1,0\n0,0,5,2,0,3,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,7,3,0,0,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,0,3,2,2,8,3,0,0,1,1,2,1,0\n1,3,5,2,2,8,5,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,2,1,1,1,2,1,0\n0,0,6,2,2,6,3,0,1,1,1,0,1,0\n0,5,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,5,3,2,0,2,2,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,4,1,1,1,2,1,0\n0,0,1,2,2,8,3,4,0,1,1,2,1,0\n0,4,12,1,0,2,0,2,0,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,1,1,2,2,1,1,0,1,1,1,1,1,0\n0,4,3,2,2,2,1,0,1,1,1,2,1,0\n0,1,0,3,0,5,2,0,1,1,1,2,1,1\n2,0,3,2,4,2,5,0,0,1,1,0,1,0\n1,0,3,2,0,2,0,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,1,3,2,1,3,1,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,4,0,3,2,5,4,4,0,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,10,3,0,1,1,1,0,1,0\n1,0,1,2,0,6,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,1,2,1,1,3,0,1,1,1,0,1,0\n1,0,12,1,2,7,3,0,1,1,1,0,1,0\n2,0,8,0,3,1,3,0,1,1,1,0,1,0\n1,0,8,0,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,1,5,3,0,1,1,1,2,1,0\n1,1,4,3,0,5,2,4,1,1,1,1,1,1\n1,0,1,2,1,2,5,0,0,1,1,1,1,0\n0,0,3,2,1,8,3,0,0,1,1,2,1,0\n2,4,3,2,4,0,5,0,0,1,1,2,1,0\n2,0,3,2,3,7,5,4,0,1,1,0,1,0\n1,4,0,3,0,4,2,0,1,1,1,0,1,1\n2,0,12,1,4,3,3,0,0,1,1,0,1,0\n1,0,0,3,0,5,4,0,1,1,1,0,1,1\n1,3,4,3,0,4,2,0,1,1,1,1,1,0\n0,0,5,2,2,1,3,0,1,1,1,0,1,0\n1,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,1,2,0,2,0,0,0,1,1,2,1,0\n3,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,0,0,0,1,1,2,1,0\n0,0,12,1,2,6,1,0,1,1,1,2,1,0\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,1,5,5,0,0,1,1,0,1,0\n0,0,2,1,2,11,1,0,1,1,1,2,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,1\n1,3,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,10,3,1,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,4,2,5,0,1,1,1,2,1,0\n1,0,9,1,1,7,5,1,0,1,1,0,1,0\n0,0,3,2,3,8,3,0,0,1,1,1,1,0\n0,1,1,2,2,9,1,0,1,1,1,1,1,0\n0,0,5,2,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,5,3,2,2,8,3,4,0,1,1,2,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,0\n1,0,5,2,0,0,2,0,1,1,1,1,1,0\n2,2,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,7,1,2,6,4,0,1,1,1,0,1,0\n2,0,0,3,4,2,4,4,0,1,1,2,1,0\n1,0,3,2,0,3,0,0,0,1,1,0,1,0\n2,4,10,3,2,5,3,0,0,1,1,1,1,1\n2,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,2,3,2,2,4,1,0,1,1,1,1,1,0\n2,0,8,0,0,10,2,0,1,1,1,1,1,0\n3,0,3,2,4,2,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n0,0,3,2,1,8,3,0,1,1,1,0,1,0\n1,0,1,2,3,3,5,4,0,1,1,2,1,0\n0,0,0,3,0,10,2,0,1,1,1,1,1,0\n1,5,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,0,9,1,2,3,4,0,0,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,9,1,0,1,1,1,0,1,0\n0,0,2,1,2,10,1,0,1,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,2,1,0\n1,5,1,2,0,12,2,0,1,1,1,0,1,1\n1,3,10,3,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n2,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,1,3,2,0,4,2,0,1,1,1,1,1,1\n0,2,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,14,0,1,7,3,0,0,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,3,4,0,1,1,1,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,1,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,4,3,2,1,10,5,0,0,1,1,1,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,0,1,0,0,1,1,2,1,0\n2,0,8,0,0,10,2,4,1,1,1,0,1,0\n1,0,6,2,0,4,0,0,0,1,1,1,1,1\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n2,5,3,2,1,8,1,0,0,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,2,1,2,2,1,1,0,1,1,1,0,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,0\n2,4,1,2,4,7,3,0,1,1,1,2,1,0\n0,0,0,3,2,3,1,0,0,1,1,2,1,0\n2,0,6,2,5,4,3,0,0,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,6,2,0,0,2,0,1,1,1,1,1,1\n2,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,11,0,2,9,1,0,0,1,1,0,1,0\n1,0,3,2,3,3,3,0,0,1,1,0,1,0\n1,0,1,2,0,9,2,0,1,1,1,0,1,0\n0,5,10,3,0,4,2,0,1,1,1,0,1,1\n0,2,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,3,2,5,0,0,1,1,0,1,0\n0,0,9,1,2,1,5,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,0,3,0,1,1,1,1,1,0\n2,0,1,2,1,0,5,0,0,1,1,1,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n1,3,5,2,4,4,5,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,1,6,3,0,1,1,1,2,1,0\n1,0,0,3,1,3,3,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,0,6,2,2,10,1,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,0,10,4,4,1,1,1,0,1,0\n0,0,8,0,0,9,2,0,1,1,1,2,1,0\n2,5,1,2,0,8,2,0,1,1,1,0,1,0\n3,1,3,2,4,9,3,0,1,1,1,1,1,0\n0,5,0,3,0,5,0,4,0,1,1,2,1,0\n0,0,1,2,2,8,3,1,0,1,1,2,1,0\n2,4,10,3,0,4,2,0,1,1,1,0,1,1\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,11,0,0,6,2,0,1,1,1,1,1,0\n0,5,1,2,1,2,5,0,1,1,1,0,1,1\n3,6,8,0,0,9,2,0,1,1,1,2,1,0\n1,0,3,2,0,2,0,0,0,1,1,0,1,1\n0,0,3,2,2,3,1,4,0,1,1,0,1,0\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n1,0,7,1,2,2,3,0,1,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,4,1,2,1,12,3,0,1,1,1,1,1,0\n1,0,2,1,2,11,5,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,12,1,2,7,1,0,1,1,1,2,1,0\n1,0,10,3,1,3,3,0,1,1,1,1,1,1\n1,4,1,2,1,8,3,0,0,1,1,1,1,0\n1,2,6,2,0,9,2,0,1,1,1,1,1,1\n0,0,12,1,5,2,5,4,0,1,1,2,1,0\n0,0,3,2,1,3,3,0,1,1,1,0,1,0\n2,0,10,3,4,4,1,0,1,1,1,1,1,1\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n2,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,4,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,1,6,5,0,1,1,1,0,1,0\n2,0,3,2,4,4,5,0,0,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n0,0,9,1,2,6,1,0,1,1,1,2,1,0\n0,0,0,3,1,5,3,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,2,1,0\n0,0,3,2,0,4,2,1,1,1,1,1,1,1\n0,0,12,1,2,7,3,0,1,1,1,2,1,0\n0,4,3,2,2,6,4,4,1,1,1,0,1,0\n0,4,1,2,1,8,5,0,0,1,1,1,1,0\n0,0,1,2,2,10,1,0,1,1,1,2,1,0\n2,0,3,2,2,3,4,4,0,1,1,0,1,0\n0,0,3,2,1,3,3,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,3,1,1,1,0,1,0\n0,0,7,1,0,1,2,0,1,1,1,1,1,0\n0,4,2,1,0,5,0,4,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,0,8,0,2,9,3,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,2,10,3,0,1,1,1,0,1,0\n1,0,6,2,0,12,2,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,0\n1,1,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,0,3,1,2,3,4,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,3,11,3,4,0,1,1,1,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,4,1,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,9,1,0,9,2,0,1,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,0,4,0,0,0,1,1,1,1,1\n1,5,10,3,2,4,3,0,0,1,1,1,1,1\n1,0,0,3,2,5,1,0,1,1,1,1,1,0\n2,3,1,2,0,8,2,0,1,1,1,1,1,0\n0,2,3,2,2,9,3,0,1,1,1,1,1,0\n1,5,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,5,3,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n2,0,12,1,1,2,3,0,0,1,1,2,1,0\n1,0,5,2,1,8,1,0,0,1,1,1,1,0\n1,0,3,2,2,2,1,2,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,3,11,1,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,4,1,1,1,2,1,0\n0,0,3,2,2,10,1,0,1,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,5,10,3,1,5,3,0,1,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,2,2,3,0,0,1,1,0,1,0\n2,0,0,3,1,6,3,0,1,1,1,2,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,0\n0,5,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,9,1,2,1,1,0,1,1,1,2,1,0\n0,0,0,3,2,0,4,0,0,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,2,4,3,4,5,5,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,3,5,3,0,1,1,1,0,1,1\n0,4,2,1,2,5,1,0,0,1,1,2,1,0\n2,3,10,3,0,0,0,0,0,1,1,0,1,1\n2,0,3,2,4,1,5,0,1,1,1,0,1,0\n1,0,3,2,2,4,5,0,1,1,1,1,1,0\n0,0,6,2,0,1,2,2,1,1,1,1,1,0\n1,0,1,2,3,7,3,4,1,1,1,0,1,0\n1,0,10,3,2,5,3,4,1,1,1,1,1,0\n0,0,12,1,2,6,3,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,0,3,2,8,1,4,0,1,1,0,1,0\n0,0,3,2,2,2,4,3,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,7,1,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,4,0,0,1,1,2,1,0\n0,0,5,2,0,7,2,0,1,1,1,1,1,0\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n0,0,6,2,0,4,0,0,0,1,1,2,1,1\n2,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,3,8,5,4,0,1,1,2,1,0\n1,0,13,3,2,5,1,0,0,1,1,2,1,0\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,4,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,0,8,0,0,0,1,1,2,1,1\n1,2,0,3,2,4,3,0,1,1,1,1,1,1\n1,2,1,2,0,5,2,4,1,1,1,0,1,1\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n2,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,1,1,1,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,0,0,3,0,4,0,0,0,1,1,2,1,0\n2,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,5,2,1,8,3,0,0,1,1,0,1,0\n1,0,10,3,2,8,3,0,0,1,1,2,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,1,2,3,0,1,1,1,0,1,0\n1,1,5,2,1,4,5,0,0,1,1,1,1,0\n0,0,3,2,2,7,5,4,0,1,1,0,1,0\n1,0,0,3,0,10,2,0,1,1,1,1,1,1\n1,3,3,2,1,4,3,0,1,1,1,1,1,0\n1,0,3,2,2,7,1,4,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,2,1,0,3,2,0,1,1,1,1,1,1\n1,0,6,2,0,9,2,1,1,1,1,0,1,1\n0,0,1,2,3,7,3,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,5,0,3,0,4,2,3,1,1,1,2,1,0\n1,0,0,3,1,5,3,4,1,1,1,2,1,0\n2,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,4,0,3,2,5,1,0,1,1,1,0,1,0\n0,0,1,2,0,7,2,2,1,1,1,0,1,0\n1,0,1,2,2,4,3,0,0,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n2,2,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,5,2,5,0,1,1,1,0,1,0\n0,0,1,2,2,0,1,4,0,1,1,2,1,0\n0,0,3,2,3,6,1,4,1,1,1,0,1,0\n1,0,1,2,0,6,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n2,1,8,0,0,9,2,0,1,1,1,2,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,0,3,2,4,5,0,0,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n2,2,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,8,0,5,2,3,0,1,1,1,2,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,5,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,1,2,5,3,1,1,0,1,1,1,1,1\n0,0,10,3,2,5,3,4,0,1,1,2,1,0\n1,0,6,2,2,9,3,0,1,1,1,1,1,0\n1,0,1,2,1,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n2,0,1,2,1,0,5,4,0,1,1,0,1,0\n1,0,6,2,1,3,3,0,1,1,1,1,1,0\n0,4,1,2,0,12,2,4,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n0,0,1,2,2,4,1,0,1,1,1,2,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,2,1,2,0,9,2,0,1,1,1,1,1,1\n1,2,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,1,0,1,1,1,1,1,0\n2,0,12,1,2,10,3,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,4,1,1,1,1,1,0\n1,0,3,2,1,2,5,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,1,1,0\n0,5,0,3,2,5,1,4,1,1,1,2,1,0\n0,0,6,2,2,3,3,0,1,1,1,1,1,0\n1,0,6,2,1,2,3,0,0,1,1,2,1,0\n1,4,6,2,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n0,2,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,0,0,0,1,1,0,1,1\n0,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,3,2,1,2,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n0,1,2,1,2,3,1,0,1,1,1,0,1,0\n1,0,1,2,1,0,3,0,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,1\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n2,0,1,2,0,6,2,0,1,1,1,0,1,1\n1,0,0,3,3,5,5,0,0,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,1,6,2,0,1,2,0,1,1,1,0,1,0\n2,4,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,4,0,1,1,0,1,0\n0,1,3,2,2,1,3,0,1,1,1,2,1,0\n2,0,10,3,0,5,2,3,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,1\n1,1,1,2,0,9,2,0,1,1,1,1,1,1\n2,4,12,1,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,5,6,3,0,1,1,1,0,1,0\n0,4,3,2,2,8,3,0,0,1,1,0,1,0\n0,3,0,3,2,4,3,0,0,1,1,0,1,0\n1,0,1,2,1,8,1,0,1,1,1,0,1,0\n1,0,3,2,2,2,3,2,1,1,1,0,1,0\n0,0,3,2,2,6,4,0,1,1,1,2,1,0\n1,4,0,3,1,5,5,0,0,1,1,2,1,0\n2,0,14,0,1,7,4,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,6,2,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,2,3,2,0,1,2,0,1,1,1,1,1,0\n0,1,1,2,2,2,1,0,1,1,1,2,1,0\n1,1,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,5,1,0,1,1,0,1,0\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,6,2,2,4,3,0,0,1,1,2,1,0\n0,0,1,2,2,7,3,0,1,1,1,1,1,0\n0,4,0,3,2,5,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,4,1,1,1,2,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,4,3,2,2,2,1,4,1,1,1,2,1,0\n0,0,0,3,0,8,2,0,1,1,1,0,1,0\n1,0,6,2,2,5,5,0,0,1,1,0,1,0\n1,0,6,2,1,4,3,0,1,1,1,0,1,0\n1,2,0,3,0,5,2,0,1,1,1,2,1,0\n1,0,1,2,0,6,2,0,1,1,1,1,1,0\n1,4,6,2,1,4,5,0,0,1,1,1,1,0\n2,0,3,2,4,8,3,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,6,2,1,7,3,4,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n2,1,10,3,0,4,2,0,1,1,1,2,1,0\n1,0,3,2,5,8,4,0,0,1,1,0,1,0\n3,0,1,2,1,3,3,0,0,1,1,2,1,1\n0,5,1,2,2,8,3,0,0,1,1,2,1,0\n0,1,3,2,2,9,1,0,1,1,1,0,1,0\n2,1,10,3,3,5,3,0,1,1,1,0,1,1\n1,2,1,2,1,5,3,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,1,1,2,2,2,3,4,1,1,1,1,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,3,1,2,2,4,1,4,0,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,1,3,2,0,9,2,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,4,1,1,1,1,1,0\n1,0,1,2,1,3,3,0,0,1,1,1,1,0\n1,0,0,3,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,0,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,4,1,1,1,2,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,3,2,3,8,5,4,0,1,1,0,1,0\n1,0,3,2,2,3,3,0,0,1,1,0,1,0\n0,4,1,2,2,1,3,0,1,1,1,2,1,0\n2,0,3,2,1,5,3,0,0,1,1,1,1,0\n0,0,5,2,2,8,5,4,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,3,2,1,1,3,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,1\n0,0,3,2,2,7,4,0,1,1,1,1,1,0\n2,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,9,1,0,1,2,0,1,1,1,2,1,0\n1,1,1,2,0,7,2,0,1,1,1,1,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,1\n3,1,4,3,4,5,3,0,1,1,1,1,1,0\n0,1,14,0,2,5,5,0,1,1,1,2,1,0\n1,0,3,2,0,2,2,1,1,1,1,0,1,0\n0,0,5,2,2,2,3,0,1,1,1,1,1,0\n0,0,1,2,3,1,5,0,1,1,1,1,1,0\n0,0,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,7,1,0,6,2,0,1,1,1,0,1,0\n0,1,1,2,0,9,0,0,0,1,1,2,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,4,7,1,0,4,2,0,1,1,1,0,1,0\n1,0,12,1,0,7,2,0,1,1,1,1,1,0\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,5,1,0,1,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n2,0,3,2,5,11,3,0,0,1,1,2,1,0\n2,1,8,0,0,9,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,0\n1,2,0,3,0,3,2,0,1,1,1,0,1,1\n2,0,3,2,4,8,3,0,0,1,1,0,1,0\n1,2,6,2,0,9,2,0,1,1,1,0,1,0\n1,1,1,2,2,4,3,0,1,1,1,0,1,0\n1,0,6,2,0,2,2,0,1,1,1,2,1,0\n0,0,10,3,2,3,4,0,0,1,1,2,1,0\n0,0,1,2,2,7,1,0,0,1,1,2,1,0\n0,0,3,2,2,7,5,0,0,1,1,0,1,0\n0,2,0,3,2,4,1,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,1,6,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,1,0,3,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,0,5,0,0,0,1,1,2,1,0\n0,0,0,3,2,5,1,0,0,1,1,1,1,0\n1,1,6,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,2,0,3,0,0,1,1,2,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,4,10,3,2,5,3,4,0,1,1,2,1,0\n1,1,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,2,1,3,2,5,4,0,1,1,0,1,0\n1,0,3,2,2,1,3,0,1,1,1,1,1,1\n1,0,6,2,1,4,5,0,0,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n2,4,3,2,0,4,2,0,1,1,1,2,1,0\n0,4,0,3,2,5,3,0,1,1,1,2,1,0\n1,0,1,2,1,1,1,0,1,1,1,2,1,0\n1,0,0,3,0,5,0,0,0,1,1,0,1,1\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n3,0,1,2,4,2,3,0,0,1,1,2,1,0\n2,0,8,0,0,10,2,0,1,1,1,0,1,0\n1,4,3,2,1,1,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,0,8,1,4,0,1,1,0,1,0\n2,0,3,2,1,8,3,0,0,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,1,1,1,1,0,1,0\n0,4,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n2,0,10,3,1,4,3,0,0,1,1,0,1,1\n1,5,1,2,0,6,2,0,1,1,1,0,1,0\n2,0,1,2,1,3,3,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n2,0,14,0,0,7,2,0,1,1,1,0,1,1\n0,0,6,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,4,4,3,0,0,1,1,1,1,1\n1,1,0,3,1,3,3,0,0,1,1,1,1,1\n0,0,3,2,2,6,4,4,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,9,1,2,8,5,4,0,1,1,0,1,0\n1,3,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,6,2,2,1,3,0,1,1,1,1,1,0\n1,0,7,1,0,1,2,0,1,1,1,0,1,0\n1,0,8,0,0,7,2,0,1,1,1,2,1,0\n0,0,3,2,1,8,5,4,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,5,3,2,2,2,5,4,0,1,1,0,1,0\n2,1,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,1,8,5,0,0,1,1,0,1,0\n2,0,3,2,1,6,3,0,0,1,1,2,1,0\n2,4,3,2,0,5,2,0,1,1,1,2,1,1\n1,0,2,1,3,7,3,0,1,1,1,0,1,0\n2,3,3,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,5,4,1,1,1,0,1,0\n1,0,1,2,0,3,2,4,1,1,1,0,1,0\n0,0,6,2,2,2,4,0,1,1,1,0,1,0\n1,0,3,2,1,4,5,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n1,0,7,1,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,2,1,0\n2,4,3,2,4,8,5,0,0,1,1,0,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n2,0,2,1,5,2,5,4,0,1,1,0,1,0\n1,1,3,2,0,4,2,1,1,1,1,1,1,0\n1,0,2,1,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,0,1,2,0,5,0,0,0,1,1,2,1,1\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,0,0,0,1,1,1,1,1\n0,0,7,1,0,1,2,0,1,1,1,0,1,0\n1,4,3,2,0,6,0,0,0,1,1,1,1,1\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n1,4,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,4,4,0,1,1,0,1,0\n3,0,3,2,4,8,3,0,0,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,1,9,1,2,3,1,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,4,0,3,2,5,1,0,0,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,1,6,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,6,3,4,1,1,1,2,1,0\n0,0,2,1,1,2,5,0,0,1,1,2,1,0\n0,1,3,2,5,2,5,0,0,1,1,1,1,0\n1,0,9,1,0,6,2,0,1,1,1,2,1,0\n1,5,1,2,0,4,0,0,0,1,1,0,1,1\n0,0,3,2,2,3,3,0,0,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,5,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,7,1,4,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,12,1,4,7,5,4,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,2,1,0\n1,4,5,2,0,8,2,1,1,1,1,1,1,0\n0,0,3,2,0,3,0,0,0,1,1,2,1,0\n0,0,2,1,2,1,3,0,1,1,1,0,1,0\n1,4,10,3,0,8,4,0,0,1,1,1,1,1\n3,0,3,2,4,2,5,0,0,1,1,2,1,0\n3,0,3,2,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,1,1,5,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,0,2,1,0,0,1,1,2,1,0\n0,5,0,3,2,4,1,0,1,1,1,2,1,0\n1,0,6,2,1,1,3,0,1,1,1,0,1,0\n1,0,0,3,1,4,5,0,1,1,1,0,1,1\n0,0,1,2,2,2,5,0,0,1,1,2,1,0\n2,1,8,0,0,9,2,0,1,1,1,1,1,0\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n0,1,5,2,1,3,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,4,4,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,2,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,4,0,3,0,5,0,0,0,1,1,0,1,1\n1,0,3,2,4,8,3,0,0,1,1,0,1,0\n1,0,1,2,4,0,5,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,4,1,2,2,12,1,0,1,1,1,0,1,0\n3,0,9,1,4,3,3,0,0,1,1,2,1,0\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,7,1,2,6,1,0,0,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,1,1,0\n0,0,6,2,2,1,3,0,1,1,1,1,1,0\n0,0,7,1,5,3,3,0,0,1,1,2,1,0\n0,0,7,1,2,10,5,3,1,1,1,0,1,0\n1,0,1,2,3,7,3,4,1,1,1,0,1,0\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,5,6,2,1,4,5,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n1,1,10,3,0,5,2,1,1,1,1,0,1,0\n2,2,3,2,4,4,3,0,1,1,1,1,1,1\n0,0,6,2,0,7,2,0,1,1,1,0,1,1\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n0,0,1,2,1,11,3,0,0,1,1,2,1,0\n1,0,3,2,1,1,3,0,0,1,1,0,1,1\n2,2,10,3,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,0,8,0,1,0,1,1,0,1,0\n0,3,1,2,0,0,2,4,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,0,3,2,1,7,1,0,0,1,1,0,1,0\n0,0,1,2,3,4,1,4,0,1,1,0,1,0\n0,0,12,1,2,7,5,0,0,1,1,0,1,0\n0,0,6,2,2,2,1,0,0,1,1,1,1,0\n0,0,1,2,2,2,1,4,1,1,1,0,1,0\n0,0,5,2,1,10,5,0,0,1,1,2,1,0\n0,5,1,2,0,12,1,4,1,1,1,0,1,0\n1,0,10,3,0,0,2,1,1,1,1,0,1,1\n0,0,3,2,2,8,3,4,0,1,1,2,1,0\n0,4,1,2,2,5,1,0,1,1,1,2,1,0\n1,0,10,3,1,2,3,0,0,1,1,1,1,1\n1,0,1,2,1,5,3,0,0,1,1,1,1,0\n1,0,3,2,1,7,1,0,1,1,1,0,1,0\n0,1,3,2,2,9,3,0,1,1,1,2,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,1,4,3,2,5,1,0,1,1,1,1,1,1\n1,1,1,2,0,9,2,0,1,1,1,1,1,1\n1,0,2,1,0,10,2,4,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,4,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,4,1,2,0,12,2,0,1,1,1,1,1,0\n2,4,1,2,1,8,3,0,0,1,1,0,1,0\n1,3,3,2,1,1,3,0,1,1,1,0,1,0\n2,0,9,1,4,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,4,0,1,1,2,1,0\n0,0,14,0,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,1,5,3,0,1,1,1,1,1,0\n3,0,3,2,0,5,2,0,1,1,1,2,1,0\n1,5,13,3,0,5,2,0,1,1,1,0,1,1\n2,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,5,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,8,0,0,7,0,0,0,1,1,1,1,0\n3,5,13,3,5,5,3,0,1,1,1,2,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,1,1,2,2,9,3,0,1,1,1,0,1,0\n0,1,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,3,10,3,4,0,1,1,0,1,1\n0,0,3,2,2,2,5,0,0,1,1,2,1,0\n1,0,6,2,1,0,3,0,0,1,1,0,1,0\n1,1,3,2,0,2,2,0,1,1,1,0,1,0\n0,5,1,2,2,4,1,4,1,1,1,0,1,0\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,0,3,2,4,1,0,1,1,1,2,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,1\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,1,2,1,4,3,0,1,1,1,0,1,0\n0,5,0,3,2,5,1,1,0,1,1,2,1,0\n0,0,2,1,2,2,4,0,1,1,1,2,1,0\n0,0,1,2,2,2,5,0,0,1,1,2,1,0\n1,5,0,3,0,12,2,0,1,1,1,1,1,1\n1,5,5,2,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,4,4,3,2,5,3,0,1,1,1,0,1,1\n0,0,0,3,2,7,3,0,1,1,1,1,1,0\n1,4,0,3,0,5,4,4,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n2,5,13,3,0,5,2,0,1,1,1,1,1,1\n0,4,1,2,5,5,1,4,1,1,1,0,1,0\n2,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,1,12,1,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,0,3,2,1,10,5,0,0,1,1,2,1,0\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,1,4,3,0,0,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,10,3,1,4,5,0,1,1,1,1,1,1\n2,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,5,2,5,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n0,0,3,2,2,2,5,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,2,1,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,4,0,0,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n1,3,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,2,1,2,2,4,1,0,1,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n2,0,1,2,0,10,2,0,1,1,1,1,1,1\n1,0,13,3,1,5,3,0,1,1,1,0,1,0\n0,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n3,4,8,0,0,2,2,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,12,1,2,10,1,0,1,1,1,0,1,0\n1,0,0,3,1,5,5,0,0,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n2,3,5,2,0,12,2,4,1,1,1,0,1,0\n0,0,7,1,1,2,1,0,0,1,1,2,1,0\n1,0,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,1,5,5,0,0,1,1,0,1,0\n0,0,1,2,2,0,3,0,1,1,1,0,1,0\n0,0,0,3,2,3,5,4,0,1,1,0,1,0\n0,0,3,2,2,2,5,4,0,1,1,0,1,0\n0,1,0,3,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,4,2,1,1,6,5,2,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n2,1,0,3,4,3,5,0,1,1,1,1,1,0\n0,4,1,2,0,8,1,0,0,1,1,0,1,0\n2,1,10,3,0,3,2,0,1,1,1,1,1,1\n2,0,2,1,1,6,3,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,4,0,1,1,1,1,0\n0,0,1,2,0,4,2,4,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,2,1,1\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,0,3,2,0,5,1,0,0,1,1,0,1,0\n1,1,7,1,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,1,1,2,0,4,2,0,1,1,1,0,1,1\n2,0,14,0,0,9,2,0,1,1,1,0,1,0\n0,0,9,1,1,7,1,0,0,1,1,0,1,0\n2,3,1,2,0,8,2,0,1,1,1,1,1,1\n1,0,3,2,4,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,10,2,4,1,1,1,0,1,1\n0,0,2,1,1,6,3,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,4,1,2,0,5,2,4,1,1,1,0,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,1,0,5,4,0,1,1,2,1,0\n2,0,12,1,1,7,3,0,0,1,1,0,1,0\n0,0,5,2,2,4,4,0,0,1,1,0,1,0\n1,5,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,3,2,0,2,0,0,0,1,1,1,1,0\n1,0,1,2,1,3,3,0,0,1,1,2,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,1,1,2,0,4,2,0,1,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,0,1,0\n2,0,3,2,0,7,2,2,1,1,1,0,1,1\n0,0,6,2,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,1,2,5,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,0,3,0,4,0,0,0,1,1,0,1,0\n2,2,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,4,1,1,1,0,1,0\n0,0,6,2,2,2,3,0,1,1,1,0,1,0\n0,4,1,2,2,5,1,0,0,1,1,2,1,0\n0,4,3,2,0,12,2,4,1,1,1,0,1,1\n1,0,1,2,1,4,5,0,0,1,1,1,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n2,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,4,0,3,2,8,1,0,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,1,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,4,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n2,1,3,2,4,9,5,0,1,1,1,1,1,0\n0,0,0,3,2,5,1,0,1,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,10,3,0,3,2,0,1,1,1,0,1,0\n2,0,3,2,1,8,4,0,0,1,1,0,1,0\n1,0,1,2,5,3,3,0,0,1,1,0,1,0\n0,2,9,1,2,9,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,5,4,0,1,1,0,1,0\n1,1,0,3,1,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,4,1,1,1,2,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,1,14,0,0,2,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,2,5,0,0,1,1,2,1,0\n1,3,2,1,2,2,4,4,1,1,1,0,1,0\n0,0,0,3,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,8,1,1,1,1,1,0,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,2,3,2,2,2,3,0,0,1,1,1,1,0\n0,4,0,3,1,5,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,2,6,5,4,0,1,1,2,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n1,4,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,5,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,1,3,2,1,1,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,4,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,5,3,2,0,8,0,0,0,1,1,0,1,1\n2,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,8,0,0,1,2,4,1,1,1,0,1,0\n2,5,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,7,1,2,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,2,1,0,1,1,1,0,1,0\n1,2,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,1,4,3,0,1,1,1,1,1,0\n1,0,10,3,1,5,3,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,1,2,1,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n1,2,13,3,2,5,3,0,1,1,1,1,1,1\n0,0,6,2,3,5,3,0,1,1,1,0,1,0\n2,0,1,2,2,7,3,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,3,1,1,1,0,1,0\n2,0,3,2,4,0,3,0,1,1,1,0,1,0\n1,2,6,2,2,1,1,0,1,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,1\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n2,0,1,2,2,4,3,0,0,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,11,0,3,11,4,0,0,1,1,2,1,0\n1,3,3,2,2,8,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,5,3,0,0,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n0,3,1,2,0,12,2,0,1,1,1,1,1,1\n2,0,3,2,0,3,2,0,1,1,1,0,1,1\n2,0,3,2,0,10,2,0,1,1,1,2,1,1\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,0,3,0,1,1,1,1,1,0\n1,0,0,3,0,7,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n0,0,0,3,2,8,1,4,1,1,1,2,1,0\n2,0,10,3,0,4,2,4,1,1,1,0,1,0\n0,0,11,0,2,9,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,1\n0,0,1,2,0,5,2,0,1,1,1,1,1,0\n1,3,1,2,1,4,3,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,2,1,0\n1,5,13,3,1,5,3,0,1,1,1,2,1,0\n1,0,2,1,0,7,2,0,1,1,1,0,1,0\n1,3,1,2,0,8,2,1,1,1,1,0,1,1\n0,0,0,3,2,2,3,0,1,1,1,1,1,0\n1,0,4,3,1,5,5,0,0,1,1,2,1,1\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n2,1,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,1,5,5,1,0,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n2,0,6,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,1,7,3,0,0,1,1,1,1,0\n1,1,4,3,0,5,0,0,0,1,1,2,1,1\n0,0,0,3,2,4,1,0,1,1,1,1,1,0\n0,0,10,3,2,3,3,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,5,6,2,0,3,2,0,1,1,1,0,1,1\n0,5,3,2,0,1,2,4,1,1,1,0,1,0\n0,0,3,2,0,7,4,1,1,1,1,0,1,0\n1,0,3,2,1,2,3,0,1,1,1,1,1,0\n1,5,13,3,0,5,2,0,1,1,1,0,1,1\n0,0,6,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n2,0,10,3,0,5,2,0,1,1,1,2,1,0\n1,0,0,3,2,3,1,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,6,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,1,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,0,3,2,5,1,0,0,1,1,2,1,0\n1,1,6,2,0,9,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,1,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,0,8,2,0,1,1,1,0,1,0\n2,2,1,2,4,4,5,0,0,1,1,1,1,0\n0,2,4,3,0,5,0,0,0,1,1,1,1,1\n2,0,1,2,0,8,2,0,1,1,1,1,1,1\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,2,1,1,0,1,1,1,0,1,0\n1,0,1,2,3,3,5,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,2,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,6,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,11,0,0,2,2,1,1,1,1,0,1,0\n1,0,3,2,1,6,3,0,0,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,4,1,1,1,2,1,0\n1,0,3,2,1,0,5,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,2,1,0,7,2,0,1,1,1,0,1,0\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n0,1,7,1,4,2,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,8,0,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,5,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,0,0,0,1,1,1,1,1\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,4,1,1,1,1,1,0\n1,0,2,1,0,7,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,4,8,0,0,12,2,4,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n2,0,6,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,4,7,3,0,0,1,1,2,1,0\n1,0,3,2,1,6,3,0,1,1,1,0,1,0\n1,0,10,3,2,3,3,0,1,1,1,1,1,0\n2,1,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,8,0,0,10,2,0,1,1,1,0,1,0\n0,0,2,1,2,1,3,2,1,1,1,0,1,0\n2,5,13,3,0,5,2,0,1,1,1,1,1,1\n1,2,13,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,2,1,2,9,1,4,1,1,1,0,1,0\n0,1,1,2,0,3,2,1,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,12,3,0,0,1,1,0,1,0\n1,5,6,2,1,12,5,4,1,1,1,0,1,0\n2,1,12,1,1,1,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,4,0,1,1,2,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,2,1,1,1,0,1,0\n0,1,1,2,1,5,5,0,1,1,1,1,1,0\n0,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,2,8,5,0,1,1,1,1,1,0\n1,0,5,2,0,5,2,0,1,1,1,0,1,1\n0,0,5,2,2,8,3,0,1,1,1,0,1,0\n1,0,1,2,5,2,3,0,0,1,1,2,1,0\n2,4,3,2,0,8,2,0,1,1,1,0,1,0\n0,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,4,1,1,1,0,1,0\n1,1,3,2,0,1,2,4,1,1,1,2,1,1\n2,3,8,0,0,8,2,0,1,1,1,1,1,0\n1,1,1,2,1,1,3,0,1,1,1,2,1,1\n2,4,3,2,1,1,3,0,1,1,1,0,1,0\n0,4,0,3,0,5,0,0,0,1,1,0,1,1\n2,4,1,2,1,4,4,4,0,1,1,0,1,0\n0,1,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,4,1,1,1,1,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,2,8,0,0,1,2,0,1,1,1,1,1,0\n1,1,1,2,2,3,3,0,1,1,1,1,1,0\n2,4,6,2,0,12,2,0,1,1,1,0,1,1\n1,0,3,2,1,11,5,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,0,4,0,0,1,1,0,1,0\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,0,3,0,5,0,0,0,1,1,2,1,0\n0,0,3,2,2,0,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n0,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,0,1,4,1,1,1,0,1,0\n0,0,12,1,2,6,3,0,1,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,0,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,2,2,3,4,0,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,4,1,1,1,2,1,0\n2,3,7,1,1,2,3,4,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,2,1,0\n1,2,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,4,1,0,0,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,9,1,0,3,1,3,1,1,1,2,1,0\n1,0,3,2,0,1,2,1,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,1,3,2,3,1,1,4,1,1,1,1,1,0\n0,0,6,2,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,1,3,3,0,0,1,1,1,1,1\n0,4,1,2,0,8,0,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,6,2,5,0,1,0,0,1,1,0,1,0\n0,4,1,2,2,12,1,0,1,1,1,1,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,0,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,0,3,2,2,9,3,0,1,1,1,0,1,0\n2,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,2,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n0,5,1,2,1,12,5,4,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,3,5,3,0,0,1,1,1,1,0\n1,2,0,3,0,2,4,1,0,1,1,2,1,0\n0,0,12,1,2,2,3,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,2,13,3,0,5,2,0,1,1,1,1,1,1\n0,3,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,12,1,1,7,5,4,0,1,1,0,1,0\n0,0,0,3,0,3,2,1,1,1,1,1,1,1\n1,5,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,0,3,2,0,3,0,0,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,1,1,1,1,1,0\n0,0,0,3,2,3,1,0,1,1,1,1,1,0\n1,0,8,0,0,10,2,0,1,1,1,2,1,0\n0,0,5,2,2,8,3,0,0,1,1,2,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,1,4,0,1,1,0,1,0\n1,0,10,3,1,4,3,0,1,1,1,1,1,0\n0,0,3,2,2,12,4,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,3,1,1,1,1,1,0\n0,0,3,2,2,9,3,0,1,1,1,0,1,0\n0,0,3,2,5,2,4,4,0,1,1,2,1,0\n0,0,2,1,3,1,5,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,2,1,1,1,0,1,1\n0,0,3,2,0,3,0,4,0,1,1,0,1,0\n0,0,7,1,2,7,3,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,0,3,2,8,1,4,0,1,1,2,1,0\n1,0,2,1,4,7,3,4,1,1,1,0,1,0\n1,0,8,0,1,2,3,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,6,4,4,0,1,1,1,1,0\n0,5,1,2,2,5,1,0,0,1,1,0,1,0\n0,0,5,2,2,3,3,0,1,1,1,0,1,0\n0,0,3,2,2,4,3,0,0,1,1,2,1,0\n1,4,2,1,0,6,2,4,1,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n2,1,0,3,2,4,3,0,0,1,1,1,1,1\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n2,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,4,8,5,0,0,1,1,2,1,0\n1,2,5,2,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,0,5,0,0,1,1,0,1,0\n1,1,5,2,0,1,2,0,1,1,1,2,1,0\n1,5,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n2,0,5,2,0,4,2,0,1,1,1,1,1,1\n1,3,13,3,0,5,2,0,1,1,1,1,1,1\n1,4,6,2,1,5,5,0,0,1,1,2,1,0\n1,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,1,2,2,12,3,0,1,1,1,1,1,0\n1,0,3,2,4,2,3,2,0,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n2,0,1,2,0,7,2,0,1,1,1,1,1,1\n1,0,1,2,3,8,5,0,0,1,1,0,1,0\n0,0,1,2,1,8,3,0,0,1,1,1,1,0\n1,0,3,2,1,4,3,0,0,1,1,0,1,0\n1,0,0,3,1,5,3,0,1,1,1,1,1,0\n2,3,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,0,3,4,5,3,0,0,1,1,2,1,0\n2,0,8,0,1,1,5,0,1,1,1,0,1,0\n1,3,6,2,0,8,2,0,1,1,1,0,1,0\n2,5,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,9,1,2,2,1,4,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,1,0,3,1,10,3,0,1,1,1,1,1,0\n0,0,3,2,0,12,2,0,1,1,1,2,1,0\n2,0,8,0,0,2,2,4,1,1,1,2,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,5,2,2,2,3,0,1,1,1,0,1,0\n1,0,3,2,1,8,5,4,0,1,1,0,1,0\n3,0,3,2,4,8,3,0,0,1,1,2,1,0\n1,0,1,2,1,3,3,0,0,1,1,0,1,0\n0,0,1,2,2,5,3,0,0,1,1,1,1,0\n1,3,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,5,2,0,2,0,4,0,1,1,2,1,0\n0,5,0,3,0,5,2,0,1,1,1,2,1,0\n2,1,12,1,0,1,2,0,1,1,1,1,1,0\n0,0,2,1,2,6,1,4,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,1,6,2,2,9,3,0,1,1,1,2,1,0\n1,1,2,1,0,1,2,0,1,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,3,0,5,4,0,1,1,1,1,0\n2,0,3,2,0,1,2,4,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n1,1,2,1,0,4,0,0,0,1,1,2,1,1\n0,1,12,1,0,2,0,0,0,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,11,0,0,8,2,0,1,1,1,1,1,0\n2,1,1,2,0,2,0,4,0,1,1,1,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,2,1,1,1,1,1,1\n0,5,10,3,2,5,3,1,0,1,1,0,1,0\n2,1,0,3,0,4,2,0,1,1,1,1,1,0\n2,0,3,2,4,3,3,0,0,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,4,0,3,0,4,2,0,1,1,1,1,1,0\n3,1,8,0,0,10,2,0,1,1,1,2,1,0\n2,0,3,2,1,7,3,0,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,10,3,1,5,3,0,0,1,1,0,1,0\n2,2,3,2,0,3,2,0,1,1,1,2,1,1\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n3,0,7,1,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,3,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,5,2,4,3,3,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,2,4,1,0,0,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,0\n2,4,3,2,1,2,5,4,0,1,1,1,1,0\n1,4,6,2,0,12,2,0,1,1,1,1,1,1\n2,0,10,3,0,8,4,0,0,1,1,0,1,1\n0,0,1,2,2,0,5,0,0,1,1,1,1,0\n1,0,3,2,1,9,5,4,0,1,1,2,1,0\n0,0,0,3,2,5,3,1,1,1,1,0,1,0\n1,0,0,3,0,7,2,0,1,1,1,0,1,0\n2,0,3,2,4,8,5,0,0,1,1,0,1,0\n0,0,8,0,0,6,2,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,0,3,1,3,3,0,1,1,1,0,1,0\n0,0,3,2,1,1,5,4,1,1,1,0,1,0\n0,0,2,1,2,10,1,1,1,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,1,5,2,0,9,2,0,1,1,1,1,1,0\n1,3,5,2,0,6,2,1,1,1,1,0,1,1\n1,4,10,3,0,5,0,0,0,1,1,1,1,1\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,1\n1,1,1,2,2,5,1,0,0,1,1,2,1,0\n1,3,13,3,0,5,2,0,1,1,1,0,1,1\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,2,1,0,9,2,2,1,1,1,1,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n2,0,1,2,1,2,5,0,0,1,1,2,1,0\n2,0,1,2,0,8,0,0,0,1,1,2,1,1\n3,2,0,3,0,8,0,0,0,1,1,2,1,1\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,0,1,2,1,7,3,0,1,1,1,0,1,0\n0,4,9,1,2,7,3,0,1,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,3,1,2,1,8,3,0,0,1,1,0,1,0\n1,1,9,1,0,4,2,0,1,1,1,1,1,1\n0,4,3,2,2,10,3,2,1,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,1,4,1,0,1,1,1,0,1,0\n0,4,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,6,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,1,7,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,0,3,1,8,5,0,0,1,1,1,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n3,0,3,2,0,5,2,0,1,1,1,2,1,0\n1,4,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,4,0,1,1,0,1,0\n1,0,3,2,3,1,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n0,5,6,2,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,1\n2,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,4,11,5,0,0,1,1,2,1,0\n0,0,1,2,2,9,1,2,1,1,1,0,1,0\n1,0,3,2,3,8,5,0,0,1,1,0,1,0\n0,0,3,2,3,1,3,0,1,1,1,1,1,0\n0,4,1,2,2,12,3,0,1,1,1,0,1,0\n1,0,6,2,1,2,5,0,0,1,1,2,1,0\n3,0,1,2,4,3,3,1,0,1,1,2,1,0\n0,1,3,2,2,2,5,0,0,1,1,2,1,0\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n1,4,1,2,0,6,2,0,1,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,2,4,0,0,1,1,0,1,0\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,1,2,1,2,9,1,0,1,1,1,2,1,0\n0,0,12,1,2,1,1,0,1,1,1,2,1,0\n1,3,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,4,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,4,1,1,1,0,1,1\n1,0,10,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,3,2,5,0,1,1,1,0,1,0\n2,1,10,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,1\n0,0,0,3,0,5,0,0,0,1,1,0,1,1\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,12,1,2,2,4,0,0,1,1,2,1,0\n1,0,3,2,0,2,0,0,0,1,1,0,1,1\n1,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,0,3,2,3,3,5,0,0,1,1,0,1,0\n2,0,7,1,0,2,0,4,0,1,1,0,1,0\n1,4,10,3,2,5,3,0,0,1,1,1,1,1\n1,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,0,6,2,2,3,1,0,0,1,1,0,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,3,0,1,1,1,0,1,0\n0,1,3,2,2,6,1,0,0,1,1,2,1,0\n1,4,3,2,2,8,4,4,0,1,1,0,1,0\n0,0,3,2,2,2,1,1,1,1,1,0,1,0\n1,0,10,3,2,7,3,0,1,1,1,0,1,0\n1,0,0,3,1,7,3,0,1,1,1,0,1,0\n1,0,12,1,0,9,2,0,1,1,1,0,1,0\n0,4,10,3,2,5,3,0,0,1,1,1,1,0\n1,0,0,3,0,5,0,0,0,1,1,1,1,1\n1,5,1,2,1,4,5,0,0,1,1,0,1,0\n1,0,14,0,0,7,2,0,1,1,1,2,1,0\n2,1,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,0,0,0,1,1,0,1,0\n0,0,6,2,1,1,3,0,1,1,1,1,1,0\n1,5,0,3,2,9,3,0,1,1,1,0,1,0\n0,5,0,3,2,4,1,0,0,1,1,0,1,0\n0,1,3,2,2,1,1,0,1,1,1,1,1,0\n2,0,3,2,0,2,0,4,0,1,1,1,1,0\n0,5,0,3,2,4,3,0,1,1,1,0,1,0\n1,0,6,2,0,6,2,0,1,1,1,1,1,1\n1,1,1,2,1,7,3,0,1,1,1,0,1,0\n0,0,8,0,0,3,2,0,1,1,1,0,1,0\n1,5,10,3,0,5,2,0,1,1,1,1,1,0\n1,1,1,2,0,5,2,0,1,1,1,2,1,0\n1,2,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,0,0,0,0,0,1,1,2,1,0\n2,0,1,2,2,0,3,0,1,1,1,0,1,1\n0,0,15,0,5,6,5,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,1,2,2,5,3,0,1,1,1,2,1,0\n0,5,0,3,0,4,2,1,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,0,1,1,2,1,0\n0,5,3,2,1,10,5,0,1,1,1,0,1,0\n3,1,0,3,4,5,3,0,0,1,1,2,1,0\n0,3,1,2,2,4,1,0,1,1,1,2,1,0\n1,0,9,1,0,6,4,0,1,1,1,0,1,0\n1,0,2,1,1,8,3,0,0,1,1,1,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,13,3,1,3,3,0,1,1,1,1,1,1\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,1,5,5,0,0,1,1,0,1,0\n1,1,3,2,2,2,3,0,0,1,1,1,1,0\n1,0,7,1,2,9,5,4,0,1,1,0,1,0\n2,0,11,0,0,11,0,4,0,1,1,2,1,0\n1,1,10,3,1,5,3,0,0,1,1,1,1,0\n0,3,1,2,2,8,5,4,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,0\n0,4,3,2,2,12,3,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n2,0,0,3,3,4,5,0,0,1,1,0,1,0\n0,0,14,0,2,7,4,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,4,0,1,1,1,2,1,0\n1,0,0,3,0,7,2,0,1,1,1,0,1,0\n0,0,12,1,3,4,5,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,0,0,0,1,1,0,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,2,1,2,1,5,0,1,1,1,0,1,0\n1,5,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n2,5,1,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,4,4,1,1,1,0,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,3,3,3,0,1,1,1,1,1,0\n0,5,5,2,0,5,2,0,1,1,1,2,1,0\n1,0,1,2,1,4,5,0,0,1,1,2,1,0\n0,5,5,2,2,8,1,0,0,1,1,2,1,0\n1,5,3,2,1,2,5,0,0,1,1,0,1,0\n0,0,0,3,2,4,1,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,2,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,1,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,2,1,2,2,3,4,1,1,1,0,1,0\n0,0,13,3,2,5,3,0,1,1,1,1,1,0\n1,4,2,1,1,2,1,0,0,1,1,1,1,0\n1,4,1,2,0,8,0,0,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,12,1,2,3,1,0,1,1,1,2,1,0\n0,4,10,3,0,5,0,0,0,1,1,2,1,1\n0,0,1,2,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,0,0,2,0,1,1,1,2,1,0\n1,0,1,2,1,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,5,0,3,4,0,5,0,0,1,1,0,1,1\n1,0,1,2,0,7,2,0,1,1,1,2,1,0\n2,0,0,3,0,7,2,0,1,1,1,0,1,1\n0,0,1,2,2,0,4,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,5,8,5,0,0,1,1,0,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,0,3,1,5,3,0,0,1,1,2,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,9,3,0,1,1,1,1,1,0\n2,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,7,1,0,0,1,1,2,1,0\n0,0,3,2,2,0,5,0,0,1,1,0,1,0\n2,0,12,1,1,1,5,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,0,1,1,1,2,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,8,3,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,1,4,3,0,5,2,0,1,1,1,0,1,1\n2,4,3,2,0,5,0,0,0,1,1,2,1,0\n2,0,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,1,2,0,6,2,1,1,1,1,0,1,0\n1,1,3,2,1,2,5,0,0,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,1,1,1,1,0,1,0\n0,5,0,3,2,5,3,0,0,1,1,0,1,0\n2,0,6,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,4,3,0,0,1,1,1,1,0\n0,1,0,3,1,3,3,0,1,1,1,1,1,1\n2,1,6,2,0,9,2,0,1,1,1,0,1,0\n0,4,7,1,1,9,5,0,0,1,1,0,1,0\n0,0,3,2,2,4,3,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,1,9,1,1,1,5,0,1,1,1,0,1,0\n0,0,1,2,2,6,3,0,1,1,1,2,1,0\n2,0,3,2,0,7,2,4,1,1,1,0,1,0\n0,4,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,0,3,1,3,5,0,0,1,1,1,1,0\n1,5,0,3,0,5,2,4,1,1,1,0,1,1\n0,0,1,2,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,0,1,1,0,1,0\n0,0,6,2,2,8,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,6,2,0,8,2,0,1,1,1,0,1,0\n1,0,2,1,2,1,3,0,1,1,1,0,1,0\n2,5,3,2,2,8,3,0,1,1,1,0,1,0\n0,4,10,3,2,5,3,0,0,1,1,1,1,0\n1,4,0,3,2,5,3,0,0,1,1,0,1,1\n1,5,0,3,2,4,1,0,0,1,1,0,1,0\n2,0,1,2,1,0,5,4,0,1,1,1,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,3,1,1,1,0,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,1,1,2,1,2,5,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,3,8,5,4,0,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,1,3,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,5,0,3,2,4,3,0,0,1,1,2,1,0\n0,0,3,2,1,4,3,0,0,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,4,0,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,0,3,1,7,5,0,0,1,1,1,1,0\n1,5,0,3,2,5,3,0,0,1,1,0,1,0\n0,5,0,3,0,12,2,0,1,1,1,1,1,1\n1,0,3,2,2,7,4,4,0,1,1,0,1,0\n1,5,0,3,1,8,4,4,0,1,1,2,1,0\n1,0,6,2,1,3,3,0,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,0,1,2,1,3,5,4,0,1,1,1,1,0\n1,0,1,2,2,3,3,0,1,1,1,1,1,1\n1,0,6,2,1,8,1,0,0,1,1,0,1,0\n0,5,0,3,0,8,2,0,1,1,1,2,1,1\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n2,0,12,1,4,7,3,0,0,1,1,2,1,0\n2,2,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,1,5,5,4,0,1,1,1,1,0\n1,0,9,1,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,1,2,0,8,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,1,1,1,1,2,1,0\n1,0,3,2,1,3,5,0,0,1,1,0,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,1,1,3,0,0,1,1,0,1,0\n1,1,14,0,0,1,2,3,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,11,0,5,2,3,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,11,0,0,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n2,0,8,0,4,2,5,4,0,1,1,2,1,0\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,4,1,1,1,0,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,3,10,5,0,0,1,1,2,1,0\n0,5,0,3,0,5,2,0,1,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,4,0,3,1,5,4,0,0,1,1,1,1,0\n2,4,10,3,3,5,1,4,0,1,1,2,1,0\n0,4,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,0,3,2,2,1,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n2,4,3,2,0,1,2,0,1,1,1,0,1,1\n1,4,3,2,0,2,4,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,3,1,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,4,4,1,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,15,0,2,9,3,0,1,1,1,2,1,0\n1,3,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,3,3,2,0,12,2,0,1,1,1,0,1,0\n2,0,10,3,2,5,3,0,0,1,1,0,1,0\n2,0,3,2,4,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,2,3,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,5,2,2,4,4,0,0,1,1,2,1,0\n0,0,1,2,2,11,1,0,0,1,1,0,1,0\n1,0,8,0,1,3,3,3,0,1,1,2,1,0\n0,2,1,2,2,9,1,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,4,0,1,1,2,1,0\n1,0,5,2,2,7,1,1,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,14,0,0,7,2,0,1,1,1,0,1,0\n1,0,6,2,2,5,3,0,0,1,1,1,1,1\n1,4,0,3,2,5,3,0,0,1,1,1,1,0\n1,0,3,2,1,0,3,0,1,1,1,0,1,1\n0,0,1,2,2,6,1,0,0,1,1,2,1,0\n1,0,3,2,2,10,3,0,1,1,1,1,1,0\n1,0,13,3,0,5,2,0,1,1,1,0,1,1\n0,3,1,2,2,0,5,2,0,1,1,0,1,0\n3,0,0,3,0,3,2,0,1,1,1,0,1,0\n2,4,10,3,1,5,5,4,0,1,1,2,1,1\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,3,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,0,1,0,1,1,1,1,1,0\n1,0,1,2,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,5,1,2,0,8,0,0,0,1,1,0,1,1\n0,0,3,2,2,3,1,3,1,1,1,0,1,0\n1,0,0,3,0,9,2,0,1,1,1,1,1,0\n3,0,3,2,4,8,3,0,1,1,1,2,1,1\n2,0,3,2,2,3,3,0,1,1,1,0,1,0\n0,0,3,2,1,4,3,0,1,1,1,1,1,0\n0,4,1,2,0,12,2,0,1,1,1,2,1,0\n1,4,0,3,0,5,2,0,1,1,1,2,1,1\n0,0,0,3,1,8,5,0,0,1,1,0,1,0\n2,4,12,1,4,2,3,0,0,1,1,2,1,0\n0,0,3,2,0,3,3,4,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,5,6,2,1,8,5,0,0,1,1,0,1,0\n1,1,1,2,1,5,3,0,0,1,1,2,1,0\n0,0,1,2,0,4,0,0,0,1,1,0,1,0\n1,0,3,2,5,2,5,4,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,4,1,2,1,12,3,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,1,6,2,1,10,3,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,4,0,1,1,2,1,0\n2,0,0,3,0,4,0,1,0,1,1,1,1,1\n2,3,10,3,1,4,3,0,0,1,1,1,1,1\n0,0,1,2,2,12,1,0,1,1,1,0,1,0\n1,0,3,2,3,1,3,0,1,1,1,2,1,0\n1,2,4,3,0,5,2,1,1,1,1,1,1,1\n1,0,1,2,1,3,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,3,7,1,1,2,5,0,0,1,1,0,1,0\n0,2,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,1,3,2,2,0,1,0,1,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,1,1,2,2,8,3,0,0,1,1,1,1,0\n1,4,8,0,0,10,2,4,1,1,1,0,1,0\n1,0,8,0,0,2,2,1,1,1,1,2,1,0\n1,0,10,3,2,4,3,0,1,1,1,1,1,1\n2,0,10,3,0,5,2,0,1,1,1,2,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,3,1,2,0,4,2,1,1,1,1,0,1,1\n0,4,3,2,2,12,3,0,1,1,1,1,1,0\n0,1,0,3,2,3,3,0,0,1,1,1,1,0\n1,0,6,2,0,1,2,2,1,1,1,0,1,1\n0,0,3,2,1,7,3,0,1,1,1,0,1,0\n1,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,0,3,1,0,5,0,0,1,1,2,1,0\n0,1,3,2,2,9,1,1,1,1,1,2,1,0\n0,0,10,3,0,8,2,0,1,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,7,1,2,7,3,0,1,1,1,2,1,0\n1,0,15,0,0,9,2,4,1,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,4,0,1,1,1,0,1,0\n1,1,1,2,0,4,0,0,0,1,1,1,1,0\n0,0,1,2,2,0,5,0,0,1,1,0,1,0\n0,0,1,2,3,2,3,0,0,1,1,2,1,0\n0,0,7,1,2,10,5,0,1,1,1,2,1,0\n1,4,0,3,0,12,2,0,1,1,1,0,1,0\n1,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,10,3,2,5,3,0,0,1,1,2,1,0\n0,0,10,3,2,4,3,0,0,1,1,1,1,1\n0,5,10,3,1,5,3,2,1,1,1,1,1,0\n2,0,7,1,1,12,3,0,1,1,1,0,1,0\n0,0,7,1,5,9,3,0,1,1,1,0,1,0\n2,0,11,0,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,0,4,0,1,1,0,1,0\n2,0,3,2,0,2,4,0,0,1,1,2,1,0\n0,0,2,1,2,3,1,4,0,1,1,2,1,0\n0,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,5,4,0,1,1,2,1,0\n1,0,3,2,1,6,3,0,1,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n1,0,9,1,0,2,0,0,0,1,1,1,1,0\n0,1,12,1,2,10,3,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,4,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,2,5,5,0,0,1,1,1,1,0\n2,1,1,2,4,4,3,0,0,1,1,2,1,0\n0,0,6,2,0,0,2,0,1,1,1,1,1,1\n0,0,1,2,1,5,3,0,0,1,1,0,1,0\n1,0,3,2,2,2,3,4,1,1,1,0,1,0\n0,0,5,2,2,4,3,0,0,1,1,0,1,0\n0,0,6,2,2,5,3,0,0,1,1,0,1,0\n0,0,0,3,2,6,1,0,1,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n2,0,11,0,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,0,2,0,1,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,2,1,0\n1,0,0,3,0,8,2,1,1,1,1,1,1,1\n2,3,4,3,0,5,2,1,1,1,1,1,1,1\n3,0,1,2,0,3,2,0,1,1,1,2,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,12,1,0,8,0,0,0,1,1,2,1,0\n1,4,10,3,4,5,5,4,0,1,1,0,1,0\n0,2,3,2,0,3,2,0,1,1,1,1,1,1\n0,2,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,1,3,5,0,0,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,8,0,1,7,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n0,5,0,3,2,12,1,0,0,1,1,0,1,0\n0,4,1,2,2,12,3,0,0,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,4,1,1,1,0,1,0\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n1,1,7,1,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,4,4,0,1,1,2,1,0\n1,0,1,2,2,10,3,4,1,1,1,0,1,0\n2,5,1,2,0,1,2,0,1,1,1,1,1,1\n2,1,6,2,4,1,5,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,6,2,0,8,0,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n2,1,1,2,2,5,3,0,0,1,1,1,1,1\n0,0,3,2,2,4,3,0,1,1,1,1,1,0\n0,0,1,2,0,2,0,0,0,1,1,2,1,0\n1,0,1,2,1,5,1,0,0,1,1,0,1,0\n1,0,0,3,1,4,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n1,0,6,2,4,8,5,0,0,1,1,2,1,0\n1,2,1,2,1,1,5,0,0,1,1,0,1,0\n0,0,12,1,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n0,0,3,2,3,1,3,0,1,1,1,0,1,0\n1,4,1,2,0,8,0,0,0,1,1,0,1,1\n1,0,1,2,1,7,1,3,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n2,0,1,2,0,6,2,1,1,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,12,1,2,2,5,0,0,1,1,2,1,0\n0,0,10,3,2,3,3,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n2,0,1,2,2,5,3,0,0,1,1,0,1,1\n3,5,1,2,4,4,3,4,1,1,1,0,1,1\n1,0,6,2,0,1,2,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,10,3,3,4,3,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,6,2,2,8,3,4,1,1,1,1,1,0\n1,2,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,2,6,2,0,1,2,0,1,1,1,1,1,0\n0,5,4,3,2,5,3,0,0,1,1,1,1,0\n1,1,1,2,0,7,0,0,0,1,1,0,1,0\n1,0,0,3,0,8,2,0,1,1,1,1,1,0\n1,4,0,3,0,4,2,1,1,1,1,0,1,1\n0,0,0,3,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,0,0,0,1,1,1,1,0\n2,0,4,3,4,5,3,0,0,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,12,1,0,6,2,0,1,1,1,2,1,0\n1,0,14,0,5,1,3,0,1,1,1,1,1,0\n0,2,0,3,1,4,5,4,1,1,1,1,1,1\n2,0,1,2,4,0,5,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,0,5,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,1,4,3,0,0,1,1,1,1,1\n0,0,9,1,2,1,1,0,1,1,1,0,1,0\n0,0,2,1,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,1,8,4,0,0,1,1,0,1,0\n0,0,3,2,3,1,3,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,5,2,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,1,4,3,0,5,2,0,1,1,1,0,1,1\n0,1,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,3,10,5,4,1,1,1,1,1,0\n1,0,0,3,2,4,3,0,0,1,1,1,1,0\n0,0,3,2,2,3,4,4,1,1,1,0,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,4,1,2,0,4,2,2,1,1,1,0,1,1\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,0,4,0,1,1,2,1,0\n1,0,3,2,1,3,5,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,4,0,1,1,2,1,0\n1,0,13,3,1,4,3,0,0,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,1,1,1\n2,4,0,3,2,5,3,0,0,1,1,1,1,1\n0,0,9,1,2,2,3,0,1,1,1,2,1,0\n1,4,3,2,1,2,5,0,0,1,1,1,1,0\n1,0,0,3,1,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,4,1,1,1,0,1,0\n0,1,12,1,0,4,2,0,1,1,1,1,1,0\n2,0,1,2,1,8,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,2,1,2,2,4,4,1,1,1,2,1,0\n0,0,2,1,2,3,5,0,0,1,1,2,1,0\n2,4,1,2,1,8,3,4,1,1,1,0,1,0\n1,0,5,2,3,0,3,0,0,1,1,2,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,7,3,4,0,1,1,0,1,0\n1,4,0,3,0,5,0,0,0,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,0,4,0,0,0,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,4,0,3,0,4,2,0,1,1,1,2,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n0,0,12,1,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,4,8,4,4,0,1,1,0,1,0\n1,2,5,2,0,5,2,0,1,1,1,1,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,1,0,1,1,0,1,0\n0,0,8,0,2,7,4,0,0,1,1,2,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,1,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,5,2,0,3,2,0,1,1,1,2,1,1\n1,0,1,2,0,4,2,4,1,1,1,2,1,0\n0,0,6,2,3,8,5,4,0,1,1,0,1,0\n2,0,7,1,0,11,0,0,0,1,1,2,1,0\n1,3,0,3,0,8,2,0,1,1,1,1,1,1\n1,5,10,3,2,5,3,0,0,1,1,1,1,1\n1,0,8,0,0,1,2,0,1,1,1,1,1,1\n2,0,3,2,0,9,2,0,1,1,1,2,1,0\n1,0,3,2,2,2,4,4,1,1,1,0,1,0\n2,5,0,3,1,8,3,0,1,1,1,0,1,1\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,1,0,3,0,5,0,0,0,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n0,0,5,2,2,8,1,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,3,2,3,8,4,0,0,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,0,2,1,0,10,2,0,1,1,1,1,1,0\n1,4,2,1,0,6,2,0,1,1,1,0,1,0\n0,0,12,1,3,2,5,1,0,1,1,2,1,0\n1,0,2,1,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n2,0,12,1,0,10,2,4,1,1,1,0,1,0\n0,0,5,2,1,7,3,0,1,1,1,0,1,0\n0,0,6,2,2,8,3,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,7,1,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,1,2,0,1,0,0,0,1,1,0,1,1\n0,1,3,2,2,4,1,0,1,1,1,0,1,0\n2,0,3,2,1,2,3,0,0,1,1,0,1,0\n0,0,5,2,2,8,1,0,1,1,1,2,1,0\n0,3,3,2,2,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,2,13,3,1,4,3,0,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n1,4,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,1,4,0,1,1,1,0,1,0\n2,4,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,10,3,2,5,5,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n2,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,1,1,0,0,1,1,1,1,1\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,3,0,3,5,4,3,4,1,1,1,0,1,0\n1,0,3,2,1,4,3,0,0,1,1,1,1,0\n0,0,10,3,0,8,2,0,1,1,1,1,1,1\n1,3,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,5,1,2,0,5,0,0,0,1,1,0,1,1\n1,2,0,3,0,9,0,0,0,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,3,0,3,0,1,1,1,0,1,0\n0,0,1,2,2,4,1,0,1,1,1,1,1,0\n1,0,4,3,0,4,2,0,1,1,1,1,1,1\n2,0,1,2,1,0,3,0,0,1,1,1,1,0\n2,0,13,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,12,1,1,8,3,0,1,1,1,1,1,0\n0,0,6,2,2,2,4,4,1,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,5,1,2,0,1,2,4,1,1,1,0,1,0\n0,1,9,1,2,9,1,0,1,1,1,1,1,0\n1,1,5,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n1,0,3,2,5,7,3,0,1,1,1,1,1,0\n0,4,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,0,3,2,8,3,0,0,1,1,2,1,0\n2,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,2,1,1,2,3,0,0,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,4,10,3,2,5,3,0,0,1,1,1,1,0\n1,1,1,2,0,1,2,2,1,1,1,1,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,6,3,0,0,1,1,0,1,0\n1,0,6,2,1,0,3,0,0,1,1,0,1,0\n0,2,0,3,2,4,1,0,1,1,1,1,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,1,5,3,0,1,1,1,0,1,0\n2,5,8,0,0,1,2,0,1,1,1,2,1,0\n2,5,1,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,1,1,0\n2,0,9,1,1,10,5,4,1,1,1,1,1,1\n1,1,2,1,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,3,1,0,1,1,0,1,0\n0,5,1,2,0,2,2,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,0,0,1,1,0,1,1\n0,0,5,2,1,8,5,0,0,1,1,2,1,0\n0,1,3,2,2,6,3,0,1,1,1,0,1,0\n0,1,3,2,2,1,1,0,1,1,1,1,1,0\n2,0,3,2,4,8,5,0,0,1,1,2,1,0\n1,0,1,2,0,4,0,0,0,1,1,1,1,1\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,0\n0,0,5,2,2,2,1,0,0,1,1,0,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,10,3,2,5,3,1,1,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,0,3,2,0,3,1,1,1,1,0,1,0\n2,0,2,1,4,7,3,4,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,2,0,1,1,0,1,0\n1,0,1,2,0,3,2,4,1,1,1,1,1,1\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,0\n2,4,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,7,1,2,1,4,3,1,1,1,1,1,0\n0,0,5,2,2,4,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,4,2,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,1,1,5,0,1,1,1,1,1,0\n0,0,9,1,0,2,2,1,1,1,1,1,1,0\n1,1,14,0,0,9,2,0,1,1,1,1,1,1\n1,5,13,3,5,5,3,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,2,1,2,8,5,0,0,1,1,2,1,0\n1,0,0,3,2,7,4,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,8,0,0,1,2,0,1,1,1,2,1,0\n1,2,0,3,0,5,2,0,1,1,1,1,1,1\n1,1,10,3,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n2,1,2,1,1,2,5,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,2,5,3,0,1,1,1,0,1,1\n1,0,1,2,0,5,2,0,1,1,1,1,1,0\n1,5,1,2,2,4,5,0,0,1,1,1,1,0\n1,3,1,2,0,1,2,4,1,1,1,2,1,0\n0,0,1,2,5,2,3,0,1,1,1,1,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,1,1,2,2,3,1,0,1,1,1,0,1,0\n0,1,6,2,2,9,3,0,1,1,1,1,1,0\n0,0,0,3,2,8,3,4,0,1,1,0,1,0\n1,0,3,2,1,3,4,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,1,1,2,4,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n1,0,9,1,0,7,2,0,1,1,1,1,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n0,3,1,2,2,10,1,0,1,1,1,2,1,0\n2,0,8,0,0,10,2,0,1,1,1,2,1,0\n0,1,1,2,0,5,2,0,1,1,1,1,1,1\n3,0,9,1,0,6,2,0,1,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,2,1,2,10,5,0,1,1,1,0,1,0\n1,0,1,2,0,4,0,0,0,1,1,1,1,1\n2,0,6,2,4,8,3,0,0,1,1,2,1,0\n0,0,12,1,0,2,2,0,1,1,1,1,1,0\n2,0,3,2,4,7,5,0,0,1,1,2,1,0\n0,1,2,1,2,2,5,2,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,0,7,2,0,1,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,1,1,0\n1,0,0,3,1,1,3,0,1,1,1,0,1,0\n2,5,13,3,0,10,2,0,1,1,1,1,1,0\n2,0,0,3,0,0,2,0,1,1,1,0,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,0\n2,0,3,2,4,1,3,0,0,1,1,1,1,0\n1,0,0,3,0,8,0,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,12,1,0,1,1,1,1,1,0\n2,0,3,2,4,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,5,2,0,2,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,7,1,0,8,2,0,1,1,1,1,1,0\n2,5,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,5,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,2,1,1\n1,0,2,1,0,9,2,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,4,1,1,1,0,1,0\n0,5,1,2,2,12,3,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n1,2,10,3,1,4,3,4,1,1,1,1,1,1\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,4,7,3,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,4,0,3,1,5,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n2,2,1,2,0,9,2,0,1,1,1,1,1,0\n0,4,3,2,0,12,2,1,1,1,1,0,1,1\n0,0,1,2,2,4,3,0,0,1,1,2,1,0\n2,1,10,3,1,4,3,0,1,1,1,1,1,0\n0,0,1,2,1,8,5,0,0,1,1,2,1,0\n2,1,7,1,0,9,2,0,1,1,1,1,1,0\n0,0,10,3,2,5,3,4,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n1,0,0,3,0,8,2,1,1,1,1,0,1,1\n1,4,0,3,0,12,2,0,1,1,1,1,1,0\n0,0,8,0,2,6,3,0,1,1,1,2,1,0\n1,5,10,3,1,4,3,0,0,1,1,1,1,1\n1,0,3,2,1,11,5,0,0,1,1,2,1,0\n1,0,1,2,2,10,3,0,1,1,1,2,1,0\n3,0,3,2,4,8,5,0,0,1,1,2,1,0\n2,0,8,0,0,10,2,0,1,1,1,1,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,0,9,2,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,2,4,5,4,0,1,1,0,1,0\n2,3,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n2,0,0,3,1,3,3,0,0,1,1,2,1,1\n0,0,3,2,2,6,3,0,1,1,1,2,1,0\n1,0,12,1,4,3,5,0,0,1,1,0,1,0\n1,0,6,2,2,0,3,0,1,1,1,0,1,1\n1,5,3,2,1,8,5,0,0,1,1,1,1,0\n1,5,1,2,1,0,5,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,5,0,3,1,5,5,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,2,5,3,0,0,1,1,0,1,0\n1,5,0,3,1,5,3,0,0,1,1,0,1,0\n1,1,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,3,12,3,0,1,1,1,0,1,1\n2,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,4,3,2,1,8,4,0,0,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,1,8,5,0,0,1,1,0,1,0\n2,0,4,3,0,5,2,0,1,1,1,1,1,1\n2,4,6,2,4,8,3,2,0,1,1,0,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,6,2,0,8,0,0,0,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n2,0,12,1,0,10,2,0,1,1,1,0,1,0\n0,0,2,1,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n2,0,3,2,4,3,3,0,0,1,1,2,1,0\n2,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,10,3,2,5,3,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,2,3,2,0,3,2,0,1,1,1,1,1,1\n2,2,3,2,1,4,5,0,1,1,1,1,1,1\n1,0,5,2,1,4,3,0,0,1,1,0,1,0\n1,0,6,2,0,12,2,0,1,1,1,0,1,0\n2,0,3,2,4,4,3,0,1,1,1,1,1,1\n0,3,6,2,2,0,5,4,1,1,1,0,1,0\n1,0,10,3,1,5,5,0,0,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,12,1,0,10,2,0,1,1,1,1,1,1\n0,1,3,2,0,4,2,0,1,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,14,0,0,7,2,3,1,1,1,2,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,1,2,0,0,2,0,1,1,1,0,1,0\n3,1,9,1,1,10,3,0,1,1,1,2,1,0\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,1,1,0,1,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,1,3,3,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,5,0,3,0,12,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,4,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,0,3,1,1,1,1,0,1,0\n1,0,5,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,1,11,5,0,0,1,1,2,1,0\n2,4,1,2,1,1,5,0,1,1,1,0,1,0\n2,0,3,2,0,9,2,0,1,1,1,0,1,0\n1,0,1,2,1,1,5,0,1,1,1,0,1,1\n0,3,1,2,0,13,2,0,1,1,1,1,1,1\n1,0,3,2,0,2,0,4,0,1,1,2,1,1\n2,0,12,1,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,1,6,4,0,0,1,1,0,1,0\n0,0,0,3,3,0,5,0,0,1,1,0,1,0\n1,0,3,2,3,11,5,4,0,1,1,0,1,0\n1,0,0,3,0,4,0,0,0,1,1,2,1,1\n1,2,0,3,0,4,2,4,1,1,1,1,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,1,3,2,1,2,1,0,0,1,1,0,1,0\n1,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,1,10,3,2,4,3,0,1,1,1,2,1,1\n0,3,3,2,2,8,1,0,1,1,1,2,1,0\n0,0,2,1,2,7,1,0,1,1,1,0,1,0\n0,4,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,7,1,2,2,3,4,0,1,1,0,1,0\n0,1,0,3,0,9,2,0,1,1,1,1,1,0\n0,0,5,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,1,1,0\n1,5,10,3,0,5,2,4,1,1,1,1,1,0\n0,0,0,3,0,5,0,0,0,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,10,3,1,8,5,0,0,1,1,0,1,0\n0,0,6,2,2,4,4,0,1,1,1,0,1,0\n2,0,12,1,0,12,2,0,1,1,1,2,1,0\n0,0,7,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,5,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,3,2,3,8,3,0,0,1,1,0,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,0,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,2,1,1,2,5,0,0,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,0\n0,0,5,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,1,4,5,0,0,1,1,0,1,0\n1,0,0,3,4,8,5,0,0,1,1,1,1,0\n0,0,3,2,2,4,3,0,0,1,1,1,1,0\n1,4,1,2,4,0,5,0,0,1,1,0,1,0\n0,0,2,1,3,2,3,0,1,1,1,2,1,0\n0,0,9,1,1,12,4,0,1,1,1,0,1,0\n1,1,3,2,1,7,5,4,0,1,1,0,1,0\n0,0,5,2,2,8,1,0,1,1,1,0,1,0\n3,2,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,5,2,1,4,3,4,1,1,1,0,1,0\n0,2,3,2,2,8,5,4,0,1,1,0,1,0\n1,3,3,2,1,8,3,4,0,1,1,0,1,0\n1,4,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,10,3,0,1,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,1,1,0\n1,0,6,2,2,5,3,4,1,1,1,0,1,0\n0,4,1,2,0,8,2,0,1,1,1,1,1,1\n1,0,0,3,2,3,3,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,2,9,1,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,5,10,3,2,8,3,0,1,1,1,0,1,0\n2,5,1,2,0,4,2,0,1,1,1,0,1,1\n0,1,1,2,2,9,1,0,0,1,1,2,1,0\n0,0,12,1,1,7,4,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,2,5,2,2,9,1,0,1,1,1,1,1,0\n0,0,3,2,0,2,1,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,6,2,2,8,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n2,0,3,2,0,4,2,0,1,1,1,2,1,0\n2,0,3,2,4,11,3,0,0,1,1,2,1,0\n0,1,3,2,2,3,1,0,1,1,1,2,1,0\n0,0,1,2,1,6,5,0,0,1,1,2,1,0\n0,3,5,2,1,8,3,0,0,1,1,0,1,0\n0,0,5,2,2,5,3,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,1,2,0,3,1,0,0,1,1,0,1,0\n0,5,0,3,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,1,7,1,0,1,2,3,1,1,1,0,1,0\n1,0,1,2,1,3,5,0,0,1,1,0,1,0\n0,0,6,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,8,5,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,1,3,2,1,2,5,0,0,1,1,0,1,0\n0,0,14,0,5,6,4,0,1,1,1,0,1,0\n0,5,1,2,2,5,3,0,0,1,1,0,1,0\n2,4,12,1,4,2,5,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,1,2,5,0,0,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,5,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,4,1,1,1,0,1,0\n1,0,1,2,1,1,5,0,1,1,1,0,1,1\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,5,0,3,2,5,3,0,0,1,1,1,1,1\n2,0,1,2,5,8,5,4,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n1,0,2,1,0,2,2,3,1,1,1,0,1,0\n0,0,7,1,2,3,1,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,4,1,1,1,1,1,1\n0,0,3,2,2,3,4,4,1,1,1,0,1,0\n0,0,5,2,0,5,0,0,0,1,1,1,1,1\n0,0,2,1,0,1,2,3,1,1,1,0,1,0\n0,0,9,1,2,1,3,0,1,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,4,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n1,0,0,3,2,5,3,0,1,1,1,0,1,0\n2,0,10,3,1,3,3,0,1,1,1,1,1,0\n0,0,2,1,2,10,3,4,1,1,1,0,1,0\n1,3,3,2,1,1,5,0,1,1,1,0,1,0\n1,0,1,2,3,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,2,1,2,0,4,0,4,0,1,1,2,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,0,3,2,2,1,0,0,1,1,2,1,0\n0,5,0,3,2,5,3,4,0,1,1,1,1,0\n1,0,4,3,2,5,3,4,0,1,1,0,1,0\n2,0,3,2,1,8,5,0,0,1,1,1,1,0\n0,0,13,3,2,5,1,0,1,1,1,2,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,3,0,0,0,1,1,0,1,1\n0,0,1,2,2,2,5,0,0,1,1,2,1,0\n2,4,10,3,0,5,2,0,1,1,1,0,1,0\n1,0,0,3,2,8,1,0,0,1,1,2,1,0\n0,0,2,1,3,3,3,0,1,1,1,0,1,0\n0,0,6,2,0,8,2,0,1,1,1,2,1,0\n1,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,6,2,2,2,3,0,1,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n2,0,3,2,4,3,3,0,0,1,1,2,1,0\n0,0,1,2,2,1,1,0,0,1,1,0,1,0\n0,0,1,2,2,11,1,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,4,1,1,1,1,1,1\n1,0,6,2,1,0,5,0,0,1,1,1,1,0\n1,4,10,3,1,5,5,0,0,1,1,2,1,1\n1,2,10,3,0,3,2,0,1,1,1,0,1,1\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,1,1,2,2,1,3,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,3,2,0,6,2,4,1,1,1,0,1,1\n0,0,3,2,1,1,5,0,1,1,1,1,1,0\n1,1,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,10,3,0,0,0,0,0,1,1,2,1,0\n0,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,4,10,3,0,12,2,0,1,1,1,2,1,1\n0,0,1,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,1,2,2,7,5,1,1,1,1,0,1,0\n2,0,3,2,4,5,3,0,0,1,1,0,1,0\n1,3,3,2,0,10,2,0,1,1,1,0,1,1\n2,0,14,0,0,7,2,0,1,1,1,0,1,0\n1,4,10,3,1,5,5,0,0,1,1,1,1,0\n3,0,1,2,4,8,5,4,0,1,1,2,1,0\n2,1,8,0,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,1,1,2,0,3,2,0,1,1,1,0,1,1\n2,0,3,2,0,3,2,0,1,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,0,3,2,2,0,3,4,1,1,1,2,1,0\n2,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,2,1,2,1,4,3,0,1,1,1,1,1,0\n0,0,1,2,2,6,3,0,1,1,1,0,1,0\n0,0,5,2,0,1,2,0,1,1,1,1,1,0\n0,0,9,1,2,2,1,4,1,1,1,0,1,0\n1,0,1,2,2,10,3,0,1,1,1,1,1,0\n1,1,3,2,1,4,3,0,0,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,12,1,2,9,4,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,0,10,3,0,5,2,4,1,1,1,0,1,1\n0,0,5,2,0,7,2,0,1,1,1,0,1,0\n2,0,0,3,0,9,2,0,1,1,1,0,1,1\n1,0,7,1,0,9,2,0,1,1,1,1,1,1\n1,0,3,2,0,12,0,0,0,1,1,2,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,1,0,1,1,1,0,1,0\n0,4,1,2,0,8,0,2,0,1,1,0,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,9,1,1,7,5,0,0,1,1,0,1,0\n0,0,11,0,2,6,3,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,5,8,0,5,2,5,0,0,1,1,1,1,0\n1,2,13,3,0,5,2,0,1,1,1,1,1,1\n2,2,3,2,1,3,3,0,0,1,1,0,1,0\n1,0,0,3,1,4,3,0,1,1,1,0,1,0\n0,4,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,6,2,2,10,3,0,1,1,1,2,1,0\n0,0,5,2,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,4,4,3,0,4,2,0,1,1,1,1,1,1\n1,0,5,2,0,3,2,0,1,1,1,1,1,0\n3,4,1,2,0,12,2,0,1,1,1,2,1,0\n2,0,6,2,0,3,2,1,1,1,1,0,1,0\n1,0,1,2,0,4,2,4,1,1,1,0,1,1\n0,0,10,3,2,5,3,0,1,1,1,0,1,0\n1,4,1,2,0,9,2,0,1,1,1,0,1,0\n1,0,1,2,2,7,3,4,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,8,0,1,1,1,0,1,1,1,1,1,0\n0,0,3,2,2,0,3,4,1,1,1,0,1,0\n1,2,3,2,0,4,2,1,1,1,1,1,1,1\n1,0,12,1,1,8,4,0,0,1,1,2,1,0\n0,1,12,1,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,2,7,5,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,5,1,2,2,8,5,4,0,1,1,0,1,0\n0,0,3,2,2,6,3,4,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,0,3,2,3,1,0,1,1,1,0,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,4,0,3,2,12,3,0,1,1,1,0,1,0\n2,1,4,3,0,4,2,0,1,1,1,2,1,1\n2,5,13,3,1,5,3,0,1,1,1,1,1,0\n1,0,10,3,2,5,3,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,8,1,0,0,1,1,0,1,0\n0,1,1,2,2,1,3,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,4,1,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n2,5,4,3,0,5,2,0,1,1,1,0,1,1\n1,2,1,2,0,3,0,0,0,1,1,2,1,1\n1,0,3,2,1,1,4,0,1,1,1,0,1,0\n0,0,2,1,2,4,1,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,1,1,1,1,1,1,1\n1,1,6,2,0,3,2,0,1,1,1,1,1,0\n0,0,12,1,0,6,2,0,1,1,1,0,1,0\n2,3,1,2,0,8,2,0,1,1,1,1,1,0\n0,0,2,1,2,10,3,0,1,1,1,0,1,0\n0,0,1,2,0,8,0,0,0,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,1,2,3,0,1,0,0,1,1,2,1,0\n1,0,6,2,1,5,3,0,1,1,1,1,1,0\n1,0,0,3,5,8,3,0,0,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,1,10,3,0,5,0,0,0,1,1,1,1,1\n1,0,3,2,3,1,4,0,0,1,1,0,1,0\n1,0,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,4,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,1\n1,0,3,2,2,2,5,0,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,1,5,2,0,1,2,0,1,1,1,2,1,1\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,5,2,1,5,5,0,0,1,1,1,1,0\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n2,4,3,2,1,2,3,0,0,1,1,2,1,0\n1,1,1,2,1,10,3,0,1,1,1,0,1,0\n0,1,0,3,2,1,3,0,0,1,1,2,1,0\n0,0,1,2,1,4,5,0,0,1,1,1,1,0\n1,0,10,3,2,5,3,0,1,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,1,1,5,0,1,1,1,1,1,0\n1,0,5,2,3,4,5,0,0,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,2,1,0\n0,3,1,2,2,8,5,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,3,3,2,1,6,5,0,1,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,4,3,4,0,1,1,0,1,0\n0,0,1,2,3,8,3,0,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,2,1,2,9,1,0,0,1,1,2,1,0\n1,0,13,3,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,2,2,3,0,0,1,1,0,1,0\n2,1,0,3,0,2,2,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,1,7,5,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,2,3,0,1,1,1,0,1,0\n0,0,0,3,0,5,0,0,0,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,9,4,0,1,1,1,0,1,0\n0,0,1,2,1,8,5,0,0,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,3,0,3,2,8,3,0,0,1,1,1,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,0\n1,5,12,1,3,8,5,4,0,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,1,2,0,8,2,4,1,1,1,0,1,1\n0,4,1,2,1,12,3,0,0,1,1,0,1,0\n1,0,1,2,0,0,0,0,0,1,1,0,1,1\n0,0,0,3,2,7,3,4,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n0,4,1,2,2,12,4,4,1,1,1,0,1,0\n0,0,3,2,2,7,1,4,1,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,1,1,2,0,3,2,0,1,1,1,1,1,1\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,2,1,0,6,2,0,1,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,0,1,0\n0,2,1,2,0,1,2,0,1,1,1,0,1,0\n1,2,12,1,0,9,2,0,1,1,1,1,1,1\n2,4,3,2,3,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,5,2,2,0,3,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,0,1,1,2,1,0\n2,0,12,1,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,0,1,1,2,1,0\n1,0,14,0,0,1,2,3,1,1,1,0,1,0\n0,0,1,2,2,3,5,0,0,1,1,2,1,0\n0,0,2,1,2,7,1,0,1,1,1,1,1,0\n0,0,5,2,2,8,4,0,0,1,1,0,1,0\n3,0,10,3,1,5,3,0,1,1,1,1,1,1\n1,4,6,2,0,12,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,6,2,5,1,3,0,1,1,1,2,1,0\n2,0,3,2,1,3,3,0,0,1,1,2,1,0\n2,0,1,2,3,8,3,0,0,1,1,0,1,0\n0,0,6,2,3,8,1,0,0,1,1,0,1,0\n2,0,12,1,3,12,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,6,2,3,8,5,0,0,1,1,0,1,0\n0,0,6,2,2,1,3,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,0,3,2,1,7,3,0,0,1,1,0,1,0\n1,0,0,3,0,6,0,1,0,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,8,1,0,0,1,1,1,1,0\n0,3,1,2,1,8,4,4,0,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,0,0,3,0,4,0,0,0,1,1,2,1,1\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,1,1,2,3,4,5,0,0,1,1,1,1,0\n1,4,1,2,0,4,2,2,1,1,1,1,1,1\n1,1,10,3,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,5,0,0,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,11,0,1,9,5,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n1,0,0,3,1,3,5,0,1,1,1,1,1,1\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,4,0,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,2,1,1\n0,0,2,1,2,5,3,1,0,1,1,1,1,0\n1,0,9,1,1,9,3,4,1,1,1,0,1,0\n1,0,1,2,1,2,5,0,0,1,1,0,1,0\n2,1,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,0,5,0,0,0,1,1,0,1,1\n0,0,12,1,2,1,4,0,1,1,1,2,1,0\n1,0,3,2,1,5,3,0,1,1,1,0,1,1\n1,4,1,2,2,12,5,4,0,1,1,0,1,0\n1,0,6,2,1,5,5,4,0,1,1,0,1,0\n1,4,3,2,3,8,5,0,0,1,1,0,1,0\n1,3,3,2,2,7,3,0,0,1,1,0,1,0\n0,0,7,1,0,9,2,0,1,1,1,0,1,0\n3,5,8,0,4,2,5,4,0,1,1,0,1,0\n1,0,0,3,0,5,2,1,1,1,1,1,1,1\n0,0,6,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,1,2,2,6,3,0,0,1,1,2,1,0\n0,0,1,2,1,2,3,0,0,1,1,2,1,0\n2,0,7,1,0,10,0,0,0,1,1,1,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,0\n1,4,3,2,1,4,5,0,1,1,1,0,1,0\n0,0,10,3,0,2,2,0,1,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,2,1,2,0,8,0,0,0,1,1,2,1,1\n1,0,0,3,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,1,1,1,1,1,0\n1,2,10,3,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,1,0,0,1,1,0,1,0\n2,0,3,2,1,8,5,1,0,1,1,0,1,0\n0,0,5,2,2,8,3,0,0,1,1,0,1,0\n0,4,3,2,1,8,3,0,0,1,1,2,1,0\n0,4,6,2,2,5,3,0,0,1,1,1,1,0\n0,1,1,2,2,4,1,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,1,1,0\n1,0,1,2,0,0,2,0,1,1,1,1,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,5,4,0,1,1,0,1,0\n1,0,0,3,2,0,1,0,1,1,1,0,1,0\n2,1,4,3,0,5,2,0,1,1,1,2,1,1\n1,0,13,3,1,4,3,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,4,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n2,0,13,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,1,7,5,0,0,1,1,1,1,0\n2,1,6,2,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,4,1,2,0,4,0,0,0,1,1,2,1,0\n0,0,14,0,2,2,4,0,1,1,1,1,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,0\n2,0,3,2,0,9,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,3,2,3,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,5,1,0,0,1,1,0,1,0\n2,1,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,10,1,0,1,1,1,2,1,0\n2,4,3,2,2,4,3,0,0,1,1,2,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,2,10,3,0,5,2,4,1,1,1,1,1,0\n0,0,3,2,2,6,5,0,1,1,1,2,1,0\n1,1,5,2,0,4,2,0,1,1,1,2,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,1,3,2,0,4,2,0,1,1,1,2,1,0\n2,0,3,2,1,5,5,0,0,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,2,1,2,7,3,0,0,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,5,2,2,8,5,2,0,1,1,0,1,0\n0,0,10,3,2,4,3,0,1,1,1,1,1,1\n0,0,1,2,2,6,5,0,1,1,1,2,1,0\n1,0,8,0,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n1,5,6,2,2,8,5,1,0,1,1,0,1,0\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,9,1,2,1,1,0,1,1,1,1,1,0\n1,0,3,2,2,3,3,0,0,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n2,2,3,2,0,4,2,0,1,1,1,0,1,1\n2,3,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,4,3,1,5,3,0,1,1,1,1,1,1\n2,0,12,1,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,1,1,0\n0,0,0,3,1,1,5,0,1,1,1,0,1,0\n0,0,1,2,1,3,3,0,1,1,1,0,1,0\n3,0,11,0,4,6,4,0,1,1,1,2,1,0\n1,0,0,3,2,8,3,4,1,1,1,1,1,0\n2,4,3,2,0,2,2,0,1,1,1,0,1,0\n1,4,3,2,0,12,2,4,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,5,3,2,1,5,3,0,0,1,1,2,1,0\n1,0,11,0,1,2,5,0,0,1,1,2,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,4,0,3,0,5,0,2,0,1,1,0,1,0\n0,0,3,2,5,7,5,4,0,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,5,6,2,6,8,0,0,0,1,1,2,1,0\n1,0,8,0,0,6,2,0,1,1,1,0,1,0\n0,0,15,0,2,2,1,4,0,1,1,2,1,0\n2,2,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,1,2,4,4,3,0,0,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,0,7,2,0,1,1,1,1,1,1\n1,5,3,2,0,2,2,0,1,1,1,0,1,1\n1,4,3,2,0,12,2,0,1,1,1,0,1,1\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,1,3,2,0,3,2,0,1,1,1,1,1,1\n0,5,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,0,3,2,3,5,0,1,1,1,1,1,0\n1,0,3,2,2,7,5,4,0,1,1,0,1,0\n0,1,12,1,2,4,3,0,1,1,1,1,1,1\n1,0,3,2,1,10,3,0,0,1,1,2,1,0\n0,0,3,2,3,6,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,4,0,3,2,5,3,0,0,1,1,1,1,0\n1,0,5,2,0,5,2,0,1,1,1,2,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,0,4,0,0,0,1,1,2,1,1\n0,0,1,2,0,2,1,0,0,1,1,0,1,1\n0,0,0,3,2,2,3,0,0,1,1,1,1,0\n0,0,3,2,2,1,3,4,1,1,1,1,1,0\n0,0,3,2,2,2,5,0,0,1,1,0,1,0\n0,0,6,2,1,8,3,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,1,1,0\n0,0,10,3,2,0,1,0,1,1,1,1,1,0\n2,0,3,2,3,8,3,0,0,1,1,1,1,0\n1,0,11,0,5,6,5,0,1,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,5,2,0,5,0,0,0,1,1,0,1,1\n0,0,1,2,2,5,3,0,1,1,1,0,1,0\n1,0,3,2,1,11,3,0,0,1,1,1,1,0\n1,5,1,2,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n2,4,10,3,0,5,2,0,1,1,1,1,1,1\n1,1,14,0,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,1,2,3,0,1,1,1,0,1,0\n1,0,7,1,2,11,5,0,0,1,1,1,1,0\n0,0,3,2,0,2,0,0,0,1,1,0,1,0\n1,0,1,2,1,0,3,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,10,3,2,4,3,4,0,1,1,2,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,1,7,5,4,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,1\n1,0,0,3,1,4,5,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,1\n2,5,1,2,0,5,2,0,1,1,1,0,1,1\n3,1,3,2,4,4,3,0,0,1,1,2,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,0\n1,5,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,2,4,3,0,0,1,1,1,1,0\n1,3,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,3,3,5,0,0,1,1,0,1,0\n2,0,2,1,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,2,3,5,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,1,1,1,1,1,1,1\n1,0,3,2,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,0,4,0,0,1,1,0,1,0\n1,4,10,3,1,5,5,0,0,1,1,0,1,0\n1,5,0,3,0,8,0,0,0,1,1,0,1,1\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,13,3,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,0,11,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,4,1,1,1,2,1,0\n0,0,7,1,1,4,5,0,0,1,1,0,1,0\n2,0,3,2,1,4,3,0,0,1,1,2,1,0\n1,4,10,3,2,5,3,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,0,0,1,1,1,1,1\n0,0,0,3,0,4,0,0,0,1,1,0,1,1\n2,5,10,3,1,5,3,0,0,1,1,1,1,0\n0,0,9,1,2,2,1,3,0,1,1,2,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,1,3,3,0,0,1,1,0,1,0\n1,2,0,3,0,9,2,0,1,1,1,1,1,1\n1,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,5,2,0,6,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,1,1,1,1,2,1,0\n2,0,6,2,4,5,5,0,0,1,1,1,1,0\n1,5,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,3,1,5,0,1,1,1,1,1,0\n2,0,3,2,4,1,3,0,1,1,1,0,1,0\n0,0,1,2,0,0,0,0,0,1,1,2,1,0\n0,0,0,3,2,5,1,0,0,1,1,2,1,0\n1,0,0,3,2,0,3,0,1,1,1,1,1,0\n0,0,0,3,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,0,3,2,8,3,0,1,1,1,0,1,1\n0,3,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,0,5,4,0,1,1,0,1,0\n2,1,3,2,0,1,0,0,0,1,1,2,1,0\n0,1,1,2,1,1,1,0,1,1,1,0,1,0\n1,0,8,0,0,9,2,0,1,1,1,2,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n0,0,0,3,2,3,1,0,0,1,1,0,1,0\n2,1,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,5,2,2,4,3,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,9,1,1,3,3,0,0,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,11,0,0,2,2,0,1,1,1,0,1,0\n1,5,0,3,0,8,2,0,1,1,1,2,1,1\n0,5,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,5,2,2,2,1,0,0,1,1,2,1,0\n0,5,3,2,3,12,3,0,1,1,1,1,1,0\n0,0,6,2,1,8,5,0,0,1,1,0,1,0\n2,1,7,1,0,3,2,0,1,1,1,1,1,0\n1,4,10,3,1,5,5,0,0,1,1,0,1,0\n0,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n2,5,10,3,0,5,2,1,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,4,0,3,5,5,3,0,0,1,1,1,1,0\n0,0,5,2,2,5,3,0,0,1,1,2,1,0\n0,0,0,3,1,4,4,0,0,1,1,1,1,0\n1,0,0,3,0,3,2,1,1,1,1,0,1,1\n0,0,1,2,2,10,3,0,1,1,1,1,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n2,2,6,2,0,4,2,0,1,1,1,1,1,1\n1,1,0,3,2,5,3,0,1,1,1,1,1,0\n1,3,5,2,2,12,3,4,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,1,1,1,2,1,0\n1,1,13,3,2,5,3,0,1,1,1,1,1,1\n2,0,6,2,0,1,2,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,9,1,2,2,1,4,1,1,1,2,1,1\n1,0,3,2,2,10,3,4,1,1,1,1,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,5,2,0,4,2,0,1,1,1,1,1,0\n1,0,8,0,0,7,2,0,1,1,1,0,1,0\n2,0,7,1,0,7,2,0,1,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,12,1,0,6,2,0,1,1,1,0,1,0\n1,0,1,2,2,3,1,0,1,1,1,0,1,0\n0,3,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,6,2,2,4,1,0,0,1,1,1,1,0\n0,4,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,1,2,3,0,1,1,1,0,1,0\n0,3,1,2,1,0,3,0,0,1,1,0,1,0\n1,0,1,2,0,0,2,1,1,1,1,2,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,4,4,1,1,1,0,1,0\n1,0,13,3,1,0,5,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,2,1,4,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,0,2,1,0,1,2,4,1,1,1,0,1,0\n0,0,1,2,2,4,1,0,1,1,1,1,1,0\n0,4,3,2,2,10,1,4,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n1,4,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,12,3,4,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n2,0,3,2,1,10,3,0,1,1,1,0,1,0\n2,0,1,2,0,2,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,3,2,0,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,4,1,2,1,8,3,0,0,1,1,1,1,0\n2,0,7,1,0,3,2,0,1,1,1,1,1,0\n1,1,1,2,1,1,3,0,1,1,1,1,1,0\n1,0,0,3,2,3,4,0,0,1,1,2,1,1\n2,0,3,2,1,11,5,4,0,1,1,1,1,0\n3,1,1,2,0,2,2,0,1,1,1,0,1,0\n0,4,1,2,2,12,3,4,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,4,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,9,1,2,9,1,1,1,1,1,0,1,0\n2,0,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,4,4,1,1,1,0,1,0\n1,0,6,2,0,6,1,1,1,1,1,0,1,0\n1,0,6,2,1,0,3,0,0,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,2,1,1\n2,2,8,0,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,5,2,4,3,5,0,0,1,1,2,1,0\n3,1,8,0,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,2,0,5,0,0,1,1,2,1,0\n1,1,12,1,0,1,2,0,1,1,1,2,1,0\n1,2,5,2,2,4,3,0,1,1,1,1,1,1\n1,0,3,2,1,2,3,0,0,1,1,1,1,0\n2,1,8,0,4,2,3,0,0,1,1,0,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,4,10,3,2,5,3,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n1,0,0,3,2,8,3,0,1,1,1,1,1,0\n1,0,3,2,1,6,3,0,1,1,1,0,1,0\n0,0,3,2,0,6,0,0,0,1,1,0,1,0\n0,3,0,3,0,4,0,1,0,1,1,0,1,1\n1,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n2,1,8,0,0,9,2,0,1,1,1,0,1,1\n0,4,3,2,3,2,5,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,9,1,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,1,7,5,0,1,1,1,0,1,0\n1,0,5,2,2,5,3,0,1,1,1,0,1,0\n0,0,5,2,2,2,4,0,1,1,1,1,1,0\n0,0,12,1,2,2,4,0,1,1,1,0,1,0\n0,0,1,2,1,12,3,0,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,1\n0,0,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,1\n1,3,10,3,2,4,3,0,0,1,1,1,1,1\n1,2,0,3,4,4,3,4,0,1,1,1,1,0\n0,0,9,1,3,3,5,0,0,1,1,2,1,0\n1,0,11,0,4,7,5,0,1,1,1,0,1,0\n0,0,3,2,2,4,3,0,0,1,1,0,1,0\n1,0,13,3,1,4,5,0,1,1,1,0,1,1\n1,0,10,3,2,4,3,0,0,1,1,0,1,1\n1,3,10,3,0,4,2,0,1,1,1,0,1,1\n1,1,0,3,5,4,3,1,1,1,1,0,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,5,3,2,1,4,5,0,0,1,1,0,1,0\n1,0,5,2,2,8,3,1,0,1,1,2,1,0\n0,4,0,3,3,5,5,0,0,1,1,0,1,0\n1,0,3,2,2,8,1,0,1,1,1,2,1,0\n0,0,10,3,2,3,3,0,1,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,4,0,1,1,1,0,1,0\n1,1,5,2,0,8,0,0,0,1,1,0,1,0\n1,4,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,4,2,5,0,0,1,1,0,1,0\n0,0,12,1,2,1,5,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,4,13,3,0,4,2,0,1,1,1,1,1,1\n0,2,9,1,2,8,1,0,0,1,1,2,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,1,2,0,8,0,2,0,1,1,0,1,0\n1,5,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,5,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,2,1,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,4,0,1,1,0,1,0\n2,4,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,5,4,0,1,1,0,1,0\n2,0,3,2,3,2,5,2,0,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,2,1,1\n1,0,1,2,0,7,2,0,1,1,1,1,1,1\n1,1,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,3,7,3,4,1,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,1,1,0\n1,0,10,3,2,4,3,0,1,1,1,1,1,1\n2,1,10,3,0,5,2,0,1,1,1,2,1,0\n1,3,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,6,2,2,7,3,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,4,0,3,0,5,2,4,1,1,1,0,1,1\n1,0,2,1,2,7,3,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,5,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n1,0,3,2,2,4,3,1,0,1,1,2,1,0\n0,0,0,3,2,5,1,1,1,1,1,2,1,0\n0,4,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,5,4,0,1,1,0,1,0\n1,0,8,0,2,7,5,0,0,1,1,1,1,0\n0,2,10,3,0,3,2,0,1,1,1,0,1,1\n2,0,0,3,1,4,3,0,1,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,0,10,2,4,1,1,1,0,1,0\n1,4,10,3,1,5,3,0,0,1,1,1,1,0\n0,0,0,3,2,3,1,0,0,1,1,0,1,0\n0,0,0,3,2,1,3,0,1,1,1,1,1,0\n0,0,0,3,2,8,3,0,0,1,1,1,1,0\n1,0,6,2,0,5,2,0,1,1,1,0,1,0\n0,0,1,2,0,4,0,0,0,1,1,0,1,0\n0,0,9,1,2,11,1,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,0,1,1,1,1,0\n0,5,3,2,0,12,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,2,0,0,0,1,1,1,1,0\n0,0,9,1,2,2,4,0,0,1,1,2,1,0\n0,0,7,1,2,7,5,0,0,1,1,0,1,0\n1,0,3,2,0,2,0,0,0,1,1,0,1,0\n0,0,6,2,0,6,2,0,1,1,1,0,1,0\n1,0,0,3,2,0,3,0,0,1,1,0,1,1\n2,2,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,1,4,3,0,1,1,1,1,1,1\n0,0,3,2,2,10,1,0,1,1,1,2,1,0\n2,0,3,2,4,1,5,0,0,1,1,2,1,0\n2,4,10,3,0,5,2,0,1,1,1,2,1,0\n1,4,1,2,0,12,2,4,1,1,1,1,1,1\n1,0,3,2,5,6,3,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,1,0,1,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,6,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,5,4,0,1,1,0,1,0\n0,1,3,2,2,1,1,4,1,1,1,0,1,0\n0,0,12,1,2,2,5,4,0,1,1,0,1,0\n2,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n0,4,1,2,0,12,1,4,1,1,1,0,1,0\n0,0,3,2,1,8,3,0,0,1,1,2,1,0\n0,5,0,3,1,5,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,1,2,0,10,2,0,1,1,1,2,1,0\n2,2,12,1,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,2,8,3,0,0,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,2,3,2,0,1,2,0,1,1,1,2,1,0\n1,4,13,3,1,5,3,0,0,1,1,0,1,1\n2,0,3,2,1,3,5,0,0,1,1,2,1,0\n0,5,1,2,2,2,3,4,1,1,1,0,1,0\n1,4,0,3,2,5,5,4,0,1,1,0,1,0\n0,0,0,3,1,0,5,0,0,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,1\n3,1,3,2,0,9,2,1,1,1,1,2,1,0\n1,0,3,2,1,8,3,0,0,1,1,2,1,0\n1,1,2,1,2,10,3,4,1,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,0,1,1\n2,1,3,2,0,9,2,0,1,1,1,2,1,0\n0,1,1,2,3,9,5,0,0,1,1,1,1,0\n1,0,3,2,1,3,3,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,3,5,5,0,0,1,1,1,1,0\n1,4,5,2,0,12,2,0,1,1,1,0,1,1\n2,3,3,2,0,12,2,0,1,1,1,0,1,0\n1,1,1,2,2,2,3,0,1,1,1,2,1,0\n2,0,8,0,1,6,3,0,0,1,1,0,1,0\n0,0,5,2,5,8,5,0,0,1,1,1,1,0\n2,4,1,2,0,12,2,0,1,1,1,0,1,0\n1,0,3,2,3,6,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n2,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,3,0,3,3,8,3,4,1,1,1,0,1,0\n1,0,6,2,1,1,3,0,1,1,1,0,1,1\n1,0,7,1,4,1,3,0,1,1,1,2,1,0\n1,0,3,2,1,4,3,0,0,1,1,1,1,1\n0,2,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,0,8,0,0,0,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,2,1,1,1,0,1,0\n1,3,1,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,1,6,3,0,0,1,1,0,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n2,0,1,2,0,2,2,0,1,1,1,0,1,1\n0,0,9,1,2,10,1,0,1,1,1,1,1,0\n1,0,0,3,4,5,5,0,0,1,1,0,1,0\n1,0,0,3,3,0,5,4,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n1,2,3,2,2,4,3,0,1,1,1,1,1,0\n0,0,5,2,2,0,3,0,1,1,1,0,1,0\n1,0,12,1,0,7,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,3,0,0,0,1,1,0,1,1\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,1,0,0,1,1,2,1,0\n1,0,5,2,0,0,2,0,1,1,1,0,1,1\n0,0,6,2,2,9,3,0,1,1,1,2,1,0\n1,0,1,2,2,4,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,3,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,5,13,3,0,5,2,1,1,1,1,0,1,1\n1,1,1,2,0,2,0,0,0,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,3,3,2,4,5,5,0,0,1,1,1,1,0\n0,0,3,2,3,10,3,0,1,1,1,0,1,0\n0,0,3,2,1,2,3,0,1,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,14,0,2,6,4,0,1,1,1,0,1,0\n0,0,1,2,2,8,5,0,0,1,1,0,1,0\n1,3,5,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n0,0,0,3,2,3,1,0,1,1,1,2,1,1\n1,0,0,3,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,1,8,3,0,0,1,1,2,1,1\n1,1,4,3,2,5,3,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n2,1,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,0,3,2,2,2,5,4,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,1,2,3,5,5,0,0,1,1,0,1,0\n1,1,1,2,1,4,5,0,1,1,1,2,1,0\n0,5,1,2,2,0,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n0,0,2,1,2,7,4,0,1,1,1,0,1,0\n1,0,3,2,1,8,3,0,1,1,1,0,1,0\n2,0,5,2,5,7,5,1,0,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,0\n2,1,6,2,5,3,3,0,1,1,1,1,1,0\n0,0,2,1,2,1,5,4,1,1,1,1,1,0\n0,0,8,0,2,9,4,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n0,1,3,2,1,2,5,0,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,4,3,2,2,8,1,0,0,1,1,0,1,0\n2,0,12,1,0,1,2,0,1,1,1,2,1,0\n0,0,6,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,2,1,0,7,3,0,0,1,1,0,1,0\n0,0,9,1,2,7,1,0,1,1,1,0,1,0\n0,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,4,3,2,1,2,3,0,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,4,3,2,1,2,3,2,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n0,0,1,2,3,2,5,0,0,1,1,2,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,1,4,3,0,0,1,1,0,1,0\n1,0,1,2,5,0,3,0,1,1,1,0,1,0\n1,2,10,3,0,3,2,0,1,1,1,1,1,1\n1,0,14,0,5,2,3,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n2,1,13,3,0,5,2,0,1,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,0\n0,1,2,1,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,3,8,3,0,0,1,1,0,1,1\n2,2,13,3,0,5,2,0,1,1,1,1,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,4,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,0,3,2,4,3,1,0,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,2,1,1,0,1,1,1,1,1,0\n0,4,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,5,2,0,9,2,0,1,1,1,0,1,0\n1,0,12,1,2,11,4,0,0,1,1,0,1,0\n0,4,1,2,0,6,2,0,1,1,1,1,1,1\n1,0,3,2,0,8,2,4,1,1,1,0,1,0\n1,0,3,2,1,3,5,0,1,1,1,1,1,0\n1,3,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,1,6,5,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n0,5,1,2,2,12,3,3,0,1,1,0,1,1\n1,0,1,2,1,3,3,4,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,1,2,5,0,0,1,1,2,1,0\n1,0,1,2,0,6,0,0,0,1,1,0,1,0\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,0,3,0,1,1,1,1,1,0\n2,0,3,2,2,2,3,0,0,1,1,2,1,0\n1,2,6,2,0,9,2,0,1,1,1,1,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,4,1,1,1,0,1,0\n2,0,13,3,0,5,2,0,1,1,1,1,1,1\n2,5,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,10,3,0,4,2,1,1,1,1,0,1,1\n0,0,3,2,2,7,3,0,1,1,1,2,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,4,1,2,2,4,3,4,0,1,1,1,1,0\n0,1,3,2,1,4,5,0,0,1,1,2,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n2,0,0,3,0,3,2,0,1,1,1,2,1,1\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,13,3,5,5,3,3,1,1,1,1,1,1\n1,0,6,2,0,10,2,0,1,1,1,1,1,0\n1,0,0,3,1,8,5,4,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,2,3,2,0,4,2,0,1,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,10,3,0,1,1,1,0,1,0\n0,0,0,3,5,4,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n1,0,0,3,2,0,3,0,0,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,3,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,2,1,0,7,1,4,1,1,1,0,1,0\n1,0,3,2,2,7,3,4,1,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,1\n2,0,3,2,1,1,5,0,1,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,5,13,3,2,5,3,0,1,1,1,0,1,0\n2,3,6,2,0,1,2,0,1,1,1,0,1,0\n0,5,3,2,2,10,4,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,1,4,1,1,1,1,1,0\n0,0,3,2,1,7,3,0,1,1,1,1,1,0\n2,0,3,2,3,5,3,0,0,1,1,0,1,0\n1,0,3,2,3,10,3,0,1,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n2,2,3,2,0,3,2,0,1,1,1,0,1,0\n0,3,5,2,0,8,2,2,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n2,1,8,0,0,9,2,0,1,1,1,2,1,0\n1,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,0,3,0,0,1,1,2,1,0\n2,0,3,2,0,0,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,7,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,0,5,2,1,0,3,0,0,1,1,0,1,0\n0,1,3,2,0,1,1,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,0,5,2,0,1,1,1,2,1,0\n1,0,1,2,1,3,5,0,0,1,1,0,1,0\n0,4,3,2,3,12,3,0,1,1,1,1,1,0\n0,5,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,5,1,2,4,3,3,0,0,1,1,0,1,0\n1,2,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,1,8,5,0,0,1,1,1,1,0\n1,3,3,2,0,8,2,0,1,1,1,1,1,1\n1,0,3,2,2,10,3,0,1,1,1,0,1,0\n0,0,0,3,0,8,2,0,1,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,1,1,0\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n2,0,2,1,1,2,3,4,1,1,1,1,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,14,0,4,7,5,0,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,1,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,3,10,3,2,0,3,0,0,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,0,5,2,0,4,2,0,1,1,1,2,1,1\n0,0,1,2,2,6,3,2,1,1,1,1,1,0\n0,5,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,5,3,2,2,1,3,0,1,1,1,1,1,0\n0,1,7,1,2,2,1,4,1,1,1,2,1,0\n2,4,0,3,0,5,0,0,0,1,1,2,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,1,7,3,0,0,1,1,0,1,0\n2,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,4,3,2,5,3,0,1,1,1,1,1,0\n0,1,3,2,2,2,3,0,0,1,1,0,1,0\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,8,0,0,0,1,1,2,1,1\n0,0,1,2,2,8,4,1,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n3,0,8,0,0,6,0,0,0,1,1,2,1,0\n2,0,3,2,4,3,3,0,1,1,1,1,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,0\n1,3,3,2,2,2,3,4,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,5,1,2,3,10,3,4,1,1,1,0,1,0\n1,4,10,3,0,5,0,0,0,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,0,3,2,0,3,2,0,1,1,1,2,1,0\n2,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,2,2,3,0,0,1,1,2,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,2,1,2,10,5,0,1,1,1,2,1,0\n0,0,0,3,2,4,1,4,0,1,1,0,1,0\n1,2,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,6,2,2,4,1,0,1,1,1,2,1,0\n1,0,3,2,5,8,5,0,0,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,1,1,2,2,2,3,0,1,1,1,1,1,0\n1,0,3,2,2,9,1,0,1,1,1,2,1,0\n2,0,6,2,4,3,5,0,0,1,1,2,1,0\n1,0,0,3,1,5,3,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,5,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n0,0,2,1,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,0,8,0,0,0,1,1,2,1,1\n1,4,3,2,0,7,2,0,1,1,1,1,1,1\n1,0,10,3,2,4,3,0,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,1\n1,6,5,2,0,3,2,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,4,10,3,0,4,2,0,1,1,1,0,1,1\n0,1,6,2,1,0,5,4,1,1,1,1,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,1\n1,0,10,3,1,4,3,0,0,1,1,1,1,0\n0,0,2,1,2,3,4,0,0,1,1,2,1,0\n0,0,3,2,1,7,4,4,0,1,1,0,1,0\n1,0,0,3,0,9,2,0,1,1,1,1,1,1\n0,0,1,2,1,1,3,0,1,1,1,2,1,0\n1,0,2,1,1,3,5,0,0,1,1,2,1,0\n1,1,13,3,0,5,2,0,1,1,1,1,1,1\n2,0,1,2,0,5,2,1,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,4,10,3,0,5,2,0,1,1,1,1,1,0\n1,5,13,3,0,5,0,0,0,1,1,0,1,1\n2,1,3,2,0,9,2,0,1,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n2,1,0,3,0,4,2,0,1,1,1,2,1,0\n0,0,1,2,2,8,5,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,4,1,1,1,2,1,0\n1,0,1,2,1,8,3,4,1,1,1,0,1,0\n0,0,2,1,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,1,5,2,0,3,2,0,1,1,1,0,1,1\n0,4,1,2,1,2,3,0,0,1,1,2,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n0,5,10,3,0,5,2,1,1,1,1,2,1,0\n1,0,6,2,1,6,5,4,0,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n2,4,3,2,4,4,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n1,3,1,2,0,4,2,0,1,1,1,0,1,1\n2,0,12,1,4,8,3,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,1,12,1,0,2,0,0,0,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,7,1,2,7,5,0,1,1,1,0,1,0\n0,0,1,2,0,8,0,0,0,1,1,0,1,1\n1,0,3,2,1,6,5,4,0,1,1,0,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,1,10,3,0,4,2,0,1,1,1,1,1,1\n1,3,3,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,10,3,2,5,3,0,1,1,1,1,1,0\n1,0,3,2,2,9,3,3,1,1,1,0,1,0\n0,5,1,2,2,6,3,0,1,1,1,0,1,0\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,1,2,4,8,5,1,0,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,2,1,2,5,3,4,0,1,1,2,1,0\n0,4,1,2,2,3,3,0,1,1,1,1,1,0\n2,1,8,0,0,9,2,0,1,1,1,1,1,0\n0,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,4,4,5,0,1,1,1,2,1,0\n1,0,0,3,0,8,0,0,0,1,1,0,1,1\n3,0,3,2,4,1,5,0,0,1,1,2,1,0\n0,0,14,0,0,1,2,0,1,1,1,0,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,5,4,0,1,1,0,1,0\n0,5,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,1\n1,0,3,2,2,4,1,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n0,5,0,3,2,8,1,1,0,1,1,0,1,1\n0,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,1,1,1,2,1,0\n1,0,10,3,0,5,2,4,1,1,1,0,1,1\n0,4,1,2,2,5,1,0,0,1,1,2,1,0\n2,0,6,2,1,8,3,4,0,1,1,2,1,0\n0,0,1,2,2,0,1,0,1,1,1,0,1,0\n1,0,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,2,12,3,4,1,1,1,1,1,0\n1,0,5,2,0,2,2,0,1,1,1,1,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,4,3,2,3,2,1,4,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,0,0,0,3,0,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,10,3,0,3,2,0,1,1,1,0,1,0\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n3,4,14,0,4,2,4,1,0,1,1,2,1,0\n0,0,7,1,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,4,4,3,4,0,1,1,2,1,0\n1,0,6,2,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,0,0,3,1,8,3,1,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,2,3,3,0,0,1,1,1,1,0\n0,0,12,1,2,3,5,0,0,1,1,2,1,0\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,1,1,1,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,4,0,3,2,2,1,0,1,1,1,0,1,0\n1,0,3,2,5,9,4,0,1,1,1,2,1,0\n1,5,8,0,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,1,1,0\n3,0,1,2,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,3,5,2,0,12,2,0,1,1,1,1,1,1\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,2,1,1\n0,0,0,3,2,8,1,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,4,1,1,1,0,1,0\n1,4,10,3,0,5,0,4,0,1,1,2,1,1\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,0,0,0,1,1,2,1,1\n2,0,13,3,0,5,2,0,1,1,1,1,1,1\n2,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,8,0,0,9,2,0,1,1,1,1,1,1\n0,0,1,2,3,3,5,4,0,1,1,2,1,0\n1,4,1,2,0,6,2,4,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,7,1,2,7,1,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,2,1,0,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n0,2,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,3,0,1,1,0,1,1\n0,0,3,2,2,11,3,0,0,1,1,0,1,0\n0,4,1,2,2,5,3,0,0,1,1,2,1,0\n2,0,8,0,4,2,3,0,0,1,1,2,1,0\n0,0,10,3,2,5,5,2,0,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,1,1,0\n1,0,3,2,1,8,5,4,0,1,1,0,1,0\n1,0,1,2,1,7,3,0,1,1,1,0,1,1\n2,0,6,2,0,1,2,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,8,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,12,1,0,6,4,0,1,1,1,0,1,0\n2,0,3,2,1,2,3,0,0,1,1,1,1,0\n2,0,1,2,1,9,3,0,1,1,1,0,1,0\n1,0,6,2,0,8,2,0,1,1,1,1,1,1\n2,0,9,1,0,9,2,0,1,1,1,2,1,0\n0,0,0,3,2,5,4,0,0,1,1,0,1,0\n1,0,12,1,3,2,5,0,0,1,1,0,1,0\n0,0,0,3,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,0,4,0,2,0,1,1,1,1,0\n0,0,12,1,1,12,3,0,0,1,1,2,1,0\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,10,3,1,4,3,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,2,1,2,2,4,3,0,0,1,1,0,1,1\n2,0,7,1,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,4,3,0,1,1,1,0,1,0\n0,3,1,2,0,4,2,0,1,1,1,2,1,0\n0,0,8,0,2,7,1,0,1,1,1,0,1,0\n0,0,0,3,2,1,3,0,1,1,1,2,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,1\n0,0,2,1,2,9,4,0,1,1,1,0,1,0\n1,5,1,2,1,5,1,1,0,1,1,0,1,0\n0,5,1,2,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,1,1,2,0,1,2,0,1,1,1,1,1,0\n0,3,1,2,0,12,2,0,1,1,1,1,1,0\n2,0,3,2,1,2,1,0,0,1,1,0,1,0\n1,0,5,2,2,0,3,0,1,1,1,2,1,1\n0,2,1,2,2,1,1,0,1,1,1,2,1,0\n1,3,0,3,0,4,2,3,1,1,1,0,1,1\n2,1,13,3,1,5,3,0,0,1,1,2,1,0\n1,1,1,2,0,3,2,0,1,1,1,0,1,0\n1,4,0,3,2,5,5,0,1,1,1,1,1,1\n0,0,2,1,2,8,1,4,0,1,1,2,1,0\n2,0,14,0,4,11,5,4,0,1,1,2,1,0\n0,0,3,2,3,1,5,0,1,1,1,2,1,0\n1,3,1,2,0,8,2,0,1,1,1,1,1,1\n0,0,1,2,0,7,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,1\n0,4,0,3,1,5,5,0,0,1,1,0,1,0\n0,0,2,1,0,3,2,0,1,1,1,1,1,0\n0,5,3,2,2,0,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,7,1,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,1,3,3,0,1,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,9,1,2,6,5,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,10,3,1,5,3,0,1,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,1,2,1,1,1,3,0,1,1,1,1,1,0\n2,2,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,1,1,1,0,0,1,1,0,1,0\n1,0,10,3,1,8,3,2,0,1,1,2,1,0\n0,0,12,1,0,9,2,0,1,1,1,2,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,7,1,2,6,3,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n1,0,14,0,2,6,4,1,0,1,1,1,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,2,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,0,1,2,0,2,2,0,1,1,1,0,1,0\n2,5,13,3,4,5,3,4,1,1,1,1,1,1\n2,0,1,2,0,5,2,0,1,1,1,0,1,1\n2,0,1,2,4,2,3,0,0,1,1,0,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,4,10,3,2,5,3,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,10,3,2,3,1,1,0,1,1,2,1,0\n2,0,10,3,0,5,2,0,1,1,1,0,1,0\n0,0,6,2,2,4,3,0,1,1,1,0,1,0\n0,5,9,1,2,2,3,0,1,1,1,2,1,0\n0,0,1,2,2,4,1,4,1,1,1,2,1,0\n2,0,1,2,4,1,3,0,1,1,1,2,1,0\n0,0,3,2,2,11,3,0,0,1,1,0,1,0\n1,2,0,3,0,1,2,0,1,1,1,1,1,0\n2,0,10,3,0,4,2,0,1,1,1,2,1,1\n0,0,0,3,1,2,1,0,0,1,1,0,1,0\n0,0,10,3,2,5,3,4,0,1,1,0,1,0\n1,2,3,2,0,1,2,0,1,1,1,0,1,0\n0,3,3,2,2,2,3,2,0,1,1,2,1,0\n1,2,3,2,1,2,3,0,0,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,12,1,4,2,3,0,0,1,1,0,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,1,8,3,0,0,1,1,0,1,0\n1,1,0,3,1,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n0,0,1,2,0,5,2,0,1,1,1,2,1,0\n1,0,1,2,0,5,2,0,1,1,1,1,1,0\n1,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n1,0,3,2,2,4,3,0,1,1,1,0,1,0\n1,0,0,3,5,4,3,0,0,1,1,1,1,1\n1,0,10,3,1,2,5,0,0,1,1,2,1,0\n1,0,2,1,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,2,1,3,2,3,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n1,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n2,0,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,5,2,2,8,3,0,0,1,1,1,1,0\n0,4,10,3,2,5,1,0,0,1,1,2,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,0,2,1,0,2,2,0,1,1,1,0,1,0\n2,0,3,2,1,8,5,0,0,1,1,0,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,5,2,1,2,5,0,0,1,1,0,1,0\n1,0,0,3,5,4,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n2,0,6,2,2,7,3,0,0,1,1,0,1,0\n0,0,5,2,2,8,1,0,0,1,1,2,1,0\n0,2,1,2,2,6,1,0,0,1,1,0,1,0\n1,4,6,2,1,5,3,0,0,1,1,2,1,0\n3,0,4,3,0,9,2,0,1,1,1,2,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,0,0,2,0,1,1,1,0,1,0\n1,0,0,3,3,5,5,0,0,1,1,1,1,1\n0,0,14,0,0,1,2,3,1,1,1,1,1,1\n1,0,11,0,0,6,2,0,1,1,1,0,1,0\n1,0,7,1,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,6,3,0,1,1,1,1,1,0\n2,0,10,3,0,5,2,0,1,1,1,0,1,0\n2,3,3,2,2,4,4,0,0,1,1,0,1,0\n1,2,3,2,1,4,5,0,1,1,1,0,1,0\n1,0,3,2,1,2,3,4,1,1,1,0,1,0\n1,0,0,3,1,4,5,0,0,1,1,0,1,0\n1,0,1,2,2,4,3,0,1,1,1,0,1,0\n0,5,1,2,2,2,1,0,0,1,1,2,1,0\n2,0,1,2,1,3,3,0,1,1,1,1,1,1\n0,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,3,6,3,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,5,2,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,0,0,0,1,1,2,1,0\n1,0,12,1,1,6,5,0,0,1,1,0,1,0\n0,0,6,2,0,7,0,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,5,8,1,0,0,1,1,0,1,0\n1,3,10,3,0,4,2,0,1,1,1,1,1,1\n1,4,1,2,0,12,2,0,1,1,1,1,1,0\n2,4,0,3,4,5,3,0,0,1,1,1,1,0\n1,0,3,2,1,6,3,0,0,1,1,0,1,0\n0,0,5,2,2,0,1,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,4,1,1,1,0,1,1\n2,0,0,3,0,3,2,0,1,1,1,2,1,1\n1,0,0,3,0,0,2,0,1,1,1,2,1,1\n0,0,1,2,2,2,3,2,1,1,1,0,1,0\n1,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,0,5,2,1,6,3,0,0,1,1,0,1,0\n1,0,3,2,2,6,3,4,1,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n2,0,6,2,4,7,3,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n2,0,1,2,0,5,2,0,1,1,1,0,1,1\n0,0,2,1,2,3,5,0,0,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,4,5,2,2,5,1,4,1,1,1,0,1,0\n1,5,0,3,1,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,4,3,2,5,3,0,1,1,1,2,1,0\n1,0,0,3,0,5,0,1,0,1,1,0,1,1\n0,0,5,2,1,0,5,0,0,1,1,0,1,0\n0,0,9,1,2,2,3,0,1,1,1,1,1,0\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,10,3,2,5,3,0,1,1,1,0,1,1\n0,0,3,2,2,10,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,14,0,2,1,3,0,1,1,1,0,1,0\n0,0,12,1,1,3,5,0,0,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,4,1,2,1,8,5,4,0,1,1,0,1,0\n1,5,3,2,4,2,5,0,0,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,5,3,2,2,2,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,2,0,3,0,3,2,1,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,1,9,3,0,1,1,1,1,1,0\n1,0,8,0,1,2,3,0,1,1,1,0,1,0\n1,1,1,2,1,10,5,0,0,1,1,1,1,0\n1,0,1,2,1,3,3,0,1,1,1,1,1,0\n3,4,12,1,1,10,3,4,1,1,1,2,1,0\n0,0,3,2,2,2,3,4,0,1,1,1,1,0\n0,0,10,3,2,5,3,0,0,1,1,0,1,0\n2,0,14,0,1,2,3,0,0,1,1,0,1,0\n2,1,0,3,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,1,1,1,1,1,0\n1,4,0,3,1,5,4,0,0,1,1,1,1,0\n1,0,5,2,0,5,0,0,0,1,1,2,1,1\n1,2,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,0,3,2,2,3,5,0,0,1,1,0,1,0\n0,0,4,3,6,5,0,0,0,1,1,1,1,1\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n2,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,10,3,2,5,1,0,0,1,1,0,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,4,0,1,1,0,1,0\n2,0,3,2,1,3,5,0,0,1,1,0,1,0\n0,4,3,2,0,0,2,0,1,1,1,1,1,1\n0,0,12,1,2,9,1,0,1,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,2,1,0\n1,0,0,3,2,4,1,0,1,1,1,0,1,0\n1,0,6,2,1,6,3,0,0,1,1,2,1,0\n0,2,0,3,0,0,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,4,9,5,0,1,1,1,1,1,0\n1,0,3,2,1,4,3,0,0,1,1,0,1,0\n0,0,5,2,2,3,1,0,0,1,1,2,1,0\n0,0,2,1,3,2,1,4,0,1,1,0,1,0\n1,0,6,2,0,10,2,0,1,1,1,1,1,1\n2,3,1,2,1,8,3,4,0,1,1,0,1,0\n2,0,8,0,3,2,3,0,0,1,1,2,1,0\n1,0,3,2,2,3,3,0,0,1,1,1,1,1\n0,0,0,3,2,8,3,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n2,4,1,2,1,5,3,2,1,1,1,0,1,0\n0,0,1,2,2,5,3,3,0,1,1,2,1,0\n1,0,10,3,2,5,3,0,0,1,1,0,1,1\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,12,1,2,1,1,0,0,1,1,2,1,0\n1,4,0,3,1,5,5,2,0,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,1,1,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,2,2,0,1,1,1,1,1,0\n0,5,6,2,2,8,1,0,1,1,1,2,1,0\n0,0,3,2,0,0,2,0,1,1,1,0,1,1\n1,0,0,3,0,2,2,0,1,1,1,0,1,0\n0,0,2,1,0,10,2,0,1,1,1,1,1,1\n1,0,7,1,2,1,4,4,1,1,1,0,1,0\n1,3,3,2,0,0,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,3,1,2,3,6,3,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,3,2,5,0,0,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,2,1,0\n3,1,3,2,1,4,3,0,1,1,1,2,1,0\n1,0,1,2,0,0,2,0,1,1,1,2,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n1,5,3,2,3,6,5,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,0,3,2,3,7,1,4,1,1,1,0,1,0\n0,0,3,2,2,2,4,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n2,0,3,2,0,10,2,0,1,1,1,2,1,1\n1,0,3,2,5,10,3,0,1,1,1,0,1,1\n0,0,1,2,6,6,0,0,0,1,1,0,1,0\n1,3,0,3,2,4,3,0,0,1,1,1,1,0\n1,0,1,2,1,10,3,0,1,1,1,1,1,0\n0,0,9,1,2,5,1,0,1,1,1,2,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,2,3,3,0,0,1,1,1,1,0\n1,0,3,2,2,7,3,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,4,3,2,0,5,2,0,1,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,4,12,1,2,9,3,0,1,1,1,0,1,0\n1,0,9,1,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,5,4,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n2,1,3,2,0,3,2,0,1,1,1,0,1,1\n0,1,3,2,2,1,1,0,1,1,1,0,1,0\n0,5,1,2,2,2,1,4,1,1,1,2,1,0\n0,0,6,2,2,4,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,6,2,1,5,3,0,0,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,2,1,1\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,2,2,4,4,0,1,1,2,1,0\n0,4,3,2,2,12,3,0,1,1,1,0,1,0\n3,1,3,2,0,9,2,0,1,1,1,2,1,0\n2,1,0,3,0,4,2,0,1,1,1,2,1,0\n2,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,1,2,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,1,4,3,0,1,1,1,1,1,0\n1,1,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,9,1,2,1,5,0,1,1,1,0,1,0\n1,5,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,1,2,2,1,5,0,1,1,1,0,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,1,3,3,0,1,1,1,1,1,1\n1,0,10,3,1,4,3,0,0,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n3,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,4,6,2,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n3,1,8,0,0,9,2,0,1,1,1,2,1,0\n0,0,6,2,2,2,1,0,0,1,1,2,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n0,4,3,2,1,12,3,0,0,1,1,0,1,0\n1,0,3,2,0,4,0,0,0,1,1,1,1,0\n1,1,1,2,3,4,3,0,0,1,1,1,1,0\n2,0,1,2,0,8,0,0,0,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,0,1,1\n0,5,1,2,2,2,1,4,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,10,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,4,0,0,1,1,0,1,0\n0,0,9,1,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,4,0,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,3,5,3,0,1,1,1,0,1,1\n1,0,0,3,1,8,3,0,0,1,1,0,1,0\n1,5,0,3,2,4,5,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,4,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,1,2,1,1,3,5,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,1,0,3,2,5,3,0,1,1,1,2,1,1\n0,0,3,2,2,4,3,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,1,3,2,0,7,2,0,1,1,1,2,1,0\n1,0,0,3,1,7,3,0,1,1,1,0,1,0\n0,1,2,1,2,9,1,0,1,1,1,2,1,0\n0,4,3,2,2,2,1,1,1,1,1,2,1,0\n0,0,6,2,2,3,3,4,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n1,0,5,2,0,3,2,0,1,1,1,0,1,0\n0,0,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,7,1,2,6,1,0,1,1,1,2,1,0\n1,0,7,1,3,2,3,4,1,1,1,0,1,0\n0,0,6,2,1,7,3,0,1,1,1,0,1,0\n1,0,9,1,2,12,4,4,1,1,1,0,1,0\n1,4,0,3,1,5,3,0,0,1,1,1,1,1\n2,0,3,2,1,8,5,0,0,1,1,0,1,1\n1,0,3,2,2,7,3,0,1,1,1,0,1,0\n2,4,1,2,4,4,3,0,1,1,1,1,1,0\n0,4,0,3,2,5,3,0,0,1,1,1,1,1\n1,0,5,2,1,1,3,0,1,1,1,0,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,4,5,0,0,1,1,2,1,0\n2,0,3,2,0,8,2,0,1,1,1,0,1,1\n1,1,2,1,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,1,3,5,1,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,4,1,2,4,4,3,0,1,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n2,4,2,1,4,12,5,4,0,1,1,0,1,0\n0,0,3,2,3,7,3,0,1,1,1,1,1,0\n2,3,3,2,2,8,5,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,0,0,1,1,2,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,14,0,3,2,4,0,0,1,1,0,1,0\n0,0,3,2,2,4,5,4,0,1,1,0,1,0\n1,0,1,2,5,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,8,5,0,0,1,1,2,1,0\n1,0,3,2,4,8,5,0,0,1,1,2,1,0\n3,1,15,0,4,4,3,0,0,1,1,1,1,0\n0,0,3,2,3,2,5,0,0,1,1,2,1,0\n0,0,0,3,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n1,4,3,2,3,8,5,4,0,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,1\n0,0,1,2,6,1,2,0,1,1,1,2,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,1\n0,0,0,3,2,0,3,0,1,1,1,2,1,0\n1,4,4,3,1,5,5,0,0,1,1,2,1,0\n0,5,1,2,2,8,3,0,0,1,1,0,1,0\n0,4,0,3,2,12,3,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,1\n1,0,13,3,0,5,2,1,1,1,1,0,1,1\n0,0,1,2,2,8,1,4,0,1,1,2,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,1,4,5,0,0,1,1,1,1,0\n0,0,3,2,2,7,4,4,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,1,6,5,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,4,0,3,2,3,5,4,0,1,1,2,1,0\n2,0,3,2,1,8,3,4,1,1,1,0,1,0\n1,0,3,2,1,1,5,0,1,1,1,1,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,11,0,0,9,4,0,1,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,6,2,2,3,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,0,0,0,1,1,0,1,1\n1,3,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,7,1,4,1,1,1,0,1,0\n0,0,3,2,2,9,1,0,1,1,1,0,1,0\n1,0,5,2,2,1,3,0,1,1,1,1,1,0\n2,3,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,5,3,2,0,6,2,0,1,1,1,0,1,0\n1,3,1,2,1,8,5,4,1,1,1,0,1,0\n1,0,6,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,2,10,5,4,1,1,1,0,1,0\n0,0,5,2,2,0,3,1,0,1,1,0,1,0\n0,0,6,2,0,4,2,0,1,1,1,2,1,1\n0,0,3,2,2,6,5,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n0,0,5,2,2,3,1,0,1,1,1,2,1,0\n0,1,1,2,2,5,1,0,0,1,1,2,1,0\n1,0,0,3,2,5,3,0,0,1,1,1,1,1\n0,1,7,1,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,3,8,3,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,0,2,0,1,1,1,1,1,1\n0,0,2,1,2,5,1,0,1,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,0,3,4,0,0,1,1,2,1,0\n0,0,3,2,1,3,3,0,0,1,1,0,1,0\n1,4,6,2,1,8,3,4,0,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,6,2,0,4,2,4,1,1,1,0,1,1\n2,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n0,0,2,1,2,6,4,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,0,0,2,0,1,1,1,0,1,0\n1,1,3,2,1,1,3,0,1,1,1,0,1,0\n1,1,6,2,0,4,2,0,1,1,1,0,1,0\n0,5,1,2,2,8,1,4,1,1,1,2,1,0\n1,0,3,2,1,5,5,0,0,1,1,0,1,0\n1,3,3,2,2,8,5,4,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,0\n2,0,2,1,1,8,3,0,0,1,1,0,1,0\n0,0,7,1,2,7,1,0,1,1,1,0,1,0\n0,0,10,3,0,5,0,0,0,1,1,2,1,1\n0,0,1,2,0,0,0,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n1,0,10,3,1,4,5,0,0,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,0,3,3,3,3,0,0,1,1,0,1,0\n2,0,2,1,4,7,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,1,1,0\n1,0,3,2,1,7,1,0,1,1,1,0,1,0\n0,0,0,3,4,3,5,0,0,1,1,1,1,0\n0,0,1,2,0,10,2,2,1,1,1,0,1,1\n0,0,0,3,2,10,1,0,0,1,1,1,1,0\n2,0,4,3,1,0,5,0,1,1,1,0,1,1\n3,4,1,2,4,5,3,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,1,4,5,3,1,1,1,0,1,0\n0,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,3,6,2,2,8,5,4,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,6,2,2,8,5,4,0,1,1,2,1,0\n0,4,10,3,0,5,2,1,1,1,1,0,1,1\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,4,3,2,5,3,0,1,1,1,1,1,1\n1,0,3,2,0,8,2,0,1,1,1,1,1,1\n2,1,4,3,1,5,3,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,1,6,5,4,0,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,3,2,1,3,4,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,5,8,1,0,1,1,1,0,1,0\n2,3,10,3,2,4,3,0,0,1,1,0,1,1\n1,0,3,2,4,3,5,0,0,1,1,2,1,0\n1,0,3,2,0,0,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,0,1,1,1,1,0\n0,1,3,2,2,9,1,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,5,2,2,4,1,0,1,1,1,1,1,0\n0,4,3,2,2,9,1,2,1,1,1,1,1,0\n0,0,3,2,0,4,0,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,3,7,1,0,1,1,1,1,1,0\n0,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n1,4,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,1,1,1,0,1,1,1,0,1,0\n1,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,4,1,1,1,0,1,0\n0,1,2,1,3,10,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n2,0,0,3,0,2,2,0,1,1,1,2,1,0\n0,0,1,2,1,8,1,0,0,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,9,1,2,2,5,4,0,1,1,1,1,0\n1,4,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n2,0,3,2,0,1,2,4,1,1,1,0,1,0\n1,5,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,6,1,4,1,1,1,0,1,0\n1,1,1,2,1,1,5,0,1,1,1,1,1,0\n2,3,11,0,0,8,2,4,1,1,1,0,1,0\n1,1,4,3,2,5,3,0,1,1,1,1,1,1\n2,1,1,2,0,9,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,1,1,0\n2,1,12,1,3,3,4,3,1,1,1,0,1,0\n1,0,6,2,0,5,2,0,1,1,1,1,1,0\n0,2,3,2,2,4,3,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,4,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,10,3,2,4,3,0,0,1,1,1,1,0\n1,0,9,1,0,0,2,0,1,1,1,1,1,1\n1,0,1,2,1,1,3,0,1,1,1,1,1,0\n0,0,1,2,0,5,2,0,1,1,1,1,1,0\n0,1,1,2,0,4,2,0,1,1,1,0,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,0\n1,2,5,2,0,4,2,0,1,1,1,1,1,1\n1,5,1,2,3,5,5,4,0,1,1,0,1,0\n2,0,3,2,3,3,3,0,1,1,1,2,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n1,1,0,3,1,5,5,0,1,1,1,1,1,0\n2,1,5,2,0,1,0,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,1,1,0\n0,0,3,2,1,6,5,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,1,3,2,0,2,2,0,1,1,1,0,1,1\n1,0,0,3,1,8,5,0,0,1,1,0,1,0\n1,2,3,2,0,3,2,0,1,1,1,0,1,0\n0,5,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,6,2,0,1,2,4,1,1,1,0,1,0\n1,0,12,1,1,1,5,0,0,1,1,0,1,0\n1,0,11,0,0,2,2,1,1,1,1,1,1,0\n0,0,1,2,2,3,5,0,0,1,1,0,1,0\n1,0,1,2,5,1,5,0,1,1,1,0,1,1\n1,0,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,0,3,1,5,5,0,0,1,1,0,1,0\n3,0,3,2,2,8,3,0,0,1,1,0,1,1\n0,0,6,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,7,1,2,3,1,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n2,1,12,1,0,1,2,0,1,1,1,2,1,0\n0,5,10,3,2,5,5,0,1,1,1,0,1,0\n1,0,1,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,4,1,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,1,0,3,0,0,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,3,6,3,4,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,3,0,4,0,1,1,2,1,1\n1,1,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,7,5,0,0,1,1,0,1,0\n2,1,6,2,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,0,0,0,0,0,1,1,2,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,6,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,4,1,1,1,0,1,0\n0,5,1,2,2,6,1,0,1,1,1,2,1,0\n1,1,1,2,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,1,3,2,1,1,1,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n1,1,6,2,0,2,2,0,1,1,1,1,1,0\n0,0,1,2,0,7,2,4,1,1,1,2,1,0\n0,5,3,2,2,2,5,4,0,1,1,0,1,0\n0,0,0,3,2,10,1,0,1,1,1,2,1,0\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,14,0,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,6,2,0,7,2,4,1,1,1,0,1,0\n2,1,3,2,4,9,5,0,1,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,0,2,0,0,0,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,10,3,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n2,1,15,0,1,2,5,0,0,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,1,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,2,2,1,1,7,5,4,1,1,1,0,1,0\n0,4,0,3,2,5,3,1,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,12,1,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,3,7,3,0,1,1,1,1,1,0\n0,0,5,2,0,4,2,0,1,1,1,0,1,1\n2,0,6,2,0,5,2,0,1,1,1,0,1,1\n2,2,7,1,0,4,2,4,1,1,1,0,1,0\n1,0,3,2,5,1,5,0,1,1,1,0,1,0\n0,0,0,3,2,2,3,0,0,1,1,2,1,0\n1,0,6,2,2,8,1,0,0,1,1,0,1,0\n1,0,11,0,4,1,3,0,1,1,1,0,1,0\n1,0,0,3,3,5,5,4,0,1,1,2,1,0\n1,3,3,2,1,8,3,0,1,1,1,0,1,0\n0,0,6,2,2,2,3,0,1,1,1,2,1,0\n1,3,5,2,0,5,2,0,1,1,1,1,1,1\n0,0,14,0,0,6,4,0,1,1,1,0,1,0\n1,0,3,2,4,8,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,7,3,0,0,1,1,1,1,0\n2,1,3,2,0,9,2,0,1,1,1,2,1,0\n0,0,5,2,0,6,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,8,0,2,7,3,0,1,1,1,1,1,0\n0,0,5,2,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,3,2,3,5,3,0,1,1,1,1,1,0\n0,0,12,1,0,10,2,0,1,1,1,0,1,0\n1,0,1,2,1,2,5,0,0,1,1,1,1,0\n1,4,3,2,0,12,2,0,1,1,1,1,1,1\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,0,10,3,2,5,3,0,1,1,1,0,1,0\n2,0,0,3,1,4,5,0,0,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,5,2,2,4,1,0,0,1,1,1,1,0\n0,0,1,2,2,3,5,0,1,1,1,1,1,0\n1,0,5,2,0,1,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,4,1,1,1,1,1,1\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,2,7,3,0,1,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,4,1,1,1,2,1,0\n2,0,3,2,0,2,2,1,1,1,1,2,1,0\n1,1,8,0,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,3,7,3,0,1,1,1,1,1,0\n1,2,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n0,0,0,3,0,8,2,0,1,1,1,1,1,0\n1,0,1,2,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,4,0,0,1,1,0,1,0\n0,0,1,2,6,4,0,0,0,1,1,0,1,1\n0,1,3,2,2,2,5,0,0,1,1,1,1,0\n0,0,3,2,1,1,5,0,0,1,1,2,1,0\n3,0,8,0,4,7,3,0,0,1,1,2,1,0\n2,0,0,3,0,5,2,0,1,1,1,2,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n0,2,1,2,2,10,5,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,4,0,3,0,12,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,1,2,0,3,2,0,1,1,1,2,1,1\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,1,1,1,1,1,0\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n0,0,5,2,2,2,4,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,0,10,2,0,1,1,1,0,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n0,0,5,2,2,1,1,0,1,1,1,0,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,12,1,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n0,0,3,2,1,8,3,4,0,1,1,0,1,0\n1,0,2,1,1,7,5,4,0,1,1,0,1,0\n2,2,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,1,7,3,0,1,1,1,0,1,0\n2,1,4,3,1,5,3,0,1,1,1,1,1,1\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,0,3,0,8,2,0,1,1,1,1,1,1\n2,1,12,1,4,1,4,0,1,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,1,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,3,2,1,2,5,4,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,5,1,2,0,12,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,4,0,1,1,1,0,1,0\n1,0,3,2,2,7,3,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n3,0,5,2,2,4,3,0,1,1,1,1,1,1\n0,0,6,2,2,4,3,0,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n1,0,1,2,1,7,3,4,0,1,1,0,1,0\n3,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,1,2,0,1,2,4,1,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n2,1,5,2,0,4,2,1,1,1,1,0,1,0\n0,0,10,3,0,5,2,4,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n1,2,0,3,0,2,2,4,1,1,1,1,1,1\n1,0,10,3,2,2,5,0,0,1,1,2,1,0\n0,0,6,2,2,6,4,0,1,1,1,2,1,0\n0,1,0,3,2,4,1,0,1,1,1,0,1,0\n0,1,1,2,1,9,5,0,1,1,1,1,1,0\n1,0,2,1,3,2,5,4,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n2,1,15,0,0,1,2,0,1,1,1,0,1,0\n0,0,7,1,0,1,2,3,1,1,1,0,1,0\n0,5,1,2,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,2,7,1,4,1,1,1,0,1,0\n1,0,1,2,2,7,3,4,0,1,1,0,1,0\n1,4,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,12,1,2,2,5,0,0,1,1,2,1,0\n2,5,1,2,0,2,2,4,1,1,1,0,1,0\n0,0,1,2,0,9,2,0,1,1,1,2,1,0\n1,0,0,3,3,4,3,0,1,1,1,1,1,1\n1,1,0,3,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,4,1,0,1,1,1,0,1,0\n1,0,6,2,1,1,3,0,1,1,1,0,1,0\n0,4,1,2,0,1,2,0,1,1,1,0,1,1\n2,1,1,2,0,3,2,0,1,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,0,1,1\n1,0,10,3,2,5,3,1,0,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,1,1,2,2,1,3,0,1,1,1,0,1,0\n1,5,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,2,4,3,0,1,1,1,0,1,0\n0,0,1,2,0,3,0,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,4,3,2,0,10,2,0,1,1,1,1,1,0\n2,0,1,2,0,7,2,1,1,1,1,0,1,1\n1,5,6,2,3,12,5,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,2,1,2,4,1,0,0,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,2,5,3,0,0,1,1,2,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,5,8,3,4,1,1,1,0,1,0\n1,0,3,2,2,5,3,0,0,1,1,0,1,0\n1,2,1,2,0,3,0,0,0,1,1,2,1,0\n1,0,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,5,0,1,1,1,0,1,0\n1,0,15,0,0,9,2,0,1,1,1,0,1,0\n1,4,3,2,0,10,2,0,1,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,3,4,5,0,0,1,1,0,1,0\n2,0,3,2,0,3,0,0,0,1,1,0,1,1\n1,3,0,3,2,5,1,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,1,1,1,0,1,1\n1,0,1,2,1,0,5,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,5,0,3,3,5,5,0,0,1,1,0,1,0\n1,0,3,2,3,2,5,0,0,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,5,2,2,2,5,2,0,1,1,0,1,0\n0,4,3,2,0,12,2,0,1,1,1,2,1,0\n1,0,3,2,2,2,5,0,0,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,10,3,1,4,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,4,3,0,4,2,1,1,1,1,0,1,0\n0,4,1,2,0,4,2,2,1,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,0,0,0,1,1,2,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,5,3,3,0,0,1,1,1,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,1\n0,5,1,2,2,12,1,0,1,1,1,0,1,0\n2,4,10,3,0,4,2,0,1,1,1,1,1,1\n1,4,10,3,2,5,3,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,4,2,5,0,0,1,1,1,1,0\n1,1,1,2,0,2,2,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,1,3,2,0,4,0,0,0,1,1,2,1,0\n1,0,12,1,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n1,0,10,3,1,5,3,0,0,1,1,1,1,1\n1,3,0,3,0,5,2,0,1,1,1,0,1,1\n1,1,0,3,0,4,2,0,1,1,1,0,1,0\n0,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n2,0,1,2,0,5,2,0,1,1,1,0,1,1\n0,1,6,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,5,4,0,1,1,2,1,0\n0,0,1,2,5,8,4,0,0,1,1,0,1,0\n0,0,12,1,2,10,1,0,1,1,1,0,1,0\n3,1,3,2,4,4,3,0,1,1,1,2,1,0\n0,0,0,3,2,0,1,0,0,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,0,8,0,0,0,1,1,0,1,1\n0,0,1,2,2,5,1,0,1,1,1,0,1,0\n3,0,3,2,4,2,3,4,1,1,1,2,1,0\n1,0,3,2,0,3,0,0,0,1,1,2,1,0\n0,1,10,3,2,5,3,0,1,1,1,0,1,1\n1,0,0,3,0,0,2,4,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,4,4,3,0,5,2,1,1,1,1,0,1,1\n0,0,12,1,2,8,1,0,0,1,1,2,1,0\n2,0,9,1,1,9,3,0,1,1,1,0,1,0\n3,0,3,2,4,12,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n1,0,8,0,3,2,4,0,1,1,1,0,1,0\n1,0,3,2,2,1,1,0,0,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,0,1,1\n0,5,5,2,2,8,1,0,0,1,1,0,1,0\n0,2,1,2,2,3,4,0,1,1,1,0,1,0\n2,1,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,0,5,2,0,1,1,1,1,1,1\n2,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,5,2,1,5,1,0,0,1,1,0,1,0\n0,1,1,2,2,9,1,0,1,1,1,1,1,0\n1,0,7,1,1,1,5,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,9,2,0,1,1,1,0,1,0\n2,0,3,2,4,2,5,4,0,1,1,2,1,0\n3,0,13,3,4,4,5,0,1,1,1,0,1,0\n2,2,1,2,0,4,0,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,2,1,0,10,2,0,1,1,1,0,1,0\n2,5,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n2,0,3,2,2,3,1,0,0,1,1,0,1,0\n0,2,3,2,1,3,1,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,5,3,2,1,8,3,0,0,1,1,0,1,0\n0,5,0,3,1,0,3,0,0,1,1,0,1,0\n1,4,2,1,0,2,2,0,1,1,1,1,1,0\n1,0,8,0,1,2,5,0,0,1,1,0,1,0\n0,2,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,13,3,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,2,4,3,4,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,5,2,5,1,3,0,1,1,1,1,1,0\n2,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,1,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,12,1,2,1,1,0,1,1,1,0,1,0\n0,0,7,1,2,3,3,0,0,1,1,2,1,0\n1,3,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,2,0,3,0,4,0,0,0,1,1,1,1,1\n0,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,4,3,2,5,1,0,1,1,1,0,1,0\n0,0,3,2,2,9,3,0,1,1,1,2,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,1,10,3,2,5,1,0,1,1,1,1,1,0\n0,4,1,2,1,2,5,0,0,1,1,2,1,0\n0,0,6,2,2,2,3,4,0,1,1,1,1,0\n1,1,10,3,0,5,2,0,1,1,1,1,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,0,8,0,0,0,1,1,0,1,1\n1,0,12,1,1,4,5,0,0,1,1,0,1,0\n1,0,3,2,2,1,3,4,0,1,1,1,1,0\n2,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,9,1,0,1,1,1,2,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n2,4,3,2,0,6,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,0,1,1,2,1,0\n1,0,7,1,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,4,1,0,1,1,1,0,1,0\n1,0,11,0,1,1,3,0,1,1,1,0,1,0\n1,0,1,2,0,2,4,0,1,1,1,2,1,0\n0,5,0,3,2,5,3,0,1,1,1,0,1,0\n0,5,0,3,2,0,1,1,1,1,1,0,1,0\n1,3,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,4,3,0,5,2,0,1,1,1,0,1,1\n3,0,10,3,0,2,2,0,1,1,1,2,1,0\n2,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,5,8,1,0,0,1,1,0,1,0\n1,0,6,2,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,3,2,3,0,1,1,1,0,1,0\n0,0,3,2,3,1,3,0,1,1,1,1,1,0\n2,0,3,2,5,1,4,0,1,1,1,0,1,0\n1,4,10,3,0,5,0,0,0,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,1,2,4,2,3,0,0,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n1,0,0,3,1,5,5,0,0,1,1,1,1,1\n1,5,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,4,3,0,1,1,1,2,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,0\n1,4,1,2,0,12,2,0,1,1,1,0,1,0\n0,0,5,2,0,10,1,0,1,1,1,0,1,0\n3,0,0,3,0,8,2,0,1,1,1,2,1,1\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,2,2,1,2,9,1,0,1,1,1,1,1,0\n2,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,5,0,3,2,5,3,0,1,1,1,2,1,0\n1,0,8,0,1,3,5,0,0,1,1,1,1,0\n0,0,0,3,2,3,4,0,1,1,1,1,1,0\n1,0,3,2,1,4,5,0,0,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,3,2,1,1,5,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,2,1,1,1,0,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,1,7,5,0,0,1,1,2,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n3,0,3,2,4,2,5,0,0,1,1,2,1,0\n0,0,5,2,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,3,3,2,1,1,1,1,1,0\n0,4,0,3,2,5,1,0,0,1,1,0,1,0\n1,0,14,0,0,2,2,4,1,1,1,0,1,0\n0,0,0,3,2,8,1,1,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,1,7,1,0,10,2,4,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,2,0,3,0,4,2,0,1,1,1,2,1,0\n0,0,8,0,2,9,3,0,1,1,1,2,1,0\n1,0,3,2,1,12,3,0,1,1,1,0,1,0\n0,0,6,2,2,1,3,3,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,1,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n2,4,10,3,4,5,5,4,0,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,8,4,0,1,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,1,1,0\n1,4,1,2,1,8,5,0,0,1,1,2,1,0\n1,0,0,3,2,6,1,0,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,1,1,1,2,1,0\n1,0,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,1,2,2,1,1,0,1,1,1,2,1,0\n1,0,1,2,1,1,3,0,1,1,1,0,1,0\n0,0,12,1,2,9,1,0,1,1,1,2,1,0\n0,1,0,3,2,3,3,0,1,1,1,1,1,1\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,7,1,0,7,0,3,0,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,0,1,0,1,1,1,2,1,0\n1,0,0,3,1,6,3,0,1,1,1,0,1,0\n0,4,2,1,2,8,1,2,0,1,1,2,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,1,13,3,0,5,2,0,1,1,1,1,1,1\n3,1,14,0,0,9,2,0,1,1,1,0,1,0\n1,5,3,2,0,12,2,0,1,1,1,0,1,1\n0,0,5,2,2,5,3,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,1,2,2,1,5,3,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,5,2,2,9,3,0,1,1,1,0,1,0\n2,0,3,2,0,5,2,4,1,1,1,1,1,0\n2,1,6,2,0,2,0,0,0,1,1,1,1,0\n1,4,1,2,0,12,2,0,1,1,1,2,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,1,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,5,0,3,0,5,0,0,0,1,1,2,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,4,5,4,0,1,1,0,1,0\n0,0,3,2,2,2,4,4,0,1,1,0,1,0\n0,0,15,0,2,2,5,0,1,1,1,2,1,0\n1,4,3,2,3,2,3,4,0,1,1,0,1,0\n1,1,3,2,0,5,2,0,1,1,1,1,1,0\n0,4,3,2,1,7,1,0,1,1,1,1,1,0\n1,0,1,2,1,4,5,0,0,1,1,2,1,0\n2,0,6,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,4,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,14,0,0,6,3,0,1,1,1,0,1,0\n1,0,3,2,1,7,5,0,1,1,1,0,1,0\n1,4,6,2,0,8,0,0,0,1,1,0,1,1\n0,0,3,2,0,2,2,0,1,1,1,0,1,1\n0,0,1,2,0,8,0,0,0,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,2,1,0\n0,3,0,3,1,5,3,0,0,1,1,1,1,1\n1,0,3,2,3,1,3,0,1,1,1,0,1,0\n2,0,10,3,1,8,5,0,1,1,1,1,1,0\n1,0,13,3,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,4,5,2,1,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,2,1,0\n1,0,3,2,0,6,2,1,1,1,1,0,1,1\n1,3,6,2,0,8,2,0,1,1,1,2,1,1\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n2,0,3,2,1,2,5,0,0,1,1,0,1,0\n1,3,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,10,3,0,8,2,4,1,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,1\n0,1,0,3,2,0,1,0,1,1,1,0,1,0\n0,2,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n2,0,14,0,0,7,2,4,1,1,1,0,1,0\n0,0,2,1,2,4,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,15,0,2,9,3,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n0,0,6,2,1,1,3,0,1,1,1,1,1,0\n0,0,1,2,2,6,1,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,4,5,2,1,12,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,5,0,1,1,1,1,1,0\n0,0,10,3,2,5,1,0,1,1,1,1,1,0\n1,5,0,3,1,5,3,3,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,1,1,0\n2,4,3,2,4,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,3,3,0,0,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,5,3,2,1,8,3,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,5,3,3,0,0,1,1,2,1,0\n2,1,3,2,0,5,2,0,1,1,1,2,1,0\n0,0,6,2,1,0,5,0,0,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,3,1,2,0,8,2,0,1,1,1,0,1,1\n1,0,1,2,1,7,3,0,0,1,1,2,1,0\n0,1,1,2,3,8,5,0,0,1,1,1,1,0\n0,0,14,0,2,9,4,0,1,1,1,2,1,0\n0,0,7,1,2,8,5,0,0,1,1,0,1,0\n2,0,2,1,0,10,2,0,1,1,1,2,1,0\n1,0,6,2,0,3,2,0,1,1,1,1,1,1\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,2,0,3,1,4,3,0,1,1,1,1,1,1\n1,4,10,3,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,2,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,5,0,1,1,1,0,1,0\n1,0,1,2,0,4,0,0,0,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,0,3,0,0,1,1,0,1,0\n1,4,3,2,3,2,3,0,1,1,1,0,1,0\n0,0,1,2,3,0,5,4,0,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,3,2,0,4,0,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,0,3,0,5,0,0,0,1,1,0,1,1\n1,0,3,2,1,3,5,0,0,1,1,1,1,0\n0,4,10,3,2,5,3,0,0,1,1,0,1,0\n0,1,3,2,0,7,1,0,1,1,1,0,1,0\n0,0,10,3,2,4,3,0,1,1,1,1,1,0\n1,0,3,2,1,4,5,0,0,1,1,0,1,0\n2,0,8,0,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,3,5,5,0,0,1,1,1,1,1\n0,3,1,2,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,0,8,0,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,5,2,1,2,5,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,5,13,3,2,5,3,0,1,1,1,1,1,0\n1,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,1,0,3,1,2,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,1,1,0\n0,1,10,3,1,5,3,0,1,1,1,1,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n3,0,3,2,4,8,3,0,0,1,1,2,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,6,2,2,1,1,0,1,1,1,0,1,0\n1,1,3,2,1,2,3,0,0,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,4,4,3,2,5,3,0,1,1,1,1,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,0,0,0,1,1,2,1,0\n0,0,3,2,2,6,3,4,1,1,1,2,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,1,4,5,0,0,1,1,2,1,0\n0,0,10,3,2,5,1,0,0,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,1\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,1,1,2,0,7,2,0,1,1,1,2,1,0\n0,4,0,3,2,5,3,0,0,1,1,1,1,0\n1,0,3,2,5,1,5,4,1,1,1,0,1,0\n0,0,3,2,2,2,5,0,0,1,1,2,1,0\n0,4,3,2,2,10,1,4,0,1,1,2,1,0\n1,0,3,2,0,10,2,4,1,1,1,1,1,1\n1,0,6,2,0,5,2,0,1,1,1,0,1,0\n0,1,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,5,1,2,2,1,1,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,8,2,2,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,4,1,1,1,0,1,0\n1,0,10,3,1,5,5,3,1,1,1,2,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,4,3,0,1,1,1,2,1,0\n1,0,5,2,0,0,2,0,1,1,1,1,1,1\n1,1,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,1,1,1,1,1,0\n1,0,3,2,5,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,1\n0,0,3,2,0,4,0,0,0,1,1,2,1,0\n0,0,2,1,2,2,1,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,4,1,2,4,2,5,0,0,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,0\n2,4,10,3,0,4,2,4,1,1,1,0,1,1\n0,0,6,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,6,4,0,1,1,1,2,1,0\n0,5,0,3,0,8,2,0,1,1,1,2,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,0\n1,0,0,3,1,4,5,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,1,1,1,1,1,1,0\n0,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,5,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,8,2,0,1,1,1,1,1,1\n0,0,2,1,0,3,0,3,0,1,1,2,1,0\n1,0,3,2,2,9,3,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,2,1,0\n2,1,12,1,0,1,2,0,1,1,1,2,1,0\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,5,0,0,1,1,2,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n2,0,5,2,0,8,0,0,0,1,1,0,1,0\n1,5,10,3,0,4,0,4,0,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,0,1,1,0,1,0\n2,1,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,4,1,1,1,0,1,0\n1,0,1,2,3,10,3,0,1,1,1,0,1,0\n3,0,3,2,1,8,4,0,0,1,1,2,1,0\n0,3,7,1,2,8,4,4,1,1,1,0,1,0\n0,0,3,2,2,3,5,0,1,1,1,2,1,0\n2,0,1,2,4,3,3,0,1,1,1,2,1,0\n0,0,3,2,2,2,1,4,1,1,1,1,1,0\n1,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,12,1,1,7,3,0,1,1,1,0,1,0\n2,2,9,1,0,3,2,0,1,1,1,2,1,0\n1,3,3,2,3,3,4,2,0,1,1,0,1,0\n2,0,1,2,0,1,2,4,1,1,1,0,1,1\n1,0,8,0,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,4,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,4,3,2,0,12,2,0,1,1,1,1,1,1\n1,1,1,2,0,1,2,0,1,1,1,1,1,1\n0,1,3,2,2,2,1,0,0,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n2,0,3,2,0,5,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,0,0,0,1,1,2,1,0\n1,0,1,2,1,8,1,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,1,1,1,1,0,1,1\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n1,5,13,3,3,4,1,1,1,1,1,1,1,0\n0,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,14,0,2,1,3,3,1,1,1,2,1,0\n0,0,3,2,0,12,1,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,1,1,0\n2,0,0,3,5,5,4,4,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,1,2,0,5,0,0,0,1,1,0,1,0\n0,0,0,3,2,5,1,0,1,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,1,10,3,2,5,3,0,0,1,1,1,1,1\n1,0,5,2,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,0,3,2,1,3,3,0,1,1,1,1,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,4,3,2,3,10,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,14,0,3,1,3,3,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,1,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,3,2,2,7,3,4,1,1,1,2,1,0\n2,0,7,1,0,1,2,0,1,1,1,0,1,0\n1,0,5,2,1,5,5,0,0,1,1,2,1,0\n1,0,3,2,1,7,5,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,3,4,3,0,13,2,0,1,1,1,1,1,1\n1,0,1,2,0,10,2,4,1,1,1,1,1,1\n0,0,3,2,2,2,3,1,1,1,1,0,1,0\n1,0,7,1,1,1,5,0,0,1,1,1,1,0\n0,0,1,2,2,5,5,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,2,8,3,4,0,1,1,2,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,5,2,5,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,6,1,4,1,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,3,10,3,0,0,2,0,1,1,1,1,1,1\n1,0,3,2,2,4,3,0,0,1,1,0,1,0\n1,0,3,2,5,5,5,0,0,1,1,0,1,1\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,1,2,0,6,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,5,4,0,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,2,1,0\n0,0,10,3,2,5,3,0,1,1,1,1,1,1\n1,2,0,3,1,3,3,0,0,1,1,1,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,4,3,2,2,12,3,0,1,1,1,1,1,0\n0,0,5,2,2,5,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,5,2,2,4,3,0,1,1,1,0,1,0\n0,0,3,2,0,4,0,0,0,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,2,1,2,6,1,4,0,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,2,4,5,4,0,1,1,1,1,0\n1,0,0,3,0,5,0,0,0,1,1,1,1,0\n0,5,4,3,2,5,3,0,0,1,1,1,1,1\n1,3,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,12,1,2,10,1,0,1,1,1,1,1,0\n1,4,1,2,0,2,0,4,0,1,1,2,1,0\n1,0,1,2,2,1,5,0,1,1,1,2,1,0\n0,0,10,3,2,8,3,1,1,1,1,1,1,1\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,4,3,0,1,1,1,0,1,0\n1,0,14,0,0,1,2,0,1,1,1,1,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,0\n0,0,9,1,3,8,1,0,1,1,1,0,1,0\n2,0,3,2,1,3,4,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n2,2,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,2,1,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,6,2,0,5,0,0,0,1,1,1,1,1\n2,1,13,3,0,5,2,0,1,1,1,2,1,1\n0,1,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,9,1,0,9,2,0,1,1,1,1,1,0\n1,5,1,2,2,0,3,0,0,1,1,1,1,0\n1,0,0,3,2,5,3,1,0,1,1,2,1,0\n1,0,14,0,0,2,2,0,1,1,1,0,1,0\n2,4,10,3,0,8,2,0,1,1,1,0,1,0\n1,0,0,3,2,4,5,0,0,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,0,1,1,2,1,0\n0,1,3,2,0,10,2,0,1,1,1,1,1,0\n1,2,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,6,2,0,1,2,0,1,1,1,1,1,1\n1,5,1,2,0,4,2,0,1,1,1,0,1,1\n0,1,1,2,0,3,2,0,1,1,1,0,1,1\n2,1,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,4,1,1,1,0,1,1\n2,0,14,0,4,2,5,0,0,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,12,1,2,7,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,1,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,4,3,2,8,3,0,1,1,1,0,1,1\n1,0,3,2,3,7,5,0,0,1,1,0,1,0\n0,4,0,3,0,5,0,0,0,1,1,0,1,1\n0,4,10,3,2,5,3,4,1,1,1,0,1,0\n2,0,3,2,5,1,3,0,1,1,1,0,1,0\n1,5,0,3,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,3,8,5,0,0,1,1,2,1,0\n1,4,0,3,1,5,5,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,7,2,0,1,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,3,1,3,0,1,1,1,0,1,0\n1,4,1,2,0,12,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,9,1,0,2,0,0,0,1,1,0,1,0\n1,5,1,2,1,2,1,0,1,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,5,0,0,1,1,1,1,0\n0,0,0,3,0,1,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,2,1,2,9,3,0,1,1,1,0,1,0\n1,0,14,0,0,10,0,0,0,1,1,0,1,1\n0,0,3,2,5,2,3,0,0,1,1,2,1,0\n1,1,6,2,0,9,2,0,1,1,1,1,1,0\n2,3,3,2,2,8,4,2,1,1,1,0,1,0\n1,0,1,2,1,8,3,4,1,1,1,0,1,0\n0,0,3,2,0,2,0,0,0,1,1,0,1,0\n0,0,1,2,0,2,2,0,1,1,1,1,1,0\n0,0,1,2,1,10,3,0,1,1,1,1,1,0\n1,0,3,2,1,4,5,0,0,1,1,0,1,0\n0,4,12,1,2,1,1,4,1,1,1,0,1,0\n1,0,3,2,1,7,3,0,0,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n1,4,0,3,0,5,0,4,0,1,1,2,1,1\n0,4,0,3,2,0,3,0,1,1,1,0,1,0\n1,4,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,2,4,3,0,1,1,1,1,1,0\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,1,2,2,4,5,0,0,1,1,0,1,0\n2,0,9,1,4,7,4,0,0,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,1,3,2,0,2,0,0,0,1,1,2,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n2,0,0,3,0,10,2,0,1,1,1,2,1,1\n0,5,7,1,2,2,1,0,0,1,1,1,1,0\n2,0,1,2,1,2,3,0,0,1,1,2,1,0\n1,0,10,3,0,3,2,0,1,1,1,0,1,0\n0,0,4,3,2,5,3,0,1,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,8,0,2,1,1,0,1,1,1,0,1,0\n1,1,5,2,0,4,2,0,1,1,1,2,1,0\n0,1,1,2,2,3,3,0,0,1,1,2,1,0\n1,3,1,2,0,8,2,0,1,1,1,1,1,1\n0,0,2,1,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,3,3,2,0,8,0,0,0,1,1,2,1,0\n2,0,7,1,0,2,0,0,0,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,0,10,2,0,1,1,1,2,1,0\n1,4,0,3,1,5,3,0,0,1,1,2,1,1\n2,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,1,7,3,0,1,1,1,0,1,0\n0,4,0,3,2,5,5,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n0,0,6,2,2,3,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,5,2,0,5,0,0,0,1,1,0,1,1\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n1,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,1,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,4,2,3,0,0,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n2,1,3,2,1,7,5,0,1,1,1,2,1,0\n2,1,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,1,3,2,0,10,2,0,1,1,1,1,1,0\n1,2,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,1,4,3,0,0,1,1,0,1,0\n1,0,1,2,0,4,0,0,0,1,1,1,1,1\n1,4,3,2,4,2,3,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,2,2,5,0,1,1,1,2,1,0\n0,0,0,3,3,4,3,0,0,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n0,0,0,3,2,4,1,0,0,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,4,12,1,2,9,1,0,1,1,1,0,1,0\n1,1,3,2,1,4,3,0,0,1,1,1,1,1\n3,1,10,3,0,1,2,0,1,1,1,2,1,0\n2,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,1,1,0\n0,4,3,2,2,2,5,4,0,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,1,1,0\n2,4,3,2,0,12,2,0,1,1,1,0,1,1\n0,0,1,2,0,6,2,0,1,1,1,1,1,0\n2,5,0,3,0,5,2,1,1,1,1,2,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,1,2,4,2,5,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,0,3,2,7,3,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,0,0,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n2,0,0,3,0,8,2,0,1,1,1,2,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,4,1,1,1,0,1,0\n0,4,5,2,0,1,2,0,1,1,1,0,1,1\n1,2,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n1,4,0,3,0,5,0,0,0,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,1,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,5,7,1,0,9,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n3,1,7,1,0,9,2,0,1,1,1,0,1,0\n0,0,5,2,2,0,3,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n2,3,1,2,4,8,3,0,1,1,1,2,1,0\n2,2,0,3,2,4,3,0,1,1,1,0,1,0\n1,0,7,1,1,2,5,4,0,1,1,0,1,0\n0,0,12,1,2,3,5,4,0,1,1,0,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,1\n2,1,3,2,4,3,3,0,0,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,5,2,2,8,3,4,0,1,1,0,1,0\n1,3,0,3,0,4,2,0,1,1,1,0,1,1\n2,2,1,2,0,3,2,0,1,1,1,1,1,0\n0,2,3,2,2,1,1,0,1,1,1,1,1,0\n2,0,12,1,0,12,2,0,1,1,1,0,1,0\n0,0,9,1,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,3,8,5,0,0,1,1,2,1,0\n1,0,12,1,1,7,3,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,8,0,0,0,1,1,0,1,0\n2,4,3,2,0,8,2,0,1,1,1,2,1,0\n0,0,12,1,0,3,2,0,1,1,1,1,1,0\n1,0,12,1,2,6,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n3,2,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,4,2,1,2,8,1,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n2,0,8,0,1,7,3,4,1,1,1,0,1,0\n0,0,9,1,2,2,4,3,1,1,1,0,1,0\n1,0,5,2,2,1,3,4,0,1,1,1,1,0\n2,4,0,3,0,12,2,0,1,1,1,0,1,1\n1,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,3,0,3,0,4,2,4,1,1,1,0,1,0\n0,3,3,2,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,5,0,0,1,1,2,1,0\n0,0,2,1,2,3,3,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,5,2,1,5,3,0,0,1,1,0,1,0\n1,0,3,2,3,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,0,0,0,1,1,0,1,1\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,1,1,0\n0,0,0,3,2,1,3,0,1,1,1,1,1,0\n0,0,8,0,2,7,1,0,1,1,1,0,1,0\n2,0,3,2,4,8,5,4,0,1,1,0,1,0\n1,0,5,2,0,8,0,0,0,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,1,1,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,4,4,3,0,0,1,1,1,1,0\n2,0,3,2,0,8,2,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,1,6,2,0,9,2,0,1,1,1,1,1,0\n1,1,9,1,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,4,8,5,0,0,1,1,0,1,1\n1,1,0,3,1,1,3,0,1,1,1,1,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,5,5,2,0,4,2,0,1,1,1,1,1,0\n2,1,1,2,0,2,0,0,0,1,1,2,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n2,3,3,2,4,8,5,0,0,1,1,0,1,0\n0,0,6,2,2,2,3,0,0,1,1,1,1,0\n1,5,3,2,0,12,2,2,1,1,1,0,1,0\n1,0,0,3,0,8,2,3,1,1,1,0,1,1\n0,0,2,1,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,4,0,1,1,1,0,1,0\n0,0,3,2,1,6,3,0,1,1,1,0,1,0\n2,0,3,2,0,2,2,4,1,1,1,2,1,0\n1,0,6,2,1,8,5,0,0,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,6,3,0,1,1,1,1,1,0\n3,0,3,2,0,10,2,4,1,1,1,2,1,0\n1,0,6,2,1,5,5,0,0,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n2,0,0,3,1,3,3,0,0,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,3,3,2,2,5,1,0,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,5,1,2,2,6,3,0,1,1,1,2,1,0\n0,1,13,3,0,5,2,0,1,1,1,2,1,1\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n1,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,1,2,1,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,4,1,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,2,1,0\n1,0,10,3,0,5,2,1,1,1,1,0,1,0\n0,0,3,2,1,7,3,0,0,1,1,0,1,0\n1,1,10,3,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,1,5,3,1,1,1,1,2,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,6,2,1,4,3,4,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,2,1,2,1,3,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,6,2,0,0,2,0,1,1,1,1,1,1\n2,0,1,2,1,7,3,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,14,0,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,0,9,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,1,3,5,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,1\n2,1,8,0,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,1,2,5,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,5,0,3,2,8,5,4,0,1,1,0,1,0\n1,3,1,2,0,8,2,0,1,1,1,0,1,1\n1,0,10,3,1,5,3,0,1,1,1,1,1,0\n0,0,1,2,2,10,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,4,1,2,0,5,2,4,1,1,1,0,1,0\n1,0,1,2,3,8,4,2,0,1,1,1,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,0,0,3,4,5,3,0,0,1,1,2,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,1,1,2,0,7,0,0,0,1,1,1,1,0\n1,3,3,2,0,4,2,0,1,1,1,0,1,1\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n2,0,14,0,3,7,4,0,0,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n2,0,11,0,0,7,2,0,1,1,1,1,1,1\n1,0,8,0,1,2,3,3,1,1,1,0,1,0\n1,0,6,2,0,0,2,0,1,1,1,0,1,1\n1,0,0,3,1,7,5,0,0,1,1,2,1,0\n1,0,0,3,1,8,5,0,0,1,1,0,1,0\n0,0,9,1,2,2,4,0,1,1,1,2,1,0\n1,0,4,3,2,5,4,1,0,1,1,2,1,0\n0,0,6,2,2,8,1,0,0,1,1,0,1,0\n0,3,3,2,2,2,5,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,0,1,2,2,4,3,0,0,1,1,1,1,0\n0,1,0,3,1,3,3,0,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,1,1,2,1,5,1,0,1,1,1,0,1,0\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n0,0,10,3,2,4,3,0,0,1,1,1,1,1\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,1,5,2,0,1,2,0,1,1,1,1,1,0\n1,0,6,2,0,5,0,0,0,1,1,1,1,0\n0,0,0,3,2,0,3,0,1,1,1,1,1,0\n2,0,3,2,0,12,2,0,1,1,1,0,1,0\n1,1,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,2,13,3,0,5,2,0,1,1,1,1,1,0\n0,0,12,1,2,2,3,0,0,1,1,2,1,0\n1,1,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,7,1,0,0,1,1,2,1,0\n0,4,0,3,0,5,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,3,4,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,6,2,0,5,2,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n2,4,6,2,0,12,2,0,1,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,2,2,4,1,1,1,2,1,0\n0,0,1,2,2,8,5,3,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,5,1,2,0,9,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,1,7,1,0,1,1,1,0,1,0\n1,1,0,3,2,5,3,4,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,4,1,2,2,3,4,0,0,1,1,2,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,4,0,3,0,5,0,0,0,1,1,0,1,1\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,0,0,3,1,3,3,0,1,1,1,0,1,0\n3,3,10,3,1,5,3,0,1,1,1,1,1,0\n1,4,0,3,0,10,2,1,1,1,1,0,1,0\n1,4,1,2,0,12,2,0,1,1,1,1,1,1\n0,0,3,2,0,8,2,0,1,1,1,2,1,0\n1,0,3,2,2,8,3,0,1,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,5,2,0,0,2,0,1,1,1,2,1,1\n1,0,5,2,0,4,2,0,1,1,1,1,1,0\n1,4,0,3,0,5,2,4,1,1,1,0,1,1\n0,0,1,2,2,9,1,0,1,1,1,1,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,1,2,1,4,3,0,0,1,1,0,1,0\n2,0,10,3,0,5,2,0,1,1,1,2,1,1\n0,0,0,3,2,8,3,0,0,1,1,2,1,0\n0,3,6,2,0,6,2,0,1,1,1,0,1,0\n0,2,3,2,2,4,3,0,0,1,1,1,1,0\n1,1,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,5,10,3,0,5,2,2,1,1,1,2,1,1\n1,1,0,3,2,5,3,4,0,1,1,2,1,0\n0,0,0,3,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,5,10,3,2,12,3,0,0,1,1,0,1,0\n0,4,1,2,2,8,1,4,0,1,1,0,1,0\n1,0,0,3,2,2,3,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,3,7,5,0,1,1,1,0,1,0\n1,3,3,2,0,1,2,4,1,1,1,0,1,0\n0,0,1,2,0,2,4,0,0,1,1,2,1,0\n0,0,0,3,1,5,3,0,0,1,1,1,1,1\n2,0,3,2,4,7,3,4,0,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,1,1,1\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,5,5,2,1,8,5,4,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,5,3,2,0,12,2,0,1,1,1,0,1,0\n2,4,1,2,4,8,3,0,0,1,1,2,1,0\n0,0,8,0,2,11,1,0,0,1,1,2,1,0\n2,0,11,0,0,2,2,0,1,1,1,2,1,0\n0,0,3,2,2,0,1,0,0,1,1,2,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,0,0,3,5,5,5,0,0,1,1,2,1,0\n2,2,3,2,3,3,3,0,0,1,1,1,1,0\n1,0,3,2,1,7,5,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,5,2,2,7,5,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,1,1,1\n0,0,3,2,3,7,3,0,1,1,1,0,1,0\n2,0,3,2,4,4,3,0,1,1,1,0,1,0\n2,3,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,4,0,1,1,0,1,0\n0,0,9,1,0,1,2,0,1,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n1,4,5,2,0,0,2,0,1,1,1,1,1,1\n1,0,1,2,0,8,0,0,0,1,1,0,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,3,2,2,7,1,4,1,1,1,0,1,0\n1,5,0,3,2,5,5,0,1,1,1,2,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,1,1,0\n1,0,3,2,2,8,5,0,0,1,1,0,1,0\n1,0,1,2,3,5,3,4,1,1,1,0,1,0\n0,0,5,2,0,2,2,1,1,1,1,0,1,0\n0,0,0,3,2,5,1,4,0,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,4,3,0,0,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,1,3,4,0,0,1,1,2,1,0\n1,1,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,3,0,1,1,1,1,1,0\n1,5,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,1,0,1,1,1,1,1,0\n1,2,13,3,0,4,2,0,1,1,1,1,1,1\n2,5,0,3,0,5,2,0,1,1,1,2,1,0\n3,2,0,3,0,9,2,0,1,1,1,0,1,1\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n2,2,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,5,3,0,1,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,5,2,0,4,0,3,0,1,1,0,1,1\n0,2,0,3,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,2,1,0\n1,2,2,1,0,4,2,0,1,1,1,2,1,1\n3,0,0,3,1,9,4,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,10,3,2,4,5,0,1,1,1,0,1,0\n0,2,3,2,2,4,3,4,0,1,1,2,1,0\n0,0,0,3,2,3,1,0,0,1,1,2,1,0\n1,1,10,3,2,5,3,0,0,1,1,1,1,0\n2,0,13,3,2,4,3,0,1,1,1,1,1,1\n0,5,3,2,1,2,5,0,0,1,1,1,1,0\n0,0,1,2,2,0,1,0,1,1,1,0,1,0\n1,0,2,1,1,2,5,4,0,1,1,2,1,0\n1,4,3,2,3,12,3,0,1,1,1,2,1,0\n2,0,8,0,0,1,2,0,1,1,1,0,1,0\n2,0,1,2,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n1,1,3,2,3,1,1,0,1,1,1,0,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,4,0,1,1,0,1,0\n0,0,12,1,2,9,5,4,0,1,1,0,1,0\n0,0,1,2,1,2,3,0,0,1,1,0,1,0\n1,4,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,1,7,3,0,1,1,1,0,1,0\n0,0,0,3,1,5,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,4,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,1,7,1,2,3,1,0,1,1,1,2,1,0\n0,0,5,2,2,8,3,0,1,1,1,2,1,0\n1,0,7,1,1,1,3,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,6,2,1,3,5,0,0,1,1,0,1,0\n1,1,3,2,0,10,2,4,1,1,1,0,1,0\n2,0,3,2,4,8,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,8,0,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,0,12,2,0,1,1,1,1,1,0\n2,0,0,3,1,4,3,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n2,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,0,3,0,9,2,0,1,1,1,1,1,0\n1,2,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,2,2,3,0,0,1,1,1,1,0\n1,0,5,2,1,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,1,2,1,8,3,0,1,1,1,0,1,0\n0,0,0,3,2,2,1,0,1,1,1,2,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,2,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,2,1,1,0,1,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,2,8,5,4,1,1,1,0,1,0\n0,5,1,2,0,0,2,0,1,1,1,0,1,0\n1,3,1,2,2,8,3,4,0,1,1,0,1,0\n2,4,3,2,0,1,2,0,1,1,1,2,1,0\n0,4,3,2,2,2,1,0,1,1,1,1,1,0\n1,0,3,2,2,6,3,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,5,2,2,8,4,0,0,1,1,1,1,0\n1,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,10,3,1,4,3,0,0,1,1,2,1,1\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,0,1,0,1,1,0,1,1\n0,0,1,2,1,3,3,0,0,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n1,0,3,2,0,2,0,0,0,1,1,2,1,0\n1,0,0,3,5,3,3,0,1,1,1,0,1,1\n2,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,1,3,3,0,1,1,1,1,1,0\n0,0,0,3,4,2,1,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,2,0,3,1,0,3,0,0,1,1,1,1,1\n0,0,6,2,0,8,0,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,4,13,3,1,5,3,0,0,1,1,1,1,1\n0,2,0,3,2,3,3,0,1,1,1,0,1,1\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n0,0,14,0,2,7,4,0,1,1,1,0,1,0\n0,4,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,3,0,0,1,1,1,1,1\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,10,3,0,4,0,0,0,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,0,0,0,1,1,2,1,1\n1,4,1,2,0,12,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,0,1,2,0,10,2,0,1,1,1,0,1,0\n0,2,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,3,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,7,1,2,7,4,0,0,1,1,0,1,0\n1,0,8,0,2,7,5,0,1,1,1,1,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n2,4,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,5,5,3,1,0,1,1,0,1,1\n1,0,0,3,1,8,5,0,0,1,1,1,1,0\n0,0,3,2,2,6,1,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,5,4,0,1,1,0,1,0\n2,0,14,0,0,7,0,0,0,1,1,2,1,0\n0,0,5,2,0,5,2,0,1,1,1,1,1,0\n1,3,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,5,3,2,0,12,2,4,1,1,1,0,1,0\n2,0,6,2,1,4,5,0,0,1,1,1,1,0\n0,2,3,2,2,4,1,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,3,4,1,1,1,0,1,0\n0,0,4,3,0,5,2,0,1,1,1,0,1,1\n1,2,13,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,0,1,0,0,1,1,0,1,0\n0,4,6,2,1,10,3,0,1,1,1,0,1,0\n1,0,12,1,2,2,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,3,2,2,5,3,0,0,1,1,0,1,0\n2,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,1,3,0,0,1,1,1,1,0\n2,1,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,4,0,0,1,1,0,1,0\n1,1,12,1,0,9,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,2,10,3,0,4,2,1,1,1,1,1,1,1\n1,0,3,2,0,0,0,4,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,2,1,0\n2,0,3,2,1,3,5,0,0,1,1,2,1,0\n1,0,3,2,4,10,5,4,1,1,1,0,1,0\n2,4,10,3,5,5,3,0,0,1,1,2,1,0\n1,1,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n3,1,8,0,2,8,3,0,0,1,1,1,1,0\n0,4,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,2,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,6,2,3,0,1,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,1\n0,0,5,2,2,8,1,0,0,1,1,2,1,0\n1,2,3,2,0,3,0,0,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,1,1,2,1,4,3,4,1,1,1,1,1,0\n2,1,3,2,4,1,3,0,0,1,1,2,1,0\n3,0,1,2,0,12,2,0,1,1,1,0,1,0\n0,0,8,0,2,2,1,4,1,1,1,2,1,0\n0,4,3,2,0,10,2,0,1,1,1,0,1,0\n2,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,0,3,2,2,9,1,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,1,2,2,0,1,0,0,1,1,2,1,0\n1,0,10,3,1,2,3,4,0,1,1,2,1,1\n1,4,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,1\n1,5,6,2,0,12,2,0,1,1,1,0,1,1\n1,3,0,3,0,4,2,4,1,1,1,0,1,1\n2,0,3,2,0,0,2,1,1,1,1,2,1,0\n1,0,6,2,2,2,3,0,1,1,1,1,1,0\n0,0,3,2,3,1,3,0,1,1,1,0,1,0\n1,1,12,1,0,4,0,4,0,1,1,0,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,6,2,1,2,5,2,0,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,5,10,3,0,5,2,1,1,1,1,1,1,1\n0,0,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,5,3,2,0,4,2,0,1,1,1,1,1,1\n1,1,1,2,0,3,2,0,1,1,1,1,1,0\n0,3,3,2,2,10,3,4,1,1,1,2,1,0\n1,0,1,2,5,10,5,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,5,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,2,8,3,4,0,1,1,2,1,0\n0,0,3,2,1,8,5,4,0,1,1,0,1,0\n0,0,1,2,1,9,5,0,0,1,1,0,1,0\n0,5,3,2,2,12,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n2,1,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,2,2,3,0,0,1,1,0,1,0\n0,0,6,2,0,1,2,1,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n3,1,1,2,4,3,3,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,0,0,0,0,1,1,0,1,0\n0,2,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,4,5,2,2,6,3,0,1,1,1,0,1,0\n1,0,3,2,1,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,2,5,0,0,1,1,2,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,3,3,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,0,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,7,1,0,10,2,0,1,1,1,1,1,0\n2,1,8,0,4,9,5,0,1,1,1,0,1,0\n0,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,0,3,2,6,1,0,1,1,1,2,1,0\n0,4,10,3,0,5,0,0,0,1,1,1,1,1\n1,0,0,3,2,3,1,0,0,1,1,0,1,0\n1,3,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,4,0,0,0,1,1,1,1,0\n1,0,1,2,1,4,3,0,1,1,1,2,1,0\n0,4,1,2,2,8,1,4,0,1,1,1,1,0\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,1,1,0\n2,2,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,1\n1,4,10,3,1,5,3,0,0,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,2,1,1,1,5,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,4,0,1,1,2,1,0\n1,0,1,2,0,8,2,1,1,1,1,0,1,1\n1,0,3,2,2,6,3,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,2,1,1\n1,0,0,3,0,1,2,4,1,1,1,0,1,1\n1,0,1,2,1,5,3,4,0,1,1,0,1,1\n1,0,1,2,1,3,5,0,0,1,1,1,1,0\n1,1,6,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,8,2,0,1,1,1,1,1,0\n1,0,0,3,0,12,2,0,1,1,1,1,1,1\n1,1,1,2,5,4,3,0,1,1,1,1,1,0\n3,1,9,1,0,2,2,0,1,1,1,2,1,0\n0,4,3,2,2,8,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,7,3,4,1,1,1,1,1,0\n0,5,3,2,1,1,1,0,1,1,1,0,1,0\n1,3,10,3,2,5,3,0,1,1,1,0,1,0\n1,1,3,2,4,2,5,4,0,1,1,1,1,0\n1,5,0,3,0,4,2,0,1,1,1,1,1,1\n0,1,6,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,0,8,2,4,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,1,2,2,10,3,4,1,1,1,0,1,0\n1,0,1,2,0,3,0,0,0,1,1,2,1,1\n1,1,10,3,0,5,2,0,1,1,1,2,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,5,0,3,0,5,2,0,1,1,1,2,1,0\n2,0,1,2,4,4,3,0,0,1,1,1,1,0\n1,0,1,2,2,11,3,4,0,1,1,1,1,0\n1,0,1,2,3,4,3,0,1,1,1,1,1,0\n0,5,6,2,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,1,8,3,0,0,1,1,0,1,0\n2,0,3,2,3,8,3,0,0,1,1,0,1,0\n1,2,3,2,2,4,1,0,1,1,1,1,1,0\n1,5,1,2,0,12,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,0,2,0,0,0,1,1,2,1,0\n2,1,3,2,0,1,2,0,1,1,1,2,1,1\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,4,0,0,1,1,0,1,0\n1,0,9,1,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,1\n1,0,1,2,1,2,5,0,0,1,1,0,1,0\n0,0,9,1,2,5,5,0,0,1,1,0,1,0\n2,0,0,3,0,0,0,0,0,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,1,1,0\n1,1,3,2,1,3,3,0,1,1,1,2,1,0\n2,0,7,1,0,7,0,0,0,1,1,0,1,0\n0,0,3,2,2,7,5,4,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,4,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,1,2,2,5,1,0,0,1,1,0,1,0\n1,0,12,1,1,3,3,0,0,1,1,0,1,0\n0,2,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,7,1,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n2,1,3,2,0,2,2,0,1,1,1,2,1,0\n0,1,10,3,1,3,3,1,1,1,1,1,1,0\n1,0,7,1,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,0,5,0,4,0,1,1,2,1,0\n1,1,0,3,0,3,2,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,9,1,0,1,1,1,1,1,0\n0,0,0,3,2,3,1,0,1,1,1,1,1,0\n1,5,3,2,1,8,5,0,0,1,1,2,1,0\n2,3,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,4,3,0,1,2,0,1,1,1,0,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,10,3,2,5,3,0,1,1,1,1,1,0\n2,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,0,2,0,1,1,1,0,1,0\n1,3,0,3,0,5,2,1,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,9,4,0,1,1,1,2,1,0\n1,3,3,2,0,10,2,4,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n2,2,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,3,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n1,0,3,2,0,2,4,1,0,1,1,2,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n1,0,10,3,0,1,2,0,1,1,1,1,1,0\n1,0,10,3,1,4,3,0,0,1,1,0,1,1\n0,0,12,1,2,3,5,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,1\n2,0,3,2,5,2,3,1,1,1,1,0,1,0\n0,0,3,2,2,3,4,2,0,1,1,1,1,0\n1,0,5,2,1,4,5,0,0,1,1,1,1,1\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,5,0,3,1,4,5,4,0,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,5,2,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,6,3,0,1,1,1,2,1,0\n1,0,0,3,2,4,3,0,0,1,1,1,1,1\n1,0,3,2,1,2,5,4,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,2,1,0\n1,4,3,2,2,1,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,10,3,1,3,3,0,1,1,1,0,1,1\n1,0,1,2,0,0,1,0,0,1,1,0,1,1\n1,0,0,3,1,4,3,0,1,1,1,1,1,1\n1,0,10,3,0,2,2,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,5,3,2,2,8,1,0,0,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,2,1,0,10,2,0,1,1,1,0,1,0\n1,0,0,3,1,5,5,4,0,1,1,2,1,0\n2,6,3,2,0,6,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,4,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,5,2,0,2,2,4,1,1,1,0,1,0\n0,0,0,3,0,8,2,0,1,1,1,2,1,0\n0,0,1,2,2,4,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,4,1,1,1,0,1,0\n0,4,1,2,1,12,5,4,0,1,1,0,1,0\n2,5,10,3,1,5,3,0,0,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,8,0,0,9,2,0,1,1,1,0,1,0\n2,1,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,1,2,1,2,5,0,0,1,1,2,1,0\n1,4,1,2,2,8,1,0,0,1,1,0,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,0,0,2,0,1,1,1,0,1,1\n1,0,2,1,0,6,2,3,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,5,2,0,1,2,0,1,1,1,0,1,0\n1,0,2,1,1,3,5,0,0,1,1,2,1,0\n0,0,0,3,4,5,1,0,1,1,1,2,1,0\n1,0,11,0,0,8,2,0,1,1,1,1,1,0\n1,0,3,2,0,8,4,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,4,10,3,2,5,3,0,0,1,1,0,1,0\n1,4,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,1,2,2,0,1,0,1,1,1,0,1,0\n1,0,0,3,0,8,2,0,1,1,1,1,1,0\n2,4,3,2,0,3,2,0,1,1,1,0,1,0\n2,0,2,1,0,8,2,0,1,1,1,0,1,0\n2,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,0,6,2,0,1,0,0,0,1,1,0,1,1\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n1,5,10,3,1,4,3,0,1,1,1,1,1,1\n0,0,0,3,0,11,0,0,0,1,1,2,1,1\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,0,2,0,1,1,1,0,1,1\n0,5,3,2,2,2,1,1,0,1,1,0,1,0\n2,1,3,2,0,7,2,0,1,1,1,1,1,0\n2,1,3,2,0,7,2,0,1,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,5,1,2,2,5,1,0,0,1,1,2,1,0\n1,0,9,1,1,1,3,0,1,1,1,0,1,0\n1,4,0,3,1,5,3,0,1,1,1,1,1,0\n3,0,10,3,4,5,3,0,0,1,1,2,1,0\n1,0,14,0,0,10,2,0,1,1,1,0,1,0\n2,3,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,6,2,0,1,1,1,1,1,1\n3,4,3,2,4,2,3,0,0,1,1,2,1,0\n0,0,0,3,0,4,0,0,0,1,1,1,1,0\n1,0,1,2,0,7,0,0,0,1,1,1,1,1\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,1,1,2,1,10,3,0,1,1,1,0,1,0\n1,1,3,2,0,3,0,0,0,1,1,1,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n2,0,3,2,4,1,3,0,0,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,8,0,2,1,1,0,1,1,1,0,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,5,0,1,1,1,1,1,0\n1,1,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n1,4,0,3,2,5,3,0,0,1,1,0,1,0\n1,1,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n3,0,3,2,0,1,2,1,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,1,1,1,1,2,1,0\n0,1,6,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,4,1,1,1,0,1,1\n0,0,12,1,2,1,1,3,0,1,1,2,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n2,0,14,0,3,1,3,4,1,1,1,0,1,0\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,1,7,3,0,0,1,1,0,1,0\n0,0,10,3,2,5,3,0,0,1,1,2,1,0\n1,0,3,2,1,5,3,0,0,1,1,1,1,0\n1,0,0,3,2,1,3,0,1,1,1,1,1,1\n1,1,5,2,1,3,5,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,6,2,0,8,2,0,1,1,1,0,1,1\n0,0,2,1,2,12,1,0,0,1,1,0,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,1\n1,0,0,3,0,0,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,1\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,1,2,3,2,3,0,1,1,1,2,1,0\n2,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,12,1,4,2,3,0,0,1,1,0,1,0\n0,0,3,2,3,2,5,4,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,4,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,1,0,1,1,1,0,1,0\n0,0,1,2,2,7,3,0,0,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,1,1,0\n0,3,1,2,2,6,1,0,1,1,1,1,1,0\n0,0,5,2,2,8,3,0,0,1,1,2,1,0\n3,1,12,1,0,9,2,0,1,1,1,1,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,1,10,3,0,4,2,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,2,12,1,2,2,1,0,1,1,1,2,1,0\n1,0,1,2,2,1,1,0,1,1,1,0,1,0\n2,0,7,1,4,6,5,0,0,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,10,3,0,4,0,0,0,1,1,0,1,1\n0,0,3,2,1,6,4,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n2,4,3,2,0,8,0,0,0,1,1,1,1,0\n2,0,3,2,0,10,2,0,1,1,1,2,1,0\n1,0,5,2,2,3,3,0,1,1,1,1,1,1\n0,0,9,1,0,7,2,0,1,1,1,0,1,0\n3,0,4,3,0,3,2,0,1,1,1,1,1,1\n2,0,6,2,0,7,2,0,1,1,1,2,1,0\n0,0,12,1,2,6,1,0,1,1,1,0,1,0\n1,4,10,3,0,5,0,0,0,1,1,2,1,1\n0,4,3,2,0,1,1,4,1,1,1,0,1,0\n2,1,10,3,0,3,0,0,0,1,1,1,1,0\n0,0,2,1,2,6,3,3,1,1,1,2,1,0\n1,5,1,2,3,1,3,0,1,1,1,2,1,0\n1,0,10,3,2,4,3,0,1,1,1,1,1,1\n0,0,0,3,2,3,4,0,0,1,1,0,1,0\n0,0,7,1,2,3,5,4,0,1,1,2,1,0\n1,0,3,2,5,8,4,1,1,1,1,1,1,0\n1,0,1,2,1,7,1,4,1,1,1,0,1,0\n1,0,1,2,2,8,3,0,1,1,1,1,1,0\n1,1,4,3,0,5,2,0,1,1,1,2,1,0\n1,4,0,3,1,5,5,0,0,1,1,0,1,0\n2,0,3,2,0,6,2,0,1,1,1,2,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,2,3,0,0,1,1,1,1,0\n0,3,1,2,1,4,3,2,1,1,1,0,1,0\n1,0,6,2,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n1,0,1,2,1,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,1,2,1,2,5,4,0,1,1,2,1,0\n0,0,12,1,2,9,3,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,2,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,6,2,1,5,5,0,0,1,1,0,1,0\n2,5,5,2,1,8,3,0,0,1,1,2,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n2,0,1,2,0,0,2,0,1,1,1,0,1,1\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,1,4,0,1,1,2,1,0\n1,0,2,1,1,9,5,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,5,1,0,1,1,0,1,0\n0,0,6,2,2,9,1,0,1,1,1,0,1,0\n2,0,12,1,1,8,3,0,0,1,1,2,1,0\n0,1,6,2,0,3,2,0,1,1,1,1,1,0\n2,3,3,2,1,5,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n3,0,1,2,0,3,2,0,1,1,1,2,1,1\n0,0,6,2,2,10,1,4,1,1,1,0,1,0\n1,0,6,2,2,1,3,0,1,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,4,6,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,5,0,0,1,1,2,1,0\n1,0,6,2,2,3,3,0,0,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n3,0,6,2,0,8,2,0,1,1,1,1,1,1\n2,3,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n0,0,5,2,2,5,3,1,0,1,1,2,1,0\n1,4,1,2,1,8,5,4,0,1,1,0,1,0\n1,0,3,2,3,2,3,0,0,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,2,1,0\n1,3,1,2,3,5,3,4,0,1,1,0,1,1\n1,0,1,2,2,4,3,0,0,1,1,0,1,0\n0,5,10,3,0,0,2,0,1,1,1,1,1,0\n0,0,7,1,0,1,2,0,1,1,1,2,1,0\n2,0,2,1,0,10,2,0,1,1,1,0,1,0\n1,0,1,2,1,2,3,0,0,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n0,5,1,2,2,5,3,0,0,1,1,2,1,0\n1,0,7,1,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,2,2,3,0,0,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,1,6,2,0,9,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,1,0,3,1,1,3,0,1,1,1,1,1,0\n1,5,0,3,0,4,2,0,1,1,1,2,1,1\n0,0,6,2,2,6,1,0,1,1,1,0,1,0\n2,0,3,2,4,1,3,0,0,1,1,0,1,0\n1,0,3,2,3,8,3,0,0,1,1,0,1,0\n1,0,11,0,2,7,4,0,0,1,1,0,1,0\n0,5,6,2,0,12,2,0,1,1,1,0,1,0\n0,0,1,2,1,3,3,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,1,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,1,1,2,2,9,3,0,1,1,1,2,1,0\n0,0,0,3,2,3,1,1,1,1,1,2,1,0\n1,0,1,2,1,10,3,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,3,5,2,2,8,1,4,1,1,1,2,1,0\n0,4,0,3,2,5,1,4,0,1,1,2,1,0\n0,0,1,2,2,0,1,3,0,1,1,2,1,0\n0,0,3,2,2,2,5,0,0,1,1,1,1,0\n1,0,6,2,1,7,1,0,0,1,1,0,1,0\n2,0,1,2,1,1,3,0,1,1,1,0,1,0\n1,0,0,3,1,7,4,0,1,1,1,1,1,0\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,4,3,2,0,2,2,2,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,10,3,2,2,3,0,0,1,1,2,1,0\n1,1,3,2,3,1,3,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n2,1,1,2,0,5,2,0,1,1,1,1,1,0\n1,3,1,2,3,4,5,0,0,1,1,1,1,0\n0,0,5,2,2,4,1,2,1,1,1,2,1,0\n1,2,10,3,2,4,3,0,0,1,1,2,1,1\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,4,1,3,0,1,1,1,0,1,0\n2,0,8,0,1,2,3,0,0,1,1,0,1,0\n2,0,11,0,0,2,2,0,1,1,1,0,1,0\n0,2,3,2,1,6,1,0,1,1,1,2,1,0\n1,0,1,2,1,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,5,10,3,0,12,2,0,1,1,1,0,1,1\n0,4,1,2,2,2,1,0,1,1,1,2,1,0\n2,0,9,1,0,1,0,4,0,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,10,3,0,3,2,0,1,1,1,1,1,1\n0,1,3,2,2,1,1,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,3,0,1,1,1,2,1,0\n2,0,6,2,0,2,2,0,1,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,1,3,2,0,6,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,10,3,2,5,3,0,0,1,1,1,1,0\n2,0,9,1,0,1,2,0,1,1,1,0,1,0\n0,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,5,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,0,8,0,1,0,1,1,1,1,1\n2,0,3,2,1,2,4,0,0,1,1,1,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,6,2,0,4,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,0,1,2,0,4,0,0,0,1,1,0,1,1\n1,3,1,2,0,0,2,0,1,1,1,0,1,1\n2,0,10,3,0,4,2,0,1,1,1,1,1,0\n1,5,6,2,1,8,1,0,0,1,1,2,1,0\n1,1,4,3,2,5,3,0,1,1,1,2,1,0\n0,0,1,2,1,2,3,0,1,1,1,1,1,0\n1,1,5,2,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n3,3,3,2,1,8,3,0,0,1,1,2,1,1\n0,0,3,2,1,0,5,0,0,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,4,3,1,5,3,4,0,1,1,1,1,1\n0,0,5,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,7,3,0,1,1,1,0,1,0\n1,0,4,3,0,0,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,4,1,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,12,1,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,5,0,0,1,1,0,1,0\n1,0,0,3,0,5,0,0,0,1,1,2,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,3,3,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,4,0,0,1,1,1,1,0\n1,0,1,2,1,2,5,0,0,1,1,2,1,0\n0,0,5,2,1,4,5,0,0,1,1,2,1,0\n1,2,1,2,5,8,5,0,0,1,1,2,1,0\n1,0,1,2,0,8,2,0,1,1,1,1,1,1\n0,0,1,2,1,8,1,0,0,1,1,0,1,0\n1,1,1,2,4,9,5,0,1,1,1,0,1,0\n1,4,10,3,2,5,1,0,0,1,1,1,1,1\n0,0,9,1,2,6,1,0,1,1,1,2,1,0\n0,0,5,2,1,1,5,4,0,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n2,5,3,2,0,10,2,0,1,1,1,0,1,0\n2,1,3,2,4,0,3,0,0,1,1,1,1,0\n0,0,3,2,2,12,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,0\n0,4,0,3,2,5,3,0,0,1,1,1,1,0\n1,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,3,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,1,6,3,0,1,1,1,1,1,0\n0,5,3,2,2,1,1,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,6,1,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,1,1,2,0,1,2,0,1,1,1,0,1,0\n0,4,2,1,2,6,1,4,1,1,1,0,1,0\n0,0,2,1,1,1,3,0,1,1,1,1,1,0\n1,5,5,2,2,8,3,0,0,1,1,0,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,1,1,2,0,4,2,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,5,10,1,0,1,1,1,2,1,0\n0,0,5,2,5,3,3,4,0,1,1,0,1,0\n2,1,3,2,4,3,3,0,1,1,1,0,1,0\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,1\n0,4,0,3,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,8,0,2,1,3,0,1,1,1,0,1,0\n1,0,6,2,0,5,2,0,1,1,1,0,1,0\n1,1,5,2,2,9,1,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,4,1,1,1,0,1,0\n2,1,1,2,4,4,3,0,0,1,1,1,1,0\n0,0,3,2,1,2,3,0,0,1,1,2,1,0\n3,4,8,0,0,12,2,0,1,1,1,0,1,0\n1,5,1,2,2,2,3,4,0,1,1,2,1,0\n3,2,10,3,0,4,2,0,1,1,1,1,1,1\n0,3,0,3,2,4,3,0,1,1,1,1,1,1\n3,4,8,0,4,8,3,0,0,1,1,0,1,0\n2,0,3,2,1,11,5,4,0,1,1,2,1,0\n1,5,3,2,1,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,9,1,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,1,2,3,0,1,1,1,0,1,0\n1,0,10,3,1,4,5,0,0,1,1,0,1,0\n0,0,2,1,3,3,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,10,1,4,1,1,1,0,1,0\n0,3,2,1,2,8,5,4,0,1,1,0,1,0\n2,0,1,2,3,0,4,4,0,1,1,0,1,0\n0,0,1,2,0,8,0,0,0,1,1,0,1,1\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n2,4,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,0,0,3,1,3,5,0,0,1,1,1,1,0\n1,0,3,2,2,8,3,1,0,1,1,2,1,0\n1,0,0,3,1,8,5,0,1,1,1,0,1,0\n2,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,0,1,1,0,1,1,1,2,1,0\n0,5,3,2,2,2,4,0,1,1,1,0,1,0\n1,0,6,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,5,1,0,1,1,0,1,0\n2,0,2,1,4,10,5,0,0,1,1,0,1,0\n0,0,1,2,2,7,3,0,0,1,1,1,1,0\n1,5,10,3,2,5,3,0,0,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,6,3,0,1,1,1,2,1,0\n2,0,3,2,5,11,3,4,0,1,1,2,1,0\n0,0,3,2,2,4,1,0,0,1,1,0,1,0\n2,3,5,2,0,4,2,1,1,1,1,0,1,1\n0,0,5,2,0,5,4,0,1,1,1,0,1,1\n1,4,1,2,0,12,2,0,1,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,4,6,2,0,1,2,0,1,1,1,0,1,0\n1,2,6,2,1,9,3,0,1,1,1,1,1,0\n1,0,3,2,1,3,5,0,0,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,1\n1,0,3,2,3,6,5,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n1,0,3,2,1,0,5,4,0,1,1,1,1,0\n0,0,5,2,2,8,4,0,1,1,1,2,1,0\n2,4,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,3,0,0,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,0,2,1,0,12,2,0,1,1,1,2,1,0\n1,0,10,3,1,3,5,3,0,1,1,2,1,0\n1,4,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,1,3,2,2,8,3,0,0,1,1,1,1,0\n1,4,3,2,0,12,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,10,3,0,3,2,0,1,1,1,0,1,0\n0,0,10,3,2,0,3,0,1,1,1,1,1,0\n1,5,0,3,0,5,0,0,0,1,1,0,1,1\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n2,4,2,1,0,4,2,0,1,1,1,0,1,1\n1,5,6,2,0,0,2,0,1,1,1,0,1,0\n0,5,1,2,2,10,1,0,1,1,1,2,1,0\n1,0,4,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,11,0,0,9,2,0,1,1,1,0,1,0\n2,0,3,2,4,2,3,0,0,1,1,1,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,5,0,3,0,12,2,4,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,4,1,0,0,1,1,0,1,0\n1,5,3,2,0,2,2,4,1,1,1,0,1,0\n2,0,14,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n2,0,3,2,2,4,3,0,0,1,1,1,1,0\n0,0,1,2,2,3,4,0,0,1,1,0,1,0\n0,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,0,10,2,1,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,6,2,2,8,5,0,0,1,1,0,1,0\n2,1,1,2,0,3,2,0,1,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,1,0,3,0,4,0,0,0,1,1,2,1,0\n0,0,3,2,3,6,1,0,0,1,1,2,1,0\n1,4,10,3,0,4,2,0,1,1,1,0,1,1\n0,4,1,2,0,5,2,3,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n0,1,3,2,2,1,3,0,1,1,1,1,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,4,1,1,1,1,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,2,6,1,0,1,1,1,1,1,0\n2,0,8,0,1,3,3,0,0,1,1,0,1,0\n2,0,8,0,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,0,6,2,0,1,1,1,1,1,0\n2,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,1,8,3,0,0,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,9,1,2,3,3,0,1,1,1,1,1,0\n1,2,3,2,2,5,5,0,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,2,1,1\n2,4,3,2,0,1,2,0,1,1,1,0,1,1\n2,1,10,3,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,4,0,0,1,1,2,1,0\n0,0,1,2,2,4,3,0,0,1,1,0,1,0\n1,3,1,2,0,0,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,4,1,1,1,0,1,0\n1,5,0,3,2,4,3,0,0,1,1,1,1,0\n2,0,0,3,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,5,1,2,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,1,7,1,2,9,4,3,0,1,1,0,1,0\n0,0,10,3,2,5,3,1,1,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,0,3,2,5,3,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,1,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,0,1,1,1,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,2,0,3,0,1,1,1,0,1,0\n1,3,12,1,1,8,5,0,0,1,1,1,1,0\n2,1,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,3,0,0,1,1,2,1,0\n1,3,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,6,3,0,1,1,1,1,1,0\n1,0,6,2,1,3,3,0,1,1,1,1,1,1\n1,0,14,0,0,9,2,0,1,1,1,1,1,0\n1,0,5,2,0,5,2,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n2,1,10,3,0,5,2,0,1,1,1,2,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n2,1,0,3,0,9,2,0,1,1,1,2,1,0\n0,0,3,2,2,2,5,4,1,1,1,0,1,0\n2,1,3,2,4,4,3,0,0,1,1,1,1,1\n0,0,0,3,0,8,2,0,1,1,1,0,1,0\n0,0,5,2,0,7,2,0,1,1,1,1,1,1\n1,0,6,2,4,4,5,0,0,1,1,0,1,1\n2,0,1,2,0,3,2,0,1,1,1,2,1,0\n1,3,3,2,1,9,4,0,1,1,1,0,1,0\n1,3,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,5,8,5,0,0,1,1,0,1,0\n0,0,1,2,0,7,0,0,0,1,1,0,1,0\n0,0,6,2,3,0,1,0,0,1,1,0,1,0\n2,2,0,3,0,3,2,0,1,1,1,0,1,1\n2,0,3,2,2,12,3,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,4,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,10,3,2,5,3,0,0,1,1,1,1,0\n0,5,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,5,0,1,1,1,0,1,0\n0,0,1,2,3,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,1,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,0,0,2,4,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,3,4,0,1,1,0,1,0\n1,0,14,0,0,1,2,0,1,1,1,1,1,0\n2,1,3,2,1,4,3,0,1,1,1,1,1,1\n0,0,6,2,0,5,0,0,0,1,1,2,1,1\n0,0,5,2,1,4,3,0,0,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n2,0,5,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,9,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,5,4,0,1,1,0,1,0\n0,0,3,2,2,4,5,4,0,1,1,1,1,0\n1,0,3,2,1,8,3,4,0,1,1,2,1,0\n0,2,0,3,0,6,2,0,1,1,1,1,1,1\n0,5,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,7,1,0,1,2,0,1,1,1,0,1,1\n0,4,3,2,2,1,1,4,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,0,3,1,5,3,0,1,1,1,2,1,1\n1,4,3,2,0,12,2,0,1,1,1,1,1,1\n1,0,1,2,1,3,3,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,1,1,0\n2,0,12,1,4,8,4,0,1,1,1,2,1,0\n0,0,3,2,1,7,3,0,0,1,1,0,1,0\n1,0,3,2,2,1,4,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n1,0,3,2,5,4,3,0,1,1,1,0,1,0\n0,1,5,2,0,5,2,0,1,1,1,0,1,0\n0,0,5,2,2,1,3,0,1,1,1,2,1,0\n0,1,3,2,2,1,5,0,1,1,1,0,1,0\n1,0,1,2,2,2,5,4,0,1,1,0,1,0\n2,0,3,2,0,8,0,0,0,1,1,2,1,1\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,1,0,1,4,0,1,1,0,1,0\n1,0,1,2,2,3,1,0,0,1,1,1,1,0\n1,1,8,0,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,1,1,1,2,1,0\n0,0,0,3,0,5,2,1,1,1,1,1,1,1\n0,0,1,2,2,3,3,1,0,1,1,1,1,0\n2,1,14,0,0,10,2,0,1,1,1,1,1,0\n1,0,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,11,0,5,11,3,0,0,1,1,0,1,0\n1,0,0,3,1,2,3,0,0,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,0,3,0,8,0,0,0,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,2,1,0,1,1,1,2,1,0\n2,0,9,1,0,7,2,4,1,1,1,0,1,1\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,9,1,1,1,3,0,1,1,1,0,1,0\n2,0,3,2,2,2,1,4,0,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n1,0,6,2,2,8,4,4,0,1,1,0,1,0\n0,0,12,1,2,6,1,4,1,1,1,0,1,0\n0,4,10,3,0,5,2,0,1,1,1,2,1,0\n0,0,6,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,6,2,2,6,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,5,0,1,1,1,0,1,0\n1,3,0,3,1,0,5,0,0,1,1,1,1,0\n0,0,5,2,1,0,3,0,0,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n2,0,14,0,3,6,3,4,1,1,1,0,1,0\n0,0,0,3,0,8,2,0,1,1,1,1,1,1\n1,0,8,0,2,7,3,0,1,1,1,1,1,0\n2,0,1,2,0,7,2,0,1,1,1,0,1,1\n1,0,1,2,1,3,3,0,0,1,1,1,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,1,1,1,1,1,1\n1,0,10,3,2,5,3,0,1,1,1,1,1,1\n2,0,3,2,1,1,3,0,0,1,1,2,1,0\n0,0,2,1,2,2,3,0,1,1,1,0,1,0\n1,4,5,2,2,8,3,0,1,1,1,2,1,0\n2,0,0,3,2,5,1,0,1,1,1,0,1,0\n0,0,1,2,3,2,5,4,0,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,0,1,0\n3,0,1,2,4,3,3,0,0,1,1,2,1,0\n0,0,3,2,2,9,1,0,1,1,1,0,1,0\n0,0,1,2,0,6,2,4,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,2,0,0,0,1,1,1,1,0\n2,4,1,2,1,12,3,0,0,1,1,2,1,0\n1,0,10,3,0,3,2,0,1,1,1,1,1,0\n1,2,0,3,0,3,2,0,1,1,1,0,1,1\n2,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,4,3,3,0,0,1,1,0,1,0\n1,0,6,2,0,5,0,0,0,1,1,2,1,1\n1,0,1,2,1,6,1,0,1,1,1,0,1,0\n2,0,1,2,0,5,2,0,1,1,1,0,1,1\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n2,0,3,2,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,0,5,0,0,1,1,0,1,0\n2,0,13,3,0,4,2,0,1,1,1,0,1,1\n1,2,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,3,3,0,0,1,1,1,1,0\n2,0,3,2,4,2,5,1,0,1,1,0,1,0\n1,4,3,2,3,10,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,4,4,1,1,1,0,1,0\n0,1,3,2,1,7,3,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,5,2,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,5,0,3,0,2,0,0,0,1,1,0,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,7,4,0,1,1,1,0,1,0\n0,0,9,1,0,1,2,0,1,1,1,0,1,0\n1,5,1,2,2,9,3,4,1,1,1,0,1,0\n0,0,1,2,2,1,5,0,1,1,1,0,1,0\n0,0,6,2,0,3,2,0,1,1,1,0,1,0\n0,5,1,2,2,2,1,0,0,1,1,2,1,0\n1,1,0,3,2,9,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,3,4,0,1,1,2,1,0\n0,1,0,3,0,4,2,0,1,1,1,0,1,1\n1,1,0,3,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,5,3,2,1,5,5,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,1\n0,4,1,2,2,5,1,0,0,1,1,2,1,0\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n2,0,5,2,0,10,2,0,1,1,1,2,1,1\n2,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,5,2,3,3,5,0,1,1,1,2,1,0\n1,0,1,2,1,4,3,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,0,8,0,0,0,1,1,0,1,0\n1,0,3,2,0,3,0,0,0,1,1,2,1,0\n2,4,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,14,0,1,2,5,3,0,1,1,2,1,0\n2,4,3,2,4,0,3,0,0,1,1,0,1,0\n1,0,3,2,3,1,3,0,1,1,1,0,1,1\n0,0,5,2,0,2,0,0,0,1,1,2,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,5,13,3,1,5,3,0,0,1,1,0,1,0\n0,1,2,1,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,2,2,3,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,1,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,0,3,0,7,2,1,1,1,1,2,1,0\n0,0,2,1,0,1,2,3,1,1,1,0,1,0\n2,0,9,1,4,11,5,4,0,1,1,2,1,0\n1,0,8,0,2,2,1,4,1,1,1,1,1,0\n0,0,0,3,1,5,3,0,1,1,1,1,1,0\n2,3,1,2,0,4,2,2,1,1,1,1,1,1\n0,0,1,2,2,3,5,0,0,1,1,1,1,0\n1,0,3,2,3,7,3,4,0,1,1,0,1,0\n1,0,0,3,1,10,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,5,2,3,8,3,0,1,1,1,2,1,0\n1,0,8,0,3,1,5,0,1,1,1,0,1,0\n1,0,3,2,3,8,5,4,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,1,5,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,12,3,0,1,1,1,0,1,0\n1,0,14,0,0,6,2,0,1,1,1,0,1,0\n0,4,0,3,0,5,2,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,6,2,0,4,2,0,1,1,1,0,1,1\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,0,3,0,1,1,1,0,1,0\n1,0,7,1,1,2,3,0,0,1,1,0,1,0\n0,0,1,2,2,4,3,4,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n2,2,6,2,0,4,2,0,1,1,1,1,1,1\n0,4,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,7,1,2,2,1,0,0,1,1,2,1,0\n0,5,10,3,3,1,3,0,1,1,1,0,1,1\n0,0,1,2,0,8,0,0,0,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n2,0,1,2,1,8,3,0,0,1,1,0,1,0\n2,1,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,6,2,0,5,0,0,0,1,1,0,1,1\n2,0,9,1,0,6,2,0,1,1,1,0,1,0\n2,0,3,2,4,2,3,0,0,1,1,2,1,0\n1,0,3,2,5,7,3,0,1,1,1,1,1,0\n0,0,1,2,2,12,1,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,0,3,0,1,1,1,1,1,0\n2,0,1,2,1,2,3,1,0,1,1,2,1,0\n0,0,3,2,0,1,2,4,1,1,1,0,1,0\n1,0,6,2,1,0,3,0,0,1,1,0,1,0\n1,0,6,2,0,7,2,0,1,1,1,0,1,0\n3,4,3,2,4,8,5,0,0,1,1,2,1,0\n1,1,3,2,0,3,2,0,1,1,1,0,1,1\n2,2,8,0,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,1,4,3,0,0,1,1,0,1,0\n0,0,7,1,2,9,1,4,1,1,1,2,1,0\n2,0,7,1,0,1,2,0,1,1,1,0,1,1\n1,4,13,3,2,5,5,4,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,2,3,2,2,4,3,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,12,1,4,7,3,0,0,1,1,2,1,0\n1,0,1,2,0,3,0,0,0,1,1,0,1,1\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,7,1,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,3,6,3,0,1,1,1,1,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n2,2,8,0,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,0,6,2,0,1,1,1,2,1,0\n0,0,1,2,2,6,5,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,5,0,3,0,5,2,0,1,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,8,2,0,1,1,1,1,1,0\n0,4,6,2,0,2,2,0,1,1,1,0,1,1\n0,5,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,1,7,1,0,0,1,1,0,1,0\n1,3,5,2,3,8,5,4,0,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,2,1,0\n2,0,2,1,0,1,2,0,1,1,1,0,1,1\n0,3,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,6,2,1,0,5,0,0,1,1,0,1,0\n0,1,3,2,2,9,1,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n2,2,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,1,2,0,1,1,1,2,1,0\n0,0,11,0,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,0,2,4,1,1,1,0,1,1\n1,1,0,3,1,5,3,0,1,1,1,1,1,0\n2,5,8,0,4,2,3,4,0,1,1,0,1,0\n2,4,3,2,4,8,3,0,0,1,1,2,1,0\n1,0,10,3,4,3,1,1,0,1,1,1,1,0\n1,5,3,2,0,3,0,0,0,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,2,1,1\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n1,1,10,3,0,5,0,0,0,1,1,2,1,1\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,0,14,0,0,7,2,4,1,1,1,0,1,0\n1,0,11,0,1,2,3,0,0,1,1,2,1,0\n0,0,3,2,1,8,5,4,0,1,1,0,1,0\n0,0,3,2,2,2,4,0,0,1,1,0,1,0\n0,4,6,2,2,12,3,1,0,1,1,1,1,0\n1,4,0,3,0,5,0,4,0,1,1,2,1,1\n0,0,3,2,0,10,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,3,0,3,2,0,5,0,1,1,1,0,1,0\n0,3,0,3,3,0,5,0,1,1,1,0,1,0\n2,0,3,2,2,3,3,0,0,1,1,0,1,0\n1,0,3,2,1,1,5,0,1,1,1,0,1,0\n0,1,1,2,0,4,2,0,1,1,1,2,1,1\n0,0,6,2,1,4,5,0,1,1,1,0,1,0\n2,0,3,2,0,7,2,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,5,0,0,1,1,2,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,4,1,1,1,0,1,0\n0,1,10,3,2,4,3,4,0,1,1,1,1,1\n3,0,8,0,0,3,2,0,1,1,1,2,1,0\n0,0,13,3,0,0,2,1,1,1,1,0,1,0\n1,0,12,1,0,10,2,0,1,1,1,1,1,0\n1,1,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,5,0,1,1,1,0,1,0\n1,0,3,2,2,8,3,0,0,1,1,1,1,0\n0,0,0,3,2,8,5,4,0,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,2,1,2,0,3,2,0,1,1,1,2,1,0\n0,0,0,3,2,2,3,0,0,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,1,3,2,1,1,3,0,1,1,1,1,1,1\n2,3,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,2,1,3,3,3,3,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,0,3,0,0,0,1,1,0,1,1\n0,0,3,2,0,8,0,0,0,1,1,2,1,1\n1,0,4,3,2,5,3,0,1,1,1,0,1,1\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,5,5,0,0,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,0,1,2,1,0,5,4,0,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,1,2,0,6,2,0,1,1,1,1,1,0\n0,0,6,2,2,5,3,0,0,1,1,2,1,0\n2,0,8,0,5,2,3,0,0,1,1,2,1,0\n1,0,3,2,4,2,3,0,0,1,1,0,1,0\n2,4,5,2,0,2,2,0,1,1,1,2,1,0\n0,0,0,3,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,1,1,1,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,0,2,2,0,1,1,1,2,1,1\n0,0,6,2,0,5,0,0,0,1,1,0,1,1\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,4,0,1,1,2,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,0,3,2,4,1,0,0,1,1,2,1,0\n0,0,6,2,0,1,2,1,1,1,1,0,1,1\n2,0,12,1,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,4,1,1,1,0,1,0\n1,0,3,2,1,2,5,1,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,0,11,0,4,2,5,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,4,3,2,0,6,2,4,1,1,1,0,1,0\n2,2,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,5,4,1,1,1,1,1,0\n0,0,1,2,0,3,2,1,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,12,1,0,6,2,0,1,1,1,0,1,0\n0,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,5,0,3,2,8,3,4,0,1,1,0,1,0\n2,1,0,3,0,5,2,0,1,1,1,2,1,1\n2,0,1,2,2,5,3,0,0,1,1,2,1,0\n1,4,10,3,0,5,0,4,0,1,1,2,1,1\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,5,2,2,2,1,0,0,1,1,2,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,0\n1,1,0,3,3,10,3,0,1,1,1,1,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,2,2,3,0,1,1,1,0,1,0\n1,4,8,0,0,7,2,0,1,1,1,0,1,0\n1,0,13,3,4,5,3,0,0,1,1,1,1,1\n1,0,3,2,2,7,3,4,0,1,1,2,1,0\n0,0,3,2,1,2,3,0,0,1,1,2,1,0\n2,1,8,0,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,1,5,3,0,0,1,1,1,1,0\n1,5,0,3,1,4,3,0,1,1,1,1,1,1\n1,0,1,2,5,10,5,0,1,1,1,0,1,0\n1,3,1,2,1,8,5,1,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,4,3,2,2,3,0,0,1,1,2,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,5,6,2,0,0,2,0,1,1,1,0,1,0\n1,3,4,3,0,8,2,0,1,1,1,1,1,1\n1,0,3,2,1,0,5,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,4,11,4,4,0,1,1,2,1,0\n2,0,4,3,0,5,0,0,0,1,1,1,1,1\n2,4,1,2,4,2,3,0,0,1,1,1,1,0\n0,3,5,2,2,0,3,1,0,1,1,1,1,1\n0,0,2,1,3,6,4,0,1,1,1,0,1,0\n1,4,1,2,0,8,0,0,0,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,0,0,0,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,2,3,2,2,2,4,0,1,1,1,2,1,0\n3,0,8,0,0,6,2,0,1,1,1,2,1,0\n0,1,2,1,0,5,2,2,1,1,1,2,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,8,2,4,1,1,1,0,1,0\n0,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,1,1,1,1,1,0\n1,5,3,2,0,7,2,1,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,1,3,2,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,0,0,0,1,1,0,1,1\n2,0,14,0,0,8,2,4,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,2,6,2,0,2,2,0,1,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,10,3,0,3,2,0,1,1,1,2,1,0\n1,0,2,1,0,7,2,0,1,1,1,2,1,0\n2,1,3,2,3,9,3,0,1,1,1,1,1,0\n1,0,1,2,0,4,0,1,0,1,1,0,1,1\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,2,8,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,4,1,1,1,1,1,0\n0,0,10,3,0,5,0,0,0,1,1,1,1,1\n2,0,0,3,0,3,2,1,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,2,1,0,7,2,4,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,10,3,5,4,3,1,1,1,1,2,1,1\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,3,3,2,2,5,1,0,0,1,1,0,1,0\n3,0,8,0,0,9,2,0,1,1,1,2,1,0\n0,0,3,2,2,4,3,0,0,1,1,1,1,0\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,8,0,0,0,1,1,2,1,0\n2,5,1,2,0,5,2,1,1,1,1,1,1,1\n0,1,3,2,0,4,2,0,1,1,1,2,1,0\n0,0,2,1,2,6,1,0,1,1,1,0,1,0\n1,4,1,2,0,10,2,4,1,1,1,0,1,0\n0,4,10,3,2,5,3,0,0,1,1,0,1,0\n2,0,10,3,1,4,3,0,0,1,1,1,1,1\n2,4,12,1,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n0,5,12,1,2,1,5,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,0,2,2,4,1,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,2,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,0,3,0,0,0,1,1,0,1,0\n1,0,9,1,4,7,3,0,1,1,1,0,1,1\n0,0,6,2,2,7,1,0,1,1,1,0,1,0\n2,0,10,3,0,8,2,0,1,1,1,0,1,0\n0,3,3,2,1,8,3,4,0,1,1,0,1,0\n0,0,5,2,2,6,1,0,1,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,1,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,5,1,2,1,8,3,0,0,1,1,0,1,0\n1,0,5,2,1,3,3,0,1,1,1,0,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,2,12,5,0,0,1,1,2,1,0\n0,1,3,2,2,9,5,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,10,3,2,5,3,0,1,1,1,1,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,1,4,0,1,1,0,1,0\n0,0,1,2,1,3,5,4,0,1,1,0,1,0\n2,1,6,2,0,4,2,0,1,1,1,2,1,0\n1,0,10,3,0,5,2,0,1,1,1,2,1,1\n2,1,6,2,0,4,2,0,1,1,1,2,1,0\n2,4,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,5,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n1,4,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,1\n1,2,5,2,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,3,0,0,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,2,1,0\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,12,1,2,7,1,0,1,1,1,0,1,0\n0,0,1,2,2,0,3,0,1,1,1,0,1,0\n0,0,3,2,1,0,5,0,0,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,5,2,5,0,0,1,1,2,1,0\n0,5,0,3,2,5,3,0,1,1,1,2,1,0\n2,0,0,3,0,5,2,0,1,1,1,2,1,1\n0,5,1,2,2,6,1,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,4,1,1,1,2,1,0\n0,0,3,2,1,3,3,0,1,1,1,2,1,0\n0,0,2,1,0,6,2,0,1,1,1,0,1,0\n0,0,9,1,2,6,4,0,1,1,1,0,1,0\n1,0,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,14,0,2,2,3,0,0,1,1,0,1,0\n1,2,5,2,0,4,2,0,1,1,1,1,1,1\n2,1,0,3,1,3,3,0,1,1,1,2,1,0\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n0,0,2,1,0,12,2,0,1,1,1,0,1,0\n3,1,6,2,1,5,3,0,0,1,1,1,1,1\n2,1,2,1,4,4,3,0,0,1,1,1,1,1\n1,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,3,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,5,3,2,2,8,5,0,0,1,1,0,1,0\n2,0,1,2,0,6,2,0,1,1,1,1,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n1,1,5,2,2,3,1,0,1,1,1,1,1,0\n2,0,14,0,0,10,2,0,1,1,1,2,1,0\n1,0,12,1,0,7,2,4,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,0\n0,5,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,4,8,3,0,0,1,1,1,1,0\n1,4,1,2,1,0,5,0,0,1,1,2,1,0\n1,0,12,1,0,10,2,0,1,1,1,0,1,0\n0,0,10,3,2,4,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,4,0,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,0,8,2,0,1,1,1,1,1,0\n1,0,3,2,1,1,5,4,1,1,1,1,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,0\n1,0,10,3,2,5,3,0,1,1,1,1,1,1\n2,0,8,0,4,10,3,4,1,1,1,0,1,0\n0,3,6,2,2,5,3,0,0,1,1,0,1,0\n0,0,2,1,2,2,3,0,1,1,1,0,1,0\n1,3,0,3,0,5,2,1,1,1,1,0,1,1\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,2,2,0,1,1,1,2,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,1,12,3,0,1,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n3,4,11,0,4,9,3,1,1,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,7,1,1,10,3,0,1,1,1,0,1,0\n0,5,3,2,2,2,5,0,0,1,1,1,1,0\n0,1,1,2,0,4,2,0,1,1,1,1,1,0\n2,1,10,3,3,9,3,0,1,1,1,2,1,0\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,0,3,1,2,5,1,0,1,1,0,1,0\n1,1,0,3,0,4,0,0,0,1,1,2,1,1\n1,0,7,1,0,6,2,0,1,1,1,0,1,0\n0,0,6,2,2,8,1,4,0,1,1,0,1,0\n1,1,1,2,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,0,0,0,1,1,1,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n2,0,1,2,0,3,2,0,1,1,1,2,1,0\n0,0,0,3,2,1,5,0,0,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,1,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,1,1,1,1,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,1\n2,4,3,2,4,8,3,0,0,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,10,3,2,5,3,0,1,1,1,0,1,0\n0,5,10,3,2,5,1,0,1,1,1,2,1,0\n0,0,7,1,2,6,1,0,1,1,1,0,1,0\n2,3,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,7,1,2,6,1,0,1,1,1,2,1,0\n1,0,3,2,2,10,3,0,1,1,1,0,1,0\n1,0,7,1,0,1,2,0,1,1,1,1,1,0\n1,0,13,3,1,3,3,0,1,1,1,1,1,1\n0,0,1,2,0,8,0,4,0,1,1,0,1,0\n1,1,10,3,1,10,3,0,1,1,1,1,1,1\n1,0,3,2,3,7,5,0,0,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,5,0,0,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,0\n0,0,5,2,2,8,5,1,1,1,1,2,1,0\n1,0,5,2,1,1,5,0,1,1,1,0,1,0\n1,0,0,3,0,8,2,4,1,1,1,1,1,1\n0,4,3,2,1,2,1,4,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n0,4,9,1,2,8,1,4,0,1,1,2,1,0\n0,0,0,3,2,0,1,0,0,1,1,2,1,0\n2,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n2,0,0,3,1,8,3,0,0,1,1,2,1,0\n1,1,12,1,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,1,1,1,1,1,0\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,8,0,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,6,4,0,1,1,1,0,1,0\n2,0,3,2,1,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,4,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,1,4,3,0,0,1,1,1,1,0\n0,0,6,2,1,0,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,2,8,3,0,1,1,1,1,1,0\n1,1,3,2,3,9,3,0,1,1,1,1,1,0\n2,0,1,2,0,5,2,0,1,1,1,0,1,1\n0,0,6,2,2,1,5,0,1,1,1,0,1,1\n0,0,1,2,2,9,5,0,1,1,1,1,1,0\n1,1,10,3,0,4,0,0,0,1,1,2,1,1\n0,4,1,2,0,0,2,0,1,1,1,1,1,1\n0,0,6,2,2,8,4,0,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,2,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,12,1,0,7,2,4,1,1,1,1,1,0\n2,0,4,3,0,4,2,0,1,1,1,1,1,1\n2,2,3,2,0,8,0,0,0,1,1,2,1,1\n1,0,10,3,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,0,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,0,6,2,0,1,1,1,2,1,0\n0,4,1,2,1,0,5,0,0,1,1,0,1,0\n2,2,12,1,0,4,2,0,1,1,1,0,1,1\n2,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,8,0,0,0,1,1,2,1,0\n1,5,10,3,2,8,3,0,0,1,1,0,1,0\n1,1,12,1,3,4,5,0,0,1,1,2,1,0\n2,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,1,1,3,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,0,3,4,8,3,0,0,1,1,1,1,1\n0,5,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,2,11,4,0,0,1,1,2,1,0\n1,2,3,2,2,1,3,0,1,1,1,1,1,0\n2,1,3,2,1,8,5,0,0,1,1,1,1,0\n0,0,5,2,2,8,3,4,0,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,4,10,3,0,5,2,0,1,1,1,2,1,0\n1,5,1,2,0,12,2,1,1,1,1,0,1,0\n2,2,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,4,1,1,1,0,1,0\n0,0,1,2,1,8,3,0,0,1,1,1,1,0\n0,0,1,2,2,3,3,1,0,1,1,1,1,0\n1,0,11,0,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,2,2,5,4,1,1,1,0,1,0\n1,1,14,0,0,9,2,0,1,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,2,4,3,0,1,1,1,1,1,0\n2,2,1,2,4,4,3,0,0,1,1,2,1,0\n1,0,14,0,2,2,3,1,1,1,1,0,1,0\n1,0,1,2,0,4,0,0,0,1,1,0,1,1\n0,0,3,2,2,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,1,2,1,3,3,0,0,1,1,2,1,0\n1,5,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,2,7,1,4,0,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,12,1,2,2,5,4,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,10,3,2,5,1,1,0,1,1,0,1,1\n0,0,0,3,1,4,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,1,0,4,0,0,1,1,0,1,0\n1,3,0,3,0,8,2,0,1,1,1,1,1,1\n1,0,1,2,3,1,5,0,0,1,1,2,1,0\n1,4,3,2,1,1,3,0,1,1,1,0,1,0\n2,0,3,2,4,4,3,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,2,1,2,12,3,0,0,1,1,2,1,0\n1,1,3,2,0,5,0,0,0,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,14,0,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,2,1,1,1,3,0,1,1,1,0,1,0\n3,1,8,0,4,9,3,0,1,1,1,2,1,0\n0,0,3,2,2,3,3,0,1,1,1,1,1,0\n0,4,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,0,3,2,2,1,4,1,1,1,1,1,0\n1,0,3,2,0,0,2,0,1,1,1,0,1,0\n2,0,6,2,0,8,2,0,1,1,1,1,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,4,3,2,2,10,5,0,0,1,1,0,1,0\n0,0,3,2,2,7,4,4,1,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,12,1,0,10,2,0,1,1,1,1,1,0\n0,1,0,3,2,3,3,0,1,1,1,0,1,0\n2,4,1,2,3,2,3,4,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n2,0,1,2,0,8,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,7,3,1,1,1,1,0,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n3,0,3,2,5,3,3,0,1,1,1,2,1,0\n2,0,10,3,1,3,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,4,0,1,1,1,2,1,0\n1,0,14,0,5,11,4,0,0,1,1,0,1,0\n1,3,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,4,1,1,1,2,1,0\n2,0,1,2,4,3,3,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,1,2,0,9,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,1,1,2,0,9,2,0,1,1,1,0,1,0\n1,0,3,2,2,4,1,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,4,3,2,5,4,0,0,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,5,5,2,1,8,5,0,0,1,1,0,1,0\n2,3,10,3,0,0,2,1,1,1,1,0,1,1\n1,4,6,2,0,12,2,0,1,1,1,1,1,1\n1,0,12,1,3,7,1,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,2,4,3,0,1,1,1,1,1,0\n1,0,1,2,1,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,1,0,5,0,0,1,1,0,1,0\n2,0,3,2,0,6,2,0,1,1,1,2,1,0\n2,0,3,2,1,6,4,0,0,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,2,1,0\n0,0,3,2,0,4,0,0,0,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,12,1,0,2,0,0,0,1,1,0,1,0\n0,0,8,0,2,7,4,0,1,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n1,5,13,3,2,5,3,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,1,1,1,1,1,1\n0,4,0,3,2,12,3,0,0,1,1,1,1,0\n1,3,3,2,2,2,3,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,2,1,0\n1,0,10,3,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,1,0,0,1,1,2,1,0\n0,0,3,2,1,1,4,0,1,1,1,0,1,0\n0,0,9,1,2,6,4,0,1,1,1,2,1,0\n0,1,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,1,3,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,4,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,1,2,1,1,1,1,0,1,0\n2,1,14,0,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,5,0,3,2,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,0,0,0,0,1,1,0,1,0\n1,1,8,0,0,9,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,5,2,2,3,1,0,0,1,1,2,1,0\n0,3,3,2,1,4,5,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,12,1,2,10,3,0,1,1,1,0,1,0\n1,0,12,1,0,9,2,0,1,1,1,2,1,0\n0,0,7,1,1,1,3,0,1,1,1,1,1,0\n1,0,0,3,2,3,3,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,12,1,2,2,1,4,1,1,1,2,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n2,0,3,2,4,3,3,4,0,1,1,2,1,0\n0,0,3,2,0,2,0,0,0,1,1,2,1,0\n1,0,15,0,0,2,2,0,1,1,1,0,1,0\n2,0,0,3,1,5,3,1,0,1,1,0,1,0\n2,0,3,2,0,2,2,0,1,1,1,0,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n2,0,1,2,4,3,3,0,1,1,1,2,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,4,2,1,5,1,3,4,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,5,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,1,10,5,0,1,1,1,0,1,0\n1,5,3,2,4,4,3,0,0,1,1,0,1,0\n2,0,3,2,1,8,3,0,0,1,1,2,1,0\n1,0,0,3,4,4,5,0,0,1,1,2,1,0\n1,1,10,3,1,4,5,0,0,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,2,0,3,4,0,1,1,0,1,0\n0,5,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,2,1,0,7,2,0,1,1,1,1,1,0\n0,0,1,2,1,8,3,0,1,1,1,2,1,0\n0,0,0,3,2,2,3,0,1,1,1,1,1,0\n2,1,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,0,1,0,1,1,1,0,1,0\n2,1,1,2,0,5,2,0,1,1,1,2,1,0\n1,0,8,0,0,1,2,0,1,1,1,1,1,0\n0,0,6,2,2,4,3,0,1,1,1,0,1,0\n1,0,7,1,1,10,3,0,1,1,1,0,1,0\n1,0,7,1,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,4,1,1,0,1,1,0,1,0\n0,0,0,3,2,12,4,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,5,2,2,3,3,0,1,1,1,0,1,0\n0,0,1,2,0,0,2,4,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,3,2,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,1,1,1,0,1,0\n0,5,3,2,2,2,3,4,0,1,1,0,1,0\n0,0,6,2,2,5,1,0,0,1,1,2,1,0\n0,0,0,3,0,8,0,0,0,1,1,0,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,1,8,3,0,0,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,6,2,1,1,3,0,1,1,1,0,1,0\n2,0,12,1,0,1,2,0,1,1,1,0,1,1\n1,0,2,1,3,3,5,0,0,1,1,0,1,0\n1,0,9,1,0,7,2,0,1,1,1,0,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n0,4,1,2,2,6,3,0,1,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,0,14,0,0,2,2,0,1,1,1,0,1,0\n1,0,2,1,2,2,4,1,1,1,1,2,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n2,1,3,2,0,4,2,0,1,1,1,2,1,1\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,3,8,3,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,0,8,2,4,1,1,1,0,1,1\n1,0,3,2,0,5,2,0,1,1,1,0,1,1\n2,0,0,3,1,5,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,2,1,1\n0,0,5,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,1,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,10,3,2,8,3,0,0,1,1,0,1,0\n0,0,4,3,2,5,3,0,1,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,3,5,2,0,8,0,4,0,1,1,0,1,1\n0,3,5,2,1,5,5,4,0,1,1,0,1,0\n1,2,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,5,3,2,0,1,2,0,1,1,1,0,1,1\n1,2,1,2,1,3,3,0,0,1,1,0,1,0\n1,4,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,4,3,2,9,4,0,1,1,1,1,1,0\n0,0,6,2,0,0,4,0,0,1,1,0,1,0\n0,0,6,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,0,2,0,4,0,1,1,0,1,0\n1,2,1,2,1,3,1,0,0,1,1,1,1,0\n0,3,3,2,0,5,2,0,1,1,1,0,1,0\n1,0,0,3,1,3,1,0,1,1,1,1,1,0\n1,2,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,3,3,2,2,6,1,0,1,1,1,1,1,0\n2,1,5,2,0,3,2,0,1,1,1,2,1,1\n2,0,1,2,4,3,5,0,0,1,1,0,1,0\n1,3,0,3,0,8,2,1,1,1,1,0,1,1\n1,0,3,2,1,8,5,4,0,1,1,0,1,0\n1,0,3,2,2,6,1,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,2,1,2,2,1,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,4,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,11,1,0,0,1,1,1,1,0\n2,0,2,1,1,7,3,4,0,1,1,0,1,0\n0,0,10,3,2,4,3,0,0,1,1,0,1,1\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,2,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,5,1,4,0,1,1,0,1,0\n0,0,8,0,1,0,3,0,0,1,1,1,1,0\n1,5,0,3,1,5,3,0,1,1,1,0,1,0\n0,0,3,2,2,5,3,0,0,1,1,2,1,1\n0,0,7,1,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,5,0,0,1,1,1,1,0\n1,0,6,2,1,3,3,0,0,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,4,1,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,1,1,1,1,0,1,0\n2,0,3,2,1,3,3,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,0,8,0,0,6,2,0,1,1,1,1,1,0\n1,1,0,3,0,5,2,0,1,1,1,1,1,1\n0,4,0,3,2,12,5,4,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,4,1,2,2,4,1,0,1,1,1,2,1,0\n1,0,1,2,0,2,2,0,1,1,1,0,1,0\n3,4,3,2,4,2,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,4,0,1,1,2,1,0\n2,2,1,2,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,0,0,2,0,1,1,1,2,1,1\n0,0,3,2,1,7,3,0,1,1,1,0,1,0\n1,0,0,3,1,4,3,0,0,1,1,1,1,1\n0,0,0,3,2,5,3,1,1,1,1,2,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,4,3,2,1,8,3,4,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,5,2,0,0,2,0,1,1,1,0,1,1\n1,1,0,3,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,0\n1,3,3,2,0,3,2,0,1,1,1,0,1,0\n2,2,14,0,0,4,2,1,1,1,1,0,1,1\n0,0,3,2,2,3,1,4,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,6,2,1,8,5,0,0,1,1,2,1,0\n0,0,6,2,0,3,2,0,1,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,1,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,4,1,2,2,0,3,0,1,1,1,0,1,0\n2,0,1,2,0,2,2,0,1,1,1,2,1,0\n1,0,1,2,2,4,3,0,1,1,1,0,1,1\n2,0,1,2,1,4,3,0,0,1,1,0,1,0\n0,0,1,2,1,3,3,0,1,1,1,1,1,0\n0,0,0,3,0,1,2,4,1,1,1,0,1,0\n3,1,3,2,0,9,2,0,1,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,2,1,0\n1,0,6,2,1,1,3,4,1,1,1,0,1,0\n1,1,3,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,5,3,2,1,8,3,0,1,1,1,0,1,0\n0,5,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,2,1,3,1,5,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n2,1,10,3,3,3,5,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,2,1,0\n0,0,6,2,2,7,3,0,1,1,1,0,1,0\n1,4,0,3,0,4,2,2,1,1,1,1,1,1\n1,4,1,2,1,12,5,4,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,5,6,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,4,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,4,0,3,0,8,0,0,0,1,1,0,1,1\n2,3,1,2,2,5,3,0,1,1,1,0,1,1\n1,0,12,1,4,3,5,4,0,1,1,0,1,0\n1,0,9,1,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,7,0,0,0,1,1,2,1,0\n2,0,1,2,0,10,2,4,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,2,0,3,0,1,1,1,2,1,0\n0,1,2,1,2,5,1,0,0,1,1,2,1,0\n0,0,5,2,0,3,2,0,1,1,1,1,1,1\n0,0,9,1,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n1,5,0,3,0,12,2,0,1,1,1,0,1,1\n1,0,1,2,2,5,3,0,1,1,1,0,1,0\n2,0,3,2,2,4,3,0,0,1,1,1,1,0\n0,0,1,2,0,7,0,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,5,0,1,1,1,1,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,1,12,1,0,9,2,0,1,1,1,1,1,1\n1,0,0,3,1,10,3,0,1,1,1,1,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n2,1,10,3,0,3,2,0,1,1,1,0,1,1\n1,0,10,3,0,8,0,0,0,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,1,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,1,2,0,7,2,0,1,1,1,1,1,1\n1,0,0,3,1,5,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n2,0,5,2,2,4,3,0,0,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,1,3,2,5,1,3,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,1\n0,0,3,2,2,1,4,0,1,1,1,1,1,0\n1,0,2,1,0,10,2,0,1,1,1,0,1,0\n0,4,0,3,0,10,2,0,1,1,1,0,1,1\n2,0,1,2,4,10,3,0,1,1,1,2,1,0\n0,0,3,2,0,0,0,0,0,1,1,2,1,1\n1,1,0,3,0,4,2,0,1,1,1,0,1,1\n2,4,10,3,0,5,0,0,0,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n2,0,8,0,0,10,2,0,1,1,1,1,1,1\n1,4,10,3,1,5,5,0,1,1,1,1,1,1\n0,0,2,1,2,1,1,0,1,1,1,1,1,0\n0,0,1,2,1,5,3,0,1,1,1,2,1,0\n1,0,12,1,1,0,5,4,0,1,1,2,1,0\n1,2,1,2,2,4,3,0,1,1,1,1,1,1\n1,2,3,2,0,4,2,0,1,1,1,1,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,12,1,3,3,1,1,0,1,1,0,1,0\n3,1,0,3,4,9,3,0,1,1,1,0,1,1\n0,4,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n0,0,2,1,2,3,5,0,1,1,1,2,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,1\n1,0,1,2,5,3,3,0,1,1,1,0,1,0\n1,0,12,1,0,10,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,0,1,1,2,1,0\n1,0,3,2,1,8,3,4,0,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,1,2,5,4,0,1,1,0,1,0\n1,4,3,2,5,2,5,0,0,1,1,2,1,0\n0,0,1,2,2,1,1,0,1,1,1,2,1,0\n0,0,10,3,2,4,3,0,0,1,1,0,1,0\n0,3,1,2,0,8,2,4,1,1,1,2,1,0\n2,1,4,3,2,5,3,0,0,1,1,2,1,0\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,4,0,3,0,5,0,0,0,1,1,2,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,0\n1,3,6,2,2,8,5,0,1,1,1,1,1,0\n2,4,3,2,4,2,3,0,0,1,1,2,1,0\n1,0,3,2,3,2,3,4,0,1,1,2,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,0,10,3,2,3,3,0,0,1,1,0,1,0\n1,4,1,2,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,0,5,0,0,0,1,1,0,1,1\n1,1,0,3,0,3,2,4,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,0,5,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,11,5,4,0,1,1,2,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,1,5,3,0,0,1,1,2,1,0\n1,1,1,2,0,2,0,0,0,1,1,1,1,0\n1,0,1,2,0,5,2,0,1,1,1,2,1,1\n0,5,3,2,2,8,1,4,0,1,1,0,1,0\n1,0,11,0,0,9,2,0,1,1,1,1,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,0,2,2,0,1,1,1,2,1,0\n1,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,3,2,1,6,5,4,0,1,1,0,1,0\n0,0,10,3,5,5,3,1,0,1,1,0,1,0\n0,0,7,1,2,7,3,0,0,1,1,2,1,0\n0,0,9,1,2,7,3,4,0,1,1,0,1,0\n1,4,1,2,1,4,3,0,0,1,1,0,1,0\n0,0,12,1,2,6,1,0,1,1,1,2,1,0\n0,0,9,1,2,7,1,0,1,1,1,2,1,0\n1,0,6,2,2,3,5,0,0,1,1,1,1,1\n1,3,0,3,0,12,2,0,1,1,1,1,1,1\n0,0,6,2,2,2,5,0,0,1,1,2,1,0\n2,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,0,3,0,0,0,1,1,0,1,0\n0,3,1,2,2,8,1,4,0,1,1,2,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n1,3,3,2,0,10,2,4,1,1,1,1,1,1\n2,0,0,3,1,5,3,0,0,1,1,2,1,0\n0,0,1,2,0,3,1,3,0,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,3,5,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,9,1,2,2,3,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,8,2,4,1,1,1,0,1,1\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,0,3,2,3,1,5,0,0,1,1,0,1,0\n0,0,10,3,2,5,3,0,1,1,1,1,1,0\n1,3,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,7,4,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n1,0,3,2,2,2,3,4,0,1,1,0,1,0\n1,1,5,2,4,5,5,0,0,1,1,2,1,0\n1,0,0,3,0,8,2,1,1,1,1,1,1,0\n1,0,6,2,1,3,3,0,1,1,1,1,1,1\n0,0,11,0,2,2,3,1,0,1,1,0,1,0\n1,6,3,2,0,7,1,0,0,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,5,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,1,7,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n1,1,1,2,1,3,5,0,0,1,1,0,1,0\n0,0,1,2,1,8,5,0,0,1,1,1,1,0\n2,4,3,2,0,2,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,1,0,0,1,1,0,1,0\n2,0,0,3,1,5,5,4,0,1,1,0,1,0\n0,0,1,2,1,8,5,0,0,1,1,2,1,0\n1,0,0,3,0,5,0,0,0,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,10,1,0,1,1,1,0,1,0\n0,0,3,2,2,10,3,4,1,1,1,2,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,2,1,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,1,7,5,0,0,1,1,2,1,0\n0,0,3,2,0,7,0,0,0,1,1,0,1,1\n1,0,3,2,2,2,5,4,1,1,1,1,1,0\n1,0,7,1,1,10,3,0,1,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,14,0,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,8,0,0,3,2,0,1,1,1,1,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,2,1,1,1,1,1,0\n1,2,4,3,0,5,2,0,1,1,1,0,1,1\n2,0,1,2,0,12,2,0,1,1,1,0,1,0\n0,0,12,1,1,10,1,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,3,3,5,0,0,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,1,7,1,0,0,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,3,2,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,5,2,2,2,5,4,0,1,1,2,1,0\n1,0,3,2,1,7,5,0,1,1,1,1,1,0\n2,1,3,2,0,10,2,0,1,1,1,2,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,4,14,0,0,10,2,0,1,1,1,0,1,0\n0,4,3,2,2,8,1,4,1,1,1,2,1,0\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,1,3,2,2,1,3,0,1,1,1,2,1,0\n2,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,12,1,0,10,2,0,1,1,1,1,1,0\n0,0,5,2,2,8,3,4,0,1,1,2,1,0\n1,4,1,2,0,4,0,0,0,1,1,1,1,0\n1,0,6,2,2,5,3,0,0,1,1,0,1,0\n0,4,1,2,2,8,3,4,0,1,1,0,1,0\n2,0,3,2,0,9,2,0,1,1,1,1,1,0\n1,3,6,2,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,0,8,2,0,1,1,1,1,1,1\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,0,2,4,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n2,0,1,2,0,8,0,0,0,1,1,0,1,1\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,6,4,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,1,2,1,0,3,0,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,15,0,2,2,3,0,1,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,2,8,1,0,0,1,1,2,1,0\n0,0,6,2,2,2,3,0,0,1,1,0,1,0\n1,4,5,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,2,8,4,0,0,1,1,0,1,0\n1,0,1,2,5,4,5,0,0,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,5,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,12,1,0,7,0,4,0,1,1,2,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n3,4,3,2,2,1,1,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,0,3,0,5,0,0,0,1,1,0,1,1\n0,1,3,2,3,2,5,0,0,1,1,2,1,0\n1,4,0,3,0,5,2,0,1,1,1,2,1,1\n1,0,7,1,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,0,4,0,0,0,1,1,0,1,1\n1,3,12,1,3,8,5,4,0,1,1,0,1,0\n0,0,1,2,0,8,4,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,1,5,5,0,1,1,1,0,1,1\n0,0,1,2,2,5,1,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,1,2,2,1,5,0,1,1,1,0,1,0\n1,1,3,2,2,9,3,0,1,1,1,1,1,0\n1,5,13,3,2,5,3,4,0,1,1,2,1,0\n0,0,0,3,2,5,1,0,0,1,1,1,1,0\n0,0,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,1,1,1,1,1,0\n1,0,1,2,1,8,3,0,0,1,1,2,1,0\n1,0,0,3,1,4,3,0,1,1,1,0,1,1\n0,0,2,1,1,1,5,3,1,1,1,2,1,0\n1,0,1,2,2,5,5,0,0,1,1,1,1,0\n2,4,0,3,1,8,3,0,0,1,1,1,1,0\n0,0,3,2,2,1,5,4,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,0,7,0,4,0,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,4,1,1,1,2,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,0\n2,4,12,1,0,2,2,4,1,1,1,2,1,0\n1,1,1,2,0,2,2,0,1,1,1,1,1,0\n1,0,7,1,0,6,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n2,1,3,2,0,9,2,0,1,1,1,0,1,0\n0,1,5,2,0,0,2,0,1,1,1,1,1,0\n1,0,15,0,2,2,3,0,0,1,1,2,1,0\n0,1,3,2,0,1,2,0,1,1,1,1,1,1\n0,4,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,4,0,1,1,2,1,0\n1,0,12,1,0,8,0,0,0,1,1,2,1,0\n3,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,1,4,3,0,0,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,3,3,5,0,0,1,1,1,1,0\n1,0,1,2,1,11,3,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,5,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,0,3,0,3,2,4,1,1,1,1,1,1\n1,0,3,2,1,7,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,3,5,3,4,0,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,2,2,3,4,0,1,1,1,1,0\n1,4,0,3,0,12,2,0,1,1,1,0,1,1\n0,0,1,2,2,6,1,1,1,1,1,0,1,0\n1,0,0,3,0,0,2,4,1,1,1,1,1,1\n1,2,0,3,2,4,3,0,1,1,1,1,1,0\n2,1,3,2,0,4,2,2,1,1,1,2,1,1\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,8,2,0,1,1,1,1,1,0\n2,0,3,2,4,8,3,4,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n0,0,3,2,1,7,5,0,0,1,1,1,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,8,2,4,1,1,1,1,1,1\n3,1,4,3,0,4,2,0,1,1,1,2,1,0\n0,0,3,2,2,0,5,0,0,1,1,0,1,0\n0,5,3,2,1,12,3,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,1,3,2,1,3,3,0,0,1,1,2,1,0\n1,0,1,2,3,3,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,1,1,0\n1,0,1,2,0,4,0,0,0,1,1,1,1,0\n0,0,10,3,1,4,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,5,0,3,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,4,10,3,2,5,3,0,1,1,1,0,1,1\n0,0,1,2,2,7,1,4,1,1,1,2,1,0\n0,0,3,2,2,1,4,0,1,1,1,0,1,0\n3,0,3,2,4,2,3,0,0,1,1,2,1,0\n0,0,0,3,2,2,3,0,0,1,1,2,1,0\n1,5,10,3,0,5,2,0,1,1,1,2,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,1,7,5,4,0,1,1,0,1,0\n2,0,1,2,0,2,2,0,1,1,1,1,1,1\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n0,5,10,3,2,5,5,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,4,0,1,1,0,1,0\n1,0,6,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,0,8,0,0,0,1,1,0,1,0\n0,0,2,1,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,3,1,1,1,1,1,1,0\n1,4,0,3,0,1,2,0,1,1,1,1,1,1\n0,5,5,2,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,1,1,1,1,0,1,0\n0,4,3,2,0,12,2,0,1,1,1,0,1,1\n1,0,2,1,1,1,3,0,1,1,1,0,1,0\n0,1,3,2,0,5,2,0,1,1,1,1,1,0\n1,0,0,3,2,5,3,0,1,1,1,1,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,4,3,2,2,12,3,0,1,1,1,0,1,0\n0,0,3,2,1,4,3,0,1,1,1,1,1,0\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,1,1,1\n2,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,12,1,3,2,5,4,0,1,1,2,1,0\n1,0,11,0,5,9,3,0,1,1,1,2,1,0\n3,1,1,2,0,2,0,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n1,0,1,2,0,9,2,0,1,1,1,1,1,0\n2,0,7,1,1,7,3,0,1,1,1,1,1,1\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,4,1,1,1,0,1,0\n1,0,1,2,0,0,2,0,1,1,1,1,1,0\n2,1,14,0,3,2,5,0,0,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n2,4,0,3,1,4,3,4,1,1,1,0,1,0\n1,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n0,0,9,1,5,10,5,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,3,3,2,2,8,1,0,0,1,1,0,1,0\n0,4,5,2,2,12,1,4,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n2,1,1,2,1,3,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,4,0,0,1,1,2,1,0\n1,4,10,3,0,5,0,0,0,1,1,0,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,14,0,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,1,1,2,2,1,1,0,1,1,1,1,1,0\n1,1,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,2,1,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,2,0,1,0,1,1,1,2,1,0\n1,0,3,2,2,8,1,1,1,1,1,2,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,6,2,0,4,2,4,1,1,1,1,1,1\n1,0,8,0,0,10,2,0,1,1,1,1,1,0\n1,4,13,3,0,4,2,0,1,1,1,0,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,2,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,2,1,1,1,1,1,0\n2,0,3,2,0,4,1,4,0,1,1,0,1,0\n1,0,1,2,2,4,3,0,0,1,1,0,1,0\n0,0,10,3,2,5,3,0,1,1,1,1,1,0\n1,0,12,1,3,10,5,0,0,1,1,1,1,0\n0,0,14,0,0,6,2,0,1,1,1,0,1,0\n1,0,6,2,0,7,2,0,1,1,1,0,1,1\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n1,0,2,1,0,7,2,0,1,1,1,0,1,0\n2,1,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n1,5,3,2,0,1,0,4,0,1,1,0,1,1\n0,0,3,2,2,7,1,1,1,1,1,0,1,0\n1,0,6,2,2,9,1,0,1,1,1,0,1,0\n0,4,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,4,1,5,0,0,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n1,0,10,3,0,0,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,1,0,1,1,1,2,1,0\n0,3,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,4,1,1,1,2,1,0\n1,0,10,3,1,4,3,0,0,1,1,1,1,1\n1,0,0,3,1,5,5,4,0,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n1,2,5,2,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,1,3,3,0,0,1,1,0,1,0\n1,1,13,3,3,5,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,0,3,0,0,0,1,1,0,1,1\n1,0,3,2,0,1,0,1,0,1,1,0,1,1\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n2,4,3,2,0,2,2,0,1,1,1,2,1,0\n1,3,10,3,0,13,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,4,3,2,2,2,1,0,1,1,1,2,1,0\n0,3,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,5,2,0,1,2,0,1,1,1,0,1,0\n1,4,5,2,0,8,2,0,1,1,1,0,1,0\n0,0,15,0,2,9,3,0,1,1,1,0,1,0\n2,0,1,2,2,4,3,0,1,1,1,2,1,1\n1,4,10,3,0,5,0,0,0,1,1,2,1,0\n0,0,4,3,2,5,3,0,1,1,1,1,1,0\n0,5,0,3,2,5,1,0,1,1,1,2,1,0\n0,0,3,2,2,10,1,0,1,1,1,2,1,0\n0,0,1,2,3,3,3,0,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n0,0,0,3,0,0,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,2,1,0,8,2,0,1,1,1,0,1,0\n0,0,2,1,2,4,3,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,0,7,0,0,0,1,1,0,1,1\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,5,0,0,0,1,1,0,1,1\n0,0,3,2,0,8,0,4,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n0,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,3,0,1,1,1,2,1,0\n0,0,6,2,2,8,1,0,1,1,1,2,1,0\n1,0,10,3,3,4,3,0,0,1,1,1,1,0\n1,5,10,3,0,5,0,0,0,1,1,2,1,1\n2,0,3,2,4,8,5,0,0,1,1,0,1,0\n2,2,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,4,0,3,1,8,5,0,0,1,1,2,1,0\n2,0,3,2,0,4,2,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,0,1,2,1,8,3,0,0,1,1,2,1,0\n1,0,1,2,1,2,3,0,0,1,1,0,1,0\n1,0,14,0,0,2,0,0,0,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,1,8,5,4,0,1,1,0,1,0\n0,0,1,2,2,4,3,0,1,1,1,1,1,0\n1,1,0,3,0,4,0,0,0,1,1,2,1,1\n1,1,5,2,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,0,0,0,1,1,1,1,1\n0,0,6,2,2,1,1,1,1,1,1,2,1,0\n1,0,5,2,0,4,2,0,1,1,1,0,1,1\n1,2,4,3,2,4,3,0,1,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,3,2,1,10,4,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,2,1,1,7,5,0,0,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,0,1,1\n2,0,0,3,0,8,2,0,1,1,1,0,1,1\n1,1,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,1,0,3,0,9,2,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,14,0,0,8,0,0,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,1,1,0\n0,0,12,1,1,3,1,0,0,1,1,2,1,0\n2,2,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,4,0,1,1,0,1,0\n2,1,5,2,4,5,3,0,0,1,1,1,1,1\n1,0,9,1,1,2,3,0,0,1,1,1,1,0\n0,0,3,2,2,8,3,4,0,1,1,2,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,0\n2,4,3,2,5,2,3,0,0,1,1,2,1,0\n0,0,6,2,0,6,2,0,1,1,1,2,1,0\n0,0,0,3,2,4,4,0,1,1,1,1,1,0\n2,0,3,2,4,6,4,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,4,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,0,3,0,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n2,0,3,2,4,11,3,0,0,1,1,2,1,0\n2,0,0,3,1,8,3,0,0,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,8,0,1,0,1,1,2,1,0\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,1,5,1,0,1,1,1,2,1,0\n0,2,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,0,2,1,1,2,3,0,0,1,1,0,1,0\n0,0,5,2,2,5,3,0,0,1,1,2,1,0\n0,3,1,2,3,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,0,0,0,1,1,0,1,0\n0,0,1,2,2,4,1,0,1,1,1,2,1,0\n3,1,2,1,0,1,2,0,1,1,1,2,1,0\n0,1,1,2,0,1,2,0,1,1,1,1,1,1\n1,3,0,3,0,4,2,2,1,1,1,0,1,0\n1,3,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n1,0,3,2,1,3,3,0,0,1,1,1,1,0\n1,0,0,3,2,3,3,0,0,1,1,2,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,0,3,0,1,1,1,0,1,0\n2,0,3,2,1,8,3,0,1,1,1,1,1,0\n1,0,1,2,0,0,2,0,1,1,1,1,1,1\n1,0,3,2,2,1,5,0,1,1,1,0,1,0\n1,0,1,2,1,3,3,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,0,3,2,8,3,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,0,1,1,0,1,0\n1,0,1,2,0,2,2,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,5,0,1,1,1,0,1,0\n1,0,3,2,2,7,3,4,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,5,10,3,2,5,3,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,2,1,2,10,3,4,1,1,1,2,1,0\n0,0,3,2,0,2,2,1,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,2,1,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,1,6,3,1,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,0\n2,4,0,3,0,5,0,0,0,1,1,0,1,1\n0,4,3,2,0,2,2,4,1,1,1,2,1,1\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n2,0,11,0,0,6,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,9,3,0,1,1,1,1,1,0\n1,0,5,2,1,1,3,0,1,1,1,0,1,0\n2,0,1,2,0,2,2,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,2,1,1,1,0,1,0\n2,0,0,3,0,8,0,0,0,1,1,0,1,1\n2,0,1,2,0,3,2,0,1,1,1,1,1,1\n3,0,8,0,4,11,5,4,0,1,1,2,1,0\n0,0,0,3,2,3,1,0,0,1,1,0,1,0\n1,0,3,2,1,7,5,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,3,3,2,1,1,5,4,1,1,1,1,1,0\n1,0,1,2,3,1,4,1,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,0,8,0,0,0,1,1,2,1,1\n1,0,3,2,1,12,3,0,1,1,1,0,1,0\n1,0,14,0,0,6,2,0,1,1,1,2,1,0\n0,4,10,3,2,5,4,1,0,1,1,0,1,0\n0,0,8,0,0,7,2,4,1,1,1,0,1,0\n0,0,2,1,2,10,3,0,1,1,1,0,1,0\n1,5,3,2,1,12,5,0,1,1,1,1,1,0\n1,0,1,2,4,4,5,1,0,1,1,0,1,0\n2,0,5,2,0,4,2,0,1,1,1,2,1,0\n0,1,4,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n0,4,1,2,0,2,2,0,1,1,1,0,1,0\n1,0,1,2,0,6,2,0,1,1,1,1,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,0,3,2,2,1,0,0,1,1,2,1,0\n0,0,2,1,2,7,5,3,1,1,1,0,1,0\n1,0,0,3,0,4,0,0,0,1,1,0,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n1,3,1,2,2,4,5,0,0,1,1,0,1,0\n2,5,0,3,0,4,2,0,1,1,1,1,1,1\n0,2,0,3,0,4,2,0,1,1,1,1,1,1\n2,1,1,2,4,5,5,0,1,1,1,2,1,0\n1,0,1,2,3,5,3,0,1,1,1,1,1,0\n0,0,1,2,0,6,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,5,5,2,2,0,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,12,1,0,7,2,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,0\n1,0,14,0,0,7,2,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,5,2,4,8,5,4,0,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,1,1,0\n1,0,6,2,1,4,5,0,0,1,1,0,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,4,10,3,1,4,5,0,0,1,1,0,1,0\n1,0,5,2,1,4,5,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,10,1,0,1,1,1,1,1,1\n1,0,14,0,3,2,5,0,0,1,1,0,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,0,0,0,1,1,1,1,1\n0,0,14,0,2,3,1,0,0,1,1,2,1,0\n0,1,6,2,1,1,3,0,1,1,1,1,1,1\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,7,1,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,6,2,0,1,1,1,0,1,1\n1,0,10,3,2,8,3,0,1,1,1,1,1,0\n1,1,3,2,5,9,5,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n0,5,3,2,3,2,1,0,0,1,1,2,1,0\n1,0,1,2,1,3,5,0,0,1,1,0,1,0\n2,0,4,3,0,5,2,0,1,1,1,0,1,1\n2,0,8,0,1,9,4,0,1,1,1,0,1,0\n0,5,13,3,0,0,2,0,1,1,1,1,1,1\n1,0,7,1,0,6,2,0,1,1,1,0,1,0\n1,0,10,3,0,0,2,0,1,1,1,0,1,1\n2,0,0,3,0,4,2,0,1,1,1,2,1,1\n1,4,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,14,0,2,10,3,0,1,1,1,2,1,0\n1,1,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,0,1,1,0,1,0\n0,1,3,2,2,2,1,0,1,1,1,1,1,0\n1,0,3,2,0,0,2,0,1,1,1,0,1,0\n0,4,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n2,0,8,0,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,1,2,0,8,0,0,0,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,1,1,0\n0,5,1,2,2,5,1,0,1,1,1,2,1,0\n1,2,3,2,5,4,3,0,1,1,1,1,1,1\n1,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,12,1,3,2,5,0,0,1,1,0,1,0\n1,4,1,2,0,12,2,0,1,1,1,0,1,0\n2,2,2,1,0,3,2,0,1,1,1,0,1,0\n1,4,1,2,2,1,3,0,1,1,1,0,1,0\n0,5,1,2,0,1,1,0,1,1,1,1,1,1\n2,4,3,2,1,8,5,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,4,1,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,5,13,3,0,5,2,1,1,1,1,0,1,0\n1,0,3,2,0,10,2,4,1,1,1,0,1,0\n2,0,13,3,0,4,2,0,1,1,1,0,1,1\n1,5,13,3,1,4,3,0,0,1,1,0,1,0\n1,4,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,1\n1,4,6,2,0,12,2,2,1,1,1,0,1,0\n0,2,5,2,2,9,1,0,1,1,1,2,1,0\n1,0,3,2,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,0,1,2,0,2,2,0,1,1,1,1,1,1\n2,0,2,1,1,3,3,0,1,1,1,1,1,0\n1,0,1,2,2,0,5,0,0,1,1,0,1,0\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n1,0,0,3,2,1,3,0,1,1,1,0,1,0\n1,0,5,2,2,5,3,0,1,1,1,2,1,0\n0,0,3,2,2,9,3,0,1,1,1,0,1,0\n1,0,1,2,1,2,5,0,0,1,1,2,1,0\n1,0,1,2,0,7,2,2,1,1,1,0,1,0\n0,0,2,1,2,3,4,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,10,3,0,5,2,0,1,1,1,0,1,0\n2,0,3,2,0,6,2,0,1,1,1,0,1,0\n2,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,0,6,2,2,3,3,0,1,1,1,0,1,0\n0,0,1,2,2,1,5,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,0,5,2,0,1,1,1,1,1,0\n1,4,6,2,1,4,3,0,1,1,1,1,1,0\n1,0,4,3,1,5,3,0,1,1,1,1,1,1\n1,0,1,2,0,8,2,0,1,1,1,1,1,0\n0,0,0,3,2,7,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,0\n1,0,3,2,1,2,1,0,0,1,1,1,1,0\n0,0,1,2,2,2,1,4,0,1,1,0,1,0\n1,0,0,3,0,4,2,4,1,1,1,0,1,1\n1,0,5,2,0,4,2,0,1,1,1,1,1,0\n0,5,0,3,0,8,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,6,2,1,1,3,0,1,1,1,1,1,0\n0,0,3,2,0,4,1,1,0,1,1,0,1,0\n0,0,9,1,2,9,4,0,1,1,1,0,1,0\n2,5,4,3,0,5,2,0,1,1,1,0,1,1\n1,4,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,11,0,0,7,2,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,2,3,2,0,9,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n1,4,12,1,0,10,2,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,2,1,0\n1,0,1,2,3,10,5,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,6,2,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,0,5,4,0,1,1,0,1,0\n1,4,3,2,3,8,5,4,0,1,1,0,1,0\n3,0,6,2,1,3,3,0,0,1,1,2,1,0\n0,0,0,3,2,0,3,0,1,1,1,0,1,1\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n1,0,6,2,0,2,0,0,0,1,1,0,1,0\n0,0,2,1,2,11,1,0,0,1,1,2,1,0\n2,0,1,2,0,0,2,0,1,1,1,2,1,0\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n1,2,1,2,3,8,3,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,4,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n1,0,3,2,1,4,3,4,0,1,1,0,1,0\n0,0,3,2,2,4,3,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,3,3,3,0,1,1,1,1,1,0\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,2,3,2,2,4,1,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n3,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,14,0,2,7,3,0,1,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,5,2,3,4,1,1,1,0,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,0\n2,1,6,2,0,1,2,0,1,1,1,2,1,0\n0,0,5,2,0,4,0,0,0,1,1,1,1,1\n3,0,0,3,2,2,3,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,1,10,3,0,9,2,0,1,1,1,1,1,0\n0,5,3,2,2,8,3,0,1,1,1,2,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n2,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,2,4,0,0,1,1,2,1,0\n1,3,10,3,0,4,2,0,1,1,1,0,1,1\n0,4,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n1,0,0,3,0,6,2,0,1,1,1,0,1,0\n2,1,1,2,0,3,0,0,0,1,1,1,1,1\n0,0,3,2,2,1,4,0,1,1,1,1,1,0\n1,0,10,3,1,4,3,0,1,1,1,1,1,1\n1,1,6,2,0,9,2,0,1,1,1,1,1,1\n0,0,0,3,1,10,5,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,1,4,1,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n1,0,10,3,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,6,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,3,6,2,2,8,3,0,0,1,1,0,1,0\n0,0,6,2,2,3,4,0,0,1,1,0,1,0\n0,0,3,2,2,2,5,2,0,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,1,1,0\n1,0,3,2,0,7,2,4,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n3,0,1,2,4,8,3,0,0,1,1,2,1,0\n0,1,3,2,2,1,5,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,4,1,1,1,0,1,0\n3,1,2,1,2,9,3,0,1,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,1,10,3,1,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,9,1,0,1,1,1,0,1,0\n0,4,1,2,2,5,1,0,0,1,1,2,1,0\n1,5,3,2,2,8,3,0,0,1,1,2,1,0\n0,3,3,2,2,1,1,0,1,1,1,2,1,0\n1,1,0,3,0,1,2,0,1,1,1,1,1,1\n2,1,10,3,0,3,2,0,1,1,1,0,1,0\n2,2,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,1,8,5,0,0,1,1,1,1,0\n0,0,3,2,0,8,2,0,1,1,1,1,1,0\n1,0,5,2,0,4,2,0,1,1,1,0,1,1\n2,5,5,2,2,8,3,0,0,1,1,1,1,0\n2,0,14,0,0,2,2,4,1,1,1,0,1,0\n0,0,1,2,0,2,4,1,1,1,1,2,1,0\n1,0,1,2,3,0,5,0,0,1,1,1,1,0\n1,0,3,2,1,8,5,0,0,1,1,2,1,0\n1,3,3,2,2,8,3,0,1,1,1,1,1,1\n0,0,3,2,2,3,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,5,0,0,1,1,0,1,0\n2,2,0,3,1,4,3,0,1,1,1,1,1,1\n0,0,7,1,1,2,5,0,0,1,1,2,1,0\n1,1,0,3,0,5,2,0,1,1,1,1,1,1\n1,4,0,3,1,5,3,4,1,1,1,0,1,0\n0,0,1,2,2,0,3,4,0,1,1,1,1,0\n1,0,0,3,1,4,3,0,1,1,1,1,1,1\n0,0,2,1,2,9,4,0,1,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,3,7,3,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,5,0,3,2,5,3,0,0,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,4,1,2,0,10,2,0,1,1,1,0,1,1\n0,0,0,3,6,3,0,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,1,2,0,2,2,0,1,1,1,1,1,0\n0,0,4,3,2,5,3,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,5,2,2,7,1,4,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,2,1,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,1,1,0\n1,0,0,3,1,4,5,0,1,1,1,1,1,1\n0,0,5,2,1,2,3,0,0,1,1,2,1,0\n1,0,5,2,2,5,1,0,1,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n2,1,7,1,0,9,2,0,1,1,1,2,1,0\n2,5,4,3,0,5,2,1,1,1,1,0,1,1\n0,0,1,2,1,2,3,0,0,1,1,0,1,0\n0,0,9,1,0,6,2,0,1,1,1,0,1,0\n0,0,0,3,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,2,0,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,4,1,1,1,0,1,0\n0,0,12,1,2,6,1,0,1,1,1,2,1,0\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,0,2,1,2,0,1,0,1,1,1,0,1,0\n0,0,3,2,2,3,3,1,1,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,10,3,0,5,2,1,1,1,1,0,1,1\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,1,4,1,1,1,0,1,0\n1,5,10,3,1,5,5,0,0,1,1,0,1,0\n2,0,10,3,2,5,3,0,1,1,1,1,1,0\n2,0,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,2,1,0\n0,4,3,2,0,10,2,4,1,1,1,0,1,0\n0,0,12,1,1,1,3,2,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,3,2,1,10,3,0,1,1,1,0,1,0\n0,0,3,2,5,8,4,0,0,1,1,0,1,0\n2,0,2,1,4,7,3,0,0,1,1,0,1,0\n3,0,3,2,0,5,2,0,1,1,1,2,1,0\n0,0,9,1,2,2,4,4,1,1,1,2,1,0\n1,5,1,2,2,5,3,4,0,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,2,1,2,1,5,0,1,1,1,0,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,5,4,1,1,1,1,1,0\n1,4,10,3,1,5,5,0,0,1,1,1,1,0\n1,1,3,2,2,9,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,4,3,2,0,12,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,1,1,0\n2,0,1,2,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,0,3,0,0,0,1,1,2,1,0\n1,4,6,2,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,5,0,0,1,1,2,1,0\n0,5,1,2,0,8,0,0,0,1,1,0,1,0\n0,0,14,0,2,2,3,0,1,1,1,2,1,0\n1,0,5,2,0,3,0,0,0,1,1,0,1,0\n0,0,3,2,2,4,1,0,1,1,1,0,1,0\n0,0,2,1,2,6,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,0,1,2,0,8,0,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,2,6,2,1,4,3,0,0,1,1,1,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,3,12,3,0,1,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,4,0,1,1,1,0,1,0\n0,0,3,2,1,7,1,0,1,1,1,0,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,2,2,3,0,0,1,1,0,1,0\n0,0,14,0,0,1,2,3,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,5,3,2,2,0,1,0,0,1,1,2,1,0\n1,1,4,3,2,5,3,0,1,1,1,1,1,1\n1,0,15,0,2,2,3,4,0,1,1,0,1,0\n0,0,3,2,0,10,3,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,0,7,1,0,12,2,0,1,1,1,2,1,0\n0,0,3,2,1,1,1,0,1,1,1,2,1,0\n1,4,10,3,3,5,5,0,0,1,1,0,1,0\n1,3,0,3,2,0,1,4,1,1,1,0,1,0\n0,0,3,2,2,6,5,0,1,1,1,0,1,0\n0,0,5,2,0,1,2,0,1,1,1,1,1,1\n0,4,0,3,0,5,0,0,0,1,1,1,1,0\n2,5,3,2,4,8,5,0,0,1,1,2,1,0\n3,0,3,2,0,8,2,0,1,1,1,2,1,0\n0,5,0,3,0,4,0,0,0,1,1,2,1,0\n0,0,1,2,2,5,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,0,3,0,1,1,1,0,1,0\n0,2,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,14,0,2,1,4,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n3,0,3,2,5,2,3,0,1,1,1,0,1,0\n0,0,1,2,1,0,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,1,2,1,2,6,3,0,1,1,1,0,1,0\n3,0,3,2,4,2,3,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,3,2,1,4,3,0,0,1,1,1,1,0\n1,3,1,2,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,11,0,2,2,3,0,1,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,2,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n2,0,5,2,0,1,2,0,1,1,1,0,1,1\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,0,3,0,0,0,1,1,0,1,0\n0,0,12,1,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,0,5,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,12,1,2,6,1,2,1,1,1,2,1,0\n0,0,3,2,1,8,5,0,0,1,1,2,1,0\n1,3,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,7,1,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,2,4,1,1,1,1,1,1\n1,5,1,2,0,8,2,4,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,1,10,3,2,3,3,0,1,1,1,1,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n2,0,0,3,1,2,3,0,0,1,1,2,1,0\n0,0,2,1,2,6,1,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,4,1,1,1,2,1,0\n0,0,10,3,0,5,0,0,0,1,1,0,1,1\n0,0,9,1,2,6,1,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,4,3,2,3,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,10,4,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n1,4,10,3,1,5,5,0,0,1,1,2,1,0\n0,0,3,2,2,8,1,1,1,1,1,0,1,0\n1,1,2,1,0,2,2,0,1,1,1,1,1,0\n1,0,12,1,4,2,5,0,0,1,1,0,1,0\n2,4,4,3,0,5,2,0,1,1,1,2,1,1\n2,0,8,0,4,11,5,0,0,1,1,2,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n1,0,2,1,4,8,5,0,0,1,1,0,1,0\n0,4,0,3,0,12,2,0,1,1,1,1,1,0\n2,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,2,0,3,4,0,1,1,0,1,0\n2,1,0,3,1,3,3,0,1,1,1,1,1,1\n1,0,0,3,1,5,5,4,0,1,1,2,1,1\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n0,0,2,1,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,6,1,4,1,1,1,0,1,0\n1,0,2,1,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n2,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,5,2,0,6,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,10,3,3,5,3,0,1,1,1,1,1,0\n1,0,0,3,0,1,2,1,1,1,1,2,1,0\n0,5,0,3,2,8,3,3,0,1,1,0,1,0\n0,0,3,2,2,8,1,4,1,1,1,0,1,0\n0,0,5,2,1,4,5,4,0,1,1,1,1,0\n0,0,3,2,0,7,0,4,0,1,1,0,1,0\n0,0,10,3,2,8,5,0,0,1,1,0,1,0\n1,0,2,1,2,2,5,4,0,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,1,1,0\n0,0,3,2,2,9,3,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,2,1,0,2,0,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,5,3,2,5,10,3,0,0,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,2,6,2,0,4,2,0,1,1,1,1,1,1\n1,1,1,2,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,2,4,1,0,1,1,1,2,1,0\n1,0,6,2,0,8,2,0,1,1,1,0,1,0\n1,4,0,3,0,5,0,0,0,1,1,1,1,0\n1,0,1,2,3,7,3,0,1,1,1,1,1,1\n1,4,1,2,4,8,5,0,0,1,1,2,1,0\n2,0,0,3,1,4,3,0,0,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,4,7,1,0,10,2,0,1,1,1,0,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,0\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,10,3,0,8,0,0,0,1,1,0,1,1\n2,0,0,3,0,3,2,4,1,1,1,1,1,1\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n2,1,2,1,0,9,2,0,1,1,1,0,1,0\n2,3,3,2,0,5,2,0,1,1,1,0,1,0\n0,0,3,2,1,1,3,0,1,1,1,2,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,4,1,1,1,0,1,1\n2,4,3,2,4,8,3,0,0,1,1,2,1,1\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n2,2,13,3,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,4,1,1,1,2,1,0\n2,2,14,0,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,2,0,3,0,0,1,1,2,1,0\n0,0,3,2,2,8,3,4,0,1,1,0,1,0\n0,0,1,2,2,0,3,4,0,1,1,1,1,0\n1,0,0,3,1,0,5,0,0,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,5,1,2,1,0,3,0,1,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,0,7,2,0,1,1,1,2,1,0\n0,0,3,2,2,7,3,2,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,0,8,4,0,0,1,1,0,1,1\n2,1,0,3,0,5,2,0,1,1,1,2,1,1\n1,0,10,3,1,5,3,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,2,2,1,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,5,3,0,1,1,1,0,1,0\n0,2,5,2,1,2,5,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,1,5,5,0,0,1,1,0,1,0\n0,0,3,2,2,8,1,4,0,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,3,8,5,4,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,0,8,0,4,2,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,2,10,3,1,4,5,0,0,1,1,2,1,0\n0,1,3,2,0,9,2,0,1,1,1,0,1,0\n1,0,3,2,2,2,3,4,1,1,1,1,1,0\n0,0,2,1,2,7,1,0,1,1,1,2,1,0\n1,0,3,2,4,11,1,4,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,4,10,3,1,5,5,0,0,1,1,1,1,0\n0,0,0,3,2,10,1,0,1,1,1,0,1,0\n1,0,10,3,1,5,3,0,0,1,1,0,1,0\n0,0,12,1,2,2,3,0,1,1,1,2,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,7,3,0,0,1,1,0,1,0\n1,0,0,3,2,4,3,0,1,1,1,0,1,0\n1,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,1,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,4,1,1,1,2,1,0\n2,1,0,3,0,4,2,0,1,1,1,2,1,1\n1,0,1,2,3,7,5,4,1,1,1,1,1,0\n0,0,6,2,1,3,3,0,1,1,1,1,1,0\n1,3,0,3,0,4,2,1,1,1,1,0,1,1\n0,0,3,2,1,1,5,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,5,0,0,0,1,1,0,1,0\n2,0,3,2,2,1,3,0,1,1,1,0,1,0\n2,5,13,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n1,2,5,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n3,1,1,2,0,3,2,0,1,1,1,2,1,0\n1,5,0,3,0,8,2,0,1,1,1,0,1,1\n0,1,2,1,2,8,1,0,0,1,1,2,1,0\n0,0,9,1,1,7,1,0,1,1,1,0,1,0\n0,0,9,1,2,8,1,0,0,1,1,2,1,0\n1,0,7,1,0,2,0,1,0,1,1,0,1,0\n0,0,3,2,1,8,1,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n2,5,10,3,0,4,2,0,1,1,1,0,1,1\n0,1,0,3,2,5,3,1,0,1,1,2,1,0\n1,0,15,0,2,3,5,4,0,1,1,0,1,0\n2,0,3,2,3,3,5,4,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,2,3,2,0,4,2,0,1,1,1,1,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,12,1,3,2,3,4,1,1,1,0,1,0\n0,0,1,2,0,10,0,0,0,1,1,1,1,0\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,1,6,3,2,1,1,1,0,1,0\n0,4,0,3,2,5,1,0,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,1,9,1,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,1,0,3,4,4,5,0,1,1,1,1,1,0\n1,0,11,0,2,7,5,1,0,1,1,0,1,0\n1,0,1,2,0,8,0,4,0,1,1,0,1,0\n2,0,1,2,2,2,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,12,1,3,3,3,0,1,1,1,0,1,0\n1,5,1,2,1,2,3,0,0,1,1,0,1,0\n2,3,3,2,0,0,2,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,0,1,1,1,0,1,1\n2,0,6,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,1,4,3,0,0,1,1,0,1,0\n1,0,5,2,3,3,3,4,0,1,1,0,1,0\n1,0,14,0,3,7,5,0,0,1,1,0,1,0\n2,1,10,3,1,5,3,0,1,1,1,2,1,0\n2,0,3,2,4,2,4,0,1,1,1,2,1,0\n0,0,1,2,0,2,2,0,1,1,1,1,1,0\n0,0,10,3,2,8,3,1,1,1,1,1,1,0\n2,1,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,8,0,0,7,2,4,1,1,1,0,1,0\n0,0,3,2,0,0,2,0,1,1,1,0,1,0\n2,0,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,1,4,1,0,0,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,2,1,0,2,2,0,1,1,1,2,1,0\n1,1,9,1,4,3,5,1,0,1,1,0,1,0\n0,0,1,2,3,6,1,4,1,1,1,2,1,0\n1,3,0,3,2,8,3,4,1,1,1,1,1,0\n0,0,1,2,2,10,3,0,1,1,1,0,1,0\n0,1,1,2,2,2,3,0,0,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,2,1,1\n2,0,3,2,4,2,4,4,0,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,0,1,1\n0,4,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,1,8,4,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n2,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n0,0,0,3,2,5,5,0,0,1,1,0,1,0\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,1,3,4,1,1,1,0,1,0\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,0,12,2,4,1,1,1,1,1,0\n0,0,3,2,3,3,1,0,1,1,1,0,1,0\n1,3,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,5,1,4,0,1,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,1,1,4,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n1,0,0,3,2,1,3,0,1,1,1,2,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,5,2,2,0,3,0,1,1,1,1,1,0\n0,0,2,1,0,9,2,0,1,1,1,0,1,0\n1,0,5,2,2,8,3,0,1,1,1,2,1,0\n3,1,8,0,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,4,1,1,1,0,1,0\n2,1,2,1,1,2,3,0,0,1,1,0,1,1\n0,0,1,2,1,3,3,0,1,1,1,1,1,0\n1,0,2,1,0,1,2,0,1,1,1,1,1,0\n2,0,7,1,0,12,2,0,1,1,1,2,1,0\n0,0,6,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,4,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,1,0,3,0,9,2,0,1,1,1,1,1,0\n0,4,1,2,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,10,2,4,1,1,1,2,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,2,3,2,0,3,2,1,1,1,1,1,1,0\n1,2,10,3,0,4,2,0,1,1,1,1,1,1\n1,5,10,3,4,5,5,0,0,1,1,1,1,0\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n0,0,3,2,2,9,1,0,1,1,1,0,1,0\n1,2,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,1,4,3,0,1,1,1,1,1,0\n2,1,6,2,0,2,0,0,0,1,1,0,1,0\n0,0,1,2,0,8,0,0,0,1,1,0,1,0\n0,0,3,2,2,12,4,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,3,1,2,1,8,4,2,0,1,1,2,1,0\n2,1,1,2,0,4,2,0,1,1,1,2,1,0\n1,5,13,3,2,5,3,0,1,1,1,1,1,1\n1,2,0,3,0,3,2,0,1,1,1,0,1,1\n0,3,3,2,0,12,2,0,1,1,1,1,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,5,2,2,6,3,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,0,0,2,0,1,1,1,0,1,1\n0,0,2,1,2,3,3,0,1,1,1,1,1,0\n1,0,0,3,2,4,3,0,0,1,1,1,1,0\n0,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,1,3,2,3,4,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n2,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,1,3,2,0,1,2,4,1,1,1,0,1,0\n1,0,10,3,1,4,3,0,1,1,1,0,1,0\n1,0,0,3,2,3,1,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,1,5,0,1,1,1,1,1,0\n1,4,10,3,1,5,5,1,0,1,1,1,1,0\n2,2,0,3,0,3,2,0,1,1,1,0,1,1\n0,1,1,2,2,3,1,0,1,1,1,2,1,0\n2,0,1,2,1,5,3,0,0,1,1,0,1,0\n1,1,10,3,2,5,3,0,1,1,1,1,1,0\n1,0,13,3,0,5,2,0,1,1,1,2,1,0\n2,4,7,1,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,0\n1,0,0,3,5,4,3,0,0,1,1,1,1,1\n2,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,2,1,2,5,1,0,1,1,1,0,1,1\n1,0,9,1,0,8,2,0,1,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,10,3,1,4,3,0,0,1,1,0,1,0\n2,0,3,2,0,6,0,4,0,1,1,0,1,0\n1,0,10,3,0,5,0,0,0,1,1,2,1,1\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,2,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,1,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,4,0,3,0,5,2,4,1,1,1,0,1,0\n0,0,3,2,2,8,1,4,0,1,1,1,1,0\n1,3,3,2,1,2,5,0,1,1,1,0,1,0\n0,0,9,1,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,1,0,1,1,1,1,1,0\n3,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,4,5,2,3,8,5,4,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n3,0,3,2,4,8,3,0,0,1,1,2,1,0\n1,0,3,2,2,2,4,0,0,1,1,2,1,0\n0,0,3,2,0,9,2,2,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,10,3,0,5,0,0,0,1,1,0,1,1\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n1,0,1,2,0,6,2,0,1,1,1,0,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,1,3,2,0,10,2,4,1,1,1,0,1,1\n1,0,10,3,1,5,3,0,0,1,1,1,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,2,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,0,13,3,5,5,3,1,1,1,1,1,1,1\n0,0,2,1,2,6,4,2,1,1,1,0,1,0\n0,0,6,2,2,8,1,0,1,1,1,0,1,0\n2,1,3,2,4,1,3,0,1,1,1,2,1,0\n0,3,1,2,1,4,3,4,1,1,1,0,1,0\n1,2,0,3,5,3,5,0,0,1,1,1,1,0\n1,1,6,2,2,8,3,0,0,1,1,1,1,0\n1,0,4,3,0,5,0,1,0,1,1,0,1,0\n0,0,2,1,0,2,0,0,0,1,1,2,1,0\n1,0,3,2,1,9,3,0,1,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,3,0,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,4,3,2,0,4,2,0,1,1,1,0,1,0\n2,0,8,0,0,10,2,0,1,1,1,0,1,1\n0,0,0,3,2,1,3,0,1,1,1,0,1,0\n1,0,12,1,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,0\n2,2,0,3,4,9,5,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,4,1,1,1,0,1,0\n1,4,3,2,0,12,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,4,0,1,1,1,2,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,4,0,1,1,2,1,0\n0,0,1,2,5,3,5,2,1,1,1,0,1,0\n1,2,5,2,0,10,2,0,1,1,1,1,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,1,0,1,1,2,1,0\n2,5,10,3,2,5,5,0,0,1,1,2,1,0\n1,0,8,0,2,2,3,0,1,1,1,2,1,0\n1,0,8,0,0,7,2,2,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,1,0,1,1,1,1,1,0\n0,0,3,2,0,3,0,0,0,1,1,1,1,0\n0,0,1,2,2,9,1,0,1,1,1,2,1,0\n0,0,6,2,2,8,3,0,0,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,5,0,3,2,3,3,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,2,13,3,2,5,3,0,0,1,1,0,1,0\n2,0,3,2,4,0,3,4,0,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n2,0,3,2,4,0,5,0,0,1,1,2,1,0\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,2,1,1\n2,0,2,1,0,10,2,0,1,1,1,2,1,0\n1,0,12,1,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n2,1,3,2,4,2,3,4,0,1,1,2,1,0\n3,5,1,2,4,8,3,0,0,1,1,2,1,0\n0,0,0,3,0,8,0,0,0,1,1,0,1,0\n0,0,6,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,4,0,1,1,2,1,0\n1,3,1,2,3,8,3,4,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,5,1,2,1,1,5,0,1,1,1,0,1,0\n1,0,0,3,1,4,5,0,0,1,1,1,1,0\n2,0,3,2,0,5,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,1,8,3,0,0,1,1,2,1,0\n0,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,1,3,2,1,0,3,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,4,0,1,1,0,1,0\n3,0,8,0,4,2,5,4,1,1,1,2,1,0\n1,0,3,2,0,3,0,4,0,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,7,1,0,0,1,1,0,1,0\n1,0,0,3,0,7,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,0,0,0,1,1,0,1,1\n1,0,3,2,1,4,5,0,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,2,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,3,4,3,2,5,3,1,0,1,1,2,1,0\n1,0,6,2,1,8,3,0,0,1,1,2,1,0\n2,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,3,6,2,1,0,3,0,0,1,1,0,1,0\n1,1,1,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,6,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n2,2,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,1,1,0\n0,1,0,3,0,9,2,0,1,1,1,1,1,0\n1,0,14,0,3,6,5,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,4,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,1,2,1,0,0,1,1,2,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,1\n0,0,12,1,2,2,1,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,1,1,1,1,0,1,0\n0,0,2,1,0,10,2,0,1,1,1,0,1,1\n0,0,3,2,0,3,0,0,0,1,1,0,1,0\n0,0,0,3,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,5,10,3,0,1,1,1,1,1,0\n1,0,1,2,0,8,0,0,0,1,1,2,1,0\n1,0,1,2,1,4,3,0,0,1,1,1,1,0\n0,0,2,1,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,0,2,2,0,1,1,1,0,1,0\n1,0,10,3,0,5,2,1,1,1,1,0,1,0\n2,0,1,2,0,8,2,0,1,1,1,2,1,0\n2,0,3,2,1,2,5,4,0,1,1,2,1,0\n1,4,0,3,1,5,5,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,4,1,1,1,0,1,0\n1,1,0,3,1,4,3,0,1,1,1,1,1,0\n1,0,3,2,2,2,3,0,0,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,4,10,3,2,5,3,0,1,1,1,2,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,1,2,0,8,2,0,1,1,1,2,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,0\n1,1,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,9,3,0,1,1,1,0,1,0\n2,1,1,2,2,2,5,0,0,1,1,0,1,0\n1,0,0,3,1,4,5,4,0,1,1,1,1,1\n1,2,0,3,0,0,2,3,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,9,3,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n2,0,3,2,2,4,3,0,1,1,1,1,1,0\n1,0,9,1,0,1,2,0,1,1,1,1,1,0\n0,0,5,2,2,8,1,1,0,1,1,2,1,0\n1,1,6,2,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n3,0,3,2,4,3,5,0,0,1,1,2,1,0\n0,0,1,2,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,1,4,3,0,0,1,1,0,1,0\n2,0,3,2,1,1,3,0,0,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,0,14,0,2,9,3,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,5,2,0,5,0,0,0,1,1,2,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,4,0,3,2,5,1,0,0,1,1,2,1,0\n1,0,1,2,3,1,5,0,1,1,1,1,1,0\n0,0,1,2,2,5,3,0,1,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,1,11,0,0,4,2,0,1,1,1,1,1,0\n1,5,13,3,0,4,2,1,1,1,1,0,1,1\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,4,3,2,0,1,2,0,1,1,1,1,1,1\n1,1,0,3,1,4,3,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,5,8,1,4,0,1,1,2,1,0\n0,0,1,2,2,0,3,0,0,1,1,0,1,0\n0,4,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,12,1,2,1,3,0,1,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n2,4,14,0,2,7,3,0,1,1,1,2,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,7,1,0,4,0,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,5,1,2,5,8,3,1,1,1,1,1,1,0\n0,5,0,3,2,5,1,0,0,1,1,2,1,0\n1,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,0,1,2,2,4,3,0,1,1,1,1,1,1\n3,0,8,0,4,4,3,0,0,1,1,2,1,0\n1,1,3,2,2,1,1,0,1,1,1,2,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,6,2,0,1,1,1,1,1,0\n1,0,1,2,1,7,3,0,0,1,1,0,1,0\n1,0,3,2,3,1,3,0,1,1,1,0,1,0\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,1,2,3,0,0,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,2,1,0\n0,4,0,3,2,0,3,0,1,1,1,2,1,0\n1,1,7,1,1,2,3,2,0,1,1,2,1,0\n1,0,0,3,0,10,2,0,1,1,1,1,1,0\n1,0,1,2,1,2,5,0,0,1,1,2,1,0\n1,0,5,2,4,8,5,0,0,1,1,0,1,0\n1,0,1,2,1,5,5,0,0,1,1,0,1,0\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,4,3,2,0,2,2,0,1,1,1,0,1,0\n0,5,0,3,2,5,3,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,5,3,2,0,5,2,4,1,1,1,1,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,2,1,3,0,1,1,1,1,1,0\n1,0,6,2,3,8,5,4,0,1,1,0,1,0\n2,0,2,1,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,0,1,0,0,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,4,6,2,2,0,3,0,0,1,1,1,1,1\n1,0,5,2,0,3,0,1,0,1,1,0,1,0\n0,0,1,2,2,1,1,0,0,1,1,0,1,0\n2,3,3,2,2,8,3,0,1,1,1,0,1,1\n0,0,10,3,2,3,5,4,0,1,1,2,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,1,0,3,2,5,3,0,0,1,1,0,1,0\n1,1,0,3,1,3,5,0,0,1,1,0,1,0\n1,0,3,2,2,2,5,4,1,1,1,2,1,0\n0,0,2,1,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n2,4,0,3,1,5,3,0,0,1,1,2,1,0\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n2,0,3,2,5,1,3,0,1,1,1,1,1,0\n1,0,5,2,3,4,5,0,0,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n2,2,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,7,2,1,1,1,1,0,1,0\n2,0,3,2,4,10,3,0,1,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,7,1,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,2,1,4,0,1,1,1,0,1,0\n1,5,10,3,1,5,3,0,1,1,1,1,1,1\n1,5,3,2,2,2,5,0,0,1,1,1,1,0\n1,0,6,2,0,2,2,0,1,1,1,1,1,0\n0,0,5,2,0,9,0,0,0,1,1,1,1,0\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n1,0,0,3,0,0,0,4,0,1,1,0,1,1\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n2,1,2,1,0,9,2,0,1,1,1,1,1,0\n1,4,3,2,1,2,1,0,0,1,1,2,1,0\n0,0,8,0,3,7,5,4,0,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,0,10,3,3,3,5,0,0,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,2,12,1,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n1,4,0,3,1,12,3,4,0,1,1,1,1,1\n1,0,3,2,1,4,3,0,0,1,1,0,1,1\n1,3,3,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n0,0,10,3,0,4,0,0,0,1,1,0,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,1,3,5,0,1,1,1,1,1,0\n1,0,0,3,0,9,2,0,1,1,1,0,1,0\n0,0,6,2,2,3,3,0,1,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,2,1,0\n1,0,0,3,0,6,2,0,1,1,1,2,1,0\n1,0,1,2,2,8,3,0,1,1,1,2,1,0\n0,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,0,5,0,0,0,1,1,1,1,1\n0,0,0,3,2,3,1,0,0,1,1,2,1,0\n1,4,1,2,0,4,0,0,0,1,1,2,1,1\n0,0,3,2,2,8,4,4,1,1,1,0,1,0\n1,0,1,2,2,1,3,0,1,1,1,0,1,0\n1,4,3,2,1,12,5,4,0,1,1,0,1,1\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,1\n2,1,2,1,0,9,2,0,1,1,1,0,1,0\n3,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,4,4,0,1,1,0,1,0\n3,0,3,2,1,8,3,0,0,1,1,2,1,0\n1,0,3,2,1,4,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n2,0,3,2,1,2,3,4,1,1,1,0,1,0\n1,0,3,2,2,8,1,0,1,1,1,0,1,0\n1,0,3,2,1,3,3,0,1,1,1,0,1,0\n1,1,0,3,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,7,1,0,0,1,1,0,1,0\n1,0,6,2,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,1,1,2,0,4,2,3,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,5,7,1,0,5,2,0,1,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,4,0,1,1,0,1,0\n1,0,11,0,1,7,3,0,1,1,1,0,1,0\n2,1,0,3,0,9,2,0,1,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n1,1,12,1,3,1,3,4,1,1,1,0,1,0\n0,0,1,2,2,10,1,0,1,1,1,2,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,0,3,2,1,3,4,1,1,1,0,1,0\n0,0,2,1,5,1,1,0,1,1,1,0,1,0\n1,4,10,3,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,4,0,0,1,1,2,1,0\n0,0,4,3,0,5,2,1,1,1,1,0,1,0\n2,0,3,2,0,12,2,0,1,1,1,0,1,1\n0,0,12,1,0,2,2,0,1,1,1,2,1,0\n0,1,2,1,2,5,3,0,0,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,1\n0,0,1,2,0,7,2,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,1,3,2,2,6,3,0,1,1,1,2,1,0\n0,0,5,2,2,0,1,0,0,1,1,2,1,0\n2,0,3,2,0,8,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,1,2,1,8,4,0,0,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n2,0,9,1,0,1,2,0,1,1,1,0,1,0\n3,1,2,1,4,3,3,0,1,1,1,0,1,0\n1,0,0,3,1,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,4,1,1,1,0,1,0\n2,5,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,4,0,3,0,12,2,0,1,1,1,1,1,1\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,4,1,0,0,1,1,0,1,0\n1,0,1,2,1,7,3,0,1,1,1,0,1,0\n1,0,0,3,1,4,3,0,0,1,1,1,1,1\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,12,2,0,1,1,1,0,1,1\n0,0,1,2,2,6,3,0,1,1,1,0,1,0\n0,0,3,2,3,8,3,3,1,1,1,2,1,0\n2,3,3,2,0,8,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,1,3,3,0,0,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,1\n0,1,3,2,2,2,3,0,1,1,1,2,1,0\n3,1,1,2,0,0,2,0,1,1,1,2,1,0\n1,0,3,2,1,7,1,4,1,1,1,0,1,0\n1,0,1,2,0,2,2,0,1,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,8,0,0,1,2,0,1,1,1,0,1,1\n1,4,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,5,6,2,1,4,3,0,0,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,5,10,3,1,5,3,0,0,1,1,0,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n3,0,8,0,0,2,2,0,1,1,1,1,1,0\n1,1,13,3,2,5,3,0,1,1,1,2,1,0\n1,0,3,2,1,4,5,0,0,1,1,1,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n2,3,3,2,5,6,3,0,1,1,1,0,1,0\n2,0,3,2,2,8,3,4,0,1,1,2,1,0\n1,3,5,2,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,5,10,3,0,1,1,1,1,1,0\n1,0,6,2,3,8,1,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n2,0,3,2,1,6,5,0,1,1,1,2,1,0\n0,1,6,2,3,3,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,6,2,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,1\n0,0,3,2,2,7,1,0,1,1,1,2,1,0\n2,0,1,2,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,0,3,2,1,3,0,1,1,1,2,1,0\n0,0,5,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,4,1,1,1,0,1,1\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n1,4,1,2,0,12,2,0,1,1,1,0,1,0\n2,2,3,2,0,1,0,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,4,1,2,1,12,3,0,1,1,1,0,1,0\n0,0,1,2,0,0,2,0,1,1,1,0,1,1\n0,0,3,2,2,9,3,0,1,1,1,2,1,0\n0,0,9,1,0,2,2,4,1,1,1,0,1,0\n1,2,5,2,0,9,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n1,4,0,3,0,4,2,4,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,7,1,2,2,4,0,1,1,1,0,1,0\n1,3,3,2,0,0,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,1,0,1,1,1,1,1,0\n2,1,0,3,0,1,2,0,1,1,1,0,1,0\n0,3,1,2,1,8,5,0,1,1,1,0,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n1,2,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,2,1,2,2,1,3,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,5,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,0,6,0,4,0,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,0,5,2,2,0,5,0,0,1,1,0,1,0\n1,0,0,3,2,8,3,4,0,1,1,0,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n1,4,3,2,3,8,5,0,0,1,1,0,1,0\n0,0,3,2,1,8,5,4,0,1,1,0,1,0\n2,1,7,1,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,2,1,5,0,1,1,1,0,1,0\n0,4,0,3,0,5,2,4,1,1,1,0,1,0\n1,0,1,2,2,7,3,0,0,1,1,0,1,0\n0,0,3,2,1,2,1,0,0,1,1,2,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,1,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,2,5,3,0,1,1,1,2,1,0\n0,0,0,3,2,0,3,0,1,1,1,0,1,0\n0,1,1,2,2,5,1,0,1,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,5,3,0,0,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n2,4,1,2,0,12,2,0,1,1,1,2,1,0\n1,0,0,3,2,2,3,4,0,1,1,1,1,1\n0,0,2,1,1,10,1,4,1,1,1,1,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,0,8,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,4,0,0,1,1,2,1,0\n0,0,0,3,2,0,3,0,0,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,3,2,2,6,4,0,1,1,1,1,1,0\n2,0,3,2,1,2,4,0,0,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n1,1,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,1,2,0,7,0,4,0,1,1,1,1,1\n2,0,12,1,1,2,3,4,1,1,1,1,1,0\n1,5,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,8,0,0,11,0,4,0,1,1,2,1,0\n1,4,10,3,1,5,3,0,0,1,1,1,1,0\n1,0,3,2,2,8,4,0,0,1,1,0,1,0\n2,4,10,3,0,5,2,4,1,1,1,1,1,1\n2,1,0,3,4,5,3,0,0,1,1,2,1,0\n0,4,10,3,2,5,3,0,1,1,1,1,1,0\n1,4,4,3,3,5,3,4,1,1,1,0,1,0\n0,0,1,2,1,2,5,0,0,1,1,1,1,0\n0,4,0,3,0,12,2,0,1,1,1,1,1,0\n0,0,2,1,2,5,1,0,1,1,1,0,1,0\n0,0,12,1,1,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,7,5,4,0,1,1,0,1,0\n2,0,3,2,0,9,2,0,1,1,1,0,1,1\n0,0,3,2,0,9,2,0,1,1,1,0,1,0\n0,0,2,1,1,3,4,0,0,1,1,2,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n2,5,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,2,1,1,10,5,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,9,1,0,1,1,1,1,1,0\n0,0,3,2,0,8,0,0,0,1,1,2,1,0\n2,3,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,2,8,3,0,1,1,1,1,1,0\n1,0,8,0,1,2,5,4,0,1,1,0,1,0\n0,0,13,3,2,4,3,0,0,1,1,0,1,0\n1,0,1,2,1,4,3,0,1,1,1,1,1,0\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n0,0,1,2,2,4,1,0,1,1,1,0,1,0\n1,4,10,3,2,5,3,0,0,1,1,1,1,1\n3,0,8,0,0,2,2,0,1,1,1,2,1,0\n0,0,3,2,2,9,1,0,1,1,1,0,1,0\n3,1,1,2,0,4,2,0,1,1,1,2,1,0\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,2,7,4,0,1,1,1,2,1,0\n0,0,3,2,2,3,4,4,0,1,1,2,1,0\n0,2,1,2,1,4,3,0,0,1,1,0,1,0\n1,1,0,3,1,3,5,1,0,1,1,2,1,0\n0,0,0,3,2,2,3,0,0,1,1,2,1,0\n2,0,3,2,1,7,5,0,1,1,1,0,1,0\n0,0,3,2,0,8,2,4,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,1,2,0,5,2,0,1,1,1,1,1,0\n1,0,6,2,4,7,3,0,1,1,1,0,1,0\n1,0,9,1,0,1,2,0,1,1,1,0,1,0\n0,0,11,0,5,9,5,0,1,1,1,0,1,0\n1,0,3,2,2,3,5,0,0,1,1,2,1,0\n1,0,3,2,2,6,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n3,2,4,3,0,5,2,0,1,1,1,1,1,1\n3,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,4,3,0,2,0,0,0,1,1,1,1,1\n2,0,1,2,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,0,0,2,0,1,1,1,0,1,0\n1,0,1,2,1,3,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,4,1,1,1,0,1,0\n1,0,0,3,0,5,2,1,1,1,1,1,1,1\n1,0,1,2,0,5,2,4,1,1,1,1,1,1\n1,0,3,2,1,3,5,0,1,1,1,1,1,0\n0,0,3,2,0,8,0,0,0,1,1,2,1,0\n2,0,1,2,2,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,0,5,4,0,1,1,0,1,0\n1,1,0,3,1,5,5,0,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,0,3,2,7,3,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,2,1,0\n0,0,1,2,2,4,1,0,0,1,1,2,1,0\n1,1,1,2,1,2,3,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,5,2,2,8,3,0,1,1,1,2,1,0\n1,0,3,2,0,2,0,1,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,10,1,0,1,1,1,2,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n3,1,5,2,0,4,2,0,1,1,1,2,1,1\n0,0,1,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n0,0,2,1,0,9,2,0,1,1,1,1,1,1\n1,0,10,3,1,5,5,0,0,1,1,0,1,0\n3,0,3,2,4,3,3,0,0,1,1,2,1,0\n0,0,3,2,0,5,2,0,1,1,1,1,1,0\n1,1,0,3,0,4,2,0,1,1,1,0,1,1\n1,3,3,2,0,8,0,0,0,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,9,1,0,10,2,0,1,1,1,1,1,0\n2,2,4,3,1,5,3,0,1,1,1,0,1,1\n1,0,0,3,1,8,5,0,0,1,1,0,1,0\n0,0,0,3,2,8,1,4,0,1,1,2,1,0\n0,0,0,3,2,8,3,0,1,1,1,1,1,0\n2,1,1,2,0,2,2,0,1,1,1,0,1,0\n3,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,0,10,0,0,0,1,1,2,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,7,1,1,10,3,0,1,1,1,0,1,0\n1,3,3,2,0,1,2,4,1,1,1,0,1,1\n1,0,3,2,3,2,5,0,0,1,1,2,1,0\n1,0,1,2,2,3,3,0,1,1,1,0,1,0\n2,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,1,4,3,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,2,1,2,0,4,2,0,1,1,1,1,1,1\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,12,1,2,3,3,0,0,1,1,2,1,0\n1,0,0,3,0,2,2,0,1,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,0,2,0,0,0,1,1,2,1,1\n2,0,9,1,2,1,5,0,1,1,1,0,1,0\n0,1,0,3,0,3,2,0,1,1,1,0,1,0\n1,4,3,2,0,10,2,0,1,1,1,0,1,1\n2,1,11,0,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,0,1,0,1,1,1,1,1,0\n2,0,0,3,0,5,2,4,1,1,1,1,1,1\n0,4,3,2,0,12,2,0,1,1,1,1,1,0\n1,0,8,0,0,6,2,0,1,1,1,0,1,0\n2,1,10,3,1,3,3,3,1,1,1,0,1,0\n0,0,2,1,0,10,2,0,1,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n2,1,11,0,0,2,2,0,1,1,1,2,1,0\n0,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,2,1,2,7,3,4,1,1,1,0,1,0\n0,0,1,2,2,8,5,0,0,1,1,1,1,0\n0,0,12,1,2,6,5,0,1,1,1,0,1,0\n2,0,1,2,1,3,3,0,1,1,1,1,1,1\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,6,2,0,0,2,0,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,2,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,13,3,2,4,3,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,1,1,5,4,1,1,1,2,1,0\n1,4,3,2,0,12,2,0,1,1,1,1,1,0\n1,0,3,2,0,12,2,0,1,1,1,0,1,0\n2,0,4,3,4,5,5,0,1,1,1,1,1,1\n1,0,1,2,1,8,3,0,1,1,1,1,1,0\n1,0,13,3,0,5,2,1,1,1,1,0,1,1\n2,2,0,3,0,3,2,0,1,1,1,1,1,1\n3,0,12,1,0,12,2,0,1,1,1,0,1,0\n0,4,1,2,2,8,1,0,0,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n0,4,2,1,2,2,1,4,1,1,1,2,1,0\n0,0,8,0,2,6,3,0,1,1,1,0,1,0\n0,0,12,1,1,7,3,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,2,1,0\n2,0,3,2,1,8,3,0,0,1,1,2,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,8,0,2,2,3,0,0,1,1,2,1,0\n1,0,6,2,0,0,2,0,1,1,1,0,1,1\n0,0,6,2,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,1,9,3,0,1,1,1,1,1,0\n1,1,14,0,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,1,3,3,0,1,1,1,0,1,1\n1,4,10,3,2,5,3,0,0,1,1,1,1,0\n0,0,2,1,2,2,1,0,1,1,1,0,1,0\n1,1,3,2,1,1,3,0,1,1,1,1,1,0\n0,1,0,3,2,4,3,0,0,1,1,0,1,0\n1,3,0,3,0,8,2,0,1,1,1,0,1,1\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,6,2,0,0,0,0,0,1,1,2,1,1\n0,0,1,2,1,4,3,0,1,1,1,0,1,0\n0,2,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,12,1,2,7,1,0,1,1,1,0,1,0\n1,0,1,2,1,3,3,0,1,1,1,0,1,1\n0,0,3,2,2,2,1,4,1,1,1,2,1,0\n0,0,1,2,2,3,3,0,0,1,1,1,1,0\n1,2,4,3,2,5,3,0,0,1,1,1,1,1\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,5,2,2,3,3,0,0,1,1,1,1,0\n1,0,3,2,0,8,2,0,1,1,1,1,1,0\n2,0,0,3,1,8,3,0,0,1,1,0,1,0\n2,0,1,2,0,4,0,0,0,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,5,1,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,1,1,5,0,1,1,1,2,1,0\n2,3,3,2,4,8,3,0,1,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,1\n2,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,1,8,3,0,1,1,1,0,1,0\n0,0,9,1,0,7,4,0,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n0,4,1,2,3,2,1,4,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,5,0,1,1,1,1,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,5,2,0,1,2,0,1,1,1,1,1,0\n1,3,3,2,2,8,3,0,1,1,1,0,1,1\n2,0,5,2,0,4,2,0,1,1,1,0,1,1\n0,0,7,1,2,6,3,0,1,1,1,2,1,0\n1,3,10,3,2,4,3,0,0,1,1,1,1,0\n1,1,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,7,1,2,9,3,0,1,1,1,0,1,0\n1,3,0,3,1,5,3,4,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n1,1,0,3,2,3,3,0,1,1,1,1,1,0\n1,0,2,1,4,7,4,0,1,1,1,2,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,1,7,3,0,1,1,1,1,1,0\n1,1,12,1,0,4,2,0,1,1,1,1,1,0\n1,0,0,3,1,3,4,4,1,1,1,0,1,0\n0,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,10,3,2,5,3,0,0,1,1,0,1,0\n2,3,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,0,3,1,3,3,0,1,1,1,0,1,1\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n1,0,1,2,1,6,4,4,1,1,1,0,1,0\n0,0,3,2,3,1,1,4,1,1,1,0,1,0\n2,1,1,2,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,1\n1,5,3,2,1,12,5,0,0,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,4,1,1,1,2,1,0\n2,0,14,0,2,10,3,4,1,1,1,0,1,0\n2,0,2,1,0,7,2,4,1,1,1,1,1,0\n0,0,5,2,0,1,2,4,1,1,1,0,1,0\n0,0,3,2,2,7,5,1,1,1,1,0,1,0\n2,4,3,2,4,4,5,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n0,5,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n2,4,3,2,0,10,2,0,1,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,2,4,5,4,0,1,1,0,1,0\n0,0,3,2,2,2,1,4,1,1,1,0,1,0\n2,4,0,3,4,8,5,1,0,1,1,2,1,0\n0,0,2,1,2,3,3,0,0,1,1,2,1,0\n2,1,10,3,1,0,3,0,0,1,1,2,1,0\n1,4,5,2,1,4,5,0,1,1,1,1,1,0\n0,5,3,2,2,5,3,4,0,1,1,0,1,0\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n2,0,0,3,4,3,3,0,1,1,1,2,1,0\n1,0,13,3,0,3,2,0,1,1,1,0,1,1\n1,4,7,1,4,2,3,0,0,1,1,1,1,0\n2,0,3,2,1,4,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n2,1,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,2,1,4,1,5,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n2,0,0,3,1,4,3,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n0,0,2,1,3,10,3,4,1,1,1,0,1,0\n0,0,0,3,0,0,2,0,1,1,1,1,1,1\n2,0,1,2,0,2,2,0,1,1,1,2,1,1\n1,3,6,2,1,6,5,4,1,1,1,0,1,0\n2,0,3,2,4,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,12,1,2,2,5,0,1,1,1,0,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n1,0,3,2,1,6,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,8,2,0,1,1,1,1,1,1\n1,1,6,2,0,4,2,0,1,1,1,2,1,0\n0,0,12,1,0,1,2,0,1,1,1,1,1,0\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,7,2,3,1,1,1,0,1,1\n0,0,3,2,1,4,5,0,0,1,1,1,1,0\n2,4,1,2,4,8,4,0,0,1,1,2,1,0\n1,4,0,3,0,8,0,0,0,1,1,0,1,1\n2,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,4,0,1,1,0,1,0\n1,0,3,2,1,0,5,0,1,1,1,0,1,0\n1,3,3,2,0,8,2,0,1,1,1,1,1,1\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n3,0,3,2,4,3,3,0,0,1,1,2,1,0\n0,5,0,3,2,8,3,0,0,1,1,2,1,0\n2,0,1,2,0,4,2,0,1,1,1,2,1,0\n0,4,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,3,5,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,2,1,3,0,1,1,1,1,1,0\n2,3,3,2,4,8,5,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,12,1,2,3,1,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,0,1,2,1,8,5,4,0,1,1,0,1,0\n0,0,1,2,2,3,4,1,0,1,1,2,1,0\n0,0,1,2,2,7,1,0,0,1,1,2,1,0\n2,0,5,2,4,8,4,0,0,1,1,0,1,0\n0,1,3,2,1,7,5,0,1,1,1,0,1,0\n0,0,12,1,2,1,3,0,1,1,1,1,1,0\n1,0,2,1,1,9,3,0,1,1,1,1,1,0\n0,0,0,3,3,0,3,4,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n2,0,3,2,3,8,5,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,2,1,1\n1,4,3,2,0,10,2,0,1,1,1,2,1,1\n1,0,3,2,1,7,5,0,0,1,1,0,1,0\n0,5,0,3,0,5,0,1,0,1,1,0,1,1\n0,0,3,2,2,12,3,3,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n2,1,0,3,4,3,3,0,1,1,1,2,1,0\n1,4,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n1,4,0,3,1,1,3,0,1,1,1,0,1,0\n1,0,3,2,1,6,1,0,0,1,1,0,1,0\n2,0,3,2,0,2,2,0,1,1,1,2,1,0\n0,0,3,2,0,3,0,0,0,1,1,2,1,0\n0,0,2,1,5,3,1,1,1,1,1,2,1,0\n0,0,11,0,2,10,4,3,1,1,1,0,1,0\n1,5,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,2,1,0\n0,3,5,2,2,8,1,4,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,1,3,2,0,4,2,0,1,1,1,2,1,0\n2,0,3,2,2,1,4,0,0,1,1,2,1,0\n3,1,8,0,0,9,2,0,1,1,1,2,1,0\n0,0,13,3,1,5,3,0,1,1,1,0,1,1\n1,1,3,2,3,3,5,0,0,1,1,2,1,0\n2,2,0,3,0,3,2,0,1,1,1,2,1,0\n1,0,6,2,0,0,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,5,3,2,2,12,4,1,0,1,1,0,1,0\n1,0,0,3,0,4,0,0,0,1,1,1,1,1\n0,1,3,2,2,1,5,0,1,1,1,0,1,0\n1,0,0,3,1,2,3,0,0,1,1,0,1,1\n2,0,3,2,4,2,5,0,0,1,1,0,1,0\n1,0,5,2,0,0,2,0,1,1,1,1,1,1\n3,0,3,2,4,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,5,3,0,0,1,1,2,1,0\n3,0,3,2,0,6,2,0,1,1,1,2,1,0\n0,0,3,2,5,2,4,3,1,1,1,0,1,0\n0,0,9,1,0,5,2,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,0,3,1,4,3,0,1,1,1,0,1,1\n0,0,3,2,0,10,2,4,1,1,1,0,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,0,0,0,0,1,1,2,1,0\n2,5,3,2,0,4,2,0,1,1,1,2,1,0\n1,1,3,2,0,1,2,1,1,1,1,1,1,0\n1,3,0,3,2,4,3,0,0,1,1,0,1,0\n1,0,10,3,1,5,5,0,0,1,1,0,1,1\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,1,2,2,6,5,4,1,1,1,0,1,0\n2,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,14,0,0,7,2,0,1,1,1,1,1,0\n1,3,3,2,1,8,5,0,0,1,1,0,1,0\n1,2,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,10,3,0,5,0,0,0,1,1,2,1,0\n1,0,5,2,1,3,3,0,0,1,1,0,1,1\n0,0,1,2,1,7,5,0,0,1,1,1,1,1\n0,0,1,2,0,1,0,0,0,1,1,0,1,0\n1,0,8,0,0,7,2,4,1,1,1,2,1,1\n0,0,1,2,2,4,1,0,0,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,4,0,1,1,0,1,0\n1,0,10,3,1,5,3,0,0,1,1,1,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,0,0,3,0,2,2,3,1,1,1,0,1,1\n1,0,1,2,0,0,2,0,1,1,1,0,1,0\n0,0,10,3,2,4,3,0,1,1,1,1,1,0\n1,0,4,3,1,5,3,0,1,1,1,1,1,1\n0,0,6,2,1,3,3,0,1,1,1,2,1,0\n0,0,6,2,0,4,0,0,0,1,1,1,1,0\n0,0,0,3,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,1,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,9,3,0,0,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,2,1,0\n1,0,12,1,0,8,2,4,1,1,1,0,1,0\n1,4,10,3,4,5,5,0,0,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,1\n1,1,4,3,0,3,2,0,1,1,1,2,1,0\n0,0,0,3,0,5,0,0,0,1,1,0,1,1\n2,0,1,2,0,4,2,0,1,1,1,2,1,1\n1,0,3,2,4,4,3,0,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,4,1,0,1,1,1,0,1,0\n1,2,10,3,0,3,2,1,1,1,1,0,1,1\n0,0,6,2,0,1,0,0,0,1,1,0,1,0\n0,0,2,1,2,1,3,0,0,1,1,2,1,0\n0,0,0,3,2,8,1,4,0,1,1,0,1,0\n0,0,3,2,2,8,5,0,0,1,1,2,1,0\n1,4,0,3,0,12,2,0,1,1,1,1,1,0\n0,0,1,2,2,4,3,0,0,1,1,1,1,0\n0,0,3,2,1,3,5,0,0,1,1,2,1,0\n1,4,0,3,0,5,2,0,1,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,1,0,1,1,1,2,1,0\n2,0,3,2,2,1,3,0,1,1,1,0,1,0\n1,0,1,2,1,3,5,0,1,1,1,1,1,0\n2,0,3,2,3,8,4,4,0,1,1,0,1,0\n0,0,1,2,2,10,3,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,5,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,1,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n0,0,0,3,1,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,4,1,2,0,10,2,0,1,1,1,0,1,0\n0,5,3,2,0,12,2,0,1,1,1,2,1,0\n1,0,12,1,1,7,3,0,0,1,1,2,1,0\n1,0,0,3,1,5,3,0,1,1,1,0,1,1\n0,0,6,2,1,3,5,0,0,1,1,0,1,0\n0,0,3,2,1,2,5,0,0,1,1,0,1,0\n0,0,0,3,2,8,3,0,1,1,1,2,1,0\n2,0,8,0,0,2,2,0,1,1,1,0,1,0\n2,0,0,3,0,2,2,4,1,1,1,2,1,0\n0,0,3,2,3,2,5,2,0,1,1,1,1,0\n1,0,6,2,0,8,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,2,1,0\n2,0,2,1,0,2,2,4,1,1,1,2,1,1\n0,5,10,3,0,5,2,1,1,1,1,2,1,0\n0,3,0,3,2,12,3,0,1,1,1,1,1,0\n0,0,3,2,1,3,5,0,0,1,1,2,1,0\n0,0,1,2,2,3,5,0,0,1,1,2,1,0\n0,0,0,3,2,2,1,0,0,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,14,0,0,6,0,0,0,1,1,0,1,0\n1,0,10,3,2,5,3,0,1,1,1,1,1,0\n0,4,10,3,0,4,0,0,0,1,1,0,1,1\n1,0,10,3,0,2,2,1,1,1,1,0,1,0\n2,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,1,1,2,2,1,5,0,1,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,4,0,0,1,1,2,1,0\n1,0,10,3,1,8,3,0,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,0,1,1,2,1,1\n0,5,1,2,2,12,3,4,1,1,1,2,1,0\n1,0,3,2,2,8,5,0,0,1,1,0,1,0\n0,0,3,2,2,4,3,0,0,1,1,0,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,5,0,0,1,1,2,1,0\n0,4,0,3,2,5,1,0,0,1,1,2,1,0\n0,0,0,3,0,4,2,1,1,1,1,1,1,1\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,5,2,0,8,4,1,0,1,1,2,1,1\n0,0,1,2,2,2,3,0,0,1,1,1,1,0\n0,0,0,3,2,8,3,1,0,1,1,0,1,0\n1,5,1,2,2,4,3,0,1,1,1,0,1,0\n0,5,1,2,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,0,3,0,12,2,0,1,1,1,1,1,1\n0,5,3,2,2,2,1,0,0,1,1,0,1,0\n2,2,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,6,2,2,5,3,0,0,1,1,2,1,0\n1,5,1,2,0,0,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,0,1,1,1,1,1,0\n0,0,3,2,3,8,3,0,0,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,1,4,5,0,0,1,1,2,1,0\n2,0,0,3,1,3,3,1,0,1,1,2,1,0\n1,3,1,2,0,2,2,0,1,1,1,0,1,0\n1,1,6,2,0,3,2,0,1,1,1,1,1,1\n0,5,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,1,2,1,8,3,0,0,1,1,2,1,0\n0,0,2,1,2,8,1,0,0,1,1,2,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,4,2,1,0,2,4,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,2,0,3,0,5,2,0,1,1,1,0,1,1\n0,1,0,3,2,5,1,0,1,1,1,2,1,0\n1,0,1,2,1,5,3,0,1,1,1,0,1,1\n1,0,3,2,4,5,5,3,0,1,1,2,1,0\n0,0,7,1,1,11,3,0,0,1,1,0,1,0\n0,0,1,2,1,7,5,1,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,4,1,2,0,12,2,0,1,1,1,0,1,0\n1,0,5,2,1,8,5,0,0,1,1,0,1,1\n1,0,1,2,0,7,2,3,1,1,1,0,1,0\n0,0,0,3,2,0,3,0,0,1,1,2,1,0\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n1,0,0,3,1,0,3,0,0,1,1,1,1,0\n2,0,10,3,0,8,2,1,1,1,1,0,1,1\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n2,0,0,3,3,4,3,0,1,1,1,1,1,0\n2,0,3,2,2,11,5,0,0,1,1,0,1,0\n1,0,12,1,0,10,2,4,1,1,1,0,1,0\n2,1,1,2,0,1,2,0,1,1,1,0,1,0\n1,1,1,2,2,1,3,0,0,1,1,2,1,0\n1,4,3,2,2,2,5,0,0,1,1,0,1,0\n0,0,3,2,3,0,5,4,0,1,1,2,1,0\n0,0,3,2,0,10,2,4,1,1,1,1,1,0\n0,0,3,2,0,5,2,0,1,1,1,2,1,0\n1,0,12,1,2,6,3,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,1,3,3,0,1,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,1,0,0,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,1,2,5,0,0,1,1,2,1,0\n2,5,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,6,2,2,3,1,0,0,1,1,0,1,0\n0,0,1,2,2,8,5,4,0,1,1,2,1,0\n0,0,1,2,2,2,5,0,0,1,1,2,1,0\n0,0,3,2,2,0,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,1,2,2,4,3,3,1,1,1,1,1,1\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,1,11,5,0,0,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,1,1,0\n1,0,5,2,0,8,1,0,0,1,1,2,1,0\n0,0,6,2,0,0,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,6,2,0,5,2,0,1,1,1,1,1,0\n0,5,3,2,0,12,2,0,1,1,1,1,1,0\n0,0,10,3,2,4,3,0,1,1,1,1,1,0\n1,5,10,3,2,1,3,0,1,1,1,1,1,0\n0,5,0,3,0,5,2,0,1,1,1,2,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n3,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,4,1,1,1,0,1,0\n1,0,6,2,1,1,3,0,1,1,1,0,1,0\n0,0,10,3,2,4,1,0,0,1,1,1,1,1\n1,0,3,2,2,1,4,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,4,5,0,0,1,1,1,1,0\n0,0,1,2,2,8,1,3,1,1,1,0,1,0\n1,0,0,3,1,5,3,0,1,1,1,0,1,0\n0,0,3,2,1,7,3,0,0,1,1,0,1,0\n0,0,2,1,2,8,3,0,0,1,1,0,1,0\n2,5,3,2,0,1,2,0,1,1,1,0,1,0\n1,3,10,3,0,4,4,0,1,1,1,0,1,1\n0,0,3,2,1,9,3,0,1,1,1,0,1,0\n0,0,0,3,2,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,1,1,3,0,1,1,1,0,1,0\n2,0,3,2,5,1,3,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n1,0,2,1,1,12,3,0,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n1,5,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,5,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,8,5,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n2,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,1,7,5,0,0,1,1,0,1,0\n0,0,9,1,2,9,1,0,1,1,1,2,1,0\n1,5,10,3,0,5,2,1,1,1,1,1,1,0\n0,0,3,2,2,6,1,4,1,1,1,0,1,0\n0,0,1,2,2,12,3,2,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,4,0,3,2,5,3,0,0,1,1,1,1,1\n0,0,1,2,2,5,1,0,1,1,1,0,1,0\n1,0,10,3,0,1,2,4,1,1,1,0,1,0\n0,0,5,2,2,1,1,0,1,1,1,2,1,0\n0,0,9,1,2,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,1,0,3,0,5,4,0,0,1,1,2,1,1\n1,3,1,2,1,8,5,0,0,1,1,0,1,0\n2,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n2,1,10,3,0,9,2,0,1,1,1,0,1,0\n1,0,0,3,0,7,0,0,0,1,1,2,1,0\n2,4,1,2,1,8,3,4,0,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,4,2,1,2,5,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,0,1,0\n0,0,6,2,2,4,3,4,0,1,1,0,1,0\n1,0,1,2,0,4,0,0,0,1,1,2,1,1\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,0,5,2,0,1,1,1,1,1,1\n2,1,10,3,0,5,2,0,1,1,1,2,1,1\n0,0,0,3,2,8,1,0,1,1,1,0,1,0\n0,1,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,0,3,0,1,2,1,1,1,1,2,1,0\n0,0,12,1,2,1,3,4,0,1,1,1,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,4,0,3,0,5,0,0,0,1,1,1,1,0\n1,0,3,2,0,2,0,0,0,1,1,0,1,0\n1,0,1,2,1,7,5,4,0,1,1,0,1,0\n0,0,1,2,2,8,1,4,1,1,1,0,1,0\n1,2,13,3,0,3,2,1,1,1,1,0,1,1\n2,1,10,3,5,3,3,0,0,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,1,7,3,0,0,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n0,0,3,2,1,2,5,4,0,1,1,0,1,0\n0,0,2,1,2,6,3,0,1,1,1,0,1,0\n2,0,1,2,0,1,2,0,1,1,1,1,1,0\n2,0,8,0,4,2,3,0,0,1,1,0,1,0\n1,0,13,3,0,8,2,0,1,1,1,0,1,0\n0,0,7,1,2,6,3,0,0,1,1,0,1,0\n1,1,8,0,0,1,2,0,1,1,1,2,1,0\n0,0,12,1,2,2,3,4,1,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n2,0,3,2,1,4,3,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n0,0,2,1,2,3,1,0,1,1,1,2,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,1,1,1,1,2,1,0\n1,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,0,3,2,2,0,3,0,0,1,1,0,1,0\n2,0,1,2,1,8,5,0,0,1,1,0,1,0\n2,0,8,0,4,2,3,0,0,1,1,2,1,0\n1,0,1,2,0,0,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,1,0,0,1,1,1,1,0\n3,1,8,0,0,4,2,0,1,1,1,0,1,0\n1,1,0,3,3,0,3,0,1,1,1,1,1,0\n1,5,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,2,1,1,1,1,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,14,0,3,1,5,4,0,1,1,0,1,0\n1,0,1,2,1,7,3,0,1,1,1,0,1,0\n2,0,10,3,2,5,3,0,1,1,1,0,1,1\n2,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,7,1,4,0,1,1,0,1,0\n1,0,8,0,0,1,2,3,1,1,1,0,1,0\n2,2,12,1,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,9,2,0,1,1,1,0,1,0\n1,0,0,3,3,3,3,0,1,1,1,1,1,1\n0,0,3,2,0,1,4,0,1,1,1,0,1,0\n0,0,5,2,2,1,3,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,8,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,2,1,1\n1,0,5,2,2,4,3,0,0,1,1,0,1,0\n0,0,5,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,4,4,0,1,1,1,0,1,0\n0,0,4,3,2,5,3,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,0\n1,0,10,3,0,5,0,0,0,1,1,1,1,1\n0,0,7,1,2,6,1,0,1,1,1,0,1,0\n1,0,6,2,2,5,1,0,0,1,1,0,1,0\n0,0,10,3,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,3,3,5,0,0,1,1,1,1,0\n0,4,3,2,0,5,2,0,1,1,1,0,1,0\n0,0,0,3,3,5,5,4,0,1,1,2,1,0\n2,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,1,5,2,1,3,3,0,0,1,1,1,1,0\n1,0,10,3,2,4,3,0,0,1,1,1,1,1\n1,0,5,2,1,5,5,0,0,1,1,1,1,0\n1,1,8,0,0,9,2,0,1,1,1,1,1,0\n3,4,10,3,0,4,2,0,1,1,1,2,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,0,0,2,0,1,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,1,1,1\n0,3,3,2,0,8,2,0,1,1,1,1,1,1\n1,2,0,3,3,3,5,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,2,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n1,4,6,2,0,12,2,0,1,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,2,1,0\n2,0,1,2,4,2,3,0,0,1,1,2,1,0\n2,5,3,2,1,8,3,0,0,1,1,2,1,0\n1,5,3,2,3,3,5,4,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,1,10,3,1,5,3,0,0,1,1,2,1,0\n0,4,0,3,2,5,1,0,1,1,1,1,1,0\n0,0,3,2,2,7,3,4,0,1,1,0,1,0\n1,0,13,3,0,4,2,0,1,1,1,0,1,1\n1,0,12,1,1,8,5,0,0,1,1,0,1,0\n2,0,1,2,1,12,5,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,7,1,1,7,3,4,0,1,1,1,1,0\n1,0,3,2,1,3,3,0,1,1,1,1,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,5,2,2,3,1,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,3,0,3,0,12,2,0,1,1,1,1,1,1\n2,0,3,2,0,0,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,4,0,1,1,0,1,0\n2,0,10,3,0,5,2,0,1,1,1,1,1,0\n0,5,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,0,9,2,0,1,1,1,0,1,0\n1,4,5,2,0,1,2,0,1,1,1,0,1,1\n1,0,5,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,4,4,3,0,0,1,1,1,1,0\n2,1,3,2,0,9,2,1,1,1,1,1,1,0\n3,1,1,2,0,9,2,0,1,1,1,2,1,0\n0,0,3,2,0,8,0,0,0,1,1,1,1,0\n0,0,6,2,2,4,3,0,0,1,1,0,1,0\n2,2,4,3,1,5,3,0,1,1,1,2,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n0,4,10,3,0,5,0,0,0,1,1,2,1,1\n1,1,0,3,0,4,2,0,1,1,1,0,1,1\n1,3,3,2,0,8,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,4,1,1,1,2,1,0\n0,3,6,2,2,8,3,3,1,1,1,1,1,0\n2,1,0,3,1,9,3,0,1,1,1,2,1,0\n0,5,10,3,2,5,3,0,0,1,1,2,1,0\n1,4,5,2,0,8,0,0,0,1,1,2,1,1\n1,5,3,2,0,12,2,0,1,1,1,1,1,1\n2,0,1,2,1,0,3,4,0,1,1,0,1,0\n1,4,0,3,3,5,5,0,0,1,1,1,1,0\n1,0,1,2,1,1,5,0,1,1,1,0,1,0\n0,2,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,1,0,3,0,0,1,1,2,1,0\n2,1,14,0,0,1,2,4,1,1,1,2,1,0\n0,0,9,1,0,10,2,0,1,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,5,0,3,0,12,2,0,1,1,1,1,1,0\n1,0,1,2,3,5,3,0,1,1,1,1,1,1\n1,0,9,1,1,6,3,4,1,1,1,0,1,0\n1,0,5,2,3,7,3,0,1,1,1,0,1,0\n1,5,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,6,5,0,1,1,1,2,1,0\n0,2,6,2,1,4,3,0,0,1,1,1,1,1\n2,0,13,3,2,5,3,0,1,1,1,1,1,0\n1,0,2,1,5,1,3,4,1,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,2,1,0\n1,0,10,3,0,0,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n2,5,10,3,0,5,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,10,3,2,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,7,5,4,0,1,1,2,1,0\n0,0,5,2,2,8,1,4,0,1,1,2,1,0\n1,0,13,3,2,5,5,0,0,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,12,1,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,12,3,0,1,1,1,1,1,0\n0,0,0,3,0,8,2,0,1,1,1,1,1,1\n1,0,5,2,0,5,2,4,1,1,1,1,1,0\n0,0,6,2,2,5,3,0,0,1,1,2,1,0\n0,0,5,2,2,2,5,4,1,1,1,1,1,0\n1,2,13,3,0,4,2,0,1,1,1,0,1,1\n1,4,9,1,0,4,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,1,3,2,2,1,3,0,1,1,1,1,1,0\n2,0,7,1,4,3,3,0,0,1,1,2,1,0\n2,0,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,6,2,0,5,2,0,1,1,1,0,1,0\n2,0,0,3,1,3,3,0,0,1,1,2,1,0\n1,0,3,2,0,2,0,4,0,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,3,1,2,0,8,2,1,1,1,1,0,1,1\n1,0,3,2,2,10,3,0,1,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,0,7,2,0,1,1,1,1,1,0\n1,0,1,2,2,1,3,4,1,1,1,0,1,0\n2,1,0,3,0,4,0,0,0,1,1,0,1,1\n0,0,12,1,2,1,1,0,1,1,1,0,1,0\n1,0,5,2,0,3,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,3,2,0,12,0,4,0,1,1,1,1,0\n2,2,0,3,1,3,3,0,0,1,1,0,1,0\n1,0,8,0,0,7,2,0,1,1,1,0,1,0\n0,4,0,3,2,5,3,0,0,1,1,2,1,0\n0,0,12,1,0,1,4,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,4,1,1,1,1,1,1\n0,0,3,2,0,5,2,0,1,1,1,1,1,1\n1,5,1,2,1,5,1,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,7,1,2,1,4,0,1,1,1,0,1,0\n1,0,1,2,1,7,5,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,2,1,1\n0,0,14,0,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n0,0,3,2,2,0,4,4,0,1,1,2,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,3,3,2,0,8,2,0,1,1,1,1,1,1\n1,4,1,2,1,8,1,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n3,0,8,0,0,3,2,0,1,1,1,2,1,1\n2,0,0,3,1,5,3,0,0,1,1,2,1,0\n2,1,10,3,0,10,2,0,1,1,1,2,1,0\n1,4,5,2,0,4,2,0,1,1,1,0,1,0\n2,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,1,2,1,1,1,3,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,2,0,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,1,1,2,0,9,2,0,1,1,1,1,1,1\n1,0,3,2,2,6,3,0,1,1,1,0,1,1\n0,0,1,2,2,10,3,0,1,1,1,1,1,0\n1,0,3,2,1,0,3,0,1,1,1,0,1,1\n2,5,3,2,4,8,3,0,0,1,1,0,1,0\n0,0,6,2,0,8,0,0,0,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n2,0,7,1,0,1,2,0,1,1,1,0,1,0\n1,0,12,1,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,4,0,0,1,1,2,1,0\n0,0,10,3,0,5,2,1,1,1,1,1,1,1\n0,4,1,2,3,8,5,4,0,1,1,0,1,0\n0,2,3,2,0,4,2,0,1,1,1,0,1,1\n0,1,3,2,0,10,2,0,1,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,2,1,0,1,2,0,1,1,1,0,1,1\n0,0,9,1,2,1,1,0,1,1,1,2,1,0\n0,0,2,1,2,2,1,0,1,1,1,0,1,0\n0,0,6,2,2,5,3,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,6,2,0,9,2,0,1,1,1,2,1,0\n0,4,6,2,1,5,5,4,0,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,0,1,0\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n0,0,0,3,2,6,4,0,0,1,1,0,1,0\n1,0,3,2,0,0,2,0,1,1,1,1,1,1\n1,0,8,0,0,7,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,4,3,0,8,0,0,0,1,1,2,1,1\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,3,4,1,1,1,2,1,0\n2,0,0,3,0,3,2,0,1,1,1,0,1,0\n2,3,0,3,0,4,2,4,1,1,1,1,1,0\n0,0,3,2,2,2,4,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,0,1,2,2,5,4,0,1,1,1,2,1,0\n1,0,5,2,2,4,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,3,1,2,2,8,3,4,0,1,1,1,1,0\n1,4,3,2,4,4,5,0,0,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n2,0,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n2,0,5,2,0,4,2,0,1,1,1,0,1,1\n1,0,14,0,0,7,2,0,1,1,1,1,1,0\n1,0,13,3,0,5,2,0,1,1,1,2,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n1,2,10,3,0,4,2,0,1,1,1,1,1,1\n1,4,7,1,0,2,0,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,6,2,2,9,3,0,1,1,1,1,1,0\n1,0,2,1,1,2,5,0,0,1,1,0,1,0\n2,4,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,4,2,4,1,1,1,0,1,1\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,0,3,2,4,3,1,1,1,1,0,1,0\n2,3,3,2,0,10,2,4,1,1,1,0,1,0\n1,4,1,2,0,12,2,4,1,1,1,0,1,1\n1,0,12,1,3,6,5,0,0,1,1,0,1,0\n0,0,3,2,6,7,2,4,1,1,1,0,1,0\n1,0,10,3,1,4,3,0,0,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,3,0,3,0,5,2,0,1,1,1,1,1,1\n0,2,0,3,2,4,3,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,4,1,1,1,2,1,0\n0,0,2,1,2,1,3,0,0,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,2,1,3,4,5,0,0,1,1,2,1,0\n0,0,0,3,2,4,1,0,0,1,1,2,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,3,4,3,0,1,1,1,2,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,0\n1,4,1,2,0,5,2,4,1,1,1,0,1,1\n1,0,0,3,0,5,2,1,1,1,1,1,1,1\n0,0,3,2,0,2,2,4,1,1,1,2,1,0\n0,0,10,3,2,5,3,0,0,1,1,0,1,0\n0,1,1,2,2,1,1,0,1,1,1,2,1,0\n0,0,3,2,2,0,3,0,0,1,1,1,1,0\n0,4,10,3,1,5,5,0,0,1,1,1,1,0\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,2,1,1,1,0,1,0\n1,0,1,2,2,8,1,2,0,1,1,0,1,0\n0,0,5,2,2,0,1,0,1,1,1,1,1,0\n1,0,12,1,0,10,2,0,1,1,1,0,1,1\n0,0,0,3,0,1,2,1,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,2,1,0,6,1,4,1,1,1,2,1,0\n1,1,3,2,1,4,5,0,0,1,1,1,1,1\n1,1,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,2,3,3,0,0,1,1,1,1,1\n0,0,8,0,2,11,4,0,0,1,1,0,1,0\n0,5,0,3,5,6,3,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,0,11,0,0,7,2,4,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n2,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,0,10,3,2,8,3,0,0,1,1,0,1,0\n0,2,1,2,0,7,2,0,1,1,1,0,1,0\n2,0,0,3,1,4,3,0,0,1,1,0,1,0\n0,0,11,0,2,2,4,0,1,1,1,0,1,0\n1,0,3,2,2,7,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,1,1,0\n0,0,3,2,2,5,1,0,0,1,1,2,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,4,3,2,0,12,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,2,4,2,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,1,1,2,0,7,2,0,1,1,1,2,1,0\n1,1,0,3,0,5,2,0,1,1,1,1,1,0\n1,5,1,2,0,12,2,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,3,6,2,0,5,0,0,0,1,1,1,1,1\n0,0,1,2,2,0,1,0,0,1,1,2,1,0\n1,1,0,3,1,9,3,0,1,1,1,1,1,0\n1,0,3,2,4,8,4,4,0,1,1,0,1,0\n0,1,4,3,0,5,0,0,0,1,1,1,1,1\n0,0,0,3,2,0,1,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,4,0,1,1,1,0,1,0\n1,0,11,0,0,2,2,0,1,1,1,1,1,0\n0,4,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,3,1,2,5,4,3,0,0,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,12,1,0,7,2,0,1,1,1,0,1,1\n0,3,1,2,2,8,3,4,0,1,1,1,1,0\n1,0,0,3,0,5,0,0,0,1,1,2,1,1\n0,0,1,2,2,4,3,0,1,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,0,13,3,1,5,3,1,1,1,1,0,1,1\n1,0,10,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,6,0,0,0,1,1,1,1,1\n0,0,10,3,0,3,0,1,0,1,1,2,1,1\n0,0,12,1,2,6,1,0,1,1,1,2,1,0\n0,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,0,10,3,0,5,0,0,0,1,1,2,1,1\n1,0,1,2,2,2,3,0,1,1,1,1,1,0\n2,4,12,1,0,8,0,0,0,1,1,2,1,0\n2,3,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,10,3,0,7,2,0,1,1,1,0,1,1\n1,0,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,4,4,1,1,1,0,1,0\n0,0,0,3,0,3,3,1,0,1,1,1,1,1\n1,0,1,2,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,1,5,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,0,2,0,1,0,1,1,0,1,0\n2,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,2,1,1,1,0,1,0\n2,0,8,0,1,7,5,0,0,1,1,0,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,3,2,2,4,3,0,1,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,1,1,0\n0,0,3,2,0,6,4,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,9,1,0,10,2,4,1,1,1,0,1,0\n1,4,10,3,0,4,2,4,1,1,1,1,1,1\n0,0,3,2,1,3,3,0,0,1,1,2,1,0\n1,0,10,3,0,5,0,0,0,1,1,0,1,1\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,2,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,0,12,2,0,1,1,1,0,1,0\n2,1,0,3,0,3,2,0,1,1,1,2,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,2,1,0\n0,5,1,2,2,8,1,0,0,1,1,2,1,0\n1,2,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,0,0,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,4,0,3,2,5,3,0,0,1,1,1,1,0\n2,0,3,2,1,0,3,0,0,1,1,0,1,0\n1,3,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,10,3,0,8,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n1,1,1,2,0,3,2,0,1,1,1,2,1,0\n2,3,3,2,1,8,3,0,0,1,1,0,1,0\n2,0,10,3,4,4,3,0,0,1,1,2,1,0\n3,0,3,2,4,4,3,0,0,1,1,0,1,1\n0,0,12,1,2,6,4,0,1,1,1,0,1,0\n0,4,3,2,0,6,2,4,1,1,1,0,1,0\n0,0,6,2,2,1,1,0,1,1,1,0,1,0\n0,0,7,1,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,14,0,3,2,5,4,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,0,10,2,4,1,1,1,1,1,1\n0,0,3,2,2,7,1,4,0,1,1,2,1,0\n2,1,0,3,0,4,2,0,1,1,1,1,1,1\n2,1,3,2,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,2,4,4,0,1,1,2,1,0\n0,0,3,2,2,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,12,1,1,6,5,0,0,1,1,1,1,0\n1,0,0,3,2,6,3,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,1,0,1,1,0,1,0\n0,3,3,2,2,13,1,0,1,1,1,0,1,0\n3,0,4,3,0,5,2,0,1,1,1,2,1,1\n1,3,0,3,0,8,2,0,1,1,1,0,1,1\n1,0,3,2,0,6,2,0,1,1,1,2,1,0\n0,0,5,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,1,1,3,0,1,1,1,1,1,0\n2,0,2,1,0,12,2,0,1,1,1,2,1,0\n1,0,0,3,2,4,1,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,4,3,0,1,1,1,0,1,0\n1,5,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,2,5,3,0,1,1,1,1,1,0\n2,3,0,3,4,5,5,2,0,1,1,0,1,0\n2,0,7,1,4,7,3,0,0,1,1,2,1,0\n0,1,3,2,1,2,5,0,0,1,1,0,1,0\n0,4,10,3,1,5,3,3,0,1,1,0,1,0\n0,0,5,2,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,1,6,3,0,1,1,1,0,1,0\n1,4,1,2,1,1,3,0,1,1,1,0,1,0\n1,0,8,0,0,3,0,0,0,1,1,2,1,0\n0,0,3,2,3,2,5,0,0,1,1,0,1,0\n0,0,0,3,3,3,3,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,1,2,0,8,2,0,1,1,1,1,1,1\n1,3,3,2,0,8,0,4,0,1,1,0,1,1\n0,0,1,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,14,0,0,7,2,0,1,1,1,0,1,0\n0,4,0,3,1,5,5,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n2,0,1,2,1,2,3,4,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n0,5,1,2,2,2,1,4,1,1,1,2,1,0\n0,0,2,1,1,7,3,0,1,1,1,0,1,0\n1,0,3,2,0,2,0,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,2,8,5,4,0,1,1,0,1,0\n0,0,3,2,2,5,3,0,1,1,1,2,1,0\n1,0,7,1,0,7,2,0,1,1,1,0,1,0\n2,0,3,2,1,1,3,0,0,1,1,0,1,0\n1,2,0,3,0,1,2,0,1,1,1,2,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,1,8,5,0,1,1,1,0,1,0\n0,0,12,1,5,2,4,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,10,3,1,4,3,0,0,1,1,0,1,0\n2,4,1,2,0,8,0,4,0,1,1,1,1,1\n1,1,3,2,0,8,2,4,1,1,1,2,1,0\n0,0,3,2,2,2,5,0,0,1,1,0,1,0\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,1,3,2,5,1,3,0,0,1,1,0,1,0\n2,4,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,11,4,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n2,0,3,2,3,2,3,0,0,1,1,1,1,0\n1,1,0,3,1,2,5,0,0,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,14,0,0,1,2,0,1,1,1,1,1,0\n1,0,9,1,3,10,3,4,1,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,2,2,3,0,1,1,1,0,1,0\n0,0,0,3,0,1,0,0,0,1,1,0,1,1\n1,0,1,2,1,4,3,0,0,1,1,0,1,1\n0,0,8,0,0,8,2,0,1,1,1,0,1,0\n1,3,1,2,1,8,5,4,1,1,1,0,1,0\n2,0,1,2,0,2,2,0,1,1,1,1,1,1\n1,0,1,2,0,11,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n1,4,0,3,2,5,3,4,0,1,1,0,1,0\n0,5,0,3,2,8,3,0,0,1,1,0,1,0\n0,2,5,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,1,1,1,1,1,1\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,1,2,1,8,3,0,0,1,1,0,1,0\n2,3,0,3,5,4,3,4,1,1,1,0,1,1\n1,0,3,2,1,4,5,0,0,1,1,2,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,5,0,3,0,8,2,3,1,1,1,0,1,1\n2,0,7,1,3,2,5,4,0,1,1,0,1,0\n1,0,5,2,0,12,2,0,1,1,1,1,1,0\n2,1,3,2,0,4,0,0,0,1,1,0,1,0\n1,0,4,3,1,5,5,0,0,1,1,1,1,1\n0,4,3,2,2,12,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,6,2,2,0,1,4,1,1,1,0,1,0\n2,0,1,2,4,3,5,0,0,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,1\n2,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,4,1,1,1,0,1,0\n2,0,1,2,4,7,3,0,0,1,1,2,1,0\n1,0,8,0,0,6,2,4,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n2,3,3,2,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,1\n2,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,6,2,2,1,1,0,1,1,1,0,1,0\n0,5,3,2,2,2,1,0,0,1,1,2,1,0\n1,1,3,2,2,4,3,4,1,1,1,1,1,0\n2,4,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,1,0,0,1,1,2,1,0\n1,0,15,0,2,7,3,0,1,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,5,0,1,1,1,0,1,0\n2,4,3,2,0,6,2,1,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,3,2,1,0,5,2,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,1,6,5,0,0,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,1,0,3,1,5,3,0,1,1,1,2,1,1\n1,0,0,3,2,0,3,0,1,1,1,2,1,1\n1,1,15,0,0,10,2,4,1,1,1,0,1,0\n1,0,3,2,0,10,2,4,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,0,1,1\n1,0,0,3,5,4,3,0,0,1,1,1,1,1\n1,0,1,2,2,4,3,0,1,1,1,0,1,0\n0,0,1,2,2,4,3,0,0,1,1,2,1,0\n2,0,7,1,1,8,4,0,0,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,4,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,4,1,1,1,2,1,0\n2,0,3,2,1,12,1,0,1,1,1,2,1,0\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,3,1,5,0,0,1,1,1,1,0\n0,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,9,1,3,7,5,4,1,1,1,0,1,0\n0,0,0,3,2,3,1,0,1,1,1,1,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n3,4,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,2,8,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,4,6,2,4,8,3,0,0,1,1,0,1,0\n0,2,7,1,2,1,5,0,1,1,1,0,1,0\n1,5,1,2,3,5,5,0,0,1,1,2,1,0\n0,0,5,2,0,8,0,0,0,1,1,0,1,0\n2,4,10,3,2,4,3,2,0,1,1,0,1,0\n2,0,3,2,0,8,0,0,0,1,1,1,1,0\n1,2,10,3,2,4,3,0,1,1,1,1,1,1\n1,1,4,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,0,6,2,0,1,1,1,0,1,1\n2,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,5,0,3,0,12,2,0,1,1,1,0,1,0\n1,4,1,2,2,12,3,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,2,3,2,2,7,3,0,1,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,1\n0,0,2,1,3,2,5,4,1,1,1,0,1,0\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,1,3,2,2,3,3,0,1,1,1,2,1,1\n1,0,1,2,1,0,3,0,0,1,1,2,1,0\n0,0,6,2,2,4,3,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,10,3,0,3,2,0,1,1,1,0,1,1\n2,0,8,0,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,10,5,0,1,1,1,0,1,0\n1,0,1,2,0,3,0,0,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,10,1,0,1,1,1,2,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,5,2,1,8,5,4,0,1,1,0,1,0\n0,5,1,2,2,5,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,1,1,0\n0,5,6,2,1,12,3,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,4,3,2,2,2,3,4,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,3,2,4,4,0,1,1,0,1,0\n1,0,10,3,0,5,0,0,0,1,1,0,1,1\n1,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n1,0,0,3,2,3,4,0,0,1,1,0,1,0\n0,0,6,2,0,0,2,0,1,1,1,0,1,0\n0,0,9,1,2,3,4,0,0,1,1,2,1,0\n1,0,3,2,1,3,5,0,1,1,1,2,1,0\n0,5,0,3,3,4,5,4,0,1,1,2,1,0\n1,0,1,2,2,6,5,4,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,2,1,1\n0,0,14,0,0,1,2,0,1,1,1,0,1,0\n0,0,4,3,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,0,12,2,0,1,1,1,0,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,1,1,1,1,2,1,0\n1,5,3,2,0,4,0,0,0,1,1,0,1,1\n1,4,3,2,1,10,3,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,2,1,1\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,4,1,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,11,0,0,1,2,3,1,1,1,0,1,0\n0,0,3,2,2,0,3,0,1,1,1,1,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,1,0,1,1,0,1,0\n0,0,1,2,2,0,3,0,0,1,1,0,1,0\n2,0,3,2,1,6,5,0,1,1,1,0,1,0\n1,0,7,1,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,4,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,6,2,0,0,2,0,1,1,1,1,1,0\n0,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,2,1,2,8,1,0,1,1,1,2,1,0\n0,0,5,2,0,5,0,0,0,1,1,0,1,1\n0,1,3,2,2,3,1,0,1,1,1,0,1,0\n0,1,12,1,5,1,1,0,1,1,1,2,1,0\n0,4,3,2,2,1,3,2,1,1,1,0,1,0\n1,0,3,2,2,10,3,4,1,1,1,1,1,0\n2,1,3,2,0,3,2,0,1,1,1,2,1,0\n0,1,6,2,0,1,2,0,1,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,1,1,0\n2,0,3,2,0,8,0,0,0,1,1,0,1,1\n2,4,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,4,1,0,0,1,1,2,1,0\n1,0,1,2,0,0,2,0,1,1,1,0,1,1\n0,0,7,1,2,9,4,0,1,1,1,0,1,0\n2,2,0,3,0,5,2,0,1,1,1,2,1,1\n1,4,3,2,0,2,2,4,1,1,1,0,1,0\n0,5,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,1,1,1,0,1,1,1,0,1,0\n1,0,3,2,2,9,3,0,1,1,1,1,1,0\n0,0,6,2,1,8,3,0,0,1,1,2,1,0\n1,1,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,2,1,1\n2,1,0,3,0,3,2,0,1,1,1,2,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,5,2,0,2,2,0,1,1,1,2,1,0\n0,1,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,1,2,0,10,2,3,1,1,1,1,1,1\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,2,8,1,0,0,1,1,2,1,0\n1,0,6,2,1,2,3,0,0,1,1,2,1,0\n0,0,3,2,1,8,5,4,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,2,1,0\n1,1,10,3,0,4,2,0,1,1,1,2,1,1\n1,0,4,3,1,5,5,0,0,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,1,1,5,0,1,1,1,1,1,0\n2,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,8,0,3,7,5,4,0,1,1,0,1,0\n1,0,0,3,2,5,3,1,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,2,1,1\n0,0,3,2,2,2,3,4,0,1,1,2,1,0\n0,0,1,2,0,4,0,0,0,1,1,1,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n1,0,3,2,4,0,3,0,1,1,1,2,1,1\n0,0,7,1,2,3,3,0,0,1,1,2,1,0\n1,5,10,3,1,4,5,0,1,1,1,1,1,1\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,1,6,3,0,1,1,1,0,1,0\n1,1,5,2,2,10,3,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,0,0,3,1,3,3,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,3,1,5,0,0,1,1,0,1,0\n0,0,2,1,2,3,5,2,1,1,1,1,1,0\n0,0,1,2,2,4,3,0,1,1,1,0,1,0\n2,0,10,3,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n2,2,3,2,1,3,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,10,3,1,4,3,0,1,1,1,1,1,1\n1,4,10,3,2,5,3,4,0,1,1,2,1,0\n1,0,12,1,3,2,5,0,0,1,1,0,1,0\n0,3,4,3,2,5,3,0,1,1,1,1,1,1\n2,0,7,1,0,12,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,1,0,3,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,0,8,0,3,7,3,0,1,1,1,0,1,0\n0,0,1,2,0,8,2,0,1,1,1,1,1,0\n0,0,3,2,2,4,1,4,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,3,3,5,0,0,1,1,0,1,0\n1,0,0,3,1,5,3,0,0,1,1,1,1,1\n0,1,1,2,0,3,2,0,1,1,1,0,1,0\n1,5,1,2,2,0,5,4,0,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,4,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,1,2,2,8,4,0,0,1,1,0,1,0\n1,0,2,1,0,7,2,0,1,1,1,1,1,1\n2,1,4,3,1,0,3,0,1,1,1,0,1,0\n1,0,2,1,0,1,2,0,1,1,1,1,1,0\n1,0,6,2,2,8,1,0,1,1,1,0,1,1\n0,0,3,2,2,2,1,4,1,1,1,0,1,0\n0,4,3,2,0,10,2,0,1,1,1,0,1,0\n1,4,0,3,1,5,5,0,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,5,0,3,0,5,0,4,0,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,2,1,2,0,4,4,1,0,1,1,1,1,0\n2,0,3,2,3,7,5,4,0,1,1,0,1,0\n1,0,8,0,3,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n1,0,6,2,1,0,3,0,0,1,1,0,1,0\n1,0,2,1,0,3,2,0,1,1,1,1,1,0\n2,5,3,2,2,0,1,4,0,1,1,0,1,0\n1,0,6,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,1,8,3,0,0,1,1,1,1,0\n0,3,9,1,0,1,2,0,1,1,1,0,1,0\n1,5,0,3,0,5,0,4,0,1,1,0,1,1\n1,5,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,1,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n2,0,3,2,5,10,3,0,1,1,1,0,1,0\n0,1,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,2,1,0,2,2,0,1,1,1,2,1,0\n1,2,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,2,11,3,0,0,1,1,1,1,0\n2,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,0,3,5,4,3,0,1,1,1,0,1,1\n1,0,3,2,1,4,5,0,0,1,1,1,1,1\n0,0,0,3,0,10,2,0,1,1,1,0,1,0\n2,0,3,2,1,2,5,0,0,1,1,2,1,0\n0,1,10,3,2,5,1,0,1,1,1,1,1,0\n1,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,0,0,3,0,10,2,4,1,1,1,1,1,1\n2,0,3,2,1,8,5,0,0,1,1,2,1,0\n1,1,2,1,0,10,2,4,1,1,1,1,1,0\n1,0,12,1,0,10,2,0,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,2,0,3,0,1,1,1,1,1,0\n0,4,1,2,2,8,1,2,0,1,1,0,1,0\n0,0,0,3,2,3,1,0,1,1,1,0,1,1\n1,6,3,2,0,4,2,0,1,1,1,0,1,0\n1,1,0,3,0,3,2,0,1,1,1,0,1,1\n1,4,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,9,1,2,7,1,0,0,1,1,0,1,0\n1,4,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,6,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,3,10,1,0,1,1,1,2,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,4,3,2,0,4,2,0,1,1,1,0,1,1\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,4,10,3,2,5,3,0,1,1,1,1,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,3,6,2,0,8,2,0,1,1,1,1,1,1\n0,0,5,2,0,5,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,2,4,3,0,0,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,3,0,3,2,0,1,0,1,1,1,0,1,0\n0,0,3,2,2,1,4,4,1,1,1,2,1,0\n1,1,6,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,3,1,0,0,1,1,2,1,1\n2,1,0,3,2,4,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,2,1,3,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,14,0,1,7,5,0,1,1,1,1,1,0\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n1,0,14,0,1,3,4,0,0,1,1,2,1,0\n0,0,3,2,2,7,5,0,0,1,1,0,1,0\n1,5,5,2,0,0,2,0,1,1,1,0,1,0\n0,0,1,2,1,4,5,0,1,1,1,1,1,1\n0,0,10,3,2,3,3,0,1,1,1,0,1,0\n2,0,0,3,0,1,2,4,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n1,0,0,3,2,4,3,0,1,1,1,1,1,0\n2,0,7,1,1,10,3,0,1,1,1,1,1,0\n0,0,0,3,2,0,1,0,0,1,1,0,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,1\n1,1,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,3,2,1,0,0,1,1,0,1,0\n1,1,7,1,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,0,6,2,0,1,1,1,1,1,1\n2,0,13,3,3,11,5,0,0,1,1,2,1,0\n0,0,3,2,0,8,0,0,0,1,1,0,1,0\n0,0,0,3,2,5,1,0,0,1,1,0,1,1\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,5,6,2,0,5,0,1,0,1,1,0,1,1\n1,0,5,2,2,5,3,0,0,1,1,0,1,0\n2,4,1,2,4,4,3,0,0,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,1,6,2,0,9,2,0,1,1,1,1,1,1\n1,5,3,2,1,5,1,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n2,1,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,0,10,2,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,6,2,2,0,3,0,0,1,1,0,1,0\n0,1,6,2,2,9,1,0,1,1,1,1,1,1\n1,3,0,3,0,12,2,0,1,1,1,0,1,1\n3,1,13,3,0,5,2,0,1,1,1,2,1,1\n0,0,12,1,2,9,3,4,1,1,1,2,1,0\n0,0,3,2,2,12,3,0,1,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,1,4,3,0,0,1,1,0,1,0\n0,5,0,3,2,8,1,1,0,1,1,1,1,0\n3,1,13,3,0,4,2,0,1,1,1,2,1,0\n1,5,1,2,2,12,3,0,0,1,1,2,1,0\n3,0,0,3,1,3,5,0,0,1,1,2,1,0\n0,1,1,2,3,5,5,4,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,2,1,0,6,2,0,1,1,1,0,1,0\n1,0,0,3,0,6,2,0,1,1,1,1,1,0\n0,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,1,2,1,3,1,0,0,1,1,2,1,0\n1,1,6,2,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,4,0,0,1,1,0,1,0\n1,0,0,3,2,3,3,0,0,1,1,1,1,1\n2,0,0,3,4,4,4,0,0,1,1,0,1,0\n0,4,1,2,2,4,1,0,0,1,1,2,1,0\n1,0,12,1,0,1,2,0,1,1,1,1,1,0\n1,0,6,2,3,2,3,0,0,1,1,2,1,0\n1,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,1,1,0\n2,2,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,1,2,2,7,1,0,0,1,1,2,1,0\n0,0,8,0,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,4,3,0,0,1,1,1,1,0\n3,0,1,2,1,3,3,0,0,1,1,2,1,1\n2,1,7,1,0,1,0,2,0,1,1,2,1,0\n3,0,1,2,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,0,1,0,4,0,1,1,1,1,0\n0,0,3,2,2,1,1,4,0,1,1,0,1,0\n0,4,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,0,3,2,3,5,0,0,1,1,1,1,0\n1,4,1,2,0,0,2,4,1,1,1,0,1,0\n0,0,10,3,2,5,3,0,0,1,1,0,1,1\n1,5,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,5,0,0,1,1,1,1,0\n0,0,3,2,2,12,5,0,1,1,1,2,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n2,0,10,3,4,3,5,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,7,1,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,3,2,0,1,2,4,1,1,1,0,1,0\n2,0,10,3,0,5,2,0,1,1,1,0,1,1\n2,1,10,3,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,5,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,3,0,0,1,1,0,1,0\n1,0,5,2,0,4,0,0,0,1,1,1,1,1\n1,0,7,1,1,2,5,0,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,1,3,3,0,1,1,1,1,1,1\n2,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,10,3,1,5,3,0,1,1,1,1,1,1\n0,0,1,2,2,6,3,0,1,1,1,2,1,0\n1,0,6,2,1,5,3,0,0,1,1,1,1,0\n1,3,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,5,0,0,1,1,0,1,0\n1,0,3,2,1,4,3,0,0,1,1,0,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,4,1,1,1,2,1,1\n0,0,3,2,2,1,1,4,1,1,1,0,1,0\n1,0,3,2,2,1,5,0,1,1,1,0,1,0\n2,0,3,2,0,7,2,4,1,1,1,0,1,0\n1,3,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,6,2,1,1,1,0,1,1,1,2,1,0\n0,0,3,2,2,2,3,0,1,1,1,1,1,0\n0,0,3,2,5,8,4,0,0,1,1,2,1,0\n2,0,0,3,0,4,0,0,0,1,1,2,1,0\n1,0,1,2,0,8,2,4,1,1,1,0,1,1\n1,0,13,3,0,5,0,0,0,1,1,2,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,3,1,5,0,1,1,1,0,1,1\n1,0,10,3,1,4,5,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,1,1,0\n0,0,11,0,0,1,2,0,1,1,1,0,1,0\n2,0,12,1,3,2,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,2,1,0,10,2,4,1,1,1,0,1,0\n0,3,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,6,4,0,1,1,1,2,1,0\n0,0,10,3,2,0,3,1,1,1,1,0,1,0\n1,0,3,2,1,1,5,0,1,1,1,1,1,0\n0,6,3,2,2,9,1,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,1,2,1,4,5,0,1,1,1,1,1,1\n1,0,3,2,1,8,5,4,0,1,1,1,1,0\n0,0,6,2,0,7,2,0,1,1,1,0,1,0\n2,0,2,1,0,10,2,4,1,1,1,1,1,0\n1,4,10,3,0,5,0,4,0,1,1,1,1,1\n1,0,0,3,1,5,3,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,2,1,0\n1,0,6,2,1,0,3,0,1,1,1,0,1,0\n2,1,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,2,1,0\n0,5,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,0,0,2,0,1,1,1,2,1,1\n0,0,13,3,2,1,4,4,1,1,1,2,1,0\n0,5,6,2,0,0,2,0,1,1,1,1,1,0\n1,0,1,2,1,4,5,0,0,1,1,1,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n1,5,1,2,0,8,2,0,1,1,1,0,1,0\n0,2,5,2,0,1,2,0,1,1,1,1,1,0\n2,5,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,5,2,0,0,2,4,1,1,1,1,1,0\n0,0,1,2,2,12,1,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,1,8,0,0,4,0,0,0,1,1,1,1,0\n2,2,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,6,2,1,8,5,0,0,1,1,0,1,0\n1,0,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,8,0,0,7,0,0,0,1,1,0,1,0\n1,5,0,3,1,5,3,0,0,1,1,1,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n2,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,4,3,2,0,8,0,0,0,1,1,0,1,1\n0,0,0,3,2,7,3,0,1,1,1,1,1,0\n1,0,3,2,1,7,5,0,1,1,1,0,1,0\n1,0,6,2,1,2,1,0,1,1,1,2,1,0\n0,0,3,2,2,1,1,1,1,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,1,1,3,0,1,1,1,1,1,0\n1,1,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n2,3,0,3,0,8,2,4,1,1,1,2,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,2,4,3,2,5,3,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,3,3,2,1,2,3,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n1,0,8,0,0,10,2,4,1,1,1,0,1,0\n2,4,3,2,4,8,3,0,0,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,10,3,2,4,3,0,1,1,1,1,1,1\n0,0,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,1,1,3,0,1,1,1,1,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,9,1,2,6,1,0,1,1,1,2,1,0\n1,0,0,3,2,8,3,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,1,6,2,1,1,3,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,5,3,0,0,1,1,0,1,0\n1,4,1,2,0,12,2,0,1,1,1,1,1,0\n0,1,1,2,2,4,5,0,1,1,1,2,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,4,0,3,0,1,2,0,1,1,1,1,1,0\n0,0,14,0,2,9,3,0,1,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,3,10,3,1,5,3,0,1,1,1,1,1,0\n2,1,5,2,0,3,2,0,1,1,1,2,1,1\n1,0,3,2,2,6,3,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,0,3,0,5,2,1,1,1,1,0,1,0\n1,0,3,2,2,7,1,0,1,1,1,0,1,0\n2,0,3,2,1,8,3,0,0,1,1,2,1,0\n0,0,3,2,1,3,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,5,4,0,1,1,0,1,0\n2,0,2,1,4,2,3,4,1,1,1,0,1,0\n1,4,1,2,0,5,0,0,0,1,1,0,1,0\n0,0,8,0,2,6,1,0,1,1,1,2,1,0\n1,0,6,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,1,2,2,0,5,4,0,1,1,0,1,0\n0,0,5,2,2,3,5,4,0,1,1,0,1,0\n1,0,3,2,0,5,0,0,0,1,1,1,1,1\n3,0,2,1,0,12,2,4,1,1,1,1,1,1\n1,0,1,2,1,3,3,0,0,1,1,1,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,0,3,1,10,3,0,1,1,1,1,1,0\n0,0,3,2,2,10,3,1,1,1,1,0,1,0\n0,0,13,3,0,5,2,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,14,0,0,1,2,0,1,1,1,0,1,0\n2,4,0,3,2,4,3,0,1,1,1,0,1,1\n2,1,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n0,0,1,2,1,5,3,0,0,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,1\n0,0,15,0,2,9,3,0,1,1,1,1,1,0\n1,0,3,2,4,10,3,0,0,1,1,1,1,1\n0,0,1,2,2,7,3,0,1,1,1,0,1,0\n1,2,1,2,1,1,3,0,1,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,1,0,1,1,0,1,0\n0,0,3,2,0,2,0,0,0,1,1,2,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,3,2,5,3,0,1,1,1,1,0\n0,0,2,1,0,2,2,0,1,1,1,2,1,0\n1,0,0,3,2,8,4,0,0,1,1,0,1,0\n0,0,9,1,1,2,5,4,0,1,1,0,1,0\n0,0,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,3,2,2,8,3,0,1,1,1,0,1,0\n0,0,12,1,2,3,1,0,0,1,1,2,1,0\n0,4,3,2,3,2,5,0,0,1,1,0,1,0\n0,0,3,2,2,7,1,4,1,1,1,0,1,0\n0,1,3,2,2,4,3,3,1,1,1,2,1,0\n1,4,1,2,0,5,2,0,1,1,1,0,1,1\n0,0,10,3,2,5,1,0,1,1,1,0,1,1\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n0,2,1,2,2,1,1,0,1,1,1,2,1,0\n1,2,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,7,1,1,1,3,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,1,12,3,4,1,1,1,0,1,0\n0,0,12,1,2,2,4,0,1,1,1,2,1,0\n1,5,13,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,2,1,1,6,3,0,1,1,1,1,1,0\n0,0,1,2,2,2,3,0,0,1,1,0,1,0\n1,0,1,2,0,2,2,0,1,1,1,2,1,1\n1,1,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,6,2,0,1,1,1,0,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,4,0,1,1,1,1,0\n1,4,0,3,1,8,3,0,0,1,1,2,1,0\n1,5,1,2,1,0,3,3,0,1,1,1,1,0\n1,0,3,2,2,8,1,0,1,1,1,1,1,0\n0,0,5,2,2,5,1,0,0,1,1,2,1,0\n0,0,3,2,2,10,1,0,1,1,1,1,1,0\n1,0,6,2,2,5,5,0,0,1,1,2,1,0\n1,0,13,3,0,5,2,1,1,1,1,1,1,1\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,2,7,1,0,1,1,1,1,1,1\n1,5,10,3,1,5,5,0,0,1,1,1,1,0\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n2,0,7,1,2,1,3,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,3,1,2,2,8,3,0,0,1,1,0,1,0\n2,3,10,3,1,5,3,0,0,1,1,2,1,0\n0,0,2,1,0,7,4,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,4,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,0,3,2,0,1,0,1,1,1,0,1,0\n0,0,5,2,2,5,1,0,1,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,2,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,4,4,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n2,5,0,3,0,5,2,0,1,1,1,0,1,1\n1,4,1,2,0,9,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,5,13,3,1,5,3,0,0,1,1,1,1,1\n1,4,0,3,0,4,2,4,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,5,5,2,1,4,5,0,0,1,1,2,1,0\n1,0,3,2,2,1,3,0,0,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n1,4,2,1,3,5,5,3,0,1,1,2,1,0\n0,0,7,1,2,2,1,0,1,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,1,1,0\n1,0,3,2,0,9,2,0,1,1,1,1,1,0\n2,0,1,2,1,0,3,0,1,1,1,1,1,0\n0,0,7,1,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n1,0,8,0,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n0,0,6,2,5,7,3,4,1,1,1,0,1,0\n0,0,2,1,2,4,3,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,6,2,0,8,0,4,0,1,1,0,1,0\n1,0,3,2,0,3,0,0,0,1,1,1,1,0\n1,5,0,3,0,5,0,0,0,1,1,0,1,1\n0,0,0,3,0,2,2,0,1,1,1,2,1,0\n1,0,3,2,1,6,3,0,0,1,1,2,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,0\n0,0,12,1,0,9,2,0,1,1,1,2,1,0\n0,0,0,3,2,6,1,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,5,0,1,1,1,1,1,0\n3,0,14,0,4,2,3,1,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,5,2,1,3,3,0,0,1,1,0,1,0\n1,0,14,0,0,6,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,3,0,0,1,1,2,1,0\n2,1,0,3,0,3,2,0,1,1,1,0,1,1\n2,3,1,2,1,8,3,0,0,1,1,0,1,0\n1,0,0,3,1,3,5,0,0,1,1,1,1,0\n1,4,8,0,1,2,5,0,0,1,1,0,1,0\n1,1,1,2,5,2,5,0,0,1,1,0,1,0\n0,5,1,2,0,4,2,0,1,1,1,0,1,1\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,10,3,4,7,4,1,0,1,1,0,1,0\n0,0,0,3,2,2,3,0,0,1,1,2,1,0\n2,0,1,2,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,1,2,3,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,5,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,6,2,1,5,5,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n0,0,1,2,0,2,2,2,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,2,1,0\n0,1,6,2,0,9,2,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,0,3,0,3,2,0,1,1,1,2,1,1\n1,0,1,2,1,1,3,0,1,1,1,0,1,0\n2,0,1,2,0,3,2,0,1,1,1,2,1,0\n1,0,0,3,1,4,3,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n0,0,14,0,5,11,4,0,0,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n3,1,2,1,0,9,2,0,1,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,1,8,0,0,1,2,0,1,1,1,2,1,0\n1,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,3,2,0,5,0,0,0,1,1,0,1,1\n1,0,2,1,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,1,3,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,4,1,1,1,1,1,1\n1,0,1,2,1,0,5,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,1,1,0\n0,0,3,2,2,5,1,0,0,1,1,2,1,0\n2,1,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,5,1,0,1,1,1,2,1,0\n1,2,5,2,2,4,3,0,1,1,1,1,1,0\n2,0,8,0,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,3,0,0,0,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,4,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,1,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n1,4,3,2,1,2,3,0,0,1,1,0,1,0\n1,0,0,3,1,5,5,0,1,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n0,0,1,2,1,7,3,0,0,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,3,2,2,6,1,0,1,1,1,0,1,0\n1,0,0,3,2,0,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n1,4,12,1,0,1,2,0,1,1,1,0,1,0\n2,0,5,2,4,7,5,4,0,1,1,0,1,0\n1,4,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,1,2,5,4,3,0,0,1,1,0,1,0\n1,1,1,2,1,2,3,0,0,1,1,0,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,1,1,1,2,1,0\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,3,1,2,0,8,2,0,1,1,1,0,1,1\n1,4,1,2,0,7,2,0,1,1,1,0,1,1\n1,1,3,2,1,9,5,0,1,1,1,1,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,4,3,2,9,3,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,1,2,2,10,1,1,1,1,1,2,1,0\n0,0,0,3,2,3,1,0,0,1,1,0,1,0\n1,1,3,2,1,1,5,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n3,0,12,1,4,11,3,0,0,1,1,1,1,0\n1,0,8,0,0,7,2,0,1,1,1,0,1,0\n0,0,0,3,1,4,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,5,4,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,5,2,1,3,3,0,1,1,1,2,1,0\n0,0,0,3,1,5,3,0,1,1,1,1,1,0\n1,3,1,2,2,8,3,0,0,1,1,0,1,0\n1,3,0,3,3,4,5,4,0,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,4,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,5,8,0,0,10,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,0,1,0\n3,0,1,2,0,8,2,0,1,1,1,2,1,0\n1,0,0,3,2,7,3,0,1,1,1,2,1,0\n2,0,3,2,1,8,3,1,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,5,10,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,1,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n2,2,7,1,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,0,1,2,0,1,1,1,2,1,0\n2,0,3,2,4,1,4,1,0,1,1,0,1,0\n1,4,0,3,0,5,0,0,0,1,1,2,1,0\n1,2,1,2,0,4,0,0,0,1,1,1,1,1\n0,0,1,2,2,4,1,4,1,1,1,0,1,0\n0,0,1,2,2,11,3,0,0,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,0,3,0,12,2,4,1,1,1,0,1,1\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,1,8,3,0,0,1,1,1,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,2,4,3,0,0,1,1,0,1,0\n0,0,2,1,2,1,3,0,1,1,1,1,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,2,4,3,0,5,2,1,1,1,1,1,1,1\n1,4,10,3,5,5,5,0,0,1,1,1,1,1\n1,5,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,3,2,5,6,3,2,1,1,1,0,1,0\n1,5,10,3,4,5,5,0,0,1,1,0,1,0\n2,0,6,2,0,5,2,0,1,1,1,1,1,0\n0,0,1,2,0,9,2,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,4,3,2,4,3,0,1,1,1,1,1,1\n1,0,6,2,0,7,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,0,1,1,0,1,0\n0,0,3,2,2,7,5,4,0,1,1,1,1,0\n1,0,1,2,0,10,2,0,1,1,1,0,1,0\n0,3,3,2,2,2,1,0,1,1,1,0,1,0\n2,2,10,3,4,8,3,0,0,1,1,2,1,0\n2,0,3,2,2,11,3,0,1,1,1,0,1,0\n0,0,1,2,2,7,1,0,1,1,1,0,1,0\n0,4,1,2,0,12,2,3,1,1,1,0,1,1\n1,3,0,3,0,8,2,0,1,1,1,1,1,0\n1,0,1,2,2,6,5,4,0,1,1,0,1,0\n1,0,3,2,1,2,1,4,0,1,1,0,1,0\n3,0,0,3,2,11,3,0,0,1,1,0,1,0\n1,0,8,0,0,6,2,0,1,1,1,1,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,4,1,1,1,1,1,0\n0,0,1,2,2,10,3,0,1,1,1,0,1,0\n0,0,0,3,6,3,0,1,0,1,1,1,1,1\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,5,0,3,2,5,3,0,0,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,1,1,1,1,0,1,1\n1,0,1,2,2,2,3,1,1,1,1,1,1,0\n1,1,3,2,0,4,2,0,1,1,1,0,1,0\n2,2,3,2,0,4,2,0,1,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n2,1,3,2,0,9,2,0,1,1,1,1,1,1\n0,1,3,2,2,1,3,0,1,1,1,1,1,0\n1,2,13,3,2,5,3,0,1,1,1,1,1,1\n2,5,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,2,1,1,1,1,1,0\n1,3,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,3,2,0,2,2,1,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,4,5,2,2,4,1,0,0,1,1,0,1,0\n1,1,10,3,2,5,3,2,0,1,1,1,1,0\n1,0,0,3,2,3,1,0,1,1,1,0,1,0\n0,1,7,1,0,1,2,0,1,1,1,2,1,0\n0,0,12,1,2,7,3,0,1,1,1,1,1,0\n0,3,3,2,2,8,5,3,0,1,1,1,1,0\n1,0,3,2,0,3,4,0,0,1,1,2,1,1\n0,4,10,3,2,5,3,0,1,1,1,2,1,0\n0,0,9,1,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,2,5,3,4,1,1,1,1,1,0\n1,4,4,3,0,5,2,0,1,1,1,2,1,1\n1,3,10,3,2,5,3,0,1,1,1,0,1,0\n2,0,12,1,0,7,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n0,0,6,2,2,12,3,0,1,1,1,0,1,0\n1,0,3,2,1,12,3,0,1,1,1,0,1,0\n0,0,3,2,5,2,5,4,0,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,1\n1,2,6,2,2,4,3,0,1,1,1,1,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n2,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,0,2,2,4,1,1,1,0,1,1\n1,0,13,3,0,5,2,0,1,1,1,0,1,0\n0,5,1,2,2,5,1,0,1,1,1,2,1,0\n0,4,10,3,0,4,2,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,3,2,0,10,0,0,0,1,1,2,1,0\n0,0,9,1,3,2,5,0,0,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,10,3,1,4,4,1,0,1,1,0,1,0\n2,0,10,3,3,4,3,4,1,1,1,2,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,0,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,5,0,0,1,1,2,1,0\n2,0,2,1,4,8,3,0,0,1,1,1,1,0\n0,0,1,2,1,2,5,0,0,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,1,10,4,0,1,1,1,1,1,0\n2,0,1,2,1,4,3,0,1,1,1,0,1,0\n1,0,10,3,2,5,5,1,0,1,1,0,1,1\n0,0,3,2,5,7,3,0,0,1,1,0,1,0\n0,1,0,3,1,5,3,0,0,1,1,1,1,0\n1,0,6,2,1,8,5,0,0,1,1,2,1,0\n2,0,1,2,0,8,2,0,1,1,1,0,1,1\n0,4,1,2,2,8,3,0,1,1,1,0,1,0\n1,1,10,3,0,4,0,0,0,1,1,1,1,1\n2,0,3,2,1,4,4,0,0,1,1,1,1,0\n1,3,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,5,2,3,1,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,4,7,3,0,0,1,1,0,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,1,10,3,0,5,2,0,1,1,1,1,1,1\n1,2,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,12,1,0,8,0,0,0,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,2,0,1,1,0,1,0\n1,1,9,1,2,1,1,0,1,1,1,0,1,0\n1,0,8,0,0,10,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,0,2,1,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,1,1,0\n2,0,3,2,0,2,2,0,1,1,1,2,1,0\n0,0,0,3,2,4,1,0,1,1,1,0,1,0\n1,0,2,1,2,7,3,3,0,1,1,0,1,0\n1,5,6,2,0,2,2,0,1,1,1,1,1,1\n0,0,0,3,0,7,2,0,1,1,1,0,1,0\n1,2,1,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,2,2,3,0,1,1,1,0,1,0\n1,0,3,2,1,12,3,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n0,1,13,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,0,2,1,1,1,1,0,1,1\n1,0,8,0,0,5,0,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,2,1,0\n0,0,3,2,2,4,5,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,1,1,1,2,1,0\n2,1,0,3,0,4,2,0,1,1,1,2,1,1\n0,0,3,2,1,1,1,0,1,1,1,0,1,0\n1,0,0,3,3,2,3,0,1,1,1,0,1,0\n1,0,3,2,2,10,3,4,1,1,1,0,1,0\n0,3,0,3,0,4,0,3,0,1,1,0,1,1\n0,0,12,1,0,2,0,4,0,1,1,2,1,0\n0,0,3,2,3,10,1,0,0,1,1,2,1,0\n0,0,3,2,2,2,4,0,1,1,1,2,1,0\n0,0,2,1,0,12,2,0,1,1,1,0,1,0\n1,1,5,2,0,9,2,0,1,1,1,1,1,0\n3,2,1,2,0,3,2,0,1,1,1,2,1,1\n1,3,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,2,5,0,0,1,1,2,1,0\n0,0,0,3,5,5,3,1,1,1,1,0,1,0\n1,0,3,2,1,0,3,0,1,1,1,1,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,4,4,0,1,1,0,1,0\n0,0,3,2,1,6,3,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n1,0,1,2,0,7,2,0,1,1,1,0,1,1\n2,2,5,2,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n0,0,8,0,0,6,2,0,1,1,1,1,1,0\n2,1,3,2,0,8,0,0,0,1,1,2,1,0\n1,4,10,3,4,5,3,4,0,1,1,0,1,1\n2,2,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,4,3,2,0,4,2,0,1,1,1,0,1,1\n1,5,10,3,0,5,2,0,1,1,1,2,1,1\n3,2,3,2,0,4,2,0,1,1,1,0,1,0\n2,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n1,5,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,0,3,1,3,5,0,0,1,1,0,1,1\n1,1,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,3,2,0,12,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,4,3,0,1,1,2,1,0\n0,0,1,2,1,8,5,0,0,1,1,0,1,0\n0,4,0,3,2,10,1,0,1,1,1,2,1,0\n1,0,3,2,1,7,5,0,0,1,1,0,1,0\n0,0,9,1,2,8,1,0,0,1,1,2,1,0\n0,3,0,3,0,8,2,0,1,1,1,0,1,0\n1,3,0,3,0,12,2,0,1,1,1,1,1,1\n0,0,1,2,2,0,4,0,1,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,2,1,1\n0,0,3,2,2,8,1,0,1,1,1,1,1,0\n1,0,9,1,1,8,5,0,0,1,1,0,1,0\n2,0,8,0,0,7,2,0,1,1,1,0,1,0\n2,0,2,1,0,8,2,0,1,1,1,0,1,1\n1,1,1,2,0,4,2,0,1,1,1,2,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,4,12,1,2,5,1,0,0,1,1,2,1,0\n2,1,12,1,0,4,2,0,1,1,1,2,1,0\n1,0,1,2,1,3,5,0,0,1,1,0,1,0\n0,0,1,2,2,0,3,0,0,1,1,0,1,0\n2,0,14,0,0,7,2,0,1,1,1,0,1,0\n0,3,0,3,2,5,3,0,1,1,1,1,1,0\n2,0,3,2,4,3,3,0,0,1,1,2,1,0\n1,1,13,3,0,5,2,0,1,1,1,1,1,1\n1,3,3,2,0,2,2,0,1,1,1,0,1,1\n2,0,0,3,0,4,0,0,0,1,1,2,1,1\n0,0,1,2,2,5,1,0,1,1,1,2,1,0\n1,0,6,2,1,2,3,0,1,1,1,2,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,0\n0,0,5,2,2,3,3,0,1,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,5,3,2,2,8,4,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,3,8,5,0,0,1,1,2,1,0\n2,0,1,2,0,0,2,0,1,1,1,1,1,0\n0,5,1,2,2,10,3,0,1,1,1,0,1,0\n0,0,3,2,1,3,3,0,1,1,1,0,1,0\n0,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,3,0,3,0,8,2,0,1,1,1,1,1,1\n2,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,4,5,3,0,1,1,1,0,1,1\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,0,1,1\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,11,0,0,6,2,0,1,1,1,0,1,0\n1,1,5,2,5,9,3,0,1,1,1,1,1,0\n0,0,1,2,2,12,1,0,1,1,1,2,1,0\n0,0,1,2,1,2,3,0,0,1,1,2,1,0\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,0,9,1,1,11,5,4,0,1,1,2,1,0\n2,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,1,0,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,4,0,0,1,1,0,1,0\n1,5,1,2,0,5,2,0,1,1,1,0,1,1\n0,1,0,3,1,4,3,0,1,1,1,1,1,1\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n1,5,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,14,0,0,2,4,0,0,1,1,2,1,0\n1,0,3,2,2,8,5,0,1,1,1,0,1,0\n1,0,10,3,0,0,2,1,1,1,1,1,1,1\n0,0,3,2,2,6,3,0,1,1,1,1,1,0\n0,0,1,2,2,1,1,4,1,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,0,1,0\n0,1,1,2,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,4,7,3,0,0,1,1,0,1,0\n2,4,12,1,0,2,0,0,0,1,1,2,1,1\n1,0,3,2,1,1,4,0,1,1,1,1,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,4,10,3,2,0,3,0,1,1,1,0,1,0\n0,0,6,2,2,0,1,0,0,1,1,2,1,0\n1,3,0,3,0,4,2,0,1,1,1,0,1,0\n1,2,3,2,0,5,2,0,1,1,1,1,1,0\n1,4,10,3,0,5,0,0,0,1,1,2,1,1\n2,1,0,3,0,5,0,0,0,1,1,2,1,1\n0,1,3,2,2,1,3,0,1,1,1,2,1,0\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,5,0,0,1,1,0,1,0\n2,0,3,2,4,10,3,0,1,1,1,2,1,0\n1,0,1,2,1,10,5,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,9,1,0,8,2,0,1,1,1,1,1,0\n1,5,5,2,1,0,3,4,0,1,1,0,1,0\n0,0,3,2,2,0,3,0,1,1,1,1,1,0\n2,0,3,2,0,10,2,4,1,1,1,0,1,1\n1,1,1,2,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,1,8,4,0,0,1,1,0,1,0\n0,0,1,2,1,4,3,0,0,1,1,0,1,0\n1,0,13,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,10,1,0,1,1,1,1,1,0\n0,0,1,2,2,3,5,4,0,1,1,0,1,0\n1,4,3,2,0,2,0,0,0,1,1,2,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,1,4,5,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,0,1,0\n2,0,12,1,0,6,2,0,1,1,1,0,1,0\n2,2,6,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,1\n1,0,1,2,0,5,2,0,1,1,1,1,1,0\n1,3,5,2,1,8,5,0,0,1,1,0,1,0\n2,1,2,1,0,4,2,0,1,1,1,1,1,1\n1,4,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,0,0,2,0,1,1,1,1,1,1\n1,0,10,3,1,2,5,4,0,1,1,2,1,0\n1,5,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,3,2,3,8,4,0,1,1,1,1,1,0\n0,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,0,0,3,5,3,5,1,1,1,1,0,1,0\n1,4,10,3,0,4,0,0,0,1,1,0,1,1\n1,1,0,3,0,3,2,0,1,1,1,1,1,1\n1,5,0,3,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n3,0,0,3,0,8,2,0,1,1,1,2,1,1\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,4,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,0,0,3,0,0,2,0,1,1,1,2,1,0\n0,0,3,2,0,8,1,0,0,1,1,2,1,0\n0,0,1,2,2,12,1,0,1,1,1,2,1,0\n0,1,0,3,0,3,2,0,1,1,1,1,1,0\n2,3,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,5,2,0,8,0,0,0,1,1,1,1,0\n0,0,1,2,2,4,3,0,0,1,1,1,1,0\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,1,2,1,4,3,0,0,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,1,1,2,0,9,2,0,1,1,1,1,1,1\n0,0,1,2,0,10,2,0,1,1,1,2,1,0\n2,2,12,1,0,9,2,0,1,1,1,1,1,0\n1,0,6,2,0,8,2,0,1,1,1,0,1,0\n3,0,3,2,0,12,2,0,1,1,1,2,1,0\n0,0,3,2,0,8,2,0,1,1,1,1,1,0\n0,0,3,2,2,0,3,0,0,1,1,0,1,0\n1,1,10,3,1,4,3,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,1,2,0,0,2,0,1,1,1,0,1,1\n1,3,12,1,2,1,3,4,1,1,1,0,1,0\n1,0,0,3,1,4,3,0,0,1,1,0,1,0\n2,5,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,2,2,1,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n0,4,1,2,0,12,2,0,1,1,1,0,1,1\n0,5,10,3,2,5,3,0,1,1,1,1,1,0\n2,4,0,3,1,5,3,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,2,1,0\n0,0,5,2,0,0,0,4,0,1,1,0,1,0\n0,1,3,2,2,2,1,0,0,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,5,2,2,0,1,0,0,1,1,2,1,0\n0,0,0,3,0,6,2,0,1,1,1,0,1,0\n3,0,3,2,2,8,4,0,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,1,3,2,1,10,3,0,1,1,1,0,1,0\n1,4,2,1,1,2,5,4,0,1,1,2,1,0\n0,0,2,1,2,3,1,0,0,1,1,0,1,0\n3,0,0,3,1,4,5,0,0,1,1,0,1,1\n1,0,0,3,0,0,0,0,0,1,1,2,1,0\n1,1,1,2,0,5,0,0,0,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n1,0,12,1,1,7,5,0,0,1,1,0,1,0\n1,0,14,0,1,7,5,0,0,1,1,0,1,0\n2,0,8,0,3,7,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,1\n1,3,6,2,1,4,5,0,1,1,1,0,1,0\n2,1,8,0,2,2,5,4,0,1,1,1,1,0\n2,4,1,2,0,5,0,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,0,0,0,1,1,0,1,1\n2,0,0,3,1,4,3,0,0,1,1,0,1,1\n1,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,5,3,2,0,12,2,0,1,1,1,1,1,1\n1,0,3,2,2,8,3,0,0,1,1,1,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n0,0,1,2,1,3,3,0,1,1,1,1,1,0\n0,0,0,3,3,3,3,0,1,1,1,1,1,1\n0,0,2,1,2,2,4,0,0,1,1,2,1,0\n0,0,8,0,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,5,4,0,1,1,2,1,0\n0,1,5,2,2,4,3,0,1,1,1,2,1,0\n0,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,2,9,3,0,1,1,1,1,1,0\n1,3,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,10,2,4,1,1,1,0,1,0\n2,0,7,1,0,1,2,0,1,1,1,1,1,0\n0,2,3,2,2,9,1,0,1,1,1,2,1,0\n1,4,10,3,0,5,0,0,0,1,1,2,1,1\n0,0,3,2,0,7,2,4,1,1,1,0,1,0\n0,0,1,2,5,9,5,0,0,1,1,0,1,0\n1,0,10,3,3,0,5,0,0,1,1,2,1,0\n0,0,4,3,0,3,2,0,1,1,1,0,1,1\n0,4,3,2,1,8,3,2,0,1,1,2,1,0\n1,0,1,2,0,3,0,0,0,1,1,0,1,0\n0,0,1,2,2,10,1,1,1,1,1,0,1,0\n1,1,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,1,4,5,0,0,1,1,0,1,0\n1,2,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,3,2,2,3,5,4,0,1,1,1,1,0\n0,5,1,2,2,2,3,0,0,1,1,2,1,0\n1,3,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,8,0,2,10,3,3,1,1,1,1,1,0\n0,0,3,2,2,6,3,4,0,1,1,1,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,1,4,5,0,1,1,1,1,1,0\n2,0,7,1,0,2,0,0,0,1,1,2,1,0\n1,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,3,2,0,1,2,0,1,1,1,0,1,0\n2,4,9,1,1,10,3,0,1,1,1,0,1,0\n0,0,6,2,2,8,3,0,0,1,1,0,1,0\n0,0,6,2,1,1,3,0,1,1,1,0,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,2,0,4,0,1,1,1,0,1,0\n1,0,1,2,1,0,3,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,0,7,1,0,7,2,0,1,1,1,1,1,0\n2,0,3,2,0,11,0,4,0,1,1,2,1,0\n1,4,3,2,4,2,3,0,0,1,1,1,1,0\n2,0,1,2,0,3,2,0,1,1,1,0,1,0\n0,0,1,2,0,5,2,0,1,1,1,1,1,0\n2,5,10,3,0,5,2,0,1,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n1,5,0,3,0,12,2,0,1,1,1,0,1,1\n2,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,1,0,1,1,1,0,1,0\n1,0,10,3,1,5,5,0,0,1,1,0,1,1\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,4,3,2,4,5,5,2,0,1,1,2,1,0\n1,0,0,3,1,4,3,0,1,1,1,1,1,0\n1,0,9,1,2,2,1,0,1,1,1,0,1,0\n0,0,5,2,2,6,1,0,1,1,1,0,1,0\n0,4,3,2,2,8,1,0,1,1,1,1,1,0\n1,3,0,3,0,5,2,0,1,1,1,0,1,1\n0,4,0,3,2,12,3,0,0,1,1,2,1,0\n0,4,5,2,2,12,1,0,1,1,1,0,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n2,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,0,8,0,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n2,1,0,3,0,4,2,0,1,1,1,2,1,0\n0,0,1,2,1,7,3,4,1,1,1,0,1,0\n1,5,3,2,0,0,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,0,1,0\n1,0,2,1,2,2,3,4,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,0,1,0\n1,0,3,2,0,9,2,0,1,1,1,1,1,1\n0,0,1,2,0,0,2,0,1,1,1,0,1,0\n1,0,2,1,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,3,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,2,3,2,1,1,3,4,1,1,1,1,1,0\n1,3,3,2,2,10,3,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,1,1,1,1,1,1,0\n0,4,3,2,0,1,2,0,1,1,1,1,1,0\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,1,4,3,0,0,1,1,0,1,0\n2,1,3,2,4,1,3,0,1,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,5,2,0,3,0,0,0,1,1,1,1,1\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,0,2,4,4,0,1,1,0,1,0\n1,4,6,2,1,4,3,2,1,1,1,1,1,0\n0,0,6,2,2,3,1,0,1,1,1,0,1,0\n1,3,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,14,0,2,7,3,0,0,1,1,1,1,0\n0,0,3,2,1,3,3,0,1,1,1,1,1,0\n1,0,3,2,1,1,5,0,0,1,1,0,1,0\n0,0,12,1,2,9,1,0,1,1,1,2,1,0\n2,2,6,2,1,4,5,0,1,1,1,2,1,0\n0,1,3,2,0,1,2,0,1,1,1,2,1,0\n1,1,10,3,1,5,3,0,0,1,1,1,1,0\n0,0,2,1,2,9,1,0,1,1,1,2,1,0\n1,4,3,2,3,8,4,0,0,1,1,2,1,0\n2,1,3,2,0,10,2,0,1,1,1,2,1,0\n2,1,12,1,0,9,2,0,1,1,1,1,1,1\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,0,0,3,0,1,2,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,2,1,0\n0,3,3,2,2,0,1,0,0,1,1,0,1,0\n1,0,10,3,2,5,3,1,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,0,3,2,8,3,0,1,1,1,0,1,0\n0,0,1,2,1,4,5,0,0,1,1,0,1,0\n1,4,3,2,0,2,2,4,1,1,1,0,1,0\n1,4,6,2,1,5,5,0,0,1,1,1,1,0\n2,0,8,0,0,3,2,0,1,1,1,1,1,0\n1,5,6,2,0,4,2,0,1,1,1,2,1,1\n1,0,0,3,3,3,3,0,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,5,1,2,2,8,4,0,1,1,1,2,1,0\n0,4,0,3,1,5,1,0,1,1,1,0,1,0\n1,0,3,2,1,7,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,2,1,0\n0,0,1,2,0,6,2,0,1,1,1,0,1,0\n0,4,10,3,0,5,2,0,1,1,1,0,1,0\n1,2,3,2,0,3,2,0,1,1,1,1,1,0\n2,0,3,2,1,8,3,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,6,2,0,8,2,4,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,1,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,9,1,0,2,2,0,1,1,1,0,1,0\n0,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,0,0,2,0,1,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,5,1,2,2,8,1,0,1,1,1,2,1,0\n1,0,6,2,0,5,2,1,1,1,1,0,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,0\n3,0,14,0,0,2,2,0,1,1,1,2,1,0\n0,0,4,3,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,3,4,0,1,1,2,1,0\n0,0,4,3,0,5,2,0,1,1,1,2,1,1\n1,0,3,2,0,3,2,0,1,1,1,2,1,1\n1,0,3,2,3,0,3,4,0,1,1,0,1,0\n0,4,0,3,2,12,3,0,0,1,1,1,1,0\n2,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,2,2,3,0,1,1,1,2,1,0\n1,0,0,3,2,8,5,4,0,1,1,1,1,0\n0,0,1,2,2,2,1,0,1,1,1,0,1,0\n1,0,3,2,3,7,5,4,0,1,1,0,1,0\n1,0,3,2,1,7,5,0,0,1,1,1,1,0\n2,1,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,2,1,2,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,7,1,4,6,5,0,1,1,1,0,1,0\n0,0,5,2,2,9,3,4,0,1,1,0,1,0\n0,3,1,2,2,8,3,0,1,1,1,1,1,0\n2,0,1,2,4,4,3,0,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,2,1,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,3,3,3,0,1,1,1,1,1,0\n0,0,6,2,2,3,3,2,1,1,1,1,1,0\n1,0,6,2,1,2,5,0,0,1,1,2,1,0\n1,0,1,2,1,3,5,0,1,1,1,1,1,0\n0,0,1,2,2,0,3,0,0,1,1,0,1,0\n0,2,3,2,2,8,1,0,0,1,1,2,1,0\n1,1,4,3,0,5,2,0,1,1,1,2,1,1\n2,1,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,1,1,1\n2,1,3,2,0,3,0,0,0,1,1,1,1,0\n0,0,1,2,2,2,1,1,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,4,0,3,2,0,3,0,0,1,1,0,1,0\n0,0,5,2,2,7,3,0,0,1,1,1,1,0\n1,0,2,1,3,0,5,0,0,1,1,0,1,0\n2,0,1,2,4,8,3,0,0,1,1,2,1,0\n0,4,0,3,2,5,3,0,0,1,1,2,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,4,1,2,0,8,0,0,0,1,1,0,1,1\n2,0,0,3,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,2,0,3,2,5,5,0,0,1,1,1,1,0\n1,0,8,0,0,8,2,0,1,1,1,1,1,0\n0,1,0,3,0,1,2,0,1,1,1,2,1,0\n1,0,0,3,0,0,2,0,1,1,1,0,1,1\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,3,2,0,6,0,0,0,1,1,0,1,1\n0,0,9,1,0,1,2,0,1,1,1,1,1,1\n0,3,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,6,2,0,4,2,0,1,1,1,1,1,1\n1,1,12,1,0,4,2,0,1,1,1,0,1,0\n0,0,6,2,0,10,2,0,1,1,1,0,1,0\n1,4,10,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,3,2,3,2,5,0,0,1,1,0,1,0\n1,5,4,3,0,5,2,0,1,1,1,0,1,1\n1,1,6,2,0,4,2,0,1,1,1,0,1,1\n1,0,7,1,2,7,3,0,1,1,1,2,1,0\n1,2,0,3,2,4,3,0,0,1,1,1,1,1\n2,0,4,3,1,2,3,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,2,6,3,4,0,1,1,0,1,0\n1,0,3,2,2,1,3,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,9,1,2,8,1,0,1,1,1,2,1,0\n1,5,3,2,0,12,2,0,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n2,0,3,2,0,4,2,0,1,1,1,0,1,0\n1,5,10,3,1,5,5,0,0,1,1,0,1,0\n0,0,5,2,2,2,1,0,1,1,1,2,1,0\n0,1,0,3,0,4,2,0,1,1,1,2,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,1,10,5,0,1,1,1,1,1,0\n0,0,0,3,0,4,0,0,0,1,1,1,1,1\n1,1,6,2,0,1,2,0,1,1,1,2,1,0\n2,0,10,3,1,3,3,0,1,1,1,0,1,1\n1,0,3,2,0,4,0,0,0,1,1,1,1,0\n2,0,7,1,0,10,2,0,1,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n2,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,0,3,2,4,1,5,4,0,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,1,1,1\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,3,3,2,2,10,1,0,1,1,1,0,1,0\n0,0,3,2,0,3,0,0,0,1,1,0,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n0,0,3,2,0,1,2,3,1,1,1,2,1,0\n1,4,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,1,2,1,2,5,0,0,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,1,2,1,7,3,0,0,1,1,0,1,0\n0,0,10,3,2,5,3,1,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n0,4,3,2,2,2,1,4,1,1,1,0,1,0\n0,1,1,2,5,1,3,0,1,1,1,0,1,0\n1,0,0,3,2,8,3,0,0,1,1,1,1,0\n0,0,10,3,0,1,2,0,1,1,1,0,1,0\n0,5,1,2,2,4,3,0,1,1,1,0,1,0\n1,5,1,2,1,4,3,0,0,1,1,0,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n1,0,3,2,1,6,5,0,1,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,10,3,1,3,3,0,1,1,1,1,1,0\n0,0,0,3,0,8,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,0,0,0,1,1,0,1,0\n1,4,1,2,1,4,3,0,0,1,1,1,1,0\n1,0,14,0,0,2,0,1,0,1,1,0,1,1\n2,0,0,3,0,12,0,0,0,1,1,1,1,1\n1,5,10,3,2,8,3,4,0,1,1,1,1,0\n0,0,1,2,2,10,1,0,1,1,1,2,1,0\n1,0,5,2,0,1,2,0,1,1,1,0,1,1\n0,0,2,1,0,1,2,0,1,1,1,1,1,0\n2,1,10,3,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,0,8,0,0,0,1,1,0,1,0\n1,0,3,2,0,5,2,0,1,1,1,0,1,0\n3,0,3,2,2,8,3,0,0,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,8,0,2,2,1,0,1,1,1,0,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n1,0,11,0,0,9,2,0,1,1,1,1,1,0\n0,1,3,2,5,2,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,0,1,0\n0,0,5,2,2,7,3,0,0,1,1,1,1,1\n2,5,1,2,0,4,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,1,2,2,8,4,3,1,1,1,0,1,0\n1,0,5,2,0,7,2,0,1,1,1,1,1,0\n1,0,11,0,2,8,5,0,0,1,1,2,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,0,3,2,8,1,4,0,1,1,0,1,0\n1,4,1,2,0,12,2,0,1,1,1,0,1,1\n1,0,3,2,0,12,2,4,1,1,1,0,1,1\n0,0,1,2,2,6,1,4,1,1,1,2,1,0\n1,0,3,2,2,2,1,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,3,2,3,0,0,1,1,2,1,0\n1,0,3,2,2,9,3,0,1,1,1,1,1,0\n0,0,1,2,2,7,1,4,0,1,1,1,1,0\n0,0,1,2,1,8,5,4,0,1,1,1,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,1,12,1,2,3,1,0,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,0,1,1\n0,0,0,3,0,5,0,0,0,1,1,1,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,1,2,2,6,1,4,1,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,4,6,2,2,4,1,0,0,1,1,0,1,0\n1,3,0,3,2,8,3,0,1,1,1,1,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,3,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,0,0,1,1,1,1,0\n0,0,1,2,2,8,3,0,0,1,1,2,1,0\n0,4,3,2,2,1,3,0,1,1,1,2,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,2,1,2,6,3,0,1,1,1,0,1,0\n3,1,4,3,0,5,2,0,1,1,1,2,1,0\n0,0,10,3,2,4,3,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,1,7,3,4,0,1,1,0,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,10,3,0,3,2,0,1,1,1,0,1,0\n2,3,3,2,0,8,2,4,1,1,1,0,1,0\n1,0,6,2,2,5,3,0,1,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n2,0,9,1,1,12,3,0,1,1,1,2,1,0\n1,0,3,2,3,8,5,4,0,1,1,0,1,0\n0,0,5,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,0,2,0,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,1,2,2,7,5,4,1,1,1,0,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,0,3,1,5,5,4,0,1,1,1,1,0\n1,2,4,3,2,3,3,0,0,1,1,1,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,2,1,0\n0,4,0,3,2,5,3,0,0,1,1,2,1,0\n1,1,5,2,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,4,1,0,0,1,1,1,1,0\n2,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,10,2,3,1,1,1,0,1,0\n1,1,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,9,1,0,1,2,0,1,1,1,0,1,1\n1,0,3,2,1,2,3,0,1,1,1,0,1,0\n0,0,0,3,2,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,4,0,1,1,2,1,0\n0,2,3,2,1,2,5,0,1,1,1,2,1,0\n0,0,0,3,2,5,1,0,1,1,1,1,1,0\n2,0,1,2,4,4,3,0,1,1,1,1,1,0\n2,5,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,3,2,2,11,4,4,0,1,1,0,1,0\n0,1,6,2,2,9,1,0,1,1,1,0,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,5,5,2,1,8,3,0,1,1,1,2,1,0\n0,2,0,3,0,4,2,0,1,1,1,1,1,1\n1,1,1,2,0,3,2,0,1,1,1,2,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,1,3,5,4,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n1,4,3,2,0,8,0,2,0,1,1,0,1,0\n0,0,1,2,2,2,3,0,0,1,1,1,1,0\n2,0,3,2,4,2,3,0,0,1,1,2,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,0,10,2,0,1,1,1,2,1,1\n1,0,3,2,2,8,1,4,0,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,3,3,2,2,5,5,4,0,1,1,0,1,0\n1,0,3,2,1,2,5,0,0,1,1,0,1,0\n1,4,12,1,0,2,2,0,1,1,1,0,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,0,10,2,4,1,1,1,1,1,0\n0,1,6,2,2,1,3,0,1,1,1,1,1,0\n2,0,3,2,1,10,3,0,1,1,1,1,1,1\n0,3,3,2,2,2,1,0,0,1,1,0,1,0\n2,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,0,0,1,1,2,1,0\n1,0,10,3,0,1,2,0,1,1,1,1,1,1\n0,0,4,3,0,5,2,1,1,1,1,0,1,0\n3,0,1,2,0,12,2,0,1,1,1,0,1,0\n0,5,1,2,0,12,2,0,1,1,1,1,1,0\n2,1,3,2,0,9,2,0,1,1,1,2,1,0\n1,0,0,3,0,7,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,1,10,3,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,7,3,4,1,1,1,0,1,0\n1,5,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,5,0,1,1,1,1,1,0\n1,0,12,1,0,1,2,0,1,1,1,0,1,0\n0,0,12,1,2,2,1,0,0,1,1,2,1,0\n1,0,5,2,0,1,2,0,1,1,1,1,1,0\n2,2,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,6,2,2,3,3,0,1,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,0,1,1\n1,4,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,2,3,2,2,8,3,0,0,1,1,0,1,0\n1,4,3,2,2,12,5,4,1,1,1,0,1,0\n3,0,12,1,4,0,3,0,0,1,1,2,1,0\n1,0,3,2,2,8,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n0,3,0,3,0,8,0,1,0,1,1,0,1,1\n2,0,3,2,4,3,5,0,0,1,1,2,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,0,6,2,0,1,1,1,0,1,0\n1,0,1,2,3,8,3,0,0,1,1,0,1,0\n2,5,1,2,1,10,3,0,1,1,1,0,1,0\n3,1,7,1,4,2,3,0,0,1,1,0,1,0\n2,2,3,2,0,4,2,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,4,1,1,1,2,1,0\n1,0,1,2,1,0,5,0,0,1,1,0,1,0\n1,0,10,3,0,0,2,0,1,1,1,2,1,0\n2,0,6,2,1,8,3,0,0,1,1,0,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,12,1,0,2,2,0,1,1,1,2,1,0\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,5,2,2,3,1,0,0,1,1,2,1,0\n0,0,2,1,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n1,0,3,2,0,5,2,0,1,1,1,0,1,0\n1,2,10,3,3,4,5,1,1,1,1,1,1,0\n1,4,10,3,0,4,2,0,1,1,1,0,1,0\n1,0,0,3,1,5,3,0,1,1,1,1,1,1\n0,0,3,2,2,2,4,0,0,1,1,1,1,0\n0,5,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,4,3,2,5,3,1,0,1,1,1,1,1\n2,0,12,1,4,10,3,0,1,1,1,0,1,0\n0,0,0,3,2,8,5,0,0,1,1,1,1,0\n1,0,1,2,1,4,5,0,0,1,1,0,1,0\n1,0,2,1,0,2,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,4,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n1,0,2,1,1,8,3,0,1,1,1,0,1,0\n0,0,10,3,2,2,5,4,0,1,1,2,1,0\n1,0,1,2,0,3,2,4,1,1,1,1,1,1\n1,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,0,1,1,1,1,0\n1,0,1,2,2,6,1,0,1,1,1,0,1,0\n0,0,3,2,0,5,2,0,1,1,1,2,1,0\n0,1,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n1,0,7,1,2,11,3,0,0,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,0,4,0,1,1,2,1,0\n1,0,0,3,0,5,2,1,1,1,1,0,1,1\n2,0,12,1,5,1,3,0,1,1,1,1,1,0\n0,0,1,2,2,0,1,0,0,1,1,0,1,0\n2,0,1,2,0,2,2,1,1,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,5,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,0,3,2,1,2,3,0,0,1,1,0,1,0\n0,5,3,2,1,8,3,0,1,1,1,0,1,0\n1,0,3,2,1,2,5,4,0,1,1,2,1,0\n1,3,6,2,0,8,2,0,1,1,1,1,1,1\n0,0,12,1,0,6,2,0,1,1,1,2,1,0\n1,0,3,2,3,3,5,0,0,1,1,0,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,1,6,2,2,2,3,0,1,1,1,0,1,0\n1,4,5,2,0,12,2,0,1,1,1,0,1,1\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n0,0,10,3,2,5,3,0,0,1,1,1,1,0\n0,2,10,3,2,3,1,0,0,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,4,3,2,5,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,5,4,0,1,1,0,1,0\n1,0,0,3,0,8,0,0,0,1,1,0,1,1\n0,0,3,2,2,6,5,4,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n2,0,11,0,0,10,2,0,1,1,1,0,1,0\n1,1,3,2,2,9,3,0,1,1,1,1,1,0\n0,0,0,3,2,8,1,0,0,1,1,0,1,0\n1,1,3,2,0,1,2,4,1,1,1,1,1,1\n2,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,4,5,2,1,12,3,1,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,0,1,0\n0,0,3,2,2,10,1,0,1,1,1,0,1,0\n1,0,14,0,0,2,2,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,1,3,2,0,10,2,0,1,1,1,1,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n0,0,3,2,0,4,4,1,1,1,1,1,1,0\n0,4,1,2,0,8,0,0,0,1,1,0,1,0\n1,0,10,3,0,3,2,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n2,4,6,2,0,4,2,0,1,1,1,2,1,0\n0,0,3,2,0,1,2,4,1,1,1,0,1,0\n0,0,3,2,5,2,1,0,0,1,1,2,1,0\n0,0,1,2,0,0,2,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,2,1,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,1,3,2,2,2,1,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,0,0,3,2,5,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,2,1,0\n0,0,3,2,2,7,3,0,1,1,1,1,1,0\n1,0,3,2,2,2,3,4,1,1,1,0,1,0\n0,0,1,2,2,5,3,0,1,1,1,0,1,0\n0,0,1,2,2,2,3,1,1,1,1,2,1,0\n1,0,3,2,1,3,3,0,0,1,1,0,1,0\n0,0,1,2,2,8,5,0,0,1,1,0,1,0\n1,0,1,2,1,3,3,0,1,1,1,0,1,0\n2,2,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,5,1,2,2,5,1,0,1,1,1,2,1,0\n1,0,1,2,1,0,3,2,1,1,1,0,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,3,2,1,3,5,0,0,1,1,1,1,0\n1,0,0,3,0,3,0,0,0,1,1,2,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,1\n0,3,6,2,1,8,1,4,0,1,1,0,1,0\n1,4,1,2,4,8,5,0,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,1,1,1,2,1,0\n1,1,3,2,1,2,5,0,0,1,1,1,1,0\n2,1,3,2,0,3,0,0,0,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,1\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n2,0,3,2,0,2,2,0,1,1,1,2,1,0\n2,0,0,3,2,8,3,0,0,1,1,0,1,0\n0,0,10,3,0,5,2,3,1,1,1,1,1,1\n0,0,3,2,2,4,3,0,1,1,1,1,1,0\n2,0,1,2,0,1,2,0,1,1,1,0,1,0\n3,2,14,0,0,4,2,1,1,1,1,2,1,0\n0,0,3,2,0,8,2,0,1,1,1,1,1,0\n0,0,2,1,0,1,2,0,1,1,1,1,1,0\n2,0,3,2,1,3,3,0,1,1,1,0,1,0\n2,2,4,3,1,5,3,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,4,3,2,0,12,2,4,1,1,1,1,1,1\n1,0,0,3,1,5,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,5,5,2,2,8,3,4,1,1,1,0,1,0\n0,0,2,1,0,6,2,0,1,1,1,0,1,0\n0,4,1,2,2,2,5,4,0,1,1,0,1,0\n1,4,1,2,0,4,2,0,1,1,1,0,1,1\n2,0,8,0,0,6,2,0,1,1,1,2,1,0\n0,1,3,2,0,1,2,0,1,1,1,0,1,0\n1,1,5,2,0,3,2,1,1,1,1,1,1,0\n2,0,3,2,2,8,4,0,0,1,1,0,1,0\n0,0,5,2,2,3,1,0,0,1,1,0,1,0\n0,0,5,2,0,4,0,0,0,1,1,0,1,0\n0,1,1,2,0,3,2,0,1,1,1,1,1,1\n0,0,2,1,3,1,3,4,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,0,5,2,2,6,3,0,1,1,1,2,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,4,0,3,1,5,5,0,0,1,1,0,1,0\n2,0,10,3,0,5,2,0,1,1,1,1,1,1\n2,0,0,3,1,8,3,0,0,1,1,2,1,0\n0,0,3,2,2,3,1,1,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,2,8,0,0,5,2,0,1,1,1,1,1,0\n0,5,1,2,2,0,1,0,1,1,1,2,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,2,1,2,2,3,3,0,1,1,1,1,1,0\n0,0,3,2,3,1,1,0,1,1,1,0,1,0\n2,1,3,2,0,9,2,0,1,1,1,1,1,0\n0,0,2,1,2,2,1,4,1,1,1,0,1,0\n1,0,1,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,3,2,5,4,0,1,1,2,1,0\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n0,0,3,2,2,10,3,0,1,1,1,0,1,0\n0,2,3,2,0,3,2,0,1,1,1,0,1,1\n2,1,8,0,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,5,0,3,0,4,2,0,1,1,1,0,1,1\n0,4,3,2,2,8,3,4,0,1,1,2,1,0\n1,3,0,3,0,12,2,0,1,1,1,0,1,0\n2,1,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,12,1,2,2,4,0,1,1,1,2,1,0\n2,0,1,2,0,10,2,0,1,1,1,1,1,0\n0,4,0,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,2,5,3,4,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n2,4,10,3,0,5,2,0,1,1,1,1,1,1\n2,0,3,2,1,12,3,0,1,1,1,0,1,0\n1,5,0,3,3,5,5,0,0,1,1,0,1,0\n1,1,3,2,0,9,2,0,1,1,1,1,1,0\n1,3,0,3,0,5,0,0,0,1,1,1,1,1\n1,3,0,3,0,4,2,0,1,1,1,0,1,1\n0,0,3,2,0,12,2,0,1,1,1,0,1,1\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n0,1,13,3,0,5,2,0,1,1,1,0,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n2,0,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,1,0,1,1,1,2,1,0\n2,1,3,2,3,1,3,4,1,1,1,0,1,0\n0,0,2,1,2,6,1,0,1,1,1,2,1,0\n0,4,0,3,2,12,3,0,0,1,1,1,1,0\n1,5,0,3,0,5,2,0,1,1,1,2,1,1\n0,5,3,2,0,2,0,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,3,2,2,3,4,4,0,1,1,2,1,0\n1,0,6,2,3,1,3,0,0,1,1,0,1,0\n0,0,1,2,2,2,3,0,1,1,1,2,1,0\n2,4,3,2,0,12,2,0,1,1,1,0,1,0\n1,1,0,3,1,2,5,0,0,1,1,2,1,0\n2,0,12,1,4,10,3,0,0,1,1,0,1,0\n1,0,1,2,3,3,3,0,0,1,1,2,1,0\n1,4,0,3,0,4,2,0,1,1,1,0,1,0\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,0\n0,0,5,2,0,5,0,0,0,1,1,0,1,1\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n0,0,5,2,2,8,4,4,0,1,1,1,1,0\n3,0,12,1,4,2,3,0,0,1,1,2,1,0\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,4,1,2,2,8,3,0,0,1,1,0,1,0\n0,0,10,3,2,4,3,0,1,1,1,1,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,4,6,2,3,1,5,4,1,1,1,0,1,0\n1,0,1,2,1,3,3,0,1,1,1,0,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n1,0,9,1,0,7,2,0,1,1,1,1,1,0\n0,0,9,1,2,3,1,0,0,1,1,2,1,0\n2,4,0,3,0,5,2,0,1,1,1,0,1,1\n1,0,10,3,1,2,3,0,0,1,1,1,1,0\n0,0,3,2,2,8,3,0,0,1,1,2,1,0\n0,0,1,2,2,4,3,0,0,1,1,2,1,0\n1,0,13,3,0,5,2,0,1,1,1,0,1,1\n0,3,1,2,2,0,1,0,1,1,1,2,1,0\n0,1,3,2,2,1,4,0,1,1,1,0,1,0\n3,2,13,3,4,5,3,0,1,1,1,2,1,1\n1,0,0,3,2,3,3,0,1,1,1,1,1,0\n1,2,12,1,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,0,1,0,0,1,1,2,1,0\n1,0,1,2,2,1,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,4,0,1,1,1,1,0\n1,0,3,2,0,6,2,4,1,1,1,0,1,0\n1,3,1,2,0,4,2,0,1,1,1,0,1,0\n2,0,1,2,2,5,3,0,0,1,1,2,1,1\n0,0,0,3,1,10,3,0,1,1,1,0,1,0\n0,0,15,0,0,1,2,0,1,1,1,2,1,0\n0,0,0,3,2,4,3,0,1,1,1,0,1,0\n2,5,0,3,2,4,3,0,0,1,1,0,1,0\n2,0,13,3,2,5,3,0,1,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,2,1,0\n0,0,2,1,2,3,4,0,1,1,1,2,1,0\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n1,1,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,5,2,0,5,2,0,1,1,1,0,1,1\n1,0,14,0,0,7,2,0,1,1,1,0,1,0\n0,1,3,2,2,4,3,0,1,1,1,1,1,0\n1,0,1,2,2,3,3,0,0,1,1,0,1,0\n0,0,6,2,0,5,2,0,1,1,1,1,1,1\n2,0,1,2,0,5,2,0,1,1,1,2,1,1\n0,0,1,2,1,3,3,0,0,1,1,0,1,0\n0,0,1,2,2,10,5,4,1,1,1,2,1,0\n0,0,4,3,0,5,2,1,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,1,14,0,0,1,2,0,1,1,1,2,1,0\n0,0,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,9,1,1,2,5,0,0,1,1,1,1,0\n0,3,2,1,2,8,1,2,0,1,1,2,1,0\n0,0,0,3,2,8,3,4,1,1,1,1,1,0\n1,2,5,2,0,4,0,0,0,1,1,2,1,1\n0,0,14,0,2,6,3,0,1,1,1,0,1,0\n2,0,1,2,0,10,2,0,1,1,1,1,1,1\n1,0,1,2,1,2,5,0,0,1,1,2,1,0\n1,0,0,3,1,1,3,1,0,1,1,0,1,0\n1,0,3,2,0,7,2,4,1,1,1,1,1,0\n1,0,3,2,2,2,3,4,1,1,1,1,1,0\n2,5,0,3,0,5,2,0,1,1,1,0,1,0\n0,0,9,1,2,2,1,4,0,1,1,2,1,0\n0,0,3,2,0,8,0,1,0,1,1,0,1,0\n0,1,6,2,1,2,5,0,0,1,1,1,1,0\n0,0,0,3,2,0,3,3,1,1,1,0,1,0\n2,0,1,2,0,8,2,0,1,1,1,2,1,1\n0,1,7,1,2,1,5,0,1,1,1,1,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,0\n2,2,3,2,0,10,2,0,1,1,1,0,1,0\n2,0,1,2,3,7,4,4,0,1,1,2,1,0\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,6,2,0,1,2,0,1,1,1,0,1,1\n0,3,3,2,0,2,0,0,0,1,1,0,1,1\n1,1,4,3,0,5,0,0,0,1,1,2,1,1\n0,0,1,2,2,3,3,0,0,1,1,2,1,0\n1,0,7,1,4,4,5,0,0,1,1,1,1,0\n1,0,1,2,0,7,2,0,1,1,1,2,1,0\n1,1,12,1,1,2,1,0,0,1,1,2,1,0\n0,0,0,3,0,5,0,3,0,1,1,0,1,0\n1,0,1,2,3,6,3,0,1,1,1,0,1,0\n1,2,1,2,2,3,3,0,1,1,1,1,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,3,0,0,1,1,2,1,0\n1,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,2,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,2,1,3,6,4,0,0,1,1,0,1,0\n0,0,3,2,2,2,1,4,0,1,1,0,1,0\n1,0,7,1,1,7,5,0,0,1,1,0,1,0\n1,0,5,2,1,1,3,0,1,1,1,1,1,0\n0,4,2,1,2,5,1,4,0,1,1,0,1,0\n0,0,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,3,3,2,0,2,2,0,1,1,1,0,1,0\n0,0,0,3,0,1,2,0,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,2,4,3,0,5,2,0,1,1,1,1,1,1\n2,0,7,1,4,2,5,4,0,1,1,0,1,0\n1,1,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,0,3,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,1,2,5,0,0,1,1,0,1,0\n1,0,3,2,3,8,3,0,0,1,1,1,1,1\n1,0,3,2,3,6,5,2,1,1,1,1,1,0\n1,1,0,3,0,1,2,0,1,1,1,0,1,1\n1,4,10,3,1,5,3,0,0,1,1,2,1,1\n2,0,8,0,4,11,3,0,0,1,1,1,1,0\n0,0,6,2,0,3,2,0,1,1,1,0,1,0\n1,5,1,2,1,4,5,0,1,1,1,0,1,0\n2,0,1,2,2,5,3,0,0,1,1,2,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,5,2,0,3,2,0,1,1,1,2,1,1\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,4,0,1,1,0,1,0\n1,0,1,2,2,3,3,4,0,1,1,0,1,0\n1,2,13,3,0,3,2,1,1,1,1,0,1,1\n1,0,6,2,1,0,3,0,0,1,1,0,1,0\n1,0,3,2,1,10,3,0,1,1,1,1,1,0\n0,0,3,2,2,3,1,0,1,1,1,0,1,0\n2,3,0,3,0,4,2,0,1,1,1,0,1,1\n1,4,1,2,0,5,2,0,1,1,1,0,1,1\n1,0,5,2,0,4,2,0,1,1,1,1,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n0,0,2,1,2,9,5,0,1,1,1,1,1,0\n1,0,1,2,1,7,1,0,1,1,1,0,1,0\n1,3,1,2,1,8,3,0,0,1,1,2,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,0,8,0,0,0,1,1,0,1,0\n0,0,3,2,1,7,5,0,0,1,1,0,1,0\n1,0,3,2,1,10,1,0,1,1,1,0,1,0\n0,0,3,2,2,8,1,0,0,1,1,2,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,1\n0,0,3,2,3,1,1,0,1,1,1,0,1,0\n0,0,1,2,2,8,5,3,0,1,1,0,1,0\n2,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,6,2,1,1,3,0,1,1,1,0,1,0\n0,0,8,0,2,1,1,0,1,1,1,2,1,0\n0,4,3,2,2,12,3,4,1,1,1,0,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,1,3,5,0,1,1,1,1,1,0\n0,3,1,2,2,4,3,4,1,1,1,0,1,0\n0,0,3,2,2,6,1,4,1,1,1,1,1,0\n1,0,13,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,4,0,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n0,0,9,1,0,1,2,4,1,1,1,2,1,0\n0,0,1,2,2,2,3,0,1,1,1,1,1,0\n1,0,7,1,0,0,0,0,0,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,1,1,0\n1,0,3,2,3,8,5,0,0,1,1,1,1,0\n1,0,10,3,2,5,3,0,0,1,1,0,1,0\n0,0,3,2,2,3,3,0,1,1,1,0,1,0\n0,0,0,3,0,5,0,1,0,1,1,0,1,1\n0,4,3,2,2,1,1,0,1,1,1,0,1,0\n0,1,0,3,0,4,2,0,1,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n2,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,6,3,2,0,1,1,0,1,0\n0,0,3,2,2,2,3,4,1,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,2,1,0\n0,0,1,2,0,3,0,0,0,1,1,2,1,0\n2,4,5,2,4,8,5,0,0,1,1,0,1,0\n1,0,3,2,1,1,3,0,1,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,2,1,1\n1,0,1,2,4,3,3,0,0,1,1,0,1,0\n2,1,0,3,0,5,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,0,1,0\n0,0,3,2,3,2,4,0,1,1,1,2,1,0\n2,0,14,0,0,9,2,0,1,1,1,1,1,0\n0,0,1,2,0,5,2,0,1,1,1,2,1,0\n1,5,12,1,0,9,2,0,1,1,1,2,1,0\n0,5,0,3,2,5,3,3,0,1,1,0,1,0\n0,0,2,1,2,4,3,4,1,1,1,1,1,0\n3,0,8,0,4,2,5,4,0,1,1,2,1,0\n1,0,11,0,3,7,4,4,1,1,1,1,1,0\n0,0,5,2,2,2,3,0,0,1,1,0,1,0\n0,0,1,2,2,6,4,0,1,1,1,2,1,0\n0,0,1,2,2,2,3,0,1,1,1,0,1,0\n1,3,0,3,0,8,2,4,1,1,1,0,1,1\n3,0,3,2,0,3,0,0,0,1,1,2,1,0\n0,0,10,3,2,5,3,0,0,1,1,0,1,0\n1,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,1,0,3,1,4,3,0,1,1,1,2,1,0\n1,1,10,3,0,4,0,0,0,1,1,0,1,1\n0,0,3,2,5,3,5,0,0,1,1,2,1,0\n2,0,1,2,4,4,3,0,0,1,1,0,1,0\n1,0,7,1,1,10,1,0,1,1,1,0,1,0\n2,1,10,3,0,7,2,0,1,1,1,2,1,1\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,0,3,0,5,0,0,0,1,1,1,1,1\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n2,3,3,2,2,8,5,4,1,1,1,0,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,1\n1,4,6,2,2,8,3,4,0,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,2,1,0\n1,0,2,1,1,12,3,0,0,1,1,0,1,0\n1,0,12,1,0,10,2,0,1,1,1,1,1,0\n0,0,12,1,2,2,3,0,1,1,1,2,1,0\n0,0,1,2,2,7,4,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,1,10,3,0,4,0,0,0,1,1,2,1,1\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,4,2,0,1,1,1,1,1,1\n2,0,1,2,1,4,3,0,0,1,1,0,1,0\n3,4,5,2,1,5,5,4,0,1,1,2,1,0\n0,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,1,7,3,0,0,1,1,1,1,0\n0,4,1,2,2,12,3,0,1,1,1,1,1,1\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n2,0,1,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,1,4,3,0,0,1,1,0,1,0\n0,0,3,2,4,7,5,0,0,1,1,0,1,0\n1,3,3,2,1,8,5,0,1,1,1,0,1,0\n0,0,3,2,2,4,4,0,0,1,1,0,1,0\n1,0,3,2,2,7,3,0,1,1,1,1,1,0\n1,0,5,2,0,0,2,0,1,1,1,0,1,1\n1,0,14,0,0,9,2,0,1,1,1,1,1,0\n0,0,3,2,0,9,2,0,1,1,1,0,1,0\n1,0,3,2,1,1,3,4,1,1,1,0,1,0\n0,0,3,2,2,3,1,0,1,1,1,1,1,0\n1,0,1,2,2,1,5,0,1,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n0,5,3,2,2,8,3,4,0,1,1,0,1,0\n1,0,10,3,0,3,2,0,1,1,1,2,1,0\n1,0,1,2,0,10,2,0,1,1,1,1,1,1\n1,2,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,7,1,2,1,1,0,1,1,1,1,1,0\n1,0,14,0,0,1,2,0,1,1,1,0,1,0\n0,4,6,2,2,8,5,0,1,1,1,0,1,0\n0,0,1,2,0,0,2,0,1,1,1,1,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,2,0,0,0,1,1,0,1,0\n0,0,1,2,2,4,3,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,1,1,1,2,1,0\n1,1,3,2,0,2,2,0,1,1,1,1,1,1\n1,0,5,2,0,10,2,0,1,1,1,1,1,1\n1,0,5,2,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,4,0,0,1,1,2,1,0\n0,0,3,2,2,2,1,0,1,1,1,2,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n1,0,3,2,1,2,1,4,0,1,1,0,1,0\n0,0,0,3,2,3,4,4,1,1,1,1,1,0\n0,0,1,2,1,5,3,0,0,1,1,0,1,0\n0,0,0,3,2,5,3,0,1,1,1,1,1,0\n0,0,5,2,2,3,5,4,1,1,1,2,1,0\n1,0,0,3,1,4,3,0,0,1,1,0,1,0\n2,5,3,2,0,8,2,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,1\n1,2,6,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,11,5,2,0,1,1,2,1,0\n2,1,5,2,1,5,5,0,1,1,1,0,1,0\n0,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,0,1,2,1,8,3,0,0,1,1,1,1,0\n0,4,1,2,0,1,2,0,1,1,1,1,1,0\n1,0,7,1,0,10,2,4,1,1,1,0,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n2,0,3,2,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,5,0,1,1,1,0,1,0\n1,0,5,2,0,7,2,0,1,1,1,1,1,0\n2,0,4,3,0,5,2,0,1,1,1,0,1,1\n1,0,5,2,0,0,2,0,1,1,1,0,1,1\n2,4,3,2,4,10,5,0,0,1,1,2,1,0\n1,0,1,2,2,2,1,0,1,1,1,1,1,0\n1,1,3,2,0,1,2,0,1,1,1,1,1,0\n1,2,3,2,0,1,2,0,1,1,1,1,1,1\n0,0,5,2,0,10,2,4,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,1,1,1,1,1,0\n1,0,1,2,1,8,5,0,0,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,2,1,2,1,4,0,1,1,1,0,1,0\n2,0,14,0,1,7,3,0,0,1,1,0,1,0\n0,0,1,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,6,2,0,1,1,1,0,1,1\n1,0,3,2,0,4,2,0,1,1,1,1,1,1\n0,0,11,0,2,4,1,0,1,1,1,2,1,0\n2,0,14,0,1,7,5,0,1,1,1,0,1,0\n0,0,6,2,0,8,0,0,0,1,1,0,1,1\n2,0,3,2,1,2,3,0,1,1,1,2,1,0\n1,2,1,2,0,3,2,0,1,1,1,1,1,1\n2,4,1,2,0,4,0,0,0,1,1,0,1,1\n0,0,7,1,2,6,1,0,1,1,1,1,1,0\n0,0,1,2,0,7,2,4,1,1,1,1,1,0\n2,0,10,3,0,5,2,0,1,1,1,2,1,1\n2,0,3,2,0,10,2,0,1,1,1,2,1,0\n0,0,3,2,2,10,5,0,1,1,1,0,1,0\n0,0,3,2,0,8,0,0,0,1,1,2,1,0\n0,0,2,1,3,2,5,0,0,1,1,2,1,0\n0,0,1,2,2,10,3,4,1,1,1,1,1,0\n1,0,3,2,0,10,2,4,1,1,1,0,1,1\n2,5,5,2,1,5,3,0,0,1,1,0,1,0\n1,0,12,1,2,2,5,0,0,1,1,0,1,0\n0,0,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,4,0,3,0,12,2,1,1,1,1,1,1,0\n2,5,10,3,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,4,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n0,0,3,2,2,6,3,0,0,1,1,2,1,0\n1,0,5,2,0,3,2,0,1,1,1,1,1,0\n1,2,3,2,1,8,3,0,0,1,1,0,1,0\n0,0,0,3,1,8,3,0,0,1,1,1,1,1\n0,0,1,2,2,5,1,0,0,1,1,2,1,0\n0,0,0,3,2,4,4,0,0,1,1,0,1,0\n1,1,1,2,0,2,2,0,1,1,1,2,1,1\n0,0,5,2,2,5,3,0,0,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n1,4,0,3,1,5,1,4,0,1,1,0,1,0\n0,0,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,3,2,0,3,2,0,1,1,1,1,1,1\n1,0,3,2,1,8,5,0,1,1,1,0,1,0\n0,4,0,3,2,4,3,0,1,1,1,0,1,0\n0,0,3,2,2,2,4,0,0,1,1,2,1,0\n1,0,1,2,1,6,3,4,1,1,1,0,1,0\n0,0,1,2,2,6,4,0,1,1,1,0,1,0\n0,0,3,2,1,2,3,0,0,1,1,2,1,0\n1,0,13,3,3,4,3,0,0,1,1,1,1,1\n2,0,3,2,0,5,2,0,1,1,1,0,1,1\n1,0,12,1,2,4,3,0,0,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,1,1,0\n0,0,1,2,2,2,5,4,0,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,5,1,2,1,0,5,4,0,1,1,1,1,0\n1,0,3,2,4,1,3,0,0,1,1,1,1,1\n1,0,1,2,0,6,2,3,1,1,1,0,1,0\n0,0,3,2,2,9,3,0,1,1,1,1,1,0\n2,0,2,1,0,2,2,0,1,1,1,0,1,1\n0,0,14,0,2,6,1,4,0,1,1,0,1,0\n1,0,3,2,1,4,3,0,1,1,1,1,1,0\n0,0,3,2,2,6,3,4,1,1,1,2,1,0\n0,0,9,1,0,10,2,4,1,1,1,1,1,0\n2,4,1,2,4,8,3,0,0,1,1,0,1,0\n0,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,6,2,0,6,2,0,1,1,1,1,1,1\n1,0,3,2,3,7,3,0,0,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n1,0,1,2,1,3,3,0,1,1,1,0,1,0\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n0,0,2,1,2,2,3,0,0,1,1,0,1,0\n0,0,2,1,2,2,1,0,0,1,1,0,1,0\n0,0,0,3,2,4,1,0,0,1,1,0,1,0\n1,0,0,3,2,8,1,1,0,1,1,0,1,0\n1,0,10,3,0,5,2,1,1,1,1,0,1,1\n2,0,2,1,1,7,3,0,0,1,1,0,1,0\n0,0,1,2,2,4,1,0,0,1,1,0,1,0\n0,3,10,3,1,4,3,0,0,1,1,0,1,0\n1,5,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,3,3,5,0,0,1,1,2,1,0\n1,4,3,2,5,12,3,0,1,1,1,1,1,1\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,5,0,3,2,5,1,0,1,1,1,1,1,0\n1,0,1,2,1,7,3,4,1,1,1,0,1,0\n0,1,8,0,1,9,3,0,1,1,1,1,1,0\n1,0,0,3,1,2,1,0,0,1,1,0,1,0\n0,0,6,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,5,2,5,1,3,0,1,1,1,1,1,0\n0,5,10,3,2,5,3,0,1,1,1,0,1,0\n0,4,10,3,2,5,3,0,1,1,1,1,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n0,0,3,2,0,2,2,0,1,1,1,1,1,0\n3,0,3,2,1,6,3,0,0,1,1,2,1,0\n0,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,3,1,2,2,8,3,0,0,1,1,0,1,0\n1,0,2,1,2,1,5,0,1,1,1,0,1,0\n0,0,0,3,2,3,3,0,0,1,1,1,1,0\n1,0,1,2,1,7,3,0,1,1,1,0,1,0\n1,3,0,3,0,8,2,0,1,1,1,0,1,0\n0,0,1,2,2,8,1,0,0,1,1,0,1,0\n0,0,12,1,2,6,1,0,1,1,1,0,1,0\n0,0,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,8,2,0,1,1,1,0,1,1\n1,0,5,2,1,0,3,0,0,1,1,0,1,0\n0,0,3,2,2,4,3,0,1,1,1,1,1,0\n0,0,2,1,3,1,1,4,1,1,1,0,1,0\n0,0,9,1,2,2,1,0,1,1,1,2,1,0\n3,0,1,2,0,5,2,0,1,1,1,2,1,0\n1,0,1,2,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,2,2,3,0,0,1,1,2,1,0\n0,0,10,3,2,8,1,0,1,1,1,2,1,0\n0,4,5,2,0,2,2,0,1,1,1,1,1,0\n0,0,1,2,2,8,5,0,0,1,1,1,1,0\n0,0,3,2,2,1,1,0,1,1,1,2,1,0\n1,0,9,1,0,10,2,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,1,4,3,0,5,2,0,1,1,1,2,1,1\n1,3,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,7,5,0,1,1,1,0,1,0\n0,0,3,2,2,1,4,0,1,1,1,0,1,0\n2,1,1,2,0,9,2,0,1,1,1,0,1,0\n2,0,3,2,1,8,5,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,9,1,2,1,1,0,1,1,1,2,1,0\n1,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,7,1,0,7,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,0,4,0,1,1,0,1,0\n1,2,1,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,1,0,1,1,2,1,0\n3,0,3,2,4,11,3,0,0,1,1,0,1,0\n0,0,14,0,0,9,2,0,1,1,1,1,1,0\n1,0,1,2,3,8,5,0,0,1,1,0,1,0\n1,0,3,2,0,6,2,4,1,1,1,0,1,1\n0,0,3,2,2,3,5,0,0,1,1,2,1,0\n1,0,1,2,2,0,5,0,0,1,1,1,1,1\n0,0,2,1,1,2,5,0,0,1,1,2,1,0\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n1,0,10,3,4,4,5,0,1,1,1,0,1,1\n1,0,8,0,0,6,2,0,1,1,1,0,1,0\n1,5,3,2,4,2,3,0,0,1,1,2,1,0\n0,4,0,3,2,4,3,0,0,1,1,1,1,0\n1,0,8,0,0,1,2,0,1,1,1,0,1,0\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n1,1,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,1,2,1,2,5,0,0,1,1,1,1,0\n1,5,1,2,0,12,2,0,1,1,1,0,1,1\n0,4,0,3,3,5,3,0,1,1,1,0,1,0\n1,0,3,2,4,7,3,4,0,1,1,0,1,0\n0,0,0,3,0,4,2,0,1,1,1,0,1,1\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,1,2,1,1,5,0,1,1,1,2,1,0\n0,0,3,2,2,12,1,4,0,1,1,2,1,0\n0,4,3,2,2,8,3,4,0,1,1,0,1,0\n0,0,1,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,1,0,1,1,1,0,1,0\n3,0,3,2,4,6,3,0,1,1,1,2,1,0\n2,0,15,0,3,10,3,4,1,1,1,0,1,1\n1,1,0,3,3,2,5,0,0,1,1,1,1,0\n0,0,3,2,2,8,1,0,1,1,1,2,1,0\n0,0,12,1,2,1,3,0,1,1,1,0,1,0\n1,5,3,2,0,6,2,0,1,1,1,0,1,0\n2,0,3,2,0,8,0,0,0,1,1,0,1,0\n1,3,9,1,0,12,2,0,1,1,1,1,1,1\n0,0,6,2,0,0,2,3,1,1,1,0,1,0\n0,0,3,2,2,1,3,4,1,1,1,0,1,0\n1,0,3,2,0,3,2,0,1,1,1,0,1,1\n0,0,1,2,2,6,1,0,1,1,1,2,1,0\n2,4,1,2,1,8,3,0,0,1,1,2,1,0\n0,0,1,2,1,8,3,0,0,1,1,1,1,0\n2,0,3,2,0,2,2,0,1,1,1,2,1,0\n1,0,3,2,0,6,2,4,1,1,1,0,1,0\n0,0,6,2,0,8,2,0,1,1,1,1,1,1\n0,0,6,2,0,7,2,0,1,1,1,0,1,0\n0,0,1,2,1,1,3,0,1,1,1,0,1,0\n1,0,0,3,2,10,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,3,0,0,1,1,0,1,0\n0,0,1,2,0,4,2,1,1,1,1,1,1,0\n1,0,12,1,0,6,2,0,1,1,1,0,1,1\n0,0,3,2,2,8,5,2,0,1,1,0,1,0\n1,3,1,2,0,5,2,0,1,1,1,0,1,1\n0,0,6,2,2,7,3,0,1,1,1,1,1,0\n0,0,1,2,0,8,4,0,0,1,1,2,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,0,3,2,1,3,3,0,0,1,1,2,1,0\n0,0,0,3,2,5,1,0,1,1,1,1,1,0\n1,0,1,2,0,3,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,0,1,0\n1,3,1,2,2,1,3,4,1,1,1,0,1,0\n1,1,4,3,0,5,2,0,1,1,1,1,1,1\n2,0,2,1,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,2,6,4,3,1,1,1,2,1,0\n3,1,8,0,5,9,5,0,1,1,1,2,1,0\n2,0,3,2,1,8,3,0,0,1,1,0,1,0\n1,0,1,2,4,2,5,0,0,1,1,2,1,0\n0,0,6,2,2,3,1,0,1,1,1,1,1,0\n0,0,6,2,0,1,2,0,1,1,1,1,1,1\n1,4,10,3,0,5,2,0,1,1,1,0,1,1\n0,0,1,2,2,3,4,0,1,1,1,0,1,0\n1,0,1,2,3,2,5,2,0,1,1,2,1,0\n2,0,2,1,0,6,2,0,1,1,1,0,1,0\n1,1,1,2,0,1,2,0,1,1,1,0,1,0\n0,1,3,2,2,3,3,0,1,1,1,1,1,0\n0,0,0,3,1,5,5,0,0,1,1,1,1,0\n0,4,3,2,0,1,2,0,1,1,1,0,1,0\n2,0,3,2,0,2,4,0,1,1,1,0,1,0\n1,0,9,1,2,6,1,0,1,1,1,0,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n2,1,10,3,0,5,2,0,1,1,1,2,1,1\n0,0,3,2,2,3,3,0,0,1,1,2,1,0\n2,2,10,3,1,5,5,0,1,1,1,1,1,0\n0,0,9,1,2,2,1,0,0,1,1,2,1,0\n1,0,3,2,1,8,5,4,0,1,1,0,1,0\n0,0,1,2,2,8,1,0,1,1,1,0,1,0\n1,0,12,1,0,7,2,0,1,1,1,0,1,0\n1,0,13,3,0,5,2,0,1,1,1,1,1,1\n2,1,12,1,0,4,2,0,1,1,1,2,1,0\n1,0,0,3,2,5,3,0,1,1,1,1,1,1\n0,0,0,3,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,2,1,3,0,1,1,1,0,1,0\n2,1,8,0,0,2,2,0,1,1,1,2,1,0\n1,0,1,2,0,8,2,0,1,1,1,1,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,8,1,0,0,1,1,0,1,0\n0,0,7,1,2,2,3,0,1,1,1,1,1,0\n1,4,0,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,3,2,4,1,1,1,1,1,0\n0,0,12,1,2,2,1,0,1,1,1,2,1,0\n1,5,3,2,0,12,2,2,1,1,1,1,1,0\n2,0,3,2,4,11,5,4,0,1,1,2,1,0\n1,0,0,3,3,9,5,0,0,1,1,1,1,0\n0,0,3,2,2,8,3,0,0,1,1,1,1,0\n0,0,0,3,1,0,3,0,0,1,1,0,1,0\n0,0,3,2,0,2,2,1,1,1,1,2,1,0\n0,0,3,2,0,0,2,0,1,1,1,0,1,0\n2,0,6,2,4,0,5,0,0,1,1,2,1,0\n2,1,4,3,0,5,2,0,1,1,1,2,1,1\n0,0,7,1,0,2,4,0,0,1,1,2,1,0\n0,4,6,2,1,8,1,0,0,1,1,0,1,0\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n1,1,2,1,0,2,2,0,1,1,1,0,1,0\n0,4,3,2,5,7,5,0,0,1,1,1,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,0\n0,0,2,1,2,3,1,0,0,1,1,2,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n1,1,0,3,0,3,2,0,1,1,1,0,1,1\n2,0,1,2,1,4,5,0,1,1,1,1,1,0\n0,2,0,3,2,6,1,0,1,1,1,0,1,0\n1,1,3,2,0,3,2,1,1,1,1,1,1,0\n1,0,1,2,0,8,2,0,1,1,1,0,1,1\n1,2,0,3,0,0,2,0,1,1,1,1,1,1\n1,0,5,2,2,5,3,0,0,1,1,2,1,0\n2,2,4,3,0,4,2,0,1,1,1,1,1,1\n2,2,3,2,0,4,2,0,1,1,1,0,1,1\n1,0,12,1,3,6,5,4,1,1,1,0,1,0\n0,0,2,1,0,2,2,0,1,1,1,0,1,0\n2,0,3,2,1,10,3,0,1,1,1,0,1,1\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,8,0,0,1,2,0,1,1,1,1,1,0\n0,0,0,3,2,5,3,0,0,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,8,0,0,9,1,0,0,1,1,1,1,0\n1,3,1,2,0,8,2,0,1,1,1,0,1,0\n1,0,1,2,0,2,2,0,1,1,1,0,1,1\n0,0,2,1,2,3,3,2,1,1,1,0,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,0,10,3,0,4,2,0,1,1,1,1,1,1\n2,0,13,3,4,0,5,0,1,1,1,0,1,1\n2,0,8,0,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,0,2,2,0,1,1,1,0,1,0\n2,0,1,2,4,2,5,4,0,1,1,2,1,0\n1,3,1,2,0,1,2,0,1,1,1,0,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,10,3,2,3,1,0,0,1,1,1,1,0\n2,0,3,2,1,3,4,0,0,1,1,2,1,0\n0,5,1,2,3,5,3,0,0,1,1,2,1,0\n0,0,3,2,2,2,4,4,0,1,1,2,1,0\n1,0,6,2,1,4,3,0,1,1,1,1,1,0\n1,0,1,2,1,8,3,0,0,1,1,0,1,0\n1,1,6,2,3,4,5,0,0,1,1,0,1,0\n0,0,2,1,0,1,2,0,1,1,1,0,1,1\n0,0,0,3,2,5,3,1,1,1,1,1,1,0\n1,0,1,2,0,1,2,4,1,1,1,0,1,1\n1,5,0,3,0,8,2,0,1,1,1,1,1,0\n0,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,0,3,2,4,3,4,0,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,0\n1,0,1,2,1,1,3,0,1,1,1,1,1,0\n0,0,1,2,2,8,1,0,0,1,1,2,1,0\n3,0,1,2,1,5,5,0,0,1,1,2,1,0\n1,0,0,3,2,3,3,0,1,1,1,0,1,1\n1,4,10,3,2,5,3,0,0,1,1,1,1,0\n0,4,1,2,2,1,1,0,1,1,1,0,1,0\n0,5,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,3,2,0,2,2,0,1,1,1,0,1,0\n1,0,6,2,2,4,3,0,1,1,1,2,1,0\n1,1,1,2,2,5,3,4,0,1,1,1,1,1\n0,0,0,3,2,5,3,0,1,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,1\n0,5,3,2,2,8,1,4,0,1,1,2,1,0\n0,0,12,1,0,10,2,0,1,1,1,1,1,0\n0,0,0,3,2,4,3,0,0,1,1,1,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,1,2,2,3,1,0,0,1,1,2,1,0\n2,4,3,2,1,4,5,2,1,1,1,2,1,0\n1,0,6,2,1,5,5,0,0,1,1,2,1,0\n0,0,0,3,2,0,1,0,1,1,1,0,1,0\n1,0,6,2,3,8,3,0,0,1,1,0,1,0\n1,0,3,2,0,1,2,0,1,1,1,1,1,0\n0,0,3,2,0,9,2,0,1,1,1,1,1,0\n1,0,0,3,1,5,3,0,0,1,1,2,1,0\n0,1,0,3,0,3,2,0,1,1,1,0,1,0\n0,0,3,2,2,4,3,0,1,1,1,1,1,0\n0,0,2,1,2,1,1,0,1,1,1,2,1,0\n1,0,1,2,2,4,3,0,0,1,1,0,1,0\n1,4,10,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,2,3,4,1,1,1,0,1,0\n0,0,1,2,2,8,5,4,0,1,1,0,1,0\n1,5,3,2,0,9,4,0,1,1,1,0,1,0\n0,2,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,5,2,0,1,2,0,1,1,1,0,1,1\n2,5,12,1,4,2,3,0,0,1,1,2,1,0\n1,3,10,3,0,2,2,4,1,1,1,0,1,0\n1,0,1,2,1,4,3,0,0,1,1,0,1,0\n0,0,9,1,0,6,2,0,1,1,1,0,1,0\n0,0,3,2,0,7,0,0,0,1,1,0,1,0\n0,4,0,3,2,5,1,0,0,1,1,1,1,0\n2,0,6,2,0,7,2,0,1,1,1,0,1,0\n3,4,3,2,0,3,2,0,1,1,1,2,1,0\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n1,0,3,2,0,7,0,0,0,1,1,0,1,0\n1,0,3,2,2,8,3,0,1,1,1,0,1,0\n1,4,3,2,0,4,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n1,0,6,2,0,5,2,0,1,1,1,0,1,0\n2,0,0,3,1,4,5,0,1,1,1,1,1,1\n1,0,1,2,0,5,0,0,0,1,1,2,1,1\n1,0,3,2,0,1,2,0,1,1,1,1,1,1\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n1,2,0,3,0,4,2,0,1,1,1,1,1,0\n0,0,3,2,2,8,4,0,0,1,1,0,1,0\n1,0,3,2,0,10,2,0,1,1,1,0,1,1\n1,0,0,3,0,3,2,0,1,1,1,1,1,1\n2,2,6,2,0,4,2,0,1,1,1,1,1,0\n0,0,1,2,0,5,2,0,1,1,1,0,1,0\n1,0,0,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,1,7,3,0,0,1,1,0,1,0\n0,0,3,2,3,1,3,0,1,1,1,1,1,0\n0,0,3,2,0,8,2,0,1,1,1,0,1,0\n0,0,0,3,2,4,4,0,0,1,1,0,1,0\n1,0,9,1,4,6,3,1,1,1,1,0,1,0\n1,0,0,3,2,4,3,0,0,1,1,0,1,0\n0,0,0,3,0,3,0,0,0,1,1,1,1,0\n0,0,0,3,2,3,3,0,0,1,1,0,1,0\n2,4,13,3,0,12,2,0,1,1,1,1,1,1\n2,4,4,3,0,5,2,0,1,1,1,0,1,1\n1,0,12,1,1,3,5,0,0,1,1,2,1,0\n0,0,1,2,2,5,3,0,1,1,1,2,1,0\n0,0,3,2,0,10,2,0,1,1,1,1,1,0\n1,0,10,3,2,4,1,0,1,1,1,0,1,1\n0,0,10,3,0,8,0,0,0,1,1,2,1,1\n0,0,5,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,0,3,2,0,1,1,1,1,1,0\n1,0,3,2,0,8,1,0,0,1,1,2,1,0\n2,5,0,3,0,5,2,0,1,1,1,0,1,1\n0,0,0,3,0,3,2,0,1,1,1,1,1,1\n0,0,3,2,1,1,3,0,1,1,1,0,1,0\n2,0,12,1,1,2,5,0,0,1,1,1,1,0\n1,0,0,3,2,5,3,0,0,1,1,1,1,0\n0,0,1,2,2,3,3,0,1,1,1,2,1,0\n1,0,4,3,0,5,2,1,1,1,1,2,1,0\n0,0,3,2,0,3,2,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,4,1,1,1,0,1,0\n0,0,3,2,1,8,5,0,0,1,1,0,1,0\n0,0,3,2,0,7,2,0,1,1,1,0,1,1\n0,0,3,2,0,5,2,0,1,1,1,2,1,0\n0,1,1,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,3,3,0,1,1,1,0,1,0\n2,1,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,3,0,0,1,1,0,1,0\n2,1,1,2,0,1,2,0,1,1,1,2,1,0\n1,1,10,3,0,3,2,0,1,1,1,1,1,0\n0,0,0,3,2,3,3,0,1,1,1,1,1,0\n0,4,5,2,1,4,3,1,0,1,1,0,1,0\n2,0,6,2,1,2,4,1,0,1,1,0,1,0\n2,0,8,0,0,10,2,0,1,1,1,1,1,1\n1,5,3,2,0,12,2,2,1,1,1,0,1,0\n0,0,1,2,2,2,4,0,0,1,1,0,1,0\n0,0,3,2,0,0,0,1,0,1,1,1,1,1\n0,0,3,2,2,8,5,4,0,1,1,0,1,0\n1,4,0,3,1,5,5,0,0,1,1,1,1,0\n0,0,1,2,1,8,4,0,0,1,1,2,1,0\n1,0,3,2,2,1,1,4,1,1,1,0,1,0\n1,0,3,2,1,1,5,0,0,1,1,0,1,0\n1,0,1,2,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,4,1,1,0,1,1,2,1,0\n0,0,2,1,0,1,2,0,1,1,1,1,1,0\n0,2,3,2,1,3,5,0,1,1,1,1,1,1\n0,0,0,3,2,6,3,0,1,1,1,2,1,0\n2,1,3,2,0,3,2,0,1,1,1,2,1,0\n2,0,8,0,0,10,2,0,1,1,1,1,1,0\n0,0,3,2,2,2,1,0,0,1,1,2,1,0\n0,0,3,2,3,2,3,0,0,1,1,2,1,0\n1,1,0,3,1,1,3,0,1,1,1,2,1,1\n1,0,3,2,0,5,0,0,0,1,1,0,1,1\n2,1,4,3,0,5,2,0,1,1,1,2,1,0\n0,0,3,2,2,6,3,0,1,1,1,0,1,0\n0,4,1,2,0,10,2,4,1,1,1,0,1,1\n0,0,3,2,0,1,2,0,1,1,1,1,1,0\n1,0,8,0,0,10,2,0,1,1,1,0,1,0\n0,3,3,2,0,1,0,0,0,1,1,0,1,1\n1,0,3,2,0,10,2,4,1,1,1,1,1,0\n0,4,3,2,0,12,2,4,1,1,1,0,1,0\n0,0,1,2,1,2,3,0,0,1,1,2,1,0\n0,0,0,3,2,5,3,1,1,1,1,1,1,0\n2,0,9,1,0,1,2,0,1,1,1,0,1,0\n0,0,4,3,0,5,2,0,1,1,1,1,1,1\n0,0,3,2,2,6,1,0,0,1,1,2,1,0\n2,0,1,2,0,5,2,0,1,1,1,1,1,1\n1,0,0,3,1,0,3,0,1,1,1,0,1,0\n1,3,10,3,2,8,3,0,1,1,1,1,1,0\n1,0,6,2,0,8,2,0,1,1,1,1,1,0\n0,0,6,2,0,3,2,0,1,1,1,1,1,1\n1,1,0,3,0,3,2,0,1,1,1,0,1,1\n0,0,7,1,2,1,1,0,1,1,1,2,1,0\n0,0,2,1,3,1,3,0,1,1,1,0,1,0\n0,0,3,2,1,7,3,4,1,1,1,0,1,0\n0,0,3,2,2,7,3,0,1,1,1,0,1,0\n1,2,3,2,0,4,2,0,1,1,1,0,1,1\n2,0,6,2,0,5,2,0,1,1,1,0,1,1\n1,0,0,3,2,0,3,0,0,1,1,0,1,0\n1,0,10,3,0,5,2,0,1,1,1,1,1,1\n1,4,10,3,0,4,2,0,1,1,1,1,1,1\n0,0,3,2,2,7,1,0,1,1,1,0,1,0\n3,2,1,2,1,4,3,0,0,1,1,0,1,0\n0,0,1,2,0,12,2,0,1,1,1,0,1,0\n2,0,3,2,4,3,4,0,0,1,1,2,1,0\n0,0,1,2,2,3,3,0,0,1,1,1,1,0\n1,0,4,3,0,5,2,0,1,1,1,1,1,1\n1,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,1,2,2,1,1,0,1,1,1,0,1,0\n2,1,3,2,4,9,3,0,1,1,1,2,1,0\n2,0,3,2,3,11,3,0,0,1,1,2,1,0\n1,0,6,2,2,8,5,4,0,1,1,0,1,0\n2,0,5,2,1,5,3,0,1,1,1,2,1,0\n0,0,3,2,0,6,2,0,1,1,1,0,1,0\n1,0,3,2,0,8,2,0,1,1,1,0,1,0\n2,0,3,2,0,3,2,0,1,1,1,1,1,0\n0,0,3,2,0,1,2,0,1,1,1,0,1,0\n0,0,3,2,2,2,1,0,0,1,1,0,1,0\n1,4,10,3,1,2,3,0,1,1,1,0,1,0\n0,0,0,3,2,5,1,0,1,1,1,0,1,0\n1,0,0,3,1,5,3,0,0,1,1,2,1,0\n1,0,0,3,0,5,2,0,1,1,1,1,1,0\n1,0,0,3,1,8,1,1,1,1,1,0,1,0\n0,2,0,3,0,4,2,0,1,1,1,1,1,1\n"
  },
  {
    "path": "NLP/AutoTitle_F/configs/make_vocab.yaml",
    "content": "makevocab: True\nmax_lines: 0\ntrain_path: '../data/preprocessed/train_set_last1_all.csv'\nval_path: '../data/preprocessed/val_set_last1_1000.csv'\ntest_path: '../data/preprocessed/test_set_last1_1000.csv'\nvocab_path: '../data/preprocessed/vocab_200000'\nvocab_max_size: 200000\nvocab_min_freq: 5\ntruncated: False\nrand_state: 443\n\n\n"
  },
  {
    "path": "NLP/AutoTitle_F/configs/predict.yaml",
    "content": "seed: 1445\ncheckpoint_restore: './data/logs/best_rouge_l_checkpoint.pt'\nvalidation_test_path: './data/results/test.data'\n#validation_test_path: './data/results/validation.data'\nvocab_path: './data/preprocessed/dataset_50k_600/vocab_50000'\nbeam_size: 5\nshuffle: False\nnum_workers: 1\ngpus: [0]\npointer_gen: True\nis_coverage: False\nis_semantic_similary: False\nmodel: 'seq2seq'\noptim: 'AdagradCustom'\nuse_cuda: True\ntrunc_norm_init_std: 0.0001\nrand_unif_init_mag: 0.02\nuse_maxpool_init_ctx: False\neps: 0.000000000001\ncov_loss_wt: 1.0\nshare_vocab: True\nemb_dim: 300\nhidden_dim: 256\nencoder_num_layers: 1\ndropout: 0.5\nencoder_bidirec: True\ndecoder_num_layers: 1\ndecoder_hidden_size: 512\nglobal_emb: False\nmax_dec_steps: 14\nmin_dec_steps: 5\n"
  },
  {
    "path": "NLP/AutoTitle_F/configs/process.yaml",
    "content": "test: False\naug: False\nmax_enc_steps: 200\nmax_dec_steps: 20\npointer_gen: True\ncoverage: False\ntrain_path: '../data/preprocessed/train_set_last_all.csv'\nval_path: '../data/preprocessed/val_set_last_1000.csv'\ntest_path: '../data/preprocessed/test_set_last_1000.csv'\nvocab_path: '../data/preprocessed/vocab_200000'\npre_word_embedding_path: '../data/embedding/GoogleNews-vectors-negative300.bin'\nsave: True\nmax_size: 50004\ntrain_data_path: '../data/preprocessed/dataset_50k_200/train.data'\nval_data_path: '../data/preprocessed/dataset_50k_200/val.data'\ntest_data_path: '../data/preprocessed/dataset_50k_200/test.data'\nvocab_path_50: '../data/preprocessed/dataset_50k_200/vocab_50000'\n"
  },
  {
    "path": "NLP/AutoTitle_F/configs/train_model.yaml",
    "content": "seed: 1314\ngpus: [0]\ncheckpoint_restore: './data/logs/2018-12-06-01-53/95000.checkpoint.pt'\nlog: './data/logs/'\nvocab_path: './data/preprocessed/dataset_50k_600/vocab_50000'\ntrain_ds_path: './data/preprocessed/dataset_50k_600/train.data'\nval_ds_path: './data/preprocessed/dataset_50k_600/val.data'\ntest_ds_path: './data/preprocessed/dataset_50k_600/test.data'\nbatch_size: 32\nshuffle: False\nnum_workers: 2\npointer_gen: True\nis_coverage: False\nis_semantic_similary: False\nmodel: 'seq2seq'\noptim: 'AdagradCustom'\nscore_fn: ''\nepoch: 35\nuse_cuda: True\ntrunc_norm_init_std: 0.0001\nrand_unif_init_mag: 0.02\nuse_maxpool_init_ctx: False\neps: 0.000000000001\ncov_loss_wt: 1.0\nsimil_wt: 0.0001\nlearning_rate: 0.15\nadagrad_init_acc: 0.1\nmax_grad_norm: 2.0\n#learning_rate_decay: 0.95\n#start_decay_at: 5\nschedule: False\nshare_vocab: True\nemb_dim: 300\nhidden_dim: 256\nencoder_num_layers: 2\ndropout: 0.5\nencoder_bidirec: True\ndecoder_num_layers: 1\ndecoder_hidden_size: 512\nglobal_emb: False\nmax_tgt_len: 20\nmetrics: ['bleu_1', 'bleu_2', 'rouge_l', 'cider']\neval_interval: 1000\nsave_interval: 1500\nprint_interval: 10\nbeam_size: 5\nmax_dec_steps: 20\nmin_dec_steps: 5\n\n"
  },
  {
    "path": "NLP/AutoTitle_F/data/__init__.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/10/27 上午11:09\n# @Author : ComeOnJian \n# @File : __init__.py.py \n\nfrom data.batcher import *\nfrom data.data import *"
  },
  {
    "path": "NLP/AutoTitle_F/data/batcher.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/10/24 下午4:52\n# @Author : ComeOnJian\n# @File : batcher.py\n\nimport data\nimport sys\nsys.path.append('../')\nimport util\nimport numpy as np\nimport pandas as pd\nfrom tqdm import tqdm\nimport random\n\nimport torch\nimport torch.utils.data as torch_data\nfrom torch.autograd import Variable\n\nclass Example(object):\n\n    def __init__(self, article, abstract_sentence, vocab, config):\n        # Get ids of special tokens\n        start_decoding = vocab.word2id(data.BOS_WORD)\n        stop_decoding = vocab.word2id(data.EOS_WORD)\n\n        # Process the article\n        # if article == 'nan':\n        #     article_words = ['']\n        # else:\n        article_words = article.split()\n        if len(article_words) > config.max_enc_steps:\n            article_words = article_words[:config.max_enc_steps]\n        self.enc_len = len(article_words) # store the length after truncation but before padding\n        self.enc_input = [vocab.word2id(w) for w in article_words] # list of word ids; OOVs are represented by the id for UNK token\n\n        # Process the abstract\n        abstract_words = abstract_sentence.split() # list of strings\n        abs_ids = [vocab.word2id(w) for w in abstract_words] # list of word ids; OOVs are represented by the id for UNK token\n\n        # Get the decoder input sequence and target sequence\n        self.dec_input, self.target = self.get_dec_inp_seqs(abs_ids, config.max_dec_steps, start_decoding, stop_decoding)\n\n        # If using pointer-generator mode, we need to store some extra info\n        if config.pointer_gen:\n            # Store a version of the enc_input where in-article OOVs are represented by their temporary OOV id; also store the in-article OOVs words themselves\n            self.enc_input_extend_vocab, self.article_oovs = data.article2ids(article_words, vocab)\n\n            # Get a verison of the reference summary where in-article OOVs are represented by their temporary article OOV id\n            abs_ids_extend_vocab = data.abstract2ids(abstract_words, vocab, self.article_oovs)\n\n            # Overwrite decoder target sequence so it uses the temp article OOV ids\n            _, self.target = self.get_dec_inp_seqs(abs_ids_extend_vocab, config.max_dec_steps, start_decoding, stop_decoding)\n\n        # Store the original strings\n        # self.original_article = article\n        self.original_abstract = abstract_sentence\n\n    def get_dec_inp_seqs(self, sequence, max_len, start_id, stop_id):\n        dec_input = [start_id] + sequence[:]\n        target = sequence[:]\n        if len(dec_input)>max_len:\n            dec_input = dec_input[:max_len]\n            target = target[:max_len]\n        else:\n            target.append(stop_id)\n        return dec_input, target\n\n    def pad_decoder_inp(self, max_len, pad_id):\n        while len(self.dec_input) < max_len:\n            self.dec_input.append(pad_id)\n        while len(self.target) < max_len:\n            self.target.append(pad_id)\n\n    def pad_encoder_input(self, max_len, pad_id, pointer_gen=True):\n        while len(self.enc_input) < max_len:\n            self.enc_input.append(pad_id)\n        if pointer_gen:\n            while len(self.enc_input_extend_vocab) < max_len:\n                self.enc_input_extend_vocab.append(pad_id)\n\nclass Batch(object):\n    def __init__(self, example_list, batch_size):\n        self.batch_size = batch_size\n        self.pad_id = data.PAD  # id of the PAD token used to pad sequences\n        # 根据example_list的enc_len长度进行降序排列\n        example_list.sort(key=lambda ex: ex.enc_len, reverse=True)\n        self.init_encoder_seq(example_list) # initialize the input to the encoder\n        self.init_decoder_seq(example_list) # initialize the input and targets for the decoder\n        self.store_orig_strings(example_list) # store the original strings\n\n    def init_encoder_seq(self, example_list ,pointer_gen = True):\n        # Determine the maximum length of the encoder input sequence in this batch\n        max_enc_seq_len = max([ex.enc_len for ex in example_list])\n        # Pad the encoder input sequences up to the length of the longest sequence\n        for ex in example_list:\n            ex.pad_encoder_input(max_enc_seq_len, self.pad_id)\n\n        # Initialize the numpy arrays\n        # Note: our enc_batch can have different length (second dimension) for each batch because we use dynamic_rnn for the encoder.\n        self.enc_batch = np.zeros((self.batch_size, max_enc_seq_len), dtype=np.int32)\n        self.enc_lens = np.zeros((self.batch_size), dtype=np.int32)\n        self.enc_padding_mask = np.zeros((self.batch_size, max_enc_seq_len), dtype=np.float32)\n\n        # Fill in the numpy arrays\n        for i, ex in enumerate(example_list):\n            self.enc_batch[i, :] = ex.enc_input[:]\n            self.enc_lens[i] = ex.enc_len\n            for j in range(ex.enc_len):\n                self.enc_padding_mask[i][j] = 1\n        # For pointer-generator mode, need to store some extra info\n\n        if pointer_gen:\n            # Determine the max number of in-article OOVs in this batch\n            self.max_art_oovs = max([len(ex.article_oovs) for ex in example_list])\n            # Store the in-article OOVs themselves\n            self.art_oovs = [ex.article_oovs for ex in example_list]\n            # Store the version of the enc_batch that uses the article OOV ids\n            self.enc_batch_extend_vocab = np.zeros((self.batch_size, max_enc_seq_len), dtype=np.int32)\n            for i, ex in enumerate(example_list):\n                self.enc_batch_extend_vocab[i, :] = ex.enc_input_extend_vocab[:]\n\n    def init_decoder_seq(self, example_list):\n        max_dec_seq_len = max([len(ex.dec_input) for ex in example_list])\n\n        # Pad the inputs and targets\n        for ex in example_list:\n            ex.pad_decoder_inp(max_dec_seq_len, self.pad_id)\n\n        # Initialize the numpy arrays.\n        self.dec_batch = np.zeros((self.batch_size, max_dec_seq_len), dtype=np.int32)\n        self.target_batch = np.zeros((self.batch_size, max_dec_seq_len), dtype=np.int32)\n\n        # Fill in the numpy arrays\n        for i, ex in enumerate(example_list):\n            self.dec_batch[i, :] = ex.dec_input[:]\n            self.target_batch[i, :] = ex.target[:]\n\n    def store_orig_strings(self, example_list):\n        # self.original_articles = [ex.original_article for ex in example_list] # list of lists\n        self.original_abstracts = [ex.original_abstract for ex in example_list] # list of lists\n\n################### construct model input ###################\n\nclass DocDataset(torch_data.Dataset):\n\n    def __init__(self, path, vocab, config):\n        df_data = pd.read_csv(path, sep='\\t', header=None)\n        if config.test:\n            df_data.columns = ['id', 'content']\n        else:\n            df_data.columns = ['id', 'content', 'title']\n        print(df_data.shape)\n        self.samples = []\n        for source, target, i in tqdm(zip(df_data['content'], df_data['title'], df_data['id'])):\n            if config.aug:\n                # 数据增强\n                rate = random.random()\n                if rate > 0.5:\n                    source = self.drpout(source)\n                else:\n                    source = self.shuffle(source)\n            try:\n                self.samples.append(Example(str(source), target, vocab, config))\n            except Exception:\n                print('setence id: {} has problem,--{}'.format(i, target))\n                continue\n\n    def __getitem__(self, index):\n        return self.samples[index]\n\n    def __len__(self):\n        return len(self.samples)\n\n    def drpout(self,text, p = 0.5):\n        # random delete some text\n        text = text.strip().split()\n        len_ = len(text)\n        indexs = np.random.choice(len_, int(len_*p))\n        for i in indexs:\n            text[i] = ''\n        return \" \".join(text)\n\n    def shuffle(self, text):\n        text = np.random.permutation(text.strip().split())\n        return ' '.join(text)\n\ndef padding(example_list):\n    batch_size = len(example_list)\n    # <s> + </s> + 20 = 22\n    # decoder模式下:\n    batch = Batch(example_list, batch_size)\n    return batch\n\ndef get_loader(dataset, batch_size, shuffle, num_workers, mode='train'):\n    if mode =='beam_decoder':\n        # 每个样本重复batch_size次\n        samples = []\n        for i in range(len(dataset)):\n            for j in range(batch_size):\n                samples.append(dataset[i])\n        dataset.samples = samples\n    data_loader = torch.utils.data.DataLoader(dataset=dataset,\n                                              batch_size=batch_size,\n                                              shuffle=shuffle,\n                                              num_workers=num_workers,\n                                              collate_fn=padding)\n    return data_loader\n\ndef get_input_from_batch(batch, use_cuda, use_point_gen = True, use_coverage = False, trian = True, test=False):\n    ##################### encoder ######################\n    batch_size = batch.batch_size\n    source = Variable(torch.from_numpy(batch.enc_batch).long(),volatile=not trian)\n    source_padding_mask = Variable(torch.from_numpy(batch.enc_padding_mask).float(),volatile=not trian)\n    source_lengths = torch.from_numpy(batch.enc_lens) # numpy array\n    extra_zeros = None\n    source_batch_extend_vocab = None\n\n    if use_point_gen:\n        source_batch_extend_vocab = Variable(torch.from_numpy(batch.enc_batch_extend_vocab).long(),volatile=not trian)\n        if batch.max_art_oovs>0:\n            extra_zeros = Variable(torch.zeros((batch_size, batch.max_art_oovs)),volatile=not trian)\n    coverage = None\n    if use_coverage:\n        coverage = Variable(torch.zeros(source.size()))\n\n    if use_cuda:\n        source = source.cuda()\n        source_padding_mask = source_padding_mask.cuda()\n        if source_batch_extend_vocab is not None:\n            source_batch_extend_vocab = source_batch_extend_vocab.cuda()\n        if extra_zeros is not None:\n            extra_zeros = extra_zeros.cuda()\n\n        if coverage is not None:\n            coverage = coverage.cuda()\n    if test:\n        return source, source_padding_mask, source_lengths, source_batch_extend_vocab, extra_zeros, coverage\n    ##################### decoder ######################\n    encoder_inputs = Variable(torch.from_numpy(batch.dec_batch).long(), volatile=not trian)  # 有<s> pad ,oov没有word_id,为unk\n    target = Variable(torch.from_numpy(batch.target_batch).long(), volatile=not trian)  # 有</s> pad，oov有word_id\n    target_raw = batch.original_abstracts  # list\n    if use_cuda:\n        target = target.cuda()\n        encoder_inputs = encoder_inputs.cuda()\n    return source, source_padding_mask, source_lengths, source_batch_extend_vocab, extra_zeros, coverage, \\\n           encoder_inputs, target, target_raw\n\ndef get_temp_vocab(config):\n    from collections import Counter\n    df_data1 = pd.read_csv(config.train_path, sep='\\t', header=None)\n    df_data1.columns = ['id', 'content', 'title']\n    df_data2 = pd.read_csv(config.val_path, sep='\\t', header=None)\n    df_data2.columns = ['id', 'content', 'title']\n    df_data3 = pd.read_csv(config.test_path, sep='\\t', header=None)\n    df_data3.columns = ['id', 'content', 'title']\n    df_all = pd.concat([df_data1, df_data2, df_data3], ignore_index=True)\n\n    print(df_all.shape)\n    print('finish read...')\n    vocab_counter = Counter()\n    for index, row in df_all.iterrows():\n        title_words = str(row['title']).lower().split()\n        content_words = str(row['content']).lower().split()\n        vocab_counter.update(title_words)\n        vocab_counter.update(content_words)\n        df_all.at[index, 'title'] = \" \".join(title_words)\n        df_all.at[index, 'content'] = \" \".join(content_words)\n    print(\"Writing vocab file...\")\n    with open(config.vocab_path, 'w') as writer:\n        for word, count in vocab_counter.most_common(200000):\n            writer.write(word + ' ' + str(count) + '\\n')\n    print(\"Finished writing vocab file\")\n    df_all[:-2000].to_csv('../data/preprocessed/train_set_last_all.csv', sep='\\t', header=None, index=None, encoding='utf-8')\n    df_all[-2000:-1000].to_csv('../data/preprocessed/val_set_last_1000.csv', sep='\\t', header=None, index=None, encoding='utf-8')\n    df_all[-1000:].to_csv('../data/preprocessed/test_set_last_1000.csv', sep='\\t', header=None, index=None, encoding='utf-8')\n\ndef build_vaildation_set():\n    class Config:\n        pass\n    config = Config()\n    setattr(config,'test', False)\n    setattr(config,'aug', False)\n    setattr(config,'save', True)\n    setattr(config,'max_enc_steps', 600)\n    setattr(config,'max_dec_steps', 20)\n    setattr(config,'pointer_gen', True)\n    setattr(config,'coverage', False)\n    vocab_path = './preprocessed/dataset_50k_600/vocab_50000'\n    vaildation_path = './results/test_set_add_title.csv'\n    vocab = torch.load(vocab_path)\n    vaildation_dataset = DocDataset(vaildation_path, vocab, config)\n    if config.save:\n        torch.save(vaildation_dataset, './results/test.data')\n\ndef main():\n    from torch.nn import init\n    config = util.read_config('../configs/process.yaml')\n    # get_temp_vocab(config)\n    vocab = data.Vocab(config.vocab_path, max_size=config.max_size)\n    # vocab.build_vectors(config.pre_word_embedding_path, 300, unk_init=init.xavier_uniform)\n    if config.save:\n        torch.save(vocab, config.vocab_path_50)\n    val_data = DocDataset(config.val_path, vocab, config)\n    test_data = DocDataset(config.test_path, vocab, config)\n    if config.save:\n        torch.save(val_data, config.val_data_path)\n        torch.save(test_data, config.test_data_path)\n\n    train_data = DocDataset(config.train_path, vocab, config)\n    if config.save:\n        torch.save(train_data, config.train_data_path)\n\nif __name__ == '__main__':\n    # main()\n    build_vaildation_set()\n    pass\n\n\n\n"
  },
  {
    "path": "NLP/AutoTitle_F/data/data.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/10/24 下午4:30 \n# @Author : ComeOnJian \n# @File : data.py\n\nfrom gensim.models import KeyedVectors\nimport torch\n\n\nPAD = 0\nUNK = 1\nBOS = 2\nEOS = 3\n\nPAD_WORD = '<blank>'  # padding word\nUNK_WORD = '<unk>'  # unknow word\nBOS_WORD = '<s>'    # target start word\nEOS_WORD = '</s>' # target end word\n\nclass Vocab(object):\n\n    def __init__(self, vocab_nfile, max_size=None):\n        self._word_to_id = {}\n        self._id_to_word = {}\n        self._count = 0 # keeps track of total number of words in the Vocab\n\n        # [PAD], [UNK], [START] and [STOP] get the ids 0,1,2,3.\n        for w in [PAD_WORD, UNK_WORD, BOS_WORD, EOS_WORD]:\n            self._word_to_id[w] = self._count\n            self._id_to_word[self._count] = w\n            self._count += 1\n\n            # Read the vocab file and add words up to max_size\n        with open(vocab_nfile, 'r') as vocab_f:\n            for line in vocab_f:\n                pieces = line.split()\n                if len(pieces) != 2:\n                    print('Warning: incorrectly formatted line in vocabulary file: %s\\n' % line)\n                    continue\n                w = pieces[0]\n                if w in {PAD_WORD, UNK_WORD, BOS_WORD, EOS_WORD}:\n                    print('<s>, </s>, <unk>, <blank> shouldn\\'t be in the vocab file, but %s is' % w)\n                    continue\n                if w in self._word_to_id:\n                    print('Duplicated word in vocabulary file: %s' % w)\n                    continue\n                self._word_to_id[w] = self._count\n                self._id_to_word[self._count] = w\n                self._count += 1\n                if max_size != 0 and self._count >= max_size:\n                    print(\"max_size of vocab was specified as %i; we now have %i words. Stopping reading.\" % (max_size, self._count))\n                    break\n        print(\"Finished constructing vocabulary of %i total words. Last word added: %s\" % (self._count, self._id_to_word[self._count - 1]))\n\n    def word2id(self, word):\n        if word not in self._word_to_id:\n            return self._word_to_id[UNK_WORD]\n        return self._word_to_id[word]\n\n    def id2word(self, word_id):\n        if word_id not in self._id_to_word:\n            raise ValueError('Id not found in vocab: %d' % word_id)\n        return self._id_to_word[word_id]\n\n    def size(self):\n        return self._count\n\n    def build_vectors(self, pre_word_embedding_path, dim , unk_init=torch.Tensor.zero_):\n        # unk_init=init.xavier_uniform\n        print('load w2v vector from {}...'.format(pre_word_embedding_path))\n        pre_word_embedding = KeyedVectors.load_word2vec_format(pre_word_embedding_path, binary=True)\n        self.vectors = torch.Tensor(self.size(), dim)\n        unknow_count = 0\n        for idx, word in self._id_to_word.items():\n            if word in pre_word_embedding.vocab:\n                wv_index = pre_word_embedding.vocab[word].index\n            else:\n                wv_index = None\n            if wv_index is not None:\n                self.vectors[idx] = torch.Tensor(pre_word_embedding.vectors[wv_index])\n            else:\n                self.vectors[idx] = unk_init(self.vectors[idx].unsqueeze(0)).view(-1)\n                unknow_count += 1\n\n        print('the doc vocab length is %d and unkonw count is %d...' % (self.size(), unknow_count))\n\ndef article2ids(article_words, vocab):\n    ids = []\n    oovs = []\n    unk_id = vocab.word2id(UNK_WORD)\n    for w in article_words:\n        i = vocab.word2id(w)\n        if i == unk_id: # If w is OOV\n            if w not in oovs: # Add to list of OOVs\n                oovs.append(w)\n            oov_num = oovs.index(w) # This is 0 for the first article OOV, 1 for the second article OOV...\n            ids.append(vocab.size() + oov_num) # This is e.g. 50000 for the first article OOV, 50001 for the second...\n        else:\n            ids.append(i)\n    return ids, oovs\n\ndef abstract2ids(abstract_words, vocab, article_oovs):\n    ids = []\n    unk_id = vocab.word2id(UNK_WORD)\n    for w in abstract_words:\n        i = vocab.word2id(w)\n        if i == unk_id: # If w is an OOV word\n            if w in article_oovs: # If w is an in-article OOV\n                vocab_idx = vocab.size() + article_oovs.index(w) # Map to its temporary article OOV number\n                ids.append(vocab_idx)\n            else: # If w is an out-of-article OOV\n                ids.append(unk_id) # Map to the UNK token id\n        else:\n            ids.append(i)\n    return ids\n\ndef outputids2words(id_list, vocab, article_oovs):\n    words = []\n    for i in id_list:\n        try:\n            w = vocab.id2word(i) # might be [UNK]\n        except ValueError as e: # w is OOV\n            assert article_oovs is not None, \"Error: model produced a word ID that isn't in the vocabulary. This should not happen in baseline (no pointer-generator) mode\"\n            article_oov_idx = i - vocab.size()\n            try:\n                w = article_oovs[article_oov_idx]\n            except ValueError as e: # i doesn't correspond to an article oov\n                raise ValueError('Error: model produced word ID %i which corresponds to article OOV %i but this example only has %i article OOVs' % (i, article_oov_idx, len(article_oovs)))\n        words.append(w)\n\n    return \" \".join(words)\n\ndef abstract2sents(abstract):\n    cur = 0\n    sents = []\n    try:\n        start_p = abstract.index(BOS_WORD, cur)\n        end_p = abstract.index(EOS_WORD, start_p + 1)\n        cur = end_p + len(EOS_WORD)\n        sents.append(abstract[start_p+len(BOS_WORD):end_p])\n    except ValueError as e: # no more sentences\n        return sents\n\ndef show_art_oovs(article, vocab):\n    unk_token = vocab.word2id(UNK_WORD)\n    words = article.split(' ')\n    words = [(\"__%s__\" % w) if vocab.word2id(w)==unk_token else w for w in words]\n    out_str = ' '.join(words)\n    return out_str\n\ndef show_abs_oovs(abstract, vocab, article_oovs):\n    unk_token = vocab.word2id(UNK_WORD)\n    words = abstract.split(' ')\n    new_words = []\n    for w in words:\n      if vocab.word2id(w) == unk_token: # w is oov\n        if article_oovs is None: # baseline mode\n          new_words.append(\"__%s__\" % w)\n        else: # pointer-generator mode\n          if w in article_oovs:\n            new_words.append(\"__%s__\" % w)\n          else:\n            new_words.append(\"!!__%s__!!\" % w)\n      else: # w is in-vocab word\n        new_words.append(w)\n    out_str = ' '.join(new_words)\n    return out_str\n\n\n"
  },
  {
    "path": "NLP/AutoTitle_F/data/data_processed.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/10/24 下午4:51 \n# @Author : ComeOnJian \n# @File : data_processed.py\nfrom stanfordcorenlp import StanfordCoreNLP\nimport nltk\nimport re\nimport sys\nsys.path.append('../')\nimport util\nfrom collections import Counter\n\nfrom string import punctuation\n\n# nlp_tokenizer = StanfordCoreNLP('/home/jwj/pythonPro/stanford-corenlp-full-2018-02-27/', lang='en')\nnlp_tokenizer = StanfordCoreNLP('/home/mlc/pythonPro/stanford-corenlp-full-2018-02-27/', lang='en')\nsent_tokenizer = nltk.data.load('tokenizers/punkt/english.pickle')\nadd_punc = '，。、【】“”：；（）《》‘’{}？！⑦()、%^>℃：.”“^-——=擅长于的&#@￥'\nall_punc = punctuation+add_punc\n\n#################### 文本的清洗 ###########################\n\ndef transform_other_word(str_text,reg_dict):\n    for token_str,replac_str in reg_dict.items():\n        str_text = str_text.replace(token_str, replac_str)\n    return str_text\n\ndef clean_text(text, contractions):\n    text = transform_other_word(text, contractions)\n    text = re.sub('&amp;', '', text)\n    text = re.sub('[_\"\\-;%()|+&=*%.,!?:#$@\\[\\]/]', ' ', text)\n    text = re.sub('\\'', ' ', text)\n    text = text.replace(\"\\r\", \" \")\n    text = text.replace(\"\\n\", \" \")\n    return text\n\ndef pre_word_token(df, config, test = False, lower = True, is_make_title = False):\n    \"\"\"\n    :param df: 数据\n    :param config:配置信息\n    :return:\n    \"\"\"\n    if test:\n        for index, row in df.iterrows():\n            content = str(row['content']).strip(\"'<>() \")\n            if lower:\n                content = content.lower()\n            content_words = word_tokenizer(content)\n            df.at[index, 'content'] = \" \".join(content_words)\n            # 虚构title\n            if is_make_title:\n                df.at[index, 'title'] = \"test\"\n        df.to_csv('./results/test_set_add_title.csv', sep='\\t', header=None, index=None, encoding='utf-8')\n    else:\n        if config.makevocab:\n            vocab_counter = Counter()\n        delete_ids = []\n        # 去重\n        df.drop_duplicates(['title'], inplace=True)\n        df.drop_duplicates(['content'], inplace=True)\n        for index, row in df.iterrows():\n            try:\n                title = str(row['title']).strip(\"'<>() \")\n                content = str(row['content']).strip(\"'<>() \")\n                if lower:\n                    title = title.lower()\n                    content = content.lower()\n                title_words = word_tokenizer(title)\n                content_words = word_tokenizer(content)\n\n                if len(title_words) == 1:\n                    delete_ids.append(index)\n                    print('ignore id: {} sentence...,due to title length is 1'.format(row['id']))\n                    continue\n                df.at[index,'title'] = \" \".join(title_words)\n                df.at[index, 'content'] = \" \".join(content_words)\n                ### bulid Vocab\n                if config.makevocab:\n                    vocab_counter.update(title_words)\n                    vocab_counter.update(content_words)\n                if index % 5000 == 0:\n                    print('has deal with %d sentence...'% index)\n            except Exception:\n                print('id :{} sentence can not deal with, because the sentence length is {} exceed corenlp max_length 100000'.format(row['id'],len(content_words)))\n                delete_ids.append(index)\n                continue\n        # print('ignore {} sentence, due to due to title length is 1, truncated {} sentence, due to doc length exceed {}'\n        #       .format(ignore_count, truncated_count, config.truncated_source_length))\n        if config.makevocab:\n            print(\"Writing vocab file...\")\n            with open(config.vocab_path, 'w') as writer:\n                for word, count in vocab_counter.most_common(config.vocab_max_size):\n                    writer.write(word + ' ' + str(count) + '\\n')\n            print(\"Finished writing vocab file\")\n        print('ignore sentence has %d'%(len(delete_ids)))\n        df.drop(delete_ids,inplace=True)\n        df[:-2000].to_csv(config.train_path,sep='\\t', header=None,index=None,encoding='utf-8')\n        df[-2000:-1000].to_csv(config.val_path,sep='\\t', header=None,index=None,encoding='utf-8')\n        df[-1000:].to_csv(config.test_path,sep='\\t', header=None,index=None,encoding='utf-8')\n    nlp_tokenizer.close()\n\ndef pre_sentence_token(df, lower=True, makevocab=True):\n    if makevocab:\n        vocab_counter = Counter()\n    all_titles = []\n    all_contents = []\n    file_i = 1\n    for index, row in df.iterrows():\n        try:\n            title = str(row['title']).strip(\"'<>() \")\n            content = str(row['content']).strip(\"'<>() \")\n            if lower:\n                title = title.lower()\n                content = content.lower()\n            title_words = word_tokenizer(title)\n            if len(title_words)==1:\n                print('ignore id: {} sentence...,due to title length is 1'.format(row['id']))\n                continue\n            if makevocab:\n                vocab_counter.update(title_words)\n            contents = [] # 存放内容每句的句子\n            content_sentences = sentence_tokenizer(content)\n            for content_s in content_sentences:\n                content_words = word_tokenizer(content_s)\n                if makevocab:\n                    vocab_counter.update(content_words)\n                contents.append(content_words)\n            ### bulid Vocab\n            if title_words and contents:\n                # 标题和内容都不为空\n                all_titles.append(title_words)\n                all_contents.append(contents)\n            if index % 5000 == 0:\n                print('has deal with %d sentence...' % index)\n            # 每100000存储一个文件\n            if index % 100000 == 0:\n                data = {}\n                data['article'] = all_contents\n                data['abstract'] = all_titles\n                util.save_object(data, './preprocessed/train/all_data_{}.pickle'.format(file_i))\n                file_i += 1\n                # 清空data,和数组\n                all_contents = []\n                all_titles = []\n                data.clear()\n        except Exception:\n            print('id :{} sentence can not deal with, because the sentence has exception...'.format(row['id']))\n            continue\n    # save data\n    data = {}\n    data['article'] = all_contents\n    data['abstract'] = all_titles\n    util.save_object(data, './preprocessed/train/all_data_{}.pickle'.format(file_i))\n    print(\"Writing vocab file...\")\n    with open('./preprocessed/all_data_vocab_200000', 'w') as writer:\n        for word, count in vocab_counter.most_common(200000):\n            writer.write(word + ' ' + str(count) + '\\n')\n    nlp_tokenizer.close()\n\ndef word_tokenizer(text):\n    text_list = nlp_tokenizer.word_tokenize(text)\n    res = []\n    for word in text_list:\n        if word != \" \" and word not in all_punc:\n            res.append(word)\n    return res\n\ndef sentence_tokenizer(text):\n    return sent_tokenizer.tokenize(text)\n\n###################### main step ######################\n\n# step 1 train word token\n# config = util.read_config('../configs/preprocess_data.yaml')\n# dfs = []\n# for i in range(9):\n#     file_n = './data/bytecup2018/bytecup.corpus.train.%d.txt' % (i)\n#     df = util.read_json_to_pd(file_n, max_lines = config.max_lines)\n#     dfs.append(df)\n#     print('load %d file...'%i)\n# all_df = pd.concat(dfs)\n# # shuffle\n# all_df = all_df.sample(frac=1,random_state=config.rand_state).reset_index(drop=True)\n# pre_word_token(all_df, config)\n\n# step 2 validation_set word token\n# file_n = './bytecup2018/bytecup.corpus.test_set.txt'\n# test_df = util.read_json_to_pd(file_n, max_lines = 1000, is_contain_title = False)\n# pre_word_token(test_df, config=None, test=True, lower=True, is_make_title=True)\n\n\n######## fast_abstrcative #######\n# import pandas as pd\n# dfs = []\n# for i in range(9):\n#     file_n = './bytecup2018/bytecup.corpus.train.%d.txt' % (i)\n#     df = util.read_json_to_pd(file_n, max_lines = 0)\n#     dfs.append(df)\n#     print('load %d file...'%i)\n# all_df = pd.concat(dfs)\n# print('去重前: ',all_df.shape)\n# all_df = all_df.sample(frac=1,random_state=123).reset_index(drop=True)\n# # 去重\n# all_df.drop_duplicates(['title', 'content'], inplace=True)\n# all_df.reset_index(drop=True)\n# print('去重后: ',all_df.shape)\n# pre_sentence_token(all_df, lower=True, makevocab=True)\n\n# data = {}\n# data['article'] = []\n# data['abstract'] = []\n# for i in range(1,9):\n#     dic = util.load_object('./preprocessed/train/all_data_{}.pickle'.format(i))\n#     print(i, len(dic['article']), len(dic['abstract']))\n#     data['article'] += dic['article']\n#     data['abstract'] += dic['abstract']\n# print(len(data['article']))\n# print(len(data['abstract']))\n#\n# ## 存储val\n# val_dict = {}\n# val_dict['article'] = data['article'][-1000:]\n# val_dict['abstract'] = data['abstract'][-1000:]\n# util.save_object(val_dict, './preprocessed/train/val_data.pickle')\n# val_dict.clear()\n#\n# for i in range(7):\n#     start_i = i * 100000\n#     end_i = (i+1) * 100000\n#     t_d = {}\n#     if i==6:\n#         t_d['article'] = data['article'][:-1000][start_i:]\n#         t_d['abstract'] = data['abstract'][:-1000][start_i:]\n#     else:\n#         t_d['article'] = data['article'][:-1000][start_i: end_i]\n#         t_d['abstract'] = data['abstract'][:-1000][start_i:end_i]\n#     util.save_object(t_d, './preprocessed/train/train_data_{}.pickle'.format(i+1))\n#     print('finish {}'.format(i))\n#     t_d.clear()\n\n\n\n\n\n\n\n\n\n\n\n\n"
  },
  {
    "path": "NLP/AutoTitle_F/models/__init__.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/10/24 上午11:15 \n# @Author : ComeOnJian \n# @File : __init__.py.py \n\nfrom models.seq2seq import *\nfrom models.optims import *\nfrom models.adaptive import *\nfrom models.lr_scheduler import *"
  },
  {
    "path": "NLP/AutoTitle_F/models/adaptive.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/10/23 下午3:26 \n# @Author : ComeOnJian \n# @File : adaptive.py \n\nimport torch\nimport torch.nn as nn\nfrom torch.nn import Linear, Sequential, ModuleList\nfrom torch.nn.functional import log_softmax\nfrom collections import namedtuple\n\n_ASMoutput = namedtuple('ASMoutput', ['output', 'loss'])\n\nclass AdaptiveLogSoftmaxWithLoss(nn.Module):\n    r\"\"\"Efficient softmax approximation as described in\n    `Efficient softmax approximation for GPUs`_ by Edouard Grave, Armand Joulin,\n    Moustapha Cissé, David Grangier, and Hervé Jégou.\n    Adaptive softmax is an approximate strategy for training models with large\n    output spaces. It is most effective when the label distribution is highly\n    imbalanced, for example in natural language modelling, where the word\n    frequency distribution approximately follows the `Zipf's law`_.\n    Adaptive softmax partitions the labels into several clusters, according to\n    their frequency. These clusters may contain different number of targets\n    each.\n    Additionally, clusters containing less frequent labels assign lower\n    dimensional embeddings to those labels, which speeds up the computation.\n    For each minibatch, only clusters for which at least one target is\n    present are evaluated.\n    The idea is that the clusters which are accessed frequently\n    (like the first one, containing most frequent labels), should also be cheap\n    to compute -- that is, contain a small number of assigned labels.\n    We highly recommend taking a look at the original paper for more details.\n    * :attr:`cutoffs` should be an ordered Sequence of integers sorted\n      in the increasing order.\n      It controls number of clusters and the partitioning of targets into\n      clusters. For example setting ``cutoffs = [10, 100, 1000]``\n      means that first `10` targets will be assigned\n      to the 'head' of the adaptive softmax, targets `11, 12, ..., 100` will be\n      assigned to the first cluster, and targets `101, 102, ..., 1000` will be\n      assigned to the second cluster, while targets\n      `1001, 1002, ..., n_classes - 1` will be assigned\n      to the last, third cluster\n    * :attr:`div_value` is used to compute the size of each additional cluster,\n      which is given as\n      :math:`\\left\\lfloor\\frac{in\\_features}{div\\_value^{idx}}\\right\\rfloor`,\n      where :math:`idx` is the cluster index (with clusters\n      for less frequent words having larger indices,\n      and indices starting from :math:`1`).\n    * :attr:`head_bias` if set to True, adds a bias term to the 'head' of the\n      adaptive softmax. See paper for details. Set to False in the official\n      implementation.\n    .. warning::\n        Labels passed as inputs to this module should be sorted accoridng to\n        their frequency. This means that the most frequent label should be\n        represented by the index `0`, and the least frequent\n        label should be represented by the index `n_classes - 1`.\n    .. note::\n        This module returns a ``NamedTuple`` with ``output``\n        and ``loss`` fields. See further documentation for details.\n    .. note::\n        To compute log-probabilities for all classes, the ``log_prob``\n        method can be used.\n    Args:\n        in_features (int): Number of features in the input tensor\n        n_classes (int): Number of classes in the dataset.\n        cutoffs (Sequence): Cutoffs used to assign targets to their buckets.\n        div_value (float, optional): value used as an exponent to compute sizes\n            of the clusters. Default: 4.0\n    Returns:\n        ``NamedTuple`` with ``output`` and ``loss`` fields:\n            * **output** is a Tensor of size ``N`` containing computed target\n              log probabilities for each example\n            * **loss** is a Scalar representing the computed negative\n              log likelihood loss\n    Shape:\n        - input: :math:`(N, in\\_features)`\n        - target: :math:`(N)` where each value satisfies :math:`0 <= target[i] <= n\\_classes`\n        - output: :math:`(N)`\n        - loss: ``Scalar``\n    .. _Efficient softmax approximation for GPUs:\n        https://arxiv.org/abs/1609.04309\n    .. _Zipf's law:\n        https://en.wikipedia.org/wiki/Zipf%27s_law\n    \"\"\"\n\n    def __init__(self, in_features, n_classes, cutoffs, div_value=4., head_bias=False):\n        super(AdaptiveLogSoftmaxWithLoss, self).__init__()\n\n        cutoffs = list(cutoffs)\n\n        if (cutoffs != sorted(cutoffs)) \\\n                or (min(cutoffs) <= 0) \\\n                or (max(cutoffs) >= (n_classes - 1)) \\\n                or (len(set(cutoffs)) != len(cutoffs)) \\\n                or any([int(c) != c for c in cutoffs]):\n\n            raise ValueError(\"cutoffs should be a sequence of unique, positive \"\n                             \"integers sorted in an increasing order, where \"\n                             \"each value is between 1 and n_classes-1\")\n\n        self.in_features = in_features\n        self.n_classes = n_classes\n        self.cutoffs = cutoffs + [n_classes]\n        self.div_value = div_value\n        self.head_bias = head_bias\n\n        self.shortlist_size = self.cutoffs[0]\n        self.n_clusters = len(self.cutoffs) - 1\n        self.head_size = self.shortlist_size + self.n_clusters\n\n        self.head = Linear(self.in_features, self.head_size, bias=self.head_bias)\n        self.tail = ModuleList()\n\n        for i in range(self.n_clusters):\n\n            hsz = int(self.in_features // (self.div_value ** (i + 1)))\n            osz = self.cutoffs[i + 1] - self.cutoffs[i]\n\n            projection = Sequential(\n                Linear(self.in_features, hsz, bias=False),\n                Linear(hsz, osz, bias=False)\n            )\n\n            self.tail.append(projection)\n\n    def reset_parameters(self):\n        self.head.reset_parameters()\n        for i2h, h2o in self.tail:\n            i2h.reset_parameters()\n            h2o.reset_parameters()\n\n    def forward(self, input, target):\n        if input.size(0) != target.size(0):\n            raise RuntimeError('Input and target should have the same size '\n                               'in the batch dimension.')\n\n        used_rows = 0\n        batch_size = target.size(0)\n\n        output = input.new_zeros(batch_size)\n        gather_inds = target.new_empty(batch_size)\n        # 从3开始，因为需要排除UNK = 0, PAD = 1, BOS = 2\n        cutoff_values = [3] + self.cutoffs\n        for i in range(len(cutoff_values) - 1):\n\n            low_idx = cutoff_values[i]\n            high_idx = cutoff_values[i + 1]\n\n            target_mask = (target >= low_idx) & (target < high_idx)\n            row_indices = target_mask.nonzero().squeeze()\n\n            if row_indices.numel() == 0:\n                continue\n\n            if i == 0:\n                gather_inds.index_copy_(0, row_indices, target[target_mask])\n\n            else:\n                relative_target = target[target_mask] - low_idx\n                input_subset = input.index_select(0, row_indices)\n\n                cluster_output = self.tail[i - 1](input_subset)\n                cluster_index = self.shortlist_size + i - 1\n\n                gather_inds.index_fill_(0, row_indices, cluster_index)\n\n                cluster_logprob = log_softmax(cluster_output, dim=1)\n                local_logprob = cluster_logprob.gather(1, relative_target.unsqueeze(1))\n                output.index_copy_(0, row_indices, local_logprob.squeeze(1))\n\n            used_rows += row_indices.numel()\n\n        if used_rows != batch_size:\n            raise RuntimeError(\"Target values should be in [0, {}], \"\n                               \"but values in range [{}, {}] \"\n                               \"were found. \".format(self.n_classes - 1,\n                                                     target.min().item(),\n                                                     target.max().item()))\n\n        head_output = self.head(input)\n        head_logprob = log_softmax(head_output, dim=1)\n        output += head_logprob.gather(1, gather_inds.unsqueeze(1)).squeeze()\n        loss = (-output).mean()\n\n        return _ASMoutput(output, loss)\n\n    def _get_full_log_prob(self, input, head_output):\n        \"\"\" Given input tensor, and output of `self.head`,\n        compute the log of the full distribution \"\"\"\n\n        out = input.new_empty((head_output.size(0), self.n_classes))\n        head_logprob = log_softmax(head_output, dim=1)\n\n        out[:, :self.shortlist_size] = head_logprob[:, :self.shortlist_size]\n\n        for i, (start_idx, stop_idx) in enumerate(zip(self.cutoffs, self.cutoffs[1:])):\n            cluster_output = self.tail[i](input)\n            cluster_logprob = log_softmax(cluster_output, dim=1)\n            output_logprob = cluster_logprob + head_logprob[:, self.shortlist_size + i].unsqueeze(1)\n\n            out[:, start_idx:stop_idx] = output_logprob\n\n        return out\n\n    def log_prob(self, input):\n        \"\"\" Computes log probabilities for all :math:`n\\_classes`\n        Args:\n            input (Tensor): a minibatch of examples\n        Returns:\n            log-probabilities of for each class :math:`c`\n            in range :math:`0 <= c <= n\\_classes`, where :math:`n\\_classes` is a\n            parameter passed to ``AdaptiveLogSoftmaxWithLoss`` constructor.\n        Shape:\n            - Input: :math:`(N, in\\_features)`\n            - Output: :math:`(N, n\\_classes)`\n        \"\"\"\n\n        head_output = self.head(input)\n        return self._get_full_log_prob(input, head_output)\n\n    def predict(self, input):\n        \"\"\" This is equivalent to `self.log_pob(input).argmax(dim=1)`,\n        but is more efficient in some cases.\n        Args:\n            input (Tensor): a minibatch of examples\n        Returns:\n            output (Tensor): a class with the highest probability for each example\n        Shape:\n            - Input: :math:`(N, in\\_features)`\n            - Output: :math:`(N)`\n        \"\"\"\n\n        head_output = self.head(input)\n        output = torch.argmax(head_output, dim=1)\n        not_in_shortlist = (output >= self.shortlist_size)\n        all_in_shortlist = not (not_in_shortlist.any())\n\n        if all_in_shortlist:\n            return output\n\n        elif not_in_shortlist.all():\n            log_prob = self._get_full_log_prob(input, head_output)\n            return torch.argmax(log_prob, dim=1)\n\n        else:\n            log_prob = self._get_full_log_prob(input[not_in_shortlist],\n                                               head_output[not_in_shortlist])\n            output[not_in_shortlist] = torch.argmax(log_prob, dim=1)\n            return output"
  },
  {
    "path": "NLP/AutoTitle_F/models/loss.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/10/17 下午5:10 \n# @Author : ComeOnJian \n# @File : loss.py \nimport torch\nimport torch.nn as nn\nfrom torch.autograd import Variable\nimport models.adaptive as adaptive\nPAD = 0\n############   ###################\ndef criterion(tgt_vocab_size, use_cuda):\n    weight = torch.ones(tgt_vocab_size)\n    weight[PAD] = 0\n    # 如果 reduce = False，那么 size_average 参数失效，直接返回向量形式的 loss\n    # 如果 reduce = True，那么 loss 返回的是标量。\n    # 如果 size_average = True，返回 loss.mean(). 如果 size_average = False，返回 loss.sum();\n    crit = nn.CrossEntropyLoss(weight, size_average=False)\n    if use_cuda:\n        crit.cuda()\n    return crit\n\ndef adaptive_criterion(config, use_cuda):\n    #  适合切5-10份\n    # splits = [2800, 20000, config.tgt_vocab_size - 1]  # 中型vocab\n    # splits = [4200, 35000, 180000] # 大型vocab\n    crit = adaptive.AdaptiveLogSoftmaxWithLoss(in_features=config.encoder_hidder_size,\n                                                    n_classes=config.tgt_vocab_size,\n                                                    cutoffs=config.splits)\n    if use_cuda:\n        crit.cuda()\n    return crit\n\ndef ml_criterion(hidden_outputs, decoder, targets, criterion, sim_score=0):\n    \"\"\"maximum likelihood loss\"\"\"\n    # targets # [seq_length, batch]\n    outputs = hidden_outputs.view(-1, hidden_outputs.size(2)) # [seq_length,batch,encoder_hidder_size] -> [seq_length * batch, encoder_hidder_size]\n    scores = decoder.compute_score(outputs) # [seq_length * batch, encoder_hidder_size] -> [seq_length * batch, tgt_vocab_size]\n    loss = criterion(scores, targets.view(-1)) + sim_score # [1]\n    # pred = scores.max(1)[1] # [seq_length * batch, tgt_vocab_size] -> [seq_length * batch]\n    # num_correct = pred.data.eq(targets.data).masked_select(targets.ne(PAD).data).sum()\n    num_total = targets.ne(PAD).data.sum()\n    loss.div(num_total).backward()\n    loss = loss.data[0]\n\n    del outputs, scores\n    torch.cuda.empty_cache()\n    return loss, num_total #, num_correct\n\ndef ml_criterion_memory_efficiency(hidden_outputs, decoder, targets, criterion, config):\n    outputs = Variable(hidden_outputs.data, requires_grad=True, volatile=False)\n    num_total, loss = 0, 0\n\n    outputs_split = torch.split(outputs, config.max_generator_batches)\n    targets_split = torch.split(targets, config.max_generator_batches)\n    for i, (out_t, targ_t) in enumerate(zip(outputs_split, targets_split)):\n        out_t = out_t.view(-1, out_t.size(2))\n        scores_t = decoder.compute_score(out_t)\n        loss_t = criterion(scores_t, targ_t.view(-1))\n        num_total_t = targ_t.ne(PAD).data.sum()\n        num_total += num_total_t\n        loss += loss_t.data[0]\n        loss_t.div(num_total_t).backward()\n\n    grad_output = outputs.grad.data\n    hidden_outputs.backward(grad_output)\n    return loss, num_total\n\ndef ml_criterion_sampled_loss(hidden_outputs, decoder, targets, config, sim_score=0):\n\n    pass\n\ndef ml_criterion_adaptive_sampled_loss(hidden_outputs, decoder, targets, criterion):\n\n    outputs = hidden_outputs.view(-1, hidden_outputs.size(2))  # [seq_length,batch,encoder_hidder_size] -> [seq_length * batch, encoder_hidder_size]\n    scores = decoder.compute_score(outputs)  # [seq_length * batch, encoder_hidder_size] -> [seq_length * batch, tgt_vocab_size]\n    raw_loss = criterion(scores, targets.view(-1))  # [1]\n    # pred = scores.max(1)[1] # [seq_length * batch, tgt_vocab_size] -> [seq_length * batch]\n    # num_correct = pred.data.eq(targets.data).masked_select(targets.ne(PAD).data).sum()\n    num_total = targets.ne(PAD).data.sum()\n    raw_loss[1].div(num_total).backward()\n    loss = raw_loss[1].data[0]\n\n    del outputs, scores\n    torch.cuda.empty_cache()\n    return loss, num_total, raw_loss# , num_correct\n\ndef rl_criterion():\n    pass\n\n"
  },
  {
    "path": "NLP/AutoTitle_F/models/lr_scheduler.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/10/18 上午9:55 \n# @Author : ComeOnJian \n# @File : lr_scheduler.py \n\nimport math\nfrom bisect import bisect_right\nfrom torch.optim.optimizer import Optimizer\n\nclass _LRScheduler(object):\n    def __init__(self, optimizer, last_epoch=-1):\n        if not isinstance(optimizer, Optimizer):\n            raise TypeError('{} is not an Optimizer'.format(\n                type(optimizer).__name__))\n        self.optimizer = optimizer\n        if last_epoch == -1:\n            for group in optimizer.param_groups:\n                group.setdefault('initial_lr', group['lr'])\n        else:\n            for i, group in enumerate(optimizer.param_groups):\n                if 'initial_lr' not in group:\n                    raise KeyError(\"param 'initial_lr' is not specified \"\n                                   \"in param_groups[{}] when resuming an optimizer\".format(i))\n        self.base_lrs = list(map(lambda group: group['initial_lr'], optimizer.param_groups))\n        self.step(last_epoch + 1)\n        self.last_epoch = last_epoch\n\n    def get_lr(self):\n        raise NotImplementedError\n\n    def step(self, epoch=None):\n        if epoch is None:\n            epoch = self.last_epoch + 1\n        self.last_epoch = epoch\n        for param_group, lr in zip(self.optimizer.param_groups, self.get_lr()):\n            param_group['lr'] = lr\n\n\nclass LambdaLR(_LRScheduler):\n    \"\"\"Sets the learning rate of each parameter group to the initial lr\n    times a given function. When last_epoch=-1, sets initial lr as lr.\n    Args:\n        optimizer (Optimizer): Wrapped optimizer.\n        lr_lambda (function or list): A function which computes a multiplicative\n            factor given an integer parameter epoch, or a list of such\n            functions, one for each group in optimizer.param_groups.\n        last_epoch (int): The index of last epoch. Default: -1.\n    Example:\n        >>> # Assuming optimizer has two groups.\n        >>> lambda1 = lambda epoch: epoch // 30\n        >>> lambda2 = lambda epoch: 0.95 ** epoch\n        >>> scheduler = LambdaLR(optimizer, lr_lambda=[lambda1, lambda2])\n        >>> for epoch in range(100):\n        >>>     scheduler.step()\n        >>>     train(...)\n        >>>     validate(...)\n    \"\"\"\n    def __init__(self, optimizer, lr_lambda, last_epoch=-1):\n        self.optimizer = optimizer\n        if not isinstance(lr_lambda, list) and not isinstance(lr_lambda, tuple):\n            self.lr_lambdas = [lr_lambda] * len(optimizer.param_groups)\n        else:\n            if len(lr_lambda) != len(optimizer.param_groups):\n                raise ValueError(\"Expected {} lr_lambdas, but got {}\".format(\n                    len(optimizer.param_groups), len(lr_lambda)))\n            self.lr_lambdas = list(lr_lambda)\n        self.last_epoch = last_epoch\n        super(LambdaLR, self).__init__(optimizer, last_epoch)\n\n    def get_lr(self):\n        return [base_lr * lmbda(self.last_epoch)\n                for lmbda, base_lr in zip(self.lr_lambdas, self.base_lrs)]\n\n\nclass StepLR(_LRScheduler):\n    \"\"\"Sets the learning rate of each parameter group to the initial lr\n    decayed by gamma every step_size epochs. When last_epoch=-1, sets\n    initial lr as lr.\n    Args:\n        optimizer (Optimizer): Wrapped optimizer.\n        step_size (int): Period of learning rate decay.\n        gamma (float): Multiplicative factor of learning rate decay.\n            Default: 0.1.\n        last_epoch (int): The index of last epoch. Default: -1.\n    Example:\n        >>> # Assuming optimizer uses lr = 0.5 for all groups\n        >>> # lr = 0.05     if epoch < 30\n        >>> # lr = 0.005    if 30 <= epoch < 60\n        >>> # lr = 0.0005   if 60 <= epoch < 90\n        >>> # ...\n        >>> scheduler = StepLR(optimizer, step_size=30, gamma=0.1)\n        >>> for epoch in range(100):\n        >>>     scheduler.step()\n        >>>     train(...)\n        >>>     validate(...)\n    \"\"\"\n\n    def __init__(self, optimizer, step_size, gamma=0.1, last_epoch=-1):\n        self.step_size = step_size\n        self.gamma = gamma\n        super(StepLR, self).__init__(optimizer, last_epoch)\n\n    def get_lr(self):\n        return [base_lr * self.gamma ** (self.last_epoch // self.step_size)\n                for base_lr in self.base_lrs]\n\n\nclass MultiStepLR(_LRScheduler):\n    \"\"\"Set the learning rate of each parameter group to the initial lr decayed\n    by gamma once the number of epoch reaches one of the milestones. When\n    last_epoch=-1, sets initial lr as lr.\n    Args:\n        optimizer (Optimizer): Wrapped optimizer.\n        milestones (list): List of epoch indices. Must be increasing.\n        gamma (float): Multiplicative factor of learning rate decay.\n            Default: 0.1.\n        last_epoch (int): The index of last epoch. Default: -1.\n    Example:\n        >>> # Assuming optimizer uses lr = 0.5 for all groups\n        >>> # lr = 0.05     if epoch < 30\n        >>> # lr = 0.005    if 30 <= epoch < 80\n        >>> # lr = 0.0005   if epoch >= 80\n        >>> scheduler = MultiStepLR(optimizer, milestones=[30,80], gamma=0.1)\n        >>> for epoch in range(100):\n        >>>     scheduler.step()\n        >>>     train(...)\n        >>>     validate(...)\n    \"\"\"\n\n    def __init__(self, optimizer, milestones, gamma=0.1, last_epoch=-1):\n        if not list(milestones) == sorted(milestones):\n            raise ValueError('Milestones should be a list of'\n                             ' increasing integers. Got {}', milestones)\n        self.milestones = milestones\n        self.gamma = gamma\n        super(MultiStepLR, self).__init__(optimizer, last_epoch)\n\n    def get_lr(self):\n        return [base_lr * self.gamma ** bisect_right(self.milestones, self.last_epoch)\n                for base_lr in self.base_lrs]\n\n\nclass ExponentialLR(_LRScheduler):\n    \"\"\"Set the learning rate of each parameter group to the initial lr decayed\n    by gamma every epoch. When last_epoch=-1, sets initial lr as lr.\n    Args:\n        optimizer (Optimizer): Wrapped optimizer.\n        gamma (float): Multiplicative factor of learning rate decay.\n        last_epoch (int): The index of last epoch. Default: -1.\n    \"\"\"\n\n    def __init__(self, optimizer, gamma, last_epoch=-1):\n        self.gamma = gamma\n        super(ExponentialLR, self).__init__(optimizer, last_epoch)\n\n    def get_lr(self):\n        return [base_lr * self.gamma ** self.last_epoch\n                for base_lr in self.base_lrs]\n\n\nclass CosineAnnealingLR(_LRScheduler):\n    \"\"\"Set the learning rate of each parameter group using a cosine annealing\n    schedule, where :math:`\\eta_{max}` is set to the initial lr and\n    :math:`T_{cur}` is the number of epochs since the last restart in SGDR:\n    .. math::\n        \\eta_t = \\eta_{min} + \\frac{1}{2}(\\eta_{max} - \\eta_{min})(1 +\n        \\cos(\\frac{T_{cur}}{T_{max}}\\pi))\n    When last_epoch=-1, sets initial lr as lr.\n    It has been proposed in\n    `SGDR: Stochastic Gradient Descent with Warm Restarts`_. Note that this only\n    implements the cosine annealing part of SGDR, and not the restarts.\n    Args:\n        optimizer (Optimizer): Wrapped optimizer.\n        T_max (int): Maximum number of iterations.\n        eta_min (float): Minimum learning rate. Default: 0.\n        last_epoch (int): The index of last epoch. Default: -1.\n    .. _SGDR\\: Stochastic Gradient Descent with Warm Restarts:\n        https://arxiv.org/abs/1608.03983\n    \"\"\"\n\n    def __init__(self, optimizer, T_max, eta_min=0, last_epoch=-1):\n        self.T_max = T_max\n        self.eta_min = eta_min\n        super(CosineAnnealingLR, self).__init__(optimizer, last_epoch)\n\n    def get_lr(self):\n        return [self.eta_min + (base_lr - self.eta_min) *\n                (1 + math.cos(self.last_epoch / self.T_max * math.pi)) / 2\n                for base_lr in self.base_lrs]\n\n\nclass ReduceLROnPlateau(object):\n    \"\"\"Reduce learning rate when a metric has stopped improving.\n    Models often benefit from reducing the learning rate by a factor\n    of 2-10 once learning stagnates. This scheduler reads a metrics\n    quantity and if no improvement is seen for a 'patience' number\n    of epochs, the learning rate is reduced.\n    Args:\n        optimizer (Optimizer): Wrapped optimizer.\n        mode (str): One of `min`, `max`. In `min` mode, lr will\n            be reduced when the quantity monitored has stopped\n            decreasing; in `max` mode it will be reduced when the\n            quantity monitored has stopped increasing. Default: 'min'.\n        factor (float): Factor by which the learning rate will be\n            reduced. new_lr = lr * factor. Default: 0.1.\n        patience (int): Number of epochs with no improvement after\n            which learning rate will be reduced. Default: 10.\n        verbose (bool): If True, prints a message to stdout for\n            each update. Default: False.\n        threshold (float): Threshold for measuring the new optimum,\n            to only focus on significant changes. Default: 1e-4.\n        threshold_mode (str): One of `rel`, `abs`. In `rel` mode,\n            dynamic_threshold = best * ( 1 + threshold ) in 'max'\n            mode or best * ( 1 - threshold ) in `min` mode.\n            In `abs` mode, dynamic_threshold = best + threshold in\n            `max` mode or best - threshold in `min` mode. Default: 'rel'.\n        cooldown (int): Number of epochs to wait before resuming\n            normal operation after lr has been reduced. Default: 0.\n        min_lr (float or list): A scalar or a list of scalars. A\n            lower bound on the learning rate of all param groups\n            or each group respectively. Default: 0.\n        eps (float): Minimal decay applied to lr. If the difference\n            between new and old lr is smaller than eps, the update is\n            ignored. Default: 1e-8.\n    Example:\n        >>> optimizer = torch.optim.SGD(model.parameters(), lr=0.1, momentum=0.9)\n        >>> scheduler = ReduceLROnPlateau(optimizer, 'min')\n        >>> for epoch in range(10):\n        >>>     train(...)\n        >>>     val_loss = validate(...)\n        >>>     # Note that step should be called after validate()\n        >>>     scheduler.step(val_loss)\n    \"\"\"\n\n    def __init__(self, optimizer, mode='min', factor=0.1, patience=10,\n                 verbose=False, threshold=1e-4, threshold_mode='rel',\n                 cooldown=0, min_lr=0, eps=1e-8):\n\n        if factor >= 1.0:\n            raise ValueError('Factor should be < 1.0.')\n        self.factor = factor\n\n        if not isinstance(optimizer, Optimizer):\n            raise TypeError('{} is not an Optimizer'.format(\n                type(optimizer).__name__))\n        self.optimizer = optimizer\n\n        if isinstance(min_lr, list) or isinstance(min_lr, tuple):\n            if len(min_lr) != len(optimizer.param_groups):\n                raise ValueError(\"expected {} min_lrs, got {}\".format(\n                    len(optimizer.param_groups), len(min_lr)))\n            self.min_lrs = list(min_lr)\n        else:\n            self.min_lrs = [min_lr] * len(optimizer.param_groups)\n\n        self.patience = patience\n        self.verbose = verbose\n        self.cooldown = cooldown\n        self.cooldown_counter = 0\n        self.mode = mode\n        self.threshold = threshold\n        self.threshold_mode = threshold_mode\n        self.best = None\n        self.num_bad_epochs = None\n        self.mode_worse = None  # the worse value for the chosen mode\n        self.is_better = None\n        self.eps = eps\n        self.last_epoch = -1\n        self._init_is_better(mode=mode, threshold=threshold,\n                             threshold_mode=threshold_mode)\n        self._reset()\n\n    def _reset(self):\n        \"\"\"Resets num_bad_epochs counter and cooldown counter.\"\"\"\n        self.best = self.mode_worse\n        self.cooldown_counter = 0\n        self.num_bad_epochs = 0\n\n    def step(self, metrics, epoch=None):\n        current = metrics\n        if epoch is None:\n            epoch = self.last_epoch = self.last_epoch + 1\n        self.last_epoch = epoch\n\n        if self.is_better(current, self.best):\n            self.best = current\n            self.num_bad_epochs = 0\n        else:\n            self.num_bad_epochs += 1\n\n        if self.in_cooldown:\n            self.cooldown_counter -= 1\n            self.num_bad_epochs = 0  # ignore any bad epochs in cooldown\n\n        if self.num_bad_epochs > self.patience:\n            self._reduce_lr(epoch)\n            self.cooldown_counter = self.cooldown\n            self.num_bad_epochs = 0\n\n    def _reduce_lr(self, epoch):\n        for i, param_group in enumerate(self.optimizer.param_groups):\n            old_lr = float(param_group['lr'])\n            new_lr = max(old_lr * self.factor, self.min_lrs[i])\n            if old_lr - new_lr > self.eps:\n                param_group['lr'] = new_lr\n                if self.verbose:\n                    print('Epoch {:5d}: reducing learning rate'\n                          ' of group {} to {:.4e}.'.format(epoch, i, new_lr))\n\n    @property\n    def in_cooldown(self):\n        return self.cooldown_counter > 0\n\n    def _init_is_better(self, mode, threshold, threshold_mode):\n        if mode not in {'min', 'max'}:\n            raise ValueError('mode ' + mode + ' is unknown!')\n        if threshold_mode not in {'rel', 'abs'}:\n            raise ValueError('threshold mode ' + mode + ' is unknown!')\n        if mode == 'min' and threshold_mode == 'rel':\n            rel_epsilon = 1. - threshold\n            self.is_better = lambda a, best: a < best * rel_epsilon\n            self.mode_worse = float('Inf')\n        elif mode == 'min' and threshold_mode == 'abs':\n            self.is_better = lambda a, best: a < best - threshold\n            self.mode_worse = float('Inf')\n        elif mode == 'max' and threshold_mode == 'rel':\n            rel_epsilon = threshold + 1.\n            self.is_better = lambda a, best: a > best * rel_epsilon\n            self.mode_worse = -float('Inf')\n        else:  # mode == 'max' and epsilon_mode == 'abs':\n            self.is_better = lambda a, best: a > best + threshold\n            self.mode_worse = -float('Inf')\n"
  },
  {
    "path": "NLP/AutoTitle_F/models/optims.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/10/18 上午9:51 \n# @Author : ComeOnJian \n# @File : optims.py \nimport torch.optim as optim\nfrom torch.nn.utils import clip_grad_norm\nimport torch\nfrom torch.optim.optimizer import Optimizer\n\n\nclass Optim(object):\n\n    def set_parameters(self, params):\n        self.params = list(params)  # careful: params may be a generator\n        if self.method == 'sgd':\n            self.optimizer = optim.SGD(self.params, lr=self.lr)\n        elif self.method == 'adagrad':\n            self.optimizer = optim.Adagrad(self.params, lr=self.lr)\n        elif self.method == 'adadelta':\n            self.optimizer = optim.Adadelta(self.params, lr=self.lr)\n        elif self.method == 'adam':\n            self.optimizer = optim.Adam(self.params, lr=self.lr)\n        elif self.method == 'rmsprop':\n            self.optimizer = optim.RMSprop(self.params, lr=self.lr)\n        elif self.method == 'AdagradCustom':\n            self.optimizer = AdagradCustom(self.params, lr=self.lr, initial_accumulator_value=self.initial_accumulator_value)\n\n        else:\n            raise RuntimeError(\"Invalid optim method: \" + self.method)\n\n    def __init__(self, method, lr, max_grad_norm, lr_decay=1, start_decay_at=None, initial_accumulator_value=None):\n        self.last_ppl = None\n        self.lr = lr\n        self.max_grad_norm = max_grad_norm\n        self.method = method\n        self.lr_decay = lr_decay\n        self.start_decay_at = start_decay_at\n        self.start_decay = False\n        self.initial_accumulator_value = initial_accumulator_value\n\n    def step(self):\n        # Compute gradients norm.\n        if self.max_grad_norm:\n            clip_grad_norm(self.params, self.max_grad_norm)\n        self.optimizer.step()\n\n    # decay learning rate if val perf does not improve or we hit the start_decay_at limit\n    def updateLearningRate(self, ppl, epoch):\n        if self.start_decay_at is not None and epoch >= self.start_decay_at:\n            self.start_decay = True\n        if self.last_ppl is not None and ppl > self.last_ppl:\n            self.start_decay = True\n\n        if self.start_decay:\n            self.lr = self.lr * self.lr_decay\n            print(\"Decaying learning rate to %g\" % self.lr)\n\n        self.last_ppl = ppl\n        self.optimizer.param_groups[0]['lr'] = self.lr\n\nclass AdagradCustom(Optimizer):\n    \"\"\"Implements Adagrad algorithm.\n\n    It has been proposed in `Adaptive Subgradient Methods for Online Learning\n    and Stochastic Optimization`_.\n\n    Arguments:\n        params (iterable): iterable of parameters to optimize or dicts defining\n            parameter groups\n        lr (float, optional): learning rate (default: 1e-2)\n        lr_decay (float, optional): learning rate decay (default: 0)\n        weight_decay (float, optional): weight decay (L2 penalty) (default: 0)\n\n    .. _Adaptive Subgradient Methods for Online Learning and Stochastic\n        Optimization: http://jmlr.org/papers/v12/duchi11a.html\n    \"\"\"\n\n    def __init__(self, params, lr=1e-2, lr_decay=0, weight_decay=0, initial_accumulator_value=0):\n        defaults = dict(lr=lr, lr_decay=lr_decay, weight_decay=weight_decay,\n                    initial_accumulator_value=initial_accumulator_value)\n        super(AdagradCustom, self).__init__(params, defaults)\n\n        for group in self.param_groups:\n            for p in group['params']:\n                state = self.state[p]\n                state['step'] = 0\n                state['sum'] = torch.zeros_like(p.data).fill_(initial_accumulator_value)\n\n    def share_memory(self):\n        for group in self.param_groups:\n            for p in group['params']:\n                state = self.state[p]\n                state['sum'].share_memory_()\n\n    def step(self, closure=None):\n        \"\"\"Performs a single optimization step.\n\n        Arguments:\n            closure (callable, optional): A closure that reevaluates the model\n                and returns the loss.\n        \"\"\"\n        loss = None\n        if closure is not None:\n            loss = closure()\n\n        for group in self.param_groups:\n            for p in group['params']:\n                if p.grad is None:\n                    continue\n\n                grad = p.grad.data\n                state = self.state[p]\n\n                state['step'] += 1\n\n                if group['weight_decay'] != 0:\n                    if p.grad.data.is_sparse:\n                        raise RuntimeError(\"weight_decay option is not compatible with sparse gradients\")\n                    grad = grad.add(group['weight_decay'], p.data)\n\n                clr = group['lr'] / (1 + (state['step'] - 1) * group['lr_decay'])\n\n                if grad.is_sparse:\n                    grad = grad.coalesce()  # the update is non-linear so indices must be unique\n                    grad_indices = grad._indices()\n                    grad_values = grad._values()\n                    size = grad.size()\n\n                    def make_sparse(values):\n                        constructor = grad.new\n                        if grad_indices.dim() == 0 or values.dim() == 0:\n                            return constructor().resize_as_(grad)\n                        return constructor(grad_indices, values, size)\n                    state['sum'].add_(make_sparse(grad_values.pow(2)))\n                    std = state['sum']._sparse_mask(grad)\n                    std_values = std._values().sqrt_().add_(1e-10)\n                    p.data.add_(-clr, make_sparse(grad_values / std_values))\n                else:\n                    state['sum'].addcmul_(1, grad, grad)\n                    std = state['sum'].sqrt().add_(1e-10)\n                    p.data.addcdiv_(-clr, grad, std)\n\n        return loss\n"
  },
  {
    "path": "NLP/AutoTitle_F/models/seq2seq.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/10/17 上午10:50 \n# @Author : ComeOnJian \n# @File : seq2seq.py \n\nimport torch\nimport torch.nn as nn\nimport torch.nn.functional as F\nfrom torch.autograd import Variable\nfrom torch.nn.utils.rnn import pack_padded_sequence as pack\nfrom torch.nn.utils.rnn import pad_packed_sequence as unpack\nnn.SELU\nPAD = 0\nUNK = 1\nBOS = 2\nEOS = 3\n\n# init param\ndef init_lstm_wt(lstm, init_v):\n    for names in lstm._all_weights:\n        for name in names:\n            if name.startswith('weight_'):\n                wt = getattr(lstm, name)\n                wt.data.uniform_(-init_v, init_v)\n            elif name.startswith('bias_'):\n                # set forget bias to 1\n                bias = getattr(lstm, name)\n                n = bias.size(0)\n                start, end = n // 4, n // 2\n                bias.data.fill_(0.)\n                bias.data[start:end].fill_(1.)\n\ndef init_linear_wt(linear, init_v):\n    # init_v = config.trunc_norm_init_std\n    linear.weight.data.normal_(std=init_v)\n    if linear.bias is not None:\n        linear.bias.data.normal_(std=init_v)\n\ndef init_wt_normal(wt, init_v):\n    wt.data.normal_(std=init_v)\n\ndef init_wt_unif(wt, init_v):\n    # init_v = config.trunc_norm_init_std\n    wt.data.uniform_(-init_v, init_v)\n\n## encoder\nclass Encoder(nn.Module):\n    def __init__(self, config, embedding_weight = None):\n        super(Encoder, self).__init__()\n        # word embedding\n        self.embedding = nn.Embedding(config.src_vocab_size, config.emb_dim)\n        if embedding_weight is None:\n            init_wt_normal(self.embedding.weight, config.trunc_norm_init_std)\n        else:\n            self.embedding.weight.data.copy_(embedding_weight)\n        self.lstm = nn.LSTM(config.emb_dim, config.hidden_dim, num_layers=config.encoder_num_layers, batch_first=True, bidirectional=config.encoder_bidirec)\n        init_lstm_wt(self.lstm, config.rand_unif_init_mag)\n\n    #seq_lens should be in descending order\n    def forward(self, input, seq_lens):\n        embedded = self.embedding(input)\n\n        packed = pack(embedded, seq_lens, batch_first=True)\n        output, hidden = self.lstm(packed) # hidden ->(h,c) -> h or c num_layer x B x n\n\n        h, _ = unpack(output, batch_first=True)  # h dim = B x t_k x n\n        h = h.contiguous()\n        max_h, _ = h.max(dim=1)\n\n        return h, hidden, max_h\n\nclass ReduceState(nn.Module):\n    def __init__(self,config):\n        super(ReduceState, self).__init__()\n\n        self.reduce_h = nn.Linear(config.hidden_dim * 2, config.hidden_dim)\n        init_linear_wt(self.reduce_h, config.rand_unif_init_mag)\n        self.reduce_c = nn.Linear(config.hidden_dim * 2 , config.hidden_dim)\n        init_linear_wt(self.reduce_c, config.rand_unif_init_mag)\n        self.config = config\n\n    def forward(self, hidden):\n        h, c = hidden # h, c dim = 2 x b x hidden_dim\n        h_in = h.transpose(0, 1).contiguous().view(-1, self.config.hidden_dim * 2 )\n        hidden_reduced_h = F.relu(self.reduce_h(h_in))\n        c_in = c.transpose(0, 1).contiguous().view(-1, self.config.hidden_dim * 2 )\n        hidden_reduced_c = F.relu(self.reduce_c(c_in))\n\n        return (hidden_reduced_h.unsqueeze(0), hidden_reduced_c.unsqueeze(0)) # h, c dim = 1 x b x hidden_dim\n\n## decoder\nclass Decoder(nn.Module):\n    def __init__(self, config, embedding_weight = None):\n        super(Decoder, self).__init__()\n        self.attention_network = Attention(config)\n        # decoder\n        self.embedding = nn.Embedding(config.tgt_vocab_size, config.emb_dim)\n        if embedding_weight is None:\n            init_wt_normal(self.embedding.weight, config.trunc_norm_init_std)\n        else:\n            self.embedding.weight.data.copy_(embedding_weight)\n\n        self.x_context = nn.Linear(config.hidden_dim * 2 + config.emb_dim, config.emb_dim)\n\n        self.lstm = nn.LSTM(config.emb_dim, config.hidden_dim, num_layers=1, batch_first=True, bidirectional=False)\n        init_lstm_wt(self.lstm, config.rand_unif_init_mag)\n\n        if config.pointer_gen:\n            self.p_gen_linear = nn.Linear(config.hidden_dim * 4 + config.emb_dim, 1)\n\n        #p_vocab\n        self.out1 = nn.Linear(config.hidden_dim * 3, config.hidden_dim)\n        self.out2 = nn.Linear(config.hidden_dim, config.tgt_vocab_size)\n        init_linear_wt(self.out2,config.trunc_norm_init_std)\n        self.config = config\n\n    def forward(self, y_t_1, s_t_1, encoder_outputs, enc_padding_mask,\n                c_t_1, extra_zeros, enc_batch_extend_vocab, coverage, step):\n\n        if not self.training and step == 0:\n            h_decoder, c_decoder = s_t_1\n            s_t_hat = torch.cat((h_decoder.view(-1, self.config.hidden_dim),\n                                 c_decoder.view(-1, self.config.hidden_dim)), 1)  # B x 2*hidden_dim\n            c_t, _, coverage_next = self.attention_network(s_t_hat, encoder_outputs,\n                                                              enc_padding_mask, coverage)\n            coverage = coverage_next\n\n        y_t_1_embd = self.embedding(y_t_1)\n        x = self.x_context(torch.cat((c_t_1, y_t_1_embd), 1))\n        lstm_out, s_t = self.lstm(x.unsqueeze(1), s_t_1)\n\n        h_decoder, c_decoder = s_t\n        s_t_hat = torch.cat((h_decoder.view(-1, self.config.hidden_dim),\n                             c_decoder.view(-1, self.config.hidden_dim)), 1)  # B x 2*hidden_dim\n        c_t, attn_dist, coverage_next = self.attention_network(s_t_hat, encoder_outputs,\n                                                          enc_padding_mask, coverage)\n\n        if self.training or step > 0:\n            coverage = coverage_next\n\n        p_gen = None\n        if self.config.pointer_gen:\n            p_gen_input = torch.cat((c_t, s_t_hat, x), 1)  # B x (2*2*hidden_dim + emb_dim)\n            p_gen = self.p_gen_linear(p_gen_input)\n            p_gen = F.sigmoid(p_gen)\n\n        output = torch.cat((lstm_out.view(-1, self.config.hidden_dim), c_t), 1) # B x hidden_dim * 3\n        output = self.out1(output) # B x hidden_dim\n\n        #output = F.relu(output)\n\n        output = self.out2(output) # B x vocab_size\n        vocab_dist = F.softmax(output, dim=1)\n\n        if self.config.pointer_gen:\n            vocab_dist_ = p_gen * vocab_dist\n            attn_dist_ = (1 - p_gen) * attn_dist\n\n            if extra_zeros is not None:\n                vocab_dist_ = torch.cat([vocab_dist_, extra_zeros], 1)\n\n            final_dist = vocab_dist_.scatter_add(1, enc_batch_extend_vocab, attn_dist_)\n        else:\n            final_dist = vocab_dist\n\n        return final_dist, s_t, c_t, attn_dist, p_gen, coverage\n\n## attention\nclass Attention(nn.Module):\n    def __init__(self,config):\n        super(Attention, self).__init__()\n        # attention\n        self.W_h = nn.Linear(config.hidden_dim * 2, config.hidden_dim * 2, bias=False)\n        if config.is_coverage:\n            self.W_c = nn.Linear(1, config.hidden_dim * 2, bias=False)\n        self.decode_proj = nn.Linear(config.hidden_dim * 2 , config.hidden_dim * 2)\n        self.v = nn.Linear(config.hidden_dim * 2, 1, bias=False)\n        self.config = config\n\n    def forward(self, s_t_hat, h, enc_padding_mask, coverage):\n        b, t_k, n = list(h.size())\n        h = h.view(-1, n)  # B * t_k x 2*hidden_dim\n        encoder_feature = self.W_h(h) #b\n\n        dec_fea = self.decode_proj(s_t_hat) # B x 2*hidden_dim\n        dec_fea_expanded = dec_fea.unsqueeze(1).expand(b, t_k, n).contiguous() # B x t_k x 2*hidden_dim\n        dec_fea_expanded = dec_fea_expanded.view(-1, n)  # B * t_k x 2*hidden_dim\n\n        att_features = encoder_feature + dec_fea_expanded # B * t_k x 2*hidden_dim\n        if self.config.is_coverage:\n            coverage_input = coverage.view(-1, 1)  # B * t_k x 1\n            coverage_feature = self.W_c(coverage_input)  # B * t_k x 2*hidden_dim\n            att_features = att_features + coverage_feature\n\n        e = F.tanh(att_features) # B * t_k x 2*hidden_dim\n        scores = self.v(e)  # B * t_k x 1\n        scores = scores.view(-1, t_k)  # B x t_k\n\n        attn_dist_ = F.softmax(scores, dim=1) * enc_padding_mask # B x t_k\n        normalization_factor = attn_dist_.sum(1, keepdim=True)\n        attn_dist = attn_dist_ / normalization_factor\n\n        attn_dist = attn_dist.unsqueeze(1)  # B x 1 x t_k\n        h = h.view(-1, t_k, n)  # B x t_k x 2*hidden_dim\n        c_t = torch.bmm(attn_dist, h)  # B x 1 x n\n        c_t = c_t.view(-1, self.config.hidden_dim * 2)  # B x 2*hidden_dim\n\n        attn_dist = attn_dist.view(-1, t_k)  # B x t_k\n\n        if self.config.is_coverage:\n            coverage = coverage.view(-1, t_k)\n            coverage = coverage + attn_dist\n\n        return c_t, attn_dist, coverage\n\n#包含全局info self attention + cnn\nclass Global_Attention(nn.Module):\n    pass\n\n\n## beam sample\nclass Beam(object):\n  def __init__(self, tokens, log_probs, state, context, coverage):\n    self.tokens = tokens\n    self.log_probs = log_probs\n    self.state = state\n    self.context = context\n    self.coverage = coverage\n\n  def extend(self, token, log_prob, state, context, coverage):\n    return Beam(tokens = self.tokens + [token],\n                      log_probs = self.log_probs + [log_prob],\n                      state = state,\n                      context = context,\n                      coverage = coverage)\n\n  @property\n  def latest_token(self):\n    return self.tokens[-1]\n\n  @property\n  def avg_log_prob(self):\n    return sum(self.log_probs) / len(self.tokens)\n\n# seq2seq\nclass seq2seq(nn.Module):\n    def __init__(self, config, use_cuda, pretrain = None):\n        super(seq2seq, self).__init__()\n        if pretrain is not None:\n            src_embedding = pretrain['src_emb']\n            tgt_embedding = pretrain['tgt_emb']\n        else:\n            src_embedding = None\n            tgt_embedding = None\n\n        self.encoder = Encoder(config, embedding_weight=src_embedding)\n        self.decoder = Decoder(config, embedding_weight=tgt_embedding)\n        self.reduce_state = ReduceState(config)\n        if config.share_vocab:\n            self.decoder.embedding.weight = self.encoder.embedding.weight\n        self.use_cuda = use_cuda\n        self.config = config\n\n    def forward(self, sources, sources_lengths, source_padding_mask, sources_batch_extend_vocab, extra_zeros, coverage, encoder_inputs, targets):\n        encoder_outputs, encoder_hidden, max_encoder_output = self.encoder(sources, sources_lengths.tolist())\n        s_t_1 = self.reduce_state(encoder_hidden)\n        size = len(sources_lengths.tolist())\n        c_t_1 = Variable(torch.zeros((size, 2 * self.config.hidden_dim)),volatile= False)\n        if self.config.use_maxpool_init_ctx:\n            c_t_1 = max_encoder_output\n        if self.config.use_cuda:\n            c_t_1 = c_t_1.cuda()\n        if self.config.is_semantic_similary:\n            self.en_h = s_t_1[0].squeeze(0) # b x hidden_dim\n        step_losses = []\n        max_l = targets.size()[1]\n        for di in range(max_l):\n            y_t_1 = encoder_inputs[:, di]  # Teacher forcing\n            final_dist, s_t_1, c_t_1, attn_dist, p_gen, next_coverage = self.decoder(y_t_1, s_t_1,\n                                                                                           encoder_outputs,\n                                                                                           source_padding_mask, c_t_1,\n                                                                                           extra_zeros,\n                                                                                           sources_batch_extend_vocab,\n                                                                                           coverage, di)\n            target = targets[:, di]\n            gold_probs = torch.gather(final_dist, 1, target.unsqueeze(1)).squeeze()\n            step_loss = -torch.log(gold_probs + self.config.eps)\n            if self.config.is_coverage:\n                step_coverage_loss = torch.sum(torch.min(attn_dist, coverage), 1)\n                step_loss = step_loss + self.config.cov_loss_wt * step_coverage_loss\n                coverage = next_coverage\n            step_mask = target.ne(PAD).float()\n            step_loss = step_loss * step_mask\n            step_losses.append(step_loss)\n        step_losses = torch.stack(step_losses, 1)\n        num_total = targets.data.ne(PAD).sum()\n        mean_loss = torch.sum(step_losses) / num_total\n        if self.config.is_semantic_similary:\n            self.de_h = s_t_1[0].squeeze(0) - self.en_h\n            mean_loss = mean_loss - self.config.simil_wt * F.cosine_similarity(self.en_h,self.de_h,eps=self.config.eps)\n        mean_loss.backward()\n        return mean_loss.data[0]\n\n    def rein_forward(self, sources, sources_lengths, source_padding_mask, sources_batch_extend_vocab, extra_zeros,\n                    coverage, tag_max_l, mode = 'sample'):\n        # mode = 'sample_max' or 'sample'\n        if mode != 'sample' and mode != 'sample_max':\n            raise ValueError('mode param must is sample or sample_max')\n        encoder_outputs, encoder_hidden, max_encoder_output = self.encoder(sources, sources_lengths.tolist())\n        s_t_1 = self.reduce_state(encoder_hidden)\n        size = len(sources_lengths.tolist())\n        c_t_1 = Variable(torch.zeros((size, 2 * self.config.hidden_dim)), volatile=(mode=='sample_max'))\n        if self.config.use_maxpool_init_ctx:\n            c_t_1 = max_encoder_output\n        y_t_1 = Variable(torch.LongTensor(size).fill_(BOS), volatile=(mode=='sample_max'))\n        if self.config.use_cuda:\n            c_t_1 = c_t_1.cuda()\n            y_t_1 = y_t_1.cuda()\n        # 不用teach forcing，根据采样分布sample选取\n        sample_y = []\n        log_probs = []\n        for di in range(tag_max_l):\n            final_dist, s_t_1, c_t_1, attn_dist, p_gen, next_coverage = self.decoder(y_t_1, s_t_1,\n                                                                                     encoder_outputs,\n                                                                                     source_padding_mask, c_t_1,\n                                                                                     extra_zeros,\n                                                                                     sources_batch_extend_vocab,\n                                                                                     coverage, di)\n            if mode == 'sample':\n                y_t_1 = torch.multinomial(final_dist, 1).view(-1)  # word_id可能oov,需要将 oov 换成unk\n                gold_probs = torch.gather(final_dist, 1, y_t_1.unsqueeze(1)).squeeze()\n\n            elif mode == 'sample_max':\n                gold_probs, y_t_1 = torch.max(final_dist, 1)\n            sample_y.append(y_t_1)\n            y_t_1 = self.variable_to_init_id(y_t_1)\n            step_loss = -torch.log(gold_probs + self.config.eps)\n            if self.config.is_coverage:\n                step_coverage_loss = torch.sum(torch.min(attn_dist, coverage), 1)\n                step_loss = step_loss + self.config.cov_loss_wt * step_coverage_loss\n                coverage = next_coverage\n            step_mask = sample_y[-1].ne(PAD).float()\n            step_loss = step_loss * step_mask\n            log_probs.append(step_loss)\n        log_probs = torch.stack(log_probs, 1)\n        sample_y = torch.stack(sample_y, 1)\n        return log_probs, sample_y  # [B, max_seq_l]\n\n    def beam_sample(self, sources, sources_lengths, source_padding_mask, sources_batch_extend_vocab, extra_zeros, coverage, beam_size):\n        encoder_outputs, encoder_hidden, max_encoder_output = self.encoder(sources, sources_lengths.tolist())\n        b = max_encoder_output.size()[0]\n        s_t_0 = self.reduce_state(encoder_hidden)\n        c_t_0 = Variable(torch.zeros((b, 2 * self.config.hidden_dim)), volatile=False)\n        if self.config.use_maxpool_init_ctx:\n            c_t_0 = max_encoder_output\n        if self.config.use_cuda:\n            c_t_0 = c_t_0.cuda()\n        dec_h, dec_c = s_t_0  # 1 x 2*hidden_size\n        dec_h = dec_h.squeeze(dim=0) #默认会把前两个都squeeze了\n        dec_c = dec_c.squeeze(dim=0)\n        # decoder batch preparation, it has beam_size example initially everything is repeated\n        beams = [Beam(tokens=[BOS],\n                      log_probs=[0.0],\n                      state=(dec_h[0], dec_c[0]),\n                      context=c_t_0[0],\n                      coverage=(coverage[0] if self.config.is_coverage else None))\n                 for _ in range(beam_size)]\n        results = []\n        steps = 0\n        while steps < self.config.max_dec_steps and len(results) < beam_size:\n            latest_tokens = [h.latest_token for h in beams]\n            latest_tokens = [t if t < self.config.tgt_vocab_size else UNK for t in latest_tokens]\n            y_t_1 = Variable(torch.LongTensor(latest_tokens),volatile=False)\n            if self.use_cuda:\n                y_t_1 = y_t_1.cuda()\n            all_state_h = []\n            all_state_c = []\n\n            all_context = []\n\n            for h in beams:\n                state_h, state_c = h.state\n                all_state_h.append(state_h)\n                all_state_c.append(state_c)\n\n                all_context.append(h.context)\n\n            s_t_1 = (torch.stack(all_state_h, 0).unsqueeze(0), torch.stack(all_state_c, 0).unsqueeze(0))\n            c_t_1 = torch.stack(all_context, 0)\n\n            coverage_t_1 = None\n            if self.config.is_coverage:\n                all_coverage = []\n                for h in beams:\n                    all_coverage.append(h.coverage)\n                coverage_t_1 = torch.stack(all_coverage, 0)\n\n            final_dist, s_t, c_t, attn_dist, p_gen, coverage_t = self.decoder(y_t_1, s_t_1,\n                                                        encoder_outputs, source_padding_mask, c_t_1,\n                                                        extra_zeros, sources_batch_extend_vocab, coverage_t_1, steps)\n\n            topk_log_probs, topk_ids = torch.topk(final_dist, beam_size * 2)\n\n            dec_h, dec_c = s_t\n            dec_h = dec_h.squeeze()\n            dec_c = dec_c.squeeze()\n\n            all_beams = []\n            num_orig_beams = 1 if steps == 0 else len(beams)\n            for i in range(num_orig_beams):\n                h = beams[i]\n                state_i = (dec_h[i], dec_c[i])\n                context_i = c_t[i]\n                coverage_i = (coverage_t[i] if self.config.is_coverage else None)\n\n                for j in range(self.config.beam_size * 2):  # for each of the top 2*beam_size hyps:\n                    new_beam = h.extend(token=topk_ids[i, j].data[0],\n                                   log_prob=topk_log_probs[i, j].data[0],\n                                   state=state_i,\n                                   context=context_i,\n                                   coverage=coverage_i)\n                    all_beams.append(new_beam)\n            beams = []\n            for h in self.sort_beams(all_beams):\n                if h.latest_token == EOS:\n                    if steps >= self.config.min_dec_steps:\n                        results.append(h)\n                else:\n                    beams.append(h)\n                if len(beams) == beam_size or len(results) == beam_size:\n                    break\n\n            steps += 1\n\n        if len(results) == 0:\n            results = beams\n\n        beams_sorted = self.sort_beams(results)\n        output_ids = [int(t) for t in beams_sorted[0].tokens[1:]]\n        return output_ids\n\n    def sort_beams(self, beams):\n        beams.sort(key=lambda h: h.avg_log_prob, reverse=True)\n        return beams\n\n    def variable_to_init_id(self, v):\n        li = [t if t < self.config.tgt_vocab_size else UNK for t in v.data.tolist()]\n        v_data = torch.LongTensor(li)\n        if self.config.use_cuda:\n            v_data = v_data.cuda()\n        v.data = v_data\n        return v\n\n    # def comput_rewardCritierion(self, inputs,  ):\n    #     pass\n\n"
  },
  {
    "path": "NLP/AutoTitle_F/pycocoevalcap/README.md",
    "content": "# coco-caption\n\nOriginal README can be found at [tylin/coco-caption](https://github.com/tylin/coco-caption/blob/3f0fe9b819c0ea881a56441e4de1146924a394eb/README.md).\n\n## License\n\nAll files in the pycocoevalcap directory are under\n[BSD 2-clause \"Simplified\" License](https://github.com/tylin/coco-caption/blob/3f0fe9b819c0ea881a56441e4de1146924a394eb/license.txt)\n"
  },
  {
    "path": "NLP/AutoTitle_F/pycocoevalcap/__init__.py",
    "content": "__author__ = 'tylin'\n"
  },
  {
    "path": "NLP/AutoTitle_F/pycocoevalcap/bleu/LICENSE",
    "content": "Copyright (c) 2015 Xinlei Chen, Hao Fang, Tsung-Yi Lin, and Ramakrishna Vedantam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "NLP/AutoTitle_F/pycocoevalcap/bleu/__init__.py",
    "content": "__author__ = 'tylin'\n# from bleu"
  },
  {
    "path": "NLP/AutoTitle_F/pycocoevalcap/bleu/bleu.py",
    "content": "#!/usr/bin/env python\n# \n# File Name : bleu.py\n#\n# Description : Wrapper for BLEU scorer.\n#\n# Creation Date : 06-01-2015\n# Last Modified : Thu 19 Mar 2015 09:13:28 PM PDT\n# Authors : Hao Fang <hfang@uw.edu> and Tsung-Yi Lin <tl483@cornell.edu>\n\nfrom .bleu_scorer import BleuScorer\n\n\nclass Bleu:\n    def __init__(self, n=4):\n        # default compute Blue score up to 4\n        self._n = n\n        self._hypo_for_image = {}\n        self.ref_for_image = {}\n\n    def compute_score(self,hyps, refs):\n\n        # assert(gts.keys() == res.keys())\n        # imgIds = gts.keys()\n\n        bleu_scorer = BleuScorer(n=self._n)\n        # for id in imgIds:\n        #     hypo = res[id]\n        #     ref = gts[id]\n        for (hyp, ref) in zip(hyps, refs):\n            # Sanity check.\n            bleu_scorer += (hyp, [ref])\n\n        #score, scores = bleu_scorer.compute_score(option='shortest')\n        score, scores = bleu_scorer.compute_score(option='closest', verbose=0)\n        #score, scores = bleu_scorer.compute_score(option='average', verbose=1)\n        # return (bleu, bleu_info)\n        return score, scores\n\n    def method(self):\n        return \"Bleu\"\n"
  },
  {
    "path": "NLP/AutoTitle_F/pycocoevalcap/bleu/bleu_scorer.py",
    "content": "#!/usr/bin/env python\n\n# bleu_scorer.py\n# David Chiang <chiang@isi.edu>\n\n# Copyright (c) 2004-2006 University of Maryland. All rights\n# reserved. Do not redistribute without permission from the\n# author. Not for commercial use.\n\n# Modified by:\n# Hao Fang <hfang@uw.edu>\n# Tsung-Yi Lin <tl483@cornell.edu>\n\n'''Provides:\ncook_refs(refs, n=4): Transform a list of reference sentences as strings into a form usable by cook_test().\ncook_test(test, refs, n=4): Transform a test sentence as a string (together with the cooked reference sentences) into a form usable by score_cooked().\n'''\n\nimport copy\nimport sys, math, re\nfrom collections import defaultdict\n\nimport six\nfrom six.moves import xrange as range\n\n\ndef precook(s, n=4, out=False):\n    \"\"\"Takes a string as input and returns an object that can be given to\n    either cook_refs or cook_test. This is optional: cook_refs and cook_test\n    can take string arguments as well.\"\"\"\n    words = s.split()\n    counts = defaultdict(int)\n    for k in range(1,n+1):\n        for i in range(len(words)-k+1):\n            ngram = tuple(words[i:i+k])\n            counts[ngram] += 1\n    return (len(words), counts)\n\ndef cook_refs(refs, eff=None, n=4): ## lhuang: oracle will call with \"average\"\n    '''Takes a list of reference sentences for a single segment\n    and returns an object that encapsulates everything that BLEU\n    needs to know about them.'''\n\n    reflen = []\n    maxcounts = {}\n    for ref in refs:\n        rl, counts = precook(ref, n)\n        reflen.append(rl)\n        for (ngram,count) in six.iteritems(counts):\n            maxcounts[ngram] = max(maxcounts.get(ngram,0), count)\n\n    # Calculate effective reference sentence length.\n    if eff == \"shortest\":\n        reflen = min(reflen)\n    elif eff == \"average\":\n        reflen = float(sum(reflen))/len(reflen)\n\n    ## lhuang: N.B.: leave reflen computaiton to the very end!!\n\n    ## lhuang: N.B.: in case of \"closest\", keep a list of reflens!! (bad design)\n\n    return (reflen, maxcounts)\n\ndef cook_test(test, reflen_refmaxcounts, eff=None, n=4):\n    '''Takes a test sentence and returns an object that\n    encapsulates everything that BLEU needs to know about it.'''\n\n    reflen, refmaxcounts = reflen_refmaxcounts\n    testlen, counts = precook(test, n, True)\n\n    result = {}\n\n    # Calculate effective reference sentence length.\n\n    if eff == \"closest\":\n        result[\"reflen\"] = min((abs(l-testlen), l) for l in reflen)[1]\n    else: ## i.e., \"average\" or \"shortest\" or None\n        result[\"reflen\"] = reflen\n\n    result[\"testlen\"] = testlen\n\n    result[\"guess\"] = [max(0,testlen-k+1) for k in range(1,n+1)]\n\n    result['correct'] = [0]*n\n    for (ngram, count) in six.iteritems(counts):\n        result[\"correct\"][len(ngram)-1] += min(refmaxcounts.get(ngram,0), count)\n\n    return result\n\nclass BleuScorer(object):\n    \"\"\"Bleu scorer.\n    \"\"\"\n\n    __slots__ = \"n\", \"crefs\", \"ctest\", \"_score\", \"_ratio\", \"_testlen\", \"_reflen\", \"special_reflen\"\n    # special_reflen is used in oracle (proportional effective ref len for a node).\n\n    def copy(self):\n        ''' copy the refs.'''\n        new = BleuScorer(n=self.n)\n        new.ctest = copy.copy(self.ctest)\n        new.crefs = copy.copy(self.crefs)\n        new._score = None\n        return new\n\n    def __init__(self, test=None, refs=None, n=4, special_reflen=None):\n        ''' singular instance '''\n\n        self.n = n\n        self.crefs = []\n        self.ctest = []\n        self.cook_append(test, refs)\n        self.special_reflen = special_reflen\n\n    def cook_append(self, test, refs):\n        '''called by constructor and __iadd__ to avoid creating new instances.'''\n\n        if refs is not None:\n            self.crefs.append(cook_refs(refs))\n            if test is not None:\n                cooked_test = cook_test(test, self.crefs[-1])\n                self.ctest.append(cooked_test) ## N.B.: -1\n            else:\n                self.ctest.append(None) # lens of crefs and ctest have to match\n\n        self._score = None ## need to recompute\n\n    def ratio(self, option=None):\n        self.compute_score(option=option)\n        return self._ratio\n\n    def score_ratio(self, option=None):\n        '''return (bleu, len_ratio) pair'''\n        return (self.fscore(option=option), self.ratio(option=option))\n\n    def score_ratio_str(self, option=None):\n        return \"%.4f (%.2f)\" % self.score_ratio(option)\n\n    def reflen(self, option=None):\n        self.compute_score(option=option)\n        return self._reflen\n\n    def testlen(self, option=None):\n        self.compute_score(option=option)\n        return self._testlen\n\n    def retest(self, new_test):\n        if type(new_test) is str:\n            new_test = [new_test]\n        assert len(new_test) == len(self.crefs), new_test\n        self.ctest = []\n        for t, rs in zip(new_test, self.crefs):\n            self.ctest.append(cook_test(t, rs))\n        self._score = None\n\n        return self\n\n    def rescore(self, new_test):\n        ''' replace test(s) with new test(s), and returns the new score.'''\n\n        return self.retest(new_test).compute_score()\n\n    def size(self):\n        assert len(self.crefs) == len(self.ctest), \"refs/test mismatch! %d<>%d\" % (len(self.crefs), len(self.ctest))\n        return len(self.crefs)\n\n    def __iadd__(self, other):\n        '''add an instance (e.g., from another sentence).'''\n\n        if type(other) is tuple:\n            ## avoid creating new BleuScorer instances\n            self.cook_append(other[0], other[1])\n        else:\n            assert self.compatible(other), \"incompatible BLEUs.\"\n            self.ctest.extend(other.ctest)\n            self.crefs.extend(other.crefs)\n            self._score = None ## need to recompute\n\n        return self\n\n    def compatible(self, other):\n        return isinstance(other, BleuScorer) and self.n == other.n\n\n    def single_reflen(self, option=\"average\"):\n        return self._single_reflen(self.crefs[0][0], option)\n\n    def _single_reflen(self, reflens, option=None, testlen=None):\n\n        if option == \"shortest\":\n            reflen = min(reflens)\n        elif option == \"average\":\n            reflen = float(sum(reflens))/len(reflens)\n        elif option == \"closest\":\n            reflen = min((abs(l-testlen), l) for l in reflens)[1]\n        else:\n            assert False, \"unsupported reflen option %s\" % option\n\n        return reflen\n\n    def recompute_score(self, option=None, verbose=0):\n        self._score = None\n        return self.compute_score(option, verbose)\n\n    def compute_score(self, option=None, verbose=0):\n        n = self.n\n        small = 1e-9\n        tiny = 1e-15 ## so that if guess is 0 still return 0\n        bleu_list = [[] for _ in range(n)]\n\n        if self._score is not None:\n            return self._score\n\n        if option is None:\n            option = \"average\" if len(self.crefs) == 1 else \"closest\"\n\n        self._testlen = 0\n        self._reflen = 0\n        totalcomps = {'testlen':0, 'reflen':0, 'guess':[0]*n, 'correct':[0]*n}\n\n        # for each sentence\n        for comps in self.ctest:\n            testlen = comps['testlen']\n            self._testlen += testlen\n\n            if self.special_reflen is None: ## need computation\n                reflen = self._single_reflen(comps['reflen'], option, testlen)\n            else:\n                reflen = self.special_reflen\n\n            self._reflen += reflen\n\n            for key in ['guess','correct']:\n                for k in range(n):\n                    totalcomps[key][k] += comps[key][k]\n\n            # append per image bleu score\n            bleu = 1.\n            for k in range(n):\n                bleu *= (float(comps['correct'][k]) + tiny) \\\n                        /(float(comps['guess'][k]) + small)\n                bleu_list[k].append(bleu ** (1./(k+1)))\n            ratio = (testlen + tiny) / (reflen + small) ## N.B.: avoid zero division\n            if ratio < 1:\n                for k in range(n):\n                    bleu_list[k][-1] *= math.exp(1 - 1/ratio)\n\n            if verbose > 1:\n                print(comps, reflen)\n\n        totalcomps['reflen'] = self._reflen\n        totalcomps['testlen'] = self._testlen\n\n        bleus = []\n        bleu = 1.\n        for k in range(n):\n            bleu *= float(totalcomps['correct'][k] + tiny) \\\n                    / (totalcomps['guess'][k] + small)\n            bleus.append(bleu ** (1./(k+1)))\n        ratio = (self._testlen + tiny) / (self._reflen + small) ## N.B.: avoid zero division\n        if ratio < 1:\n            for k in range(n):\n                bleus[k] *= math.exp(1 - 1/ratio)\n\n        if verbose > 0:\n            print(totalcomps)\n            print(\"ratio:\", ratio)\n\n        self._score = bleus\n        return self._score, bleu_list\n"
  },
  {
    "path": "NLP/AutoTitle_F/pycocoevalcap/cider/__init__.py",
    "content": "__author__ = 'tylin'\n"
  },
  {
    "path": "NLP/AutoTitle_F/pycocoevalcap/cider/cider.py",
    "content": "# Filename: cider.py\n#\n# Description: Describes the class to compute the CIDEr (Consensus-Based Image Description Evaluation) Metric \n#               by Vedantam, Zitnick, and Parikh (http://arxiv.org/abs/1411.5726)\n#\n# Creation Date: Sun Feb  8 14:16:54 2015\n#\n# Authors: Ramakrishna Vedantam <vrama91@vt.edu> and Tsung-Yi Lin <tl483@cornell.edu>\n\nfrom .cider_scorer import CiderScorer\nimport pdb\n\nclass Cider:\n    \"\"\"\n    Main Class to compute the CIDEr metric \n\n    \"\"\"\n    def __init__(self, test=None, refs=None, n=4, sigma=6.0):\n        # set cider to sum over 1 to 4-grams\n        self._n = n\n        # set the standard deviation parameter for gaussian penalty\n        self._sigma = sigma\n\n    def compute_score(self, hyps, refs):\n        \"\"\"\n        Main function to compute CIDEr score\n        :param  hypo_for_image (dict) : dictionary with key <image> and value <tokenized hypothesis / candidate sentence>\n                ref_for_image (dict)  : dictionary with key <image> and value <tokenized reference sentence>\n        :return: cider (float) : computed CIDEr score for the corpus \n        \"\"\"\n\n        # assert(gts.keys() == res.keys())\n        # imgIds = gts.keys()\n\n        cider_scorer = CiderScorer(n=self._n, sigma=self._sigma)\n\n        # for id in imgIds:\n        #     hypo = res[id]\n        #     ref = gts[id]\n        for (hyp, ref) in zip(hyps, refs):\n            # Sanity check.\n            # assert(type(hypo) is list)\n            # assert(len(hypo) == 1)\n            # assert(type(ref) is list)\n            # assert(len(ref) > 0)\n\n            cider_scorer += (hyp, [ref])\n        (score, scores) = cider_scorer.compute_score()\n\n        return score, scores\n\n    def method(self):\n        return \"CIDEr\"\n"
  },
  {
    "path": "NLP/AutoTitle_F/pycocoevalcap/cider/cider_scorer.py",
    "content": "#!/usr/bin/env python\n# Tsung-Yi Lin <tl483@cornell.edu>\n# Ramakrishna Vedantam <vrama91@vt.edu>\n\nimport copy\nimport math\nfrom collections import defaultdict\n\nimport numpy as np\nfrom six.moves import xrange as range\nimport six\n\ndef precook(s, n=4, out=False):\n    \"\"\"\n    Takes a string as input and returns an object that can be given to\n    either cook_refs or cook_test. This is optional: cook_refs and cook_test\n    can take string arguments as well.\n    :param s: string : sentence to be converted into ngrams\n    :param n: int    : number of ngrams for which representation is calculated\n    :return: term frequency vector for occuring ngrams\n    \"\"\"\n    words = s.split()\n    counts = defaultdict(int)\n    for k in range(1,n+1):\n        for i in range(len(words)-k+1):\n            ngram = tuple(words[i:i+k])\n            counts[ngram] += 1\n    return counts\n\ndef cook_refs(refs, n=4): ## lhuang: oracle will call with \"average\"\n    '''Takes a list of reference sentences for a single segment\n    and returns an object that encapsulates everything that BLEU\n    needs to know about them.\n    :param refs: list of string : reference sentences for some image\n    :param n: int : number of ngrams for which (ngram) representation is calculated\n    :return: result (list of dict)\n    '''\n    return [precook(ref, n) for ref in refs]\n\ndef cook_test(test, n=4):\n    '''Takes a test sentence and returns an object that\n    encapsulates everything that BLEU needs to know about it.\n    :param test: list of string : hypothesis sentence for some image\n    :param n: int : number of ngrams for which (ngram) representation is calculated\n    :return: result (dict)\n    '''\n    return precook(test, n, True)\n\nclass CiderScorer(object):\n    \"\"\"CIDEr scorer.\n    \"\"\"\n\n    def copy(self):\n        ''' copy the refs.'''\n        new = CiderScorer(n=self.n)\n        new.ctest = copy.copy(self.ctest)\n        new.crefs = copy.copy(self.crefs)\n        return new\n\n    def __init__(self, test=None, refs=None, n=4, sigma=6.0):\n        ''' singular instance '''\n        self.n = n\n        self.sigma = sigma\n        self.crefs = []\n        self.ctest = []\n        self.document_frequency = defaultdict(float)\n        self.cook_append(test, refs)\n        self.ref_len = None\n\n    def cook_append(self, test, refs):\n        '''called by constructor and __iadd__ to avoid creating new instances.'''\n\n        if refs is not None:\n            self.crefs.append(cook_refs(refs))\n            if test is not None:\n                self.ctest.append(cook_test(test)) ## N.B.: -1\n            else:\n                self.ctest.append(None) # lens of crefs and ctest have to match\n\n    def size(self):\n        assert len(self.crefs) == len(self.ctest), \"refs/test mismatch! %d<>%d\" % (len(self.crefs), len(self.ctest))\n        return len(self.crefs)\n\n    def __iadd__(self, other):\n        '''add an instance (e.g., from another sentence).'''\n\n        if type(other) is tuple:\n            ## avoid creating new CiderScorer instances\n            self.cook_append(other[0], other[1])\n        else:\n            self.ctest.extend(other.ctest)\n            self.crefs.extend(other.crefs)\n\n        return self\n    def compute_doc_freq(self):\n        '''\n        Compute term frequency for reference data.\n        This will be used to compute idf (inverse document frequency later)\n        The term frequency is stored in the object\n        :return: None\n        '''\n        for refs in self.crefs:\n            # refs, k ref captions of one image\n            for ngram in set([ngram for ref in refs for (ngram,count) in six.iteritems(ref)]):\n                self.document_frequency[ngram] += 1\n            # maxcounts[ngram] = max(maxcounts.get(ngram,0), count)\n\n    def compute_cider(self):\n        def counts2vec(cnts):\n            \"\"\"\n            Function maps counts of ngram to vector of tfidf weights.\n            The function returns vec, an array of dictionary that store mapping of n-gram and tf-idf weights.\n            The n-th entry of array denotes length of n-grams.\n            :param cnts:\n            :return: vec (array of dict), norm (array of float), length (int)\n            \"\"\"\n            vec = [defaultdict(float) for _ in range(self.n)]\n            length = 0\n            norm = [0.0 for _ in range(self.n)]\n            for (ngram,term_freq) in six.iteritems(cnts):\n                # give word count 1 if it doesn't appear in reference corpus\n                df = np.log(max(1.0, self.document_frequency[ngram]))\n                # ngram index\n                n = len(ngram)-1\n                # tf (term_freq) * idf (precomputed idf) for n-grams\n                vec[n][ngram] = float(term_freq)*(self.ref_len - df)\n                # compute norm for the vector.  the norm will be used for computing similarity\n                norm[n] += pow(vec[n][ngram], 2)\n\n                if n == 1:\n                    length += term_freq\n            norm = [np.sqrt(n) for n in norm]\n            return vec, norm, length\n\n        def sim(vec_hyp, vec_ref, norm_hyp, norm_ref, length_hyp, length_ref):\n            '''\n            Compute the cosine similarity of two vectors.\n            :param vec_hyp: array of dictionary for vector corresponding to hypothesis\n            :param vec_ref: array of dictionary for vector corresponding to reference\n            :param norm_hyp: array of float for vector corresponding to hypothesis\n            :param norm_ref: array of float for vector corresponding to reference\n            :param length_hyp: int containing length of hypothesis\n            :param length_ref: int containing length of reference\n            :return: array of score for each n-grams cosine similarity\n            '''\n            delta = float(length_hyp - length_ref)\n            # measure consine similarity\n            val = np.array([0.0 for _ in range(self.n)])\n            for n in range(self.n):\n                # ngram\n                for (ngram,count) in six.iteritems(vec_hyp[n]):\n                    # vrama91 : added clipping\n                    val[n] += min(vec_hyp[n][ngram], vec_ref[n][ngram]) * vec_ref[n][ngram]\n\n                if (norm_hyp[n] != 0) and (norm_ref[n] != 0):\n                    val[n] /= (norm_hyp[n]*norm_ref[n])\n\n                assert(not math.isnan(val[n]))\n                # vrama91: added a length based gaussian penalty\n                val[n] *= np.e**(-(delta**2)/(2*self.sigma**2))\n            return val\n\n        # compute log reference length\n        self.ref_len = np.log(float(len(self.crefs)))\n\n        scores = []\n        for test, refs in zip(self.ctest, self.crefs):\n            # compute vector for test captions\n            vec, norm, length = counts2vec(test)\n            # compute vector for ref captions\n            score = np.array([0.0 for _ in range(self.n)])\n            for ref in refs:\n                vec_ref, norm_ref, length_ref = counts2vec(ref)\n                score += sim(vec, vec_ref, norm, norm_ref, length, length_ref)\n            # change by vrama91 - mean of ngram scores, instead of sum\n            score_avg = np.mean(score)\n            # divide by number of references\n            score_avg /= len(refs)\n            # multiply score by 10\n            score_avg *= 10.0\n            # append score of an image to the score list\n            scores.append(score_avg)\n        return scores\n\n    def compute_score(self, option=None, verbose=0):\n        # compute idf\n        self.compute_doc_freq()\n        # assert to check document frequency\n        assert(len(self.ctest) >= max(self.document_frequency.values()))\n        # compute cider score\n        score = self.compute_cider()\n        # debug\n        # print score\n        return np.mean(np.array(score)), np.array(score)"
  },
  {
    "path": "NLP/AutoTitle_F/pycocoevalcap/license.txt",
    "content": "Copyright (c) 2015, Xinlei Chen, Hao Fang, Tsung-Yi Lin, and Ramakrishna Vedantam\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this\n   list of conditions and the following disclaimer.\n2. Redistributions in binary form must reproduce the above copyright notice,\n   this list of conditions and the following disclaimer in the documentation\n   and/or other materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\nON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\nThe views and conclusions contained in the software and documentation are those\nof the authors and should not be interpreted as representing official policies,\neither expressed or implied, of the FreeBSD Project.\n"
  },
  {
    "path": "NLP/AutoTitle_F/pycocoevalcap/meteor/__init__.py",
    "content": "__author__ = 'tylin'\n"
  },
  {
    "path": "NLP/AutoTitle_F/pycocoevalcap/meteor/meteor.py",
    "content": "#!/usr/bin/env python\n\n# Python wrapper for METEOR implementation, by Xinlei Chen\n# Acknowledge Michael Denkowski for the generous discussion and help \n\nimport atexit\nimport sys\nimport os\nimport subprocess\nimport threading\n\n# Assumes meteor-1.5.jar is in the same directory as meteor.py.  Change as needed.\nMETEOR_JAR = 'meteor-1.5.jar'\n\n\ndef enc(s):\n    return s.encode('utf-8')\n\ndef dec(s):\n    return s.decode('utf-8')\n\n\nclass Meteor:\n\n    def __init__(self):\n        # Used to guarantee thread safety\n        self.lock = threading.Lock()\n\n        meteor_cmd = ['java', '-jar', '-Xmx2G', METEOR_JAR,\n                      '-', '-', '-stdio', '-l', 'en', '-norm']\n        env = os.environ.copy()\n        env['LC_ALL'] = \"C\"\n        self.meteor_p = subprocess.Popen(meteor_cmd,\n                                         cwd=os.path.dirname(os.path.abspath(__file__)),\n                                         env=env,\n                                         stdin=subprocess.PIPE,\n                                         stdout=subprocess.PIPE,\n                                         stderr=subprocess.PIPE)\n\n        atexit.register(self.close)\n\n    def close(self):\n        with self.lock:\n            if self.meteor_p:\n                self.meteor_p.kill()\n                self.meteor_p.wait()\n                self.meteor_p = None\n        # if the user calls close() manually, remove the\n        # reference from atexit so the object can be garbage-collected.\n        if atexit is not None and atexit.unregister is not None:\n            atexit.unregister(self.close)\n\n    def compute_score(self, gts, res):\n        assert (gts.keys() == res.keys())\n        imgIds = gts.keys()\n        scores = []\n\n        eval_line = 'EVAL'\n        with self.lock:\n            for i in imgIds:\n                assert (len(res[i]) == 1)\n                stat = self._stat(res[i][0], gts[i])\n                eval_line += ' ||| {}'.format(stat)\n\n            self.meteor_p.stdin.write(enc('{}\\n'.format(eval_line)))\n            self.meteor_p.stdin.flush()\n            for i in range(0, len(imgIds)):\n                scores.append(float(dec(self.meteor_p.stdout.readline().strip())))\n            score = float(dec(self.meteor_p.stdout.readline()).strip())\n\n        return score, scores\n\n    def method(self):\n        return \"METEOR\"\n\n    def _stat(self, hypothesis_str, reference_list):\n        # SCORE ||| reference 1 words ||| reference n words ||| hypothesis words\n        hypothesis_str = hypothesis_str.replace('|||', '').replace('  ', ' ')\n        score_line = ' ||| '.join(('SCORE', ' ||| '.join(reference_list), hypothesis_str))\n        self.meteor_p.stdin.write(enc(score_line))\n        self.meteor_p.stdin.write(enc('\\n'))\n        self.meteor_p.stdin.flush()\n        return dec(self.meteor_p.stdout.readline()).strip()\n\n    def _score(self, hypothesis_str, reference_list):\n        with self.lock:\n            # SCORE ||| reference 1 words ||| reference n words ||| hypothesis words\n            hypothesis_str = hypothesis_str.replace('|||', '').replace('  ', ' ')\n            score_line = ' ||| '.join(('SCORE', ' ||| '.join(reference_list), hypothesis_str))\n            self.meteor_p.stdin.write(enc('{}\\n'.format(score_line)))\n            self.meteor_p.stdin.flush()\n            stats = dec(self.meteor_p.stdout.readline()).strip()\n            eval_line = 'EVAL ||| {}'.format(stats)\n            # EVAL ||| stats \n            self.meteor_p.stdin.write(enc('{}\\n'.format(eval_line)))\n            self.meteor_p.stdin.flush()\n            score = float(dec(self.meteor_p.stdout.readline()).strip())\n            # bug fix: there are two values returned by the jar file, one average, and one all, so do it twice\n            # thanks for Andrej for pointing this out\n            score = float(dec(self.meteor_p.stdout.readline()).strip())\n        return score\n\n    def __del__(self):\n        self.close()\n"
  },
  {
    "path": "NLP/AutoTitle_F/pycocoevalcap/meteor/tests/test_meteor.py",
    "content": "# -*- coding: utf-8 -*-\nfrom __future__ import unicode_literals\n\nimport unittest\n\nfrom nlgeval.pycocoevalcap.meteor.meteor import Meteor\n\n\nclass TestMeteor(unittest.TestCase):\n    def test_compute_score(self):\n        m = Meteor()\n\n        s = m.compute_score({0: [\"test\"]}, {0: [\"test\"]})\n        self.assertEqual(s, (1.0, [1.0]))\n\n        s = m.compute_score({0: [\"テスト\"]}, {0: [\"テスト\"]})\n        self.assertEqual(s, (1.0, [1.0]))\n"
  },
  {
    "path": "NLP/AutoTitle_F/pycocoevalcap/rouge/__init__.py",
    "content": "__author__ = 'vrama91'\n"
  },
  {
    "path": "NLP/AutoTitle_F/pycocoevalcap/rouge/rouge.py",
    "content": "#!/usr/bin/env python\n# \n# File Name : rouge.py\n#\n# Description : Computes ROUGE-L metric as described by Lin and Hovey (2004)\n#\n# Creation Date : 2015-01-07 06:03\n# Author : Ramakrishna Vedantam <vrama91@vt.edu>\n\nimport numpy as np\nimport pdb\n\ndef my_lcs(string, sub):\n    \"\"\"\n    Calculates longest common subsequence for a pair of tokenized strings\n    :param string : list of str : tokens from a string split using whitespace\n    :param sub : list of str : shorter string, also split using whitespace\n    :returns: length (list of int): length of the longest common subsequence between the two strings\n\n    Note: my_lcs only gives length of the longest common subsequence, not the actual LCS\n    \"\"\"\n    if(len(string)< len(sub)):\n        sub, string = string, sub\n\n    lengths = [[0 for i in range(0,len(sub)+1)] for j in range(0,len(string)+1)]\n\n    for j in range(1,len(sub)+1):\n        for i in range(1,len(string)+1):\n            if(string[i-1] == sub[j-1]):\n                lengths[i][j] = lengths[i-1][j-1] + 1\n            else:\n                lengths[i][j] = max(lengths[i-1][j] , lengths[i][j-1])\n\n    return lengths[len(string)][len(sub)]\n\nclass Rouge():\n    '''\n    Class for computing ROUGE-L score for a set of candidate sentences for the MS COCO test set\n\n    '''\n    def __init__(self):\n        # vrama91: updated the value below based on discussion with Hovey\n        self.beta = 1.2\n\n    def calc_score(self, candidate, refs):\n        \"\"\"\n        Compute ROUGE-L score given one candidate and references for an image\n        :param candidate: str : candidate sentence to be evaluated\n        :param refs: list of str : COCO reference sentences for the particular image to be evaluated\n        :returns score: int (ROUGE-L score for the candidate evaluated against references)\n        \"\"\"\n        # assert(len(candidate)==1)\n        assert(len(refs)>0)         \n        prec = []\n        rec = []\n\n        # split into tokens\n        token_c = candidate.split(\" \")\n    \t\n        for reference in refs:\n            # split into tokens\n            token_r = reference.split(\" \")\n            # compute the longest common subsequence\n            lcs = my_lcs(token_r, token_c)\n            prec.append(lcs/float(len(token_c)))\n            rec.append(lcs/float(len(token_r)))\n\n        prec_max = max(prec)\n        rec_max = max(rec)\n\n        if(prec_max!=0 and rec_max !=0):\n            beta = prec_max/(float(rec_max) + 1e-12)\n            score = ((1 + beta**2)*prec_max*rec_max)/float(rec_max + beta**2*prec_max)\n        else:\n            score = 0.0\n        return score\n\n    def compute_score(self, hyps, refs):\n        \"\"\"\n        Computes Rouge-L score given a set of reference and candidate sentences for the dataset\n        Invoked by evaluate_captions.py \n        \"\"\"\n        # assert(gts.keys() == res.keys())\n        # imgIds = gts.keys()\n\n        score = []\n        for (hyp, ref) in zip(hyps, refs):\n            # hypo = res[id]\n            # ref  = gts[id]\n            score.append(self.calc_score(hyp, [ref]))\n        average_score = np.mean(np.array(score))\n        return average_score, np.array(score)\n\n    def method(self):\n        return \"Rouge\"\n"
  },
  {
    "path": "NLP/AutoTitle_F/pycocoevalcap/test_eval.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/10/18 下午3:30 \n# @Author : ComeOnJian \n# @File : test_eval.py \nimport sys\nsys.path.append('../')\n\nfrom bleu.bleu import Bleu\nfrom meteor.meteor import Meteor\nfrom rouge.rouge import Rouge\nfrom cider.cider import Cider\n\nclass EvalCap:\n    ref_list = ['this is a reference sentence for sentence2 which was generated by your model']\n    hyp_list = ['this is sentence2 which has been generated by your model']\n\n\n    refs = {idx: [lines.strip()] for (idx,lines) in enumerate(ref_list)}\n    hyps = {idx: [lines.strip()] for (idx,lines) in enumerate(hyp_list)}\n\n    scorers = [\n        (Bleu(4),['Bleu_1', 'Bleu_2', 'Bleu_3', 'Bleu_4']),\n        # (Meteor(), \"METEOR\"),\n        (Rouge(), \"ROUGE_L\"),\n        (Cider(), \"CIDEr\")\n    ]\n    for scorer, method in scorers:\n        print('computing %s score...' % (scorer.method()))\n        score, scores = scorer.compute_score(hyps,refs)\n        if type(method) == list:\n            for sc, scs, m in zip(score, scores, method):\n                # self.setEval(sc, m)\n                print(\"%s: %0.3f\" % (m, sc))\n        else:\n            # self.setEval(score, method)\n            print(\"%s: %0.3f\" % (method, score))\ndef setEval(score, method):\n    pass\n\n\n\n"
  },
  {
    "path": "NLP/AutoTitle_F/submit.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/10/29 下午12:55 \n# @Author : ComeOnJian \n# @File : submit.py\n\nimport util\nimport models\nimport os\nfrom data import *\n\nimport time\n\nimport warnings\nwarnings.filterwarnings(\"ignore\")\n\nimport torch\nimport torch.nn as nn\n\n# config\nconfig = util.read_config('./configs/predict.yaml')\ntorch.manual_seed(config.seed)\n# log\nlog_path = './data/results/'\n# log_path = config.log  + '2018-10-20-12:17:22/'\nif not os.path.exists(log_path):\n    os.mkdir(log_path)\nlogging = util.logging(log_path+'res_log.txt') # 记录本次运行的记录\n\n# checkpoint\nif config.checkpoint_restore:\n    print('loading checkpoint from {}...'.format(config.checkpoint_restore))\n    checkpoints = torch.load(config.checkpoint_restore)\n\n# cuda\nuse_cuda = torch.cuda.is_available() and len(config.gpus) > 0\n#use_cuda = True\nif use_cuda:\n    torch.cuda.set_device(config.gpus[0])\n    torch.cuda.manual_seed(config.seed)\nprint('can use cuda: {}'.format(use_cuda))\n\n# data\nprint('loading data...')\nstart_time = time.time()\ntest_dataset = torch.load(config.validation_test_path)\n# test_dataset1 = torch.load(config.test_ds_path)\nvocab = torch.load(config.vocab_path)\nprint('loading time cost: %.3f' % (time.time()-start_time))\nconfig.src_vocab_size = vocab.size()\nconfig.tgt_vocab_size = vocab.size()\nprint('src_vocab_size is {}, and tgt_vocab_size is {}'.format(config.src_vocab_size, config.tgt_vocab_size))\n# dataset, batch_size, shuffle, num_workers, mode='train'\ntest_loader = get_loader(test_dataset, batch_size= config.beam_size, shuffle = config.shuffle, num_workers = config.num_workers, mode='beam_decoder')\n# test_loader1 = get_loader(test_dataset1, batch_size= config.beam_size, shuffle = config.shuffle, num_workers = config.num_workers, mode='beam_decoder')\n\n# model\npretrain_emb = {\n    'src_emb': None,\n    'tgt_emb': None\n}\n\nmodel = getattr(models, config.model)(config, use_cuda, pretrain=pretrain_emb)\nif config.checkpoint_restore:\n    # 继续训练\n    # model.load_state_dict(checkpoints['model'])\n    model_dict = model.state_dict()\n    pretrain_model_dict = checkpoints['model'].items()\n    model_train_dict = {}\n    for key, value in pretrain_model_dict:\n        if key in model_dict:\n            model_train_dict[key] = value\n    model_dict.update(model_train_dict)\n    model.load_state_dict(model_dict)\nif use_cuda:\n    model = model.cuda()\nif len(config.gpus) > 1:\n    model = nn.DataParallel(model, device_ids=config.gpus, dim=0)\n\ndef predict(model, test_loader):\n    model.eval()\n    candidate = []\n    # val_loss = 0.\n    for idx, batch in enumerate(test_loader):\n        sources, source_padding_mask, sources_lengths, sources_batch_extend_vocab, \\\n        extra_zeros, coverage = get_input_from_batch(batch, use_cuda, use_point_gen=config.pointer_gen,\n                                                            use_coverage=config.is_coverage, trian=False, test=True)\n        output_ids = model.beam_sample(sources, sources_lengths, source_padding_mask, sources_batch_extend_vocab, extra_zeros, coverage, config.beam_size)\n        decoder_words = outputids2words(output_ids, vocab, (batch.art_oovs[0] if config.pointer_gen else None))\n        # 去除</s>\n        try:\n            fst_stop_idx = decoder_words.index('</s>')\n            decoder_words = decoder_words[:fst_stop_idx]\n        except ValueError:\n            decoder_words = decoder_words\n        candidate.append(decoder_words)\n    util.write_results(candidate)\n    model.train()\n\nif __name__ == '__main__':\n    predict(model, test_loader)\n    # eval()\n"
  },
  {
    "path": "NLP/AutoTitle_F/train.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/10/25 下午3:45 \n# @Author : ComeOnJian \n# @File : train.py \n\nimport util\nimport models\nimport os\nimport time\nfrom collections import OrderedDict\nfrom data import *\n\nimport warnings\nwarnings.filterwarnings(\"ignore\")\n\nimport torch\nimport torch.nn as nn\n\n# config\nconfig = util.read_config('./configs/train_model.yaml')\ntorch.manual_seed(config.seed)\n\n# log\nlog_path = config.log + util.format_time(time.localtime()) + '/'\n# log_path = config.log  + '2018-10-20-12:17:22/'\nif not os.path.exists(log_path):\n    os.mkdir(log_path)\nlogging = util.logging(log_path+'log.txt') # 记录本次运行的记录\nlogging_csv = util.logging_csv(log_path+'record.csv') # 记录模型训练的指标数据\n\n# checkpoint\nif config.checkpoint_restore:\n    print('loading checkpoint from {}...'.format(config.checkpoint_restore))\n    # map_location={'cuda:1':'cuda:0'}\n    checkpoints = torch.load(config.checkpoint_restore)\n\n# cuda\nuse_cuda = torch.cuda.is_available() and len(config.gpus) > 0\n#use_cuda = True\nif use_cuda:\n    torch.cuda.set_device(config.gpus[0])\n    torch.cuda.manual_seed(config.seed + 1)\nlogging('can use cuda: {}'.format(use_cuda))\n\n# data\nlogging('loading data...')\nstart_time = time.time()\ntrain_dataset = torch.load(config.train_ds_path)\nval_dataset = torch.load(config.val_ds_path)\nvocab = torch.load(config.vocab_path)\nlogging('loading time cost: %.3f' % (time.time()-start_time))\nconfig.src_vocab_size = vocab.size()\nconfig.tgt_vocab_size = vocab.size()\nlogging('src_vocab_size is {}, and tgt_vocab_size is {}'.format(config.src_vocab_size, config.tgt_vocab_size))\n# dataset, batch_size, shuffle, num_workers, mode='train'\ntrain_loader = get_loader(train_dataset, batch_size = config.batch_size, shuffle = not config.shuffle, num_workers = config.num_workers)\nval_loader = get_loader(val_dataset, batch_size= config.beam_size, shuffle = config.shuffle, num_workers = config.num_workers-1,mode='beam_decoder')\n\n# model\npretrain_emb = {\n    'src_emb': None,\n    'tgt_emb': None\n}\n\nmodel = getattr(models, config.model)(config, use_cuda, pretrain=pretrain_emb)\nif config.checkpoint_restore:\n    # 继续训练\n    # model.load_state_dict(checkpoints['model'])\n    model_dict = model.state_dict()\n    pretrain_model_dict = checkpoints['model'].items()\n    model_train_dict = {}\n    for key, value in pretrain_model_dict:\n        if key in model_dict:\n            model_train_dict[key] = value\n    model_dict.update(model_train_dict)\n    model.load_state_dict(model_dict)\nif use_cuda:\n    model = model.cuda()\nif len(config.gpus) > 1:\n    model = nn.DataParallel(model, device_ids=config.gpus, dim=0)\n# optim\nif config.checkpoint_restore:\n    optim = checkpoints['optim']\nelse:\n    # optim = models.Optim(config.optim, config.learning_rate, config.max_grad_norm,\n    #               lr_decay=config.learning_rate_decay, start_decay_at=config.start_decay_at)\n    optim = models.Optim(config.optim, config.learning_rate, config.max_grad_norm, initial_accumulator_value=config.adagrad_init_acc)\noptim.set_parameters(model.parameters())\nif config.schedule:\n    scheduler = models.CosineAnnealingLR(optim.optimizer, T_max=config.epoch)\n# total number of parameters\nparam_count = 0\nfor param in model.parameters():\n    param_count += param.view(-1).size()[0]\nlogging('model have {} param'.format(param_count))\nfor k, v in config.items():\n    logging(\"%s:\\t%s\" % (str(k), str(v)))\nlogging(repr(model)+\"\\n\")\n\n# model relation data\nif config.checkpoint_restore:\n    updates = checkpoints['updates']\nelse:\n    updates = 0\n# 模型统计指标\ntotal_loss, start_time = 0., time.time()\nreport_total = 0\nscores = [[] for metric in config.metrics]\nscores = OrderedDict(zip(config.metrics, scores))\n\ndef train(epoch):\n    global e\n    e = epoch\n    model.train()\n    if config.schedule:\n        scheduler.step()\n        print(\"Decaying learning rate to %g\" % scheduler.get_lr()[0])\n    global updates, start_time, total_loss\n    for idx, batch in enumerate(train_loader):\n        sources, source_padding_mask, sources_lengths, sources_batch_extend_vocab, extra_zeros, coverage, \\\n        encoder_inputs, targets, _ = get_input_from_batch(batch, use_cuda, use_point_gen = config.pointer_gen,\n                                        use_coverage = config.is_coverage, trian = True)\n\n        model.zero_grad()\n        mean_loss = model(sources, sources_lengths, source_padding_mask, sources_batch_extend_vocab, extra_zeros, coverage, encoder_inputs, targets)\n        total_loss += mean_loss\n        optim.step()\n        updates += 1\n        # eval\n        if updates % config.eval_interval == 0:\n            score = eval(epoch)\n            for metric in config.metrics:\n                scores[metric].append(score[metric])\n                # if metric == 'loss' and score[metric] <= min(scores[metric]):\n                #     logging('{} has updated, {} updates turn out min value: {}'.format(metric, updates, score[metric]))\n                #     save_model(log_path + 'best_' + metric + '_checkpoint.pt')\n                if metric == 'rouge_l' and score[metric] >= max(scores[metric]):\n                    logging('{} has updated, {} updates turn out max value: {}'.format(metric, updates, score[metric]))\n                    save_model(log_path + 'best_' + metric + '_checkpoint.pt')\n                if metric == 'bleu_2' and score[metric] >= max(scores[metric]):\n                    logging('{} has updated, {} updates turn out max value: {}'.format(metric, updates, score[metric]))\n                    save_model(log_path + 'best_' + metric + '_checkpoint.pt')\n            model.train()\n\n\n        # print train result\n        if updates % config.print_interval == 0:\n            logging(\"time: %6.3f, epoch: %3d, updates: %8d, train_loss: %6.3f\"\n                    % (time.time() - start_time, epoch, updates, total_loss / config.print_interval))\n            total_loss = 0\n            start_time = time.time()\n\n        # save model\n        if updates % config.save_interval == 0:\n            save_model(log_path + '{}.checkpoint.pt'.format(updates))\n        torch.cuda.empty_cache()\n\ndef eval(epoch):\n    model.eval()\n    reference, candidate = [], []\n    # val_loss = 0.\n    for idx, batch in enumerate(val_loader):\n        sources, source_padding_mask, sources_lengths, sources_batch_extend_vocab, extra_zeros, coverage, \\\n        _,  _, targets_raw = get_input_from_batch(batch, use_cuda, use_point_gen=config.pointer_gen,\n                                                            use_coverage=config.is_coverage, trian=False)\n\n        # if updates%2000==0:\n        output_ids = model.beam_sample(sources, sources_lengths, source_padding_mask, sources_batch_extend_vocab, extra_zeros, coverage, config.beam_size)\n        # else:\n            # _, sample_y = model.rein_forward(sources, sources_lengths, source_padding_mask, sources_batch_extend_vocab, extra_zeros, coverage, tag_max_l, mode = 'sample_max')\n        reference.append(targets_raw[0])\n        decoder_words = outputids2words(output_ids, vocab, (batch.art_oovs[0] if config.pointer_gen else None))\n        # 去除</s>\n        try:\n            fst_stop_idx = decoder_words.index('</s>')\n            decoder_words = decoder_words[:fst_stop_idx]\n        except ValueError:\n            decoder_words = decoder_words\n        candidate.append(decoder_words)\n\n    score = {}\n    result = util.eval_metrics(candidate, reference)\n    # result['val_loss'] = val_loss result['val_loss'], (result['val_loss']\n    logging_csv([e, updates, result['bleu_1'], result['bleu_2'], result['rouge_l'], result['cider']])\n    print('eval: |bleu_1: %.4f |bleu_2: %.4f |rouge_l: %.4f |cider: %.4f'\n          % (result['bleu_1'], result['bleu_2'], result['rouge_l'],result['cider']))\n    # score['val_loss'] = result['val_loss']\n    score['rouge_l'] = result['rouge_l']\n    score['bleu_1'] = result['bleu_1']\n    score['bleu_2'] = result['bleu_2']\n    score['cider'] = result['cider']\n    del reference, candidate, sources, source_padding_mask, sources_lengths, sources_batch_extend_vocab, extra_zeros, coverage, targets_raw\n    torch.cuda.empty_cache()\n    return score\n\ndef main():\n    for i in range(6, config.epoch+1):\n        if i < 7:\n            config.eval_interval = 5000\n            config.save_interval = 5000\n        elif i>= 7:\n            config.eval_interval = 200\n            config.save_interval = 1500\n        train(i)\n\n    for metric in config.metrics:\n        if metric in [ 'bleu_1', 'bleu_2', 'rouge_l']:\n            logging(\"Best %s score: %.2f\" % (metric, max(scores[metric])))\n        else:\n            logging(\"Best %s score: %.2f\" % (metric, min(scores[metric])))\n\ndef save_model(path):\n    global updates\n    model_state_dict = model.module.state_dict() if len(config.gpus) > 1 else model.state_dict()\n    checkpoints = {\n        'model': model_state_dict,\n        'config': config,\n        'optim': optim,\n        'updates': updates}\n    torch.save(checkpoints, path)\n\nif __name__ == '__main__':\n    # try:\n    main()\n    # except Exception:\n    #     if model is not None:\n    #         save_model(log_path + 'last_{}.checkpoint.pt'.format(updates))\n    #     exit()\n"
  },
  {
    "path": "NLP/GAN&NLP.md",
    "content": "[转载来自EternalFeather大佬]\n细数生成对抗网络和自然语言处理的那些恩怨情仇\n===\n# 文本生成的基础模型（Introduction）\n在众多NLP的task中，**文本生成(Text Generation)** 是一种结合了机器学习和自然语言处理等技术层面而衍生出来的应用。他的诞生在一定程度上诠释了当今这些技术的发展水平。例如前不久出现在网络上的Drumpf推文产生器。\n\n![](https://i.imgur.com/ir8H6tc.png)\n\n## 文本生成分类\n文本生成的应用大体上可以分为以下几类：\n- 机器翻译（machine translation）\n- 问答系统（Question-Answering System）\n- 对话生成（dialogue generation）\n\n## 核心模型介绍\n使用在文本生成的模型不唯一，比较常用的是循环神经网络（RNN），使用的Cell包括了LSTM，GRU等。作为序列生成模型的核心框架，encode-decode framework开始出现在人们的视线范围之内，并在短时间内成为了广为人知的核心模型框架。\n\n![](https://i.imgur.com/2E2JNNG.png)\n\n类似于编码的原理，通过encoder将一个句子序列x（可以理解为utf-8编码）编码成为数字向量（也可以是矩阵或者Tensor，可以理解为unicode）。之后decoder利用这个编码后的context information将信息还原成为另一个对应的序列y（可以理解为big5编码）。虽然编码的过程是计算机通过改变初始化的超参数改变特征在隐层的映射机理，因此难以探究其具体含义，但是这也正应证了特征的分布是真实存在的（可以通过控制变量的方式探究每一个参数的具体含义）。\n\n对于文字生成的任务，首先最重要的一点就是如何表示文字。我们知道图像是由像素（pixel）组成的，而像素在计算机中是被编码成数字的形式，因此我们可见的颜色图案都是由0和1这些数字构成的。虽然文字本身也被赋予了各自的编码（如utf-8等），但是这些编码却很难被应用在神经网络的参数传递中。通常的做法是建立一个词库字典（vocabulary）涵盖所有可能出现的字，而这些对应的字都会表示成one-hot vector的形式（不是唯一）作为模型的输入。每一次模型都会通过当前输入的字去预测下一个时间点会出现的字最可能是什么，从而一步一步得到完整的句子序列。\n\n而我们往往会选择使用Softmax表示所有最终的结果，通过概率表示每一个字对应的概率值来选取最有可能的候选字作为输出。就这样，模型每次以一组“样本（sample：x）-标签（label：y）”作为训练的资料，通过循环神经网络主导的encoder和decoder将x转换成y。\n\n# 传统GANs的数学定义和问题（Related Works）\nGANs顾名思义是由两个模型构成的：1、生成器（Generator） 2、判别器（Discriminator）。其中生成器的目标是产生最接近真实样本的分布，从而骗过判别器的判断。而判别器相反就是尽可能准确地区分出真实样本和生成样本。\n\n## 损失函数\n在GANs中对于判别器而言，想要达到相应的目标就应该尽可能把真实样本当成正例，而把生成样本当成反例：\n\n![](https://i.imgur.com/b18Xa3Q.png)\n\n而对于生成器而言其损失函数有两种：\n\n![](https://i.imgur.com/ln5gMA0.png)和改进之后的![](https://i.imgur.com/YY1COzI.png)\n\n## 存在的问题\n相信喜欢研究GANs的你也经常看到一些这样的说法“判别器训练的越好，生成器的模型就会越不稳定越南收敛”。传统的文字故难表达其中蕴含的奥秘，因此我们来通过数学方式了解一下。（推荐文章：令人拍案叫绝的Wasserstein GAN）\n\n首先通过![](https://i.imgur.com/ln5gMA0.png)可以知道，当判别器达到最优化状态（我们想要的理想收敛状态，处于saddle point梯度为0）时，我们可以得到：\n\n![](https://i.imgur.com/tQM7NGV.png)\n\n我们对其求梯度（gradient）得到：\n\n![](https://i.imgur.com/8DbmSgz.png)\n\n化简之后得到：\n\n![](https://i.imgur.com/53B6aGY.png)\n\n这个公式中的 **P** 可以理解为通过x序列得到的y属于真实样本还是生成样本的概率值。当两者相等，则结果是0.5证明模型无法给出判断，因此为欠拟合状态。\n\n如果此时我们将判别器训练的太好，那么生成器的loss就会降不下去（来自loss vanishing的问题）。我们给![](https://i.imgur.com/ln5gMA0.png)加上一项与生成器无关的项（虽然改变了loss，但是却不改变优化生成器的梯度，同时也是判别器损失函数的反），得到：\n\n![](https://i.imgur.com/u4eMnkB.png)\n\n化简之后得到：\n\n![](https://i.imgur.com/xvXF6no.png)\n\n这个式子涉及到的物理意义被称为KL散度（Kullback-Leibler divergence）和JS散度（Jensen-Shannon divergence）两个相似度衡量指标。具体的数学表达式如下：\n\n- KL divergence\n\n![](https://i.imgur.com/zHItvfh.png)\n\n- JS divergence\n\n![](https://i.imgur.com/KPwBQhJ.png)\n\n将散度的公式代入增加了辅助项后的生成器优化函数，我们可以得到：\n\n![](https://i.imgur.com/KCea4mp.png)\n\n现在我们明确了一个道理：那就是在GANs训练过程中，当判别器到达了一个最佳状态的时候，生成器的目标就相当于最小化真实分布和生成分布之间的JS散度。**我们越是训练判别器，生成器的损失函数（loss function）就会越接近JS散度的值**。\n\n那么这又会引起什么问题呢？我们知道越是减小误差，JS散度就会越小，生成分布就会被带向真实分布。但是假如两个分布本身就存在维度差或者说两个分布本身就没有重合的部分呢？这个问题比较抽象，下面通过一些例子来介绍：\n\n首先介绍一下什么叫做两个分布没有重合的部分呢？维度差有是什么呢？怎么样的分布之间才算得上具有维度差呢？Wasserstein GAN告诉我们当![](https://i.imgur.com/u2XkwvK.png)和![](https://i.imgur.com/NJKd0XN.png)的支撑集（support）是高维空间中的低维流形（manifold）时，两者重合的部分的测度（measure）为0。\n\n解释几个专有名词：\n- 支撑集（Support）：函数的非零部分的子集，例如ReLU的支撑集就是![](https://i.imgur.com/8fTdAaI.png)，一个概率分布的支撑集就是他所有概率密度非零值得集合。\n- 流形（manifold）：高维空间中的曲线、曲面的概念延伸。当两个分布的本质维度（intrinsic dimension）不同时，他们的自由度（二维的自由度包括长和宽）就会不同。\n- 测度（measure）：高维空间中的长度、面积、体积等测量指标的概念延伸。\n\n**打个比方**，如果我们要比较一个正方体和一个三角形的相似程度，我们就会陷入一个问题。正方体的维度是3，而三角形的维度是2，相差了“高”这一维度特征。如果把像和不像作为分类问题来看，前者比后者多出了整整一个特征，在三维的分类空间（往往会取最大的维度空间）中他们的重合部分仅仅是一个平面。这也就以为这如果三角形的底边和高都等于正方体的边长，但是我们仍然无法通过某种方法让三角形“逼近”（可以理解为变换）正方体。\n\n在文字生成的任务中，由于GANs的生成器采用从一些杂讯信号中随机抽样组合，再通过类似DNN的全连接层进行维度扩展，从而达到能够在维度空间匹配最终结果的一个输出信号。但是不要忽略了一点，这些生成信号的本质（特征集合）还是停留在原先的杂讯信号的基础上没有改变。换句话说，即使进行了维度提升，但若是全连接层的神经元不足够强大，就没有办法还原所有的特征从而让两个比较的结果处于同一个维度空间中。\n\n其次，从离散的角度分析，对于一个x输入信号可能会有以下几种可能：\n- ![](https://i.imgur.com/laWZZ2F.png)\n- ![](https://i.imgur.com/ho6eo5j.png)\n- ![](https://i.imgur.com/6qEmE69.png)\n- ![](https://i.imgur.com/smaw7Mr.png)\n\n第一种情况不存在两个分布的距离这样的说法（因为两个分布本身就不存在），因此对JS散度的计算没有帮助。第二种情况和第三种情况，代入公式可以得到\n![](https://i.imgur.com/Niw4Dfp.png)\n和\n![](https://i.imgur.com/SkFNT8j.png)\n而唯有第四种情况的两个分布才有可能存在交集从而达到减小JS散度的目的。\n\n说完了JS散度在分布呈现不同状态时存在的问题，那么怎么样联想到GANs中呢？可以试想一下，如果现在的![](https://i.imgur.com/GQp7abc.png)就是![](https://i.imgur.com/u2XkwvK.png)，而![](https://i.imgur.com/9Tmbfhd.png)就是![](https://i.imgur.com/NJKd0XN.png)。那么当判别器训练到最佳情况的时候，![](https://i.imgur.com/NJKd0XN.png)就会为0（相当于第二种情况），此时JS散度就是一个常数![](https://i.imgur.com/2J1WgZu.png)，这也就意味着生成器的损失函数对于他本身的超参数的偏微分结果为0——没有梯度！这样一来每一次的对抗学习都会让生成器陷入一个迷茫的状态，也就是梯度的消失（gradient vanishing）。\n\n总结一下，生成器的第一种损失函数是因为在判别器接近最优状态时，生成器的误差就相当于![](https://i.imgur.com/u2XkwvK.png)和![](https://i.imgur.com/NJKd0XN.png)的JS散度。而所有的情况都指明了，在这种最优条件下，无论两个分布怎么变换，都会让梯度变成0或者无意义。这样一来**GANs训练不稳定的原因也就清楚了**。判别器训练得太好，生成器的梯度就会消失，判别器训练得不好，生成器的梯度就会不准确，四处乱跑。只有当判别器训练刚刚好火候的时候，GANs才能平稳地进行对抗训练。\n\n那么既然这种生成器的损失函数存在这样的问题，就以为着我们无法随心所欲地让模型自己朝着收敛的目标前进，势必会对训练模型造成影响。那么如果采用改进后的第二种损失函数呢？\n\n在论述第一个损失函数的时候我们已经证明了：\n\n![](https://i.imgur.com/ZIYSgJI.png)\n\n我们先对KL散度进行一些调整：\n\n![](https://i.imgur.com/cyUf16J.png)\n\n由这个KL散度的启发，可以得到新的损失函数表达式如下：\n\n![](https://i.imgur.com/Gkuv6Xn.png)\n\n由于目标是优化生成器，因此计算梯度的项只保留对生成器可微分的项即可。舍弃梯度为0的项之后得到：\n\n![](https://i.imgur.com/HWSl6cC.png)\n\n相比推到这里，也有很多人能看出这个式子本身存在的一些问题了吧。首先，这个损失函数的目的是要同时最小化生成分布和真实分布的KL散度，又要最大化两个分布的JS散度。但是我们知道这两个散度的物理意义是朝着同一个方向发展的（两者正相关）。所以这样的优化目的显然存在矛盾的地方，从而让我们的生成器训练不稳定。其次，KL散度本身的量化也存在一些问题，原因就是他不是一个对称的衡量单位。\n\n### KL散度的问题\n比较一下![](https://i.imgur.com/NXU4Tem.png)和![](https://i.imgur.com/k9Of88Y.png)可以发现：\n\n- 当![](https://i.imgur.com/A3LmpuI.png)而![](https://i.imgur.com/znxr8sJ.png)时，![](https://i.imgur.com/V32hqvs.png)，对![](https://i.imgur.com/NXU4Tem.png)的贡献趋近于0\n\n- 当![](https://i.imgur.com/CSPLSng.png)而![](https://i.imgur.com/TylgMGA.png)时，![](https://i.imgur.com/F5ZQHrU.png)，对![](https://i.imgur.com/k9Of88Y.png)的贡献趋近于无穷大。\n\n这些差异意味着什么呢？我们可以这样理解，KL散度对于以上两种方式定义的不同，也就侧面反映了生成器在面对判别器两种不同情况时候给出的判断。首先第一种情况下，错误来自于 **“生成器没有办法生成真实的样本”** ，这个时候的惩罚比较小（KL散度趋于0）。而第二种错误对应的错误则来自于 **“生成器无法生成真实样本（当生成器的模型达到最佳状态的时候，判别器给出的分数仍然很低）”** ，这个时候的惩罚是非常大的（KL散度趋于无穷大）。第一种误差让生成模型缺乏多样性，因为模型只是为了尽可能模仿真实样本进行输出。而第二种误差则让生成模型缺乏准确性，因为模型一旦尝试一些不一样的方法便会受到大量的惩罚。这样的权衡之下，模型和人一样是具有惰性的，在一切条件相近的前提下，模型宁可选择那些惩罚小的苟且方式而放弃挺而走险尝试不同的东西。这样一来生成器模型往往会选择接受第一种错误，而让生成的句子千篇一律，这在特征角度被定义为塌陷模式（collapse mode）。\n\n## 总结\n经过了上述的介绍和数学推倒，我们可以看到GANs的模型所具备的一些问题和缺陷。其中包括了在最优判别器的时候，生成器往往会出现梯度消失的问题；以及在KL散度的物理意义上来说GANs的优化目标存在一定的矛盾性以及盲目性（collapse mode）。\n\n## 解决方案\n关于以上的问题具体可以参考Wasserstein GAN一文，介绍了如何利用新的距离衡量两个分布的关系，从而解决KL散度和JS散度的一些问题。\n\n### Wasserstein GAN，那些年我们一起填完的坑\n我们知道最开始生成器的损失函数面临KL散度和JS散度所带来的问题，而改进之后却又有着矛盾的优化策略。这样对一个模型而言是十分致命的，因此必须有人来填补这个坑，才能让GANs真正进入人们的实现成为一门科学。\n\nWasserstein GAN对GAN的改进是从替换KL散度进行的，他开创了一种全新的用来计算散度（divergence）的指标——**Earth Mover (EM) distance**。Wesserstein GAN的散度计算将两个分布看作是两堆土，而目的就是计算将第一堆土堆成第二堆的形状需要搬运的总距离。如下图所示：\n\n![](https://i.imgur.com/BIthGKR.png)\n\n左边的那个分布想要达到右边的状态，就必须移动制高点左边的那部分，而距离和量的考量就成为了当前的关键指标。\n\n那么这样的评估方式又有什么好处呢？为什么说他能够解决KL散度和JS散度所带来的问题呢？首先我们先要明确一下问题的本质，从之前的讨论可以看出，KL散度和JS散度在当判别器训练到最佳状态的时候存在的问题就是两个分布的重合部分可忽略或者不存在。这个时候我们得到的生成器的损失函数（是一个常数![](https://i.imgur.com/FDmECAu.png)），除非能够让两个分布重合，这个时候才会突然变化成为最优解。这样一来我们的优化就缺少了一个所谓的“演化”过程，换句话说就是我们无法通过损失函数的改变来描述从好到不好的渐变过程，这样对于模型的训练是不利的。而利用Earth Mover distance我们就可以量化每一次更新之后的差异，从而还原这个重要的过程。具体情况如下图：\n\n![](https://i.imgur.com/mhx2hDy.png)\n\nWasserstein散度能够通过通过不同的距离 **d** 来反应每一个时刻样本的变化情况。生成器每一次的output能否更加接近真实样本的那些“进步”都能被抓到并传回，这样就保证了对于离散数据的对抗能够持续下去。\n\n# 传统GANs在NLP上遇到的问题（Motivation）\n说完了传统的GANs模型本身的问题之后，我们需要进一步了解为什么GANs用在NLP的领域又是另外一片天地。曾经就有人问过，GANs能否被使用在文字生成领域，在Generative Adversarial Networks for Text一文（可见参考文献部分）中GANs的作者Ian Goodfellow就层明确给出了回答。让人心寒的是，作者给出的答案是否认的成分居多，并且还提出了一些理由：\n\n![](https://i.imgur.com/1oVPCoq.png)\n\n从文中的一些表达例如：“there is no way...”和“no one really knows...”等表达来看，当时的作者对于这一个问题保持着疑问和反对的态度是多么的强烈。\n\n那么首先让我们来看一下这段回文中提到的一个问题，那就是“Discrete numbers（离散数字）”。保留作者的观点可以看出，GANs当初被设计的初衷是定义在真实数据的情况下，通过生成器的到的合成数据都是连续的分布。因此，**只有在数据连续的情况下，才有可能通过略微改变合成的数据，而如果是离散的数据，就无法通过改变这些数据来得到新的结果**。\n\n这个表达听起来很难get到精髓是什么，因此作者给出了一个形象的例子。如果一张图片，其像素点是1.0，那么改变了这个值成为1.0001之后，就会成为其他的值（在计算机的表现方式中，不同的像素值代表了输出不同的颜色）。而如果输入的是一个文字“penguin”，那么接下来我们就无法用同样的方式进行输出的转换，因为**没有人知道“penguin+0.001”之后得到的新的文字会是什么**。因为对于自然语言而言，每一个文字都是离散的存在，包括“单词”，“音节”，“字母”等等。尽管有的研究也在尝试将离散的文字之间建立起连续的转换机制，例如：考虑化学物质的性质，假设我们得到了化学式A，B，C并且知道了这些物质的特性，我们就能得到三者的转换关系（D=A-B+C），同样的道理能不能用在文字上呢？我们是否可能设计出类似queen-woman+man=king这样的结果呢？尽管听起来make sense，然而当前的一些数据表示（Data representation）和嵌入方式（Word embedding）都无法完全解决这个问题（即让文字具有连续性和数学意义）。\n\n## 困扰GANs在NLP上应用的三大强敌\n即便是短短的发言，我们依然从中看出了GANs在文字生成领域乃至整个NLP应用层面存在着巨大的挑战。然后随着后续研究者们的不断探索，一个振奋人心的消息圣诞生了：那就是我们终于又发现了新的问题！！！下面就让我们来认识一下阻碍GANs在自然语言科学领域发展的“三巨头”：\n\n- 原始的GANs设计初衷是为了应用在连续的空间数据，而在离散空间中并不能工作。那么什么是离散数据呢？文本就是一个典型的离散数据，所谓的离散，并不是逐字逐词叫做离散，而是分布的不连续特性。这样的解释是不是感觉又绕了回来了？没错，想要了解离散的概念，最简单的就是去理解什么是连续。在计算机内部的资料表示形式中，往往是通过浮点数进行的，而浮点数就是连续的数值。一些连续的分布就是指数据本身的意义就是通过数字表示的：例如图像的基本单位是像素点（pixel），并且**这些pixel本身就是一些数字**，换句话说数字就是pixel的全部。图像通过矩阵（二维）的形式将这些数字组合起来，就形成了一张图片。因此改变图片的方法无非是改变其中的数字即可。例如左上角的哪一个pixel太红了，就把红色的那个色阶的值减小一些，而输出的数值无论是多少都会有一个对应的颜色来与之对应。\n\n而文字不同，一个句子是被定义为了一个词库的one-hot vector形式（不唯一，但是本质相同），通过类似table的形式索引字典里的每一个字。而引发问题的根本原因就是模型输出的结果都是一个大小和one-hot vector相同的概率分布。而这个分布若想要最终反应成为真实的字，就必须进过一个过程叫做“sampling”，而问题就是出在“sampling”上。我们往往通过softmax得到了一个分布，然后sample出其中最大的那一个维度的值对应的字作为输出。\n\n![](https://i.imgur.com/Mj1HaTX.png)\n\n从上图的例子来看，通常模型的优化方法是通过一些优化函数改变参数的分布，从而观察输出有没有好一点（loss小一些）。但是判别器若是得到sampling之后的结果呢？我们经过参数调整得到的结果是优化后的直接表现。例如：假如倒数第二个字对应最大的0.85并不是我们想要的那个输出，我们就会减小他的值假设成为了0.65，而第三项的0.12才是我们想要的那个字，因此我们扩大他的权重成为0.32，然而经过了sampling之后，呈现在判别器面前的仍然是倒数第二个字。这时候判别器给出的答案一样还是很糟糕，这样一来生成器就会失去训练的方向（可以理解为loss飘忽不定，有可能越优化loss越高）。\n\n![](https://i.imgur.com/RCjbz2S.png)\n\n也有人因此提出质疑： **既然sampling过程会造成这样的问题，那么不要sampling直接把softmax的结果丢进判别器不就好了？** 不得不说这个确实是一个可行的方法，但是却遭到了模型本身的拒绝。为什么说是“拒绝”呢？其实判别器的训练初衷是为了分辨生成样本和真实样本的差距，那么这个时候如果两个样本的表达方式存在差异（一个是one-hot vector，一个是softmax；一个是one-hot encoder，一个是probability distribution）。这个时候就会出现之前说过的两者的特征维度不重合的现象。在这里这个现象可以理解为模型在经过神经元转换后的latent space中往往存在许多的desert hole（AI技术讲座精选中的术语）。在training的时候，模型往往会因为两者的分布出现差异而故意现在那些不重叠的区域不肯跳出。从而导致模型判别的根基出现问题（模型学习到的判断方式可能就是看输出的分布是不是one-hot vector，如果不是直接over；而不是努力去比较softmax和真实的one-hot vector究竟有多像）。\n\n如下图所示：\nComparison of continuous & discrete distributions. (x : θ, y : loss)\n\n![](https://i.imgur.com/DSnxZxQ.png)\n\n左边的连续分布我们总能找到一个loss下降的梯度，从而移动x轴（生成器的超参数）来达到更小的loss，这个过程被称为梯度下降优化（gradient descent）。而相比于离散的数据分布可以看到，独立点之间的优化是无法得到梯度的，因此我们往往会遇到上述提到的问题。\n\n- 在生成文字的过程中，大多数模型都是基于循环神经网络（Recurrent neural network）模型设计的，这种时序性的模型在隐层表示（latent codes）计算过程中，error往往会随着序列不断累积直到最后。这种方式的另一个根本原因和最大似然估计（Maximum log-likelihood estimate）有关，也被称之为 **“Exposure bias”**。\n\n![](https://i.imgur.com/ZKVx8U1.png)\n\n在training过程中，我们每一个时刻输入的都会是真实资料对应的值，因此即使出现错误，下一个时刻的输入仍然是正确的。但是在testing的过程中，由于缺乏真实资料的辅助，如果上一个时刻的结果出现错误，我们就会用错误的记过进行下一个时刻的预测，造成错误的累加。\n\n- 再生成文本序列的过程中，传统的GANs是对整个句子或是更大的序列单位进行评估的。这一点也是非常直观的一个反应，因为我们无法在一个人说完整句话之前就断章取义去推测这句话的好坏。但是在时序生成的过程中，因为loss在句子生成过程中的每一个字产生的时间点都会被计算，因此这个时候的error如何得到就成了一个新的问题。\n\n![](https://i.imgur.com/0cO4Yth.png)\n\n最直观的想法就是将整句的分数当做每一个部分单独的分数，但是这样的方式会让句子的成分承受相同的代价，不符合我们直观的感觉。因为造成句子不好的原因可能往往来自单独的一些部分，而不是全部。\n\n# 传承的智慧（Methods）\n见识到了GANs在文本生成领域的困难重重，是时候来一波强心剂了。尽管来自模型自身和外部环境的压力十分巨大，但是仍然有不少学者费尽心机探索学术的奥秘，挖掘最古老的智慧。\n\n## Generating Text via Adversarial Training\n- 论文链接：https://zhegan27.github.io/Papers/textGAN_nips2016_workshop.pdf\n- Key Points：这篇论文是比较早期利用GANs进行文本生成任务的尝试，通过循环神经网络（RNN+LSTM）作为生成器，采用光滑近似（smooth approximation）的优化理论来逼近真实样本分布。\n- Graph & Algorithm：\n\n![](https://i.imgur.com/mIJ2pRu.png)\n\n### Feature Matching\n**思路**：文章提出的TextGAN模型利用了不同于以往的GANs所使用的优化函数，这种优化的思路基于特征匹配原理（feature matching）。\n\n![](https://i.imgur.com/fkGHe16.png)\n\n通过计算生成器输出和真实分布在隐层上特征的差异，从而比较两者的差异，并最终最小化这样的差异。\n\n文章还采用了一个特殊的技巧，就是在判别器进行pre-training的过程中，利用真实的句子难免会让判别器的判断局限在你和那些表达。而如果加入一些十分类似却又略微不同的句子结构，势必会让模型的判断更为灵活。而作者采用了交换真实句子中两个词的位置从而得到新的句子，并利用这些新的样本来帮助判别器进行训练。从量化角度看，模型接触的信息量是相同的，能不能进行判断完全取决于模型对于文字内部关联的把握（如果利用卷积+同样的池化模式得到的结果会相近，采用序列生成模型可能会大不相同）。\n\n论文实验部分提到了在对抗过程中想要让训练稳定进行，生成器的训练频率将会是判别器的5倍。原因是判别器采用了CNN的架构，而生成器采用LSTM，这两者的收敛难度存在一定的差异。\n\n## SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient\n- 论文链接：https://arxiv.org/pdf/1609.05473.pdf\n- Key Points：本文利用强化学习的思路，用reward代替gradient来进行前馈训练，避免了GANs无法在离散数据传递梯度的问题。同时利用蒙特卡罗检索（Monte Carlo Search）的方法得到每一个时间点的误差信息。\n- Graph & Algorithm：\n\n![](https://i.imgur.com/X28Bdg4.png)\n\n![](https://i.imgur.com/Bi1mLgJ.png)\n\n### Policy Gradient\n**思路**：如图所示，左边的部分是判别器（核心是CNN）的优化部分，利用真实资料和生成资料来训练判别器。右边的部分则是生成器（核心是LSTM）的优化部分，利用Monte Carlo的方式得到每一个时刻的reward，并借助policy gradient的强化学习方式进行模型优化更新。\n\n强化学习更新的四个重要的因素包括：状态（state）、行为（action）、策略（policy）和奖励（reward）。在文字生成领域，state就相当于该时刻之前已经存在的序列（之前时刻输出的所有结果组成的sequence），action是当下需要选择生成的句子成分（当前解码后的字或词，也叫token），policy为GANs的生成器模型网络，reward则是GANs的判别器网络输出的概率值（也叫做scalar）。\n\n### Monte Carlo Search\n论文在得到部分序列（intermediate sequences）的奖励上面采用了蒙特卡罗（Monte Carlo）的方式，这样的策略通过多次平行抽样来共同决定当前的序列的可靠性。\n\n![](https://i.imgur.com/nQsDr9Q.png)\n\n当解码到 t 时刻的时候，模型会对后面的 T-t 个timestep采用蒙特卡罗检索出 N 条路径，这些路径经过判别器的结果会通过平均的方式作用在 t 时刻生成的那个token上。每一个序列都会经过几次深度检索得到不同的完整序列，然后这些序列的评分就综合决定了那个**固定前缀**的分数。作者给出了具体的算法如下：\n\n![](https://i.imgur.com/DAvLkzr.png)\n\n### Schedule Sampling\n论文还参考了一种缓解exposure bias的方法。这种方法通过一个变化门槛值控制模型训练过程的每一个时刻是使用来自真实资料的值还是来自前一个时刻的预测结果，从而在训练的时候就让模型适应各种可能的错误发生。这样的经验在test的过程中就不容易因为一时的错误而让误差累积。\n\n![](https://i.imgur.com/cv08KyT.png)\n\n对于强化学习（reinforcement learning）的部分，文章采用了policy gradient的方法重新定义了生成器的目标函数：\n\n![](https://i.imgur.com/4Jv1V4B.png)\n\n求导结果如下：\n\n![](https://i.imgur.com/r5qhNsB.png)\n\n目标函数告诉我们生成器模型的目的是要尽可能提高生成序列得到的来自判别器的reward分数的期望，这个目标与最初GANs的初衷不矛盾。\n\n对于判别器的部分，论文给出了和原先GANs相同的优化策略：\n\n![](https://i.imgur.com/qR2aCQF.png)\n\n## Adversarial Learning for Neural Dialogue Generation\n- 论文链接：https://arxiv.org/pdf/1701.06547.pdf\n- Key Points：这篇论文将对抗学习（adversarial learning）用在开放性对话生成（open-domain dialogue generation）领域。与SeqGAN相同的一点是，文章采用了强化学习的方式取代传统的梯度将GANs应用在离散数据中，借助奖励reward来指导生成器的训练。另外，本文还采用了teacher forcing的方式来辅助生成器的训练，能够让对抗学习的过程更加稳定。\n- Graph & Algorithm：\n\n![](https://i.imgur.com/p6nEpTF.png)\n\n**思路**：因为是开放性对话生成，因此很自然地想到了采用seq2seq来作为生成器的核心模型；另外作者选择了hierarchical encoder而非CNN作为判别器，原因是循环神经网络能够更好地拟合序列的时序特征。但是这个理由需要建立在我们能够控制好判别器的训练幅度，因为之前讨论过过度训练或者训练不足都会让对抗过程变得不稳定。\n\n针对如何得到每一个时刻的奖励，该论文的作者给出了两种不同的方法：Monte Carlo Search以及依靠自己训练的一个能够对部分生成序列进行reward计算的模型。前面那种方法和SeqGAN的做法相同就不在进行介绍，相比之下后者的模型能够通过使用完整的（fully）和部分的（partially）解码序列来训练一个分类模型。但是这种方法存在一个问题，那就是重复的序列会让模型overfitting在固定序列的生成模式。因为早期产生的部分序列会出现在后续的更长的序列中。怎么理解呢？假设我们有一个序列“This is a man.”，在模型训练第三个序列“This is a”的时候，模型已经学习过“This”和“This is”。也就是说this这个token的权重在训练后续的时间点时会被重复训练多次，这样以来模型对于早期的前缀序列会具有很深刻的印象，导致模型overfitting在一些固定的表达法而难以跳脱。为了克服这个问题，作者就选择了每一次更新的时候仅从所有的正序列（positive sequences）和负序列（negative sequences）中分别随机sample一个来训练判别器。实验结果表明这种方法比蒙特卡罗省时，但是却无法在收敛之后达到比蒙特卡罗更好的结果。\n\n### Teacher Forcing\n在序列生成对抗的过程中，GANs的生成器只能间接地通过判别器产生的reward来判断所产生的句子的好坏。而不是直接接触最终的真实句子（可以叫做gold-standard）获取信息。这样的方式可能存在一个隐藏的问题点，那就是一旦生成器在某个时刻产生的句子不好，判别器就会给出一个较低的reward，这个时候对于生成器而言最直观的感觉就是需要对生成序列的分布进行改变。然而因为无法接触到最终label的任何信息，因此生成器很容易迷失（只知道自己不好，但是却不知道应该如何改进）。为了解决这个问题，本文引入了teacher forcing的策略，在生成器更新的过程中，如果判别器给出的reward很小，模型就会将真实的资料作为输入指导生成器进行下一次的更新优化。就好比一个老师在学生遇到困难的时候能够帮他指引方向一样。这样一来生成器就有可能在上述的情况下仍能得到较好的结果。\n\n## GANS for Sequences of Discrete Elements with the Gumbel-softmax Distribution\n- 论文链接：https://arxiv.org/pdf/1611.04051.pdf\n- Key Points：Gumbel Softmax Distribution\n\n- Graph & Algorithm：\n\n![](https://i.imgur.com/w04YQ7F.png)\n\n**思路**：不同于之前的RL方法，该论文在处理离散数据的问题上采用了新的方法——Gumbel Softmax。离散数据通常是用one-hot vector表示，并可以通过sampling的方式从一些多项式（例如softmax函数）中采样得到。采样的过程：![](https://i.imgur.com/HNIeZqu.png)，其中的![](https://i.imgur.com/FMeYe1T.png)是服从Gumbel Distribution的分布函数。然而这样的函数在反向传递过程中是无法微分的，因此我们采用另一种表示方式：![](https://i.imgur.com/4aG1Sjc.png)，这样的方式通过调节温度系数![](https://i.imgur.com/5nuwM7C.png)的值我们可以让softmax的分布在形式上尽可能逼近one-hot vector的形式，从而打破KL散度识别的误区。\n\n## Connecting Generative Adversarial Networks and Actor-Critic Methods\n- 论文链接：https://arxiv.org/pdf/1610.01945.pdf\n- Key Points：Summarize the correlation between GAN and Actor-Critic\n\n- Graph & Algorithm：\n\n![](https://i.imgur.com/We7q6hr.png)\n\n**思路**：大多数的强化学习模型只是采用了单一的决策（policy）和价值（value）方法。而Actor-Critic则是结合了两者的一项应用于一身的模型。类似GANs的运作方式，Actor-Critic也是采用了两种方法结合的训练模式。其中actor用来决策输出的action，而critic用来对action进行价值评估。\n\n论文提到了很多关于GANs与Actor-Critic的相同之处。actor相当于generator，都是用来为下一个时刻产生相应的输出（sentence for GANs & action for Actor-Critic）。critic相当于discriminator，都是用来评估所产生的输出所具备的价值水平。\n\n## Improving Neural Machine Translation with Conditional Sequence Generative Adversarial Nets\n- 论文链接：https://arxiv.org/pdf/1703.04887.pdf\n- Key Points：将SeqGAN用在机器翻译领域\n- Graph & Algorithm：\n\n![](https://i.imgur.com/YNKQOjk.png)\n\n**思路**：论文提出了CSGAN-NMT模型，用对抗学习的方式训练模型解决机器翻译的问题。生成器用的是attention based的NMT，而判别器采用的则是CNN based的分类器。（对比RNN based发现，RNN的模型在句子分类上具有较高的准确率，这样导致发生先前提到的判别器过度训练导致的梯度消失问题）\n\n文章的训练手法和SeqGAN十分类似，首先采用MLE的方式对生成器和判别器进行预训练。之后通过policy gradients+Monte Carlo的方式将两者结合起来做对抗学习。文章还采用了一种取代Schedule Sampling的方式来应对exposure bias的问题——Professor Forcing。\n\n### Professor Forcing\n不同于Schedule Sampling采用预设的门槛来决定什么时候采用teacher forcing的训练方式和free running。professor forcing的方法采用训练一个分类器（discriminator）来对门槛进行评估。有点类似RL中的DQN和Policy gradients的关系，具体示意图如下：\n\n![](https://i.imgur.com/Ox01o2b.png)\n\n这样的方法可以想象成NN-based Schedule Sampling。\n\n## Improved Training of Wasserstein GANs\n- 论文链接：http://papers.nips.cc/paper/7159-improved-training-of-wasserstein-gans.pdf\n- Key Points：让WGANs也能在NLP领域上发挥作用\n- Graph & Algorithm：\n\n![](https://i.imgur.com/PrcrDaQ.png)\n\n**思路**：总结WGANs与传统GANs在实作上的差异包括：1、判别器最后一层的输出去掉sigmoid（或者softmax，相当于不做正规化）。2、生成器和判别器的loss不去log。（相当于利用value代替probability）3、每次更新判别器的参数之后把它们的绝对值截断到一个不超过c的范围（weight clipping）。4、不采用基于动量（momentum）的优化函数（如Adam），转而采用RMSProp或者SGD。\n\n作者发现利用weight clipping的方式对判别器的输出分布进行Lipschitz限制，尽可能将结果逼近可靠的Wasserstein distance的方式是导致训练不稳定的一个关键因素。因为论文提出了通过梯度惩罚（gradient penalty）来代替之前采用的Lipschitz限制。\n\n![](https://i.imgur.com/1QUo5yh.png)\n\n可以从算法中看出损失函数除了原先的部分，还加入了一个梯度惩罚项。\n\n## MaskGAN: Better Text Generation via Filling in the______\n- 论文链接：https://arxiv.org/pdf/1801.07736.pdf\n- Key Points：采用Mask的方式让GANs在序列生成的时候更加robust\n- Graph & Algorithm：\n\n![](https://i.imgur.com/rikhKho.png)\n\n**思路**：在针对exporsure bias和部分序列reward的问题上，论文采用了fill-in-the-blank或in-filling的方式加以缓解。在训练过程中，一部分文本信息将会被去除（masked），而模型的目的是随后需要填充文本中缺失的那些部分，让他尽可能和真实资料相近。\n\n在文本数据中有着更复杂的mode，比如词组、短语、长的谚语等，这些都是我们希望模型能够学习的。然而SeqGAN中判别器是对一整个完整的句子进行判别，可以想象对于GANs来说句子的mode更是稀疏，那么GANs学习到的句子diversity会远远不足。于是，作者想办法让GANs能够在词级别（sub-sequence）的生成上做判断。然而，当模型在sampling时，也就是完全free-running的模式下，我们并不能确定每个位置的词还和ground truth保持一致，这会给模型训练带来很大的干扰。于是作者采用了让模型做完型填空的形式（像一种改进版Schedule Sampling），在原句子中随机挖几个空（mask），然后让模型去填，之后让判别器去判断输出的是否是正确的词。\n\n模型采用一种 curriculum learning 的方式，随着训练的进行，不断增加sequence的长度，使得模型从short-term dependencies开始，慢慢学习到long-term dependencies。\n模型需要经过两轮预训练：\n- 用传统的 maximum likelihood training pre-train一个语言模型，之后将这个语言模型的网络权值赋值给seq2seq模型的encoder和decoder模块;\n- 用得到的seq2seq模型来做完型填空任务（ in-filling task），用传统的 maximum likelihood training来训练，得到的seq2seq模型网络权值赋值给MaskGAN的generator和discriminator。\n\n# Attention-Based Reward Conditional Sequence Generative Adversarial Network(AR-CSGAN proposed by ourselves)\n\n- Key Points：\n    - **Conditional Sequence Generative Model**\n    - **Schedule Sampling**\n    - **Attention-Based Reward System**\n    - **Policy Gradients Optimization**\n- Graph & Algorithm：\n\n- **Model overview**\n\n![](https://i.imgur.com/rVQu9q5.png)\n\n- **Reward attention system**\n\n![](https://i.imgur.com/dEPeXUq.png)\n\n- **Global teacher forcing**\n\n![](https://i.imgur.com/dZC1l9f.png)\n\n- **The whole system**\n\n![](https://i.imgur.com/3kXUwmh.png)\n\n- **Algorithm**\n\n![](https://i.imgur.com/s06VLxG.png)\n\n- **We propose an attention-based reward conditional SeqGAN Model to assign the reward from the discriminator.**\n    - Generating diverse, meaningful and more extended sequences\n    - Solving the problems of making GANs difficult to work in NLP\n    - Automatically assign the rewards from discriminator\n    - Stable and computationally efficient\n- **Some special training strategies are presented, which help us to train our model stably.**\n    - Sequence AutoEncoder\n    - Teacher Forcing\n    - Dynamic Learning Rate\n    - Weight clipping\n\n# 参考（reference）\n\n- [DeepDrumpf Tweeter](https://www.csail.mit.edu/news/postdoc-develops-twitterbot-uses-ai-sound-donald-trump)\n- [Generative Adversarial Networks for Text](https://www.reddit.com/r/MachineLearning/comments/40ldq6/generative_adversarial_networks_for_text/)\n- [令人拍案叫绝的Wasserstein GAN](https://zhuanlan.zhihu.com/p/25071913)\n- [Role of RL in Text Generation by GAN](https://zhuanlan.zhihu.com/p/29168803)\n- [AI技术讲座精选：GAN 在 NLP 中的尝试](https://www.toutiao.com/i6376751517893919234/)\n- [《MASKGAN: BETTER TEXT GENERATION VIA FILLING IN THE __ __》阅读笔记](https://zhuanlan.zhihu.com/p/34657045)\n- The encode-decode framework refer to Neural responding machine for short-text conversation (2015)\n- ARJOVSKY, Martin; CHINTALA, Soumith; BOTTOU, Léon. Wasserstein gan. arXiv preprint arXiv:1701.07875, 2017.\n- ZHANG, Yizhe; GAN, Zhe; CARIN, Lawrence. Generating text via adversarial training. In: NIPS workshop on Adversarial Training. 2016.\n- YU, Lantao, et al. SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient. In: AAAI. 2017. p. 2852-2858.\n- LI, Jiwei, et al. Adversarial learning for neural dialogue generation. arXiv preprint arXiv:1701.06547, 2017.\n- KUSNER, Matt J.; HERNÁNDEZ-LOBATO, José Miguel. Gans for sequences of discrete elements with the gumbel-softmax distribution. arXiv preprint arXiv:1611.04051, 2016.\n- PFAU, David; VINYALS, Oriol. Connecting generative adversarial networks and actor-critic methods. arXiv preprint arXiv:1610.01945, 2016.\n- YANG, Zhen, et al. Improving neural machine translation with conditional sequence generative adversarial nets. arXiv preprint arXiv:1703.04887, 2017.\n- GULRAJANI, Ishaan, et al. Improved training of wasserstein gans. In: Advances in Neural Information Processing Systems. 2017. p. 5767-5777.\n- FEDUS, William; GOODFELLOW, Ian; DAI, Andrew M. Maskgan: Better text generation via filling in the _. arXiv preprint arXiv:1801.07736, 2018.\n\n\n"
  },
  {
    "path": "NLP/Multi_Label/ShengCe/generate_submit.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/10/6 上午10:41 \n# @Author : ComeOnJian \n# @File : generate_submit.py.py \n\nimport jieba.posseg as pseg\nimport pandas as pd\nimport numpy as np\nimport jieba\nimport re\nimport util\nimport train_model\n\n# file path\nstop_words_path = './data/stopword.txt'\n\n# data path\nall_data_path = './data/all_docs.txt'\ntrain_data_path = './data/train_1000.csv'\ntest_data_path = './data/test_107295.csv'\ntrain_candidate_path = './data/train_1000_candidate_add_title.pickle'\ntest_candidate_path = './data/test_107295_candidate_add_title.pickle'\n# train_candidate_path = './data/train_1000_candidate.pickle'\n# test_candidate_path = './data/test_107295_candidate.pickle'\n\n# custom dict path\nrenming_dict_path = './data/mingxing.dict'\nzhongyi_dict_path = './data/zyi.dict'\nyinshi_dict_path = './data/yinshi.dict'\nyaoping_dict_path = './data/yaoping.dict'\n\ndef extract_title_doc(id,title, stop_words, words_prob):\n    # 书名号规则\n    title_tag = re.findall(r\"《(.+?)》\", title)\n    title_tag = [i.replace(\",\", \"\") for i in title_tag]\n    for tag in title_tag:\n        title = title.replace('《%s》'%(tag), 'TAG')\n    words_title = list(pseg.cut(title, HMM=True))\n    title_key_words = []\n    title_key_not_words = []\n    for word, pos in words_title:\n        if len(word) > 1 and word not in stop_words:\n            # 名字\n            if pos == 'nr':\n                if word not in title_tag:\n                    title_tag.append(word)\n                if word in words_prob:\n                    words_prob.pop(word)\n                if len(title_tag) == 2:\n                    return title_tag\n            # 其他名词\n            elif pos in ['n','nz','ns','nt','j','eng','m']:\n                if pos == 'eng' and word == 'TAG':\n                    continue\n                # if pos == 'eng' and len(word)>= 15:\n                #     continue\n                if word in words_prob:\n                    if (word, words_prob[word]) not in title_key_words:\n                        title_key_words.append((word, words_prob[word]))\n                else:\n                    title_key_not_words.append(word)\n    title_key_words_sorted = sorted(title_key_words,key=lambda x: x[1],reverse=True)\n\n    if len(title_tag) == 0:\n        # title_key_words_sorted中抽两个,不够从doc_key_words_sorted中补充\n        res = get_key_from_title(id,2,title_key_words_sorted,words_prob)\n        if len(res) == 0:\n            return title_key_not_words[:2]\n        else:\n            title_tag += res\n        return title_tag\n\n    if len(title_tag) == 1:\n        res = get_key_from_title(id, 1, title_key_words_sorted, words_prob)\n        if len(res) == 0:\n            return title_tag + title_key_not_words[:1]\n        else:\n            title_tag += res\n        return title_tag\n\n    if len(title_tag) >= 2:\n        return title_tag[:2]\n\ndef get_key_from_title(id, num, title_key_words_sorted, words_prob):\n    \"\"\"\n    :param num: 需要抽取的关键词个数，且需要满足prob>0.5\n    :param title_key_words_sorted:\n    :param doc_key_words_sorted:\n    \"\"\"\n    res_title = []\n    if len(title_key_words_sorted) == 0:\n        # 从 doc_key_words_sorted 中提取两个两个\n        doc_key_words_sorted = sorted(words_prob.items(), key=lambda x: x[1], reverse=True)\n        res = get_key_from_doc(num, doc_key_words_sorted)\n        res_title += res\n        return res_title\n\n    if len(title_key_words_sorted) == 1:\n        prob = title_key_words_sorted[0][1]\n        if prob > 0.5:\n            res_title.append(title_key_words_sorted[0][0])\n            num -= 1\n            if title_key_words_sorted[0][0] not in words_prob:\n                print('index %s --- value %s' % (id,title_key_words_sorted[0][0]))\n            else:\n                words_prob.pop(title_key_words_sorted[0][0])\n            # words_prob.pop(title_key_words_sorted[0][0])\n\n        doc_key_words_sorted = sorted(words_prob.items(), key=lambda x: x[1], reverse=True)\n        res = get_key_from_doc(num,doc_key_words_sorted)\n        res_title += res\n        return res_title\n\n    if len(title_key_words_sorted) >= 2:\n        for index,(word, prob)in enumerate(title_key_words_sorted):\n            if prob > 0.5:\n                res_title.append(title_key_words_sorted[index][0])\n                if title_key_words_sorted[index][0] not in words_prob:\n                    print('index %s --- value %s'% (id,title_key_words_sorted[index][0]))\n                else:\n                    words_prob.pop(title_key_words_sorted[index][0])\n                num -= 1\n\n            if num == 0:\n                return res_title\n        if num > 0:\n            doc_key_words_sorted = sorted(words_prob.items(), key=lambda x: x[1], reverse=True)\n            res = get_key_from_doc(num,doc_key_words_sorted)\n            res_title += res\n            return res_title\n\ndef get_key_from_doc(num, doc_key_words_sorted):\n    \"\"\"\n    从doc 中需要抽取num个关键词\n    :param num:\n    :param doc_key_words_sorted:\n    \"\"\"\n    res = []\n    if num == 0:\n        return res\n    if len(doc_key_words_sorted) == 0:\n        return res  # 0\n    if len(doc_key_words_sorted) == 1:\n        res.append(doc_key_words_sorted[0][0])\n        return res\n    if len(doc_key_words_sorted) >= 2:\n        res.append(doc_key_words_sorted[0][0])\n        if num == 1:\n            return res\n        if num == 2:\n            res.append(doc_key_words_sorted[1][0])\n        return res\n\ndef main():\n\n    # step 1 模型\n    train_data = pd.read_csv(train_data_path, sep='\\001', header=None)\n    train_data.columns = ['id', 'title', 'doc', 'key_words']\n    train_candidates = util.load_object(train_candidate_path)\n    Featutes, labels = train_model.build_train_sample(train_data, train_candidates)\n    print(np.sum(labels))\n    print(Featutes.shape)\n    dt = train_model.train_class_model(Featutes, labels)\n\n    # test\n    test_data = pd.read_csv(test_data_path, sep='\\001', header=None)\n    stop_words = util.stopwordslist(stop_words_path)\n    test_data.columns = ['id', 'title', 'doc']\n    ids = test_data['id'].tolist()\n    titles = test_data['title'].tolist()\n    docs = test_data['doc'].tolist()\n    test_candidates = util.load_object(test_candidate_path)\n    sample_label_probs = train_model.get_test_sample_prob(dt, test_data, test_candidates)\n\n    # util.save_object(sample_label_probs, './data/sample_labels_probs_add_title.pickle')\n    # sample_label_probs = util.load_object('./data/sample_labels_probs_add_title.pickle')\n    # sample_label_probs = util.load_object('./data/sample_title_doc_labels_probs1.pickle')\n    with open('last_summit2.csv','w') as file:\n        file.write('id,label1,label2\\n')\n        for (id, title, doc, words_prob) in zip(ids, titles, docs, sample_label_probs):\n            if id == 'D087215':\n                print('test......')\n            if id == 'D087268':\n                print('test......')\n\n            title = str(title).strip()\n            last_labes = extract_title_doc(id, title, stop_words, words_prob)\n            labels_str = \",\".join(last_labes)\n            if len(last_labes) <= 1:\n                labels_str += ','\n            file.write(id + \",\" + labels_str)\n            file.write(\"\\n\")\nif __name__ == '__main__':\n    # load custom dict\n    jieba.load_userdict(renming_dict_path)\n    jieba.load_userdict(zhongyi_dict_path)\n    jieba.load_userdict(yinshi_dict_path)\n    jieba.load_userdict(yaoping_dict_path)\n    main()\n\n\n\n"
  },
  {
    "path": "NLP/Multi_Label/ShengCe/train_model.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/10/6 上午10:42 \n# @Author : ComeOnJian \n# @File : train_model.py \n\nimport util\nfrom gensim import corpora, models\nimport jieba\nimport jieba.posseg as pseg\nimport pandas as pd\nimport numpy as np\n# sklearn model\nfrom sklearn.tree import DecisionTreeClassifier\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.metrics import accuracy_score, f1_score, precision_score, recall_score\n\n# file path\nstop_words_path = './data/stopword.txt'\ncorpus_path = './data/model_data/corpus.mm'\ncorpora_dict_path = './data/model_data/dict.pickle'\ncorpus_docs_seg_path = './data/model_data/docs_seg.pickle'\n\n# model path\ntfidf_path = './data/model_data/tfidf_model.model'\nlda_path = './data/model_data/lda_model.model'\nlsi_path = './data/model_data/lsi_model.model'\n\n# custom dict path\nrenming_dict_path = './data/mingxing.dict'\nzhongyi_dict_path = './data/zyi.dict'\nyinshi_dict_path = './data/yinshi.dict'\nyaoping_dict_path = './data/yaoping.dict'\n\n# data path\nall_data_path = './data/all_docs.txt'\ntrain_data_path = './data/train_1000.csv'\ntest_data_path = './data/test_107295.csv'\ntrain_candidate_path = './data/train_1000_candidate_add_title.pickle'\ntest_candidate_path = './data/test_107295_candidate_add_title.pickle'\nrandom_state = 4555\n\ndef get_topic_sim(model, word_corpus, doc_corpus):\n    doc_topic_prob = model[doc_corpus]\n    word_topic_prob = model[word_corpus]\n    sim = util.cal_sim(word_topic_prob, doc_topic_prob)\n    return  sim\n\ndef build_topic_model(data, stop_nfile, num_topics = 50, save = True):\n    stop_words = util.stopwordslist(stop_nfile)\n    corpora_documents = [] # 分词好的语料\n    for index, row in data.iterrows():\n        doc = str(row['doc']).strip()\n        doc_seg = list(jieba.cut(doc))\n        doc_seg_no_stop = [word for word in doc_seg if word not in stop_words]\n        corpora_documents.append(doc_seg_no_stop)\n        if index%3000 == 0:\n            print('deal with sentence %d'%index)\n    corpora_dict = corpora.Dictionary(corpora_documents)\n    if save:\n        util.save_object(corpora_documents, corpus_docs_seg_path)\n        util.save_object(corpora_dict, corpora_dict_path)\n    # corpora_documents = load_object('./data/docs_seg.pickle')\n    # corpora_dict = load_object('./data/dict.pickle')\n\n    corpus = [corpora_dict.doc2bow(doc) for doc in corpora_documents]\n    # corpus每个元素为(word_id, fre)表示某个word在该doc中的fre词频\n    # save corpus\n    if save:\n        corpora.MmCorpus.serialize(corpus_path,corpus)\n    # load corpus\n    # corpus = corpora.MmCorpus('./data/corpus.mm')\n\n    # tf-idf model\n    tfidf_model = models.TfidfModel(corpus)\n    print('tf-idf model finish...')\n\n    corpus_tfidf = tfidf_model[corpus]\n    # lda model\n    lda_model = models.LdaModel(corpus_tfidf, id2word=corpora_dict, num_topics=num_topics)\n    print('lda model finish...')\n    # lsi model\n    # corpus_tfidf = tfidf_model[corpus]\n    lsi_model = models.LsiModel(corpus_tfidf,id2word=corpora_dict,num_topics=num_topics)\n    print('lsi model finish...')\n    if save:\n        tfidf_model.save(tfidf_path)\n        lda_model.save(lda_path)\n        lsi_model.save(lsi_path)\n\ndef bulid_candidate_words(data, stop_nfile, candidate_save_path, candidata_pos={}, first_sentence_count=30, last_sentence_count=20):\n    # ID 标题 文本内容\n    stop_words = util.stopwordslist(stop_nfile)\n    # load corpus and model\n    corpus_dict = util.load_object(corpora_dict_path)\n    corpus = corpora.MmCorpus(corpus_path)\n    tfidf_model = models.TfidfModel.load(tfidf_path)\n    lda_model = models.LdaModel.load(lda_path)\n    lsi_model = models.LsiModel.load(lsi_path)\n\n    candidate_words = []\n    for index, row in data.iterrows():\n        title = str(row['title']).strip()\n        doc = str(row['doc']).strip()\n        candidate_word = {} # 该行记录的候选词key为word,value为id对应的特征(选择的10个特征)\n        # doc\n        words_doc = list(pseg.cut(doc, HMM=True)) #[(word, flag)]\n        # title\n        words_title = list(pseg.cut(title, HMM=True))\n\n        # 去除停用词\n        words_doc = [(word, pos) for word,pos in words_doc if word not in stop_words]\n        words_title = [(word, pos) for word,pos in words_title if word not in stop_words]\n\n        doc_len = len(words_doc)  # 统计去除停用词后的doc长度\n        title_len = len(words_title)\n        for word_index,(word,pos) in enumerate(words_doc):\n            if pos in candidata_pos and len(word) > 1:\n                # 特征的最后三项分别:features[-3]doc长度,features[-2]纪录候选词的首次出现位置,features[-1]最后一次出现的位置\n                if word in candidate_word:\n                    word_features = candidate_word[word]\n                    word_features[-1] = (word_index+1)\n                    candidate_word[word] = word_features\n                    continue\n                else:\n                    features = [0] * 14\n                    features[-3] = doc_len\n                    # feature 1 词性\n                    features[0] = candidata_pos[pos]\n                    # feature 2 候选词首次出现的位置\n                    if doc_len == 0:\n                        firoc = 0.\n                    else:\n                        firoc = (word_index+1)/float(doc_len)\n                    features[1] = firoc\n                    features[-2] = (word_index+1) # 首次出现的位置\n                    # feature 3 候选词的长度\n                    features[2] = len(word)\n                    # feature 4 候选词为的字符都是数字或者字母组成\n                    if util.is_contain_char_num(word):\n                        features[3] = 1\n                    # feature 5 候选词对应的tfidf\n                    id = corpus_dict.token2id.get(word, len(corpus_dict.token2id)+1)\n                    if id == len(corpus_dict.token2id)+1:\n                        features[4] = 1e-8\n                    else:\n                        for (w_id, tfidf) in tfidf_model[corpus[index]]:\n                            if id == w_id:\n                                features[4] = tfidf\n                                break\n                    # feature 6 第一句中候选词出现的次数\n                    first_sentence = words_doc[:first_sentence_count]\n                    features[5] = util.get_count_sentence(word,first_sentence)\n                    # feature 7 最后一句中候选词出现的次数[-20:]\n                    last_sentence = words_doc[-last_sentence_count:]\n                    features[6] = util.get_count_sentence(word,last_sentence)\n                    # feature 8,9 LDA,LSI:候选词的主题分布与文档的主题分布的相似度\n                    single_list = [word]\n                    word_corpus = tfidf_model[corpus_dict.doc2bow(single_list)]\n                    features[7] = get_topic_sim(lda_model,word_corpus,corpus[index])\n                    features[8] = get_topic_sim(lsi_model,word_corpus,corpus[index])\n                    # feature 11 词跨度长度由的首次出现位置和最后一次出现的位置和doc长度计算\n                    candidate_word[word] = features\n\n        for word_index, (word, pos) in enumerate(words_title):\n            if pos in candidata_pos and len(word) > 1:\n                if word in candidate_word:\n                    word_features = candidate_word[word]\n                    # feature 10 是否出现在标题中\n                    word_features[9] = 1\n                    candidate_word[word] = word_features\n                else:\n                    features = [0] * 14\n                    features[-3] = title_len\n                    # feature 1 词性\n                    features[0] = candidata_pos[pos]\n                    # feature 2 候选词首次出现的位置\n                    if title_len == 0:\n                        firoc = 0.\n                    else:\n                        firoc = (word_index + 1) / float(title_len)\n                    features[1] = firoc\n                    features[-2] = (word_index + 1)  # 首次出现的位置\n                    # feature 3 候选词的长度\n                    features[2] = len(word)\n                    # feature 4 候选词为的字符都是数字或者字母组成\n                    if util.is_contain_char_num(word):\n                        features[3] = 1\n                    # feature 5 候选词对应的tfidf\n                    id = corpus_dict.token2id.get(word, len(corpus_dict.token2id) + 1)\n                    if id == len(corpus_dict.token2id) + 1:\n                        features[4] = 1e-8\n                    else:\n                        for (w_id, tfidf) in tfidf_model[corpus[index]]:\n                            if id == w_id:\n                                features[4] = tfidf\n                                break\n                    # feature 6 第一句中候选词出现的次数\n                    first_sentence = words_doc[:first_sentence_count]\n                    features[5] = util.get_count_sentence(word, first_sentence)\n                    # feature 7 最后一句中候选词出现的次数[-20:]\n                    last_sentence = words_doc[-last_sentence_count:]\n                    features[6] = util.get_count_sentence(word, last_sentence)\n                    # feature 8,9 LDA,LSI:候选词的主题分布与文档的主题分布的相似度\n                    single_list = [word]\n                    word_corpus = tfidf_model[corpus_dict.doc2bow(single_list)]\n                    features[7] = get_topic_sim(lda_model, word_corpus, corpus[index])\n                    features[8] = get_topic_sim(lsi_model, word_corpus, corpus[index])\n                    # feature 10 是否出现在标题中\n                    features[9] = 1\n                    # feature 11 词跨度长度由的首次出现位置和最后一次出现的位置和doc长度计算\n                    candidate_word[word] = features\n        candidate_words.append(candidate_word)\n        # save\n        if index % 2000 == 0:\n            print('deal with sentence %d' % index)\n\n    # data['candidate_words'] = candidate_words\n    # data.to_csv(data_candidate_path, sep='\\001', header=None, index=None)\n    util.save_object(candidate_words,candidate_save_path)\n\ndef build_train_sample(data, candidate_words_list):\n    \"\"\"\n    :param data: DataFrame\n    :param candidate_words: list,[dict,dict,dict,...],其中dict\n    \"\"\"\n    labels = []\n    Featutes = []\n    assert data.shape[0] == len(candidate_words_list)\n    for index, row in data.iterrows():\n        targets = str(row['key_words']).strip().split(',')\n        candidate_words = candidate_words_list[index]\n        if len(candidate_words) == 0:\n            print('%d sentence is null'%(index))\n        for word,feature in candidate_words.items():\n            doc_len = feature[-3]\n            first_index = feature[-2]\n            last_index = feature[-1]\n            if doc_len <= 0:\n                print('%s of %d sentence doc len == 0' % (word, index))\n                feature[-3] = 0.\n            else:\n                feature[-3] = (last_index - first_index) / float(doc_len)\n\n            if None in feature:\n                # feature[8] = 0.\n                print('index: %d, word is %s feature has None, the None is %d' % (index,word,feature.index(None)))\n                # continue\n            Featutes += [feature[:-2]]\n            # flag = False\n            # for target in targets:\n            #     if word == target:\n            #         labels += [1]  # [[1]]\n            #         flag = True\n            #         break\n            #     elif (word in target or target in word):\n            #         labels += [1] # [[1]]\n            #         flag = True\n            #         break\n            #\n            # if flag is False:\n            #     labels += [0] #[[0]]\n            #\n            # number is 1822, all is 2992\n            if word in targets:\n                labels += [1]\n            else:\n                labels += [0]\n    return np.array(Featutes,dtype='float32'),np.array(labels)\n\ndef train_class_model(features,labels):\n\n    X_train, X_test, y_train, y_test = train_test_split(features,labels,shuffle=True,random_state=random_state,test_size=0.1)\n    print('x_train:',X_train.shape)\n    print('y_train:',y_train.shape)\n    dt = DecisionTreeClassifier(class_weight={0:1,1:10},max_depth=3)\n    # dt = GaussianNB()\n    # dt = RandomForestClassifier(class_weight={0: 1, 1: 10}, n_estimators=50, max_depth=3)\n    # dt = LogisticRegression(class_weight={0:1,1:10})\n    print('start train...')\n    dt.fit(X_train,y_train)\n    # dt.fit(features,labels)\n\n    print('finish train...')\n    y_pre = dt.predict(X_test)\n    print('accuracy: ',accuracy_score(y_test,y_pre))\n    print('f1 score: ',f1_score(y_test,y_pre))\n    print('precision_score: ',precision_score(y_test,y_pre))\n    print('recall_score: ',recall_score(y_test,y_pre))\n    return dt\n\ndef get_test_sample_prob(model, test_data, test_candidates):\n    assert test_data.shape[0] == len(test_candidates)\n    labels = []\n    for index, row in test_data.iterrows():\n        # one sample\n        sample_labes = {}\n        if index==86399:\n            print('test---')\n        candidate_words = test_candidates[index]\n        for word,feature in candidate_words.items():\n            doc_len = feature[-3]\n            first_index = feature[-2]\n            last_index = feature[-1]\n            if doc_len <=0:\n                feature[-3] = 0.\n            else:\n                feature[-3] = (last_index - first_index) / float(doc_len)\n            features =  np.array([feature[:-2]])\n            y_pre = model.predict_proba(np.array(features))[0][1]\n            sample_labes[word] = y_pre\n        labels.append(sample_labes)\n\n        if index % 2000 == 0:\n            print('test with sentence %d' % index)\n    return labels\n\nif __name__ == '__main__':\n    # load custom dict\n    jieba.load_userdict(renming_dict_path)\n    jieba.load_userdict(zhongyi_dict_path)\n    jieba.load_userdict(yinshi_dict_path)\n    jieba.load_userdict(yaoping_dict_path)\n\n    # step1 训练topic相关的模型\n    # ID 标题 文本内容\n    all_data = pd.read_csv(all_data_path, sep='\\001', header=None)\n    all_data.columns = ['id', 'title', 'doc']\n    build_topic_model(all_data,stop_words_path,num_topics=50)\n    print('finish build topic model...')\n\n    # step2\n    # 抽取候选词\n    train_data = pd.read_csv(train_data_path,sep='\\001', header=None)\n    train_data.columns = ['id', 'title', 'doc','key_words']\n    bulid_candidate_words(train_data, stop_words_path,train_candidate_path, candidata_pos=util.pos_dict, first_sentence_count=30,\n                          last_sentence_count=20)\n    print('finish build train candidate word...')\n\n    test_data = pd.read_csv(test_data_path, sep='\\001', header=None)\n    test_data.columns = ['id', 'title', 'doc']\n    bulid_candidate_words(test_data, stop_words_path, test_candidate_path, candidata_pos=util.pos_dict,\n                          first_sentence_count=30,\n                          last_sentence_count=20)\n\n\n\n\n\n\n"
  },
  {
    "path": "NLP/Multi_Label/ShengCe/util.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/10/6 上午10:47 \n# @Author : ComeOnJian \n# @File : util.py \nimport re\nimport math\nimport pickle\npos_dict = {\n    'n': 0,\n    'nr': 1,\n    'nz': 2,\n    'ns': 3,\n    'eng': 4,\n    'nt': 5,\n    'j': 6}\n\ndef stopwordslist(filepath):\n    stopwords = [line.strip() for line in open(filepath, 'r', encoding='utf-8').readlines()]\n    return stopwords\n\ndef get_shuming(text):\n    shuming_tag = re.findall(r\"《(.+?)》\", text)\n    shuming_tag = [i.replace(\",\", \"\") for i in shuming_tag]\n    return shuming_tag\n\ndef is_contain_char_num(text):\n    \"\"\"\n    判断文本text的字符是否全部由数字或者字母组成\n    \"\"\"\n    char_num = re.findall(r\"[a-zA-Z0-9]+\", text)\n    if text in char_num:\n        return True\n    else:\n        return False\n\ndef get_count_sentence(word,sentence):\n    \"\"\"\n    判断word在sentence词的列表中出现的次数\n    \"\"\"\n    first_count = 0\n    for first_word, first_pos in sentence:\n        if word == first_word:\n            first_count += 1\n    return first_count\n\ndef cal_sim(word_topic_prob, doc_topic_prob):\n    # 计算两个向量的余弦相似度\n    a, b, c = 0.0, 0.0, 0.0\n    for t1, t2 in zip(word_topic_prob, doc_topic_prob):\n        x1 = t1[1]\n        x2 = t2[1]\n        a += x1 * x2\n        b += x1 * x1\n        c += x2 * x2\n    sim = a / math.sqrt(b * c) if not (b * c) == 0.0 else 0.0\n    return sim\n\ndef save_object(obj,nfile):\n    with open(nfile,'wb') as file:\n        pickle.dump(obj,file)\n\ndef load_object(nfile):\n    with open(nfile,'rb') as file:\n        return pickle.load(file)\n\n"
  },
  {
    "path": "NLP/Seq2Seq/__init__.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/7/19 下午9:20 \n# @Author : ComeOnJian \n# @File : __init__.py.py \n\n"
  },
  {
    "path": "NLP/Seq2Seq/data_util.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/7/20 上午9:02 \n# @Author : ComeOnJian \n# @File : data_util.py\n# 参考https://kingsleyhsu.github.io/2017/10/26/20171026-NLP%E9%A2%84%E5%A4%84%E7%90%86/\nimport re\nimport jieba\nimport numpy as np\nfrom tensorflow.python.platform import gfile\nimport os\nfrom zhon.hanzi import punctuation\n\n#################### 清洗Sougou新闻语料库的工作 ####################\n# 文本中特殊的标志\n_PAD = b\"_PAD\"\n_GO = b\"_GO\"\n_EOS = b\"_EOS\"\n_UNK = b\"_UNK\"\n_START_VOCAB = [_PAD, _GO, _EOS, _UNK]\nPAD_ID = 0\nGO_ID = 1\nEOS_ID = 2\nUNK_ID = 3\n# Regular expressions used to tokenize.\n_WORD_SPLIT = re.compile(b\"([.,!?\\\"':;)(])\")\n_DIGIT_RE = re.compile(br\"\\d\")\nroot_path = os.path.abspath(os.path.join(os.getcwd(),'../data/text_summar'))\n\n##############################  全角和半角文本转换 ##############################################\ndef strQ2B(ustring):\n    \"\"\"全角转半角\"\"\"\n    rstring = \"\"\n    for uchar in ustring:\n        inside_code=ord(uchar)\n        if inside_code == 12288:                              #全角空格直接转换\n            inside_code = 32\n        elif (inside_code >= 65281 and inside_code <= 65374): #全角字符（除空格）根据关系转化\n            inside_code -= 65248\n\n        rstring += unichr(inside_code)\n    return rstring\n\ndef strB2Q(ustring):\n    \"\"\"半角转全角\"\"\"\n    rstring = \"\"\n    for uchar in ustring:\n        inside_code=ord(uchar)\n        if inside_code == 32:                                 #半角空格直接转化\n            inside_code = 12288\n        elif inside_code >= 32 and inside_code <= 126:        #半角字符（除空格）根据关系转化\n            inside_code += 65248\n\n        rstring += unichr(inside_code)\n    return rstring\n    return text\n##############################  文本清理工作 ##############################################\ndef remove_url(text):\n\tr=u'((https?|ftp|file)://){,1}[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]'\n\treturn re.sub(r,'TAG_URL', text)\n\ndef remove_pun_ch(text):\n\treturn re.sub(ur\"[%s]\"%punctuation , \"\", text.decode('utf-8'))\n\ndef remove_pun_en(text):\n\tr=u'[’!\"#$%&\\'()*+,-./:;<=>?@[\\\\]^_`{|}~]+'\n\treturn re.sub(r,'', text)\n\ndef remove_date(text):\n\tr=u'\\d{1,4}年\\d{1,2}月\\d{1,2}日 |\\d{1,4}年\\d{1,2}月|\\d{1,2}月\\d{1,2}日|\\d{1,4}年|\\d{1,2}月|\\d{1,2}日'\n\treturn re.sub(r, 'TAG_DATE', strQ2B(text))\n\ndef remove_num(text):\n\tr=u'\\d{1,}'\n\treturn re.sub(r,'TAG_NUMBER', text)\n\ndef remove_num_en(text):\n\tr=u'([\\uff01-\\uff5e]){1,}'\n\treturn re.sub(r,'TAG_NUM_EN', text)\n\ndef remove_tag(text):\n    text = remove_url(text)\n    text = remove_pun_en(text)\n    text = remove_pun_ch(text) #之后是Unicode\n    text = remove_date(text)\n    text = remove_num_en(text)\n    text = remove_num(text)\n    return text\n##############################  文本转换为训练集和测试集的预处理工作 ##############################################\ndef get_title_content(content_fp,title_fp):\n    \"\"\"\n    :param content_fp:新闻文本的内容文件路径\n    :param title_fp:新闻文本的标题文件路径\n    :return:list格式的content，title\n    \"\"\"\n    data_content = []\n    data_title = []\n    tmp_content = []\n    tmp_title = []\n    with open(content_fp,'r') as be_content_f:\n        for line in be_content_f.readlines():\n            #截取content的内容，去除<content></content>标签\n            tmp_content.append(line[9:-11])\n    with open(title_fp, 'r') as be_title_f:\n        for line in be_title_f.readlines():\n            tmp_title.append(line[14:-16])\n\n    indices = len(tmp_content)\n    a = np.arange(indices)\n    b = np.random.permutation(a)\n\n    for i in b:\n        if(tmp_content[i] and tmp_title[i]):\n            data_content.append(tmp_content[i])\n            data_title.append(tmp_title[i])\n    return data_content,data_title\n\ndef basic_tokenizer(sentence):\n  \"\"\"Very basic tokenizer: split the sentence into a list of tokens.\"\"\"\n  words = []\n  for space_separated_fragment in sentence.strip().split():\n    words.extend(re.split(_WORD_SPLIT, space_separated_fragment))\n  return [w for w in words if w]\n\ndef jieba_tokenizer(sentence):\n    sentence_seged = jieba.cut(sentence.strip())\n    return sentence_seged\n\ndef create_vocab(vocabulary_path, data_path, max_vocabulary_size,\n                      tokenizer=None, normalize_digits=True):\n    \"\"\"\n    构建词典\n    :param vocabulary_path:词典路径\n    :param data_path:训练集文本路径\n    :param max_vocabulary_size:词典max size\n    :param tokenizer:词条化函数，若=None，使用basic_tokenizer\n    :param normalize_digits:if true, 所有数字用0代替\n    :return:\n    \"\"\"\n    if not gfile.Exists(vocabulary_path):\n        print(\"Creating vocabulary %s from data %s\" % (vocabulary_path, data_path))\n        vocab = {}\n        with gfile.GFile(data_path, mode=\"rb\") as f:\n            counter = 0\n            for line in f:\n                counter += 1\n                if counter % 100000 == 0:\n                    print(\"  processing line %d\" % counter)\n                tokens = tokenizer(line) if tokenizer else basic_tokenizer(line)\n                for w in tokens:\n                    word = re.sub(_DIGIT_RE, b\"0\", w) if normalize_digits else w\n                    if word in vocab:\n                        vocab[word] += 1\n                    else:\n                        vocab[word] = 1\n            vocab_list = _START_VOCAB + sorted(vocab, key=vocab.get, reverse=True)\n            if len(vocab_list) > max_vocabulary_size:\n                vocab_list = vocab_list[:max_vocabulary_size]\n            with gfile.GFile(vocabulary_path, mode=\"wb\") as vocab_file:\n                for w in vocab_list:\n                    vocab_file.write(w + b\"\\n\")\n\n\ndef initialize_vocabulary(vocabulary_path):\n    \"\"\"\n    初始化词典\n\t假设词典文件如下：\n\t\tdog\n\t\tcat\n    :param vocabulary_path:词典所在路径\n    :return:\n    vocabulary ={\"dog\": 0, \"cat\": 1}, reversed-vocabulary=[\"dog\", \"cat\"].\n    vocabulary ：词典类型\n\treversed vocabulary ：list\n    \"\"\"\n    if gfile.Exists(vocabulary_path):\n        rev_vocab = []\n        with gfile.GFile(vocabulary_path, mode=\"rb\") as f:\n            rev_vocab.extend(f.readlines())\n        rev_vocab = [line.strip() for line in rev_vocab]\n        vocab = dict([(x, y) for (y, x) in enumerate(rev_vocab)])\n        return vocab, rev_vocab\n    else:\n        raise ValueError(\"Vocabulary file %s not found.\", vocabulary_path)\n\ndef sentence_to_token_ids(sentence, vocabulary,\n                          tokenizer=None, normalize_digits=True):\n\t'''\n\t将文件转换成id\n\t句子\"I have a dog\" 用词典{\"I\": 1, \"have\": 2,\"a\": 4, \"dog\": 7\"}返回[1, 2, 4, 7]\n\t输入:\n\t\tsentence: 句子用bytes格式\n\t\tvocabulary: 词典\n\t\ttokenizer:词条化函数\n\t\tnormalize_digits: 是否数字化\n\t返回:\n\t\tid号\n\t'''\n\n\tif tokenizer:\n\t\twords = tokenizer(sentence)\n\telse:\n\t\twords = basic_tokenizer(sentence)\n\tif not normalize_digits:\n\t\treturn [vocabulary.get(w, UNK_ID) for w in words]\n\t# Normalize digits by 0 before looking words up in the vocabulary.\n\treturn [vocabulary.get(re.sub(_DIGIT_RE, b\"0\", w), UNK_ID) for w in words]\n\ndef data_to_token_ids(data_path, target_path, vocabulary_path,\n                      tokenizer=None, normalize_digits=True):\n\t'''\n\t将data文件转换成idsokenize\n\t输入：\n\t\tdata_path: data 文件路径\n\t\ttarget_path:ids文件路径\n\t\tvocabulary_path: 词汇表路径\n\t\ttokenizer:词条化函数\n\t\tnormalize_digits: 数字是否处理\n\t'''\n\tvocab, _ = initialize_vocabulary(vocabulary_path) #vocab=dict{\"dog\": 0, \"cat\": 1}\n\tdata_f = open(data_path,\"r\")\n\ttokens_f = open(target_path,\"w+\")\n\tcounter = 0\n\tfor line in data_f.readlines():\n\t\tcounter += 1\n\t\tif counter % 100000 == 0:\n\t\t\tprint(\"  tokenizing line %d\" % counter)\n\t\ttoken_ids = sentence_to_token_ids(line, vocab, tokenizer,normalize_digits)\n\t\ttokens_f.write(\" \".join([str(tok) for tok in token_ids]) + \"\\n\")#写到文件\n\n\ndef get_train_dev_sets(data_content, data_title, train_rate, dev_rate,\n                       tr_con_path, tr_title_path,\n                       dev_con_path, dev_title_path,\n                       test_con_path, test_title_path):\n    \"\"\"\n    按照train_rate，dev_rate切分train_sets，dev_sets和test_sets\n    :param data_content:\n    :param data_title:\n    :param train_rate:\n    :param dev_rate:\n    :param tr_con_path:\n    :param tr_title_path:\n    :param dev_con_path:\n    :param dev_title_path:\n    :param test_con_path:\n    :param test_title_path:\n    :return:\n    \"\"\"\n    tr_con_f = open(tr_con_path, \"w+\")\n    tr_title_f = open(tr_title_path, \"w+\")\n    dev_con_f = open(dev_con_path, \"w+\")\n    dev_title_f = open(dev_title_path, \"w+\")\n    test_con_f = open(test_con_path, \"w+\")\n    test_title_f = open(test_title_path, \"w+\")\n\n    line_num = len(data_content)\n    train_num = int(line_num * train_rate)\n    dev_num = int(line_num * dev_rate)\n\n    for i in range(0, train_num):\n        tr_con_f.write(data_content[i])\n        tr_title_f.write(data_title[i])\n\n    for i in range(train_num, dev_num + train_num):\n        dev_con_f.write(data_content[i])\n        dev_title_f.write(data_title[i])\n\n    for i in range(dev_num + train_num, line_num):\n        test_con_f.write(data_content[i])\n        test_title_f.write(data_title[i])\n    tr_con_f.close()\n    tr_title_f.close()\n    dev_con_f.close()\n    dev_title_f.close()\n    test_con_f.close()\n    test_title_f.close()\n    return (tr_con_path, tr_title_path, dev_con_path, dev_title_path, test_con_path, test_title_path)\n\ndef prepare_headline_data(data_dir, vocabulary_size, tokenizer=None):\n    \"\"\"\n    为模型训练准备数据\n    :param data_dir:数据存储的目录\n    :param vocabulary_size:词典的大小\n    :param tokenizer：词条化函数\n    :return:\n    \"\"\"\n    train_path = os.path.join(root_path, \"train\")\n    src_train_path = os.path.join(train_path, \"content-train-origin.txt\")\n    dest_train_path = os.path.join(train_path, \"title-train-origin.txt\")\n\n    dev_path = os.path.join(root_path, \"dev\")\n    src_dev_path = os.path.join(dev_path, \"content-dev-origin.txt\")\n    dest_dev_path = os.path.join(dev_path, \"title-dev-origin.txt\")\n\n    # 创建vocab\n    vocab_path = data_dir + '/vocab'\n    create_vocab(vocab_path,src_train_path,vocabulary_size,tokenizer)\n\n    # 创建 token ids for the training data.\n    src_train_ids_path = os.path.join(train_path, \"content_train_id\")\n    dest_train_ids_path = os.path.join(train_path, \"title_train_id\")\n    data_to_token_ids(src_train_path, src_train_ids_path, vocab_path, tokenizer)\n    data_to_token_ids(dest_train_path, dest_train_ids_path, vocab_path, tokenizer)\n\n    # 创建 token ids for the development data.\n    src_dev_ids_path = os.path.join(dev_path, \"content_dev_id\")\n    dest_dev_ids_path = os.path.join(dev_path, \"title_dev_id\")\n    data_to_token_ids(src_dev_path, src_dev_ids_path, vocab_path, tokenizer)\n    data_to_token_ids(dest_dev_path, dest_dev_ids_path, vocab_path, tokenizer)\n\nif __name__ == '__main__':\n    content_fp = root_path + '/corpus_50.txt'\n    title_fp = root_path + '/corpus_title_50.txt'\n    jieba.load_userdict(root_path+'/dict.txt')\n    print(content_fp)\n\n    train_path = os.path.join(root_path, \"train\")\n    src_train_path = os.path.join(train_path, \"content-train-origin.txt\")\n    dest_train_path = os.path.join(train_path, \"title-train-origin.txt\")\n\n    dev_path = os.path.join(root_path, \"dev\")\n    src_dev_path = os.path.join(dev_path, \"content-dev-origin.txt\")\n    dest_dev_path = os.path.join(dev_path, \"title-dev-origin.txt\")\n\n    test_path = os.path.join(root_path, \"test\")\n    src_test_path = os.path.join(test_path, \"content-test-origin.txt\")\n    dest_test_path = os.path.join(test_path, \"title-test-origin.txt\")\n\n    # step1 获取出文本内容\n    data_content,data_title = get_title_content(content_fp,title_fp)\n    indexs = np.arange(len(data_content))\n\n    # step2 去除tag\n    for index,content,title in zip(indexs,data_content,data_title):\n        data_content[index] = remove_tag(content).encode('utf-8')\n        data_title[index] = remove_tag(title).encode('utf-8')\n\n    # step3 划分数据，训练集，验证集，测试集\n    get_train_dev_sets(data_content,data_title,train_rate=0.7,dev_rate=0.1,\n                       tr_con_path=src_train_path,tr_title_path=dest_train_path,\n                       dev_con_path=src_dev_path,dev_title_path=dest_dev_path,\n                       test_con_path=src_test_path,test_title_path=dest_test_path\n                       )\n\n    # step4\n    prepare_headline_data(root_path,vocabulary_size=80000,tokenizer=jieba_tokenizer)\n    pass\n"
  },
  {
    "path": "NLP/Seq2Seq/main.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/7/24 上午10:25 \n# @Author : ComeOnJian \n# @File : main.py \n# 参考: https://github.com/rockingdingo/deepnlp/blob/r0.1.6/deepnlp/textsum/README.md\n\nimport numpy as np\nfrom NLP.Seq2Seq.text_summarizer import *\n\n# seq2seq相关的配置\nclass ModelLoader(object):\n    def __init__(self):\n        print(\"Starting new Tensorflow session...\")\n        self.session = tf.Session()\n        print(\"Initializing text summarization class...\")\n        self.model = self._init_model(self.session)\n\n    def _init_model(self,session):\n        model = create_model(session, True)\n        return model\n\n    def func_predict(self,sentence):\n        \"\"\"\n        输入语句进行预测\n        :param sentence:要取摘要的语句\n        :return:\n        \"\"\"\n        vocab_path = os.path.join(FLAGS.data_dir, \"vocab\")\n        vocab,rev_vocab = data_util.initialize_vocabulary(vocab_path)\n\n        token_ids = data_util.sentence_to_token_ids(sentence,vocab,tokenizer=data_util.jieba_tokenizer)\n        print (token_ids)\n        # 该句子对应的bucket\n        bucket_id = min([b for b in xrange(len(buckets))\n                         if buckets[b][0] > len(token_ids)])\n\n        print (\"current bucket id\" + str(bucket_id))\n        # feed data\n        encoder_inputs, decoder_inputs, target_weights = self.model.get_batch(\n            {bucket_id: [(token_ids, [])]}, bucket_id)\n\n        _, _, output_logits_batch = self.model.step(self.session,encoder_inputs,decoder_inputs,target_weights,bucket_id,True)\n        # This is a greedy decoder - outputs are just argmaxes of output_logits.\n        output_logits = []\n        for item in output_logits_batch:\n            output_logits.append(item[0])\n        outputs = [int(np.argmax(logit)) for logit in output_logits]\n        if data_util.EOS_ID in outputs:\n            outputs = outputs[:outputs.index(data_util.EOS_ID)]\n\n        result_str = \" \".join([rev_vocab[output] for output in outputs])\n        return result_str\n\nif __name__ == '__main__':\n    model = ModelLoader()\n    print model.func_predict('中国矿业大学是一个很值得去的大学。。。。啊哈哈哈')\n\n"
  },
  {
    "path": "NLP/Seq2Seq/seq2seq_attn.py",
    "content": "# Copyright 2015 The TensorFlow Authors. All Rights Reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ==============================================================================\n\"\"\"Library for creating sequence-to-sequence models in TensorFlow.\n\nSequence-to-sequence recurrent neural networks can learn complex functions\nthat map input sequences to output sequences. These models yield very good\nresults on a number of tasks, such as speech recognition, parsing, machine\ntranslation, or even constructing automated replies to emails.\n\nBefore using this module, it is recommended to read the TensorFlow tutorial\non sequence-to-sequence models. It explains the basic concepts of this module\nand shows an end-to-end example of how to build a translation model.\n  https://www.tensorflow.org/versions/master/tutorials/seq2seq/index.html\n\nHere is an overview of functions available in this module. They all use\na very similar interface, so after reading the above tutorial and using\none of them, others should be easy to substitute.\n\n* Full sequence-to-sequence models.\n  - basic_rnn_seq2seq: The most basic RNN-RNN model.\n  - tied_rnn_seq2seq: The basic model with tied encoder and decoder weights.\n  - embedding_rnn_seq2seq: The basic model with input embedding.\n  - embedding_tied_rnn_seq2seq: The tied model with input embedding.\n  - embedding_attention_seq2seq: Advanced model with input embedding and\n      the neural attention mechanism; recommended for complex tasks.\n\n* Multi-task sequence-to-sequence models.\n  - one2many_rnn_seq2seq: The embedding model with multiple decoders.\n\n* Decoders (when you write your own encoder, you can use these to decode;\n    e.g., if you want to write a model that generates captions for images).\n  - rnn_decoder: The basic decoder based on a pure RNN.\n  - attention_decoder: A decoder that uses the attention mechanism.\n\n* Losses.\n  - sequence_loss: Loss for a sequence model returning average log-perplexity.\n  - sequence_loss_by_example: As above, but not averaging over all examples.\n\n* model_with_buckets: A convenience function to create models with bucketing\n    (see the tutorial above for an explanation of why and how to use it).\n\"\"\"\n\nfrom __future__ import absolute_import\nfrom __future__ import division\nfrom __future__ import print_function\n\n# We disable pylint because we need python3 compatibility.\nfrom six.moves import xrange  # pylint: disable=redefined-builtin\nfrom six.moves import zip  # pylint: disable=redefined-builtin\n\nfrom tensorflow.contrib.rnn.python.ops import core_rnn\nfrom tensorflow.contrib.rnn.python.ops import core_rnn_cell\nfrom tensorflow.contrib.rnn.python.ops import core_rnn_cell_impl\nfrom tensorflow.python.framework import dtypes\nfrom tensorflow.python.framework import ops\nfrom tensorflow.python.ops import array_ops\nfrom tensorflow.python.ops import control_flow_ops\nfrom tensorflow.python.ops import embedding_ops\nfrom tensorflow.python.ops import math_ops\nfrom tensorflow.python.ops import nn_ops\nfrom tensorflow.python.ops import variable_scope\nfrom tensorflow.python.util import nest\n\n# TODO(ebrevdo): Remove once _linear is fully deprecated.\nlinear = core_rnn_cell_impl._linear  # pylint: disable=protected-access\n\n\ndef _extract_argmax_and_embed(embedding,\n                              output_projection=None,\n                              update_embedding=True):\n  \"\"\"Get a loop_function that extracts the previous symbol and embeds it.\n\n  Args:\n    embedding: embedding tensor for symbols.\n    output_projection: None or a pair (W, B). If provided, each fed previous\n      output will first be multiplied by W and added B.\n    update_embedding: Boolean; if False, the gradients will not propagate\n      through the embeddings.\n\n  Returns:\n    A loop function.\n  \"\"\"\n\n  def loop_function(prev, _):\n    if output_projection is not None:\n      prev = nn_ops.xw_plus_b(prev, output_projection[0], output_projection[1])\n    prev_symbol = math_ops.argmax(prev, 1)\n    # Note that gradients will not propagate through the second parameter of\n    # embedding_lookup.\n    emb_prev = embedding_ops.embedding_lookup(embedding, prev_symbol)\n    if not update_embedding:\n      emb_prev = array_ops.stop_gradient(emb_prev)\n    return emb_prev\n\n  return loop_function\n\n\ndef rnn_decoder(decoder_inputs,\n                initial_state,\n                cell,\n                loop_function=None,\n                scope=None):\n  \"\"\"RNN decoder for the sequence-to-sequence model.\n\n  Args:\n    decoder_inputs: A list of 2D Tensors [batch_size x input_size].\n    initial_state: 2D Tensor with shape [batch_size x cell.state_size].\n    cell: core_rnn_cell.RNNCell defining the cell function and size.\n    loop_function: If not None, this function will be applied to the i-th output\n      in order to generate the i+1-st input, and decoder_inputs will be ignored,\n      except for the first element (\"GO\" symbol). This can be used for decoding,\n      but also for training to emulate http://arxiv.org/abs/1506.03099.\n      Signature -- loop_function(prev, i) = next\n        * prev is a 2D Tensor of shape [batch_size x output_size],\n        * i is an integer, the step number (when advanced control is needed),\n        * next is a 2D Tensor of shape [batch_size x input_size].\n    scope: VariableScope for the created subgraph; defaults to \"rnn_decoder\".\n\n  Returns:\n    A tuple of the form (outputs, state), where:\n      outputs: A list of the same length as decoder_inputs of 2D Tensors with\n        shape [batch_size x output_size] containing generated outputs.\n      state: The state of each cell at the final time-step.\n        It is a 2D Tensor of shape [batch_size x cell.state_size].\n        (Note that in some cases, like basic RNN cell or GRU cell, outputs and\n         states can be the same. They are different for LSTM cells though.)\n  \"\"\"\n  with variable_scope.variable_scope(scope or \"rnn_decoder\"):\n    state = initial_state\n    outputs = []\n    prev = None\n    for i, inp in enumerate(decoder_inputs):\n      if loop_function is not None and prev is not None:\n        with variable_scope.variable_scope(\"loop_function\", reuse=True):\n          inp = loop_function(prev, i)\n      if i > 0:\n        variable_scope.get_variable_scope().reuse_variables()\n      output, state = cell(inp, state)\n      outputs.append(output)\n      if loop_function is not None:\n        prev = output\n  return outputs, state\n\n\ndef basic_rnn_seq2seq(encoder_inputs,\n                      decoder_inputs,\n                      cell,\n                      dtype=dtypes.float32,\n                      scope=None):\n  \"\"\"Basic RNN sequence-to-sequence model.\n\n  This model first runs an RNN to encode encoder_inputs into a state vector,\n  then runs decoder, initialized with the last encoder state, on decoder_inputs.\n  Encoder and decoder use the same RNN cell type, but don't share parameters.\n\n  Args:\n    encoder_inputs: A list of 2D Tensors [batch_size x input_size].\n    decoder_inputs: A list of 2D Tensors [batch_size x input_size].\n    cell: core_rnn_cell.RNNCell defining the cell function and size.\n    dtype: The dtype of the initial state of the RNN cell (default: tf.float32).\n    scope: VariableScope for the created subgraph; default: \"basic_rnn_seq2seq\".\n\n  Returns:\n    A tuple of the form (outputs, state), where:\n      outputs: A list of the same length as decoder_inputs of 2D Tensors with\n        shape [batch_size x output_size] containing the generated outputs.\n      state: The state of each decoder cell in the final time-step.\n        It is a 2D Tensor of shape [batch_size x cell.state_size].\n  \"\"\"\n  with variable_scope.variable_scope(scope or \"basic_rnn_seq2seq\"):\n    _, enc_state = core_rnn.static_rnn(cell, encoder_inputs, dtype=dtype)\n    return rnn_decoder(decoder_inputs, enc_state, cell)\n\n\ndef tied_rnn_seq2seq(encoder_inputs,\n                     decoder_inputs,\n                     cell,\n                     loop_function=None,\n                     dtype=dtypes.float32,\n                     scope=None):\n  \"\"\"RNN sequence-to-sequence model with tied encoder and decoder parameters.\n\n  This model first runs an RNN to encode encoder_inputs into a state vector, and\n  then runs decoder, initialized with the last encoder state, on decoder_inputs.\n  Encoder and decoder use the same RNN cell and share parameters.\n\n  Args:\n    encoder_inputs: A list of 2D Tensors [batch_size x input_size].\n    decoder_inputs: A list of 2D Tensors [batch_size x input_size].\n    cell: core_rnn_cell.RNNCell defining the cell function and size.\n    loop_function: If not None, this function will be applied to i-th output\n      in order to generate i+1-th input, and decoder_inputs will be ignored,\n      except for the first element (\"GO\" symbol), see rnn_decoder for details.\n    dtype: The dtype of the initial state of the rnn cell (default: tf.float32).\n    scope: VariableScope for the created subgraph; default: \"tied_rnn_seq2seq\".\n\n  Returns:\n    A tuple of the form (outputs, state), where:\n      outputs: A list of the same length as decoder_inputs of 2D Tensors with\n        shape [batch_size x output_size] containing the generated outputs.\n      state: The state of each decoder cell in each time-step. This is a list\n        with length len(decoder_inputs) -- one item for each time-step.\n        It is a 2D Tensor of shape [batch_size x cell.state_size].\n  \"\"\"\n  with variable_scope.variable_scope(\"combined_tied_rnn_seq2seq\"):\n    scope = scope or \"tied_rnn_seq2seq\"\n    _, enc_state = core_rnn.static_rnn(\n        cell, encoder_inputs, dtype=dtype, scope=scope)\n    variable_scope.get_variable_scope().reuse_variables()\n    return rnn_decoder(\n        decoder_inputs,\n        enc_state,\n        cell,\n        loop_function=loop_function,\n        scope=scope)\n\n\ndef embedding_rnn_decoder(decoder_inputs,\n                          initial_state,\n                          cell,\n                          num_symbols,\n                          embedding_size,\n                          output_projection=None,\n                          feed_previous=False,\n                          update_embedding_for_previous=True,\n                          scope=None):\n  \"\"\"RNN decoder with embedding and a pure-decoding option.\n\n  Args:\n    decoder_inputs: A list of 1D batch-sized int32 Tensors (decoder inputs).\n    initial_state: 2D Tensor [batch_size x cell.state_size].\n    cell: core_rnn_cell.RNNCell defining the cell function.\n    num_symbols: Integer, how many symbols come into the embedding.\n    embedding_size: Integer, the length of the embedding vector for each symbol.\n    output_projection: None or a pair (W, B) of output projection weights and\n      biases; W has shape [output_size x num_symbols] and B has\n      shape [num_symbols]; if provided and feed_previous=True, each fed\n      previous output will first be multiplied by W and added B.\n    feed_previous: Boolean; if True, only the first of decoder_inputs will be\n      used (the \"GO\" symbol), and all other decoder inputs will be generated by:\n        next = embedding_lookup(embedding, argmax(previous_output)),\n      In effect, this implements a greedy decoder. It can also be used\n      during training to emulate http://arxiv.org/abs/1506.03099.\n      If False, decoder_inputs are used as given (the standard decoder case).\n    update_embedding_for_previous: Boolean; if False and feed_previous=True,\n      only the embedding for the first symbol of decoder_inputs (the \"GO\"\n      symbol) will be updated by back propagation. Embeddings for the symbols\n      generated from the decoder itself remain unchanged. This parameter has\n      no effect if feed_previous=False.\n    scope: VariableScope for the created subgraph; defaults to\n      \"embedding_rnn_decoder\".\n\n  Returns:\n    A tuple of the form (outputs, state), where:\n      outputs: A list of the same length as decoder_inputs of 2D Tensors. The\n        output is of shape [batch_size x cell.output_size] when\n        output_projection is not None (and represents the dense representation\n        of predicted tokens). It is of shape [batch_size x num_decoder_symbols]\n        when output_projection is None.\n      state: The state of each decoder cell in each time-step. This is a list\n        with length len(decoder_inputs) -- one item for each time-step.\n        It is a 2D Tensor of shape [batch_size x cell.state_size].\n\n  Raises:\n    ValueError: When output_projection has the wrong shape.\n  \"\"\"\n  with variable_scope.variable_scope(scope or \"embedding_rnn_decoder\") as scope:\n    if output_projection is not None:\n      dtype = scope.dtype\n      proj_weights = ops.convert_to_tensor(output_projection[0], dtype=dtype)\n      proj_weights.get_shape().assert_is_compatible_with([None, num_symbols])\n      proj_biases = ops.convert_to_tensor(output_projection[1], dtype=dtype)\n      proj_biases.get_shape().assert_is_compatible_with([num_symbols])\n\n    embedding = variable_scope.get_variable(\"embedding\",\n                                            [num_symbols, embedding_size])\n    loop_function = _extract_argmax_and_embed(\n        embedding, output_projection,\n        update_embedding_for_previous) if feed_previous else None\n    emb_inp = (embedding_ops.embedding_lookup(embedding, i)\n               for i in decoder_inputs)\n    return rnn_decoder(\n        emb_inp, initial_state, cell, loop_function=loop_function)\n\n\ndef embedding_rnn_seq2seq(encoder_inputs,\n                          decoder_inputs,\n                          cell,\n                          num_encoder_symbols,\n                          num_decoder_symbols,\n                          embedding_size,\n                          output_projection=None,\n                          feed_previous=False,\n                          dtype=None,\n                          scope=None):\n  \"\"\"Embedding RNN sequence-to-sequence model.\n\n  This model first embeds encoder_inputs by a newly created embedding (of shape\n  [num_encoder_symbols x input_size]). Then it runs an RNN to encode\n  embedded encoder_inputs into a state vector. Next, it embeds decoder_inputs\n  by another newly created embedding (of shape [num_decoder_symbols x\n  input_size]). Then it runs RNN decoder, initialized with the last\n  encoder state, on embedded decoder_inputs.\n\n  Args:\n    encoder_inputs: A list of 1D int32 Tensors of shape [batch_size].\n    decoder_inputs: A list of 1D int32 Tensors of shape [batch_size].\n    cell: core_rnn_cell.RNNCell defining the cell function and size.\n    num_encoder_symbols: Integer; number of symbols on the encoder side.\n    num_decoder_symbols: Integer; number of symbols on the decoder side.\n    embedding_size: Integer, the length of the embedding vector for each symbol.\n    output_projection: None or a pair (W, B) of output projection weights and\n      biases; W has shape [output_size x num_decoder_symbols] and B has\n      shape [num_decoder_symbols]; if provided and feed_previous=True, each\n      fed previous output will first be multiplied by W and added B.\n    feed_previous: Boolean or scalar Boolean Tensor; if True, only the first\n      of decoder_inputs will be used (the \"GO\" symbol), and all other decoder\n      inputs will be taken from previous outputs (as in embedding_rnn_decoder).\n      If False, decoder_inputs are used as given (the standard decoder case).\n    dtype: The dtype of the initial state for both the encoder and encoder\n      rnn cells (default: tf.float32).\n    scope: VariableScope for the created subgraph; defaults to\n      \"embedding_rnn_seq2seq\"\n\n  Returns:\n    A tuple of the form (outputs, state), where:\n      outputs: A list of the same length as decoder_inputs of 2D Tensors. The\n        output is of shape [batch_size x cell.output_size] when\n        output_projection is not None (and represents the dense representation\n        of predicted tokens). It is of shape [batch_size x num_decoder_symbols]\n        when output_projection is None.\n      state: The state of each decoder cell in each time-step. This is a list\n        with length len(decoder_inputs) -- one item for each time-step.\n        It is a 2D Tensor of shape [batch_size x cell.state_size].\n  \"\"\"\n  with variable_scope.variable_scope(scope or \"embedding_rnn_seq2seq\") as scope:\n    if dtype is not None:\n      scope.set_dtype(dtype)\n    else:\n      dtype = scope.dtype\n\n    # Encoder.\n    encoder_cell = core_rnn_cell.EmbeddingWrapper(\n        cell,\n        embedding_classes=num_encoder_symbols,\n        embedding_size=embedding_size)\n    _, encoder_state = core_rnn.static_rnn(\n        encoder_cell, encoder_inputs, dtype=dtype)\n\n    # Decoder.\n    if output_projection is None:\n      cell = core_rnn_cell.OutputProjectionWrapper(cell, num_decoder_symbols)\n\n    if isinstance(feed_previous, bool):\n      return embedding_rnn_decoder(\n          decoder_inputs,\n          encoder_state,\n          cell,\n          num_decoder_symbols,\n          embedding_size,\n          output_projection=output_projection,\n          feed_previous=feed_previous)\n\n    # If feed_previous is a Tensor, we construct 2 graphs and use cond.\n    def decoder(feed_previous_bool):\n      reuse = None if feed_previous_bool else True\n      with variable_scope.variable_scope(\n          variable_scope.get_variable_scope(), reuse=reuse) as scope:\n        outputs, state = embedding_rnn_decoder(\n            decoder_inputs,\n            encoder_state,\n            cell,\n            num_decoder_symbols,\n            embedding_size,\n            output_projection=output_projection,\n            feed_previous=feed_previous_bool,\n            update_embedding_for_previous=False)\n        state_list = [state]\n        if nest.is_sequence(state):\n          state_list = nest.flatten(state)\n        return outputs + state_list\n\n    outputs_and_state = control_flow_ops.cond(feed_previous,\n                                              lambda: decoder(True),\n                                              lambda: decoder(False))\n    outputs_len = len(decoder_inputs)  # Outputs length same as decoder inputs.\n    state_list = outputs_and_state[outputs_len:]\n    state = state_list[0]\n    if nest.is_sequence(encoder_state):\n      state = nest.pack_sequence_as(\n          structure=encoder_state, flat_sequence=state_list)\n    return outputs_and_state[:outputs_len], state\n\n\ndef embedding_tied_rnn_seq2seq(encoder_inputs,\n                               decoder_inputs,\n                               cell,\n                               num_symbols,\n                               embedding_size,\n                               num_decoder_symbols=None,\n                               output_projection=None,\n                               feed_previous=False,\n                               dtype=None,\n                               scope=None):\n  \"\"\"Embedding RNN sequence-to-sequence model with tied (shared) parameters.\n\n  This model first embeds encoder_inputs by a newly created embedding (of shape\n  [num_symbols x input_size]). Then it runs an RNN to encode embedded\n  encoder_inputs into a state vector. Next, it embeds decoder_inputs using\n  the same embedding. Then it runs RNN decoder, initialized with the last\n  encoder state, on embedded decoder_inputs. The decoder output is over symbols\n  from 0 to num_decoder_symbols - 1 if num_decoder_symbols is none; otherwise it\n  is over 0 to num_symbols - 1.\n\n  Args:\n    encoder_inputs: A list of 1D int32 Tensors of shape [batch_size].\n    decoder_inputs: A list of 1D int32 Tensors of shape [batch_size].\n    cell: core_rnn_cell.RNNCell defining the cell function and size.\n    num_symbols: Integer; number of symbols for both encoder and decoder.\n    embedding_size: Integer, the length of the embedding vector for each symbol.\n    num_decoder_symbols: Integer; number of output symbols for decoder. If\n      provided, the decoder output is over symbols 0 to num_decoder_symbols - 1.\n      Otherwise, decoder output is over symbols 0 to num_symbols - 1. Note that\n      this assumes that the vocabulary is set up such that the first\n      num_decoder_symbols of num_symbols are part of decoding.\n    output_projection: None or a pair (W, B) of output projection weights and\n      biases; W has shape [output_size x num_symbols] and B has\n      shape [num_symbols]; if provided and feed_previous=True, each\n      fed previous output will first be multiplied by W and added B.\n    feed_previous: Boolean or scalar Boolean Tensor; if True, only the first\n      of decoder_inputs will be used (the \"GO\" symbol), and all other decoder\n      inputs will be taken from previous outputs (as in embedding_rnn_decoder).\n      If False, decoder_inputs are used as given (the standard decoder case).\n    dtype: The dtype to use for the initial RNN states (default: tf.float32).\n    scope: VariableScope for the created subgraph; defaults to\n      \"embedding_tied_rnn_seq2seq\".\n\n  Returns:\n    A tuple of the form (outputs, state), where:\n      outputs: A list of the same length as decoder_inputs of 2D Tensors with\n        shape [batch_size x output_symbols] containing the generated\n        outputs where output_symbols = num_decoder_symbols if\n        num_decoder_symbols is not None otherwise output_symbols = num_symbols.\n      state: The state of each decoder cell at the final time-step.\n        It is a 2D Tensor of shape [batch_size x cell.state_size].\n\n  Raises:\n    ValueError: When output_projection has the wrong shape.\n  \"\"\"\n  with variable_scope.variable_scope(\n      scope or \"embedding_tied_rnn_seq2seq\", dtype=dtype) as scope:\n    dtype = scope.dtype\n\n    if output_projection is not None:\n      proj_weights = ops.convert_to_tensor(output_projection[0], dtype=dtype)\n      proj_weights.get_shape().assert_is_compatible_with([None, num_symbols])\n      proj_biases = ops.convert_to_tensor(output_projection[1], dtype=dtype)\n      proj_biases.get_shape().assert_is_compatible_with([num_symbols])\n\n    embedding = variable_scope.get_variable(\n        \"embedding\", [num_symbols, embedding_size], dtype=dtype)\n\n    emb_encoder_inputs = [\n        embedding_ops.embedding_lookup(embedding, x) for x in encoder_inputs\n    ]\n    emb_decoder_inputs = [\n        embedding_ops.embedding_lookup(embedding, x) for x in decoder_inputs\n    ]\n\n    output_symbols = num_symbols\n    if num_decoder_symbols is not None:\n      output_symbols = num_decoder_symbols\n    if output_projection is None:\n      cell = core_rnn_cell.OutputProjectionWrapper(cell, output_symbols)\n\n    if isinstance(feed_previous, bool):\n      loop_function = _extract_argmax_and_embed(embedding, output_projection,\n                                                True) if feed_previous else None\n      return tied_rnn_seq2seq(\n          emb_encoder_inputs,\n          emb_decoder_inputs,\n          cell,\n          loop_function=loop_function,\n          dtype=dtype)\n\n    # If feed_previous is a Tensor, we construct 2 graphs and use cond.\n    def decoder(feed_previous_bool):\n      loop_function = _extract_argmax_and_embed(\n          embedding, output_projection, False) if feed_previous_bool else None\n      reuse = None if feed_previous_bool else True\n      with variable_scope.variable_scope(\n          variable_scope.get_variable_scope(), reuse=reuse):\n        outputs, state = tied_rnn_seq2seq(\n            emb_encoder_inputs,\n            emb_decoder_inputs,\n            cell,\n            loop_function=loop_function,\n            dtype=dtype)\n        state_list = [state]\n        if nest.is_sequence(state):\n          state_list = nest.flatten(state)\n        return outputs + state_list\n\n    outputs_and_state = control_flow_ops.cond(feed_previous,\n                                              lambda: decoder(True),\n                                              lambda: decoder(False))\n    outputs_len = len(decoder_inputs)  # Outputs length same as decoder inputs.\n    state_list = outputs_and_state[outputs_len:]\n    state = state_list[0]\n    # Calculate zero-state to know it's structure.\n    static_batch_size = encoder_inputs[0].get_shape()[0]\n    for inp in encoder_inputs[1:]:\n      static_batch_size.merge_with(inp.get_shape()[0])\n    batch_size = static_batch_size.value\n    if batch_size is None:\n      batch_size = array_ops.shape(encoder_inputs[0])[0]\n    zero_state = cell.zero_state(batch_size, dtype)\n    if nest.is_sequence(zero_state):\n      state = nest.pack_sequence_as(\n          structure=zero_state, flat_sequence=state_list)\n    return outputs_and_state[:outputs_len], state\n\n\ndef attention_decoder(decoder_inputs,\n                      initial_state,\n                      attention_states,\n                      cell,\n                      output_size=None,\n                      num_heads=1,\n                      loop_function=None,\n                      dtype=None,\n                      scope=None,\n                      initial_state_attention=False):\n  \"\"\"RNN decoder with attention for the sequence-to-sequence model.\n\n  In this context \"attention\" means that, during decoding, the RNN can look up\n  information in the additional tensor attention_states, and it does this by\n  focusing on a few entries from the tensor. This model has proven to yield\n  especially good results in a number of sequence-to-sequence tasks. This\n  implementation is based on http://arxiv.org/abs/1412.7449 (see below for\n  details). It is recommended for complex sequence-to-sequence tasks.\n\n  Args:\n    decoder_inputs: A list of 2D Tensors [batch_size x input_size].\n    initial_state: 2D Tensor [batch_size x cell.state_size].\n    attention_states: 3D Tensor [batch_size x attn_length x attn_size].\n    cell: core_rnn_cell.RNNCell defining the cell function and size.\n    output_size: Size of the output vectors; if None, we use cell.output_size.\n    num_heads: Number of attention heads that read from attention_states.\n    loop_function: If not None, this function will be applied to i-th output\n      in order to generate i+1-th input, and decoder_inputs will be ignored,\n      except for the first element (\"GO\" symbol). This can be used for decoding,\n      but also for training to emulate http://arxiv.org/abs/1506.03099.\n      Signature -- loop_function(prev, i) = next\n        * prev is a 2D Tensor of shape [batch_size x output_size],\n        * i is an integer, the step number (when advanced control is needed),\n        * next is a 2D Tensor of shape [batch_size x input_size].\n    dtype: The dtype to use for the RNN initial state (default: tf.float32).\n    scope: VariableScope for the created subgraph; default: \"attention_decoder\".\n    initial_state_attention: If False (default), initial attentions are zero.\n      If True, initialize the attentions from the initial state and attention\n      states -- useful when we wish to resume decoding from a previously\n      stored decoder state and attention states.\n\n  Returns:\n    A tuple of the form (outputs, state), where:\n      outputs: A list of the same length as decoder_inputs of 2D Tensors of\n        shape [batch_size x output_size]. These represent the generated outputs.\n        Output i is computed from input i (which is either the i-th element\n        of decoder_inputs or loop_function(output {i-1}, i)) as follows.\n        First, we run the cell on a combination of the input and previous\n        attention masks:\n          cell_output, new_state = cell(linear(input, prev_attn), prev_state).\n        Then, we calculate new attention masks:\n          new_attn = softmax(V^T * tanh(W * attention_states + U * new_state))\n        and then we calculate the output:\n          output = linear(cell_output, new_attn).\n      state: The state of each decoder cell the final time-step.\n        It is a 2D Tensor of shape [batch_size x cell.state_size].\n\n  Raises:\n    ValueError: when num_heads is not positive, there are no inputs, shapes\n      of attention_states are not set, or input size cannot be inferred\n      from the input.\n  \"\"\"\n  if not decoder_inputs:\n    raise ValueError(\"Must provide at least 1 input to attention decoder.\")\n  if num_heads < 1:\n    raise ValueError(\"With less than 1 heads, use a non-attention decoder.\")\n  if attention_states.get_shape()[2].value is None:\n    raise ValueError(\"Shape[2] of attention_states must be known: %s\" %\n                     attention_states.get_shape())\n  if output_size is None:\n    output_size = cell.output_size\n\n  with variable_scope.variable_scope(\n      scope or \"attention_decoder\", dtype=dtype) as scope:\n    dtype = scope.dtype\n\n    batch_size = array_ops.shape(decoder_inputs[0])[0]  # Needed for reshaping.\n    attn_length = attention_states.get_shape()[1].value\n    if attn_length is None:\n      attn_length = array_ops.shape(attention_states)[1]\n    attn_size = attention_states.get_shape()[2].value\n\n    # To calculate W1 * h_t we use a 1-by-1 convolution, need to reshape before.\n    hidden = array_ops.reshape(attention_states,\n                               [-1, attn_length, 1, attn_size])\n    hidden_features = []\n    v = []\n    attention_vec_size = attn_size  # Size of query vectors for attention.\n    for a in xrange(num_heads):\n      k = variable_scope.get_variable(\"AttnW_%d\" % a,\n                                      [1, 1, attn_size, attention_vec_size])\n      hidden_features.append(nn_ops.conv2d(hidden, k, [1, 1, 1, 1], \"SAME\"))\n      v.append(\n          variable_scope.get_variable(\"AttnV_%d\" % a, [attention_vec_size]))\n\n    state = initial_state\n\n    def attention(query):\n      \"\"\"Put attention masks on hidden using hidden_features and query.\"\"\"\n      ds = []  # Results of attention reads will be stored here.\n      if nest.is_sequence(query):  # If the query is a tuple, flatten it.\n        query_list = nest.flatten(query)\n        for q in query_list:  # Check that ndims == 2 if specified.\n          ndims = q.get_shape().ndims\n          if ndims:\n            assert ndims == 2\n        query = array_ops.concat(query_list, 1)\n      for a in xrange(num_heads):\n        with variable_scope.variable_scope(\"Attention_%d\" % a):\n          y = linear(query, attention_vec_size, True)\n          y = array_ops.reshape(y, [-1, 1, 1, attention_vec_size])\n          # Attention mask is a softmax of v^T * tanh(...).\n          s = math_ops.reduce_sum(v[a] * math_ops.tanh(hidden_features[a] + y),\n                                  [2, 3])\n          a = nn_ops.softmax(s)\n          # Now calculate the attention-weighted vector d.\n          d = math_ops.reduce_sum(\n              array_ops.reshape(a, [-1, attn_length, 1, 1]) * hidden, [1, 2])\n          ds.append(array_ops.reshape(d, [-1, attn_size]))\n      # Modified: return ds, a\n      return ds, a\n    \n    outputs = []\n    prev = None\n    batch_attn_size = array_ops.stack([batch_size, attn_size])\n    attns = [\n        array_ops.zeros(\n            batch_attn_size, dtype=dtype) for _ in xrange(num_heads)\n    ]\n    for a in attns:  # Ensure the second shape of attention vectors is set.\n      a.set_shape([None, attn_size])\n    if initial_state_attention:\n      attns, attn_mask = attention(initial_state)\n      \n    # Modified: Adding attn_masks: list of 2D array with shape [batch_size, tx]\n    # tx is the length of input sequence encoder\n    attn_masks = []\n    \n    for i, inp in enumerate(decoder_inputs):\n      if i > 0:\n        variable_scope.get_variable_scope().reuse_variables()\n      # If loop_function is set, we use it instead of decoder_inputs.\n      if loop_function is not None and prev is not None:\n        with variable_scope.variable_scope(\"loop_function\", reuse=True):\n          inp = loop_function(prev, i)\n      # Merge input and previous attentions into one vector of the right size.\n      input_size = inp.get_shape().with_rank(2)[1]\n      if input_size.value is None:\n        raise ValueError(\"Could not infer input size from input: %s\" % inp.name)\n      x = linear([inp] + attns, input_size, True)\n      # Run the RNN.\n      cell_output, state = cell(x, state)\n      # Run the attention mechanism.\n      if i == 0 and initial_state_attention:\n        with variable_scope.variable_scope(\n            variable_scope.get_variable_scope(), reuse=True):\n          attns, attn_mask = attention(state)\n      else:\n        attns, attn_mask = attention(state)\n      \n      # Append attn_mask \n      attn_masks.append(attn_mask)\n      \n      with variable_scope.variable_scope(\"AttnOutputProjection\"):\n        output = linear([cell_output] + attns, output_size, True)\n      if loop_function is not None:\n        prev = output\n      outputs.append(output)\n\n  return outputs, state, attn_masks\n\n\ndef embedding_attention_decoder(decoder_inputs,\n                                initial_state,\n                                attention_states,\n                                cell,\n                                num_symbols,\n                                embedding_size,\n                                num_heads=1,\n                                output_size=None,\n                                output_projection=None,\n                                feed_previous=False,\n                                update_embedding_for_previous=True,\n                                dtype=None,\n                                scope=None,\n                                initial_state_attention=False):\n  \"\"\"RNN decoder with embedding and attention and a pure-decoding option.\n\n  Args:\n    decoder_inputs: A list of 1D batch-sized int32 Tensors (decoder inputs).\n    initial_state: 2D Tensor [batch_size x cell.state_size].\n    attention_states: 3D Tensor [batch_size x attn_length x attn_size].\n    cell: core_rnn_cell.RNNCell defining the cell function.\n    num_symbols: Integer, how many symbols come into the embedding.\n    embedding_size: Integer, the length of the embedding vector for each symbol.\n    num_heads: Number of attention heads that read from attention_states.\n    output_size: Size of the output vectors; if None, use output_size.\n    output_projection: None or a pair (W, B) of output projection weights and\n      biases; W has shape [output_size x num_symbols] and B has shape\n      [num_symbols]; if provided and feed_previous=True, each fed previous\n      output will first be multiplied by W and added B.\n    feed_previous: Boolean; if True, only the first of decoder_inputs will be\n      used (the \"GO\" symbol), and all other decoder inputs will be generated by:\n        next = embedding_lookup(embedding, argmax(previous_output)),\n      In effect, this implements a greedy decoder. It can also be used\n      during training to emulate http://arxiv.org/abs/1506.03099.\n      If False, decoder_inputs are used as given (the standard decoder case).\n    update_embedding_for_previous: Boolean; if False and feed_previous=True,\n      only the embedding for the first symbol of decoder_inputs (the \"GO\"\n      symbol) will be updated by back propagation. Embeddings for the symbols\n      generated from the decoder itself remain unchanged. This parameter has\n      no effect if feed_previous=False.\n    dtype: The dtype to use for the RNN initial states (default: tf.float32).\n    scope: VariableScope for the created subgraph; defaults to\n      \"embedding_attention_decoder\".\n    initial_state_attention: If False (default), initial attentions are zero.\n      If True, initialize the attentions from the initial state and attention\n      states -- useful when we wish to resume decoding from a previously\n      stored decoder state and attention states.\n\n  Returns:\n    A tuple of the form (outputs, state), where:\n      outputs: A list of the same length as decoder_inputs of 2D Tensors with\n        shape [batch_size x output_size] containing the generated outputs.\n      state: The state of each decoder cell at the final time-step.\n        It is a 2D Tensor of shape [batch_size x cell.state_size].\n\n  Raises:\n    ValueError: When output_projection has the wrong shape.\n  \"\"\"\n  if output_size is None:\n    output_size = cell.output_size\n  if output_projection is not None:\n    proj_biases = ops.convert_to_tensor(output_projection[1], dtype=dtype)\n    proj_biases.get_shape().assert_is_compatible_with([num_symbols])\n\n  with variable_scope.variable_scope(\n      scope or \"embedding_attention_decoder\", dtype=dtype) as scope:\n\n    embedding = variable_scope.get_variable(\"embedding\",\n                                            [num_symbols, embedding_size])\n    loop_function = _extract_argmax_and_embed(\n        embedding, output_projection,\n        update_embedding_for_previous) if feed_previous else None\n    emb_inp = [\n        embedding_ops.embedding_lookup(embedding, i) for i in decoder_inputs\n    ]\n    return attention_decoder(\n        emb_inp,\n        initial_state,\n        attention_states,\n        cell,\n        output_size=output_size,\n        num_heads=num_heads,\n        loop_function=loop_function,\n        initial_state_attention=initial_state_attention)\n\n\ndef embedding_attention_seq2seq(encoder_inputs,\n                                decoder_inputs,\n                                cell,\n                                num_encoder_symbols,\n                                num_decoder_symbols,\n                                embedding_size,\n                                num_heads=1,\n                                output_projection=None,\n                                feed_previous=False,\n                                dtype=None,\n                                scope=None,\n                                initial_state_attention=False):\n  \"\"\"Embedding sequence-to-sequence model with attention.\n\n  This model first embeds encoder_inputs by a newly created embedding (of shape\n  [num_encoder_symbols x input_size]). Then it runs an RNN to encode\n  embedded encoder_inputs into a state vector. It keeps the outputs of this\n  RNN at every step to use for attention later. Next, it embeds decoder_inputs\n  by another newly created embedding (of shape [num_decoder_symbols x\n  input_size]). Then it runs attention decoder, initialized with the last\n  encoder state, on embedded decoder_inputs and attending to encoder outputs.\n\n  Warning: when output_projection is None, the size of the attention vectors\n  and variables will be made proportional to num_decoder_symbols, can be large.\n\n  Args:\n    encoder_inputs: A list of 1D int32 Tensors of shape [batch_size].\n    decoder_inputs: A list of 1D int32 Tensors of shape [batch_size].\n    cell: core_rnn_cell.RNNCell defining the cell function and size.\n    num_encoder_symbols: Integer; number of symbols on the encoder side.\n    num_decoder_symbols: Integer; number of symbols on the decoder side.\n    embedding_size: Integer, the length of the embedding vector for each symbol.\n    num_heads: Number of attention heads that read from attention_states.\n    output_projection: None or a pair (W, B) of output projection weights and\n      biases; W has shape [output_size x num_decoder_symbols] and B has\n      shape [num_decoder_symbols]; if provided and feed_previous=True, each\n      fed previous output will first be multiplied by W and added B.\n    feed_previous: Boolean or scalar Boolean Tensor; if True, only the first\n      of decoder_inputs will be used (the \"GO\" symbol), and all other decoder\n      inputs will be taken from previous outputs (as in embedding_rnn_decoder).\n      If False, decoder_inputs are used as given (the standard decoder case).\n    dtype: The dtype of the initial RNN state (default: tf.float32).\n    scope: VariableScope for the created subgraph; defaults to\n      \"embedding_attention_seq2seq\".\n    initial_state_attention: If False (default), initial attentions are zero.\n      If True, initialize the attentions from the initial state and attention\n      states.\n\n  Returns:\n    A tuple of the form (outputs, state), where:\n      outputs: A list of the same length as decoder_inputs of 2D Tensors with\n        shape [batch_size x num_decoder_symbols] containing the generated\n        outputs.\n      state: The state of each decoder cell at the final time-step.\n        It is a 2D Tensor of shape [batch_size x cell.state_size].\n  \"\"\"\n  with variable_scope.variable_scope(\n      scope or \"embedding_attention_seq2seq\", dtype=dtype) as scope:\n    dtype = scope.dtype\n    # Encoder.\n    encoder_cell = core_rnn_cell.EmbeddingWrapper(\n        cell,\n        embedding_classes=num_encoder_symbols,\n        embedding_size=embedding_size)\n    encoder_outputs, encoder_state = core_rnn.static_rnn(\n        encoder_cell, encoder_inputs, dtype=dtype)\n\n    # First calculate a concatenation of encoder outputs to put attention on.\n    top_states = [\n        array_ops.reshape(e, [-1, 1, cell.output_size]) for e in encoder_outputs\n    ]\n    attention_states = array_ops.concat(top_states, 1)\n\n    # Decoder.\n    output_size = None\n    if output_projection is None:\n      cell = core_rnn_cell.OutputProjectionWrapper(cell, num_decoder_symbols)\n      output_size = num_decoder_symbols\n\n    if isinstance(feed_previous, bool):\n      return embedding_attention_decoder(\n          decoder_inputs,\n          encoder_state,\n          attention_states,\n          cell,\n          num_decoder_symbols,\n          embedding_size,\n          num_heads=num_heads,\n          output_size=output_size,\n          output_projection=output_projection,\n          feed_previous=feed_previous,\n          initial_state_attention=initial_state_attention)\n\n    # If feed_previous is a Tensor, we construct 2 graphs and use cond.\n    def decoder(feed_previous_bool):\n      reuse = None if feed_previous_bool else True\n      with variable_scope.variable_scope(\n          variable_scope.get_variable_scope(), reuse=reuse) as scope:\n        outputs, state, attn_mask = embedding_attention_decoder(\n            decoder_inputs,\n            encoder_state,\n            attention_states,\n            cell,\n            num_decoder_symbols,\n            embedding_size,\n            num_heads=num_heads,\n            output_size=output_size,\n            output_projection=output_projection,\n            feed_previous=feed_previous_bool,\n            update_embedding_for_previous=False,\n            initial_state_attention=initial_state_attention)\n        state_list = [state]\n        if nest.is_sequence(state):\n          state_list = nest.flatten(state)\n        return outputs + state_list\n\n    outputs_and_state = control_flow_ops.cond(feed_previous,\n                                              lambda: decoder(True),\n                                              lambda: decoder(False))\n    outputs_len = len(decoder_inputs)  # Outputs length same as decoder inputs.\n    state_list = outputs_and_state[outputs_len:]\n    state = state_list[0]\n    if nest.is_sequence(encoder_state):\n      state = nest.pack_sequence_as(\n          structure=encoder_state, flat_sequence=state_list)\n    return outputs_and_state[:outputs_len], state\n\n\ndef one2many_rnn_seq2seq(encoder_inputs,\n                         decoder_inputs_dict,\n                         cell,\n                         num_encoder_symbols,\n                         num_decoder_symbols_dict,\n                         embedding_size,\n                         feed_previous=False,\n                         dtype=None,\n                         scope=None):\n  \"\"\"One-to-many RNN sequence-to-sequence model (multi-task).\n\n  This is a multi-task sequence-to-sequence model with one encoder and multiple\n  decoders. Reference to multi-task sequence-to-sequence learning can be found\n  here: http://arxiv.org/abs/1511.06114\n\n  Args:\n    encoder_inputs: A list of 1D int32 Tensors of shape [batch_size].\n    decoder_inputs_dict: A dictionany mapping decoder name (string) to\n      the corresponding decoder_inputs; each decoder_inputs is a list of 1D\n      Tensors of shape [batch_size]; num_decoders is defined as\n      len(decoder_inputs_dict).\n    cell: core_rnn_cell.RNNCell defining the cell function and size.\n    num_encoder_symbols: Integer; number of symbols on the encoder side.\n    num_decoder_symbols_dict: A dictionary mapping decoder name (string) to an\n      integer specifying number of symbols for the corresponding decoder;\n      len(num_decoder_symbols_dict) must be equal to num_decoders.\n    embedding_size: Integer, the length of the embedding vector for each symbol.\n    feed_previous: Boolean or scalar Boolean Tensor; if True, only the first of\n      decoder_inputs will be used (the \"GO\" symbol), and all other decoder\n      inputs will be taken from previous outputs (as in embedding_rnn_decoder).\n      If False, decoder_inputs are used as given (the standard decoder case).\n    dtype: The dtype of the initial state for both the encoder and encoder\n      rnn cells (default: tf.float32).\n    scope: VariableScope for the created subgraph; defaults to\n      \"one2many_rnn_seq2seq\"\n\n  Returns:\n    A tuple of the form (outputs_dict, state_dict), where:\n      outputs_dict: A mapping from decoder name (string) to a list of the same\n        length as decoder_inputs_dict[name]; each element in the list is a 2D\n        Tensors with shape [batch_size x num_decoder_symbol_list[name]]\n        containing the generated outputs.\n      state_dict: A mapping from decoder name (string) to the final state of the\n        corresponding decoder RNN; it is a 2D Tensor of shape\n        [batch_size x cell.state_size].\n  \"\"\"\n  outputs_dict = {}\n  state_dict = {}\n\n  with variable_scope.variable_scope(\n      scope or \"one2many_rnn_seq2seq\", dtype=dtype) as scope:\n    dtype = scope.dtype\n\n    # Encoder.\n    encoder_cell = core_rnn_cell.EmbeddingWrapper(\n        cell,\n        embedding_classes=num_encoder_symbols,\n        embedding_size=embedding_size)\n    _, encoder_state = core_rnn.static_rnn(\n        encoder_cell, encoder_inputs, dtype=dtype)\n\n    # Decoder.\n    for name, decoder_inputs in decoder_inputs_dict.items():\n      num_decoder_symbols = num_decoder_symbols_dict[name]\n\n      with variable_scope.variable_scope(\"one2many_decoder_\" + str(\n          name)) as scope:\n        decoder_cell = core_rnn_cell.OutputProjectionWrapper(\n            cell, num_decoder_symbols)\n        if isinstance(feed_previous, bool):\n          outputs, state = embedding_rnn_decoder(\n              decoder_inputs,\n              encoder_state,\n              decoder_cell,\n              num_decoder_symbols,\n              embedding_size,\n              feed_previous=feed_previous)\n        else:\n          # If feed_previous is a Tensor, we construct 2 graphs and use cond.\n          def filled_embedding_rnn_decoder(feed_previous):\n            \"\"\"The current decoder with a fixed feed_previous parameter.\"\"\"\n            # pylint: disable=cell-var-from-loop\n            reuse = None if feed_previous else True\n            vs = variable_scope.get_variable_scope()\n            with variable_scope.variable_scope(vs, reuse=reuse):\n              outputs, state = embedding_rnn_decoder(\n                  decoder_inputs,\n                  encoder_state,\n                  decoder_cell,\n                  num_decoder_symbols,\n                  embedding_size,\n                  feed_previous=feed_previous)\n            # pylint: enable=cell-var-from-loop\n            state_list = [state]\n            if nest.is_sequence(state):\n              state_list = nest.flatten(state)\n            return outputs + state_list\n\n          outputs_and_state = control_flow_ops.cond(\n              feed_previous, lambda: filled_embedding_rnn_decoder(True),\n              lambda: filled_embedding_rnn_decoder(False))\n          # Outputs length is the same as for decoder inputs.\n          outputs_len = len(decoder_inputs)\n          outputs = outputs_and_state[:outputs_len]\n          state_list = outputs_and_state[outputs_len:]\n          state = state_list[0]\n          if nest.is_sequence(encoder_state):\n            state = nest.pack_sequence_as(\n                structure=encoder_state, flat_sequence=state_list)\n      outputs_dict[name] = outputs\n      state_dict[name] = state\n\n  return outputs_dict, state_dict\n\n\ndef sequence_loss_by_example(logits,\n                             targets,\n                             weights,\n                             average_across_timesteps=True,\n                             softmax_loss_function=None,\n                             name=None):\n  \"\"\"Weighted cross-entropy loss for a sequence of logits (per example).\n\n  Args:\n    logits: List of 2D Tensors of shape [batch_size x num_decoder_symbols].\n    targets: List of 1D batch-sized int32 Tensors of the same length as logits.\n    weights: List of 1D batch-sized float-Tensors of the same length as logits.\n    average_across_timesteps: If set, divide the returned cost by the total\n      label weight.\n    softmax_loss_function: Function (labels-batch, inputs-batch) -> loss-batch\n      to be used instead of the standard softmax (the default if this is None).\n    name: Optional name for this operation, default: \"sequence_loss_by_example\".\n\n  Returns:\n    1D batch-sized float Tensor: The log-perplexity for each sequence.\n\n  Raises:\n    ValueError: If len(logits) is different from len(targets) or len(weights).\n  \"\"\"\n  if len(targets) != len(logits) or len(weights) != len(logits):\n    raise ValueError(\"Lengths of logits, weights, and targets must be the same \"\n                     \"%d, %d, %d.\" % (len(logits), len(weights), len(targets)))\n  with ops.name_scope(name, \"sequence_loss_by_example\",\n                      logits + targets + weights):\n    log_perp_list = []\n    for logit, target, weight in zip(logits, targets, weights):\n      if softmax_loss_function is None:\n        # TODO(irving,ebrevdo): This reshape is needed because\n        # sequence_loss_by_example is called with scalars sometimes, which\n        # violates our general scalar strictness policy.\n        target = array_ops.reshape(target, [-1])\n        crossent = nn_ops.sparse_softmax_cross_entropy_with_logits(\n            labels=target, logits=logit)\n      else:\n        crossent = softmax_loss_function(target, logit)\n      log_perp_list.append(crossent * weight)\n    log_perps = math_ops.add_n(log_perp_list)\n    if average_across_timesteps:\n      total_size = math_ops.add_n(weights)\n      total_size += 1e-12  # Just to avoid division by 0 for all-0 weights.\n      log_perps /= total_size\n  return log_perps\n\n\ndef sequence_loss(logits,\n                  targets,\n                  weights,\n                  average_across_timesteps=True,\n                  average_across_batch=True,\n                  softmax_loss_function=None,\n                  name=None):\n  \"\"\"Weighted cross-entropy loss for a sequence of logits, batch-collapsed.\n\n  Args:\n    logits: List of 2D Tensors of shape [batch_size x num_decoder_symbols].\n    targets: List of 1D batch-sized int32 Tensors of the same length as logits.\n    weights: List of 1D batch-sized float-Tensors of the same length as logits.\n    average_across_timesteps: If set, divide the returned cost by the total\n      label weight.\n    average_across_batch: If set, divide the returned cost by the batch size.\n    softmax_loss_function: Function (inputs-batch, labels-batch) -> loss-batch\n      to be used instead of the standard softmax (the default if this is None).\n    name: Optional name for this operation, defaults to \"sequence_loss\".\n\n  Returns:\n    A scalar float Tensor: The average log-perplexity per symbol (weighted).\n\n  Raises:\n    ValueError: If len(logits) is different from len(targets) or len(weights).\n  \"\"\"\n  with ops.name_scope(name, \"sequence_loss\", logits + targets + weights):\n    cost = math_ops.reduce_sum(\n        sequence_loss_by_example(\n            logits,\n            targets,\n            weights,\n            average_across_timesteps=average_across_timesteps,\n            softmax_loss_function=softmax_loss_function))\n    if average_across_batch:\n      batch_size = array_ops.shape(targets[0])[0]\n      return cost / math_ops.cast(batch_size, cost.dtype)\n    else:\n      return cost\n\n\ndef model_with_buckets(encoder_inputs,\n                       decoder_inputs,\n                       targets,\n                       weights,\n                       buckets,\n                       seq2seq,\n                       softmax_loss_function=None,\n                       per_example_loss=False,\n                       name=None):\n  \"\"\"Create a sequence-to-sequence model with support for bucketing.\n\n  The seq2seq argument is a function that defines a sequence-to-sequence model,\n  e.g., seq2seq = lambda x, y: basic_rnn_seq2seq(\n      x, y, core_rnn_cell.GRUCell(24))\n\n  Args:\n    encoder_inputs: A list of Tensors to feed the encoder; first seq2seq input.\n    decoder_inputs: A list of Tensors to feed the decoder; second seq2seq input.\n    targets: A list of 1D batch-sized int32 Tensors (desired output sequence).\n    weights: List of 1D batch-sized float-Tensors to weight the targets.\n    buckets: A list of pairs of (input size, output size) for each bucket.\n    seq2seq: A sequence-to-sequence model function; it takes 2 input that\n      agree with encoder_inputs and decoder_inputs, and returns a pair\n      consisting of outputs and states (as, e.g., basic_rnn_seq2seq).\n    softmax_loss_function: Function (inputs-batch, labels-batch) -> loss-batch\n      to be used instead of the standard softmax (the default if this is None).\n    per_example_loss: Boolean. If set, the returned loss will be a batch-sized\n      tensor of losses for each sequence in the batch. If unset, it will be\n      a scalar with the averaged loss from all examples.\n    name: Optional name for this operation, defaults to \"model_with_buckets\".\n\n  Returns:\n    A tuple of the form (outputs, losses), where:\n      outputs: The outputs for each bucket. Its j'th element consists of a list\n        of 2D Tensors. The shape of output tensors can be either\n        [batch_size x output_size] or [batch_size x num_decoder_symbols]\n        depending on the seq2seq model used.\n      losses: List of scalar Tensors, representing losses for each bucket, or,\n        if per_example_loss is set, a list of 1D batch-sized float Tensors.\n\n  Raises:\n    ValueError: If length of encoder_inputsut, targets, or weights is smaller\n      than the largest (last) bucket.\n  \"\"\"\n  if len(encoder_inputs) < buckets[-1][0]:\n    raise ValueError(\"Length of encoder_inputs (%d) must be at least that of la\"\n                     \"st bucket (%d).\" % (len(encoder_inputs), buckets[-1][0]))\n  if len(targets) < buckets[-1][1]:\n    raise ValueError(\"Length of targets (%d) must be at least that of last\"\n                     \"bucket (%d).\" % (len(targets), buckets[-1][1]))\n  if len(weights) < buckets[-1][1]:\n    raise ValueError(\"Length of weights (%d) must be at least that of last\"\n                     \"bucket (%d).\" % (len(weights), buckets[-1][1]))\n\n  all_inputs = encoder_inputs + decoder_inputs + targets + weights\n  losses = []\n  outputs = []\n  \n  # Modified: Adding attn_masks\n  attn_masks = []\n  with ops.name_scope(name, \"model_with_buckets\", all_inputs):\n    for j, bucket in enumerate(buckets):\n      with variable_scope.variable_scope(\n          variable_scope.get_variable_scope(), reuse=True if j > 0 else None):\n        bucket_outputs, _, attn_mask = seq2seq(encoder_inputs[:bucket[0]],\n                                    decoder_inputs[:bucket[1]])\n        outputs.append(bucket_outputs)\n        attn_masks.append(attn_mask)\n        \n        if per_example_loss:\n          losses.append(\n              sequence_loss_by_example(\n                  outputs[-1],\n                  targets[:bucket[1]],\n                  weights[:bucket[1]],\n                  softmax_loss_function=softmax_loss_function))\n        else:\n          losses.append(\n              sequence_loss(\n                  outputs[-1],\n                  targets[:bucket[1]],\n                  weights[:bucket[1]],\n                  softmax_loss_function=softmax_loss_function))\n\n  return outputs, losses, attn_masks\n"
  },
  {
    "path": "NLP/Seq2Seq/seq2seq_model.py",
    "content": "# Copyright 2015 The TensorFlow Authors. All Rights Reserved.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ==============================================================================\n\n\"\"\"Sequence-to-sequence model with an attention mechanism.\"\"\"\n\nfrom __future__ import absolute_import\nfrom __future__ import division\nfrom __future__ import print_function\n\nimport random\n\nimport numpy as np\nfrom six.moves import xrange  # pylint: disable=redefined-builtin\nimport tensorflow as tf\n#from tensorflow.models.rnn import rnn_cell\n#from tensorflow.models.rnn import seq2seq\n\nimport NLP.Seq2Seq.data_util as data_utils\n\nclass Seq2SeqModel(object):\n  \"\"\"Sequence-to-sequence model with attention and for multiple buckets.\n\n  This class implements a multi-layer recurrent neural network as encoder,\n  and an attention-based decoder. This is the same as the model described in\n  this paper: http://arxiv.org/abs/1412.7449 - please look there for details,\n  or into the seq2seq library for complete model implementation.\n  This class also allows to use GRU cells in addition to LSTM cells, and\n  sampled softmax to handle large output vocabulary size. A single-layer\n  version of this model, but with bi-directional encoder, was presented in\n    http://arxiv.org/abs/1409.0473\n  and sampled softmax is described in Section 3 of the following paper.\n    http://arxiv.org/abs/1412.2007\n  \"\"\"\n  \n  def __init__(self,\n               source_vocab_size,\n               target_vocab_size,\n               buckets,\n               size,\n               num_layers,\n               max_gradient_norm,\n               batch_size,\n               learning_rate,\n               learning_rate_decay_factor,\n               use_lstm=False,\n               num_samples=512,\n               forward_only=False):\n\n    \"\"\"Create the model.\n\n    Args:\n      source_vocab_size: size of the source vocabulary.\n      target_vocab_size: size of the target vocabulary.\n      buckets: a list of pairs (I, O), where I specifies maximum input length\n        that will be processed in that bucket, and O specifies maximum output\n        length. Training instances that have inputs longer than I or outputs\n        longer than O will be pushed to the next bucket and padded accordingly.\n        We assume that the list is sorted, e.g., [(2, 4), (8, 16)].\n      size: number of units in each layer of the model.\n      num_layers: number of layers in the model.\n      max_gradient_norm: gradients will be clipped to maximally this norm.\n      batch_size: the size of the batches used during training;\n        the model construction is independent of batch_size, so it can be\n        changed after initialization if this is convenient, e.g., for decoding.\n      learning_rate: learning rate to start with.\n      learning_rate_decay_factor: decay learning rate by this much when needed.\n      use_lstm: if true, we use LSTM cells instead of GRU cells.\n      num_samples: number of samples for sampled softmax.\n      forward_only: if set, we do not construct the backward pass in the model.\n      dtype: the data type to use to store internal variables.\n    \"\"\"\n\n    # self.dtype = tf.float32\n    self.source_vocab_size = source_vocab_size\n    self.target_vocab_size = target_vocab_size\n    self.buckets = buckets\n    self.batch_size = batch_size\n    self.learning_rate = tf.Variable(\n        float(learning_rate), tf.float32)\n\n    self.learning_rate_decay_op = self.learning_rate.assign(\n        self.learning_rate * learning_rate_decay_factor)\n    self.global_step = tf.Variable(0, trainable=False)\n\n    # If we use sampled softmax, we need an output projection.\n    output_projection = None\n    softmax_loss_function = None\n    # Sampled softmax only makes sense if we sample less than vocabulary size.\n    if num_samples > 0 and num_samples < self.target_vocab_size:\n      w_t = tf.get_variable(\"proj_w\", [self.target_vocab_size, size], tf.float32)\n      w = tf.transpose(w_t)\n      b = tf.get_variable(\"proj_b\", [self.target_vocab_size], tf.float32)\n      output_projection = (w, b)\n    \n      def sampled_loss(labels, inputs):\n        labels = tf.reshape(labels, [-1, 1])\n        # We need to compute the sampled_softmax_loss using 32bit floats to\n        # avoid numerical instabilities.\n        local_w_t = tf.cast(w_t, tf.float32)\n        local_b = tf.cast(b, tf.float32)\n        local_inputs = tf.cast(inputs, tf.float32)\n        return tf.cast(\n            tf.nn.sampled_softmax_loss(\n                weights=local_w_t,\n                biases=local_b,\n                labels=labels,\n                inputs=local_inputs,\n                num_sampled=num_samples,\n                num_classes=self.target_vocab_size),\n            tf.float32)\n      \n      softmax_loss_function = sampled_loss\n\n    # Create the internal multi-layer cell for our RNN.\n    single_cell = tf.contrib.rnn.GRUCell(size)\n    if use_lstm:\n      single_cell = tf.contrib.rnn.BasicLSTMCell(size, state_is_tuple=True)\n    cell = single_cell\n    if num_layers > 1:\n      cell = tf.contrib.rnn.MultiRNNCell([single_cell] * num_layers, state_is_tuple=True)\n    \n    # The seq2seq function: we use embedding for the input and attention.\n    def seq2seq_f(encoder_inputs, decoder_inputs, do_decode):\n      return tf.contrib.legacy_seq2seq.embedding_attention_seq2seq(\n          encoder_inputs,\n          decoder_inputs,\n          cell,\n          num_encoder_symbols=source_vocab_size,\n          num_decoder_symbols=target_vocab_size,\n          embedding_size=size,\n          output_projection=output_projection,\n          feed_previous=do_decode,\n          dtype=tf.float32)\n    \n    # Feeds for inputs.\n    self.encoder_inputs = []\n    self.decoder_inputs = []\n    self.target_weights = []\n    for i in xrange(buckets[-1][0]):  # Last bucket is the biggest one.\n      self.encoder_inputs.append(tf.placeholder(tf.int32, shape=[None],\n                                                name=\"encoder{0}\".format(i)))\n    for i in xrange(buckets[-1][1] + 1):\n      self.decoder_inputs.append(tf.placeholder(tf.int32, shape=[None],\n                                                name=\"decoder{0}\".format(i)))\n      self.target_weights.append(tf.placeholder(tf.float32, shape=[None],\n                                                name=\"weight{0}\".format(i)))\n    \n    # Our targets are decoder inputs shifted by one.\n    targets = [self.decoder_inputs[i + 1]\n               for i in xrange(len(self.decoder_inputs) - 1)]\n    \n    # Training outputs and losses.\n    if forward_only:\n      self.outputs, self.losses = tf.contrib.legacy_seq2seq.model_with_buckets(\n          self.encoder_inputs, self.decoder_inputs, targets,\n          self.target_weights, buckets, lambda x, y: seq2seq_f(x, y, True),\n          softmax_loss_function=softmax_loss_function)\n      # If we use output projection, we need to project outputs for decoding.\n      if output_projection is not None:\n        for b in xrange(len(buckets)):\n          self.outputs[b] = [\n              tf.matmul(output, output_projection[0]) + output_projection[1]\n              for output in self.outputs[b]\n          ]\n    else:\n      self.outputs, self.losses = tf.contrib.legacy_seq2seq.model_with_buckets(\n          self.encoder_inputs, self.decoder_inputs, targets,\n          self.target_weights, buckets, lambda x, y: seq2seq_f(x, y, False),\n          softmax_loss_function=softmax_loss_function)\n    \n    # Gradients and SGD update operation for training the model.\n    params = tf.trainable_variables()\n    if not forward_only:\n      self.gradient_norms = []\n      self.updates = []\n      opt = tf.train.GradientDescentOptimizer(self.learning_rate)\n      for b in xrange(len(buckets)):\n        gradients = tf.gradients(self.losses[b], params)\n        clipped_gradients, norm = tf.clip_by_global_norm(gradients,\n                                                         max_gradient_norm)\n        self.gradient_norms.append(norm)\n        self.updates.append(opt.apply_gradients(\n            zip(clipped_gradients, params), global_step=self.global_step))\n  \n    self.saver = tf.train.Saver(tf.global_variables())  # tf.all_variables() depreciated \n  \n  def step(self, session, encoder_inputs, decoder_inputs, target_weights,\n           bucket_id, forward_only):\n    \"\"\"Run a step of the model feeding the given inputs.\n    Args:\n      session: tensorflow session to use.\n      encoder_inputs: list of numpy int vectors to feed as encoder inputs.\n      decoder_inputs: list of numpy int vectors to feed as decoder inputs.\n      target_weights: list of numpy float vectors to feed as target weights.\n      bucket_id: which bucket of the model to use.\n      forward_only: whether to do the backward step or only forward.\n\n    Returns:\n      A triple consisting of gradient norm (or None if we did not do backward),\n      average perplexity, and the outputs.\n\n    Raises:\n      ValueError: if length of encoder_inputs, decoder_inputs, or\n        target_weights disagrees with bucket size for the specified bucket_id.\n    \"\"\"\n    # Check if the sizes match.\n    encoder_size, decoder_size = self.buckets[bucket_id]\n    if len(encoder_inputs) != encoder_size:\n      raise ValueError(\"Encoder length must be equal to the one in bucket,\"\n                       \" %d != %d.\" % (len(encoder_inputs), encoder_size))\n    if len(decoder_inputs) != decoder_size:\n      raise ValueError(\"Decoder length must be equal to the one in bucket,\"\n                       \" %d != %d.\" % (len(decoder_inputs), decoder_size))\n    if len(target_weights) != decoder_size:\n      raise ValueError(\"Weights length must be equal to the one in bucket,\"\n                       \" %d != %d.\" % (len(target_weights), decoder_size))\n\n    # Input feed: encoder inputs, decoder inputs, target_weights, as provided.\n    input_feed = {}\n    for l in xrange(encoder_size):\n      input_feed[self.encoder_inputs[l].name] = encoder_inputs[l]\n    for l in xrange(decoder_size):\n      input_feed[self.decoder_inputs[l].name] = decoder_inputs[l]\n      input_feed[self.target_weights[l].name] = target_weights[l]\n\n    # Since our targets are decoder inputs shifted by one, we need one more.\n    last_target = self.decoder_inputs[decoder_size].name\n    input_feed[last_target] = np.zeros([self.batch_size], dtype=np.int32)\n\n    # Output feed: depends on whether we do a backward step or not.\n    if not forward_only:\n      output_feed = [self.updates[bucket_id],  # Update Op that does SGD.\n                     self.gradient_norms[bucket_id],  # Gradient norm.\n                     self.losses[bucket_id]]  # Loss for this batch.\n    else:\n      output_feed = [self.losses[bucket_id]]  # Loss for this batch.\n      for l in xrange(decoder_size):  # Output logits.\n        output_feed.append(self.outputs[bucket_id][l])\n    \n    outputs = session.run(output_feed, input_feed)\n    if not forward_only:\n      return outputs[1], outputs[2], None  # Gradient norm, loss, no outputs.\n    else:\n      return None, outputs[0], outputs[1:]  # No gradient norm, loss, outputs.\n\n  def get_batch(self, data, bucket_id):\n    \"\"\"Get a random batch of data from the specified bucket, prepare for step.\n\n    To feed data in step(..) it must be a list of batch-major vectors, while\n    data here contains single length-major cases. So the main logic of this\n    function is to re-index data cases to be in the proper format for feeding.\n\n    Args:\n      data: a tuple of size len(self.buckets) in which each element contains\n        lists of pairs of input and output data that we use to create a batch.\n      bucket_id: integer, which bucket to get the batch for.\n\n    Returns:\n      The triple (encoder_inputs, decoder_inputs, target_weights) for\n      the constructed batch that has the proper format to call step(...) later.\n    \"\"\"\n    encoder_size, decoder_size = self.buckets[bucket_id]\n    encoder_inputs, decoder_inputs = [], []\n\n    # Get a random batch of encoder and decoder inputs from data,\n    # pad them if needed, reverse encoder inputs and add GO to decoder.\n    for _ in xrange(self.batch_size):\n      encoder_input, decoder_input = random.choice(data[bucket_id])\n\n      # Encoder inputs are padded and then reversed.\n      encoder_pad = [data_utils.PAD_ID] * (encoder_size - len(encoder_input))\n      encoder_inputs.append(list(reversed(encoder_input + encoder_pad)))\n\n      # Decoder inputs get an extra \"GO\" symbol, and are padded then.\n      decoder_pad_size = decoder_size - len(decoder_input) - 1\n      decoder_inputs.append([data_utils.GO_ID] + decoder_input +\n                            [data_utils.PAD_ID] * decoder_pad_size)\n    \n    # Now we create batch-major vectors from the data selected above.\n    batch_encoder_inputs, batch_decoder_inputs, batch_weights = [], [], []\n\n    # Batch encoder inputs are just re-indexed encoder_inputs.\n    for length_idx in xrange(encoder_size):\n      batch_encoder_inputs.append(\n          np.array([encoder_inputs[batch_idx][length_idx]\n                    for batch_idx in xrange(self.batch_size)], np.int32))\n\n    # Batch decoder inputs are re-indexed decoder_inputs, we create weights.\n    for length_idx in xrange(decoder_size):\n      batch_decoder_inputs.append(\n          np.array([decoder_inputs[batch_idx][length_idx]\n                    for batch_idx in xrange(self.batch_size)], np.int32))\n\n      # Create target_weights to be 0 for targets that are padding.\n      batch_weight = np.ones(self.batch_size, np.float32)\n      for batch_idx in xrange(self.batch_size):\n        # We set weight to 0 if the corresponding target is a PAD symbol.\n        # The corresponding target is decoder_input shifted by 1 forward.\n        if length_idx < decoder_size - 1:\n          target = decoder_inputs[batch_idx][length_idx + 1]\n        if length_idx == decoder_size - 1 or target == data_utils.PAD_ID:\n          batch_weight[batch_idx] = 0.0\n      batch_weights.append(batch_weight)\n\n    return batch_encoder_inputs, batch_decoder_inputs, batch_weights\n"
  },
  {
    "path": "NLP/Seq2Seq/text_summarizer.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/7/20 下午4:26 \n# @Author : ComeOnJian \n# @File : seq2seq_att_model.py \n\n\nimport tensorflow as tf\nimport NLP.Seq2Seq.seq2seq_model as seq2seq_model\nimport NLP.Seq2Seq.data_util as data_util\nimport numpy as np\nimport os,sys,time,math\n\nclass LargeConfig(object):\n    learning_rate = 1.0\n    init_scale = 0.04\n    learning_rate_decay_factor = 0.99\n    max_gradient_norm = 5.0\n    num_samples = 4096 # Sampled Softmax\n    batch_size = 64\n    size = 256 # Number of Node of each layer\n    num_layers = 4 #the layers of lstm\n    vocab_size = 50000 # the size of vocab\n\nclass MediumConfig(object):\n    learning_rate = 0.5\n    init_scale = 0.04\n    learning_rate_decay_factor = 0.99\n    max_gradient_norm = 5.0\n    num_samples = 2048 # Sampled Softmax\n    batch_size = 64\n    size = 64 # Number of Node of each layer\n    num_layers = 2\n    vocab_size = 10000\n\nconfig = LargeConfig()\ntrain_dir = os.path.join(data_util.root_path, \"train\")\ndata_path  = data_util.root_path\n# set config to tf.app.flags\ntf.app.flags.DEFINE_float(\"learning_rate\", config.learning_rate, \"Learning rate.\")\ntf.app.flags.DEFINE_float(\"learning_rate_decay_factor\", config.learning_rate_decay_factor, \"Learning rate decays by this much.\")\ntf.app.flags.DEFINE_float(\"max_gradient_norm\", config.max_gradient_norm, \"Clip gradients to this norm.\")\ntf.app.flags.DEFINE_integer(\"num_samples\", config.num_samples, \"Number of Samples for Sampled softmax\")\ntf.app.flags.DEFINE_integer(\"batch_size\", config.batch_size, \"Batch size to use during training.\")\ntf.app.flags.DEFINE_integer(\"size\", config.size, \"Size of each model layer.\")\ntf.app.flags.DEFINE_integer(\"num_layers\", config.num_layers, \"Number of layers in the model.\")\ntf.app.flags.DEFINE_integer(\"vocab_size\", config.vocab_size, \"vocabulary size.\")\n\ntf.app.flags.DEFINE_string(\"data_dir\", data_path, \"Data directory\")\ntf.app.flags.DEFINE_string(\"train_dir\", train_dir, \"Training directory.\")\n\ntf.app.flags.DEFINE_integer(\"max_train_data_size\", 0, \"Limit on the size of training data (0: no limit).\")\ntf.app.flags.DEFINE_integer(\"steps_per_checkpoint\", 1000, \"How many training steps to do per checkpoint.\")\ntf.app.flags.DEFINE_boolean(\"decode\", False, \"Set to True for interactive decoding.\") # true for prediction\ntf.app.flags.DEFINE_boolean(\"use_fp16\", False, \"Train using fp16 instead of fp32.\")\n\n# define namespace for this model only\ntf.app.flags.DEFINE_string(\"headline_scope_name\", \"headline_var_scope\", \"Variable scope of Headline textsum model\")\nFLAGS = tf.app.flags.FLAGS\n\n# 使用Bucket机制\nbuckets = [(120, 30), (200, 35), (300, 40), (400, 40), (500, 40)]\n\ndef create_model(session,forward_only):\n    \"\"\"\n    创建text_sum模型\n    :param session:tf的session\n    :param forward_only:是否更新参数\n    :return:模型model\n    \"\"\"\n    dtype = tf.float16 if FLAGS.use_fp16 else tf.float32\n    # 参数初始化函数\n    initializer = tf.random_uniform_initializer(-config.init_scale, config.init_scale)\n    with tf.variable_scope(FLAGS.headline_scope_name, reuse=None, initializer=initializer ,dtype=dtype):\n        model = seq2seq_model.Seq2SeqModel(\n            FLAGS.vocab_size,\n            FLAGS.vocab_size,\n            buckets,\n            FLAGS.size,\n            FLAGS.num_layers,\n            FLAGS.max_gradient_norm,\n            FLAGS.batch_size,\n            FLAGS.learning_rate,\n            FLAGS.learning_rate_decay_factor,\n            use_lstm=True,  # LSTM instend of GRU\n            num_samples=FLAGS.num_samples,\n            forward_only=forward_only\n        )\n        # 先检测模型文件是否存在\n        ckpt = tf.train.get_checkpoint_state(FLAGS.train_dir)\n        if ckpt:\n            model_checkpoint_path = ckpt.model_checkpoint_path\n            print(\"Reading model parameters from %s\" % model_checkpoint_path)\n            saver = tf.train.Saver()\n            saver.restore(session, tf.train.latest_checkpoint(FLAGS.train_dir))\n        else:\n            print(\"Created model with fresh parameters.\")\n            session.run(tf.global_variables_initializer())\n        return model\n\ndef read_data(source_path, target_path, max_size=None):\n    \"\"\"Read data from source and target files and put into buckets.\n\n    Args:\n      source_path: path to the files with token-ids for the source language.\n      target_path: path to the file with token-ids for the target language;\n        it must be aligned with the source file: n-th line contains the desired\n        output for n-th line from the source_path.\n      max_size: maximum number of lines to read, all other will be ignored;\n        if 0 or None, data files will be read completely (no limit).\n\n    Returns:\n      data_set: a list of length len(buckets); data_set[n] contains a list of\n        (source, target) pairs read from the provided data files that fit\n        into the n-th bucket, i.e., such that len(source) < buckets[n][0] and\n        len(target) < buckets[n][1]; source and target are lists of token-ids.\n    \"\"\"\n    data_set = [[] for _ in buckets]\n    with tf.gfile.GFile(source_path, mode=\"r\") as source_file:\n        with tf.gfile.GFile(target_path, mode=\"r\") as target_file:\n            source, target = source_file.readline(), target_file.readline()\n            counter = 0\n            while source and target and (not max_size or counter < max_size):\n                counter += 1\n                if counter % 10000 == 0:\n                    print(\"  reading data line %d\" % counter)\n                    sys.stdout.flush()\n                source_ids = [int(x) for x in source.split()]\n                target_ids = [int(x) for x in target.split()]\n                target_ids.append(data_util.EOS_ID)\n                for bucket_id, (source_size, target_size) in enumerate(buckets):\n                    if len(source_ids) < source_size and len(target_ids) < target_size:\n                        data_set[bucket_id].append([source_ids, target_ids])\n                        break\n    return data_set\n\ndef train():\n    # 准备数据\n    src_train, dest_train, src_dev, dest_dev, _, _ = data_util.prepare_headline_data(FLAGS.data_dir, FLAGS.vocab_size)\n    # device config\n    dev_config = tf.ConfigProto(device_count={\"CPU\": 4}, # limit to 4 CPU usage\n                   inter_op_parallelism_threads=1,\n                   intra_op_parallelism_threads=2)\n    with tf.Session(config=dev_config) as sess:\n\n        model = create_model(sess,False)\n        dev_set = read_data(src_dev, dest_dev)\n        train_set = read_data(src_train, dest_train, FLAGS.max_train_data_size)\n        train_bucket_sizes = [len(train_set[b]) for b in xrange(len(buckets))]\n        train_total_size = float(sum(train_bucket_sizes))\n\n        trainbuckets_scale = [sum(train_bucket_sizes[:i + 1]) / train_total_size\n                              for i in xrange(len(train_bucket_sizes))]\n\n        # training loop\n        step_time , loss = 0.,0.\n        current_step = 0\n        previous_losses = [] #困惑度\n\n        while True:\n            random_number_01 = np.random.random_sample()\n            bucket_id = min([i for i in xrange(len(trainbuckets_scale))\n                             if trainbuckets_scale[i] > random_number_01])\n            start_time = time.time()\n            encoder_inputs, decoder_inputs, target_weights = model.get_batch(\n                train_set,bucket_id)\n            _,step_loss,_ = model.step(sess,encoder_inputs,decoder_inputs,target_weights,bucket_id,False)\n            step_time += (time.time() - start_time) /FLAGS.steps_per_checkpoint\n            loss += step_loss / FLAGS.steps_per_checkpoint\n            current_step += 1\n\n            # Once in a while, we save checkpoint, print statistics, and run evals.\n            if current_step % FLAGS.steps_per_checkpoint == 0:\n                # Print statistics for the previous epoch.\n                perplexity = math.exp(float(loss)) if loss < 300 else float(\"inf\")\n                print (\"global step %d learning rate %.4f step-time %.2f perplexity \"\n                       \"%.2f\" % (model.global_step.eval(), model.learning_rate.eval(),\n                                 step_time, perplexity))\n                # Decrease learning rate if no improvement was seen over last 3 times.\n                if len(previous_losses) > 2 and loss > max(previous_losses[-3:]):\n                    sess.run(model.learning_rate_decay_op)\n\n                previous_losses.append(loss)\n                checkpoint_path = os.path.join(FLAGS.train_dir, \"headline_large.ckpt\")\n                model.saver.save(sess, checkpoint_path, global_step=model.global_step)\n                step_time, loss = 0.0, 0.0\n                # Run evals on development set and print their perplexity.\n                for bucket_id in xrange(len(buckets)):\n                    if len(dev_set[bucket_id]) == 0:\n                        print(\"  eval: empty bucket %d\" % (bucket_id))\n                        continue\n                    encoder_inputs, decoder_inputs, target_weights = model.get_batch(\n                        dev_set, bucket_id)\n                    _, eval_loss, _ = model.step(sess, encoder_inputs, decoder_inputs,\n                                                 target_weights, bucket_id, True)\n                    eval_ppx = math.exp(float(eval_loss)) if eval_loss < 300 else float(\n                        \"inf\")\n                    print(\"  eval: bucket %d perplexity %.2f\" % (bucket_id, eval_ppx))\n                sys.stdout.flush()\n    pass\n\ndef main():\n    train()\nif __name__ == '__main__':\n    tf.app.run()"
  },
  {
    "path": "NLP/Text_CNN/process_data.py",
    "content": "#!/usr/bin/python\n# coding=utf-8\n# @Time : 2018/3/8 下午3:02\n# @Author : ComeOnJian\n# @File : process_data.py\n\nimport pickle\n# import word2vec\nimport numpy as np\nfrom collections import defaultdict,OrderedDict\nimport re\nfrom tqdm import tqdm\nimport pandas as pd\n\n\ndata_dir = '../data/rt-polaritydata/'\ngoogle_new_vector_dir = '../data/'\n\n##方式一，编写代码加载word2vec训练好的模型文件GoogleNews-vectors-negative300.bin\n####参照word2vec.from_binary方法改写\n\ndef load_binary_vec(fname, vocab):\n    word_vecs = {}\n    with open(fname, 'rb') as fin:\n        header = fin.readline()\n        vocab_size, vector_size = list(map(int, header.split()))\n        binary_len = np.dtype(np.float32).itemsize * vector_size\n        # vectors = []\n        for i in tqdm(range(vocab_size)):\n            # read word\n            word = b''\n            while True:\n                ch = fin.read(1)\n                if ch == b' ':\n                    break\n                word += ch\n            # print(str(word))\n            word = word.decode(encoding='ISO-8859-1')\n            if word in vocab:\n                word_vecs[word] = np.fromstring(fin.read(binary_len), dtype=np.float32)\n            else:\n                fin.read(binary_len)\n            # vector = np.fromstring(fin.read(binary_len), dtype=np.float32)\n            # vectors.append(vector)\n            # if include:\n            #     vectors[i] = unitvec(vector)\n            fin.read(1)  # newline\n        return word_vecs\n\n#load MR data —— Movie reviews with one sentence per review.\n#Classification involves detecting positive/negative reviews\ndef load_data_k_cv(folder,cv=10,clear_flag=True):\n    pos_file = folder[0]\n    neg_file = folder[1]\n\n    #训练集的语料词汇表,计数\n    word_cab=defaultdict(float)\n    revs = [] #最后的数据\n    with open(pos_file,'rb') as pos_f:\n        for line in pos_f:\n            rev = []\n            rev.append(line.decode(encoding='ISO-8859-1').strip())\n            if clear_flag:\n                orign_rev = clean_string(\" \".join(rev))\n            else:\n                orign_rev = \" \".join(rev).lower()\n            words = set(orign_rev.split())\n            for word in words:\n                word_cab[word] += 1\n            datum = {\"y\": 1,\n                     \"text\": orign_rev,\n                     \"num_words\": len(orign_rev.split()),\n                     \"spilt\": np.random.randint(0, cv)}\n            revs.append(datum)\n\n    with open(neg_file,'rb') as neg_f:\n        for line in neg_f:\n            rev = []\n            rev.append(line.decode(encoding='ISO-8859-1').strip())\n            if clear_flag:\n                orign_rev = clean_string(\" \".join(rev))\n            else:\n                orign_rev = \" \".join(rev).lower()\n            words = set(orign_rev.split())\n            for word in words:\n                word_cab[word] += 1\n            datum = {\"y\": 0,\n                     \"text\": orign_rev,\n                     \"num_words\": len(orign_rev.split()),\n                     \"spilt\": np.random.randint(0, cv)}\n            revs.append(datum)\n\n    return word_cab,revs\n\ndef add_unexist_word_vec(w2v,vocab):\n    \"\"\"\n    将词汇表中没有embedding的词初始化()\n    :param w2v:经过word2vec训练好的词向量\n    :param vocab:总体要embedding的词汇表\n    \"\"\"\n    for word in vocab:\n        if word not in w2v and vocab[word]>=1:\n            w2v[word] = np.random.uniform(-0.25,0.25,300)\n\ndef clean_string(string,TREC=False):\n    string = re.sub(r\"[^A-Za-z0-9(),!?\\'\\`]\", \" \", string)\n    string = re.sub(r\"\\'s\", \" \\'s\", string)\n    string = re.sub(r\"\\'ve\", \" \\'ve\", string)\n    string = re.sub(r\"n\\'t\", \" n\\'t\", string)\n    string = re.sub(r\"\\'re\", \" \\'re\", string)\n    string = re.sub(r\"\\'d\", \" \\'d\", string)\n    string = re.sub(r\"\\'ll\", \" \\'ll\", string)\n    string = re.sub(r\",\", \" , \", string)\n    string = re.sub(r\"!\", \" ! \", string)\n    string = re.sub(r\"\\(\", \" \\( \", string)\n    string = re.sub(r\"\\)\", \" \\) \", string)\n    string = re.sub(r\"\\?\", \" \\? \", string)\n    string = re.sub(r\"\\s{2,}\", \" \", string)\n    return string.strip() if TREC else string.strip().lower()\n\ndef get_vec_by_sentence_list(word_vecs,sentence_list,maxlen=56,values=0.,vec_size = 300):\n    \"\"\"\n    :param sentence_list:句子列表\n    :return:句子对应的矩阵向量表示\n    \"\"\"\n    data = []\n\n    for sentence in sentence_list:\n        # get a sentence\n        sentence_vec = []\n        words = sentence.split()\n        for word in words:\n            sentence_vec.append(word_vecs[word].tolist())\n\n        # padding sentence vector to maxlen(w * h)\n        sentence_vec = pad_sentences(sentence_vec,maxlen,values,vec_size)\n        # add a sentence vector\n        data.append(np.array(sentence_vec))\n    return data\ndef get_index_by_sentence_list(word_ids,sentence_list,maxlen=56):\n    indexs = []\n    words_length = len(word_ids)\n    for sentence in sentence_list:\n        # get a sentence\n        sentence_indexs = []\n        words = sentence.split()\n        for word in words:\n            sentence_indexs.append(word_ids[word])\n        # padding sentence to maxlen\n        length = len(sentence_indexs)\n        if length < maxlen:\n            for i in range(maxlen - length):\n                sentence_indexs.append(words_length)\n        # add a sentence vector\n        indexs.append(sentence_indexs)\n\n    return np.array(indexs)\n\n    pass\ndef pad_sentences(data,maxlen=56,values=0.,vec_size = 300):\n    \"\"\"padding to max length\n    :param data:要扩展的数据集\n    :param maxlen:扩展的h长度\n    :param values:默认的值\n    \"\"\"\n    length = len(data)\n    if length < maxlen:\n        for i in range(maxlen - length):\n            data.append(np.array([values]*vec_size))\n    return data\n\ndef get_train_test_data1(word_vecs,revs,cv_id=0,sent_length = 56,default_values=0.,vec_size = 300):\n    \"\"\"\n    获取的训练数据和测试数据是直接的数据\n    :param revs:\n    :param cv_id:\n    :param sent_length:\n    :return:\n    \"\"\"\n    data_set_df = pd.DataFrame(revs)\n\n    # DataFrame\n    # y text num_words spilt\n    # 1 'I like this movie' 4 3\n    data_set_df = data_set_df.sample(frac=1)#打乱顺序\n\n    data_set_cv_train = data_set_df[data_set_df['spilt'] != cv_id]  # 训练集\n    data_set_cv_test = data_set_df[data_set_df['spilt'] == cv_id] #测试集\n\n    # train\n    train_y_1 = np.array(data_set_cv_train['y'].tolist(),dtype='int')\n    train_y_2 = list(map(get_contrast,train_y_1))\n    train_y = np.array([train_y_1,train_y_2]).T\n\n    test_y_1 = np.array(data_set_cv_test['y'].tolist(),dtype='int')\n    test_y_2 = list(map(get_contrast,test_y_1))\n    test_y = np.array([test_y_1,test_y_2]).T\n\n    train_sentence_list = data_set_cv_train['text'].tolist()\n    test_sentence_list = data_set_cv_test['text'].tolist()\n\n\n    train_x = get_vec_by_sentence_list(word_vecs,train_sentence_list,sent_length,default_values,vec_size)\n    test_x = get_vec_by_sentence_list(word_vecs,test_sentence_list,sent_length,default_values,vec_size)\n\n\n    return train_x,train_y,test_x,test_y\ndef get_train_test_data2(word_ids,revs,cv_id=0,sent_length = 56):\n    data_set_df = pd.DataFrame(revs)\n\n    # DataFrame\n    # y text num_words spilt\n    # 1 'I like this movie' 4 3\n    data_set_df = data_set_df.sample(frac=1)  # 打乱顺序\n\n    data_set_cv_train = data_set_df[data_set_df['spilt'] != cv_id]  # 训练集\n    data_set_cv_test = data_set_df[data_set_df['spilt'] == cv_id]  # 测试集\n\n    # train\n    train_y_1 = np.array(data_set_cv_train['y'].tolist(), dtype='int')\n    train_y_2 = list(map(get_contrast, train_y_1))\n    train_y = np.array([train_y_1, train_y_2]).T\n\n    test_y_1 = np.array(data_set_cv_test['y'].tolist(), dtype='int')\n    test_y_2 = list(map(get_contrast, test_y_1))\n    test_y = np.array([test_y_1, test_y_2]).T\n\n    train_sentence_list = data_set_cv_train['text'].tolist()\n    test_sentence_list = data_set_cv_test['text'].tolist()\n\n    train_x = get_index_by_sentence_list(word_ids,train_sentence_list,sent_length)\n    test_x = get_index_by_sentence_list(word_ids,test_sentence_list,sent_length)\n\n    return train_x,train_y,test_x,test_y\n#对0，1取反\ndef get_contrast(x):\n    return (2+~x)\n\ndef getWordsVect(W):\n    word_ids = OrderedDict()\n    W_list = []\n    count =0\n    for word,vector in W.items():\n        W_list.append(vector.tolist())\n        word_ids[word] = count\n        count = count + 1\n    W_list.append([0.0]*300)\n    return word_ids,W_list\n\n\n\n\nif __name__ == '__main__':\n\n    #Testing --------------------------------------------------------------------------\n\n\n    data_folder = ['../data/rt-polaritydata/rt-polarity.pos', '../data/rt-polaritydata/rt-polarity.neg']\n    w2v_file = '../data/GoogleNews-vectors-negative300.bin'\n    print('load data ...')\n    word_cab, revs = load_data_k_cv(data_folder)\n    print('data loaded !!!')\n    print('number of sentences: ' + str(len(revs)))\n    print('size of vocab: ' + str(len(word_cab)))\n    sentence_max_len = np.max(pd.DataFrame(revs)['num_words'])\n    print('dataset the sentence max length is {}'.format(sentence_max_len))\n\n    print('load word2vec vectors...')\n    word_vecs = load_binary_vec(w2v_file,word_cab)\n    print (len(list(word_vecs.keys())))\n    print('finish word2vec load !!!')\n\n    #对未登录词操作\n    add_unexist_word_vec(word_vecs,word_cab)\n\n    # CNN-rand对应的词向量表\n    word_vecs_rand = {}\n\n    add_unexist_word_vec(word_vecs_rand,word_cab)\n\n    #将数据数据集对应的词向量保存好\n    pickle.dump([word_vecs_rand,word_vecs,word_cab,sentence_max_len,revs],open('../result/word_vec.p','wb'))\n\n\n\n\n    pass"
  },
  {
    "path": "NLP/Text_CNN/text_cnn_main.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/3/7 下午4:06 \n# @Author : ComeOnJian\n# @File : text_cnn.py\n# implementation of Convolutional Neural Networks for Sentence CLassification\n\nimport argparse\nimport pandas as pd\n# import ast\nimport numpy as np\n# import NLP.Text_CNN.process_data as process_data\n# import NLP.Text_CNN.text_cnn_model as TextCNN\nimport process_data\nfrom text_cnn_model import TextCNN\nimport pickle\nfrom tqdm import tqdm\n\nimport pdb\n# step1 get paramater\n# step2 load data\n# step3 create TextCNN model\n# step4 start train\n# step5 validataion\n\nif __name__ == '__main__':\n    # step1 get paramater\n    parse = argparse.ArgumentParser(description='Paramaters for construct TextCNN Model')\n    # #方式一 type = bool\n    # parse.add_argument('--nonstatic',type=ast.literal_eval,help='use textcnn nonstatic or not',dest='tt')\n    # 方式二 取bool值的方式)添加互斥的参数\n    group_static = parse.add_mutually_exclusive_group(required=True)\n    group_static.add_argument('--static', dest='static_flag', action='store_true', help='use static Text_CNN')\n    group_static.add_argument('--nonstatic', dest='static_flag', action='store_false', help='use nonstatic Text_CNN')\n\n    group_word_vec = parse.add_mutually_exclusive_group(required=True)\n    group_word_vec.add_argument('--word2vec', dest='wordvec_flag', action='store_true', help='word_vec is word2vec')\n    group_word_vec.add_argument('--rand', dest='wordvec_flag', action='store_false', help='word_vec is rand')\n\n    group_shuffer_batch = parse.add_mutually_exclusive_group(required=False)\n    group_shuffer_batch.add_argument('--shuffer', dest='shuffer_flag', action='store_true', help='the train do shuffer')\n    group_shuffer_batch.add_argument('--no-shuffer', dest='shuffer_flag', action='store_false',\n                                     help='the train do not shuffer')\n\n    parse.add_argument('--learnrate', type=float, dest='learnrate', help='the NN learnRate', default=0.05)\n    parse.add_argument('--epochs', type=int, dest='epochs', help='the model train epochs', default=10)\n    parse.add_argument('--batch_size', type=int, dest='batch_size', help='the train gd batch size.(50-300)', default=50)\n    parse.add_argument('--dropout_pro', type=float, dest='dropout_pro', help='the nn layer dropout_pro', default=0.5)\n\n    parse.set_defaults(static_flag=True)\n    parse.set_defaults(wordvec_flag=True)\n    parse.set_defaults(shuffer_flag=False)\n\n    args = parse.parse_args()\n\n\n    # step2 load data\n    print('load data. . .')\n    X = pickle.load(open('./NLP/result/word_vec.p','rb'))\n\n    word_vecs_rand, word_vecs, word_cab, sentence_max_len, revs = X[0],X[1],X[2],X[3],X[4]\n\n    print('load data finish. . .')\n    # configuration tf\n    filter_sizes = [3, 4, 5]\n    filter_numbers = 100\n    embedding_size = 300\n    # use word2vec or not\n    W = word_vecs_rand\n    if args.wordvec_flag:\n        W = word_vecs\n        pass\n    # pdb.set_trace()\n    word_ids,W_list = process_data.getWordsVect(W)\n\n    # use static train or not\n    static_falg = args.static_flag\n    # use shuffer the data or not\n    shuffer_falg = args.shuffer_flag\n    #交叉验证\n    results = []\n    for index in tqdm(range(10)):\n        #打调试断点\n        # pdb.set_trace()\n        # train_x, train_y, test_x, test_y = process_data.get_train_test_data1(W,revs,index,sentence_max_len,default_values=0.0,vec_size=300)\n        train_x, train_y, test_x, test_y = process_data.get_train_test_data2(word_ids,revs,index,sentence_max_len)\n        # step3 create TextCNN model\n        text_cnn = TextCNN(W_list,shuffer_falg,static_falg,filter_numbers,filter_sizes,sentence_max_len,embedding_size,args.learnrate,args.epochs,args.batch_size,args.dropout_pro)\n        # step4 start train\n        text_cnn.train(train_x,train_y)\n        # step5 validataion\n        accur,loss = text_cnn.validataion(test_x, test_y)\n        #\n        results.append(accur)\n        print('cv {} accur is :{:.3f} loss is {:.3f}'.format(index+1,accur,loss))\n        text_cnn.close()\n    print('last accuracy is {}'.format(np.mean(results)))\n\n\n\n"
  },
  {
    "path": "NLP/Text_CNN/text_cnn_model.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/3/9 下午4:35 \n# @Author : ComeOnJian \n# @File : text_cnn_model.py \n\n#  structure TextCNN\n#  1.input-embedding layer(max_l * 300) 2.cov layer 3.max pool layer 4.full connect droput + softmax + l2\n\nimport tensorflow as tf\nimport numpy as np\nimport pdb\n\nclass TextCNN():\n\n    __shuffer_falg = False\n    __static_falg = True\n\n    def __init__(self,W_list,shuffer_falg, static_falg, filter_numbers, filter_sizes,sentence_length,embedding_size,learnrate, epochs, batch_size, dropout_pro):\n\n        self.__shuffer_falg = shuffer_falg\n        self.__static_falg = static_falg\n        self.learning_rate_item = learnrate\n        self.epochs = epochs\n        self.sentence_length = sentence_length\n        self.filter_numbers = filter_numbers\n        self.batch_size = batch_size\n        self.dropout_pro_item = dropout_pro\n        self.embedding_size = embedding_size\n        # 1. setting graph\n        tf.reset_default_graph()\n        self.train_graph = tf.Graph()\n        with self.train_graph.as_default():\n            # 1 input layer\n            self.input_x = tf.placeholder(dtype=tf.int32,shape=[None,sentence_length],name='input_x')\n            self.input_y = tf.placeholder(dtype=tf.int32, shape=[None, 2], name='input_y')\n            self.dropout_pro = tf.placeholder(dtype=tf.float32, name='dropout_pro')\n            self.learning_rate = tf.placeholder(dtype=tf.float32, name='learning_rate')\n            self.l2_loss = tf.constant(0.0)\n            # self.embedding_layer = tf.placeholder(dtype=tf.float32, shape=[self.batch_size, sentence_length, embedding_size],\n            #                                       name='embedding_layer')\n\n\n\n            #2 embedding layer\n            with tf.name_scope('embedding_layer'):\n                train_bool = not self.__static_falg\n                # tf.convert_to_tensor(W_list,dtype=tf.float32)\n                # pdb.set_trace()\n                self.embedding_layer_W = tf.Variable(initial_value=W_list,dtype=tf.float32, trainable=train_bool, name='embedding_layer_W')\n                print(\"ssssssss\")\n                self.embedding_layer_layer = tf.nn.embedding_lookup(self.embedding_layer_W, self.input_x)\n                self.embedding_layer_expand = tf.expand_dims(self.embedding_layer_layer, -1)\n\n            # with tf.name_scope('word_embedding_layer'):\n            #\n            #     embedding_matrix = tf.Variable()\n            #     tf.expand_dims()\n\n            #3 conv layer + maxpool layer for each filer size\n            pool_layer_lst = []\n            for filter_size in filter_sizes:\n                max_pool_layer = self.__add_conv_layer(filter_size,filter_numbers)\n                pool_layer_lst.append(max_pool_layer)\n\n            # 4.full connect droput + softmax + l2\n            # combine all the max pool —— feature\n\n            with tf.name_scope('dropout_layer'):\n                # pdb.set_trace()\n\n                max_num = len(filter_sizes) * self.filter_numbers\n                h_pool = tf.concat(pool_layer_lst,name='last_pool_layer',axis=3)\n                pool_layer_flat = tf.reshape(h_pool,[-1,max_num],name='pool_layer_flat')\n\n                dropout_pro_layer = tf.nn.dropout(pool_layer_flat,self.dropout_pro,name='dropout')\n\n            with tf.name_scope('soft_max_layer'):\n                SoftMax_W = tf.Variable(tf.truncated_normal([max_num,2],stddev=0.01),name='softmax_linear_weight')\n                self.__variable_summeries(SoftMax_W)\n                # print('test1------------')\n                SoftMax_b = tf.Variable(tf.constant(0.1,shape=[2]),name='softmax_linear_bias')\n                self.__variable_summeries(SoftMax_b)\n                # print('test2------------')\n                self.l2_loss += tf.nn.l2_loss(SoftMax_W)\n                self.l2_loss += tf.nn.l2_loss(SoftMax_b)\n                # dropout_pro_layer_reshape = tf.reshape(dropout_pro_layer,[batch_size,-1])\n                self.softmax_values = tf.nn.xw_plus_b(dropout_pro_layer,SoftMax_W,SoftMax_b,name='soft_values')\n                # print ('++++++',self.softmax_values.shape)\n                self.predictions = tf.argmax(self.softmax_values,axis=1,name='predictions',output_type=tf.int32)\n\n            with tf.name_scope('loss'):\n                losses = tf.nn.softmax_cross_entropy_with_logits(logits=self.softmax_values,labels=self.input_y)\n                self.loss = tf.reduce_mean(losses) + 0.001 * self.l2_loss #lambda = 0.001\n\n                # print ('---------1',self.loss)\n                tf.summary.scalar('last_loss',self.loss)\n\n            with tf.name_scope('accuracy'):\n                correct_acc = tf.equal(self.predictions,tf.argmax(self.input_y,axis=1,output_type=tf.int32))\n\n                self.accuracy = tf.reduce_mean(tf.cast(correct_acc,'float'),name='accuracy')\n                tf.summary.scalar('accuracy',self.accuracy)\n\n            with tf.name_scope('train'):\n                optimizer = tf.train.AdamOptimizer(learning_rate=self.learning_rate)\n                # print('test1------------')\n                # pdb打个断点\n                # pdb.set_trace()\n                self.train_op = optimizer.minimize(self.loss)\n                # print('test2------------')\n\n            self.session = tf.InteractiveSession(graph=self.train_graph)\n            self.merged = tf.summary.merge_all()\n            self.train_writer = tf.summary.FileWriter('./NLP/log/text_cnn', graph=self.train_graph)\n    def train(self,train_x,train_y):\n        # self.unstatic_embedding_layer\n        # print('11111111')\n        self.session.run(tf.global_variables_initializer())\n        #迭代训练\n        for epoch in range(self.epochs):\n            # pdb.set_trace()\n            train_batch = self.__get_batchs(train_x, train_y, self.batch_size)\n            train_loss, train_acc, count = 0.0, 0.0, 0\n            for batch_i in range(len(train_x)//self.batch_size):\n                x,y = next(train_batch)\n                feed = {\n                    self.input_x:x,\n                    self.input_y:y,\n                    self.dropout_pro:self.dropout_pro_item,\n                    self.learning_rate:self.learning_rate_item\n                }\n                _,summarys,loss,accuracy = self.session.run([self.train_op,self.merged,self.loss,self.accuracy],feed_dict=feed)\n                train_loss, train_acc, count = train_loss + loss, train_acc + accuracy, count + 1\n                self.train_writer.add_summary(summarys,epoch)\n                # each 5 batch print log\n                if (batch_i+1) % 15 == 0:\n                    print('Epoch {:>3} Batch {:>4}/{} train_loss = {:.3f} accuracy = {:.3f}'.\n                          format(epoch,batch_i,(len(train_x)//self.batch_size),train_loss/float(count),train_acc/float(count)))\n\n    def validataion(self,test_x, test_y):\n        test_batch = self.__get_batchs(test_x,test_y,self.batch_size)\n        eval_loss, eval_acc ,count= 0.0, 0.0 ,0\n        for batch_i in range(len(test_x) // self.batch_size):\n            x,y = next(test_batch)\n            feed = {\n                self.embedding_layer: x,\n                self.input_y: y,\n                self.dropout_pro: self.dropout_pro_item,\n                self.learning_rate: 1.0\n            }\n            loss ,accuracy = self.session.run([self.loss,self.accuracy],feed_dict=feed)\n            eval_loss ,eval_acc ,count  = eval_loss+loss ,eval_acc+accuracy ,count+1\n            # print('validataion_{}_accuracy is {:.3f}'.format(index,accuracy))\n        return eval_acc/float(count),eval_loss/float(count)\n    def close(self):\n        self.session.close()\n        self.train_writer.close()\n    #generate batch data\n    def __get_batchs(self,Xs,Ys,batch_size):\n        for start in range(0,len(Xs),batch_size):\n            end = min(start+batch_size,len(Xs))\n            yield Xs[start:end],Ys[start:end]\n        pass\n    def __add_conv_layer(self,filter_size,filter_num):\n        with tf.name_scope('conv-maxpool-size%d'%(filter_size)):\n            #convolutio layer\n            filter_shape =[filter_size,self.embedding_size,1,filter_num]\n            W = tf.Variable(tf.truncated_normal(filter_shape,stddev=0.1),name='filter_weight')\n            self.__variable_summeries(W)\n            b = tf.Variable(tf.constant(0.1,shape=[filter_num]),name='filter_bias')\n            self.__variable_summeries(b)\n            #参数说明\n            #第一个参数input：指需要做卷积的输入图像 [训练时一个batch的图片数量, 图片高度, 图片宽度, 图像通道数]\n            #第二个参数filter：相当于CNN中的卷积核 [卷积核的高度，卷积核的宽度，图像通道数，卷积核个数]\n            #第三个参数strides：卷积时在图像每一维的步长，这是一个一维的向量，长度4,\n            #第四个参数padding：string类型的量，只能是\"SAME\",\"VALID\"其中之一，这个值决定了不同的卷积方式\n            #第五个参数：use_cudnn_on_gpu: bool类型，是否使用cudnn加速，默认为true\n            conv_layer = tf.nn.conv2d(self.embedding_layer_expand,W,strides=[1,1,1,1],padding='VALID',name='conv_layer')\n            relu_layer = tf.nn.relu(tf.nn.bias_add(conv_layer,b),name='relu_layer')\n\n            max_pool_layer = tf.nn.max_pool(relu_layer,ksize=[1,self.sentence_length - filter_size+1,1,1],strides=[1,1,1,1],padding='VALID',name='maxpool')\n            return max_pool_layer\n\n    def __variable_summeries(self,var):\n        \"\"\"\n        :param var: Tensor, Attach a lot of summaries to a Tensor (for TensorBoard visualization).\n        \"\"\"\n        with tf.name_scope('summeries'):\n            mean = tf.reduce_mean(var)\n            tf.summary.scalar('mean', mean)  # 记录参数的均值\n\n            with tf.name_scope('stddev'):\n                stddev = tf.sqrt(tf.reduce_mean(tf.square(var - mean)))\n                tf.summary.scalar('stddev', stddev)\n                tf.summary.scalar('max', tf.reduce_max(var))\n                tf.summary.scalar('min', tf.reduce_min(var))\n\n                # 用直方图记录参数的分布\n                tf.summary.histogram('histogram', var)\n"
  },
  {
    "path": "NLP/daguan/README.md",
    "content": "#### pytorch TextCNN的实现\n参考模型:Char_CNN and Word_CNN\n"
  },
  {
    "path": "NLP/daguan/data_analy.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/8/28 下午4:03 \n# @Author : ComeOnJian \n# @File : data_analy.py\n\nimport pandas as pd\nimport numpy as np\nimport pickle\nimport yaml\nfrom collections import defaultdict\nfrom sklearn.feature_extraction.text import CountVectorizer\nfrom sklearn.model_selection import train_test_split\nfrom gensim.models import word2vec\nfrom gensim.models import KeyedVectors\nimport torch\nimport torch.utils.data as torch_data\n\n\n# text process\n\ndef get_stopwords(docs, min_df, max_d):\n    \"\"\"\n    :param docs: (pd.Series) document\n    :param min_df: 最小频率(int)\n    :param max_df: 最大不超过(float,0.0<max_df<1.0)\n    \"\"\"\n    vec = CountVectorizer(min_df=min_df,max_df=max_d)\n    vec.fit_transform(docs)\n    print('the stop word length is %d'%(len(vec.stop_words_)))\n    return vec.stop_words_\n\ndef make_vocab(data_se, stop_words, max_size, type, isSave=True):\n    \"\"\"\n    :param data_se: the list of documents\n    :param max_size: the vocab max size\n    :param type: 1 is article ,2 is word_seg\n    \"\"\"\n    # count the word which not in stop_words\n    dict_fre_word = defaultdict(int)\n    dict_id2label_word = {}\n    dict_label2id_word = {}\n    lengths = []\n    word_index = 1  # 从1开始index\n    for index in range(len(data_se)):\n        #  split\n        art_splits = data_se[index].split()\n        lengths.append(len(art_splits))\n        # count\n        for word in art_splits:\n            if word not in stop_words:\n                dict_fre_word[word] += 1\n                if word not in dict_label2id_word:\n                    dict_id2label_word[word_index] = word\n                    dict_label2id_word[word] = word_index\n                    word_index += 1\n\n    # save\n    def save_dict(new_dicts,size, type, issave=True):\n        if issave:\n            if type == 1:\n                save('./data/dicts_{}_arts'.format(size), new_dicts)\n            if type == 2:\n                save('./data/dicts_{}_words'.format(size), new_dicts)\n\n    print('start prune vocab...')\n    # prune to max size\n    if len(dict_fre_word) <= max_size:\n        new_dicts = {\n            'dict_label2id': dict_label2id_word,\n            'dict_id2label': dict_id2label_word,\n            'stop_word': stop_words\n        }\n        save_dict(new_dicts,len(dict_fre_word),type,isSave)\n        print('after prune the dicts is %d'%len(dict_fre_word))\n    else:\n        fres = np.array(list(dict_fre_word.values()))\n        words = np.array(list(dict_fre_word.keys()))\n        dict_id2label_new = {}\n        dict_label2id_new = {}\n        word_index_new = 1  # 从1开始index\n\n        fres_index = np.argsort(-fres)  # 降序排列\n        for index in fres_index[:max_size]:\n            word = words[index]\n            if word not in dict_label2id_new:\n                dict_label2id_new[word] = word_index_new\n                dict_id2label_new[word_index_new] = word\n                word_index_new += 1\n\n        new_dicts = {\n            'dict_label2id': dict_label2id_new,\n            'dict_id2label': dict_id2label_new,\n            'stop_word': stop_words\n        }\n        save_dict(new_dicts, max_size, type, isSave)\n        print('after prune the dicts is %d' % max_size)\n\ndef save(nfile, obj):\n    with open(nfile,'wb') as p:\n        pickle.dump(obj,p)\n\ndef load(nfile):\n    with open(nfile,'rb') as r:\n        a = pickle.load(r)\n        return a\n\ndef init_vocab(min_df, max_d, add_test=True, char_vocab_size = 10000, word_vocab_size=200000):\n    train = pd.read_csv('train_set.csv')\n    all_article = train['article'].tolist()\n    all_word_seg = train['word_seg'].tolist()\n    if add_test:\n        test = pd.read_csv('test_set.csv')\n        test_article = test['article'].tolist()\n        test_word_seg = test['word_seg'].tolist()\n        all_article = all_article + test_article\n        all_word_seg = all_word_seg + test_word_seg\n    # article\n    print('get the article stop_words, the word pro > %f or word count < %d'%(max_d,min_df))\n    article_stop_words = get_stopwords(all_article,min_df=min_df,max_d=max_d)\n    print('start init article vocab...')\n    make_vocab(all_article, article_stop_words, char_vocab_size, type=1, isSave=True)\n\n    # word_seg\n    print('get the word_seg stop_words, the word pro > %f or word count < %d' % (max_d, min_df))\n    word_stop_words = get_stopwords(all_word_seg, min_df=min_df, max_d=max_d)\n    print('start init article vocab...')\n    make_vocab(all_word_seg, word_stop_words, word_vocab_size, type=2, isSave=True)\n\ndef pre_train_w2v(all_text):\n\n\n    model = word2vec.Word2Vec(sentences=texts, size=300, window=2, min_count=3, workers=2)\n    model.wv.save_word2vec_format(fname=project.aux_dir + \"train_all_data.bigram\", binary=binary, fvocab=None)\n\n# text to index and save\ndef sentence_to_indexs(sentences, dict_label2id, stop_words, max_document_length=1500, print_count=3000, padding=True):\n    all_sentence_indexs = []\n    dict_size = len(dict_label2id)\n    print('dict_size',dict_size)\n    for index,sentence in enumerate(sentences):\n        words = sentence.split()\n        sentence_indexs = []\n        for word in words:\n            if word not in stop_words:\n                if word in dict_label2id:\n                    word_index = dict_label2id[word]\n                else:\n                    word_index = (dict_size + 1) # unknow word\n                sentence_indexs.append(word_index)\n            else:\n                word_index = (dict_size + 2) # stop words\n                sentence_indexs.append(word_index)\n            if padding:\n                words_length = len(sentence_indexs)\n                if words_length < max_document_length:\n                    # padding\n                    for _ in range(max_document_length-words_length):\n                        sentence_indexs.append(dict_size + 2) # padding word\n                else:\n                    sentence_indexs = sentence_indexs[:max_document_length] # prune sentence\n\n        if len(sentence_indexs)==0:\n            print(index)\n        all_sentence_indexs.append(sentence_indexs)\n\n        if (index+1) % print_count == 0:\n            print('already deal with %d documents'%(index+1))\n    return all_sentence_indexs\n\ndef split_train_val(data, article_dicts, word_dicts, rate=0.7, isSave = True):\n    # data = pd.read_csv('train_set.csv')\n    # article_dicts = load('./data/art_dicts')\n    # word_dicts = load('./data/art_dicts')\n    article_words = data[['article','word_seg']].values\n    y = data['class'].values\n    x_train, x_test, y_train, y_test = train_test_split(article_words,y,test_size=(1-rate),random_state=42)\n\n    x_train_articles = x_train[:,0]\n    x_train_words = x_train[:,1]\n    x_test_article = x_test[:,0]\n    x_test_words = x_test[:,1]\n\n    x_train_articles_ids = sentence_to_indexs(x_train_articles,article_dicts['dict_label2id'],article_dicts['stop_word'],padding=False)\n    x_train_words_ids = sentence_to_indexs(x_train_words,word_dicts['dict_label2id'],word_dicts['stop_word'],padding=False)\n    x_test_articles_ids = sentence_to_indexs(x_test_article,article_dicts['dict_label2id'],article_dicts['stop_word'],padding=False)\n    x_test_words_ids = sentence_to_indexs(x_test_words,word_dicts['dict_label2id'],word_dicts['stop_word'],padding=False)\n    if isSave:\n        save('./data/x_train_articles_ids.pickle',x_train_articles_ids)\n        save('./data/x_train_words_ids.pickle',x_train_words_ids)\n        save('./data/x_test_articles_ids.pickle',x_test_articles_ids)\n        save('./data/x_test_words_ids.pickle',x_test_words_ids)\n        save('./data/y_train.pickle',y_train)\n        save('./data/y_test.pickle',y_test)\n    return x_train_articles_ids, x_train_words_ids, x_test_articles_ids, x_test_words_ids, y_train, y_test\n\n############ Constructing  model data set ###################\n\nclass dataset(torch_data.Dataset):\n\n    def __init__(self, src_article, src_word, y):\n\n        self.src_article = src_article\n        self.src_word = src_word\n        self.y = y\n\n    def __getitem__(self, index):\n        return self.src_article[index], self.src_word[index], self.y[index]\n\n    def __len__(self):\n        return len(self.src_article)\n\ndef padding(data):\n    src_article, src_word, y = zip(*data)\n    article_max_length = 2000\n    word_seg_max_length = 1500\n    # article\n    art_src_len = [len(article) for article in src_article]\n    if max(art_src_len) < article_max_length:\n        article_max_length = max(art_src_len)\n    art_src_pad = torch.zeros(len(src_article), article_max_length).long()\n    for i, s in enumerate(src_article):\n        if len(s) == 0 or s is None:\n            print('None-------')\n        end = art_src_len[i]\n        # print(end)/\n        if end > article_max_length:\n            end = article_max_length\n        s = torch.LongTensor(s)\n        art_src_pad[i, :end] = s[:end]\n\n    # word_seg\n    word_src_len = [len(word) for word in src_word]\n    if max(word_src_len) < word_seg_max_length:\n        word_seg_max_length = max(word_src_len)\n    word_src_pad = torch.zeros(len(src_word), word_seg_max_length).long()\n    for i, s in enumerate(src_word):\n        end = word_src_len[i]\n        if end > word_seg_max_length:\n            end = word_seg_max_length\n        s = torch.LongTensor(s)\n        word_src_pad[i, :end] = s[:end]\n    # print(y[0],type(y[0]))\n\n    y = [int(item)-1 for item in y]  # lable -> [0,18]\n\n    return torch.LongTensor(art_src_pad), torch.LongTensor(word_src_pad), torch.LongTensor(y)\n\ndef get_loader(dataset, batch_size, shuffle, num_workers):\n\n    data_loader = torch.utils.data.DataLoader(dataset=dataset,\n                                              batch_size=batch_size,\n                                              shuffle=shuffle,\n                                              num_workers=num_workers,\n                                              collate_fn=padding)\n    return data_loader\n\ndef to_categorical(y, num_classes=None):\n    y = np.array(y, dtype='int')\n    input_shape = y.shape\n    y = y.ravel()\n    if not num_classes:\n        num_classes = np.max(y) + 1\n    n = y.shape[0]\n    categorical = np.zeros((n, num_classes))\n    categorical[np.arange(n), y] = 1\n    output_shape = input_shape + (num_classes,)\n    categorical = np.reshape(categorical, output_shape)\n    return categorical\n\n############ analy config file ###################\n\nclass AttrDict(dict):\n    \"\"\"\n    Dictionary whose keys can be accessed as attributes.\n    \"\"\"\n    def __init__(self, *args, **kwargs):\n        super(AttrDict, self).__init__(*args, **kwargs)\n        # self.__dict__ = self\n\n    def __getattr__(self, item):\n        if type(self[item]) is dict:\n            self[item] = AttrDict(self[item])\n        return self[item]\n\n    def __setstate__(self, state):\n        pass\n    def __getstate__(self):\n        pass\n        # for key in state.keys():\n        #     print(key,state[key])\n        #     setattr(self,key,state[key])\n\ndef read_config(path):\n\n    return AttrDict(yaml.load(open(path, 'r')))\n\nif __name__ == '__main__':\n    # step1 init vocab\n    # char_vocab_size = 10000\n    # word_vocab_size =  250000\n    # init_vocab(min_df=3,max_d=0.9,add_test=True, char_vocab_size=char_vocab_size, word_vocab_size=word_vocab_size)\n    # pre_train_w2v\n    #\n\n    # step2 sentece to ids\n    # train = pd.read_csv('train_set.csv')\n    # article_dicts = load('./data/dicts_10000_arts')\n    # word_dicts = load('./data/dicts_250000_words')\n    # x_train_articles_ids, x_train_words_ids, x_test_articles_ids, x_test_words_ids, y_train, y_test = split_train_val(train, article_dicts, word_dicts, rate=0.7, isSave=True)\n    #\n    #\n    pass\n\n\n\n"
  },
  {
    "path": "NLP/daguan/lr_scheduler.py",
    "content": "import math\r\nfrom bisect import bisect_right\r\nfrom torch.optim.optimizer import Optimizer\r\n\r\n\r\nclass _LRScheduler(object):\r\n    def __init__(self, optimizer, last_epoch=-1):\r\n        if not isinstance(optimizer, Optimizer):\r\n            raise TypeError('{} is not an Optimizer'.format(\r\n                type(optimizer).__name__))\r\n        self.optimizer = optimizer\r\n        if last_epoch == -1:\r\n            for group in optimizer.param_groups:\r\n                group.setdefault('initial_lr', group['lr'])\r\n        else:\r\n            for i, group in enumerate(optimizer.param_groups):\r\n                if 'initial_lr' not in group:\r\n                    raise KeyError(\"param 'initial_lr' is not specified \"\r\n                                   \"in param_groups[{}] when resuming an optimizer\".format(i))\r\n        self.base_lrs = list(map(lambda group: group['initial_lr'], optimizer.param_groups))\r\n        self.step(last_epoch + 1)\r\n        self.last_epoch = last_epoch\r\n\r\n    def get_lr(self):\r\n        raise NotImplementedError\r\n\r\n    def step(self, epoch=None):\r\n        if epoch is None:\r\n            epoch = self.last_epoch + 1\r\n        self.last_epoch = epoch\r\n        for param_group, lr in zip(self.optimizer.param_groups, self.get_lr()):\r\n            param_group['lr'] = lr\r\n\r\n\r\nclass LambdaLR(_LRScheduler):\r\n    \"\"\"Sets the learning rate of each parameter group to the initial lr\r\n    times a given function. When last_epoch=-1, sets initial lr as lr.\r\n    Args:\r\n        optimizer (Optimizer): Wrapped optimizer.\r\n        lr_lambda (function or list): A function which computes a multiplicative\r\n            factor given an integer parameter epoch, or a list of such\r\n            functions, one for each group in optimizer.param_groups.\r\n        last_epoch (int): The index of last epoch. Default: -1.\r\n    Example:\r\n        >>> # Assuming optimizer has two groups.\r\n        >>> lambda1 = lambda epoch: epoch // 30\r\n        >>> lambda2 = lambda epoch: 0.95 ** epoch\r\n        >>> scheduler = LambdaLR(optimizer, lr_lambda=[lambda1, lambda2])\r\n        >>> for epoch in range(100):\r\n        >>>     scheduler.step()\r\n        >>>     train(...)\r\n        >>>     validate(...)\r\n    \"\"\"\r\n    def __init__(self, optimizer, lr_lambda, last_epoch=-1):\r\n        self.optimizer = optimizer\r\n        if not isinstance(lr_lambda, list) and not isinstance(lr_lambda, tuple):\r\n            self.lr_lambdas = [lr_lambda] * len(optimizer.param_groups)\r\n        else:\r\n            if len(lr_lambda) != len(optimizer.param_groups):\r\n                raise ValueError(\"Expected {} lr_lambdas, but got {}\".format(\r\n                    len(optimizer.param_groups), len(lr_lambda)))\r\n            self.lr_lambdas = list(lr_lambda)\r\n        self.last_epoch = last_epoch\r\n        super(LambdaLR, self).__init__(optimizer, last_epoch)\r\n\r\n    def get_lr(self):\r\n        return [base_lr * lmbda(self.last_epoch)\r\n                for lmbda, base_lr in zip(self.lr_lambdas, self.base_lrs)]\r\n\r\n\r\nclass StepLR(_LRScheduler):\r\n    \"\"\"Sets the learning rate of each parameter group to the initial lr\r\n    decayed by gamma every step_size epochs. When last_epoch=-1, sets\r\n    initial lr as lr.\r\n    Args:\r\n        optimizer (Optimizer): Wrapped optimizer.\r\n        step_size (int): Period of learning rate decay.\r\n        gamma (float): Multiplicative factor of learning rate decay.\r\n            Default: 0.1.\r\n        last_epoch (int): The index of last epoch. Default: -1.\r\n    Example:\r\n        >>> # Assuming optimizer uses lr = 0.5 for all groups\r\n        >>> # lr = 0.05     if epoch < 30\r\n        >>> # lr = 0.005    if 30 <= epoch < 60\r\n        >>> # lr = 0.0005   if 60 <= epoch < 90\r\n        >>> # ...\r\n        >>> scheduler = StepLR(optimizer, step_size=30, gamma=0.1)\r\n        >>> for epoch in range(100):\r\n        >>>     scheduler.step()\r\n        >>>     train(...)\r\n        >>>     validate(...)\r\n    \"\"\"\r\n\r\n    def __init__(self, optimizer, step_size, gamma=0.1, last_epoch=-1):\r\n        self.step_size = step_size\r\n        self.gamma = gamma\r\n        super(StepLR, self).__init__(optimizer, last_epoch)\r\n\r\n    def get_lr(self):\r\n        return [base_lr * self.gamma ** (self.last_epoch // self.step_size)\r\n                for base_lr in self.base_lrs]\r\n\r\n\r\nclass MultiStepLR(_LRScheduler):\r\n    \"\"\"Set the learning rate of each parameter group to the initial lr decayed\r\n    by gamma once the number of epoch reaches one of the milestones. When\r\n    last_epoch=-1, sets initial lr as lr.\r\n    Args:\r\n        optimizer (Optimizer): Wrapped optimizer.\r\n        milestones (list): List of epoch indices. Must be increasing.\r\n        gamma (float): Multiplicative factor of learning rate decay.\r\n            Default: 0.1.\r\n        last_epoch (int): The index of last epoch. Default: -1.\r\n    Example:\r\n        >>> # Assuming optimizer uses lr = 0.5 for all groups\r\n        >>> # lr = 0.05     if epoch < 30\r\n        >>> # lr = 0.005    if 30 <= epoch < 80\r\n        >>> # lr = 0.0005   if epoch >= 80\r\n        >>> scheduler = MultiStepLR(optimizer, milestones=[30,80], gamma=0.1)\r\n        >>> for epoch in range(100):\r\n        >>>     scheduler.step()\r\n        >>>     train(...)\r\n        >>>     validate(...)\r\n    \"\"\"\r\n\r\n    def __init__(self, optimizer, milestones, gamma=0.1, last_epoch=-1):\r\n        if not list(milestones) == sorted(milestones):\r\n            raise ValueError('Milestones should be a list of'\r\n                             ' increasing integers. Got {}', milestones)\r\n        self.milestones = milestones\r\n        self.gamma = gamma\r\n        super(MultiStepLR, self).__init__(optimizer, last_epoch)\r\n\r\n    def get_lr(self):\r\n        return [base_lr * self.gamma ** bisect_right(self.milestones, self.last_epoch)\r\n                for base_lr in self.base_lrs]\r\n\r\n\r\nclass ExponentialLR(_LRScheduler):\r\n    \"\"\"Set the learning rate of each parameter group to the initial lr decayed\r\n    by gamma every epoch. When last_epoch=-1, sets initial lr as lr.\r\n    Args:\r\n        optimizer (Optimizer): Wrapped optimizer.\r\n        gamma (float): Multiplicative factor of learning rate decay.\r\n        last_epoch (int): The index of last epoch. Default: -1.\r\n    \"\"\"\r\n\r\n    def __init__(self, optimizer, gamma, last_epoch=-1):\r\n        self.gamma = gamma\r\n        super(ExponentialLR, self).__init__(optimizer, last_epoch)\r\n\r\n    def get_lr(self):\r\n        return [base_lr * self.gamma ** self.last_epoch\r\n                for base_lr in self.base_lrs]\r\n\r\n\r\nclass CosineAnnealingLR(_LRScheduler):\r\n    \"\"\"Set the learning rate of each parameter group using a cosine annealing\r\n    schedule, where :math:`\\eta_{max}` is set to the initial lr and\r\n    :math:`T_{cur}` is the number of epochs since the last restart in SGDR:\r\n    .. math::\r\n        \\eta_t = \\eta_{min} + \\frac{1}{2}(\\eta_{max} - \\eta_{min})(1 +\r\n        \\cos(\\frac{T_{cur}}{T_{max}}\\pi))\r\n    When last_epoch=-1, sets initial lr as lr.\r\n    It has been proposed in\r\n    `SGDR: Stochastic Gradient Descent with Warm Restarts`_. Note that this only\r\n    implements the cosine annealing part of SGDR, and not the restarts.\r\n    Args:\r\n        optimizer (Optimizer): Wrapped optimizer.\r\n        T_max (int): Maximum number of iterations.\r\n        eta_min (float): Minimum learning rate. Default: 0.\r\n        last_epoch (int): The index of last epoch. Default: -1.\r\n    .. _SGDR\\: Stochastic Gradient Descent with Warm Restarts:\r\n        https://arxiv.org/abs/1608.03983\r\n    \"\"\"\r\n\r\n    def __init__(self, optimizer, T_max, eta_min=0, last_epoch=-1):\r\n        self.T_max = T_max\r\n        self.eta_min = eta_min\r\n        super(CosineAnnealingLR, self).__init__(optimizer, last_epoch)\r\n\r\n    def get_lr(self):\r\n        return [self.eta_min + (base_lr - self.eta_min) *\r\n                (1 + math.cos(self.last_epoch / self.T_max * math.pi)) / 2\r\n                for base_lr in self.base_lrs]\r\n\r\n\r\nclass ReduceLROnPlateau(object):\r\n    \"\"\"Reduce learning rate when a metric has stopped improving.\r\n    Models often benefit from reducing the learning rate by a factor\r\n    of 2-10 once learning stagnates. This scheduler reads a metrics\r\n    quantity and if no improvement is seen for a 'patience' number\r\n    of epochs, the learning rate is reduced.\r\n    Args:\r\n        optimizer (Optimizer): Wrapped optimizer.\r\n        mode (str): One of `min`, `max`. In `min` mode, lr will\r\n            be reduced when the quantity monitored has stopped\r\n            decreasing; in `max` mode it will be reduced when the\r\n            quantity monitored has stopped increasing. Default: 'min'.\r\n        factor (float): Factor by which the learning rate will be\r\n            reduced. new_lr = lr * factor. Default: 0.1.\r\n        patience (int): Number of epochs with no improvement after\r\n            which learning rate will be reduced. Default: 10.\r\n        verbose (bool): If True, prints a message to stdout for\r\n            each update. Default: False.\r\n        threshold (float): Threshold for measuring the new optimum,\r\n            to only focus on significant changes. Default: 1e-4.\r\n        threshold_mode (str): One of `rel`, `abs`. In `rel` mode,\r\n            dynamic_threshold = best * ( 1 + threshold ) in 'max'\r\n            mode or best * ( 1 - threshold ) in `min` mode.\r\n            In `abs` mode, dynamic_threshold = best + threshold in\r\n            `max` mode or best - threshold in `min` mode. Default: 'rel'.\r\n        cooldown (int): Number of epochs to wait before resuming\r\n            normal operation after lr has been reduced. Default: 0.\r\n        min_lr (float or list): A scalar or a list of scalars. A\r\n            lower bound on the learning rate of all param groups\r\n            or each group respectively. Default: 0.\r\n        eps (float): Minimal decay applied to lr. If the difference\r\n            between new and old lr is smaller than eps, the update is\r\n            ignored. Default: 1e-8.\r\n    Example:\r\n        >>> optimizer = torch.optim.SGD(model.parameters(), lr=0.1, momentum=0.9)\r\n        >>> scheduler = ReduceLROnPlateau(optimizer, 'min')\r\n        >>> for epoch in range(10):\r\n        >>>     train(...)\r\n        >>>     val_loss = validate(...)\r\n        >>>     # Note that step should be called after validate()\r\n        >>>     scheduler.step(val_loss)\r\n    \"\"\"\r\n\r\n    def __init__(self, optimizer, mode='min', factor=0.1, patience=10,\r\n                 verbose=False, threshold=1e-4, threshold_mode='rel',\r\n                 cooldown=0, min_lr=0, eps=1e-8):\r\n\r\n        if factor >= 1.0:\r\n            raise ValueError('Factor should be < 1.0.')\r\n        self.factor = factor\r\n\r\n        if not isinstance(optimizer, Optimizer):\r\n            raise TypeError('{} is not an Optimizer'.format(\r\n                type(optimizer).__name__))\r\n        self.optimizer = optimizer\r\n\r\n        if isinstance(min_lr, list) or isinstance(min_lr, tuple):\r\n            if len(min_lr) != len(optimizer.param_groups):\r\n                raise ValueError(\"expected {} min_lrs, got {}\".format(\r\n                    len(optimizer.param_groups), len(min_lr)))\r\n            self.min_lrs = list(min_lr)\r\n        else:\r\n            self.min_lrs = [min_lr] * len(optimizer.param_groups)\r\n\r\n        self.patience = patience\r\n        self.verbose = verbose\r\n        self.cooldown = cooldown\r\n        self.cooldown_counter = 0\r\n        self.mode = mode\r\n        self.threshold = threshold\r\n        self.threshold_mode = threshold_mode\r\n        self.best = None\r\n        self.num_bad_epochs = None\r\n        self.mode_worse = None  # the worse value for the chosen mode\r\n        self.is_better = None\r\n        self.eps = eps\r\n        self.last_epoch = -1\r\n        self._init_is_better(mode=mode, threshold=threshold,\r\n                             threshold_mode=threshold_mode)\r\n        self._reset()\r\n\r\n    def _reset(self):\r\n        \"\"\"Resets num_bad_epochs counter and cooldown counter.\"\"\"\r\n        self.best = self.mode_worse\r\n        self.cooldown_counter = 0\r\n        self.num_bad_epochs = 0\r\n\r\n    def step(self, metrics, epoch=None):\r\n        current = metrics\r\n        if epoch is None:\r\n            epoch = self.last_epoch = self.last_epoch + 1\r\n        self.last_epoch = epoch\r\n\r\n        if self.is_better(current, self.best):\r\n            self.best = current\r\n            self.num_bad_epochs = 0\r\n        else:\r\n            self.num_bad_epochs += 1\r\n\r\n        if self.in_cooldown:\r\n            self.cooldown_counter -= 1\r\n            self.num_bad_epochs = 0  # ignore any bad epochs in cooldown\r\n\r\n        if self.num_bad_epochs > self.patience:\r\n            self._reduce_lr(epoch)\r\n            self.cooldown_counter = self.cooldown\r\n            self.num_bad_epochs = 0\r\n\r\n    def _reduce_lr(self, epoch):\r\n        for i, param_group in enumerate(self.optimizer.param_groups):\r\n            old_lr = float(param_group['lr'])\r\n            new_lr = max(old_lr * self.factor, self.min_lrs[i])\r\n            if old_lr - new_lr > self.eps:\r\n                param_group['lr'] = new_lr\r\n                if self.verbose:\r\n                    print('Epoch {:5d}: reducing learning rate'\r\n                          ' of group {} to {:.4e}.'.format(epoch, i, new_lr))\r\n\r\n    @property\r\n    def in_cooldown(self):\r\n        return self.cooldown_counter > 0\r\n\r\n    def _init_is_better(self, mode, threshold, threshold_mode):\r\n        if mode not in {'min', 'max'}:\r\n            raise ValueError('mode ' + mode + ' is unknown!')\r\n        if threshold_mode not in {'rel', 'abs'}:\r\n            raise ValueError('threshold mode ' + mode + ' is unknown!')\r\n        if mode == 'min' and threshold_mode == 'rel':\r\n            rel_epsilon = 1. - threshold\r\n            self.is_better = lambda a, best: a < best * rel_epsilon\r\n            self.mode_worse = float('Inf')\r\n        elif mode == 'min' and threshold_mode == 'abs':\r\n            self.is_better = lambda a, best: a < best - threshold\r\n            self.mode_worse = float('Inf')\r\n        elif mode == 'max' and threshold_mode == 'rel':\r\n            rel_epsilon = threshold + 1.\r\n            self.is_better = lambda a, best: a > best * rel_epsilon\r\n            self.mode_worse = -float('Inf')\r\n        else:  # mode == 'max' and epsilon_mode == 'abs':\r\n            self.is_better = lambda a, best: a > best + threshold\r\n            self.mode_worse = -float('Inf')\r\n"
  },
  {
    "path": "NLP/daguan/main.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/8/29 下午4:29 \n# @Author : ComeOnJian \n# @File : main.py \nimport pandas as pd\nimport time\nimport data_analy\nimport model\nimport torch.nn as nn\nimport torch\nfrom torch.autograd import Variable\nimport lr_scheduler as L\nfrom optims import Optim\nfrom sklearn import metrics\nimport collections\n\n# load config\nconfig = data_analy.read_config('./config.yaml')\ntorch.manual_seed(config.seed)\n\nif config.restore:\n    print('loading checkpoint...\\n')\n    check_point = torch.load(config.restore)\n\n# cuda\nuse_cuda = torch.cuda.is_available() and len(config.gpus) > 0\nif use_cuda:\n    torch.cuda.set_device(config.gpus[0])\n    torch.cuda.manual_seed(config.seed)\n\n# load data\nif config.data:\n    x_train_articles_ids = data_analy.load(config.x_train_articles_ids)\n    x_train_words_ids = data_analy.load(config.x_train_words_ids)\n    x_test_articles_ids = data_analy.load(config.x_test_articles_ids)\n    x_test_words_ids = data_analy.load(config.x_test_words_ids)\n    y_train = data_analy.load(config.y_train)\n    y_test = data_analy.load(config.y_test)\n\n    train_dataset = data_analy.dataset(x_train_articles_ids, x_train_words_ids, y_train)\n    val_dataset = data_analy.dataset(x_test_articles_ids, x_test_words_ids, y_test)\n    dataset = {\n        'train': train_dataset,\n        'val': val_dataset\n    }\n    torch.save(dataset,config.data)\n\nelse:\n    train_dataset = torch.load('./data/dataset')['train']\n    val_dataset = torch.load('./data/dataset')['val']\n\ntrain_dataloader = data_analy.get_loader(train_dataset,\n                                         batch_size = config.batch_size,\n                                         shuffle = True,\n                                         num_workers = 2\n                                         )\nval_dataloader = data_analy.get_loader(val_dataset,\n                                         batch_size = config.batch_size,\n                                         shuffle = False,\n                                         num_workers = 2\n                                         )\n\n# load model\n# class_weight = Variable(torch.FloatTensor([1.54, 2.86, 1, 2.17, 3.5, 1.2, 2.73, 1.19, 1.08, 1.67, 2.32, 1.56, 1.05, 1.23, 1.1, 2.58, 2.69, 1.18, 1.5])) # 样本少的类别，可以考虑把权重设置大一点\nloss_fn = nn.CrossEntropyLoss(size_average=True)#,weight=class_weight)\nif use_cuda:\n    loss_fn.cuda()\nword_filter_sizes = [2, 3, 4, 5, 6, 7, 8, 9]\nword_filter_nums = [100, 150, 150, 150, 150, 50, 50, 50]\nchar_filter_sizes = [2, 3, 4, 5, 6, 7, 8, 9]\nchar_filter_nums = [50, 100, 100, 100, 50, 50, 50, 50]\ncnn_model = getattr(model,\"Text_WCCNN\")(config, word_filter_sizes, word_filter_nums, config.word_vocab_size,\n                         char_filter_sizes, char_filter_nums, config.char_vocab_size)\n\nif config.restore:\n    cnn_model.load_state_dict(check_point['model'])\nif use_cuda:\n    cnn_model = cnn_model.cuda()\nif len(config.gpus) > 1:\n    model = nn.DataParallel(model, device_ids=config.gpus, dim=0)\n# optimizer\nif config.restore:\n    optim = check_point['optim']\n    updates = check_point['updates']\nelse:\n    optim = Optim(config.optim, config.learning_rate, config.max_grad_norm,\n                  lr_decay=config.learning_rate_decay, start_decay_at=config.start_decay_at)\n    updates = 0\noptim.set_parameters(cnn_model.parameters())\nif config.schedule:\n    scheduler = L.CosineAnnealingLR(optim.optimizer, T_max=config.epoch)\n\n# total number of parameters\nparam_count = 0\nfor param in cnn_model.parameters():\n    param_count += param.view(-1).size()[0]\nprint('model all parameters is %d'% param_count)\n\n\ntotal_loss, start_time = 0, time.time()\nreport_total, report_correct = 0, 0\nscores = [[] for metric in config.metric]\nscores = collections.OrderedDict(zip(config.metric, scores))\n# train model\ndef train(epoch):\n    global e\n    e = epoch\n    cnn_model.train()\n    if config.schedule:\n        scheduler.step()\n        print(\"Decaying learning rate to %g\" % scheduler.get_lr()[0])\n    global updates, total_loss, start_time, report_total, report_correct\n\n    for art_src, word_src, y in train_dataloader:\n\n        art_src = Variable(art_src)\n        word_src = Variable(word_src)\n        y = Variable(y)\n        if use_cuda:\n            art_src = art_src.cuda()\n            word_src = word_src.cuda()\n            y = y.cuda()\n\n        cnn_model.zero_grad()\n        pre_out = cnn_model(art_src, word_src)\n        loss = loss_fn(pre_out,y)\n        loss.backward()\n        optim.step()\n        pred_label = torch.max(pre_out,1)[1]  # Variable\n        report_correct += (pred_label.data == y.data).sum()\n        report_total += len(y)\n        total_loss += loss.data[0]\n\n        updates += 1\n        if updates % config.eval_interval == 0:\n            print(\"train--> time: %6.4f, epoch: %3d, updates: %8d, train loss: %6.3f and accuracy: %.3f\\n\"\n                    % ((time.time() - start_time), epoch, updates, total_loss / config.eval_interval,\n                       (report_correct / float(report_total))))\n            print('evaluating after %d updates...\\r' % updates)\n            score = eval(epoch)\n            for metric in config.metric:\n                scores[metric].append(score[metric])\n                if metric == 'macro_f1' and score[metric] >= max(scores[metric]):\n                    save_model('./data/' + 'best_' + metric + '_checkpoint.pt')\n                if metric == 'loss' and score[metric] <= min(scores[metric]):\n                    save_model('./data/' + 'best_' + metric + '_checkpoint.pt')\n\n            cnn_model.train()\n            start_time = time.time()\n            report_total = 0\n            report_correct = 0\n            total_loss = 0\n\n        if updates % config.save_interval == 0:\n            save_model('./data/model.pt')\n        # y:[10] -> [0,0,0,...,1,0,0]\n        # y = [to_categorical(item, num_classes) for item in y]\n\n# eval model\ndef eval(epoch):\n    cnn_model.eval()\n    y_true = []\n    y_pred = []\n    eval_total_loss = 0.\n    eval_update = 0\n    for art_src, word_src, y in val_dataloader:\n        art_src = Variable(art_src)\n        word_src = Variable(word_src)\n        y_true += [y_item for y_item in y]\n        y = Variable(y)\n        eval_update += 1\n        if use_cuda:\n            art_src = art_src.cuda()\n            word_src = word_src.cuda()\n            y = y.cuda()\n        if len(config.gpus) > 1:\n            output_pro = cnn_model.module.forward(art_src,word_src) # FloatTensor [batch_size,1]\n        else:\n            output_pro = cnn_model.forward(art_src,word_src)\n\n        loss = loss_fn(output_pro, y)\n        eval_total_loss += loss.data[0]\n        # y_pred += [item.tolist() for item in output_pro.data] # item is FloatTensor size 19\n        pred_label = torch.max(output_pro, 1)[1].data.tolist() # LongTensor size 32\n        y_pred += [int(item) for item in pred_label]\n\n    score = {}\n    result = get_metrics(y_true,y_pred)\n    loss = eval_total_loss/eval_update\n    # logging_csv([e, updates, result['f1'], \\\n    #             result['precision'], result['recall'], loss, result['accuracy']])\n    print('eval--> f1: %.4f |precision: %.4f |recall: %.4f |loss: %.4f |accuracy: %.3f '\n          % (result['macro_f1'], result['macro_precision'],result['macro_recall'], loss, result['accuracy']))\n    score['macro_f1'] = result['macro_f1']\n    score['accuracy'] = result['accuracy']\n    score['macro_precision'] = result['macro_precision']\n    score['macro_recall'] = result['macro_recall']\n    score['loss'] = loss\n    # score['loss'] = loss\n\n    return score\n\ndef save_model(path):\n    global updates\n    model_state_dict = cnn_model.module.state_dict() if len(config.gpus) > 1 else cnn_model.state_dict()\n    checkpoints = {\n        'model': model_state_dict,\n        'config': config,\n        'optim': optim,\n        'updates': updates}\n    torch.save(checkpoints, path)\n\n\ndef get_metrics(y,y_pre):\n    macro_f1 = metrics.f1_score(y, y_pre, average='macro')\n    macro_precision = metrics.precision_score(y, y_pre, average='macro')\n    macro_recall = metrics.recall_score(y, y_pre, average='macro')\n    # micro_f1 = metrics.f1_score(y, y_pre, average='micro')\n    # micro_precision = metrics.precision_score(y, y_pre, average='micro')\n    # micro_recall = metrics.recall_score(y, y_pre, average='micro')\n    accuracy = metrics.accuracy_score(y, y_pre)\n    result = {\n        'accuracy': accuracy,\n        'macro_f1': macro_f1,\n        'macro_precision': macro_precision,\n        'macro_recall': macro_recall\n    }\n    return result\n\nif __name__ == '__main__':\n    for i in range(config.epoch):\n        train(i)\n    pass\n    # x_train_articles_ids = data_analy.load(config.x_train_articles_ids)\n    # # x_train_words_ids = data_analy.load(config.x_train_words_ids)\n    # # x_test_articles_ids = data_analy.load(config.x_test_articles_ids)\n    # # x_test_words_ids = data_analy.load(config.x_test_words_ids)\n    # none_count = 0\n    # for article in x_train_articles_ids:\n    #     if len(article) == 0:\n    #         none_count += 1\n    # print(none_count)"
  },
  {
    "path": "NLP/daguan/model.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/8/29 上午11:06 \n# @Author : ComeOnJian \n# @File : model.py \n\nimport torch\nimport torch.nn as nn\nimport torch.nn.functional as F\n\nclass encoder_cnn(nn.Module):\n    \"\"\"\n    对源句子进行编码操作\n    \"\"\"\n    def __init__(self,config,filter_sizes,filter_nums,vocab_size,embedding=None):\n        super(encoder_cnn,self).__init__()\n        if embedding is not None:\n            self.embedding = embedding\n        else:\n            self.embedding = nn.Embedding(vocab_size,config.emb_size)\n\n        self.convs = nn.ModuleList(\n            [nn.Conv2d(in_channels=1, out_channels=filter_num,\n                      kernel_size=(fliter_size, config.emb_size),\n                      padding=((fliter_size//2, 0)))\n             for (filter_num,fliter_size) in zip(filter_nums,filter_sizes)])\n\n        # 卷积层后添加BN\n        self.bns = None\n        if config.batchNormal:\n            self.bns = nn.ModuleList([nn.BatchNorm2d(filter_num) for filter_num in filter_nums])\n        #全连接层\n        if config.highway:\n            sum_filters = sum(filter_nums)\n            self.h_layer = nn.Linear(sum_filters,sum_filters)\n            self.transform_gate_layer = nn.Linear(sum_filters,sum_filters)\n        self.config = config\n\n    def forward(self, inputs):\n        embs = self.embedding(inputs) # [batch, seq_length] -> [batch,seq_length,emb_size]\n        x = torch.unsqueeze(embs,1) # [batch,seq_length,emb_size] -> [batch,1,seq_length,emb_size] add input channel\n\n        xs = []\n        if self.bns is not None:\n            for (conv,bn)in zip(self.convs,self.bns):\n                x2 = F.relu(conv(x))  # [batch,1,seq_length,emb_size] -> [batch,filter_num,seq_length,1]\n                x2 = bn(x2) # [batch,filter_num,seq_length,1] -> [batch,filter_num,seq_length,1]\n                x2 = torch.squeeze(x2,-1)  # [batch,filter_num,seq_length,1] -> [batch,filter_num,seq_length]\n                x2 = F.max_pool1d(x2,x2.size(2)).squeeze(2) # [batch,filter_num,seq_length] -> [batch,filter_num,1] -> [batch,filter_num]\n                xs.append(x2)\n        else:\n            for conv in self.convs:\n                x2 = F.relu(conv(x))  # [batch,1,seq_length,emb_size] -> [batch,filter_num,seq_length,1]\n                x2 = torch.squeeze(x2,-1)  # [batch,filter_num,seq_length,1] -> [batch,filter_num,seq_length]\n                x2 = F.max_pool1d(x2,x2.size(2)).squeeze(2) # [batch,filter_num,seq_length] -> [batch,filter_num,1] -> [batch,filter_num]\n                xs.append(x2)\n        # xs # [batch,filter_num] * len(filter_nums) #difference filter\n        pool_flat_out = torch.cat(xs,1)  # [batch,filter_num] * len(filter_nums) -> [batch,filter_num1+filter_num2+...] # 把各个filter_num相加\n\n        # highway layout formula for https://www.cnblogs.com/bamtercelboo/p/7611380.html\n        if self.config.highway:\n            h = self.h_layer(pool_flat_out)\n            transform_gate = F.sigmoid(self.transform_gate_layer(pool_flat_out))\n            carry_gate = 1. - transform_gate  #C\n            gate_transform_input = torch.mul(h,transform_gate)\n            gate_carry_input = torch.mul(carry_gate,pool_flat_out)\n            pool_flat_out = torch.add(gate_carry_input,gate_transform_input) #[batch,sum(filter_nums)]\n\n        return pool_flat_out\n\nclass Text_WCCNN(nn.Module):\n\n    def __init__(self,config, word_filter_sizes, word_filter_nums, word_vocab_size, char_filter_sizes, char_filter_nums, char_vocab_size, word_embedding=None, art_embedding=None):\n        super(Text_WCCNN, self).__init__()\n        self.config = config\n        self.criterion = nn.CrossEntropyLoss(size_average=True)\n        if word_embedding is not None:\n            self.word_embedding = word_embedding\n        else:\n            self.word_embedding = nn.Embedding(word_vocab_size,config.word_emb_size)\n\n        # article char\n        self.article_encoder_cnn = encoder_cnn(self.config, char_filter_sizes, char_filter_nums, char_vocab_size, art_embedding)\n        # self.word_encoder_cnn = encoder_cnn(self.config, word_filter_sizes, word_filter_nums, word_vocab_size, word_embedding)\n\n        # multi cnn layer\n        word_encoder_cnns = [nn.Sequential(\n            # first layer cnn\n            # [batch,1,seq_length,emb_size] -> [batch,filter_num,seq_length,1]\n            nn.Conv2d(in_channels=1,out_channels=filter_num,kernel_size=(fliter_size,config.word_emb_size),padding=((fliter_size//2, 0))),\n            nn.BatchNorm2d(filter_num), # [batch,filter_num,seq_length,1]\n            nn.ReLU(inplace=True),\n\n            # second layer cnn\n            nn.Conv2d(in_channels=filter_num,out_channels=filter_num,kernel_size=(fliter_size,1),padding=((fliter_size//2, 0))),\n            nn.BatchNorm2d(filter_num),\n            nn.ReLU(inplace=True) # ,\n            # nn.MaxPool1d(kernel_size=(config.seq_length - fliter_size * 2 + fliter_size//2+1))\n        )\n        for (filter_num,fliter_size) in zip(word_filter_nums,word_filter_sizes)]\n        self.word_contexts = nn.ModuleList(word_encoder_cnns)\n\n        # flat layer\n\n        self.fc = nn.Sequential(\n            nn.Linear(sum(char_filter_nums) + sum(word_filter_nums),config.linear_hidden_size),\n            nn.BatchNorm1d(config.linear_hidden_size),\n            nn.ReLU(inplace=True),\n            nn.Linear(config.linear_hidden_size, config.num_classes)\n        )\n\n    def forward(self, article, word_seg):\n\n        article_context = self.article_encoder_cnn(article)  # [batch,sum(char_filter_nums)]\n        # word_context = self.word_encoder_cnn(word_seg)  # [batch,sum(char_filter_nums)]\n        word_embs = self.word_embedding(word_seg) # [batch, seq_length] -> [batch,seq_length,emb_size]\n        x = torch.unsqueeze(word_embs, 1)  # [batch,seq_length,emb_size] -> [batch,1,seq_length,emb_size] add input channel\n\n        # word_convs = [word_conv(x) for word_conv in self.word_encoder_cnn]\n        word_convs = []\n        for word_conv in self.word_contexts:\n            x2 = word_conv(x)\n            x2 = torch.squeeze(x2, -1)  # [batch,filter_num,seq_length,1] -> [batch,filter_num,seq_length]\n            x2 = F.max_pool1d(x2,x2.size(2)).squeeze(2)\n            word_convs.append(x2)\n\n        word_context = torch.cat(word_convs, 1) # [batch,sum(word_filter_nums)]\n        flat_out = torch.cat((word_context,article_context),1) # [batch,sum(char_filter_nums) + sum(word_filter_nums)]\n        flat_out = self.fc((flat_out))\n        return flat_out\n\n\n\n\n\n\n\n\n"
  },
  {
    "path": "NLP/daguan/optims.py",
    "content": "import math\nimport torch.optim as optim\nimport torch.nn as nn\nfrom torch.nn.utils import clip_grad_norm\n\nclass Optim(object):\n\n    def set_parameters(self, params):\n        self.params = list(params)  # careful: params may be a generator\n        if self.method == 'sgd':\n            self.optimizer = optim.SGD(self.params, lr=self.lr)\n        elif self.method == 'adagrad':\n            self.optimizer = optim.Adagrad(self.params, lr=self.lr)\n        elif self.method == 'adadelta':\n            self.optimizer = optim.Adadelta(self.params, lr=self.lr)\n        elif self.method == 'adam':\n            self.optimizer = optim.Adam(self.params, lr=self.lr)\n        elif self.method == 'rmsprop':\n            self.optimizer = optim.RMSprop(self.params, lr=self.lr)\n        else:\n            raise RuntimeError(\"Invalid optim method: \" + self.method)\n\n    def __init__(self, method, lr, max_grad_norm, lr_decay=1, start_decay_at=None):\n        self.last_ppl = None\n        self.lr = lr\n        self.max_grad_norm = max_grad_norm\n        self.method = method\n        self.lr_decay = lr_decay\n        self.start_decay_at = start_decay_at\n        self.start_decay = False\n\n    def step(self):\n        # Compute gradients norm.\n        if self.max_grad_norm:\n            clip_grad_norm(self.params, self.max_grad_norm)\n        self.optimizer.step()\n\n    # decay learning rate if val perf does not improve or we hit the start_decay_at limit\n    def updateLearningRate(self, ppl, epoch):\n        if self.start_decay_at is not None and epoch >= self.start_decay_at:\n            self.start_decay = True\n        if self.last_ppl is not None and ppl > self.last_ppl:\n            self.start_decay = True\n\n        if self.start_decay:\n            self.lr = self.lr * self.lr_decay\n            print(\"Decaying learning rate to %g\" % self.lr)\n\n        self.last_ppl = ppl\n        self.optimizer.param_groups[0]['lr'] = self.lr\n"
  },
  {
    "path": "NLP/daguan/predict.py",
    "content": "#!/usr/bin/python\n# -*- coding: utf-8 -*-\n# @Time : 2018/9/1 上午12:16 \n# @Author : ComeOnJian \n# @File : predict.py \nimport data_analy\nimport pandas as pd\nimport numpy as np\nimport torch\nimport torch.nn as nn\nfrom torch.autograd import Variable\nimport model\n\nif False:\n    test = pd.read_csv('test_set.csv')\n    article_dicts = data_analy.load('./data/dicts_10000_arts')\n    word_dicts = data_analy.load('./data/dicts_250000_words')\n\n    article = test['article'].values\n    words = test['word_seg'].values\n\n    test_articles_ids = data_analy.sentence_to_indexs(article,article_dicts['dict_label2id'],article_dicts['stop_word'],padding=False)\n    test_words_ids = data_analy.sentence_to_indexs(words,word_dicts['dict_label2id'],word_dicts['stop_word'],padding=False)\n\n    data_analy.save('./data/test_articles_ids.pickle',test_articles_ids)\n    data_analy.save('./data/test_words_ids.pickle',test_words_ids)\n\n\n\n# load model\nconfig = data_analy.read_config('./config.yaml')\ntorch.manual_seed(config.seed)\n\nprint('loading checkpoint...\\n')\ncheck_point = torch.load('./data/best_macro_f1_checkpoint.pt')\n\n# cuda\nuse_cuda = torch.cuda.is_available() and len(config.gpus) > 0\nif use_cuda:\n    torch.cuda.set_device(config.gpus[0])\n    torch.cuda.manual_seed(config.seed)\n\n# load model\nword_filter_sizes = [2, 3, 4, 5, 6, 7, 8, 9]\nword_filter_nums = [100, 150, 150, 150, 150, 50, 50, 50]\nchar_filter_sizes = [2, 3, 4, 5, 6, 7, 8, 9]\nchar_filter_nums = [50, 100, 100, 100, 50, 50, 50, 50]\ncnn_model = getattr(model,\"Text_WCCNN\")(config, word_filter_sizes, word_filter_nums, config.word_vocab_size,\n                         char_filter_sizes, char_filter_nums, config.char_vocab_size)\n\nif use_cuda:\n    cnn_model = cnn_model.cuda()\ncnn_model.load_state_dict(check_point['model'])\n# load dataset\nif True:\n    test_articles_ids = data_analy.load('./data/test_articles_ids.pickle')\n    test_words_ids = data_analy.load('./data/test_words_ids.pickle')\n    y_test = np.zeros(len(test_words_ids)).tolist()\n    test_dataset = data_analy.dataset(test_articles_ids, test_words_ids, y_test)\n\ntest_dataloader = data_analy.get_loader(test_dataset,\n                                         batch_size = config.batch_size,\n                                         shuffle = False,\n                                         num_workers = 2\n                                         )\n\ndef eval(cnn_model):\n    cnn_model.eval()\n    y_pred = []\n    for art_src, word_src, y in test_dataloader:\n        if len(y) != config.batch_size:\n            print('-------------------')\n        art_src = Variable(art_src)\n        word_src = Variable(word_src)\n\n        if use_cuda:\n            art_src = art_src.cuda()\n            word_src = word_src.cuda()\n        if len(config.gpus) > 1:\n            output_pro = cnn_model.module.forward(art_src,word_src) # FloatTensor [batch_size,1]\n        else:\n            output_pro = cnn_model.forward(art_src,word_src)\n        # y_pred += [item.tolist() for item in output_pro.data] # item is FloatTensor size 19\n        pred_label = torch.max(output_pro, 1)[1].data.tolist() # LongTensor size 32\n        y_pred += [int(item) for item in pred_label]\n\n    return y_pred\ny_pred = eval(cnn_model)\nfid0=open('textcnn1.csv','w')\ni=0\nfid0.write(\"id,class\"+\"\\n\")\nfor item in y_pred:\n    fid0.write(str(i)+\",\"+str(item+1)+\"\\n\")\n    i=i+1\nfid0.close()\n\n"
  },
  {
    "path": "README.md",
    "content": "HEXO个人博客地址：[小简铺子](https://jianwenjun.xyz)\n\n### 机器学习练手代码\n描述：主要包括机器学习的基础算法的实现、相关竞赛代码，论文和项目复现代码。\n\n### 1ML\n#### 1.1决策树相关算法\n[决策树相关算法——ID3、C4.5的详细说明及实现](https://blog.csdn.net/u014732537/article/details/79667599) —— [代码地址](https://github.com/JianWenJun/MLDemo/blob/master/ML/DecisionTree/decision_tree.py)\n>本篇博客记录的是使用python实现两个决策树相关的算法模型—— ID3、C4.5。其中训练模型使用的数据集是Adult。\n\n[决策树相关算法——Bagging之基于CART的随机森林详细说明与实现](https://blog.csdn.net/u014732537/article/details/79667679)\n>本篇博客主要记录的是基于CART决策树实现的随机森林算法，主要是从以下四个方面介绍: CART决策树的构建思想；集成学习中的Bagging思想；基于CART决策树的随机森林代码实现；随机森林不易过拟合的分析。(其中不易过拟合并不是说随机森林不会过拟合)\n\n[决策树相关算法——Boosting之Adaboost&GBDT详细分析与实现](https://jianwenjun.xyz/2018/04/12/%E5%86%B3%E7%AD%96%E6%A0%91%E7%9B%B8%E5%85%B3%E7%AE%97%E6%B3%95%E2%80%94%E2%80%94Boosting%E4%B9%8BAdaboost-GBDT%E8%AF%A6%E7%BB%86%E5%88%86%E6%9E%90%E4%B8%8E%E5%AE%9E%E7%8E%B0/)\n>本篇博客主要记录的是集成学习中的Boosting提升算法的相关实现，主要分为以下四个部分，Boosting的提出，Boosting经典算法Adaboost的分析与实现，Adaboost算法的特例提升树的分析，梯度提升算法GBDT的提出原因及分析。\n\n[决策树相关算法——XGBoost原理分析及实例实现(一)](https://jianwenjun.xyz/2018/04/26/%E5%86%B3%E7%AD%96%E6%A0%91%E7%9B%B8%E5%85%B3%E7%AE%97%E6%B3%95%E2%80%94%E2%80%94XGBoost%E5%8E%9F%E7%90%86%E5%88%86%E6%9E%90%E5%8F%8A%E5%AE%9E%E4%BE%8B%E5%AE%9E%E7%8E%B0-%E4%B8%80/)  \n\n[决策树相关算法——XGBoost原理分析及实例实现(二)](https://jianwenjun.xyz/2018/04/27/%E5%86%B3%E7%AD%96%E6%A0%91%E7%9B%B8%E5%85%B3%E7%AE%97%E6%B3%95%E2%80%94%E2%80%94XGBoost%E5%8E%9F%E7%90%86%E5%88%86%E6%9E%90%E5%8F%8A%E5%AE%9E%E4%BE%8B%E5%AE%9E%E7%8E%B0-%E4%BA%8C/)  \n\n[决策树相关算法——XGBoost原理分析及实例实现(三)](https://jianwenjun.xyz/2018/05/02/%E5%86%B3%E7%AD%96%E6%A0%91%E7%9B%B8%E5%85%B3%E7%AE%97%E6%B3%95%E2%80%94%E2%80%94XGBoost%E5%8E%9F%E7%90%86%E5%88%86%E6%9E%90%E5%8F%8A%E5%AE%9E%E4%BE%8B%E5%AE%9E%E7%8E%B0-%E4%B8%89/) —— [代码地址](https://github.com/JianWenJun/MLDemo/blob/master/ML/DecisionTree/xgboost_demo.py)\n>上述3篇博客主要记录的是XGBoost的代价函数的优化过程，XGBoost在构建决策树结构时，知道如何评定划分点的好坏的情况下，如何遍历查找出该树结构的切分点。最后，使用XGBoost对kaggle中的初级赛题Titanic: Machine Learning from Disaster进行预测的实例。\n\n#### 1.2神经网络\n[TensorFlow实现多层感知机及可视化训练过程中的数据记录](http://blog.csdn.net/u014732537/article/details/79412672) —— [代码地址](https://github.com/JianWenJun/MLDemo/blob/master/ML/TensorDemo/NN_tf.py)\n>本篇博客主要有2个目的，第一，记录学习使用TensorFlow的操作流程；第二，将TensorFlow训练数据模型过程中的参数数据进行可视化记录。\n\n#### 1.3感知机及支持向量机\n[机器学习算法——感知机&支持向量机](https://jianwenjun.xyz/2018/05/05/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AE%97%E6%B3%95%E2%80%94%E2%80%94%E6%84%9F%E7%9F%A5%E6%9C%BA-%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA/) —— [代码地址](https://github.com/JianWenJun/MLDemo/tree/master/ML/Perce_SVM)\n>本篇博客主要详细介绍两种具有一定相似性的机器学习算法——感知机Perceptron和支持向量机SVM，该两种算法都是在特征空间中寻找划分平面从而对数据集进行划分的思想，但寻找划分平面的算法不同。划分平面的定义也有差距。本篇博客主要叙述思路为算法模型，代价函数，学习算法，最后的算法模型使用实例介绍。\n\n#### 1.4逻辑斯谛回归模型&最大熵模型\n[机器学习算法——逻辑斯谛回归模型&最大熵模型](https://jianwenjun.xyz/2018/05/15/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%AE%97%E6%B3%95%E2%80%94%E2%80%94%E9%80%BB%E8%BE%91%E6%96%AF%E8%B0%9B%E5%9B%9E%E5%BD%92-%E6%9C%80%E5%A4%A7%E7%86%B5%E6%A8%A1%E5%9E%8B/) —— [代码地址](https://github.com/JianWenJun/MLDemo/blob/master/ML/LogisticRegression_MEM/LR_MEM_demo.py)\n>本篇博客主要记录两个分类模型(逻辑斯谛回归模型和最大熵模型)原理及模型的代码实现，将这两个模型放一块的原因是这两个模型都是对数线性模型，都是由条件概率分布表示`P(Y|X)`.\n\n### 2NLP\n2.1 [卷积神经网络(TextCNN)在句子分类上的实现](http://blog.csdn.net/u014732537/article/details/79573174) —— [代码地址](https://github.com/JianWenJun/MLDemo/blob/master/NLP/Text_CNN/text_cnn_main.py)\n> 本篇博客记录的是论文Convolutional Neural Networks for Sentence Classification中的实验实现过程，一篇介绍使用CNN对句子进行分类的论文。尽管网上有些代码已经实现了使用CNN进行句子分类(TextCNN),但是是基于Theano来实现的，本文将介绍使用TensorFlow来实现整个论文的实验过程，一方面熟悉使用TensorFlow API,另一方面加深自己对CNN在NLP上的应用的理解. \n\n2.2 [蚂蚁金融NLP竞赛——文本语义相似度赛题总结](https://jianwenjun.xyz/) —— [代码地址](https://github.com/JianWenJun/MLDemo/blob/master/Financial_NLP/final_demo/README.md)\n\n2.3 [中文文本关键词提取实例——项目说明及代码](https://github.com/JianWenJun/MLDemo/blob/master/NLP/Multi_Label/ShengCe/%E7%A5%9E%E7%AD%96%E6%9D%AF%2B14%2B%E5%B0%B1%E5%B7%AE%E9%82%A3%E4%B9%88%E4%B8%80%E7%82%B9%E7%82%B9%2B%E9%A1%B9%E7%9B%AE%E8%AF%B4%E6%98%8E.pdf)\n\n2.4 [文本生成之自动标题](https://github.com/JianWenJun/MLDemo/tree/master/NLP/AutoTitle_F)\n\n2.5 [文本生成之对抗神经网络GAN](https://github.com/JianWenJun/MLDemo/blob/master/NLP/GAN%26NLP.md)\n\n##### 码代码不易，欢迎star~ ，谢谢~"
  }
]