Copy disabled (too large)
Download .txt
Showing preview only (15,320K chars total). Download the full file to get everything.
Repository: Hoper-J/HUNG-YI_LEE_Machine-Learning_Homework
Branch: master
Commit: b441f875bc84
Files: 47
Total size: 187.7 MB
Directory structure:
gitextract_thjx82pk/
├── HW01/
│ ├── HW01.ipynb
│ ├── HW01_Sample_Code.ipynb
│ ├── README.md
│ ├── covid_test.csv
│ └── covid_train.csv
├── HW02/
│ ├── HW02.ipynb
│ ├── HW02_Sample_Code.ipynb
│ └── README.md
├── HW03/
│ ├── HW03_0.85333.ipynb
│ ├── HW03_Medium_0.70533.ipynb
│ ├── HW03_Sample_Code.ipynb
│ ├── HW03_Strong_0.81400.ipynb
│ ├── Q1/
│ │ ├── README.md
│ │ └── plot_transforms.ipynb
│ └── README.md
├── HW04/
│ ├── HW04_Boss_0.95125.ipynb
│ ├── HW04_Medium_0.83300.ipynb
│ ├── HW04_Sample_Code.ipynb
│ ├── HW04_Strong_0.89700.ipynb
│ └── README.md
├── HW05/
│ ├── README.md
│ ├── en/
│ │ ├── HW05_Boss_29.69.ipynb
│ │ ├── HW05_Gradescope.ipynb
│ │ ├── HW05_Medium_18.83.ipynb
│ │ ├── HW05_Simple_16.63.ipynb
│ │ ├── HW05_Strong_24.60.ipynb
│ │ └── HW05_sample_code.ipynb
│ └── zh/
│ ├── HW05_Boss_zh_29.72.ipynb
│ ├── HW05_Gradescope_zh.ipynb
│ ├── HW05_Medium_zh_18.9.ipynb
│ ├── HW05_Simple_zh_16.63.ipynb
│ ├── HW05_Strong-zh_24.91.ipynb
│ └── HW05_sample_code_zh.ipynb
├── HW06/
│ ├── HW06_Boss_0.835.ipynb
│ ├── HW06_Medium_0.536.ipynb
│ ├── HW06_Sample_Code.ipynb
│ ├── HW06_Simple_0.459.ipynb
│ ├── HW06_Strong_0.542.ipynb
│ └── README.md
├── HW07/
│ ├── HW07_Boss_0.84335.ipynb
│ ├── HW07_Medium_0.70090.ipynb
│ ├── HW07_Sample_Code.ipynb
│ ├── HW07_Sample_Code_zh.ipynb
│ ├── HW07_Simple_0.54426.ipynb
│ ├── HW07_Strong_0.79001.ipynb
│ └── README.md
└── README.md
================================================
FILE CONTENTS
================================================
================================================
FILE: HW01/HW01.ipynb
================================================
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Import packages"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# Numerical Operations\n",
"import math\n",
"import numpy as np\n",
"\n",
"# Reading/Writing Data\n",
"import pandas as pd\n",
"import os\n",
"import csv\n",
"\n",
"# For Progress Bar\n",
"from tqdm import tqdm\n",
"\n",
"# Pytorch\n",
"import torch\n",
"import torch.nn as nn\n",
"from torch.utils.data import Dataset, DataLoader, random_split\n",
"\n",
"# Matplotlib\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Optuna\n",
"import optuna\n",
"\n",
"# For plotting learning curve\n",
"from torch.utils.tensorboard import SummaryWriter"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Some Utility Functions\n",
"\n",
"You do not need to modify this part."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"def same_seed(seed):\n",
" '''Fixes random number generator seeds for reproducibility.'''\n",
" torch.backends.cudnn.deterministic = True\n",
" torch.backends.cudnn.benchmark = False\n",
" np.random.seed(seed)\n",
" torch.manual_seed(seed)\n",
" if torch.cuda.is_available():\n",
" torch.cuda.manual_seed_all(seed)\n",
"\n",
"def train_valid_split(data_set, valid_ratio, seed):\n",
" '''Split provided training data into training set and validation set'''\n",
" valid_set_size = int(valid_ratio * len(data_set))\n",
" train_set_size = len(data_set) - valid_set_size\n",
" train_set, valid_set = random_split(data_set, [train_set_size, valid_set_size], generator=torch.Generator().manual_seed(seed))\n",
" return np.array(train_set), np.array(valid_set)\n",
"\n",
"def predict(test_loader, model, device):\n",
" model.eval() # Set your model to evaluation mode.\n",
" preds = []\n",
" for x in tqdm(test_loader):\n",
" x = x.to(device)\n",
" with torch.no_grad():\n",
" pred = model(x)\n",
" preds.append(pred.detach().cpu())\n",
" preds = torch.cat(preds, dim=0).numpy()\n",
" return preds"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Dataset"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"class CovidDataset(Dataset):\n",
" def __init__(self, x, y=None):\n",
" if y is None:\n",
" self.y = y\n",
" else:\n",
" self.y = torch.FloatTensor(y)\n",
" self.x = torch.FloatTensor(x)\n",
" \n",
" def __getitem__(self, idx):\n",
" if self.y is None:\n",
" return self.x[idx]\n",
" else:\n",
" return self.x[idx], self.y[idx]\n",
" \n",
" def __len__(self):\n",
" return len(self.x)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Neural Network Model\n",
"\n",
"Try out different model architectures by modifying the class below. (You could tune config['layer'] to try)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"class My_Model(nn.Module):\n",
" def __init__(self, input_dim):\n",
" super(My_Model, self).__init__()\n",
" # TODO: modify model's structure, be aware of dimensions.\n",
" self.layers = nn.Sequential(\n",
" nn.Linear(input_dim, config['layer'][0]),\n",
" nn.ReLU(),\n",
" nn.Linear(config['layer'][0], config['layer'][1]),\n",
" nn.ReLU(),\n",
" nn.Linear(config['layer'][1], 1)\n",
" )\n",
"\n",
" def forward(self, x):\n",
" x = self.layers(x)\n",
" x = x.squeeze(1) # (B, 1) -> (B)\n",
" return x"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Feature Selection\n",
"\n",
"Choose features you deem useful by modifying the function below."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.feature_selection import SelectKBest, f_regression\n",
"\n",
"def select_feat(train_data, valid_data, test_data, no_select_all=True):\n",
" '''Selects useful features to perform regression'''\n",
" global config\n",
" y_train, y_valid = train_data[:,-1], valid_data[:,-1]\n",
" raw_x_train, raw_x_valid, raw_x_test = train_data[:,:-1], valid_data[:,:-1], test_data\n",
"\n",
" if not no_select_all:\n",
" feat_idx = list(range(raw_x_train.shape[1]))\n",
" else:\n",
" # Feature selection\n",
" k = config['k']\n",
" selector = SelectKBest(score_func=f_regression, k=k)\n",
" result = selector.fit(train_data[:, :-1], train_data[:,-1])\n",
" idx = np.argsort(result.scores_)[::-1]\n",
" feat_idx = list(np.sort(idx[:k]))\n",
"\n",
" return raw_x_train[:,feat_idx], raw_x_valid[:,feat_idx], raw_x_test[:,feat_idx], y_train, y_valid"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Training Loop"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"def trainer(train_loader, valid_loader, model, config, device):\n",
" \n",
" # Define your loss function, do not modify this.\n",
" criterion = nn.MSELoss(reduction='mean') \n",
" \n",
" # Define your optimization algorithm.\n",
" if config['optim'] == 'SGD':\n",
" if config['no_momentum']:\n",
" optimizer = torch.optim.SGD(model.parameters(), lr=config['learning_rate'], weight_decay=config['weight_decay']) \n",
" else:\n",
" optimizer = torch.optim.SGD(model.parameters(), lr=config['learning_rate'], momentum=config['momentum'], weight_decay=config['weight_decay']) \n",
" elif config['optim'] == 'Adam':\n",
" optimizer = torch.optim.Adam(model.parameters(), lr=config['learning_rate'], weight_decay=config['weight_decay'])\n",
" \n",
" # Writer of tensoboard.\n",
" writer = SummaryWriter() \n",
"\n",
" \n",
" if not os.path.isdir('./models'):\n",
" os.mkdir('./models') # Create directory of saving models.\n",
"\n",
" n_epochs, best_loss, step, early_stop_count = config['n_epochs'], math.inf, 0, 0\n",
"\n",
" for epoch in range(n_epochs):\n",
" model.train() # Set your model to train mode.\n",
" loss_record = []\n",
" \n",
" # 如果你在kaggle上运行,可以注释掉大部分的打印函数,并将train_pbar注释掉,令 x,y in train_loader,因为kaggle上打印太多可能会报错。\n",
" # tqdm is a package to visualize your training progress.\n",
" #train_pbar = tqdm(train_loader, position=0, leave=True)\n",
" #for x, y in train_pbar:\n",
" for x, y in train_loader:\n",
" optimizer.zero_grad() # Set gradient to zero.\n",
" x, y = x.to(device), y.to(device) # Move your data to device.\n",
" pred = model(x)\n",
" loss = criterion(pred, y)\n",
" loss.backward() # Compute gradient(backpropagation).\n",
" optimizer.step() # Update parameters.\n",
" step += 1\n",
" loss_record.append(loss.detach().item())\n",
"\n",
" # Display current epoch number and loss on tqdm progress bar.\n",
" #train_pbar.set_description(f'Epoch [{epoch+1}/{n_epochs}]')\n",
" #train_pbar.set_postfix({'loss': loss.detach().item()})\n",
"\n",
" mean_train_loss = sum(loss_record)/len(loss_record)\n",
"\n",
" model.eval() # Set your model to evaluation mode.\n",
" loss_record = []\n",
" for x, y in valid_loader:\n",
" x, y = x.to(device), y.to(device)\n",
" with torch.no_grad():\n",
" pred = model(x)\n",
" loss = criterion(pred, y)\n",
"\n",
" loss_record.append(loss.item())\n",
"\n",
" mean_valid_loss = sum(loss_record)/len(loss_record) \n",
" \n",
" #if epoch % 100 == 0:\n",
" # print(f'Epoch [{epoch+1}/{n_epochs}]: Train loss: {mean_train_loss:.4f}, Valid loss: {mean_valid_loss:.4f}')\n",
"\n",
" if not config['no_tensorboard']:\n",
" writer.add_scalar('Loss/train', mean_train_loss, step)\n",
" writer.add_scalar('Loss/valid', mean_valid_loss, step)\n",
"\n",
" if mean_valid_loss < best_loss:\n",
" best_loss = mean_valid_loss\n",
" \n",
" # 一轮实验中保存 K 折交叉验证中单折表现最好的模型\n",
" if len(valid_scores):\n",
" if best_loss < min(valid_scores):\n",
" torch.save(model.state_dict(), config['save_path']) # Save your best model\n",
" #print(f'Epoch [{epoch+1}/{n_epochs}]: Train loss: {mean_train_loss:.4f}, Valid loss: {mean_valid_loss:.4f}')\n",
" print('Saving model with loss {:.3f}...'.format(best_loss))\n",
" else:\n",
" torch.save(model.state_dict(), config['save_path']) # Save your best model\n",
" #print(f'Epoch [{epoch+1}/{n_epochs}]: Train loss: {mean_train_loss:.4f}, Valid loss: {mean_valid_loss:.4f}')\n",
" print('Saving model with loss {:.3f}...'.format(best_loss))\n",
" \n",
" early_stop_count = 0\n",
" else:\n",
" early_stop_count += 1\n",
"\n",
" if early_stop_count >= config['early_stop']:\n",
" print('Best loss {:.3f}...'.format(best_loss))\n",
" print('\\nModel is not improving, so we halt the training session.')\n",
" break\n",
" return best_loss"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Save predictions"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"def save_pred(preds, file):\n",
" ''' Save predictions to specified file '''\n",
" with open(file, 'w') as fp:\n",
" writer = csv.writer(fp)\n",
" writer.writerow(['id', 'tested_positive'])\n",
" for i, p in enumerate(preds):\n",
" writer.writerow([i, p])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Start training!\n",
"\n",
"config contains hyper-parameters for training and the path to save your model.\n",
"\n",
"`objective()` is used for automatic parameter tuning, but you could set `AUTO_TUNE_PARAM` `False` to avoid it."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"You could set AUTO_TUNE_PARAM True to tune parameters automatically.\n",
"AUTO_TUNE_PARAM: False\n",
"hyper-parameter: \n",
" optimizer: SGD,\n",
" lr: 1e-05, \n",
" batch_size: 256, \n",
" k: 16, \n",
" layer: [16, 16]\n",
"Saving model with loss 323.558...\n",
"Saving model with loss 199.956...\n",
"Saving model with loss 116.053...\n",
"Saving model with loss 53.357...\n",
"Saving model with loss 27.536...\n",
"Saving model with loss 16.041...\n",
"Saving model with loss 12.200...\n",
"Saving model with loss 11.171...\n",
"Saving model with loss 10.724...\n",
"Saving model with loss 10.712...\n",
"Saving model with loss 10.367...\n",
"Saving model with loss 10.297...\n",
"Saving model with loss 10.249...\n",
"Saving model with loss 10.020...\n",
"Saving model with loss 9.928...\n",
"Saving model with loss 9.855...\n",
"Saving model with loss 9.846...\n",
"Saving model with loss 9.712...\n",
"Saving model with loss 9.683...\n",
"Saving model with loss 9.473...\n",
"Saving model with loss 9.338...\n",
"Saving model with loss 9.019...\n",
"Saving model with loss 8.861...\n",
"Saving model with loss 8.677...\n",
"Saving model with loss 8.464...\n",
"Saving model with loss 8.164...\n",
"Saving model with loss 7.999...\n",
"Saving model with loss 7.722...\n",
"Saving model with loss 7.605...\n",
"Saving model with loss 7.521...\n",
"Saving model with loss 7.370...\n",
"Saving model with loss 7.232...\n",
"Saving model with loss 7.066...\n",
"Saving model with loss 6.921...\n",
"Saving model with loss 6.762...\n",
"Saving model with loss 6.651...\n",
"Saving model with loss 6.536...\n",
"Saving model with loss 6.299...\n",
"Saving model with loss 6.143...\n",
"Saving model with loss 5.994...\n",
"Saving model with loss 5.936...\n",
"Saving model with loss 5.692...\n",
"Saving model with loss 5.626...\n",
"Saving model with loss 5.601...\n",
"Saving model with loss 5.236...\n",
"Saving model with loss 5.233...\n",
"Saving model with loss 5.059...\n",
"Saving model with loss 5.024...\n",
"Saving model with loss 4.845...\n",
"Saving model with loss 4.734...\n",
"Saving model with loss 4.590...\n",
"Saving model with loss 4.561...\n",
"Saving model with loss 4.509...\n",
"Saving model with loss 4.470...\n",
"Saving model with loss 4.292...\n",
"Saving model with loss 4.223...\n",
"Saving model with loss 4.026...\n",
"Saving model with loss 4.000...\n",
"Saving model with loss 3.851...\n",
"Saving model with loss 3.838...\n",
"Saving model with loss 3.604...\n",
"Saving model with loss 3.474...\n",
"Saving model with loss 3.421...\n",
"Saving model with loss 3.303...\n",
"Saving model with loss 3.166...\n",
"Saving model with loss 3.127...\n",
"Saving model with loss 3.125...\n",
"Saving model with loss 3.106...\n",
"Saving model with loss 2.938...\n",
"Saving model with loss 2.877...\n",
"Saving model with loss 2.849...\n",
"Saving model with loss 2.845...\n",
"Saving model with loss 2.827...\n",
"Saving model with loss 2.795...\n",
"Saving model with loss 2.674...\n",
"Saving model with loss 2.650...\n",
"Saving model with loss 2.583...\n",
"Saving model with loss 2.575...\n",
"Saving model with loss 2.571...\n",
"Saving model with loss 2.559...\n",
"Saving model with loss 2.520...\n",
"Saving model with loss 2.375...\n",
"Saving model with loss 2.368...\n",
"Saving model with loss 2.361...\n",
"Saving model with loss 2.347...\n",
"Saving model with loss 2.335...\n",
"Saving model with loss 2.253...\n",
"Saving model with loss 2.244...\n",
"Saving model with loss 2.220...\n",
"Saving model with loss 2.206...\n",
"Saving model with loss 2.141...\n",
"Saving model with loss 2.102...\n",
"Saving model with loss 2.077...\n",
"Saving model with loss 2.036...\n",
"Saving model with loss 2.027...\n",
"Saving model with loss 1.961...\n",
"Saving model with loss 1.892...\n",
"Saving model with loss 1.882...\n",
"Saving model with loss 1.853...\n",
"Saving model with loss 1.818...\n",
"Saving model with loss 1.756...\n",
"Saving model with loss 1.701...\n",
"Saving model with loss 1.682...\n",
"Saving model with loss 1.676...\n",
"Saving model with loss 1.647...\n",
"Saving model with loss 1.635...\n",
"Saving model with loss 1.614...\n",
"Saving model with loss 1.599...\n",
"Saving model with loss 1.588...\n",
"Saving model with loss 1.570...\n",
"Saving model with loss 1.564...\n",
"Saving model with loss 1.561...\n",
"Saving model with loss 1.556...\n",
"Saving model with loss 1.531...\n",
"Saving model with loss 1.482...\n",
"Saving model with loss 1.439...\n",
"Saving model with loss 1.396...\n",
"Saving model with loss 1.393...\n",
"Saving model with loss 1.358...\n",
"Saving model with loss 1.326...\n",
"Saving model with loss 1.299...\n",
"Saving model with loss 1.290...\n",
"Saving model with loss 1.272...\n",
"Saving model with loss 1.265...\n",
"Saving model with loss 1.240...\n",
"Saving model with loss 1.231...\n",
"Saving model with loss 1.220...\n",
"Saving model with loss 1.195...\n",
"Saving model with loss 1.179...\n",
"Saving model with loss 1.176...\n",
"Saving model with loss 1.159...\n",
"Saving model with loss 1.157...\n",
"Saving model with loss 1.142...\n",
"Saving model with loss 1.139...\n",
"Saving model with loss 1.139...\n",
"Saving model with loss 1.128...\n",
"Saving model with loss 1.116...\n",
"Saving model with loss 1.093...\n",
"Saving model with loss 1.090...\n",
"Saving model with loss 1.077...\n",
"Saving model with loss 1.076...\n",
"Saving model with loss 1.070...\n",
"Saving model with loss 1.066...\n",
"Saving model with loss 1.065...\n",
"Saving model with loss 1.055...\n",
"Saving model with loss 1.054...\n",
"Saving model with loss 1.042...\n",
"Saving model with loss 1.019...\n",
"Saving model with loss 1.014...\n",
"Saving model with loss 1.004...\n",
"Saving model with loss 0.996...\n",
"Saving model with loss 0.976...\n",
"Saving model with loss 0.966...\n",
"Saving model with loss 0.966...\n",
"Saving model with loss 0.965...\n",
"Saving model with loss 0.964...\n",
"Saving model with loss 0.961...\n",
"Saving model with loss 0.956...\n",
"Saving model with loss 0.941...\n",
"Saving model with loss 0.931...\n",
"Saving model with loss 0.921...\n",
"Saving model with loss 0.920...\n",
"Saving model with loss 0.910...\n",
"Saving model with loss 0.905...\n",
"Saving model with loss 0.901...\n",
"Saving model with loss 0.892...\n",
"Saving model with loss 0.884...\n",
"Saving model with loss 0.876...\n",
"Saving model with loss 0.872...\n",
"Saving model with loss 0.834...\n",
"Best loss 0.834...\n",
"\n",
"Model is not improving, so we halt the training session.\n",
"valid_scores: [0.8343698779741923]\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|███████████████████████████████████████████| 4/4 [00:00<00:00, 2854.24it/s]\n"
]
}
],
"source": [
"device = 'cuda' if torch.cuda.is_available() else 'cpu'\n",
"\n",
"config = {\n",
" 'seed': 5201314, # Your seed number, you can pick your lucky number. :)\n",
" 'k': 16, # Select k features\n",
" 'layer': [16, 16],\n",
" 'optim': 'SGD',\n",
" 'momentum': 0.7,\n",
" 'valid_ratio': 0.2, # validation_size = train_size * valid_ratio\n",
" 'n_epochs': 10000, # Number of epochs.\n",
" 'batch_size': 256,\n",
" 'learning_rate': 1e-5,\n",
" 'weight_decay': 1e-5,\n",
" 'early_stop': 600, # If model has not improved for this many consecutive epochs, stop training.\n",
" 'save_path': './models/model.ckpt', # Your model will be saved here.\n",
" 'no_select_all': True, # Whether to use all features.\n",
" 'no_momentum': True, # Whether to use momentum\n",
" 'no_normal': True, # Whether to normalize data\n",
" 'no_k_cross': False, # Whether to use K-fold cross validation\n",
" 'no_save': False, # Whether to save model parameters\n",
" 'no_tensorboard': False, # Whether to write tensorboard\n",
"} \n",
"\n",
"# 设置 k-fold 中的 k,这里是根据 valid_ratio 设定的\n",
"k = int(1 / config['valid_ratio'])\n",
"\n",
" # Set seed for reproducibility\n",
"same_seed(config['seed'])\n",
"\n",
"training_data, test_data = pd.read_csv('./covid_train.csv').values, pd.read_csv('./covid_test.csv').values\n",
" \n",
"num_valid_samples = len(training_data) // k\n",
"np.random.shuffle(training_data)\n",
"valid_scores = [] # 记录 valid_loss\n",
"\n",
"def objective(trial):\n",
" if trial != None:\n",
" print('\\nNew trial here')\n",
" # 定义需要调优的超参数空间\n",
" config['learning_rate'] = trial.suggest_float('lr', 1e-6, 1e-3)\n",
" config['batch_size'] = trial.suggest_categorical('batch_size', [128])\n",
" config['k'] = trial.suggest_int('k_feats', 16, 32)\n",
" config['layer'][0] = config['k']\n",
" \n",
" # 打印所需的超参数\n",
" print(f'''hyper-parameter: \n",
" optimizer: {config['optim']},\n",
" lr: {config['learning_rate']}, \n",
" batch_size: {config['batch_size']}, \n",
" k: {config['k']}, \n",
" layer: {config['layer']}''')\n",
" \n",
" global valid_scores\n",
" # 每次 trial 初始化 valid_scores,可以不初始化,通过 trial * k + fold 来访问当前 trial 的 valid_score,\n",
" # 这样可以让 trainer() 保存 trials 中最好的模型参数,但这并不意味着该参数对应的 k-fold validation loss 最低。\n",
" valid_scores = []\n",
"\n",
" for fold in range(k):\n",
" # Data split\n",
" valid_data = training_data[num_valid_samples * fold:\n",
" num_valid_samples * (fold + 1)]\n",
" train_data = np.concatenate((\n",
" training_data[:num_valid_samples * fold],\n",
" training_data[num_valid_samples * (fold + 1):]))\n",
"\n",
" # Normalization\n",
" if not config['no_normal']:\n",
" train_mean = np.mean(train_data[:, 35:-1], axis=0) # 前 35 列为 one-hot vector,我并没有对他们做 normalization,可以自行设置\n",
" train_std = np.std(train_data[:, 35:-1], axis=0)\n",
" train_data[:, 35:-1] -= train_mean\n",
" train_data[:, 35:-1] /= train_std\n",
" valid_data[:, 35:-1] -= train_mean\n",
" valid_data[:, 35:-1] /= train_std\n",
" test_data[:, 35:] -= train_mean\n",
" test_data[:, 35:] /= train_std\n",
"\n",
" x_train, x_valid, x_test, y_train, y_valid = select_feat(train_data, valid_data, test_data, config['no_select_all'])\n",
" \n",
" train_dataset, valid_dataset, test_dataset = CovidDataset(x_train, y_train), \\\n",
" CovidDataset(x_valid, y_valid), \\\n",
" CovidDataset(x_test)\n",
"\n",
" # Pytorch data loader loads pytorch dataset into batches.\n",
" train_loader = DataLoader(train_dataset, batch_size=config['batch_size'], shuffle=True, pin_memory=True)\n",
" valid_loader = DataLoader(valid_dataset, batch_size=config['batch_size'], shuffle=True, pin_memory=True)\n",
" test_loader = DataLoader(test_dataset, batch_size=config['batch_size'], shuffle=False, pin_memory=True)\n",
" \n",
" model = My_Model(input_dim=x_train.shape[1]).to(device) # put your model and data on the same computation device.\n",
" valid_score = trainer(train_loader, valid_loader, model, config, device)\n",
" valid_scores.append(valid_score)\n",
" \n",
" if not config['no_k_cross']:\n",
" break\n",
" \n",
" if valid_score > 2:\n",
" print(f'在第{fold+1}折上欠拟合') # 提前终止,减少计算资源\n",
" break \n",
" \n",
" print(f'valid_scores: {valid_scores}')\n",
" \n",
" if trial != None:\n",
" return np.average(valid_scores)\n",
" else:\n",
" return x_test, test_loader\n",
"\n",
"\n",
"AUTO_TUNE_PARAM = False # Whether to tune parameters automatically\n",
"\n",
"if AUTO_TUNE_PARAM:\n",
" # 使用Optuna库进行超参数搜索\n",
" n_trials = 10 # 设置试验数量\n",
" print(f'AUTO_TUNE_PARAM: {AUTO_TUNE_PARAM}\\nn_trials: {n_trials}')\n",
" study = optuna.create_study(direction='minimize')\n",
" study.optimize(objective, n_trials=n_trials)\n",
"\n",
" # 输出最优的超参数组合和性能指标\n",
" print('Best hyperparameters: {}'.format(study.best_params))\n",
" print('Best performance: {:.4f}'.format(study.best_value))\n",
"else:\n",
" # 注意,只有非自动调参时才进行了predict,节省一下计算资源\n",
" print(f'You could set AUTO_TUNE_PARAM True to tune parameters automatically.\\nAUTO_TUNE_PARAM: {AUTO_TUNE_PARAM}')\n",
" x_test, test_loader = objective(None)\n",
" model = My_Model(input_dim=x_test.shape[1]).to(device)\n",
" model.load_state_dict(torch.load(config['save_path']))\n",
" preds = predict(test_loader, model, device)\n",
" save_pred(preds, 'submission.csv')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Plot learning curves with `tensorboard` (optional)\n",
"\n",
"`tensorboard` is a tool that allows you to visualize your training progress.\n",
"\n",
"If this block does not display your learning curve, please wait for few minutes, and re-run this block. It might take some time to load your logging information. "
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <iframe id=\"tensorboard-frame-9fab987f7fe73d17\" width=\"100%\" height=\"800\" frameborder=\"0\">\n",
" </iframe>\n",
" <script>\n",
" (function() {\n",
" const frame = document.getElementById(\"tensorboard-frame-9fab987f7fe73d17\");\n",
" const url = new URL(\"/\", window.location);\n",
" const port = 6006;\n",
" if (port) {\n",
" url.port = port;\n",
" }\n",
" frame.src = url;\n",
" })();\n",
" </script>\n",
" "
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%reload_ext tensorboard\n",
"%tensorboard --logdir=./runs/"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.16"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
================================================
FILE: HW01/HW01_Sample_Code.ipynb
================================================
{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# **Homework 1: COVID-19 Cases Prediction (Regression)**","metadata":{"id":"guE34D3Fj2R9"}},{"cell_type":"markdown","source":"Objectives:\n* Solve a regression problem with deep neural networks (DNN).\n* Understand basic DNN training tips.\n* Familiarize yourself with PyTorch.\n\nIf you have any questions, please contact the TAs via TA hours, NTU COOL, or email to mlta-2023-spring@googlegroups.com","metadata":{"id":"V57zhcTp1Xxb"}},{"cell_type":"code","source":"!nvidia-smi","metadata":{"id":"GUATI4ONArv_","execution":{"iopub.status.busy":"2023-02-12T07:30:52.741854Z","iopub.execute_input":"2023-02-12T07:30:52.742902Z","iopub.status.idle":"2023-02-12T07:30:53.95358Z","shell.execute_reply.started":"2023-02-12T07:30:52.742777Z","shell.execute_reply":"2023-02-12T07:30:53.95213Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Download data\nIf the Google Drive links below do not work, you can use the dropbox link below or download data from [Kaggle](https://www.kaggle.com/t/a339b77fa5214978bfb8dde62d3151fe), and upload data manually to the workspace.","metadata":{"id":"Tm2aXcb-j9Fc"}},{"cell_type":"code","source":"# google drive link\n# !pip install gdown\n# !gdown --id '1BjXalPZxq9mybPKNjF3h5L3NcF7XKTS-' --output covid_train.csv\n# !gdown --id '1B55t74Jg2E5FCsKCsUEkPKIuqaY7UIi1' --output covid_test.csv\n\n# dropbox link\n!wget -O covid_train.csv https://www.dropbox.com/s/lmy1riadzoy0ahw/covid.train.csv?dl=0\n!wget -O covid_test.csv https://www.dropbox.com/s/zalbw42lu4nmhr2/covid.test.csv?dl=0","metadata":{"id":"YPmfl-awlKZA","execution":{"iopub.status.busy":"2023-02-12T07:30:53.956273Z","iopub.execute_input":"2023-02-12T07:30:53.956956Z","iopub.status.idle":"2023-02-12T07:31:15.495174Z","shell.execute_reply.started":"2023-02-12T07:30:53.956913Z","shell.execute_reply":"2023-02-12T07:31:15.493786Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Import packages","metadata":{"id":"igqIMEgu64-F"}},{"cell_type":"code","source":"# Numerical Operations\nimport math\nimport numpy as np\n\n# Reading/Writing Data\nimport pandas as pd\nimport os\nimport csv\n\n# For Progress Bar\nfrom tqdm import tqdm\n\n# Pytorch\nimport torch \nimport torch.nn as nn\nfrom torch.utils.data import Dataset, DataLoader, random_split\n\n# For plotting learning curve\nfrom torch.utils.tensorboard import SummaryWriter","metadata":{"id":"xybQNYCXYu13","execution":{"iopub.status.busy":"2023-02-12T07:31:16.478205Z","iopub.execute_input":"2023-02-12T07:31:16.478628Z","iopub.status.idle":"2023-02-12T07:31:18.240062Z","shell.execute_reply.started":"2023-02-12T07:31:16.478584Z","shell.execute_reply":"2023-02-12T07:31:18.239091Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Some Utility Functions\n\nYou do not need to modify this part.","metadata":{"id":"fTAVqRfc2KK3"}},{"cell_type":"code","source":"def same_seed(seed): \n '''Fixes random number generator seeds for reproducibility.'''\n torch.backends.cudnn.deterministic = True\n torch.backends.cudnn.benchmark = False\n np.random.seed(seed)\n torch.manual_seed(seed)\n if torch.cuda.is_available():\n torch.cuda.manual_seed_all(seed)\n\ndef train_valid_split(data_set, valid_ratio, seed):\n '''Split provided training data into training set and validation set'''\n valid_set_size = int(valid_ratio * len(data_set)) \n train_set_size = len(data_set) - valid_set_size\n train_set, valid_set = random_split(data_set, [train_set_size, valid_set_size], generator=torch.Generator().manual_seed(seed))\n return np.array(train_set), np.array(valid_set)\n\ndef predict(test_loader, model, device):\n model.eval() # Set your model to evaluation mode.\n preds = []\n for x in tqdm(test_loader):\n x = x.to(device) \n with torch.no_grad(): \n pred = model(x) \n preds.append(pred.detach().cpu()) \n preds = torch.cat(preds, dim=0).numpy() \n return preds","metadata":{"id":"RbrcpfYN2I-H","execution":{"iopub.status.busy":"2023-02-12T07:31:18.241353Z","iopub.execute_input":"2023-02-12T07:31:18.241964Z","iopub.status.idle":"2023-02-12T07:31:18.251864Z","shell.execute_reply.started":"2023-02-12T07:31:18.241928Z","shell.execute_reply":"2023-02-12T07:31:18.250938Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Dataset","metadata":{"id":"IqO3lTm78nNO"}},{"cell_type":"code","source":"class COVID19Dataset(Dataset):\n '''\n x: Features.\n y: Targets, if none, do prediction.\n '''\n def __init__(self, x, y=None):\n if y is None:\n self.y = y\n else:\n self.y = torch.FloatTensor(y)\n self.x = torch.FloatTensor(x)\n\n def __getitem__(self, idx):\n if self.y is None:\n return self.x[idx]\n else:\n return self.x[idx], self.y[idx]\n\n def __len__(self):\n return len(self.x)","metadata":{"id":"-mjaJM0wprMs","execution":{"iopub.status.busy":"2023-02-12T07:31:18.253412Z","iopub.execute_input":"2023-02-12T07:31:18.254031Z","iopub.status.idle":"2023-02-12T07:31:18.262072Z","shell.execute_reply.started":"2023-02-12T07:31:18.253994Z","shell.execute_reply":"2023-02-12T07:31:18.261108Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Neural Network Model\nTry out different model architectures by modifying the class below.","metadata":{"id":"m73ooU75CL_j"}},{"cell_type":"code","source":"class My_Model(nn.Module):\n def __init__(self, input_dim):\n super(My_Model, self).__init__()\n # TODO: modify model's structure, be aware of dimensions. \n self.layers = nn.Sequential(\n nn.Linear(input_dim, 16),\n nn.ReLU(),\n nn.Linear(16, 8),\n nn.ReLU(),\n nn.Linear(8, 1)\n )\n\n def forward(self, x):\n x = self.layers(x)\n x = x.squeeze(1) # (B, 1) -> (B)\n return x","metadata":{"id":"Qn97_WvvrEkG","execution":{"iopub.status.busy":"2023-02-12T07:31:18.263546Z","iopub.execute_input":"2023-02-12T07:31:18.263886Z","iopub.status.idle":"2023-02-12T07:31:18.274148Z","shell.execute_reply.started":"2023-02-12T07:31:18.263852Z","shell.execute_reply":"2023-02-12T07:31:18.273078Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Feature Selection\nChoose features you deem useful by modifying the function below.","metadata":{"id":"x5-LKF6R8xeq"}},{"cell_type":"code","source":"def select_feat(train_data, valid_data, test_data, select_all=True):\n '''Selects useful features to perform regression'''\n y_train, y_valid = train_data[:,-1], valid_data[:,-1]\n raw_x_train, raw_x_valid, raw_x_test = train_data[:,:-1], valid_data[:,:-1], test_data\n\n if select_all:\n feat_idx = list(range(raw_x_train.shape[1]))\n else:\n feat_idx = list(range(35, raw_x_train.shape[1])) # TODO: Select suitable feature columns.\n \n return raw_x_train[:,feat_idx], raw_x_valid[:,feat_idx], raw_x_test[:,feat_idx], y_train, y_valid","metadata":{"id":"0FEnKRaIIeKp","execution":{"iopub.status.busy":"2023-02-12T07:31:18.277047Z","iopub.execute_input":"2023-02-12T07:31:18.277589Z","iopub.status.idle":"2023-02-12T07:31:18.284837Z","shell.execute_reply.started":"2023-02-12T07:31:18.277554Z","shell.execute_reply":"2023-02-12T07:31:18.283918Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Training Loop","metadata":{"id":"kADIPNQ2Ih5X"}},{"cell_type":"code","source":"def trainer(train_loader, valid_loader, model, config, device):\n\n criterion = nn.MSELoss(reduction='mean') # Define your loss function, do not modify this.\n\n # Define your optimization algorithm. \n # TODO: Please check https://pytorch.org/docs/stable/optim.html to get more available algorithms.\n # TODO: L2 regularization (optimizer(weight decay...) or implement by your self).\n optimizer = torch.optim.SGD(model.parameters(), lr=config['learning_rate'], momentum=0.7) \n writer = SummaryWriter() # Writer of tensoboard.\n\n if not os.path.isdir('./models'):\n os.mkdir('./models') # Create directory of saving models.\n\n n_epochs, best_loss, step, early_stop_count = config['n_epochs'], math.inf, 0, 0\n\n for epoch in range(n_epochs):\n model.train() # Set your model to train mode.\n loss_record = []\n\n # tqdm is a package to visualize your training progress.\n train_pbar = tqdm(train_loader, position=0, leave=True)\n\n for x, y in train_pbar:\n optimizer.zero_grad() # Set gradient to zero.\n x, y = x.to(device), y.to(device) # Move your data to device. \n pred = model(x) \n loss = criterion(pred, y)\n loss.backward() # Compute gradient(backpropagation).\n optimizer.step() # Update parameters.\n step += 1\n loss_record.append(loss.detach().item())\n \n # Display current epoch number and loss on tqdm progress bar.\n train_pbar.set_description(f'Epoch [{epoch+1}/{n_epochs}]')\n train_pbar.set_postfix({'loss': loss.detach().item()})\n\n mean_train_loss = sum(loss_record)/len(loss_record)\n writer.add_scalar('Loss/train', mean_train_loss, step)\n\n model.eval() # Set your model to evaluation mode.\n loss_record = []\n for x, y in valid_loader:\n x, y = x.to(device), y.to(device)\n with torch.no_grad():\n pred = model(x)\n loss = criterion(pred, y)\n\n loss_record.append(loss.item())\n \n mean_valid_loss = sum(loss_record)/len(loss_record)\n print(f'Epoch [{epoch+1}/{n_epochs}]: Train loss: {mean_train_loss:.4f}, Valid loss: {mean_valid_loss:.4f}')\n writer.add_scalar('Loss/valid', mean_valid_loss, step)\n\n if mean_valid_loss < best_loss:\n best_loss = mean_valid_loss\n torch.save(model.state_dict(), config['save_path']) # Save your best model\n print('Saving model with loss {:.3f}...'.format(best_loss))\n early_stop_count = 0\n else: \n early_stop_count += 1\n\n if early_stop_count >= config['early_stop']:\n print('\\nModel is not improving, so we halt the training session.')\n return","metadata":{"id":"k4Rq8_TztAhq","execution":{"iopub.status.busy":"2023-02-12T07:31:18.286341Z","iopub.execute_input":"2023-02-12T07:31:18.286701Z","iopub.status.idle":"2023-02-12T07:31:18.301211Z","shell.execute_reply.started":"2023-02-12T07:31:18.286646Z","shell.execute_reply":"2023-02-12T07:31:18.300217Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Configurations\n`config` contains hyper-parameters for training and the path to save your model.","metadata":{"id":"0pgkOh2e9UjE"}},{"cell_type":"code","source":"device = 'cuda' if torch.cuda.is_available() else 'cpu'\nconfig = {\n 'seed': 5201314, # Your seed number, you can pick your lucky number. :)\n 'select_all': True, # Whether to use all features.\n 'valid_ratio': 0.2, # validation_size = train_size * valid_ratio\n 'n_epochs': 5000, # Number of epochs. \n 'batch_size': 256, \n 'learning_rate': 1e-5, \n 'early_stop': 600, # If model has not improved for this many consecutive epochs, stop training. \n 'save_path': './models/model.ckpt' # Your model will be saved here.\n}","metadata":{"id":"QoWPUahCtoT6","execution":{"iopub.status.busy":"2023-02-12T07:31:18.304983Z","iopub.execute_input":"2023-02-12T07:31:18.305345Z","iopub.status.idle":"2023-02-12T07:31:18.361404Z","shell.execute_reply.started":"2023-02-12T07:31:18.305313Z","shell.execute_reply":"2023-02-12T07:31:18.36028Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Dataloader\nRead data from files and set up training, validation, and testing sets. You do not need to modify this part.","metadata":{"id":"lrS-aJJh9XkW"}},{"cell_type":"code","source":"# Set seed for reproducibility\nsame_seed(config['seed'])\n\n\n# train_data size: 3009 x 89 (35 states + 18 features x 3 days) \n# test_data size: 997 x 88 (without last day's positive rate)\ntrain_data, test_data = pd.read_csv('./covid_train.csv').values, pd.read_csv('./covid_test.csv').values\ntrain_data, valid_data = train_valid_split(train_data, config['valid_ratio'], config['seed'])\n\n# Print out the data size.\nprint(f\"\"\"train_data size: {train_data.shape} \nvalid_data size: {valid_data.shape} \ntest_data size: {test_data.shape}\"\"\")\n\n# Select features\nx_train, x_valid, x_test, y_train, y_valid = select_feat(train_data, valid_data, test_data, config['select_all'])\n\n# Print out the number of features.\nprint(f'number of features: {x_train.shape[1]}')\n\ntrain_dataset, valid_dataset, test_dataset = COVID19Dataset(x_train, y_train), \\\n COVID19Dataset(x_valid, y_valid), \\\n COVID19Dataset(x_test)\n\n# Pytorch data loader loads pytorch dataset into batches.\ntrain_loader = DataLoader(train_dataset, batch_size=config['batch_size'], shuffle=True, pin_memory=True)\nvalid_loader = DataLoader(valid_dataset, batch_size=config['batch_size'], shuffle=True, pin_memory=True)\ntest_loader = DataLoader(test_dataset, batch_size=config['batch_size'], shuffle=False, pin_memory=True)","metadata":{"id":"2jc7ZfDot2t9","execution":{"iopub.status.busy":"2023-02-12T07:31:18.363178Z","iopub.execute_input":"2023-02-12T07:31:18.363561Z","iopub.status.idle":"2023-02-12T07:31:18.439675Z","shell.execute_reply.started":"2023-02-12T07:31:18.363526Z","shell.execute_reply":"2023-02-12T07:31:18.43872Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Start training!","metadata":{"id":"0OBYgjCA-YwD"}},{"cell_type":"code","source":"model = My_Model(input_dim=x_train.shape[1]).to(device) # put your model and data on the same computation device.\ntrainer(train_loader, valid_loader, model, config, device)","metadata":{"id":"YdttVRkAfu2t","execution":{"iopub.status.busy":"2023-02-12T07:31:18.441083Z","iopub.execute_input":"2023-02-12T07:31:18.441534Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Testing\nThe predictions of your model on testing set will be stored at `pred.csv`.","metadata":{"id":"yhAHGqC9-woK"}},{"cell_type":"code","source":"def save_pred(preds, file):\n ''' Save predictions to specified file '''\n with open(file, 'w') as fp:\n writer = csv.writer(fp)\n writer.writerow(['id', 'tested_positive'])\n for i, p in enumerate(preds):\n writer.writerow([i, p])\n\nmodel = My_Model(input_dim=x_train.shape[1]).to(device)\nmodel.load_state_dict(torch.load(config['save_path']))\npreds = predict(test_loader, model, device) \nsave_pred(preds, 'pred.csv') ","metadata":{"id":"Q5eVdpbvAlAe","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Download\n\nRun this block to download the `pred.csv` by clicking.","metadata":{"id":"T_N-wBvVahc7"}},{"cell_type":"code","source":"from IPython.display import FileLink\nFileLink(r'pred.csv')","metadata":{"id":"PmMnwrHeavJv","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Reference\nThis notebook uses code written by Heng-Jui Chang @ NTUEE (https://github.com/ga642381/ML2021-Spring/blob/main/HW01/HW01.ipynb)","metadata":{"id":"IJ_k5rY0GvSV"}}]}
================================================
FILE: HW01/README.md
================================================
> ML2023Spring - HW01 相关信息:
>
> [课程主页](https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.php)
>
> [课程视频](https://www.bilibili.com/video/BV1TD4y137mP/?spm_id_from=333.337.search-card.all.click&vd_source=436107f586d66ab4fcf756c76eb96c35)
>
> [Kaggle link](https://www.kaggle.com/t/a339b77fa5214978bfb8dde62d3151fe)
>
> [Sample code](https://colab.research.google.com/drive/1BESEu-l3qrGRULoATuXnWasUNuUlVF1Z?fbclid=IwAR1FrjUsp4rTy5PPFV-aWq6IG_Z44mFT4VH5e1lIhlekFl7fAvxGRCTCyR0#scrollTo=QoWPUahCtoT6)
>
> [HW01 视频]( https://www.bilibili.com/video/BV1TD4y137mP/?p=14&share_source=copy_web&vd_source=e46571d631061853c8f9eead71bdb390) 可以在做作业之前看一部分,我摸索完才发现视频有讲 Data Feature :(
>
> [HW01 PDF](https://speech.ee.ntu.edu.tw/~hylee/ml/ml2023-course-data/HW01.pdf)
>
>
>P.S. 即便 kaggle 上的时间已经截止,你仍然可以在上面提交和查看分数。但需要注意的是:在 kaggle 截止日期前你应该选择两个结果进行最后的Private评分。
> 每年的数据集size和feature并不完全相同,但基本一致,过去的代码仍可用于新一年的 Homework
# 目录
* [任务目标(回归)](#任务目标回归)
* [性能指标(Metric)](#性能指标metric)
* [数据解析](#数据解析)
* [数据下载](#数据下载)
* [Sample code 主体部分解析](#sample-code-主体部分解析)
* [Some Utility Functions](#some-utility-functions)
* [Dataset](#dataset)
* [Neural Network Model](#neural-network-model)
* [Feature Selection](#feature-selection)
* [Training Loop](#training-loop)
* [Baselines](#baselines)
* [参考链接](#参考链接)
# 任务目标(回归):
- COVID-19 daily cases prediction: COVID-19 每天的病例预测
- 训练/测试数据大小:3009/997(每一年的homework 可能不同)
# 性能指标(Metric)
- 均方误差 Mean Squared Error (MSE)
# 数据解析
- covid_train.txt: 训练数据
- covid_test.txt: 测试数据
数据大体分为三个部分:id, states: 病例对应的地区, 以及其他数据
- id: sample 对应的序号。
- states: 对 sample 来说该项为 one-hot vector。从整个数据集上来看,每个地区的 sample 数量是均匀的,可以使用`pd.read_csv('./covid_train.csv').iloc[:,1:34].sum()`来查看,地区 sample 数量为 88/89。
- 其他数据: 这一部分最终应用在助教所给的 sample code 中的 select_feat。
- Covid-like illness (5) 新冠症状
- cli, ili ...
- Behavier indicators (5) 行为表现
- wearing_mask、travel_outside_state ... 是否戴口罩,出去旅游 ...
- Belief indicators (2) 是否相信某种行为对防疫有效
- belief_mask_effective, belief_distancing_effective. 相信戴口罩有效,相信保持距离有效。
- Mental indicator (2) 心理表现
- worried_catch_covid, worried_finance. 担心得到covid,担心经济状况
- Environmental indicators (3) 环境表现
- other_masked_public, other_distanced_public ... 周围的人是否大部分戴口罩,周围的人是否大部分保持距离 ...
- Tested Positive Cases (1) 检测阳性病例,该项为模型的预测目标
- **tested_positive (this is what we want to predict)** 单位为百分比,指有多少比例的人
## 数据下载
> To use the Kaggle API, sign up for a Kaggle account at [https://www.kaggle.com](https://www.kaggle.com/). Then go to the 'Account' tab of your user profile (`https://www.kaggle.com/<username>/account`) and select 'Create API Token'. This will trigger the download of `kaggle.json`, a file containing your API credentials. Place this file in the location `~/.kaggle/kaggle.json` (on Windows in the location `C:\Users\<Windows-username>\.kaggle\kaggle.json` - you can check the exact location, sans drive, with `echo %HOMEPATH%`). You can define a shell environment variable `KAGGLE_CONFIG_DIR` to change this location to `$KAGGLE_CONFIG_DIR/kaggle.json` (on Windows it will be `%KAGGLE_CONFIG_DIR%\kaggle.json`).
>
> -\- [Official Kaggle API](https://github.com/Kaggle/kaggle-api)
`gdown` 的链接总是挂,可以考虑使用 `kaggle` 的 `api`,流程非常简单,替换<username>为你自己的用户名,`https://www.kaggle.com/<username>/account`,然后点击 `Create New API Token`,将下载下来的文件放去应该放的位置:
- Mac 和 Linux 放在 `~/.kaggle`
- Windows 放在 `C:\Users\<Windows-username>\.kaggle`
```bash
pip install kaggle
# 你需要先在 Kaggle -> Account -> Create New API Token 中下载 kaggle.json
# mv kaggle.json ~/.kaggle/kaggle.json
kaggle competitions download -c ml2023spring-hw1
unzip ml2023spring-hw1
```
# Sample code 主体部分解析
## Some Utility Functions
```python
def same_seed(seed):
'''Fixes random number generator seeds for reproducibility.'''
# 使用确定的卷积算法 (A bool that, if True, causes cuDNN to only use deterministic convolution algorithms.)
torch.backends.cudnn.deterministic = True
# 不对多个卷积算法进行基准测试和选择最优 (A bool that, if True, causes cuDNN to benchmark multiple convolution algorithms and select the fastest.)
torch.backends.cudnn.benchmark = False
# 设置随机数种子
np.random.seed(seed)
torch.manual_seed(seed)
if torch.cuda.is_available():
torch.cuda.manual_seed_all(seed)
def train_valid_split(data_set, valid_ratio, seed):
'''Split provided training data into training set and validation set'''
valid_set_size = int(valid_ratio * len(data_set))
train_set_size = len(data_set) - valid_set_size
train_set, valid_set = random_split(data_set, [train_set_size, valid_set_size], generator=torch.Generator().manual_seed(seed))
return np.array(train_set), np.array(valid_set)
def predict(test_loader, model, device):
# 用于评估模型(验证/测试)
model.eval() # Set your model to evaluation mode.
preds = []
for x in tqdm(test_loader):
# device (int, optional): if specified, all parameters will be copied to that device)
x = x.to(device) # 将数据 copy 到 device
with torch.no_grad(): # 禁用梯度计算,以减少消耗
pred = model(x)
preds.append(pred.detach().cpu()) # detach() 创建一个不在计算图中的新张量,值相同
preds = torch.cat(preds, dim=0).numpy() # 连接 preds
return preds
```
## Dataset
```python
class COVID19Dataset(Dataset):
'''
x: Features.
y: Targets, if none, do prediction.
'''
def __init__(self, x, y=None):
if y is None:
self.y = y
else:
self.y = torch.FloatTensor(y)
self.x = torch.FloatTensor(x)
'''meth:`__getitem__`, supporting fetching a data sample for a given key.'''
def __getitem__(self, idx): # 自定义 dataset 的 idx 对应的 sample
if self.y is None:
return self.x[idx]
else:
return self.x[idx], self.y[idx]
def __len__(self):
return len(self.x)
```
\_\_getitem\_\_()实际应用于 dataloader 中,详细可见下图(图源自 [PyTorch Tutorial PDF](https://speech.ee.ntu.edu.tw/~hylee/ml/ml2023-course-data/environment.pdf))

## Neural Network Model
这部分我做了简单的修改,以便于后续调参
```python
class My_Model(nn.Module):
def __init__(self, input_dim):
super(My_Model, self).__init__()
# TODO: modify model's structure in hyper-parameter: 'config', be aware of dimensions.
self.layers = nn.Sequential(
nn.Linear(input_dim, config['layer'][0]),
nn.ReLU(),
nn.Linear(config['layer'][0], config['layer'][1]),
nn.ReLU(),
nn.Linear(config['layer'][1], 1)
)
def forward(self, x):
x = self.layers(x)
x = x.squeeze(1) # (B, 1) -> (B)
return x
```
## Feature Selection
这部分可以使用 sklearn.feature_selection.SelectKBest 来进行特征选择。
具体代码如下(你可能需要传入 config):
```python
from sklearn.feature_selection import SelectKBest, f_regression
k = config['k'] # 所要选择的特征数量
selector = SelectKBest(score_func=f_regression, k=k)
result = selector.fit(train_data[:, :-1], train_data[:,-1])
idx = np.argsort(result.scores_)[::-1]
feat_idx = list(np.sort(idx[:k]))
```
## Training Loop
```python
def trainer(train_loader, valid_loader, model, config, device):
criterion = nn.MSELoss(reduction='mean') # Define your loss function, do not modify this.
# Define your optimization algorithm.
# TODO: Please check https://pytorch.org/docs/stable/optim.html to get more available algorithms.
# TODO: L2 regularization (optimizer(weight decay...) or implement by your self).
optimizer = torch.optim.SGD(model.parameters(), lr=config['learning_rate'], momentum=config['momentum']) # 设置 optimizer 为SGD
writer = SummaryWriter() # Writer of tensoboard.
if not os.path.isdir('./models'):
os.mkdir('./models') # Create directory of saving models.
n_epochs, best_loss, step, early_stop_count = config['n_epochs'], math.inf, 0, 0
for epoch in range(n_epochs):
model.train() # Set your model to train mode.
loss_record = [] # 初始化空列表,用于记录训练误差
# tqdm is a package to visualize your training progress.
train_pbar = tqdm(train_loader, position=0, leave=True) # 让训练进度显示出来,可以去除这一行,然后将下面的 train_pbar 改成 train_loader(目的是尽量减少 jupyter notebook 的打印,因为如果这段代码在 kaggle 执行,在一定的输出后会报错: IOPub message rate exceeded...)
for x, y in train_pbar:
optimizer.zero_grad() # Set gradient to zero.
x, y = x.to(device), y.to(device) # Move your data to device.
pred = model(x) # 等价于 model.forward(x)
loss = criterion(pred, y) # 计算 pred 和 y 的均方误差
loss.backward() # Compute gradient(backpropagation).
optimizer.step() # Update parameters.
step += 1
loss_record.append(loss.detach().item())
# Display current epoch number and loss on tqdm progress bar.
train_pbar.set_description(f'Epoch [{epoch+1}/{n_epochs}]')
train_pbar.set_postfix({'loss': loss.detach().item()})
mean_train_loss = sum(loss_record)/len(loss_record)
writer.add_scalar('Loss/train', mean_train_loss, step)
model.eval() # Set your model to evaluation mode.
loss_record = [] # 初始化空列表,用于记录验证误差
for x, y in valid_loader:
x, y = x.to(device), y.to(device)
with torch.no_grad():
pred = model(x)
loss = criterion(pred, y)
loss_record.append(loss.item())
mean_valid_loss = sum(loss_record)/len(loss_record)
print(f'Epoch [{epoch+1}/{n_epochs}]: Train loss: {mean_train_loss:.4f}, Valid loss: {mean_valid_loss:.4f}')
# writer.add_scalar('Loss/valid', mean_valid_loss, step)
if mean_valid_loss < best_loss:
best_loss = mean_valid_loss
torch.save(model.state_dict(), config['save_path']) # Save your best model
print('Saving model with loss {:.3f}...'.format(best_loss))
early_stop_count = 0
else:
early_stop_count += 1
if early_stop_count >= config['early_stop']:
print('\nModel is not improving, so we halt the training session.')
return
```
# Baselines
根据作业 PDF 中的提示:
- Simple Baseline (1.96993)
- 运行所给的 sample code。
- Medium Baseline (1.15678)
- 特征选择,简单手动的选择你认为关联性较大的特征。
- Strong Baseline (0.92619)
- 尝试不同的优化器(如:Adam)。
- 应用 L2 正则化(SGD/Adam ... 优化器参数中的 weight_decay)
- Boss Baseline (0.81456)
- 尝试更好的特征选择,可以使用 sklearn.feature_selection.SelectKBest。
- 尝试不同的模型架构(调整 my_module.layers)
- 调整其他超参数
# 参考链接
1. [PyTorch: What is the difference between tensor.cuda() and tensor.to(torch.device("cuda:0"))?](https://stackoverflow.com/questions/62907815/pytorch-what-is-the-difference-between-tensor-cuda-and-tensor-totorch-device)
1. [PyTorch Tutorial PDF](https://speech.ee.ntu.edu.tw/~hylee/ml/ml2023-course-data/environment.pdf)
================================================
FILE: HW01/covid_test.csv
================================================
id,AL,AZ,CA,CO,CT,FL,GA,IL,IN,IA,KS,KY,LA,ME,MD,MA,MI,MN,MO,NJ,NM,NY,NC,OH,OK,OR,PA,SC,TN,TX,VA,WA,WV,WI,cli,ili,wnohh_cmnty_cli,wbelief_masking_effective,wbelief_distancing_effective,wcovid_vaccinated_friends,wlarge_event_indoors,wothers_masked_public,wothers_distanced_public,wshop_indoors,wrestaurant_indoors,wworried_catch_covid,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask_7d,public_transit,worried_finances,tested_positive,cli,ili,wnohh_cmnty_cli,wbelief_masking_effective,wbelief_distancing_effective,wcovid_vaccinated_friends,wlarge_event_indoors,wothers_masked_public,wothers_distanced_public,wshop_indoors,wrestaurant_indoors,wworried_catch_covid,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask_7d,public_transit,worried_finances,tested_positive,cli,ili,wnohh_cmnty_cli,wbelief_masking_effective,wbelief_distancing_effective,wcovid_vaccinated_friends,wlarge_event_indoors,wothers_masked_public,wothers_distanced_public,wshop_indoors,wrestaurant_indoors,wworried_catch_covid,hh_cmnty_cli,nohh_cmnty_cli,wearing_mask_7d,public_transit,worried_finances
0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.9690547,4.130866,37.2243633,69.8478104,70.0352644,64.206961,19.1318748,15.3039018,16.2098267,63.0115303,33.0415786,55.1510544,42.9995241,36.7495251,66.3024066,3.5333502,38.0714471,32.4166936,3.9091947,4.0707294,36.9637811,70.1018761,70.082822,64.5951011,18.9852992,15.3576223,15.6929072,63.1746842,33.5448138,54.7948034,42.7641542,36.4228096,66.2837393,3.5853762,38.251316,32.5349091,3.7307705,3.8633917,36.2192076,70.390686,69.9771106,65.3104956,19.2626976,16.1878122,15.9964157,63.2084783,34.0343968,54.7875396,42.1427377,35.7539418,66.4593328,3.549976,37.5616786
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7069093,0.7705023,9.3217139,75.6557327,77.3537311,78.4044207,22.7018867,37.7465596,19.8549681,64.7505374,36.8559581,49.8985516,13.5435822,9.913807,69.3910534,8.7787735,33.0683198,7.5000925,0.8036554,0.8602583,8.5496015,76.3057364,77.7638296,78.5277903,22.6426134,37.650373,19.0436557,64.0761128,36.0891836,50.3435518,13.1013614,9.1779731,68.8283282,8.7049067,33.3171986,5.9596909,0.8986378,0.9548272,8.5014195,76.4062678,77.9180173,80.0156031,22.001812,35.5072821,17.6860269,62.8877799,35.3003156,49.6247856,12.6684968,8.9028152,68.0355551,8.3490795,33.9217549
2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8312236,1.8687386,21.6272137,61.9902197,62.8470724,58.1409731,23.4132457,16.5441233,16.2605066,63.7118839,35.1840719,43.932908,27.028092,21.5403329,62.9625854,3.1891266,36.7630064,26.7487011,1.7936386,1.8270157,20.5245756,61.4396585,62.4201787,57.9336613,24.462745,16.4338137,14.5814641,65.8985869,35.9676121,43.1742946,26.0037618,20.6592543,62.6688133,3.4759063,37.3178909,26.2261227,1.6329167,1.6458346,19.2945134,61.6349735,62.9493166,59.0195119,24.6243578,16.9888139,15.5530802,66.3141315,36.798828,43.2248762,24.2780891,19.41973,62.169775,3.6094188,36.6571176
3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0994025,2.2299685,25.0531785,64.4619606,66.0389249,67.9488189,20.2330125,33.3784969,14.7205108,62.3573148,35.0107025,48.3674672,31.8535963,26.4571913,71.482247,4.8969598,33.5087813,29.3858543,1.981241,2.0857089,23.9032588,64.8647463,66.4704994,69.189568,20.4628029,33.6784696,15.1071155,62.4666016,34.3741094,47.8004619,30.6781044,25.3365437,70.9141157,4.5158908,33.9775195,27.4896545,1.9423829,2.0303828,23.0970714,64.7315625,67.0759539,69.2990594,20.8955541,33.6648794,15.3029498,63.4396155,35.7687403,46.5450166,29.6194715,24.4954023,70.1371554,4.600004,34.2105359
4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.7862862,4.9396485,43.2585536,64.1439802,65.180658,56.4668613,20.4135995,10.9345086,15.1738169,57.5160712,31.0840655,49.8887641,50.8893673,44.0741201,61.3398095,2.1845135,39.2714923,39.5135659,4.8679791,5.0203169,43.1768875,64.0661761,64.5051093,56.0275651,20.1650781,11.7739467,14.7085221,56.4335576,31.3228753,49.5847036,50.7244575,44.0832928,61.8635211,2.23083,39.8340716,40.0075432,4.7338484,4.8533622,42.4865027,64.8925462,65.3406127,56.3186138,20.2855855,11.8933324,15.0432377,55.8660333,30.8002473,50.3501156,50.1613831,43.3803652,62.2271352,2.1889329,40.2539167
5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1.1586184,1.1830725,12.1450788,78.487769,77.0241969,72.0937696,20.4838208,25.5989121,21.7650692,64.8557271,31.6776987,51.794141,17.0240389,12.856648,64.8617558,13.9296969,40.0462906,7.0486808,1.1504495,1.1792932,11.8444749,78.2492715,77.2240068,72.7318233,20.8242286,26.1304274,21.9026727,65.568317,31.7794119,50.9092894,16.7281352,12.5482949,64.4291115,14.0791326,40.267105,6.8730318,1.1084697,1.1557066,11.9700219,78.9459094,77.778242,73.0044059,21.4085311,26.8102598,22.248963,65.5398396,32.4932471,51.1020669,16.2942939,12.1399895,64.4220507,14.5642184,39.541182
6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2257745,1.2623141,11.4854046,67.7517102,69.9123342,66.3092184,29.9144692,10.1375319,14.7276227,66.8335115,41.8449089,41.5908017,16.4875555,11.4306726,43.2222443,8.4392389,37.2140966,7.1994848,1.288411,1.354123,12.0501622,68.5499073,70.0197074,66.4574112,29.5836553,9.933846,14.9227766,66.3632637,41.3007296,41.6938784,16.8829733,11.6076984,43.0313234,8.5913243,36.3366846,7.8808111,1.4340257,1.5210185,11.9335997,68.7411015,69.6182249,67.8172982,29.6949687,9.8146463,15.2842478,66.7717674,41.2872428,41.5668026,17.1355236,11.6529801,42.9436428,8.8011245,36.2511366
7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9584623,1.9341255,20.4767874,69.8914564,70.7639488,65.6234212,27.8024061,8.6956488,16.8172867,68.535263,41.4848319,40.302768,25.4406531,20.3272161,48.4352483,5.2125215,30.4860396,21.4475821,1.9041905,1.8787174,20.9131436,70.8680302,71.3778263,66.9787137,27.1485767,8.7041124,17.0856627,68.4004981,40.6451282,39.9178404,24.9825392,20.2450164,48.8241528,5.0884465,30.2323066,20.3986324,2.0078301,1.9719355,21.0585212,69.6925065,70.8429439,66.7114394,25.9402477,8.3107704,17.4734281,66.9054464,39.2187152,40.0125485,25.1693459,20.4313338,48.8773472,5.2879349,29.4931326
8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.4503124,1.4469932,12.1940907,70.2046536,71.1110239,62.1998924,31.3312098,15.6722705,16.020528,67.434197,41.1476224,45.8235489,17.1070932,11.4490126,55.3044673,4.5351866,40.8292207,10.2240035,1.4610269,1.4706204,12.4572998,69.9001554,70.4524457,61.5633365,31.2670078,15.6349367,15.9596917,66.5627131,40.2860482,45.9978064,17.3225921,11.4821857,55.1067652,4.3708123,40.9116553,10.6032357,1.379152,1.3880471,12.2811173,70.4465048,71.1385817,62.3842791,30.5732407,15.5543099,16.1352268,65.4014022,39.3250076,46.766944,17.3732934,11.3824768,55.3634915,4.2237964,40.5696999
9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.3070414,1.2679294,15.8901465,70.1254456,72.7589955,65.6998054,22.0231866,60.7722982,29.1226486,68.4615655,34.1183626,44.9603679,20.1034442,15.9760137,83.3618203,5.2104661,33.1442231,10.2786275,1.2122374,1.1724852,15.2620047,71.4823041,73.6293577,66.6974098,21.3017385,61.6699044,29.441245,68.2082794,34.3861187,45.437599,19.654698,15.4310429,83.4799246,5.1834526,33.3411243,10.2786669,1.1592772,1.1561772,15.0699299,71.6347016,73.8979858,65.681791,21.1225425,61.6060201,29.4238108,67.9459212,34.7058134,45.4248823,18.8295288,14.8131599,83.4679335,4.8942844,33.727603
10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.4752737,1.5078345,15.0776342,61.0729186,64.5017329,47.5327536,30.417921,7.2850271,15.6259566,67.1236971,42.3482126,37.2471249,20.2454175,14.8145014,46.5980604,3.8609004,40.3283216,16.025689,1.4856423,1.4656136,15.513721,61.0093082,65.3667861,47.7218711,30.6896877,7.4301315,16.1027318,67.6837897,42.3568526,37.4695761,20.8461066,15.4043386,45.8980858,3.6976821,40.0858009,16.2222355,1.5828003,1.6034023,15.3607632,60.2655819,64.6453433,48.4909141,30.9973894,6.2468741,15.1534167,67.1345675,41.7527536,37.9534977,20.8883942,15.5058599,45.4978498,3.6215894,39.9376568
11,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3573075,2.4675659,23.7189895,82.427726,80.9194784,76.6268764,19.0416657,60.4386661,27.4760143,57.431888,27.6988787,62.1939443,29.0626226,23.2724207,85.7271997,5.0201583,36.5540081,12.5397908,2.5060265,2.6190449,25.1646,82.5521039,81.1530176,76.5981712,17.8678308,60.5506849,27.5855002,57.474486,27.7121755,63.5767056,30.6590671,24.5679961,85.9674196,5.021432,36.694185,14.3175288,2.733469,2.8714587,26.5830165,81.854831,80.5819088,76.0127871,17.012218,60.6180893,27.3158731,57.3206043,27.5153061,63.6217536,32.0242788,25.8326472,86.016582,4.9503676,36.6288271
12,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6606479,2.6508076,22.8573543,58.3785078,60.0980855,57.4947999,24.7393184,10.909404,14.9486484,62.8315764,36.7155952,43.142349,31.1060558,24.6357301,58.4883466,3.1933086,38.8472359,29.551943,2.2879258,2.2780648,21.5075811,61.9146053,61.885208,59.088405,24.8413343,10.845767,15.7082224,62.0445742,36.0911679,46.1089358,29.4213046,22.9512336,58.0685844,3.1194258,38.8038519,27.8549102,2.3255394,2.3068376,20.4640398,60.6258227,60.3963609,56.6240284,25.6921219,9.2337764,15.4627118,62.396087,36.2399738,47.6419764,28.4168728,21.6954726,56.9352515,3.2315251,39.5909437
13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.3680865,1.4798126,13.9155082,66.176191,67.6490543,56.932334,29.0157229,9.4701317,17.0680247,70.6353762,40.9622466,36.9452191,19.8077747,14.304577,54.8970496,3.4251876,36.983648,8.2524192,1.3178936,1.4305407,14.0875552,64.8195885,66.5797612,57.1297089,29.8203575,10.1274262,17.3621135,71.4164997,41.8527064,37.6571378,19.6780356,13.9962181,54.0345054,3.3423601,36.1660224,8.576049,1.2444287,1.3239977,14.4410675,66.3056801,67.5519435,56.8259403,29.5056245,10.5174803,17.2067871,71.387702,40.384258,36.5179267,19.1204979,13.9287144,53.9160579,3.2008056,36.804988
14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4658653,1.4682008,17.7223858,64.5713935,67.7202195,55.8557353,29.7218247,10.7433668,17.6538088,70.5124332,42.2876693,37.0808656,21.2276325,16.154416,50.565438,3.2127255,37.4229263,16.0710332,1.7683159,1.7705963,17.7113086,63.4972881,67.7219503,54.8297212,30.32249,10.9867476,17.9754926,69.0085868,41.0009199,37.4635559,21.3917445,16.4171484,50.1151125,3.1376569,36.5031004,16.2105512,1.6969351,1.6969351,18.4275404,63.9804993,67.8066437,54.7973228,30.8642932,10.8588372,17.1050983,68.5592893,40.7489412,38.4756551,21.8671999,17.2384797,49.7890074,3.1434458,37.0255165
15,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9699391,2.010117,23.9128283,67.7277814,67.0982743,63.9153836,23.8865343,15.0569878,15.7999546,63.3261335,36.5907986,50.2959526,30.2917048,24.9404928,63.7085091,3.8568914,31.4735829,25.1506303,1.9615429,2.0023925,22.4770676,67.8569945,68.2418485,64.6336945,24.3021307,14.9675487,14.9142446,63.5937521,36.4461112,50.6277693,28.6467892,23.6031182,63.4694485,3.8989956,30.7445571,24.1331338,2.0349113,2.0818512,21.8532986,68.3060088,68.0954513,63.9651297,23.7638799,14.8035177,14.8107985,63.4218128,35.9338464,50.4896676,27.6974405,22.6738202,63.5618706,4.0122891,30.6506632
16,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.8872109,5.0024636,43.8791338,64.4067322,64.8132394,56.6095666,19.0451782,9.4638089,16.8953302,57.5612913,29.1541441,50.3782264,51.2864759,44.3787372,60.0730489,2.2530059,38.7740057,38.6889283,4.9798346,5.1034057,43.6480292,63.7440313,64.1477748,56.4969156,19.6537904,10.3679238,16.2234924,57.5576684,30.3174114,50.2351102,51.2413948,44.2710162,60.4549913,2.0597853,38.7642715,39.0416695,4.9877458,5.1396429,43.9110576,64.0425971,65.1218666,56.4999934,19.9970268,10.3927489,15.30456,56.8587891,30.9071595,49.7203248,51.3061457,44.3320532,60.5423503,2.1024144,39.3888752
17,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2843434,1.3430048,13.4554898,67.1535402,69.1439849,70.617993,26.5425194,8.0052664,15.1041526,69.8865442,44.2962632,39.4029237,17.0299483,11.9325488,47.0553005,7.2750695,33.0800242,12.755102,1.3002163,1.3593999,12.7104727,65.9129417,69.0018509,71.9268029,28.3549628,8.5969578,15.8396501,69.7993813,45.0942104,39.6004444,16.690829,11.7280579,45.2789113,7.4890678,33.2151291,13.7630662,1.0845181,1.1418689,12.7267946,66.8177514,69.5240354,72.2458006,29.3249022,8.3213404,15.8592733,69.3658114,45.0847404,37.5844494,16.712629,12.0086672,44.3548133,7.7186572,34.4193831
18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7611913,2.8903148,35.462062,68.2033785,68.2382837,62.5128413,18.7175712,17.1510129,20.0371585,58.8727102,28.2733443,51.6016268,41.0257158,35.580715,65.7863017,2.4022897,34.6859822,33.2191956,2.6698685,2.7891897,34.0710488,68.3702051,68.5312631,62.1618487,19.5213711,16.7217601,19.8469582,58.8771585,28.7027562,51.3142064,39.8026717,34.4421333,65.6967235,2.4872391,34.5251943,32.0924118,2.7063969,2.8180319,33.8392076,67.8836276,67.9643532,62.1413371,19.6746262,15.4678417,19.5292177,59.8128709,29.5935422,50.9934473,39.3441003,33.9445982,65.1706145,2.6271024,35.2423609
19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.4086075,1.4391589,19.3705084,64.3785806,67.667374,53.473909,27.2676498,8.7336061,16.6828509,68.9853832,39.7904529,45.0340654,24.4118385,19.8673968,54.0035888,3.3098335,38.7499954,15.0793747,1.4902229,1.4837845,19.3766657,63.9175115,66.9571971,53.268477,26.7503232,8.6192525,17.0665273,67.097296,39.4373165,44.4208849,24.319197,19.8603419,53.6940664,3.5976228,39.5761156,14.4950956,1.4838983,1.4774059,19.6523233,63.2180689,66.3660195,52.829346,27.9799893,7.7579643,16.0902494,67.4289024,41.0987877,44.8255904,24.0299693,19.6983921,52.1276399,3.8003404,40.5841278
20,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.9469086,4.0362933,34.9732266,65.8199231,69.4558564,61.3995474,23.0585189,10.8121678,17.3598326,61.6414232,31.5426073,51.1777654,41.7571301,34.9422802,56.5040803,2.3940853,41.4907511,22.0939044,3.8918343,3.9718954,36.201715,64.9353495,69.0844554,61.2686504,22.4736133,10.6457997,17.1448538,61.4547145,30.9894709,50.8211589,42.7768726,36.3086717,57.9428232,2.2523992,41.452745,23.2924245,4.0192006,4.0723195,37.0420397,65.3612216,70.6984478,60.7359267,21.5791458,11.140685,17.9283528,61.4315585,30.2062398,52.2144557,43.4259931,37.0968494,58.3569203,2.0127572,41.3194158
21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9362744,1.972163,25.1666287,75.067078,73.4165108,66.246455,26.4879589,12.336672,16.4575363,66.9155566,34.2645192,46.5938782,31.0243676,26.2889603,53.005126,4.0254387,31.4304586,20.4862388,1.8809501,1.9065432,25.1963963,74.6376597,72.6029664,66.7873419,26.5308869,12.9445956,16.4132848,66.3134968,33.6430877,46.0991632,30.9524405,25.9051515,52.5517045,3.9705248,30.9468785,20.7627668,1.7997545,1.8366356,24.4124936,74.2393295,72.7377865,66.2349875,26.5267676,12.955543,15.5945787,66.4252982,33.4919077,47.9677078,30.2412985,25.198541,51.6830995,3.8928919,30.7985009
22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0384516,0.9952938,15.7247891,75.9456731,74.1081322,70.715761,21.4950192,66.7459128,27.9224877,67.4367028,35.7122337,44.295316,18.131066,14.2839563,85.6833889,5.5804858,33.2571769,10.0000854,1.0985457,1.0600185,15.6222019,74.8508614,73.880811,68.5663651,22.2696249,65.8672264,27.5919969,68.3402262,36.6813075,43.9211633,18.065882,14.3016165,85.3091004,5.8182765,33.780371,9.2912661,1.0777756,1.0706244,15.9003992,73.7310375,74.4866917,67.9898768,22.8882598,65.620788,27.5543417,66.8568214,35.6003873,44.5154183,18.1397004,14.3590011,85.2018329,5.9767106,33.4439379
23,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3286922,1.3344508,16.2053473,68.7859911,69.7330366,67.9542582,25.3176726,49.0596278,20.16937,62.7107599,34.6567559,45.1599288,20.001645,15.8041076,78.2602213,5.9046573,34.8920812,18.9324874,1.3037394,1.3097136,15.693485,68.9771569,69.857039,68.3988558,26.757314,48.0766705,19.7512922,63.6736612,35.7221843,45.3737957,19.4620584,15.2266973,77.3513726,6.2704395,35.4069706,17.7637885,1.296712,1.3074789,15.8330834,69.4517409,69.9562971,68.130658,26.8968936,48.5331234,19.5367924,63.8060884,36.297238,45.8320207,19.3275625,15.1609164,76.4899214,6.2755119,36.2613563
24,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4137058,1.4027617,14.5483045,71.7819513,71.7895965,65.4342719,26.8487414,11.6481172,14.334532,66.318141,42.037793,46.9490142,18.8366124,14.7997711,56.8814647,4.5121116,32.2826778,16.2820513,1.3483914,1.3496213,13.5394682,69.3640561,69.1343672,64.995605,27.9455872,10.4065409,13.8196913,66.6010909,42.5175109,47.5015816,18.2791825,14.0046337,55.6395334,4.4777427,31.3802845,16.8407311,1.3271858,1.3209147,13.0361583,69.7601909,68.9772305,66.079991,27.2014795,10.5537424,12.8648057,67.0805133,42.3031739,47.1630349,17.9487985,13.4154644,53.541372,3.9202154,30.8298876
25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1488638,1.1900897,14.7717011,64.1048712,65.9803552,52.359976,29.0121304,16.4068993,17.8077958,69.4228174,41.2678747,33.5296124,19.3661349,14.616335,52.3879851,3.4804953,35.6840361,9.1379123,1.1633119,1.1952565,14.5010349,66.3259697,66.4555336,53.4449056,29.4042028,16.1657332,17.9852547,69.3229557,42.2423129,34.9726481,18.9867098,14.2837768,52.4364992,3.4823896,37.3713256,9.9326396,1.2747076,1.2920151,14.5942505,66.9249865,67.3776752,55.1525638,29.3842958,17.0643819,18.6970289,69.5557144,41.880922,35.5916919,18.8256488,14.3256739,52.0623411,3.2595378,35.6875523
26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.3220543,1.3347643,17.7037367,64.2063608,69.6691222,51.3626004,26.318005,13.1028027,17.4887428,68.1083065,42.3526474,40.4777805,22.230088,18.319105,55.9721118,3.8892294,36.8490012,17.9715429,1.3732614,1.396843,17.5949966,62.3940562,68.3827115,51.584187,26.7561944,12.5251809,16.8809512,67.9155033,41.5614601,39.8136324,21.7120126,17.8678257,56.5278331,4.034902,36.9009067,17.921227,1.3573731,1.372988,17.8411773,62.8693667,67.3303682,51.5879721,27.3184317,12.0598891,17.6600791,67.7615153,41.1733092,38.8795632,21.6312759,17.7413695,56.1167033,4.2282715,37.0755772
27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.8576377,1.8055053,19.2456047,67.7986768,68.7167044,62.2502593,28.6049179,13.9824471,16.1397493,66.9625774,41.1336815,39.4886489,23.3850092,19.3944065,48.8883857,3.9121849,30.9721712,17.6802689,1.9093464,1.8637242,20.068064,67.7520232,69.0811514,62.3384668,29.1068734,13.539044,16.4617138,67.3866989,41.2861151,40.3978225,24.4948101,20.280238,49.1502578,4.1374586,32.4181059,18.0090322,1.7494415,1.7468771,20.9114029,66.6461567,68.6400056,61.2965291,29.0635509,14.0798889,16.4473016,67.1704157,41.515061,39.1773613,25.7474868,21.4200628,48.9595938,4.236843,32.1562119
28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8234022,0.8522951,9.1525076,77.7275525,78.6729712,72.6528929,24.5871078,23.7279181,21.9556516,64.7908205,36.851581,50.4923881,11.7676738,7.6936006,63.5616006,8.847056,36.0793488,5.3827777,0.9173801,0.9545493,8.7928929,76.4202104,76.8175023,73.2081028,25.0930257,24.0718967,22.3321636,65.7773382,36.8516115,49.9423256,12.4136764,8.3031875,63.3518988,8.0019593,36.4137449,5.3775756,0.992817,1.0588769,8.846858,77.4182911,77.9269199,73.5499783,23.9352466,24.6786326,21.3776658,65.0770297,36.3789679,49.4835264,12.7801167,8.5579678,63.2496703,8.0744371,37.0214031
29,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.6690111,3.8044967,35.0467485,70.2954838,70.0359583,64.8814103,19.0336871,16.1263659,15.5895485,62.6916134,33.9949296,54.7925357,41.2629641,34.9208184,66.2784895,3.4976612,37.0330879,32.4912276,3.5699369,3.7065695,34.4614841,69.7029837,69.9505882,64.7671974,18.8736371,16.5194919,15.4327084,62.783862,34.3140314,54.0511956,40.8131051,34.5296559,66.3696488,3.4912822,37.1069607,31.9313934,3.499064,3.62594,33.9198554,69.1850912,69.8445772,65.0895808,18.9284991,16.3713653,15.0389077,62.8583214,34.4946803,53.8895682,40.2963539,34.0440458,66.1057293,3.5491487,37.3267881
30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7383977,0.8469334,9.096648,79.3056238,79.3736741,73.8452116,21.3819663,26.7008088,20.7959681,64.1378571,33.8856627,51.433564,11.8858695,8.7122339,64.533297,8.3912945,38.4933229,5.8648135,0.8295763,0.9508919,9.3253677,79.1975827,79.1813394,72.9775162,21.1325787,27.0098249,19.7770794,63.9943835,33.9728932,51.6399811,12.0635399,9.1066342,64.4517785,8.3515483,37.5814774,5.9837752,0.7024516,0.8533392,9.590723,79.2978448,77.6386523,71.8967003,20.213405,25.2351197,19.0105354,64.7638561,32.8830205,50.5448662,12.2211257,9.1699437,64.0543219,8.6285368,37.1340996
31,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.2283582,5.4178828,40.9190888,72.8072879,73.165762,73.9646232,17.7204609,38.2295721,17.9333884,59.4406242,31.1571089,53.8145617,47.4850284,40.4625078,76.3362204,4.3623065,35.5667328,33.9623115,4.89766,5.1172782,40.3129504,72.4722322,72.5787398,72.5902,18.1866083,37.3644232,17.7864889,59.0699401,31.7087776,53.2572013,46.9232433,39.8389423,76.5783855,4.2137117,36.8883483,33.3486019,4.524883,4.7194334,39.6177449,72.3939476,71.9905754,72.0919365,17.946749,37.488458,18.5131111,59.6157782,31.3657533,52.6886286,46.4339728,39.7784827,76.3678097,4.3761578,35.4952045
32,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.0542456,3.1037234,37.8842601,70.6408579,70.3574703,68.2273697,18.5488548,33.7970586,16.8513419,60.2245424,32.8601748,50.947352,44.0369802,38.2832585,74.9278583,4.4195495,36.172986,31.8560925,2.470789,2.51418,36.2120232,70.4143528,69.2682062,67.6054549,18.5461806,33.2432122,16.3647027,60.5476426,32.8489592,49.957042,42.4474653,36.8594484,74.1631786,4.4007199,36.5172842,32.0927608,2.3190258,2.3697513,34.8989014,71.1076711,69.5929153,68.5079207,18.7189881,34.5053579,16.5180645,60.8603093,33.3921881,51.0043968,40.9318383,35.6443609,74.1756965,4.7084041,34.8925628
33,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2353223,2.1964076,20.8466511,58.1229749,60.53303,53.9438599,27.7533098,8.855969,14.7122405,66.7663919,39.6257179,45.125846,28.0761013,21.6857902,52.8218657,3.878139,40.5625121,21.5252635,2.0327357,1.9854184,20.8981986,58.5709933,61.9960637,54.0811261,27.2561626,8.1779578,14.4755518,66.3762744,39.6691577,43.7078199,27.1106408,20.9630014,52.2844367,3.7625291,40.4040101,21.4970529,2.2199171,2.1869621,20.3749096,56.513567,61.8826379,54.3135675,26.4436997,7.9916224,15.0317419,66.4717801,40.0042457,41.4377199,27.0094079,20.7035999,51.5007823,3.6749266,39.6789783
34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.266758,1.27166,17.1587857,71.7552756,74.2652054,58.5772859,25.197264,21.6664466,20.9639715,64.7644068,39.01231,52.0064575,22.3663358,17.3811993,65.3877845,4.0855931,40.4825565,13.4023293,1.2350345,1.2253086,16.8373626,72.1543026,74.7638885,58.4099737,24.976984,21.3970184,20.7535734,64.7203162,39.1075764,51.9707514,22.0715277,16.9747754,65.1374687,4.0465108,39.96035,12.8516209,1.2021302,1.2029196,16.1867449,71.8558034,74.4205548,58.2640961,24.7997807,21.1903649,21.2235905,64.8142534,38.8973102,51.6132056,21.4342361,16.2708604,65.0463248,4.0216378,40.1144925
35,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.6262523,4.672645,42.2866273,64.9640147,66.0983637,56.8186124,18.6854179,9.0303424,17.5491545,58.7419069,28.7072989,48.8701946,49.3431142,42.6747962,59.1471066,2.5790591,36.8095889,34.2591363,4.804818,4.8783522,43.4995288,63.9190203,64.4007778,56.5185522,19.002544,8.6689772,16.9583289,58.8395415,29.2944708,49.1042451,50.631854,43.991617,59.1535351,2.502591,36.5872329,34.9998799,4.9156253,5.016169,44.312893,64.6034618,65.1337471,56.8124417,18.739866,9.1602225,17.0393474,58.2509586,28.9642599,49.788192,51.4511578,44.8206783,59.9819065,2.3780129,38.4133577
36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8410197,0.8143766,16.4448232,73.2454047,74.2031395,65.7763833,18.7192474,65.9342414,29.7651722,66.4782561,31.4668051,46.1105399,19.434036,15.702274,86.1181946,4.0803935,32.6104865,14.0245866,0.8871671,0.869004,16.0943506,73.2621968,74.7142567,65.4352612,18.9494356,65.4192852,30.0222376,66.7610506,31.0340585,46.3548179,19.2528564,15.4144116,85.0272068,4.0568871,32.7437123,15.587187,0.9229571,0.9053765,16.1415378,74.3561072,75.750534,66.4949292,19.4339761,64.2551518,29.3133003,67.5879973,30.9559403,46.6753615,19.1492265,15.3548421,85.0757821,4.367561,33.6227683
37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.3327783,1.3600106,18.3039416,68.9563154,70.1139448,64.0773325,26.7488582,11.8908932,17.4428716,68.441815,37.0217456,42.2780824,22.3603809,17.9828373,51.2698307,5.2165497,34.0784525,14.7260153,1.3702466,1.4145692,17.8613851,68.6454653,69.6733501,64.4860648,26.0056267,11.5942616,17.6298662,68.5614437,36.8466419,42.8101913,22.0810318,17.7679311,51.1608564,5.1474952,34.6011499,13.7762262,1.3710102,1.400162,18.1097244,68.6419418,69.5992408,64.695746,25.6703386,11.3798645,18.4229222,68.7532182,37.2286255,42.6463369,22.6230239,18.079547,51.3345322,5.1473824,35.2735511
38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.2432868,3.333134,38.1183614,70.3161752,70.5051003,65.0339232,17.2130536,17.0706038,19.9913768,57.5989832,26.8484786,53.2560631,43.4925139,37.9949748,66.0515417,2.8787229,34.6631949,30.7824846,3.2002614,3.3148681,37.5609713,70.5618077,69.6376447,64.6522134,17.2951962,17.4677516,19.4384179,58.3256385,27.1975671,52.1249855,42.9347614,37.4872197,66.5762516,2.8932682,35.0550614,31.3451296,3.1777174,3.2832415,37.434489,71.004251,70.3235971,64.5069058,17.4846192,17.4929089,19.9911901,58.6523913,27.3021222,53.1554455,43.1654994,37.8370726,66.7056083,2.8831016,35.5337819
39,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.953972,1.9358548,20.1837753,56.6335183,62.6249579,55.1880174,25.8721421,8.5737601,14.5533633,66.4598228,39.7803128,39.9119217,26.1978309,20.2283648,52.2896169,3.3850672,40.1868692,21.3724821,1.743072,1.7575576,19.2384449,56.7106907,63.1346793,56.8368351,25.8832053,8.4099656,15.414933,65.3748661,40.0458472,38.5635407,24.6569287,19.3457336,51.6275188,2.9030878,39.4891602,20.0269031,1.7512657,1.743956,17.5238424,57.876175,63.1663323,57.5332407,26.2535279,8.5145265,14.9944259,65.1468691,39.8202346,39.9427494,22.8264482,17.7385186,50.399294,3.0399006,39.6537728
40,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.865011,0.8655991,8.6300177,64.6798199,66.528548,64.7903506,29.6059665,5.1625725,12.0575662,70.3199361,46.683393,39.9884478,11.7174843,7.769922,38.531616,5.2524169,36.6779306,7.1597625,0.8905257,0.8943625,8.7283641,64.6105531,66.0457687,64.6430729,29.9825594,5.1344145,11.9676132,71.4541817,47.081771,39.4223969,11.6722548,7.8024588,38.1877715,5.4645972,36.8073857,6.9676685,0.829695,0.837412,8.8885446,64.0999875,66.5821757,64.2410571,29.6592134,5.2836884,12.3230561,71.0903219,47.0573857,39.6870208,11.7635324,7.9949549,37.9886327,5.5828864,36.0924388
41,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7236796,1.7841348,19.2192801,60.0387899,62.3027991,60.5088319,29.9510136,5.3583503,12.1642947,66.8378384,42.6510442,37.1578273,25.7718652,20.3512121,43.3671354,4.0849748,29.5851672,28.9106296,1.8509043,1.9108931,19.6318544,60.2591709,62.0803809,61.1384213,30.1420652,5.6754906,12.7683713,66.1892151,42.1215182,37.5089456,25.7263066,20.5533755,43.1020679,4.2813511,29.9544469,29.8153995,1.7768076,1.8359169,20.0826313,60.621925,62.3013842,61.5719325,30.1520601,7.338998,12.5956439,64.5270076,40.6099676,36.8765246,25.5041044,20.4078754,43.3667972,3.9994468,29.5783726
42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8559242,1.8699884,24.521653,70.5445339,72.9453068,65.5047521,28.04318,9.2966874,19.345637,66.448621,38.2370211,44.6489565,29.2083509,24.3136777,50.3476011,5.3557677,31.4653411,17.0775754,2.0233864,2.0372768,23.6864664,70.9477156,72.3404,66.758955,27.5601027,9.3187161,17.4193261,66.3473505,37.9167961,43.5652111,29.4632456,24.6324963,51.3895667,5.2006155,31.3928327,18.2709966,2.0904435,2.1261169,24.2577327,73.0184073,73.449693,68.028694,25.9680589,10.0135101,16.3039294,66.0773038,36.1722279,45.2442191,30.6465182,25.9243224,52.792089,4.924542,32.4482479
43,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.6559565,2.721548,27.2799639,70.7124923,68.2920283,63.0477015,24.1520672,15.4917059,17.6845196,63.3862359,35.4426834,51.3994029,32.2489165,26.0155935,63.8020263,3.9903392,33.8954012,16.441934,2.6453684,2.6941146,27.7184574,71.1446312,69.347694,63.5972928,22.3631918,15.0425731,16.7125107,62.6296523,34.9705875,52.791074,32.2913385,25.9063063,64.8594281,3.7561982,33.290114,17.8833701,2.7215796,2.7697306,27.3899915,72.0825629,69.7655844,64.7884371,21.1575576,15.4173925,16.7354951,61.9908297,33.9547237,52.7495006,32.573258,26.068549,64.9354952,3.3785042,33.0899575
44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1535726,1.1775796,14.5479164,72.5085933,73.8287407,59.8505414,25.6863497,21.5140423,18.8855154,64.7517296,40.8472791,49.9899483,19.6940225,14.5668331,64.0726657,4.6617449,42.1565235,12.7304865,1.1574827,1.1723076,14.4290385,73.4720158,74.527007,60.6890413,26.0368608,21.3151851,19.1678882,64.2728806,41.400894,49.9295914,19.7506936,14.4579225,64.4668342,4.8750877,41.4491986,12.2563701,1.2113171,1.2144753,13.7896199,73.7177068,75.1713756,60.906288,26.2893385,20.8251181,19.5379209,64.1389963,41.5337362,50.6389542,18.998867,13.9190206,64.1689261,4.8046318,41.2514745
45,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5841557,1.5571433,10.4143888,69.5190788,69.87608,69.9604056,29.7967303,13.8080607,17.5413573,64.820254,42.2316515,37.1379395,15.6836126,11.0439262,46.4965563,7.6475151,39.4508157,7.0715284,1.4302172,1.4395586,10.8780464,69.3500092,70.4903624,68.5339912,29.9115175,12.1953776,17.6658898,65.0965183,42.4737862,39.396237,15.8084537,11.0820835,45.7955052,7.6490576,38.6065817,7.3728776,1.368086,1.3657314,10.8822916,71.6486193,72.0482235,68.2516666,29.3163007,11.4169002,16.9745896,65.2096323,42.3367483,40.774568,15.9352985,10.8199507,45.2142078,7.6974019,37.9491569
46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0470705,1.0400925,14.9376902,74.5264901,75.1407271,68.1249863,23.6098423,64.5225868,27.5028813,68.5979857,34.2154207,47.1592709,17.4099197,13.7667548,85.3872818,4.7678114,33.2493906,10.2410379,0.9466455,0.9395953,14.1707663,74.9573796,76.143267,69.2279103,23.9840343,65.5422434,29.6819619,69.1154719,34.6199577,47.6313027,16.9194037,13.3503664,85.775114,4.9004367,32.3446169,9.8604216,0.9157555,0.9262356,13.9786007,74.9501644,77.1688142,69.3704848,23.3104941,65.8722576,30.32073,68.9031363,34.1434551,47.4495513,16.8468032,13.3383991,85.5044659,5.1446132,31.8870368
47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.4590051,1.4352658,15.8717418,60.1845947,65.100369,48.605773,29.3169017,5.8052336,16.2273917,66.4636273,43.7984577,37.5852279,21.0558583,15.6219491,47.8841372,3.4840422,38.4575414,15.6903831,1.4962224,1.5193898,16.5223026,61.1112378,65.5004145,49.9090848,30.3536783,6.0717022,16.5661175,66.9595774,43.7236079,37.9979601,21.5180829,16.2082159,47.386107,4.1042576,38.9523208,14.6586345,1.6325511,1.6549404,15.3614201,60.0157848,64.1767757,48.7990286,31.2373615,5.989106,16.547262,67.7339791,44.6554947,36.1407437,20.9651048,15.9462641,46.6419848,4.4179245,39.3500297
48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.3685016,1.3932473,17.8362606,67.4576871,68.9630578,64.4905641,25.6362616,11.7902619,18.8655533,69.0571234,37.5595573,41.2966349,22.4419808,17.7711281,51.1562924,5.2572676,36.0607825,15.1494598,1.4681775,1.5094959,17.7453854,67.6959148,69.4646627,64.5039691,25.8516074,11.3593871,18.6914491,68.733546,37.5628857,41.2077052,22.9243471,17.9988181,51.1007516,5.3278042,35.7098188,16.0081907,1.5500751,1.6115619,17.9769626,68.2789807,69.326157,64.648914,25.7680698,11.6930071,18.1079813,68.499965,38.1660835,41.5620809,23.1378613,18.1326799,50.9769249,5.2635533,35.7431463
49,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7351986,0.7641542,9.7403432,60.816764,61.3714641,58.0838299,28.7432941,9.7527803,14.8298952,69.8845497,42.0010667,39.1962953,13.0852591,8.893383,47.15672,5.22268,43.000657,5.4517417,0.7640439,0.8105181,10.3686611,61.7842014,61.7576983,57.4354517,28.2124572,10.8809622,15.449895,69.9611337,42.3946654,39.2769535,13.968884,9.4199428,47.8234584,5.470561,42.2036084,4.7545939,0.7037708,0.7436772,10.850104,61.4373028,61.3889451,57.5267343,28.8487605,10.3350779,14.025662,71.4833254,43.0585563,37.2310981,14.1567418,9.6234651,47.0552976,5.1954799,42.6209899
50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.4942913,1.5055405,20.146805,67.0578753,67.8818547,60.2317604,28.0300496,12.3825624,15.4051791,67.5707278,40.690253,42.5568119,25.1992471,21.0491191,49.2739285,4.5013059,30.8530968,15.3930963,1.5857366,1.6120098,20.0616807,67.5868591,67.7856638,60.4382986,27.6682011,12.0709513,17.5364272,67.2246446,41.5122423,42.6676009,25.2267375,20.7278969,48.4429362,4.8212372,30.6997451,15.4285169,1.4487434,1.4534675,20.1303001,67.9062172,67.797073,60.6601463,27.2489034,12.5895252,17.6010895,67.2873021,40.7693157,42.6563148,24.7461982,20.5048489,48.2326782,4.4897485,30.1118817
51,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0822708,1.9362143,20.6896618,68.7183929,72.9199319,71.638574,18.631533,22.9109553,24.1257529,67.9851092,31.0605985,45.6893881,22.9949239,18.9340102,67.849345,4.5068929,39.556962,24.25,1.6700636,1.5241492,20.8067306,69.3309501,74.158845,73.644726,18.713292,23.6528208,23.2329345,68.0018063,32.3108707,45.4020422,22.8008089,19.1607685,67.478355,4.7945205,38.5654886,22.3684211,1.7175257,1.5703226,20.7369832,66.545858,73.3261871,72.0899079,18.9662162,24.5298153,22.3643496,68.1258029,32.0399074,43.5318426,23.3333333,19.4358974,67.7015251,4.2993631,39.9795501
52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.2875889,1.3032411,15.7615033,65.104755,66.1936949,60.0288696,30.3781299,9.8302496,15.3765694,70.4508376,42.9694764,41.5743369,20.2245101,15.2557887,53.7194877,3.036676,32.7559742,10.9872716,1.3314241,1.3638916,15.091755,66.7518052,67.906369,61.595544,29.1934544,10.4749917,17.0880211,70.2265806,42.5727764,42.7613876,20.039747,14.8716887,53.9503773,3.1886862,32.85604,11.9195157,1.4475902,1.4666742,14.9662349,65.7430526,67.5615494,60.5093192,29.7244467,10.0046302,17.1127585,70.3557989,44.0824808,40.9699146,20.5141601,15.0227205,53.121508,3.2039611,31.0437386
53,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3903202,1.4294546,12.267253,55.9845118,59.148687,55.1639633,31.3446652,2.0390398,11.5919627,68.334478,45.5185592,31.2514524,16.3686102,11.8795646,29.0610077,4.4732743,37.3381605,5.0162152,1.3277606,1.3661266,12.7297899,56.5416395,57.5956574,52.6250312,30.8528112,2.264647,11.431151,68.5627313,45.6125276,31.1314748,16.4758486,11.9320252,28.9750504,4.7065525,37.5596035,6.6129118,1.2331515,1.2717265,12.3659776,56.2759562,57.2714764,52.8396881,29.9907847,2.338478,10.9163317,68.8027283,46.0088211,29.6941003,16.3796173,11.7509886,28.9732313,4.5279329,37.4801173
54,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.0987144,5.2601532,41.3428443,67.0321669,68.0873348,54.7042249,20.2131619,16.5040431,20.953074,58.732077,29.4915035,52.5850873,48.9853649,41.6999346,61.9689844,3.0103314,41.6361219,34.2741557,5.3698735,5.5743817,41.4477223,65.236742,66.2613741,54.5800228,20.1172568,16.3751516,20.1384757,58.8119263,28.4034182,51.2413493,49.3299014,41.666667,62.3764476,2.7605112,42.0550239,35.2703885,5.2987176,5.4684933,40.4579602,65.8186842,66.7386396,55.7009104,20.5305526,16.1021304,19.7257742,59.4114052,29.3368189,50.7802651,48.9813201,40.9337821,63.2314776,3.002516,43.3730554
55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2.0095596,2.0337225,19.6547215,69.7153975,71.0028757,60.8787175,26.3130044,23.2885078,17.2726325,68.4598797,34.4545126,48.4015752,24.7983576,19.6242378,70.2475073,2.7525815,32.7636089,14.8310545,2.118934,2.1723244,20.3899013,70.0236098,71.6635432,61.8612487,25.8859189,23.245842,17.2300393,67.4547858,33.8328056,49.432813,25.9064824,20.4484638,70.1614678,2.790002,32.686049,15.7683607,2.2242034,2.2475518,21.9232497,69.9418406,71.8305047,61.7042796,25.3937852,23.5815898,17.1218144,67.2417349,33.7708387,49.7661425,27.4752885,21.918697,69.6852831,2.9463565,32.8786842
56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.1595047,2.1272689,22.8962698,63.9127479,68.9607092,56.6057916,28.3530591,11.9715636,15.84462,67.1525914,39.0566685,41.8420222,28.2093676,23.0337753,51.9868144,3.6849654,39.3040155,19.4050471,2.2484829,2.2161949,23.0417987,64.0409628,69.0125366,56.5929334,28.5622394,12.1875576,15.7396981,67.6373089,39.1245808,40.687004,28.245989,23.2336996,52.6304035,3.6680582,37.0302061,19.1760947,2.0005497,2.0005502,22.7441323,65.3827197,69.4392192,58.1005233,28.3715309,12.4783688,16.2599364,68.5854216,39.6794282,41.0892829,27.9386521,22.8643748,53.3622734,3.7929713,36.004331
57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.9768508,1.0709327,13.8324477,77.1471786,76.3541676,71.8434798,25.1365486,25.5484237,21.9275343,67.3297864,38.2792627,44.4779102,16.3497816,12.7074522,66.3779598,4.1461429,35.5972604,8.9356528,0.9578747,1.0572837,13.5320807,75.8869432,77.0900995,70.5561991,24.9412315,25.218052,21.8957184,67.4583273,38.310449,44.7134217,16.1706933,12.6681433,66.0431248,4.1788118,35.508889,9.817686,0.9917682,1.0918555,13.1962199,74.9923818,76.2798197,70.0585078,25.2047266,24.3227492,22.2019305,67.1436792,37.8232207,44.0544591,16.2439156,12.5469511,66.291086,4.2440356,35.5638541
58,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.3185448,2.5482329,30.2830744,72.1848598,73.5864725,69.262392,17.2050075,21.4022637,17.921859,64.4360859,25.7059853,52.786597,34.6223539,30.363906,67.4832021,2.6212851,32.8873239,16.4723032,2.3569081,2.4836278,31.7185359,71.9723369,72.5487684,70.0479473,15.8410985,21.0615599,17.2871761,63.1329294,23.8673131,54.2532156,35.7192871,31.5367554,67.0119006,2.520507,32.1625344,18.0167598,2.4168387,2.476536,32.2511969,71.2381278,72.5094135,71.6159788,16.020827,21.9074618,18.3393229,61.7750532,23.2183459,54.9231507,36.0833161,31.8018157,67.7327146,2.7867007,35.3146853
59,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4680479,1.4720211,13.9689351,56.1987203,62.8924633,56.8310842,28.174773,6.6615081,15.4731773,65.902438,40.4932311,38.5971643,18.9068088,13.8527362,48.2342342,3.0808277,41.9477868,15.3877476,1.5423983,1.5303292,13.054753,56.1227354,61.933645,56.7337075,28.8171266,6.6476527,14.9247528,66.3852931,41.0000633,37.2952009,18.8757738,13.4645376,45.8247749,3.2225203,41.6756234,14.8102345,1.7346534,1.7387516,13.3062629,54.2498734,61.0903545,56.3080349,29.579865,6.2037533,14.3065428,68.6199513,42.3959158,37.3641271,19.1909047,13.358228,44.7796333,3.6875422,43.1247154
60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3195317,1.2976102,14.2154109,67.1973308,68.1587102,55.1986054,30.0369315,17.3268066,19.2149847,69.5243873,41.9024922,35.7451167,18.2544849,13.8812866,52.0100653,3.3223463,36.4229448,13.498104,1.3735031,1.3306668,14.137905,66.720805,68.392694,56.4763103,29.5242861,16.400936,18.9450846,70.010778,41.7188415,36.6539308,18.6234144,14.0348328,51.7406491,3.5952659,36.3687062,11.8755667,1.3422275,1.2885865,14.1832274,66.459782,68.2409785,56.6723259,29.6008944,15.6253741,18.1011284,69.6331671,41.9935056,36.7550657,18.6986051,14.2401907,51.7538438,3.6568474,35.9073621
61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6851757,1.8206178,24.9141164,82.6866381,78.4890259,83.8674652,13.6515949,59.4657886,23.1402117,59.7287244,23.2471709,59.3036396,30.7329078,25.9120672,85.3629803,6.2998576,34.9211876,21.5730875,1.8012213,1.9470833,22.7507647,82.5716289,79.1806887,83.4544478,13.570024,59.3294825,23.1460007,57.8864774,21.7038926,59.3416809,29.1044957,23.9967098,85.296146,6.1969335,36.5914316,20.0094134,1.625312,1.7635768,20.9326217,82.1874794,78.3156999,82.6363012,13.6729061,59.3797927,22.7448777,59.2966295,22.4859529,58.6202755,27.477191,22.133944,85.6009695,6.0443294,36.4530423
62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.826981,1.7520844,20.5961854,78.2472199,74.147816,73.2396579,22.8864016,61.2571049,27.3914893,62.3464844,33.012599,56.2529331,26.4332445,21.0575631,84.9053278,3.6626106,43.2052572,19.1700084,1.7190232,1.6425688,20.390039,79.3760853,75.0381322,71.1742944,21.5713247,61.2595812,26.7663227,63.9755268,32.6506725,57.2952158,25.7800359,20.4232965,85.3909878,3.5173733,42.5921726,20.3340427,1.6873097,1.5781255,21.0335279,79.6690463,75.4809948,72.0055854,23.0125143,62.9511324,26.1448336,63.7417088,33.6145056,57.1746929,26.2135664,20.9219265,85.0045571,3.3044773,41.4773018
63,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4475265,1.4923294,18.0644423,76.958218,77.0478367,76.0737369,14.4426542,51.4490212,23.6163144,61.3731856,25.521231,52.2506481,21.8272901,18.2013359,83.4162108,4.2195122,36.5308151,18.6802974,1.2825528,1.3284454,16.7938512,75.4003701,74.3195967,74.4116436,14.7356721,49.7488047,23.7077433,60.7158721,24.5758184,52.0090384,20.4822211,17.1699951,82.6676907,4.4974874,36.5989848,19.9795082,1.1898921,1.2494159,17.5489824,74.4953826,72.3261016,75.9965517,16.1011037,47.2417295,23.0216015,61.9960988,27.018953,52.8589285,20.79333,17.1551289,81.8832891,4.7581903,36.3113898
64,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.4349181,3.5301252,33.9364304,69.952039,70.4562245,65.5211202,19.1798035,16.6163172,14.7355921,62.8170631,34.6390622,54.5668732,39.9960503,33.7869791,66.2276682,3.4746391,37.4937427,32.5181749,3.4107326,3.4966873,33.0706114,69.5858571,70.2251508,65.213234,19.6594127,16.884602,14.0893903,62.9540542,35.0879758,54.3551131,39.2676728,33.0767332,65.7185625,3.3186219,36.925823,32.5706897,3.31266,3.384655,32.5794073,69.0993942,70.1208367,64.4367548,20.1886716,16.8083668,14.2994833,63.1562418,35.1436433,53.778338,38.9627957,32.746158,65.5794903,3.313734,36.7596722
65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0647672,1.1139957,22.8717458,77.113224,77.6981181,67.9162218,23.1324145,59.1527537,26.0409377,67.4289141,34.8359449,59.2585003,24.8621361,19.988719,86.0167316,2.8881656,46.6405352,12.337673,1.302698,1.3941012,21.5780412,77.9598046,77.4218482,68.7395145,23.2431021,58.0931829,24.5140131,67.9363641,34.8823409,61.0202607,24.1468928,18.8264015,85.8854766,2.6424441,47.414877,15.0423856,1.4025567,1.4962595,21.473924,75.7865127,76.4044905,67.9661445,21.7101668,56.0153433,24.7433972,66.6765068,32.7916909,59.5813671,23.6138058,18.4182163,85.7273209,2.9972067,45.8924214
66,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.158242,2.1503393,22.6666349,58.6624138,62.0200399,53.2240113,25.3593326,16.2891067,19.6270174,64.5107239,34.8918989,40.0790983,29.9019458,22.9876141,60.0054762,3.2981546,39.6763168,29.301725,2.0253042,2.0414775,21.2055478,59.4836797,62.271418,53.5362859,25.3399313,16.6930816,20.5650235,64.0669463,34.610794,40.5930021,28.8553093,21.9660766,59.7698079,3.7187849,38.2154951,27.9639134,2.1069841,2.1557408,19.9088747,60.7742059,62.7773143,53.3832591,27.2232155,16.3740485,20.7786335,63.6376423,35.2732908,40.5421113,28.1050879,21.4171891,60.1416533,3.647834,39.0695136
67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2263776,1.2748728,16.4395467,76.5102794,79.9730931,64.0781224,22.4284861,53.6896607,26.4909784,65.4028887,34.8208041,49.7219547,20.2324183,15.5667887,83.9443265,4.5389187,39.8537325,10.7768888,1.1133814,1.155428,17.0253945,73.8488475,76.7598166,63.6598149,23.0565704,52.0429778,26.5385075,64.8485965,33.8525892,50.3739521,20.3841727,15.2550521,83.065373,3.7637928,37.9600751,10.1053176,1.0289971,1.0704513,16.2323241,72.1748153,72.4144303,63.5448596,21.9397326,53.6052697,26.7860023,64.5776025,33.437786,49.6463811,18.617399,14.1702429,83.1151227,3.4356191,38.4137559
68,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.75614,2.7362714,26.7802703,55.037655,58.7092014,51.7896223,24.9484864,10.8618109,15.2022196,64.4675226,34.6799689,44.7212782,33.9044121,28.1088742,58.7112688,2.9841308,36.1443884,35.2397263,2.3706683,2.3706683,25.829009,55.8464448,59.1867427,52.6361229,25.3925151,10.8211022,15.4728753,63.7043976,34.7643138,44.2303946,32.8446488,26.629948,58.0083956,3.0631463,36.3337809,34.4796262,2.2217063,2.2217063,24.1458319,55.4833176,58.961201,52.7298779,25.1011741,10.1710394,15.2648333,63.8621236,34.5840372,44.7336947,31.9650643,25.9531394,57.8017367,3.0693659,36.3682057
69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.9976207,2.050807,26.9729028,67.0801524,68.8765476,58.7831732,29.3029489,12.0473133,15.749065,65.6579784,37.8364466,44.4682403,32.158957,26.1237998,52.9077157,3.2172295,37.7424701,23.7002894,2.1765495,2.2416371,26.9141989,67.0684085,68.7151787,58.9102156,29.0235723,11.6729523,15.8629289,65.5774959,36.7940184,45.413973,32.4274279,26.3216917,54.0239111,3.0211785,37.4322297,22.8748795,2.1079346,2.1787834,27.6000819,66.7985648,68.6099783,59.0788145,28.7632776,10.9648796,15.5443455,66.1443683,36.4791953,46.4476934,32.716344,26.8365498,53.8786395,2.9004155,36.3762909
70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0715793,1.1003032,14.7895268,74.6098796,75.4509343,68.8284601,22.0426078,65.5392936,26.9253669,66.1460697,35.3380029,45.4026703,18.0160399,13.9174736,85.1126927,6.3105113,32.7931739,9.3926787,1.0340058,1.0710291,14.5092402,73.6723924,74.4783936,68.3330235,22.1768134,65.0877927,25.7541615,66.1463649,35.2760443,44.4492277,17.8516621,13.7525012,85.4461971,6.7431201,32.6953574,8.9214701,0.935468,0.9721809,14.4990268,72.9415871,73.9809147,68.149348,21.4118135,65.0793055,24.4876266,66.8581738,34.3820696,44.5674225,17.7897119,13.8671859,85.3161942,6.3282842,32.9249601
71,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9757119,2.0267387,22.1281931,64.8802755,67.0432217,62.594463,24.1156612,13.026962,14.8069531,66.0062098,39.0726989,47.6564296,27.1513326,22.1272855,60.6094649,4.1474414,34.9411721,25.3444227,1.8179044,1.8543789,21.3764175,64.8196721,66.792851,61.6513654,24.2872796,12.8229127,14.9078459,66.6993902,39.7339025,47.4251001,26.2964848,21.2035083,60.0227515,4.282984,35.6676098,24.424308,1.6973727,1.7518171,20.333591,65.2112501,66.8642411,61.1139799,25.171486,12.7745761,15.0458669,67.2437766,40.3746103,47.0115748,25.572039,20.4106137,59.948614,4.4245405,36.1718571
72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.2960034,1.3084629,15.3326167,65.29763,68.2322852,53.1468975,27.1412855,11.2267444,17.7667973,68.4149148,38.522518,38.2688855,19.0781572,14.5684459,54.6597121,2.9252423,36.7700885,9.6250202,1.2863073,1.2990508,14.7466037,67.062078,70.0663375,55.0017833,26.4828515,10.305811,17.193845,67.1915689,37.4018541,41.3467781,19.0548988,14.3014531,54.7064516,2.7826134,37.1231029,10.771216,1.3541168,1.3626715,14.7476831,67.8298605,70.3154984,55.6627832,26.2775331,9.3393773,17.0491051,66.996747,38.523501,42.1997752,19.604625,14.7349327,54.2361399,2.6677437,36.7191496
73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.8830113,0.8978829,13.4874927,75.8614203,78.0122223,71.5025938,22.0493073,66.517284,30.4877983,68.5934465,33.7449138,48.122231,16.7668733,13.3800444,85.8081605,5.5076387,31.6481674,11.2816132,0.9627961,0.9635228,13.5245303,76.1412518,77.1753948,71.667237,22.0516164,66.4168005,29.7272931,67.708185,34.0871952,48.9818183,16.643758,13.1433991,85.7566045,5.8006816,31.3272409,12.5000094,1.0760005,1.0953157,14.0147724,76.2220177,77.4798203,71.5070998,21.465126,65.7003183,28.711955,67.0736456,34.2157538,49.2929166,17.1699886,13.4246557,86.2866449,5.8004108,31.4669238
74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2.0084919,2.0513026,26.3454588,68.4670126,69.7752165,59.1365476,29.7850263,11.9693445,16.7406618,66.1182263,37.9186482,44.6208001,31.5883434,26.0967449,52.4970918,3.5162616,37.3447505,25.1043762,2.0502507,2.0876541,26.1841702,68.1356857,69.5929152,59.2538882,30.1542388,11.7090675,16.6933992,66.1775201,38.2840844,44.3584809,31.7416899,25.9619707,52.4371944,3.6329983,37.5628482,24.2533455,2.0350951,2.0854114,26.9184513,68.0150055,69.605474,59.8357595,29.5806386,11.8027561,16.3645641,66.0750395,38.0621388,44.7024316,32.1095706,26.1882034,52.6170419,3.3786029,37.6695962
75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1.0188226,1.083909,12.8509432,78.4368403,76.8037724,72.9376966,22.962616,27.6017983,21.5441077,65.4554103,32.7104797,50.6781848,16.3253139,12.4141093,64.9119248,14.6111685,39.8022665,7.3001713,1.0317903,1.0914927,12.6582114,77.0462113,75.1802523,73.0350391,23.5924607,27.4064739,21.0419313,65.8497613,33.1047525,50.182864,16.1630022,12.2383558,64.3582221,14.4976237,39.5020113,7.6339009,0.9787677,1.0179763,12.8049626,76.8213607,74.7412729,73.6171602,23.7984176,27.1108484,20.196487,66.2744181,33.2597839,49.782805,16.0756352,12.3200743,64.1236167,14.7047169,39.6836112
76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.8074066,0.8636871,13.4122199,77.6194937,77.4957799,72.1023459,22.8991417,66.2934287,24.1066268,67.7883569,32.8786286,48.6920698,17.0739567,13.2118236,86.106913,5.3949726,31.6508112,5.2469795,0.8581928,0.9381902,13.229396,77.8650386,76.9869158,71.7068746,22.0711321,66.8738162,23.8295065,67.7826778,32.5731388,49.1076615,16.8668986,13.1132205,86.21084,5.4775716,31.7272818,5.925242,1.0252471,1.1136437,13.3894332,77.4647014,76.7346579,71.1048057,21.4535269,66.9330971,24.3723896,67.8664171,33.6174667,49.2877403,17.4082348,13.5650017,86.19013,5.9409853,33.8416692
77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3713386,1.3958248,18.7591044,65.4787447,68.0927976,55.9955532,31.7981218,11.6301736,14.5104113,66.103931,36.7506642,41.1590339,22.7044684,18.1117754,49.4497509,2.8637624,39.4793447,13.7658402,1.4100519,1.4640809,18.6594541,65.8601843,69.4231036,55.9954475,29.7696245,12.0261873,14.7475222,66.829471,36.5670116,41.2482313,22.9533779,18.1779586,50.0911771,2.7290078,39.3023497,12.7760373,1.2838036,1.3380279,19.2633654,67.4158555,69.3885377,54.5454482,29.6497874,12.6621354,14.7869174,67.2840383,37.0347074,41.0327672,22.9453715,18.3458417,50.8638807,2.9319148,38.7650597
78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5185101,1.6242926,10.0340107,76.2694629,76.335803,77.7190212,25.9583146,19.3313099,14.9004805,67.1449567,37.5570623,46.4025326,14.7854832,10.0868231,55.2701278,10.5221712,40.2645812,4.3991369,1.4343703,1.5102255,9.9464192,76.9943501,75.8646337,78.7765427,25.469009,18.3915171,14.9072056,66.668704,37.7384973,45.5833182,14.8388426,10.2650488,54.1599046,10.1336709,40.8397469,3.6504384,1.1169872,1.1935396,10.1280016,77.2511382,75.8331978,80.9099505,25.3884785,19.2203441,15.4268923,67.3377269,38.7294668,46.2934669,14.4391917,10.1939198,52.4674011,10.4769308,40.7548991
79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.1873198,1.2351402,19.7660979,64.7900393,68.8502427,53.5158898,24.6639829,13.0354124,16.8987677,69.1317937,41.4774678,42.3135674,23.542465,19.5088351,56.936659,3.5933726,38.092811,15.6592741,1.1912962,1.2404954,18.0438815,63.7019337,68.6824197,52.7687967,24.8247421,13.0512994,16.642096,68.936521,41.8305002,40.9638733,22.8046983,18.4709514,56.7321289,3.6172661,38.2627092,16.6491017,1.2586183,1.2708998,17.5965073,63.9526057,69.0321036,52.5446272,25.2786026,13.4118135,16.7759694,68.0053604,42.0692355,40.9583728,22.4185458,18.4272766,56.2967576,3.6627152,37.9879157
80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2.1160758,2.2114165,28.2228986,67.2192978,69.0126117,59.5619259,27.4270816,10.5827807,15.5340355,65.6712805,35.3000035,46.8300062,33.3830951,27.401274,55.0550048,2.8535672,35.6821102,21.1436099,2.1435376,2.2414502,28.409429,66.6861092,68.4329411,59.9280167,26.7864549,11.2035095,15.5255778,65.3324677,34.9160415,47.5116381,33.8817443,27.9814151,55.9896003,2.8284195,35.7288315,20.780852,2.2743499,2.3620844,29.5615447,67.0424349,68.6912741,59.8872177,26.219724,11.1871505,15.4722824,65.6798005,34.9804124,48.4699761,35.4526212,29.4625113,56.3352664,2.7383014,35.4798623
81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.0303335,1.0323173,15.3366829,73.8106797,75.4940923,68.8549371,20.0639078,62.3660623,30.0059589,69.1618239,32.6908395,45.3681145,19.5543728,15.4579748,85.0109944,4.4959326,33.6132236,10.1941286,0.9465435,0.9513681,16.1702595,73.618424,74.8066671,68.1159277,21.6318842,61.549004,29.719502,69.314683,34.0757208,45.4859618,19.7695036,15.7978973,85.1830864,4.4658815,32.6071628,10.4838608,0.8068252,0.8117445,16.5354281,72.6821761,74.5297863,67.5107446,21.7671746,61.235714,29.1004074,68.9688871,34.2050615,44.1715731,19.5839694,15.8226913,85.5979899,4.1899121,32.417247
82,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.883376,4.9729189,38.6730882,64.6326638,67.394323,53.4633686,20.4818953,10.225588,16.0435757,59.8781342,29.1264319,51.1107211,46.0895489,38.4392333,59.2088342,1.8864737,40.2427841,37.6475391,5.2588025,5.3814998,40.2378233,63.5410479,67.4053541,53.7965675,20.0763597,10.3444054,16.6599397,59.9029992,30.0935992,51.0417185,47.8897336,40.3274074,59.7595404,1.7283822,39.7195053,39.7576504,5.5412291,5.6066382,40.7819682,62.2502332,66.7799413,54.0876569,19.2858545,10.5217272,17.6968486,60.4048586,29.2321684,52.0724,48.7775262,41.0356697,60.886791,1.5596485,40.021374
83,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3158063,1.3681554,11.3732697,57.2079716,62.402308,55.4563845,31.304118,2.4608285,12.3947691,68.9027114,44.1510911,32.0447166,15.8343643,11.5480528,31.205207,4.5873517,36.8962122,7.4144811,1.2994338,1.3414558,11.966583,58.1939533,62.634592,54.6681424,30.4737111,2.523688,12.88045,68.5405046,44.4945809,32.7412471,15.7182106,11.5188395,30.5567311,4.3559071,36.477131,6.6326893,1.3684469,1.4090245,12.1494579,56.5162155,60.3253955,54.2102537,30.7652594,2.3919415,12.492375,69.6313675,45.5072524,32.170282,15.8163225,11.5835242,29.8979588,4.4546559,37.1440172
84,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.8505719,3.9667713,37.8153824,75.05597,72.2020962,69.355359,21.1159527,52.6765609,21.5533826,57.7474711,28.1530358,57.1137843,43.8314656,37.4475462,83.7085847,4.4164591,36.4284044,21.4066772,3.9253393,4.0483422,38.2813161,73.9980323,71.4876189,68.6968074,20.1758007,52.6921357,21.2042804,57.4071548,27.3978126,57.1207076,44.1147501,37.7961857,83.7497093,4.4150988,36.7935556,22.5008285,3.9001561,4.0062588,38.7434383,74.7792082,72.7417271,68.337194,18.424641,53.4861571,21.2418044,57.1328035,27.0371398,57.7836008,44.7606334,38.2715532,84.2268169,4.1085697,36.3928861
85,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9918571,2.0306777,19.6151586,77.6653637,76.8271372,73.5408421,17.8152546,58.3677331,26.1117261,60.1847431,29.4571259,57.1005369,24.4899223,19.6209096,83.8878918,5.610312,37.452842,17.1544036,1.9765569,2.0145639,19.5794152,77.7987083,76.9243445,74.3355753,18.3238276,58.068774,25.9516153,60.1650541,29.53149,56.2708786,23.8113705,19.224298,83.578744,5.5938338,37.6908514,17.3170732,1.8264667,1.8742307,18.8844052,78.0483857,76.9820776,73.7827751,18.7955663,57.5366694,25.8977905,61.2383278,30.1453746,56.2772766,23.184502,18.6424848,83.2049935,5.6268047,37.9151141
86,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9714108,0.9703976,8.3165137,59.8798005,62.4507936,57.8534281,31.5193095,9.5755288,15.8839894,67.9062545,44.1386824,35.1504118,12.6916427,7.8567362,43.7521723,4.684734,39.1352683,6.6177524,1.0724531,1.0739789,8.1399788,59.5254595,61.5907649,58.0963927,30.8269889,9.710417,16.810554,66.6610081,43.767218,34.6880628,12.8822514,7.9794321,44.0807127,4.5087187,38.4475968,6.9322413,1.1944769,1.2037506,8.2753679,60.5732112,62.4245118,59.2980495,30.28145,10.5099282,16.3583379,66.2839668,43.687395,34.6750554,13.218949,8.197378,43.7903945,4.6835736,38.0102752
87,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.1540983,3.2146511,31.8884092,60.4045412,63.9222796,54.4137229,21.9514965,18.7496681,19.2136636,60.9765067,30.9758265,50.2005384,39.9660638,32.3570483,65.544301,2.6407066,41.6365386,38.0014982,3.133505,3.2214971,32.198773,61.5595805,64.6130858,53.7709945,21.7747407,18.7791115,20.0974344,61.4924237,30.7304019,50.3004512,40.1398198,32.7362385,64.987381,2.4437487,41.7889893,37.606019,3.2144171,3.3770604,31.5832611,61.5739237,64.5047955,53.6797262,21.6433077,17.9103092,20.7888355,61.4133447,30.1012347,48.6581819,39.382129,31.9622437,64.3808518,2.5517341,42.9174484
88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2704553,1.3637963,17.4300451,80.1733958,75.9757927,82.9818153,15.1825099,56.6570103,21.441119,60.3606532,23.5680029,54.5041267,22.2162435,17.9724575,84.0188407,6.0477763,34.4869201,15.9063653,1.3363802,1.4214889,17.4954266,79.85352,75.8580119,81.4451277,16.5392045,56.6050544,22.2456244,62.2335646,25.6684484,56.1077071,21.7716212,17.3699781,83.4975112,6.8232047,34.0418453,15.1307654,1.339717,1.3830301,17.7175759,80.4629324,75.3979993,80.8843266,17.4928024,56.1221472,20.4586603,64.1356878,27.671204,54.8029819,21.6985032,17.6999244,83.1552847,7.0817686,33.2946642
89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.4508694,1.5124191,21.1552791,78.0287546,78.3026654,68.5480475,21.0828272,55.5901288,24.2382994,64.4817815,31.1275294,62.4098231,23.2955249,17.9803319,85.8495469,3.3491586,45.5001967,16.8085321,1.5642501,1.6863683,21.7040688,78.1833312,80.1532771,69.2214795,21.1964196,56.0260578,24.4254119,63.7879129,30.7032675,63.5734094,24.1907927,18.5258587,86.2569383,3.1782442,44.2378233,19.1079897,1.8517562,2.0353627,22.6203315,78.3191089,79.412826,68.2812608,21.3805316,55.0758294,23.0898754,63.2939212,29.4498466,62.9765088,25.4550276,19.5389704,86.0416489,3.113781,41.5855122
90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.7730405,1.8469855,19.1283288,66.252201,66.7498143,62.9460546,28.6099083,14.1527725,18.0037978,66.403482,42.1873852,36.4594149,24.2850927,19.074059,48.2418759,4.1919155,30.7936466,19.1466134,1.844285,1.8509623,18.8899176,66.7269753,66.8660571,62.4862254,28.4793679,14.0344615,17.470872,67.0893376,42.102799,36.5225196,23.8384274,18.6567663,49.1292791,3.9044652,31.3742977,19.2222359,1.9642369,1.977549,19.0658933,66.7510112,67.5669676,62.9537821,28.7991803,13.2522306,16.4049955,66.4867381,41.5436896,37.3216892,23.9156563,18.9617958,49.1345429,4.1370747,30.9527055
91,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7947958,0.8330027,10.4134545,63.597186,63.8947825,61.4930659,30.4039507,7.8883737,12.2424109,70.339667,45.6710928,40.9960031,14.2276443,10.3948915,47.0721026,5.1169975,36.1646425,10.3284383,0.7809007,0.8147055,10.1954809,63.4847351,64.1365823,61.4764159,30.5662113,8.2693763,12.548296,70.2136098,45.248666,40.7385334,13.8640573,10.0644255,46.8511616,5.1437515,37.1280148,9.8047924,0.7446613,0.7806608,10.0809283,63.7616247,64.1655321,62.363339,30.4616993,8.1956808,12.835978,70.7855483,45.1003652,40.5447541,13.6297207,9.841842,45.765202,5.3725814,37.8565405
92,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6.9230168,7.0607927,44.7787017,63.9961899,65.4119047,55.4788564,20.3359897,12.1847007,17.6552647,59.0288236,27.4590818,53.6508154,53.2448853,46.0997269,62.5849605,2.3998019,42.8013797,42.5087543,7.0576803,7.1726694,44.0644332,63.0315368,64.8359959,53.4332209,21.1408914,11.0816214,17.349098,59.2643308,28.5706301,53.4083735,53.2311335,45.899614,62.6318099,2.2846216,42.0502316,44.7938347,7.0091794,7.102006,46.0615035,62.9169212,65.0551234,54.6554025,22.3552711,11.5759442,18.4854064,60.6344508,29.5267846,51.9620686,54.1717761,46.904301,62.6825874,2.4027521,41.9264269
93,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.2101771,4.5048116,39.6893518,63.9190543,63.1699752,60.915891,20.8239587,6.5408071,13.5792345,57.7021748,30.6859531,46.4245753,48.0894707,40.5944585,50.1251089,3.1571261,33.3250658,36.5302278,4.3172902,4.6077106,39.8023728,63.2346347,63.6000789,60.7426593,22.0683584,6.3486328,14.1385472,58.5953392,31.4477539,47.2863805,47.8725823,40.6200232,50.2726532,3.207936,32.5646431,36.8852772,4.5821836,4.8738189,40.3917131,62.0789233,63.448403,62.2973745,22.0640267,6.4980977,13.936095,59.1551649,31.0873387,46.101811,48.7640009,41.5654117,51.1259492,3.1243551,32.3393776
94,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2272881,1.2722182,14.5827297,61.7407589,65.3156389,56.5973881,28.1413498,6.3191508,12.6738896,66.8488828,42.7520143,34.87777,17.3805447,12.9063667,42.4906574,3.0599933,37.9982853,14.6046755,1.3251591,1.407396,13.5677439,62.9241812,65.5160298,55.5884416,29.2218372,6.5391209,13.5116994,67.192293,42.5011688,34.4012951,17.3635121,12.7564658,41.3585227,3.1084883,38.0345179,12.0629413,1.1288037,1.2559839,12.7660567,64.2721213,67.3136427,57.5588793,29.7158336,6.2538787,13.2810572,67.7437681,41.7676167,35.7409238,17.0388755,12.6877021,40.0787026,3.2525163,38.916031
95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.2823428,1.2690047,17.1592773,64.850906,67.4790174,51.2842603,27.2690586,11.425284,17.0059974,68.9801129,39.0377418,41.7479479,21.9242024,17.2875138,57.9259534,4.5180958,35.7575636,13.7010788,1.1993274,1.1866061,16.5543483,64.9954822,67.2347436,51.9445962,27.6651526,11.267713,16.067409,69.426829,39.3570922,40.8431049,21.5306997,16.5795473,57.7706512,4.284829,36.9113405,12.4194276,1.1487183,1.1257574,16.4500967,65.1243626,66.6234014,50.5982477,28.5022748,11.3126555,16.7413957,70.1210598,40.231881,40.3373873,20.9963068,15.9300266,57.6935135,4.1987436,36.1439495
96,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.538664,4.6129904,41.5861641,65.0326589,66.5669038,56.5165526,19.4663051,8.9146569,17.887445,59.4655575,28.9866382,49.6369618,48.473038,42.1545962,59.0804732,2.3956736,37.1033969,32.8702789,4.4647926,4.5040526,41.5675203,64.9156587,65.9210729,56.4184348,19.0962267,9.6279775,18.3386907,59.637485,29.0755922,49.2333478,48.7214999,42.3076977,59.2759392,2.3761722,37.0634618,33.7973771,4.6316238,4.6740624,42.7585775,64.3554865,65.4909904,56.7102113,18.840279,8.9240099,17.1655258,58.5840941,28.9170666,49.1165214,49.2613961,42.8068517,59.3134362,2.5065362,36.952179
97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.4906187,0.518412,9.8369172,78.0917543,76.705208,78.6541412,22.252502,32.3342978,20.5499352,62.5734158,35.5009701,46.9655732,11.5339811,7.935143,63.4973548,6.4586178,35.8802,6.2080537,0.5049925,0.5514438,9.4184639,77.9182734,77.4905452,79.0156506,22.0121015,32.8778981,20.4625564,61.4062304,34.9253574,45.9470064,11.9231369,8.2544794,62.4220139,6.631737,36.2913141,5.3225806,0.4698703,0.5169515,8.5593129,78.3006435,78.3892511,79.3262047,22.8290546,32.6324977,20.5241296,60.8064659,36.7333996,46.618851,11.9005395,8.1235421,60.8762581,6.5190543,36.7665385
98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1851576,1.2776823,10.1778708,76.0464953,74.2748673,80.5442854,24.6687321,13.6851515,15.4155349,68.5844861,38.518032,46.5356652,14.2197081,10.1414135,47.9213464,10.2081013,35.0945436,5.3191238,0.945537,1.0225192,10.3069667,76.9880028,74.3434829,81.1620304,23.5748922,13.3572799,16.2169949,68.0921625,38.2445469,46.3745464,14.4002406,10.47543,47.5927274,9.6561614,34.6371271,4.5342915,1.0052646,1.0136249,10.4733241,77.3629999,75.3828182,81.1218442,23.8053063,12.310712,15.2803248,67.5027956,38.653067,48.0032136,14.6374604,10.200243,46.9103696,9.8548274,33.3890188
99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0068871,2.0633757,22.2066038,74.0443718,69.6757842,71.5386694,27.5824486,12.9813793,14.2018756,64.6831619,31.9861392,47.5395729,27.5045213,22.6034076,56.3202078,3.9810142,30.0442567,13.4156871,2.0391391,2.1238991,22.0877421,73.6764361,70.3262484,72.2913988,27.6282318,14.3465216,14.5235075,62.7944955,32.4019024,47.9483149,28.0352229,23.0210765,56.8326145,4.2685144,30.6668829,13.0525669,2.3863835,2.4670901,23.0725186,73.8832472,71.5798382,72.5238091,26.5638319,14.5405586,15.3320008,60.9389739,31.0510466,49.4857691,30.0136167,24.4267562,58.163825,4.0143026,31.3241266
100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.3468134,1.4111883,15.0468428,65.4664547,65.9216815,56.2289077,23.7728623,13.3379442,18.8302687,68.9624841,39.3964227,40.5888611,19.8481142,15.2504112,60.4031182,2.9700845,34.4017746,15.079292,1.23196,1.2576306,15.847724,66.6806049,67.370541,57.4889239,23.6068703,14.8004543,18.6256928,68.6424905,39.2481206,40.7800995,20.0041083,15.3672574,60.2115846,2.9987188,34.4492198,12.8980255,1.1994107,1.2252505,15.4771273,66.6615009,68.6214989,58.3661625,24.2757301,14.0499243,18.2978752,68.761954,38.5305963,41.3460867,19.7151215,14.760536,59.197411,2.8418755,35.5319849
101,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.5196948,3.6174321,30.2706119,65.8739472,62.8264921,63.4328883,30.2679016,4.6106405,13.2027153,63.6260433,33.8012404,42.7142395,34.9924243,28.8224252,44.0947548,2.9219981,30.3589295,23.4981,3.5711862,3.6371688,29.5534993,65.7785859,62.634442,63.9561637,28.2602451,4.7862608,12.8613582,62.5444598,33.8007797,41.5199822,34.6494955,28.3817464,44.8706946,2.8220427,31.0058707,25.0877515,3.3036981,3.3685792,29.182469,66.4149258,62.3637694,63.6595812,26.6559997,4.2709708,13.2716553,62.0343992,33.3841381,41.2560007,34.9185536,28.7383427,45.1941333,3.1598271,31.3507229
102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6290544,1.5992238,23.7669724,71.1307551,73.5043749,66.7596254,24.3376155,11.1651341,20.4077581,64.8575154,36.2140056,42.675908,27.5379107,22.6597223,49.6654935,5.2759888,29.6747485,16.4286086,1.6124755,1.5959683,23.6301617,69.8729366,72.4509671,65.9868062,25.4770877,11.0293636,20.8783256,64.8112405,37.0068547,41.8916862,27.2199594,22.3385978,49.2152945,5.5623055,28.8965918,16.935655,1.6671096,1.6584178,23.2146596,68.5312063,71.7539965,65.7041672,25.7407772,10.9976427,21.0781544,64.7556321,37.113128,42.6115754,27.6895454,22.7900731,49.4115443,5.3909548,28.9415909
103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.1075074,1.1145433,11.7847075,70.5343548,71.0650664,61.0176512,28.8852504,16.5244568,18.1381043,67.2631689,42.5755981,44.8104118,16.0232868,11.2658631,57.4686088,4.5611165,40.9286143,7.2887848,1.145817,1.1592259,11.8036542,71.1828039,71.5400788,61.4154476,28.4883337,16.4218303,18.3904642,66.2621324,42.5609384,45.2019611,16.1932016,11.3690084,57.4050054,4.5612842,40.7437233,6.9521352,1.1062293,1.1182723,11.5968028,70.9632788,71.6373085,61.5292809,28.7887553,15.9469506,18.0042306,66.6361793,43.1706776,45.239401,16.1619205,11.341481,56.8395892,4.7162693,41.1434279
104,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9688386,2.0227323,26.8102215,70.8785055,69.8024407,66.75155,19.6275585,55.1967405,24.3725306,59.0425283,28.8220174,52.7727012,32.0239259,26.9171227,82.8405361,4.7794488,35.8640299,26.9271746,1.8460976,1.8727192,25.428302,70.9644779,69.586073,66.8317053,19.4910388,55.0602579,23.6298594,59.0006159,29.4784971,50.9300899,31.0384847,25.6938751,82.9440595,4.7693737,35.1271142,27.167493,1.8052692,1.838616,24.3738182,71.0635207,69.411217,67.3258517,19.6180801,55.1020792,23.5321272,59.2539456,29.4455409,51.3531527,30.2639788,25.0484066,83.0874869,4.9163938,35.5742945
105,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1610611,1.1576658,15.0750418,68.3636107,68.9168185,67.7351193,27.1345146,47.0280663,18.8333977,63.3242839,36.3984727,46.3473484,18.4174405,14.3990912,76.3374423,6.0447903,36.4973874,15.476173,1.1760019,1.1958006,14.8962703,68.8552938,68.5632831,66.67715,26.9276335,46.2697789,19.1568808,63.0811415,36.8857335,45.2711785,18.2489408,14.2788619,76.6833794,6.1242607,35.9318815,14.7429187,1.2401986,1.2677025,14.6175584,68.4654835,68.7495353,66.2657447,26.2583349,45.660304,19.5366013,62.7971632,36.8910505,45.269566,17.837783,14.0050321,76.4330683,6.0982895,35.682925
106,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.3599265,3.4762789,35.0596544,80.5297782,78.9973932,74.5442185,12.9524695,63.1293562,29.4725135,56.6560605,24.6641738,64.3191052,40.9423727,34.4675264,87.8639379,4.4843925,40.401143,25.3752974,3.3400212,3.4488156,34.5465353,80.8516121,79.2985106,73.9147086,13.3604561,62.710324,29.7347749,56.8687634,24.7297384,63.4829948,40.3208396,34.0693416,87.8893024,4.5733559,40.3209157,24.8983217,3.1697234,3.2802254,34.17606,80.9704806,79.3402257,74.0006641,13.9185887,62.2421905,29.0054747,57.5076823,25.550183,63.4330693,39.619769,33.4478124,87.411404,4.7652151,40.0733309
107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.4422985,1.4936746,19.5165876,68.0554472,67.0507311,57.7755546,29.2836579,13.2237473,15.7174276,68.7730027,42.0995681,38.3510521,22.7662789,18.2648354,48.9851237,4.0798441,30.2310203,13.2478234,1.18387,1.2177195,19.5830803,66.8526629,65.2378619,57.8924672,29.7837844,13.2689311,15.6269097,69.3754974,42.3838961,38.9488382,22.5786848,18.2074149,48.7671569,4.5963461,30.9957781,13.8968075,1.1872713,1.201277,18.7997967,67.0732651,65.0694422,58.9007022,30.4322317,12.9228793,15.7040616,70.0159855,42.9472533,39.2224414,22.0647159,17.934583,49.1867122,4.789964,30.8184509
108,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3586609,1.3493412,10.2205494,70.400872,71.6050712,67.5336519,29.3761201,11.1906904,16.481483,65.7122843,42.1534454,40.9473954,15.6265442,10.2560825,44.4578634,7.2461849,37.7250647,6.3741835,1.3101687,1.2776861,10.3394245,70.2601742,72.1825574,66.9891319,28.8379797,10.7648918,16.2866267,65.2987045,41.7974938,40.9337038,15.4635181,10.1730393,43.8612701,7.301459,37.5605984,6.3114908,1.3063333,1.2972217,10.7571709,69.5747595,71.1417881,67.1386074,28.5868748,10.4289532,15.5476574,65.7188758,41.3337018,41.969331,15.6083874,10.2003752,43.7710717,7.2306051,37.1977012
109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5905265,1.5982373,23.4636588,69.4089128,72.3566013,66.161849,25.496679,11.6904064,21.0346739,65.5148229,37.4610659,42.3969293,28.2606218,23.4070762,49.815419,5.2984089,29.5257542,15.2891616,1.7145123,1.7090192,23.2763595,69.6558934,72.8506567,65.2564391,26.3391102,10.8998628,20.8142735,65.4882089,37.3516408,42.4711701,28.4629209,23.2150573,50.1380208,5.628643,29.9275372,15.4461661,1.8093841,1.8149527,23.9811394,69.1634143,72.3744046,64.8855387,27.0951202,10.4889251,20.13179,65.457781,37.7536723,42.3789933,28.7065369,23.7297527,50.3061256,5.262672,30.7031192
110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1.7286746,1.6478044,17.6793076,60.6863924,65.2244573,53.6412573,30.3477991,8.1466777,16.0317737,69.4771915,39.7960532,40.8564287,23.410155,17.5702973,50.013048,3.4823711,39.1646815,17.131992,1.6574986,1.5827432,17.876009,61.250991,65.0820913,52.3731768,29.6997601,7.961037,16.0883575,68.3410045,38.3394022,41.9172409,24.2237492,18.1150264,49.8803104,3.3864462,38.3582002,16.6256363,1.631748,1.6368752,17.5179808,60.7919098,64.4266532,52.5147386,29.4978656,7.7263895,15.5333024,68.3467928,38.4706175,41.753757,24.0538501,18.0040869,49.2900521,3.2761876,37.6696127
111,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2.3218016,2.3740615,25.7322072,64.5044598,67.3692485,55.1285722,29.4734256,8.0044988,13.6609729,67.305304,36.9030138,44.1868473,30.2887333,24.1022953,51.7167418,2.6853771,37.0904357,16.0694168,2.7399763,2.7647276,26.7337946,64.2160252,68.3393352,56.1558991,29.3273515,7.8320424,14.3108059,66.6979075,35.3091155,45.1867382,32.0163263,25.1499631,52.0887136,2.6146286,36.8801218,16.7086513,2.955766,2.9898729,27.5234094,64.96896,68.8352621,55.8854658,29.0819106,7.8521322,14.4876299,65.8196852,34.3405468,46.4457679,32.6850924,25.9297988,52.3353784,2.4900096,37.068142
112,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.8381468,2.9268386,30.9593084,74.1030315,72.6155323,71.6831047,21.5433764,32.36382,13.7481884,62.0452566,32.6167756,51.6249291,37.6990323,31.0290742,71.7732442,5.2706467,34.4874933,17.7867985,3.2089222,3.2805299,31.4758154,73.7292427,72.5305891,71.9968944,21.3176617,32.6472634,15.0176342,61.0191202,32.6890651,51.1404236,38.2930504,31.5920457,71.9401482,5.2580236,33.495412,18.7639303,3.7183399,3.7687522,32.81237,75.3634882,74.5538941,72.4017906,20.1926982,31.794837,15.4873884,60.027594,31.7196258,52.3063556,39.6687839,32.7541748,72.4000854,5.3272794,34.0372564
113,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.3668553,1.3980521,13.3912367,68.9656017,72.2954991,67.3042443,20.5189518,63.5179066,28.1098965,66.575245,35.8943026,45.5091665,16.2464201,12.9117242,84.8620831,4.8582651,33.3192588,10.2508573,1.4051965,1.4493759,13.4787286,70.8756742,72.4864122,66.8144946,20.3491056,63.968268,27.9244776,66.8056219,35.9631544,45.3063097,16.5860453,13.1197356,84.5911259,4.8554324,34.6472719,10.5369985,1.3921454,1.4758636,13.2600734,69.9418279,71.4790397,66.340642,20.5170788,61.8355446,27.4657564,66.3460234,35.6321311,44.5945969,16.2785931,13.1740519,84.7706891,4.9396169,33.0716983
114,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.6563836,4.7574305,33.7927911,67.5326215,70.1332515,59.1556953,23.1378159,16.8695578,16.5826069,60.5357994,30.3135225,51.6421637,42.3950632,34.3725354,64.1024708,3.5520368,38.7377436,26.977447,4.6749972,4.76206,35.3896623,66.7994732,68.8246375,59.2717659,22.80486,16.8003671,16.4663183,60.474465,30.4307215,52.441031,43.6043754,35.7155762,64.5192546,3.5004054,38.4325242,27.7080356,4.9284012,5.0018548,36.2661329,67.5793135,69.2393983,59.656428,21.4127051,18.2273978,16.6531905,61.0897502,30.2786407,52.8903307,44.3677873,36.7209401,64.8090261,3.5741207,38.2787023
115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.6017729,1.5901784,15.5548571,61.8733334,63.9693873,48.2029906,29.6933069,5.904883,17.2932768,69.3193746,42.5926779,37.1919364,20.8362755,15.6945352,46.7699294,3.5605086,40.5790441,12.5000767,1.7572565,1.7334267,15.9887595,62.8985225,65.7781722,49.4863496,30.3169236,6.8781559,17.6406079,71.1303776,43.5728005,37.2145783,21.3485283,16.230897,46.2105534,3.4936918,40.7500459,11.7788829,1.7297519,1.7177965,15.9691473,61.8419235,65.0972167,49.4985464,32.0115088,7.084548,17.7651738,72.184701,44.0255511,35.8629389,21.7242326,16.5144555,45.2550159,3.3557871,39.9697823
116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.1751063,1.2659559,13.8200221,75.8745209,76.1145032,70.0853627,21.2919101,66.7208336,24.7062913,68.3733506,34.0380522,48.6083259,17.767005,13.8938328,86.5791553,5.7610491,33.4996002,7.6693885,1.0786989,1.1460224,13.2555355,76.2778265,75.3976793,70.0610411,21.0314033,66.8329256,26.048255,67.7904087,33.1430043,48.1401473,17.4806609,13.3925302,87.0411936,5.4365549,34.4449831,7.6271632,1.0338817,1.0844121,13.8023679,76.8916123,75.7410798,71.8673848,20.6562464,67.5211146,26.7040159,68.1220689,33.4309558,48.6055384,17.2904604,13.1281642,87.5034092,5.2624826,34.3964556
117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.06441,1.1431293,16.827341,76.9282527,77.5534367,66.8340422,19.168176,64.259277,27.3420318,67.5809144,31.8797415,52.6403332,20.7263786,16.7600017,87.5993658,5.8740376,33.2674519,11.4078685,1.0022626,1.0614795,16.5348071,76.8128761,77.0931976,67.4468498,19.2573923,64.3948371,28.1013334,67.7711969,32.3112438,51.8729818,20.4827833,16.5937668,87.0753388,5.7747937,33.6372722,10.5892647,1.0164255,1.0862737,15.6365211,76.2276854,76.2781844,68.0359005,19.3229425,64.0299329,28.8804686,67.2263819,32.4372325,51.6955214,20.0591756,16.0012656,86.8724224,5.8646244,34.2800558
118,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0049078,1.0071105,9.6693354,75.8775666,75.9686596,72.4015229,24.1425886,29.564173,20.7464175,65.2642621,36.8860653,49.3122221,14.229414,9.4198296,62.1489988,6.8700666,39.9230701,7.748538,1.0880783,1.1012759,9.9639595,76.0947441,75.8895781,72.6086753,24.1179013,28.7695303,20.7354358,65.5369259,37.5837556,49.3172604,14.4202871,9.7428114,62.0066126,7.1486733,39.2592556,7.8134284,1.1206069,1.1457631,9.9127112,76.1878832,75.7602696,72.9860503,24.1670186,28.223448,20.2297661,65.8688072,38.4411667,49.0911926,14.012945,9.6666943,61.2352391,7.1992642,39.8223945
119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1291398,1.1932942,16.1701245,62.8892563,66.2181416,50.8259523,28.2243291,15.4238156,16.3156405,69.425565,39.0074247,39.139946,20.3095813,15.7728929,56.1348559,4.2715063,35.6967914,13.2550469,0.9702789,1.0559968,16.1360687,62.9885456,65.9924967,51.2555821,27.6072703,15.6326756,17.0254506,69.0531052,38.5675058,38.3078053,20.0584761,15.5886245,55.9463009,3.9726395,34.6763641,12.8116432,0.9883822,1.0590755,15.5600637,63.7787246,67.4532377,52.353001,27.7727292,15.7077016,16.6147058,68.6777139,39.0244312,38.3436266,19.3639365,15.0694401,55.9459294,3.8875896,33.9668692
120,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3073016,1.3463249,15.7081859,57.6258153,60.4468303,55.1536644,28.3342048,5.8604922,10.7870661,66.1098986,41.9558753,36.628228,18.7997772,14.4760306,46.0539487,3.9093159,34.1274641,17.421995,1.4297836,1.4584721,15.8325355,57.4279945,58.7858435,54.3279542,27.5440517,6.2033246,11.1241017,65.8727298,43.3223659,34.1819802,18.125937,13.6955698,45.4254365,4.0372652,34.6869195,17.3727906,1.4778829,1.498373,15.3126977,59.030574,59.2110891,55.8417039,27.1276977,5.8443091,11.1078593,66.5377346,43.2560003,34.0485765,17.6019166,13.2416688,44.8794988,3.8104037,35.2917745
121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8518048,1.8352809,11.9651657,75.1492848,74.3317169,79.8697146,25.9730764,7.7729841,13.0218139,67.9398058,37.6876708,44.1322757,17.0673104,11.9973925,46.219005,9.0350272,36.3172332,7.4107011,1.6968907,1.6805806,11.7494427,75.0668279,73.4047243,80.3513975,26.3854627,7.8406961,13.1061799,66.5983733,36.920306,42.7004894,17.1558,12.106181,46.5985807,8.6222189,37.3400426,7.5220973,1.7549461,1.7519881,12.1809158,75.1403272,73.572514,81.0903288,26.3816987,7.2870591,13.6080263,65.7429679,37.6405015,44.5862054,17.2666719,12.1555568,46.6431331,8.658282,36.7337067
122,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1911269,1.2104057,9.90668,76.2748055,75.7777253,73.1730018,24.3907431,27.7810255,20.0361903,66.3272573,38.7994345,49.3108398,13.9966668,9.7095136,60.0945393,7.0559034,39.5941249,6.8223166,1.0850423,1.1139602,9.8642667,76.7470427,75.7595574,73.4669157,24.7074761,27.1363678,20.3234793,66.9773551,39.5726669,49.5620239,14.2067686,9.7689512,59.0630427,7.0036456,38.9799098,6.7120047,1.0595937,1.0854346,9.435292,76.2821499,75.1265199,73.2682844,24.4861265,26.0635618,20.340269,66.9313714,39.2925157,49.5168823,13.8694494,9.4525921,58.9178026,7.0347714,38.4483753
123,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.8821168,0.9078941,14.4210486,69.1966363,70.1068127,65.4146912,24.6242002,58.618292,24.539677,72.0795229,35.9350985,45.9045044,17.2686486,13.3319508,83.2213345,4.2981751,35.1681154,8.151979,0.9322878,0.9575584,14.9791795,70.0441661,70.9088175,66.7702048,24.0801511,59.5437625,25.4304235,71.6828653,35.2104323,46.450593,17.3956231,13.3797505,83.5947752,4.1734634,34.9917973,6.9286936,1.0395989,1.0648403,14.9348515,70.4217463,70.6992794,67.1908321,23.412477,60.8529762,26.3007896,71.5157698,35.1075548,48.2017733,17.3542121,13.3875658,84.2290832,4.1905231,34.6980675
124,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5327675,1.6530562,11.3430448,62.6059308,64.8606382,57.5823215,31.4851209,4.2574387,16.9118707,71.8548616,45.6453175,39.5181919,17.0025107,11.6288808,33.7365623,3.9137924,34.9906323,6.6929187,1.2920857,1.3714508,11.2903205,61.1751899,64.074262,58.8660519,31.3292361,4.4354994,15.8264547,69.9124945,45.5763932,36.4105042,16.6945481,11.3389039,34.4812171,3.633969,34.8948699,7.7235835,1.0692653,1.1497806,11.3486474,61.5018716,63.3965377,59.2648515,31.9041238,3.9220037,15.481594,69.2477448,46.2907661,36.5931672,16.3428883,10.8530291,34.0454244,4.392184,34.6082276
125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8472336,0.7937691,14.6868475,76.6925452,74.9541768,75.6062342,18.9312363,58.7570166,24.6293718,59.8185588,29.3617655,55.6294852,17.5255368,14.5078978,83.0625926,6.0328584,31.650939,13.0850935,0.7615676,0.7187227,14.2387532,76.8093907,75.6740694,77.3521203,19.2438721,59.0273359,25.0926767,59.4039922,29.7422009,56.1033262,16.8217847,14.0297911,82.6867844,6.4114556,31.8181744,12.4160933,0.7617015,0.7181284,13.2615042,77.6963113,77.3722787,78.5363964,19.9669664,59.2398473,24.9036144,58.8128239,29.9795578,56.5255571,15.7982064,13.3822928,82.8314753,6.0830095,31.9784482
126,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8250197,0.8266027,8.5914527,63.0786545,65.360608,62.9307483,29.9730026,5.9355644,12.0431853,70.0654546,45.2749361,39.5196218,12.9287384,8.818744,40.4362668,5.3399533,40.2897084,7.9505338,0.9029278,0.88801,8.2071964,62.5907161,65.6562378,63.2885127,29.6801337,5.7169621,12.2724744,69.9574858,45.2997437,40.0936872,12.6890249,8.7213648,40.4548294,5.2978582,41.0500724,7.4970511,0.896881,0.8755048,8.1213045,62.6561136,65.8995302,63.0481378,29.863707,5.7146237,11.8804074,70.1705791,45.3240764,39.8869899,12.5018387,8.5330015,40.1063323,5.450812,40.6279489
127,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1895498,1.1816861,10.7283931,63.8402106,64.4163192,63.7264191,27.8207004,5.7956463,12.4968298,68.3761386,41.390458,39.4904604,14.6503292,9.6844806,41.1566075,5.1899904,38.5433269,5.7990024,1.2204595,1.2323648,10.7039259,63.6268045,64.2362242,63.395563,27.6705584,5.5618552,12.0702777,67.9140578,42.3068187,38.1993415,14.2341227,9.3499507,41.1546102,5.1419999,38.722421,6.2829473,1.1778534,1.158394,10.5866534,63.4811599,64.5809064,62.0708055,27.2420465,5.3414957,11.7781174,67.849424,41.3823854,38.056067,14.0548495,9.3160746,40.1452417,5.5081675,38.6994151
128,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.8745225,4.9658814,49.4753452,67.3102341,65.622145,58.1266152,19.4033891,12.8300602,16.1845046,57.5565149,29.5125234,50.9096025,55.9081779,50.0369904,61.2570525,2.3224291,39.1458514,37.883626,4.8827004,4.9136591,48.1893596,67.2167065,65.7515955,59.173157,18.4877751,12.5247564,16.8432784,57.3097227,28.6012701,51.8961511,55.3005344,48.8435623,61.6326216,2.4024904,38.8282662,39.2644186,4.8443234,4.9114401,48.2265582,67.3040133,65.1864676,60.3124176,19.1761642,12.1055744,16.8727332,56.3133627,28.7390295,52.3730405,54.8843881,48.6981636,61.9055594,2.5043847,38.6257674
129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.0804353,1.0849878,11.8896706,68.5456737,71.5945033,60.6283844,25.6294731,26.978155,21.3279892,69.3074753,39.4578798,41.6744519,14.7679794,10.5873816,67.8925666,3.4251019,37.0570229,9.8802038,1.0943727,1.0990207,11.9818619,67.5896371,69.7574341,61.4396126,25.7489105,25.9845965,21.3266877,69.714228,39.8400712,41.4424309,15.0298243,10.5986415,67.081476,3.6127569,36.6268614,9.8101013,0.8912895,0.9240126,11.9215719,67.5590334,69.8995458,61.7168995,26.0839653,24.8388662,20.7263173,69.3297005,39.5870009,41.5961304,15.0610066,10.7150469,66.9446176,3.7293802,37.5336792
130,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.351783,2.3856473,30.4126152,72.5577409,71.3692302,68.8270044,19.8854321,54.0356506,22.5372554,58.9732158,29.0799381,54.6429749,34.9950486,29.9604033,83.4257075,4.6729644,36.0883641,26.6431925,2.3231139,2.351899,29.373498,72.1587583,71.3747015,67.974381,20.5653569,54.121123,23.0768904,58.9614715,29.4673925,54.176273,34.1370911,28.9854058,83.5132327,4.6465367,35.7890035,26.6259221,2.1752579,2.2116963,28.2944498,71.0505274,70.0974332,67.2239587,19.9172778,54.6416647,23.8243658,58.8884771,29.7599763,52.9931612,33.3070473,28.118456,83.3027204,4.645441,35.4069702
131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.6597244,1.6594618,16.4379073,66.2838694,67.999321,61.9076986,29.4324181,9.9706848,16.7772888,68.2865379,40.2443842,44.9266404,22.3982532,16.4275969,54.7889359,3.3871539,32.0719923,11.3738764,1.9288791,1.9425023,18.1226363,65.1299334,66.8713795,60.2805371,30.2923753,10.1289692,16.0051546,67.5189785,39.2676089,43.9506769,24.5094778,18.0673554,55.0208647,3.2507684,33.2973458,12.0934959,2.3118432,2.3778175,20.7775054,63.4323793,65.3544026,58.4066536,31.5117871,9.0850541,14.9362565,66.2523936,39.1001505,43.8012784,26.8935622,20.0223618,55.9734787,2.9767855,32.8103397
132,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2.4089295,2.4945797,30.5231885,66.6981091,68.847462,59.8183699,25.9771414,11.3510571,15.5177414,65.9718633,34.7640727,49.0945465,36.434972,30.3507839,56.7194985,2.7692958,35.3545116,21.9927491,2.6250315,2.7312708,31.9694395,67.9535398,69.6890915,61.4203078,25.4904833,12.1172618,15.8290078,66.394121,34.8235135,50.5080058,37.7139812,31.6026581,57.3071751,2.8919639,35.2387547,22.4829982,2.9325595,3.0335352,33.3800237,68.3486172,70.0391288,60.7709534,25.6944791,11.7281251,15.5727028,65.3017608,33.7138419,51.7420332,39.2307812,32.9864397,57.4282235,2.9222101,35.2408077
133,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1.4031807,1.4683844,14.4570031,74.4985084,73.6644459,71.1881437,25.2190998,23.0019959,18.7231468,65.9662804,35.6985586,47.6671737,19.0892842,13.8999565,65.1086679,4.9347289,33.8952432,14.6984184,1.3654174,1.431463,14.6137952,74.0157792,73.6533406,70.8239691,25.6025025,23.2667327,19.9659484,66.6821353,36.7577171,46.5190269,19.5275787,14.4251968,65.8967765,4.9120292,34.5483092,14.0117993,1.3014829,1.3556956,15.073289,74.7631438,75.0058844,72.2475052,25.8174334,24.6746871,20.119049,66.7763803,37.7251202,47.6021663,19.7227098,14.7931652,66.2438257,5.0087476,34.8096692
134,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.7886135,2.8478096,34.5999325,72.346046,73.9873227,71.6926817,14.5194182,23.3868507,18.2000681,61.3177929,22.0235781,56.3528419,39.3065206,34.562195,69.2774145,2.4322379,36.9503546,21.6321244,3.0598279,3.1814033,36.1007304,71.9041371,73.0511094,72.313371,13.8884047,23.4567227,18.2835471,61.1936888,21.425289,56.7973366,41.6005964,36.1913892,70.3093509,2.327283,38.3379888,23.2051282,3.1098037,3.2314969,37.6009148,70.919156,69.5917253,72.5690062,13.6182681,22.9028458,19.3180366,60.2574112,21.1388971,54.7434068,42.4882629,37.1898055,70,2.6773296,38.1118881
135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0.9534905,0.9929429,12.2840221,74.2600859,75.3719649,69.4951746,25.6376133,23.3950435,20.9201661,66.8133746,37.6850112,42.5322806,15.873381,12.1097436,65.9949174,3.9032716,35.7007944,9.0281832,1.0089261,1.0406633,11.9562049,74.2611951,74.6803595,68.417817,26.9003833,23.7015734,20.8530224,67.8460256,38.5175492,42.5323969,15.7094804,11.8651875,65.2406185,4.2967135,35.2610419,9.6395707,1.0175793,1.0551986,11.9422843,73.0652234,74.5877058,66.5366113,26.5206578,22.3722931,20.6191856,67.9731007,38.1193272,41.8087816,15.6795909,11.7464224,65.4355708,4.2421852,34.4923893
136,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2306338,2.2306338,19.9376427,72.9911981,72.860462,73.3096805,17.7412184,22.5804467,24.203102,67.1339391,28.8084459,47.6342054,23.9443872,19.6189495,69.4228635,4.6474359,37.9649891,30.2631579,2.1623363,2.1623363,20.7491421,72.0374442,72.4396891,74.3539269,19.4628293,22.3879756,24.5885334,68.3032907,30.0193028,46.3163004,23.6445783,19.6285141,69.3513514,4.2497377,37.4730022,27.393617,2.2747543,2.2271353,20.5509372,72.5820017,74.6109846,73.7295018,19.2421559,24.6592905,26.3397917,68.0578255,30.5957038,47.2616322,23.4031936,19.4111776,68.5363248,4.6161826,38.6792453
137,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9169774,0.9055383,8.2487932,62.041451,65.9290507,62.8826618,29.9426671,5.6642616,11.91444,69.5113374,45.7056443,39.713599,12.8237413,8.6058931,40.0977781,5.1974879,40.3489368,7.2014085,0.9381975,0.9196157,8.5376424,62.2125618,65.9165755,63.2174483,30.0809831,5.4572277,12.0908777,69.9029629,45.986987,39.2166475,12.7507226,8.5733737,39.8211189,5.315328,39.7810073,7.5505387,0.9543585,0.9531056,8.5604964,63.6928275,66.524687,63.4949036,29.2005322,5.4058795,11.7094534,69.5010587,45.8011086,39.5567798,12.2757717,8.1711808,40.2826608,5.3248354,38.867488
138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.1857595,1.195282,15.1371506,71.6925571,74.0139371,66.5982536,20.5517933,61.8598269,28.9300514,67.7291287,35.0588407,45.9307495,18.3032933,14.6705521,83.6035916,5.1244828,33.347507,10.0706322,1.1039512,1.1137044,14.6020208,70.8565378,72.6808983,67.3346514,21.4522132,62.0109577,28.4766644,67.9299313,36.0329679,46.3446435,17.4508149,13.9319861,83.9399966,4.9791577,32.1057375,9.9221365,1.3364266,1.3678823,14.1836201,70.2170513,73.3593066,66.322843,21.1105759,62.3020528,27.8952647,67.544811,36.0832574,46.1131335,17.2831521,13.7073128,84.2161905,4.8170355,33.0303807
139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.4853516,1.5446856,18.9235176,65.9124952,67.5784532,62.1158321,26.0451095,12.6333025,15.8412909,68.3765083,37.5475475,42.1947525,22.5317382,18.1452785,52.8760025,5.2711259,34.4010779,19.1635384,1.580481,1.6038886,18.5560459,66.0120701,68.5085305,63.498591,26.4275501,12.0161982,16.0483847,67.9349274,37.6331667,41.66983,22.7982573,18.2400119,53.0778209,5.1892871,35.2340123,19.1032093,1.6645209,1.6853253,19.0388047,67.0032915,69.1419096,63.4850164,26.7227392,12.1282039,15.9862443,67.490748,37.9021706,40.7677902,23.0709696,18.3399067,52.6118223,5.1716644,35.3776489
140,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5589804,1.5568777,12.5849246,62.6288079,64.9745213,60.7924369,31.2032173,1.6733289,11.3850666,66.9365771,42.2180695,33.3172094,17.2220297,12.1486901,29.6679733,4.1355199,31.8362495,13.0348867,1.5807759,1.5139686,12.6490697,61.1453437,61.1147089,58.4521302,30.9106563,1.6871743,9.8564399,68.3941011,43.4301769,30.6466891,17.2495288,12.5707263,28.3842772,4.6793897,32.1071924,12.7498392,1.5997516,1.5305744,12.9882409,61.3670967,60.9535542,57.9103392,32.0836457,1.5906114,10.0544791,69.3393778,43.7256998,30.4593118,17.8544705,12.92054,27.6530841,4.7147281,31.8044613
141,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8895157,1.9401741,11.8454694,55.5072337,55.3843666,56.6659158,34.3965526,2.5283256,11.4092875,68.7436559,47.661398,23.7820504,15.8414831,10.8602511,21.9239867,5.6279538,32.2095366,10.946752,1.861211,1.9114253,12.1380004,57.0201484,58.0145506,58.00443,34.9957018,2.3905683,11.1043746,68.0796222,46.8740735,24.5324576,15.4356013,10.5491002,22.2612717,5.5866666,33.0013768,11.3496933,1.6869525,1.7374711,11.637114,59.1153658,59.6434302,59.1721105,34.9362192,2.5996466,10.5039889,68.023584,46.5989121,26.0473033,14.9784858,10.3608448,23.3167623,5.696505,32.9573196
142,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3881152,1.4304584,16.073983,73.6957593,75.9913295,66.0062586,23.4763504,56.1246723,28.9150014,68.7295934,37.0008273,47.1499411,20.089822,15.7084304,82.745463,4.5478109,41.1240655,10.9354633,1.2931858,1.3375647,16.0841762,75.5662248,78.7034516,66.8554228,22.5751611,55.5836021,26.8402178,67.7731275,35.0393614,48.6409077,19.8293562,15.4666253,83.5502081,4.4674388,41.8302974,12.4976757,1.2568361,1.3034062,15.8711333,76.142235,79.6135733,64.8930333,21.8598758,54.343173,26.8793815,66.313782,34.1705573,48.685604,20.0285897,15.5420684,83.6115892,4.5426266,40.4733334
143,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8607285,1.8564191,26.9394575,68.0965193,69.958143,61.5320799,21.0662496,15.6676316,18.7952592,61.5504202,30.318521,47.9022969,31.722232,26.8512919,63.3564276,3.4184456,34.0012002,30.1101198,1.7195142,1.7490991,25.8995542,67.2869823,69.511841,61.6544252,20.863996,14.865792,18.4151403,61.0003118,29.7300769,46.4331944,30.4356565,25.7082418,62.6516613,3.2292357,33.2848992,29.3262311,1.6935536,1.7163311,23.9692503,67.2134922,68.7970596,62.0425059,21.1202446,14.9703555,18.6721013,61.6242081,30.2145382,46.4053949,28.6599859,23.94747,61.8419756,3.0736985,32.7371343
144,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9303422,1.9648808,21.3865061,77.5742707,76.1164354,74.4910388,16.7880739,59.3727524,25.640384,59.7682871,27.9341107,57.6331652,26.9053592,21.9381382,84.6581087,5.3308455,36.4510019,18.7819017,1.9565139,2.003108,20.8350904,77.887568,76.4087558,73.9070188,17.1891805,59.8773564,26.1020879,60.4719984,28.2169434,57.8140326,26.0680108,21.1692647,84.45428,5.4135014,36.5661654,18.1926436,1.9204407,1.9654497,20.4556771,77.7888353,76.6871028,73.5621485,17.735901,59.2404631,26.0161499,60.5010317,28.6541009,57.668208,25.2764296,20.4937893,84.3062412,5.5514015,37.1493874
145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0.811015,0.8451364,15.2045052,75.929587,75.3852852,70.3005983,18.904954,66.6545647,29.5680931,66.3343944,32.0161572,49.6024517,18.6206298,15.0335826,86.0052837,5.6945678,33.2218883,7.854024,0.7159628,0.7429544,15.528818,77.8748899,76.166571,72.4529538,18.923804,67.5183025,29.9939726,66.867107,32.1558494,51.2389829,19.049711,15.2657765,86.170775,6.0531342,32.7092925,7.8271266,0.7909307,0.8235895,14.5687883,77.3525525,75.3654766,72.6869368,18.8300731,67.5260474,29.3294965,66.8835221,31.7954896,51.3377332,18.5027632,14.4008639,86.2064114,5.7789383,32.9855471
146,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.158665,1.2723167,8.7034916,59.1272408,62.69246,58.7009861,28.7394315,9.5658004,14.1354793,68.22854,40.4919111,37.4983691,13.3986915,8.7202838,50.3334228,4.0270227,38.1078083,9.615461,1.1443529,1.2052172,8.9138864,59.9588482,63.3739763,58.6475908,28.6193867,9.9768339,15.5044793,67.8675987,40.6422869,38.5536607,12.9795656,8.485929,49.4785923,4.2018836,38.7964637,9.1512737,1.1347045,1.2036073,9.6937275,61.2537329,64.2883387,58.4237676,28.5138034,10.5397425,15.7568007,67.9824342,40.7043401,38.7771237,12.9840329,8.5925635,48.793788,4.3390992,39.0180849
147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.0303942,1.0800205,15.5950476,76.0033619,76.5478387,68.4008339,19.8816681,64.6375682,28.5112984,67.1479905,32.7972671,51.2097424,19.8777335,15.8332926,85.9739094,6.0383849,34.4355052,10.790833,1.0595685,1.1035239,15.8264801,76.7944046,77.6848371,69.1614231,19.6871253,65.6998657,29.7692927,66.7780294,32.3119971,51.552628,19.8640585,15.4421325,86.035174,5.8554439,35.2567929,10.9294734,1.1255017,1.1688339,15.9443889,76.043282,77.4326505,69.5799789,20.609421,65.7207628,29.4402504,67.374008,33.3891106,51.1749343,20.3657041,15.7314473,85.9869394,5.7825557,35.1895723
148,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3279798,1.2575624,10.3673902,52.6775973,58.5721081,49.8306771,31.7082447,5.5402592,13.9395957,72.3644809,44.3810447,34.7914915,16.8399269,11.0630772,41.7285536,4.3304832,40.8854282,10.1987776,1.4558612,1.4124791,9.6918861,53.734285,60.5479959,51.4936162,31.1085898,5.098036,15.0038024,72.8496164,43.8383212,37.7049846,16.2061164,11.0248936,42.1429845,3.8724025,40.6812173,8.1577004,1.6830762,1.6392425,9.8883723,54.2624817,59.9960072,52.5127374,32.170178,5.3333249,14.1206024,72.5863177,43.5884072,36.4451485,15.7633388,10.6352533,40.9347898,4.1614684,42.2619083
149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1.1990738,1.2136403,18.9286053,77.4938161,75.1985953,73.4002019,23.8163829,40.4012544,18.0944682,64.5455639,30.7873593,54.2608156,23.0447436,18.6495779,75.2311728,13.2411883,38.5996191,11.3448345,1.201812,1.2198148,19.6333282,77.3236341,74.9359968,73.9868618,23.5572386,42.9555923,18.1488327,64.405809,30.3549696,55.8814573,23.8623224,19.298806,76.9326769,13.2709708,38.7871593,11.5841569,1.2739773,1.2776023,20.0493108,77.4611977,75.0493266,74.5445965,22.5748637,45.6093131,18.8237996,64.1330297,29.7940269,57.0307953,24.0184012,19.4539853,78.461647,13.1477833,38.556836
150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.1619564,1.1777071,18.8455372,66.4687927,69.7589264,57.4383877,22.0963167,16.76316,18.820994,67.4816953,35.8362854,45.4310065,22.9687608,18.6505851,63.9791489,2.5689996,35.3666151,17.1784804,1.2757268,1.3209142,17.9349486,67.0501228,68.5892432,59.8156557,23.2951263,15.72788,18.8248846,68.0032241,36.3279546,44.8548767,22.223909,17.8485381,63.3535618,2.6777333,35.2316845,16.5624792,1.3141306,1.3518937,17.3153417,66.1910171,67.8420825,59.3024855,23.9295065,16.1108604,19.2404455,68.2076879,36.9099718,44.6796552,21.9603691,17.66737,63.5748161,2.9366012,36.1093837
151,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5763959,1.5763959,16.4674513,63.6170323,71.6733444,71.3660335,25.3742366,5.4170029,15.384646,73.0363249,38.4438007,32.8389895,20.0104493,15.7262278,39.399093,5.0443459,35.3004292,13.0057803,1.7042735,1.7042735,17.1060546,63.9963097,71.7355748,69.3023855,25.5640436,4.1506345,17.6231344,71.3617197,35.8507477,34.7917487,20.8288482,16.0925727,40.2941176,4.9828179,35.0225225,14.244186,1.9905956,2.0114943,16.3962199,67.65847,73.3257618,66.8166111,24.4854195,4.039311,17.849547,69.4069892,32.9762073,36.7591283,19.9231614,15.6421515,40.8711217,5.4385965,36.7276888
152,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2236893,1.2849037,16.8845952,72.9847995,71.0539236,75.3921806,17.4580492,46.9408616,21.5757257,62.8723509,28.6491312,51.8536917,20.234375,16.5364583,81.8899782,5.270198,38.326226,22.5555556,1.3455567,1.3577281,16.5983536,71.3881817,69.1698886,75.3854913,18.5008525,43.7194373,20.2889337,62.6576698,29.1006885,49.5904261,19.6734059,15.7335407,80.7441608,5.1834131,38.9479277,24.0139211,1.1475965,1.1599605,16.8647025,74.0218156,72.0786254,76.9508177,19.2147984,43.1434352,19.6701855,63.2695144,29.7050375,52.1280283,19.8053656,15.8074698,80.6460519,5.3667745,39.1657638
153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3028968,1.3569423,20.2746418,67.4968397,69.1566755,54.3364026,29.4524973,12.119077,15.1802512,67.4637302,37.7204159,40.686431,24.0386891,19.151224,51.336282,3.0330625,39.8192816,11.6176799,1.4918202,1.5133079,21.1918663,65.9778529,68.3048855,53.845234,29.5867497,12.4111721,15.3195263,67.0753878,37.7568702,40.2011985,25.4133167,20.3903639,51.5360164,3.0320069,41.231138,13.9639724,1.7221551,1.7435439,22.0989074,65.1654247,68.2582105,54.6322498,29.0709777,12.438621,15.3800663,67.1088216,38.3303212,40.3734939,26.0672423,21.1370181,51.436022,3.2691328,40.5028161
154,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.2191671,4.2543524,40.9400298,67.8436422,68.4017594,63.6022495,21.3617403,10.6286975,18.3681357,59.0809195,30.4113838,49.2592658,45.8755237,40.1152489,56.3111744,2.8050295,36.5043949,26.7830309,4.5663542,4.5357842,41.3105399,66.5772226,67.1928812,62.8795033,20.2035529,10.2053487,17.8292613,59.1703878,30.0006997,49.1976218,47.1346004,41.0134247,56.7484125,2.693605,36.2252924,30.1714191,4.5606078,4.5304905,41.8698939,65.3145078,66.2416234,60.8844323,19.7191558,10.0386978,17.7268071,59.6214669,29.5504642,48.5820107,47.6756546,41.3873314,57.3368145,2.5730189,37.8045346
155,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3412408,1.435216,14.4015909,57.209838,60.6847344,56.9683744,29.9144272,3.8136411,11.5445719,69.4199033,42.1374386,37.5810282,18.2442792,12.8634638,35.6845756,4.3411831,44.6717248,10.1595724,1.2605803,1.4041747,14.1590645,55.7108187,58.465289,56.2348204,30.5215619,4.1902854,11.1988274,69.3464185,41.4595717,35.0962549,17.9411817,12.5213012,34.7424408,4.014962,44.8608256,9.000184,1.3544493,1.4552657,13.6636844,55.0797076,59.3036496,56.8032171,31.8891883,4.3559852,11.1955246,70.1513244,42.5426071,34.9385448,18.3686487,12.1780725,34.9788695,4.1877107,44.6022512
156,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.944251,0.9839791,11.4116018,69.7580935,69.8300765,68.8620307,28.0318306,43.2385195,20.1253673,63.7119378,39.5721697,44.5175558,14.9138983,10.9573543,73.5275083,7.0166179,36.3930886,10.2959173,1.0877244,1.0995072,10.9179926,68.9884829,69.6355424,69.5718964,27.7477,40.9747433,19.7206987,64.0308981,40.1011589,44.8125179,14.4970994,10.5649779,72.2053311,6.9350051,35.6650845,10.4562598,1.1018768,1.1137792,10.9853064,69.3293133,69.2068494,69.652036,28.0928811,38.4378273,19.8580018,65.0523958,40.1268519,43.5194404,14.227469,10.3177866,71.6589759,6.9954875,36.3932252
157,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0131789,1.0264698,8.1260395,64.0768185,65.7770157,60.2006937,29.4093993,9.1539262,16.2345007,67.2848076,41.2455659,39.353682,12.9356601,7.9801148,44.3305473,4.4691634,38.9430364,6.6177485,1.0508779,1.0575673,8.2498303,62.9226578,64.3318645,60.0136586,30.601886,8.9219119,15.7381101,68.5497826,42.9394814,37.6593443,12.8735421,8.0231102,44.1346246,4.6671431,37.7611306,6.851411,1.0092504,1.0082391,8.4425323,61.1680585,63.427051,58.5166549,30.2537755,9.332785,15.9334141,68.8305387,43.1140759,35.6665943,12.8634434,8.0253809,43.9710396,4.5862482,38.7270623
158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.0514823,1.063607,14.7997133,71.0416516,72.1143378,66.321386,22.3396429,61.1241519,27.6297045,71.6167477,34.6535646,49.8512846,17.3275059,13.5913171,84.4793936,4.1829949,35.1189579,7.0445912,1.066689,1.0789843,15.949985,73.7152663,73.9787074,67.8385937,21.5454381,61.9208971,27.8518326,71.837364,34.6037726,51.9058941,18.7065899,14.7297478,84.7694976,3.7814832,34.2728768,7.8595002,1.1388163,1.1388163,15.7644792,74.2547825,74.3792501,67.9863694,22.1251871,62.491059,27.7865857,71.1959621,33.7329749,51.8406991,19.0126902,14.6907231,84.2160906,4.1064416,33.986639
159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.2415282,1.2636247,17.0128633,72.2235042,72.6912933,59.2510905,21.0670564,30.0439334,22.6848065,66.0543476,33.8043436,48.3132212,21.0122988,16.8684918,73.7084141,2.8507995,34.2462941,17.5798953,1.1710381,1.2161889,16.0537351,72.4280674,72.6784526,58.8053796,22.1572073,30.7024937,22.4616973,66.8797154,34.8024839,48.3748676,20.8921955,16.5569893,73.7509983,2.7366188,34.2479722,16.6927821,1.1576899,1.1837677,15.5932174,71.9078684,72.934608,59.8916058,22.3223231,30.8392298,21.4764894,67.0381675,34.7305911,47.7630554,20.6062222,16.3236869,73.2341722,3.0875913,34.0785282
160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1.0957732,1.1225928,11.9309319,78.4458186,77.9050181,72.3919049,21.5261684,27.4119825,22.4858009,66.1024044,32.4898336,50.1393321,16.2564596,12.2117074,64.6090231,14.7345486,39.0195999,7.7515377,1.0160644,1.050324,11.9332698,79.1673343,77.7572954,73.1880628,21.6971481,28.267297,21.692279,65.594483,32.5212321,50.316814,15.915547,12.0263802,64.9376199,14.8170065,38.9330049,8.3169177,1.0451952,1.0787778,12.0431901,78.2470405,77.3064307,72.5420579,21.8045741,28.6318992,20.9438852,65.6378324,32.1555461,49.6983602,15.8088901,12.0062348,65.4881322,14.6464613,39.0380639
161,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7830706,1.7980133,19.9608327,58.9897538,60.110603,61.4011558,30.1636246,6.9189591,12.3371152,64.6906367,41.6192507,34.4484799,25.5739875,20.5681056,41.7391169,4.4253178,31.5726518,25.5027039,1.9235771,1.9881685,19.4084743,58.8985485,59.2417179,61.336263,30.9375363,6.6865882,11.6785718,64.4320817,41.1547515,32.7830607,25.4172548,20.2027315,42.010041,4.5240707,32.0141819,26.7483553,1.723038,1.7884415,18.2447927,58.9956249,59.4722522,61.7235948,32.9637165,5.6339044,11.6968095,64.7942527,42.0551,31.6457907,24.2863186,19.5287742,41.2358658,4.5064875,32.071159
162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.6116174,0.5796583,9.2611299,78.276336,77.1273323,78.4935976,22.4972284,47.1195964,23.1002237,62.2161313,30.850485,50.6827061,12.4870702,8.9710496,75.2363394,6.0550964,33.2101443,7.0997,0.6872561,0.654704,8.6753028,79.6903521,78.1722462,79.7287539,23.2353514,47.3906733,23.0793907,63.1149928,32.0712445,49.6762032,12.5990498,8.848393,74.8130315,5.9492354,33.5294225,5.9451238,0.5785309,0.5785309,8.348358,80.0023341,79.0375051,80.6675756,21.6403576,47.6236202,23.2079474,62.4195101,31.9341329,49.2917641,12.5065883,8.5044801,74.2187471,6.1034085,33.9935799
163,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.4158262,1.4176457,17.7964133,66.1074358,67.3068995,61.3361823,30.9175429,12.744155,15.7417086,69.7757342,42.2358643,38.1683199,21.4548746,17.1553006,48.9307972,4.849112,30.0930342,13.3951918,1.43449,1.4161847,16.974849,65.6733269,67.5881226,60.9287009,30.7413559,13.8561153,16.919822,68.578843,41.8770622,39.565459,21.1626226,16.7088014,49.0077509,4.9239331,29.4336202,12.0252911,1.3983218,1.3754905,16.7920617,66.6153836,68.978538,61.8821253,30.6667041,14.1268142,17.1163717,67.8494814,42.3879091,38.8163295,21.0860612,16.568614,48.6360857,4.628055,28.8473885
164,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.385592,5.6390352,39.8535012,66.8337075,65.7934674,52.8733734,21.3034244,15.270312,20.1638492,60.5775187,28.129486,51.4041575,48.835109,40.7125242,64.4646446,2.8889381,43.3528735,37.3556682,5.2575511,5.4715233,40.0722903,66.4630152,65.4812653,53.9463284,21.7139209,14.5129954,19.5387384,60.8741514,28.4158006,50.4813241,48.8051159,40.6935777,64.119148,2.9190607,44.9499722,38.58133,4.8475578,5.0108926,40.3547061,66.4729146,66.2379633,52.6458862,22.0411402,14.9256161,19.5971194,59.3503059,29.1979218,50.2488875,48.8630788,41.384058,64.4130372,2.7216122,45.4442343
165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.0774495,1.1811175,13.3793884,71.5228459,73.3355874,70.4542565,23.4964292,60.1008764,25.5951537,69.7451413,35.8564383,48.8081131,17.0164053,13.2396505,84.5737521,4.9119949,34.9184685,9.2156357,1.0219417,1.0877044,13.9641301,71.1333191,71.6912767,69.1623922,23.8743168,59.6901088,24.6351499,70.215961,35.9909488,46.2513609,17.4626462,13.6005172,83.79588,4.8774765,35.1480373,10.1922097,1.0084903,1.069161,13.4526425,70.8680655,71.018929,70.0063256,24.3775902,58.7113676,23.8434528,70.352824,35.8461032,44.7810532,17.3958817,13.062834,84.0550235,4.6396108,35.8363499
166,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.4151544,1.4538998,15.3294643,71.8124142,72.1128768,61.508285,30.6716887,14.7041722,16.5893932,66.8572924,41.9447724,48.9102135,19.6081491,14.0642182,55.645284,4.5072353,38.7100433,10.1824352,1.4446443,1.4953796,15.4103419,72.3714328,72.6019202,62.2355293,29.9178491,14.9259069,16.6373058,66.7541158,41.6919983,49.7834138,20.2698872,14.5369862,56.1280775,4.3788848,38.4256952,11.1908571,1.7202305,1.7639226,16.2751418,72.5132107,72.1109505,62.567743,29.2648895,15.5092816,17.1147425,66.4745188,41.8276604,50.6347459,21.3452504,15.4645842,55.9879513,4.2206637,38.3238331
167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2.5827964,2.6916751,22.0804082,72.066839,71.0941664,64.6882598,28.1160226,15.4583029,15.7232945,63.7908564,38.5722696,51.8398934,27.9692184,21.1149798,57.4649427,4.0495795,38.6500377,19.453459,2.8737065,2.9839524,23.7843778,71.4228529,71.0526112,64.9528436,27.736926,14.8239327,15.0535349,62.618121,37.5015308,52.0125918,30.1967967,22.9412096,57.2953901,3.8782528,39.3042287,20.835381,3.2587317,3.3551156,25.9244658,71.4462364,70.6028502,65.1510022,27.919161,15.0950909,15.2914677,61.8916677,36.8049762,52.2616668,32.8698323,25.37266,57.9802912,3.789173,39.7102588
168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2.2295184,2.2754107,27.9123034,65.5173529,70.4264096,56.6542481,18.9458011,8.6041309,22.5616272,65.3788574,29.6730476,51.5790441,32.7975582,27.8043926,61.2339276,2.2648055,41.7455906,16.0792684,2.2825738,2.3616223,27.7748553,65.6427221,70.1125895,55.0149255,18.861404,8.010882,21.0323107,64.3659423,30.9477253,50.0056431,33.1367438,28.3483998,59.6586622,2.3674961,41.5055277,16.8161205,2.1966699,2.3266518,27.208502,64.4328386,70.056259,52.6011678,19.2183097,8.2102299,21.775674,63.1170655,30.5396868,48.179487,33.2983018,28.0710496,60.0227326,2.5948979,40.7154484
169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.7749491,0.8566102,9.6983102,78.4253175,78.7715688,73.9749282,21.774657,26.3385157,19.7490271,63.4122005,34.3510122,50.7671471,13.5271945,9.9392297,64.5054655,8.2025696,37.6680232,5.9885954,0.852426,0.9241008,9.735322,78.6256387,79.1136996,73.943683,22.1122576,25.9345869,20.1953341,63.2693346,34.1751921,50.3276866,13.549843,9.9546752,64.6290147,8.189145,38.5018415,6.530217,0.7897984,0.896364,9.1758241,79.0598554,78.8230959,73.3192918,22.4368799,26.111296,20.192963,63.7894389,34.3975316,49.7440861,12.5523598,9.1412274,64.1557309,8.3728547,38.4544254
170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.6011456,1.6697759,21.5076039,63.7675529,72.2689071,56.3036532,22.7181316,6.9843315,17.1437354,65.8543234,36.9462651,45.4488763,27.9995172,22.1951396,54.3865506,2.7470625,43.1051923,17.2317027,1.5575464,1.6245347,21.3830209,64.0271372,69.8688688,54.569308,22.7398316,7.8983932,16.7567758,64.1391374,37.1490213,45.3395297,28.1998855,22.5397002,54.1826761,2.6732359,41.8340034,17.1512292,1.7661252,1.7916115,22.0493911,64.1827002,67.9524986,55.4587945,21.9413187,7.7034145,15.4496116,62.7000703,35.6780596,45.559609,27.780725,22.5653294,55.4352084,2.9762107,42.9665715
171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.6106253,1.6571816,20.5420093,68.6792652,68.766795,64.7911521,27.6151173,11.6430063,14.3932083,68.2102043,37.360196,43.0019991,25.8543209,20.7203593,51.4622377,5.4162572,34.4729935,21.1949625,1.6693325,1.7145124,20.7998483,68.0920667,68.0809816,65.3936817,28.3086149,12.1266047,14.9674834,68.268959,36.5051574,43.7471654,26.18144,20.9657008,51.5408701,5.2150699,34.4292517,21.4197496,1.5484538,1.5678848,20.8761,67.0077282,66.8811829,65.3464735,28.0636596,11.8185878,15.3748048,67.6598479,34.9139375,43.3188708,26.2982442,21.089752,51.2173542,5.0261204,33.8941585
172,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.9810783,2.10816,26.0263368,66.3246694,72.5563981,53.5043992,18.9564742,8.9891284,22.4098513,63.5583038,31.1418242,47.6748209,32.3412679,27.2554826,60.2055865,2.4559428,39.9544706,18.509619,1.8279935,1.9338434,27.5774658,66.0043227,72.6490337,53.4345615,20.3420404,8.1707667,21.0874028,65.5941226,31.7150779,48.1977849,32.8385574,27.3717968,59.2712916,2.9039388,41.195722,21.1442758,1.9372942,2.0468551,26.6160045,65.7972443,71.8894997,53.2714068,20.9599809,8.3755704,21.2839292,65.6170888,32.4302388,46.6746952,32.0066498,26.25884,58.9451223,3.1036893,42.7753329
173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.4516266,1.4899945,17.1409051,66.5256729,66.9287019,58.1799857,23.8705872,16.3284139,18.4282831,68.0844807,37.1917893,45.1333221,21.6357583,17.5089702,63.6292719,2.9793093,36.1669671,16.5637928,1.433121,1.4712003,16.5077811,66.6116772,68.3995538,57.2782984,24.1556787,15.971398,17.1271567,69.235578,37.7177057,45.5109026,21.3283493,17.0596992,63.1048521,2.9231656,36.316121,16.2863037,1.3960586,1.4346214,15.9179581,65.2072136,67.780171,56.6952749,25.5723144,14.9254086,16.6910785,69.3622723,38.2575246,44.7119841,20.8560066,16.8027792,62.5471168,3.172384,36.4174375
174,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.4229235,4.5289246,40.1873025,67.4022405,68.0414981,57.971087,16.7425961,20.3421938,17.4233657,57.839224,27.262862,52.9867587,46.7774841,39.0931499,68.9976211,2.6925123,37.7162925,37.2741726,4.4672531,4.6301764,39.033539,68.3143712,68.9279294,57.5212243,16.5400704,20.972063,18.6825878,58.2561114,27.132767,53.0415174,46.1127127,38.383715,68.4150778,2.6322454,38.2641448,37.3903829,4.5832904,4.7055439,38.9250208,67.7862775,68.3807544,56.4101514,16.8775216,21.1048556,18.3944136,58.5353999,27.7289917,52.9418593,45.8840051,38.2385545,68.2177394,2.6608777,39.0461149
175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.8784664,1.7961801,23.2537015,80.9070554,75.1745509,71.0891261,24.1789708,60.8460007,25.2080278,64.6571112,35.095976,55.4775619,27.1453121,22.2815269,85.0887479,3.5443087,41.4812016,23.3822777,1.8398573,1.693389,23.601585,80.6654341,76.9714934,69.779169,24.2252617,60.6031612,25.2900027,65.9233416,37.9921703,55.6815035,28.1195614,23.5277001,85.1937096,3.5124426,39.3346307,22.0705957,1.6354869,1.5055339,24.506825,80.0330836,76.8928673,69.2652388,25.5016213,60.9309259,28.0365491,66.2790949,37.6994132,53.5836215,28.6683758,24.2342612,85.2163908,3.6313686,40.1212059
176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.6228869,1.6548904,17.5812538,62.0985313,64.7039137,52.4658673,27.9610552,6.3445393,16.8556764,66.7218154,41.5404092,40.2330994,22.4928936,17.5573136,49.2500898,4.4980541,42.538067,15.0717703,1.6013977,1.6594379,17.7045585,61.8517786,63.9131767,52.4832648,27.7522846,7.0111716,16.1207139,65.8512211,41.0471584,38.7240445,22.7797283,17.6762167,48.7773892,4.5625032,42.5883188,14.3902439,1.5417615,1.6015874,17.5251518,62.0699832,64.9773871,51.1529148,27.8143404,7.0592939,18.0871615,67.2279903,42.1967064,41.1044807,22.0373558,17.4722818,49.1731235,4.1479841,42.0653153
177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.1223084,1.2106437,12.4649894,64.7908333,67.0157038,59.9245716,25.9098226,8.5044094,15.7086782,66.7399792,38.0495521,40.0540517,16.0385867,11.9516856,48.1301451,3.7366423,32.3504111,13.9652509,1.0652934,1.1011154,11.9440489,65.2541652,66.7137124,59.8919443,26.3351734,8.2983018,15.3830956,67.0198519,38.4823919,39.8434129,15.6910775,11.6144234,47.1041848,3.5805067,32.3341762,13.0145119,1.0755916,1.1025477,11.8833295,65.384828,66.7970861,59.0057908,27.4968381,8.0352666,16.6935537,67.2474904,39.1817678,39.4653657,15.3759126,11.4235452,46.7108847,3.879825,32.9523418
178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.0523018,2.0708696,21.4266031,65.5936669,69.2278289,55.6258525,28.5197925,13.1763544,15.551649,66.171925,38.1790374,40.058922,26.0084323,21.1090402,51.6410046,3.4587836,39.857072,16.9074762,1.9926452,1.9893841,21.8866284,65.431373,69.8078632,56.4838526,28.8770874,13.0438296,15.6911157,66.5829195,38.519393,39.9134465,26.4937244,21.6955124,51.8689726,3.2732839,40.4388049,17.2964496,2.0847049,2.0524475,22.9283368,64.2098561,68.6320353,55.7743037,28.9502005,12.6328974,15.8618874,66.691492,39.1116848,40.5211989,27.4856643,22.4138188,52.1749246,3.4901077,39.0289096
179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.7940048,1.7817178,21.5628313,67.9076273,69.2276591,65.7180695,28.4177377,11.7459323,15.495757,66.2876225,35.0860044,45.1517046,27.0693686,21.9250986,51.084985,5.0014865,35.5167111,20.7618084,1.8321299,1.8058932,22.3630114,68.1807989,69.3379846,65.4721266,27.1051368,11.8469332,15.4122907,66.0601629,35.701871,45.5478651,26.8971119,21.9653663,51.1757598,4.9259983,35.7427775,20.8512904,1.8476186,1.8322214,22.329668,69.2843116,69.4239953,64.6241751,26.3556764,11.5996826,15.184978,66.0421254,35.7301163,45.5978704,27.2544074,22.1633385,51.512106,4.8960089,35.6765878
180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1.0538333,1.0607036,13.1198062,77.9625675,75.469773,72.8763626,24.8780899,27.2332497,19.9243341,65.7052345,33.1009489,48.8282278,16.1516667,12.3671182,64.2213032,14.2523043,38.5561394,8.4667313,1.05733,1.06423,12.9765456,78.2030624,76.0704016,72.7383335,24.1800997,26.2791975,20.1449264,65.3042851,32.5753408,48.6124785,16.1398263,12.466184,63.7116556,14.0219571,37.4816839,8.9817949,1.0849224,1.096852,13.1300299,78.8509299,77.0353807,72.7559248,23.2499472,26.1581611,20.5718702,65.2046638,32.2339176,48.092832,16.3930952,12.5300715,64.0330681,14.4633989,38.5982986
181,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1.2840172,1.3121978,14.1390038,77.5339748,75.886875,71.9896646,20.9346987,26.8627625,22.9057671,64.1372938,31.3593523,49.9165352,18.5290266,14.0622698,65.4307136,13.8564879,39.7266488,9.2832478,1.3032475,1.3149989,13.8366025,77.7134437,76.3483109,71.4253464,20.784507,26.0091509,22.5130719,64.0086367,30.9383893,49.9269718,18.264812,13.9076413,65.5354362,13.5883907,40.1493581,9.12008,1.2961499,1.2948787,13.3911087,77.8491352,75.7568661,71.8358894,20.926808,26.2980956,22.0573949,63.6042154,31.3176868,50.4901155,18.0675696,13.6807557,65.2841661,13.6936523,40.4973755
182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.8244273,1.849203,24.0503196,68.2416842,68.2724815,64.9750809,27.2829315,12.0208802,14.0798138,68.0006833,36.6639964,45.4145044,29.0262163,24.0823976,55.8929156,5.169519,34.8554807,20.5385509,1.8144114,1.8496294,24.2771093,68.034925,68.2521926,64.1144997,27.3820288,11.4700362,13.8013592,67.8435195,36.6945884,45.3486089,29.2104884,24.326466,56.8988914,5.0609681,34.6425488,18.9121905,1.8107692,1.8534741,24.043752,68.7466219,69.205261,64.9039437,27.0850703,11.6570303,13.7730502,68.1021054,36.849149,46.684287,28.9878837,24.1838921,57.4536537,4.7977233,34.979369
183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1.0827109,1.123291,16.9703221,71.0420293,75.8938416,62.5672872,17.3555867,62.3172843,31.5718092,66.7157065,32.9270261,48.1413932,19.8237243,16.1296038,84.6545932,3.8561693,34.7647495,10.8541041,1.1272622,1.1685971,16.3740139,70.6899708,75.0951186,63.5243856,16.7970786,62.3952934,28.5486598,66.124379,32.9019428,47.660727,20.0567798,16.1198141,84.1238004,3.7521796,34.3278726,10.3636062,1.1699651,1.2129534,16.4535396,72.5442027,76.5790571,64.2719217,16.5375804,64.4029194,29.6730274,66.818646,32.0626788,49.2098327,19.8588677,15.8097247,84.4282243,3.8229416,34.6809473
184,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.9611579,4.0797841,36.3362929,82.5786519,79.8923596,76.1836466,12.8290662,62.0785492,27.9791771,54.9857582,23.6850797,65.5407449,43.1713933,36.2663989,87.7532182,5.0499582,39.3926132,21.8813765,4.1239893,4.2228623,37.3587112,82.6372166,79.9127335,75.8939078,12.323503,62.3033302,28.3415498,54.5402886,23.129397,65.6361507,43.9552237,37.1052008,88.0197366,4.9176735,40.4638633,23.2637782,4.0789617,4.172311,37.1041747,83.0649978,80.1385525,75.3517315,11.9603585,63.0493039,28.5934079,54.3167237,22.5774191,66.2945577,43.9499348,36.9726346,87.9739897,4.7181705,41.1890957
185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.5321258,0.5996934,8.9912466,77.5270962,77.1599806,79.1395515,23.2210133,33.448971,19.7221888,65.889525,35.4558917,46.3450266,10.9470819,7.6044615,68.475689,6.165988,36.4976501,4.7697368,0.5605394,0.5871352,8.5962351,77.6945378,75.8967363,77.4741571,22.36256,32.3320011,19.7679741,64.1352902,35.4495854,47.5958348,10.530873,7.2774326,66.7165509,5.7795187,36.6666752,5.1666667,0.64554,0.6727288,9.1920518,76.5274522,75.1797676,77.3781816,22.2234029,32.1582405,19.9671859,63.562581,35.4426432,47.0795444,11.5273514,7.8107243,64.966261,6.329523,35.9020396
186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2.0245172,2.0776777,24.1242233,70.5243267,71.003587,67.7531998,25.7427144,13.7029285,14.8905678,68.9901627,36.2140204,51.0088906,29.0833227,24.0627908,58.2026347,4.8732288,35.1601336,16.282057,2.2153992,2.2622774,25.3050672,70.5275443,71.0060854,68.2251575,25.5920462,13.8814961,14.7616907,68.8273769,35.2878372,50.7784183,29.8755483,24.8973931,58.8746678,4.6840821,34.8294177,17.4532193,2.3528722,2.3810773,25.945305,70.6716575,71.0412043,68.580311,25.8402901,14.5486267,14.3974625,68.4997868,33.6647055,52.0127641,31.0215512,25.5114578,58.5476216,4.7217908,35.2898544
187,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2.7675214,2.9589064,27.1260769,61.4811317,63.5121415,57.1693924,28.4231402,7.7216272,15.211311,65.4938707,35.4704971,44.0113333,32.8761667,26.3714723,52.3726576,3.1764269,41.91672,20.5068746,2.8144103,2.9998495,27.8159244,59.6210058,63.3145635,56.5020443,26.7834101,7.8270576,15.157984,64.2821387,35.1262793,43.3860679,34.0805216,27.5455758,51.8512237,3.2398598,42.0094765,20.7264337,3.0120794,3.1990565,28.9632607,61.2949438,64.1256382,57.1256773,25.4872739,7.5497222,13.9356449,64.0970536,33.0028668,44.5820414,35.7077002,28.6917149,53.2461411,2.5388556,41.2538187
188,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1.0127513,0.9887089,13.5835015,64.0663484,67.9378106,57.1767633,27.216863,16.4854643,20.1000807,70.6950447,40.0221726,40.1659916,16.4254887,12.2075179,56.1445307,3.928681,34.7012513,8.54037,1.0317453,1.0268484,13.5443541,64.3018767,67.7723218,56.6474335,27.1702228,16.4167353,20.3485899,70.8724907,39.993489,40.1139699,16.3281242,12.2031338,56.468867,3.8683757,35.0098652,8.9123813,1.0083206,0.9957401,13.2147075,63.3227913,67.3218929,56.8236249,26.7376027,15.5734818,19.7883047,71.299542,40.1982153,40.8133214,16.6880426,12.1353076,56.6287205,3.8920146,34.0188871
189,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.798586,1.8104618,24.2266504,57.9658578,59.9296489,55.9449958,31.1832824,8.4592938,15.3159456,67.5046152,41.8199405,40.5366611,30.5300576,25.4049786,55.0807778,2.4461793,37.5491661,38.1187741,1.8289694,1.8411193,23.6259683,60.0840435,62.3569026,59.7136168,30.0937523,8.9373099,16.7000164,65.4139633,39.5405714,42.059245,28.8854968,24.1509352,54.1867061,2.2954058,36.9907856,37.2659176,1.5243405,1.5608586,22.5752292,60.9702767,63.0550022,59.1995919,30.0407727,9.037012,16.2484012,65.1722296,39.2452198,41.415532,28.5131807,23.4044373,53.031217,2.493397,38.249964
190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.7433294,1.8656618,20.216195,72.6174843,72.9012106,67.0982714,26.6496008,8.6358149,16.1177676,68.4464987,39.4986138,41.3277276,25.1403412,20.4321431,47.2496386,5.7032323,29.9254094,17.5870214,1.558727,1.6258216,19.979622,72.7142175,72.2947491,67.2171283,25.7911406,9.1429554,16.6878764,68.1118918,38.7654879,41.5406284,25.0180446,20.4178592,48.3429624,5.634333,28.9499557,17.4830118,1.4676136,1.5513014,20.2205863,71.7829132,71.4639766,67.0360013,26.5916196,8.7558722,16.0755597,68.247941,38.6620511,42.0843832,25.3529303,20.6655743,48.5850513,5.5716328,27.9252334
191,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5166859,1.5524769,13.2642621,51.7568264,55.6018028,50.5830827,35.5202329,6.9670947,15.1068243,71.266545,42.726648,30.8014287,17.1328582,12.0046589,40.3117154,4.2597202,45.4469232,11.4973262,1.6943292,1.801243,12.4036145,52.7748332,55.5374615,51.3282389,35.7697228,6.3712349,14.6759497,71.7873282,43.4121874,32.01509,16.5636988,10.772198,40.424638,4.7755122,46.0833743,10.8938608,1.7052868,1.7776982,12.2134989,51.7591892,53.5918242,52.0236524,37.9013048,5.6677541,15.1084101,73.7203506,45.0260343,30.8442135,16.3799777,10.8287706,39.0025434,4.8076947,45.384648
192,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.1622447,4.2655739,39.911471,65.7659424,66.5314754,57.5429157,20.4528052,8.5415198,17.5269112,60.0672689,29.7214571,51.0956135,46.8258954,40.3536108,57.073844,2.3556243,37.8420555,32.5613543,4.1094693,4.1861519,40.0682884,64.8792205,66.4385109,56.7278993,20.3965653,8.3284022,17.4754314,59.8577592,30.0242707,49.9573021,47.2822852,40.7144503,57.3934037,2.3348427,38.098438,32.1004997,4.3235856,4.4098695,41.2449713,65.484558,66.6582199,57.5272007,19.7588107,8.9806399,17.3420973,59.4786852,29.4750893,50.2505931,47.9473405,41.6027501,58.4665544,2.3788843,38.2181701
193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1.9163572,1.9163572,20.4986743,65.0543437,68.0305467,52.4917152,22.8691465,6.7203552,20.9878524,71.4625957,38.677109,39.6161596,26.5442456,20.8381248,52.8389318,3.1972911,43.9721664,21.7197521,2.2892581,2.2892581,20.6824109,63.9709696,66.7954698,52.6922452,21.8424065,5.8771792,19.2760827,70.8011082,37.8671522,37.3531667,27.2140355,21.3157819,52.927977,3.3548745,42.3139121,20.5296882,2.4723596,2.4723596,20.7426194,61.6598513,65.3583019,54.8461664,22.2016212,6.7597443,19.2571862,70.2195713,38.1274364,39.2971501,27.3163709,21.4223633,53.1284658,3.7687686,42.0672976
194,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2828356,2.3736044,34.314204,70.1386295,68.6395069,67.4300159,19.2264878,33.0397091,16.1401171,61.2119151,34.2716859,50.4997044,39.9842287,34.8983289,73.1310985,5.2268713,35.171581,31.4949024,2.0067132,2.1286436,32.3899499,69.2032144,67.0388289,66.7954179,19.388679,32.6533048,16.3065579,61.0189934,34.5757428,49.7673087,37.8732512,32.8826866,72.673088,5.0801526,33.4983975,31.6733765,2.1213535,2.234683,31.2300211,69.5127888,67.9686703,68.0179243,19.2257516,33.1164637,15.8151491,61.0987503,34.9398225,49.533165,36.8834234,31.7592466,72.614322,4.5994651,32.8814838
195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0706381,1.1367179,13.2795371,77.4064575,74.2367033,79.3101816,23.3409541,41.0472286,18.8370381,67.1666341,37.897636,49.9996469,17.0737042,12.9742481,74.6411899,7.820101,36.1060293,8.0180937,0.8816754,0.9488491,12.5955453,76.340753,74.0577724,77.6007988,23.9835421,40.3336156,19.565965,66.8978926,38.9837285,48.4900674,16.5708485,12.5000277,74.2381968,7.959628,36.5056856,7.7840517,1.0206377,1.0883459,11.8367823,76.0235071,74.5349517,77.1922636,23.9052027,40.2784281,20.551741,66.6261486,38.7697814,47.7690546,16.1456626,12.1706468,72.7710622,8.0154305,36.0287482
196,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4.5042755,4.6801376,38.7372117,70.9142623,70.8158264,64.8754928,19.083919,15.6635261,16.2629007,62.006057,32.1655169,56.1345205,44.5499401,38.1002163,65.559303,3.418987,37.852761,33.7794187,4.4185002,4.5872268,38.2214176,70.431301,70.5622417,64.6586936,19.3424795,15.7092463,16.3190108,62.3917496,32.5606528,55.7911433,44.2177702,38.0005053,65.8048599,3.3758402,38.25651,33.6184499,4.1895083,4.3574897,37.9415055,69.8995847,69.9267522,64.3812506,19.5728496,15.7659651,15.9089764,62.8006975,32.7142878,55.2154808,43.6034795,37.480867,65.9258955,3.5051808,38.045682
197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6171299,1.6171299,19.9542102,78.6047662,76.2129773,63.9712153,18.5406892,61.5781145,26.7012268,64.5939569,33.3024662,56.9072326,26.162189,20.8056108,86.4880441,2.9152966,40.6208838,15.367942,1.8097445,1.8072552,19.8839333,77.1822519,75.5249784,63.3295033,19.6273317,62.4554326,28.4042199,66.1988232,35.7605599,54.5788829,25.9450496,20.6646867,86.2915122,3.0842316,41.7123494,15.3333093,1.7482944,1.7783247,19.6110521,77.1820752,76.8128459,62.9341488,19.8036787,61.9589198,28.0706622,65.6620201,35.4988647,51.5599801,25.7464505,20.7501672,86.0844883,3.0605118,40.2816197
198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0.9806097,1.1032266,12.5811962,71.1611428,71.7002302,69.3344151,23.4512916,60.0353885,23.0442232,70.7746378,37.6415037,46.4579931,16.4645438,12.5080921,83.7284719,4.7721146,34.885568,8.4015911,0.9905753,1.1734294,12.6807353,72.0526266,73.7949103,70.4207131,23.3361648,60.765481,24.8510799,69.8778387,36.6766563,47.0770626,16.3134536,12.6143553,83.8065361,4.7689895,34.5540244,8.6693059,1.1099096,1.2129295,12.7210337,71.4706012,73.9152473,71.1756225,23.1610325,60.2412453,25.1586374,68.947506,35.6294883,47.9641678,16.4929395,12.614745,84.1348594,4.7892249,34.9999261
199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1.111727,1.1139173,15.7612283,77.9903747,75.972074,73.8049108,22.0034575,27.1889584,19.8005995,64.6488254,34.5731383,50.8688274,19.5329248,15.6906129,64.533703,14.2007171,40.8995809,8.2309494,1.1565556,1.1587605,16.035926,77.3108066,74.7429774,73.9771758,21.9964332,27.7671857,20.1679712,64.5157281,34.6897848,50.9745884,19.5408166,15.7118195,64.4468859,14.3608577,42.4020342,8.6333783,1.1607145,1.1629138,16.0991259,78.2133051,75.0412908,73.494698,21.9285119,26.9104911,19.4481388,64.8026336,33.9889446,51.3217979,19.844111,15.8824358,64.6125769,13.8701326,41.8719894
200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1.0128152,1.0317271,11.423941,70.8982435,71.5804487,59.1201299,28.8093499,16.9408919,17.8235336,67.0450297,41.8312139,46.2723004,16.2424388,11.2509342,58.2600291,4.6477503,39.7068075,9.5545684,1.013871,1.0216749,11.3804057,70.8207409,71.2052134,58.9245448,28.6032372,16.6472,17.905172,66.8919565,41.7051011,46.3045835,16.1137572,11.1718696,57.9357046,4.571755,40.0513034,9.2383478,1.0949658,1.0940749,11.326935,69.9914146,70.4536031,58.9521713,28.5321027,15.9783817,16.9773496,67.120612,41.4354167,45.4902001,16.1822589,11.294228,57.5680532,4.5289368,39.6879017
201,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.3161117,1.2975071,11.0204907,68.0136313,68.9377588,69.1222562,30.5055708,15.2020775,17.9318104,66.2628012,42.1233673,38.0372274,15.0458947,10.6549221,49.0944776,7.7448458,42.1204098,6.2499817,1.3268543,1.2966848,10.8361084,68.2794953,68.9903166,69.4448809,30.2961451,15.1575488,17.637535,65.8176079,42.3120839,36.6830112,15.2308834,10.8862932,48.1037596,7.6117858,41.4278176,6.5181321,1.5239385,1.4892724,10.7542907,68.6580962,69.18177,69.0113847,30.1301221,14.4120618,17.2287017,65.3492456,41.721439,36.571311,15.5717461,10.9533193,47.4762144,7.9260432,40.5879342
202,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5.0027309,4.9485214,44.9935574,64.7614609,65.7547326,56.0110334,18.0899407,11.476348,18.4945672,59.2203159,28.4387653,52.5483408,52.5571472,46.3434194,65.5294673,2.6116422,43.7937702,39.7060841,4.8295081,4.8403667,44.4845883,64.9695956,65.3437141,56.400264,18.0991407,10.9174587,18.4674619,58.5982452,28.1562581,51.9250514,52.2097158,46.0771153,65.780146,2.8747473,43.189607,39.6625963,4.3704257,4.4526128,44.2987986,62.8785198,63.4474135,55.8065872,18.914303,11.0770916,17.1657216,59.1835758,29.8387392,50.6697031,51.5976618,45.8915943,65.3763851,3.0203734,42.7795006
203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1.1229096,1.1092026,12.1972625,69.7201172,72.368881,61.5526327,26.9058827,28.3067945,22.7157167,69.0678391,40.1146167,41.6170583,15.8392715,11.3631808,69.3531532,3.3875628,36.7144464,8.0854682,1.0688538,1.051281,11.8416149,70.5242652,73.0467529,62.6130649,26.8426465,28.4922917,22.8169777,69.4122168,40.2195237,41.8483832,15.4450828,11.0555407,68.9868091,3.4086212,36.5109139,8.6337391,1.0714183,1.0791235,11.8628841,69.2667939,72.1521726,61.1817441,26.0768686,27.4978643,21.9265315,69.3010855,39.5981916,41.2826729,15.3409136,10.8367844,68.403739,3.4117185,37.3015623
204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1.2912987,1.3117623,18.1036536,68.909663,69.6724895,63.6137061,26.8297513,11.8289056,15.7055056,67.017363,39.0710499,42.4086106,22.4053457,17.9035514,51.8326058,5.2423962,35.2153672,17.5199888,1.4206704,1.4360944,18.0962789,67.5505754,68.4824287,62.8278215,26.6256502,11.8322511,15.4272234,67.1533661,38.7915643,41.6521536,22.1165991,17.7892362,51.4644672,4.9630267,34.5849051,18.9497602,1.4514449,1.4912662,18.0894537,67.7304399,68.351967,62.1374878,26.4514505,11.4841533,14.9063986,68.0778828,39.0724867,42.8248487,21.9200639,17.5412636,51.2012267,4.9946949,35.165819
205,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.2065294,2.2511627,23.9632167,66.6020914,68.3660318,64.4447548,22.6615101,13.9874278,15.2812173,65.1312982,37.4674079,50.037601,28.7227713,23.5700799,61.9634097,3.8574908,36.0937491,25.8522737,2.1475083,2.2029365,23.1793356,66.322143,68.3702506,64.3183903,23.2295145,13.8018484,15.1564247,65.4533034,38.2587272,49.5545571,27.8433987,22.6911732,61.6078084,4.0789742,36.1695317,26.1556108,2.0958949,2.1301572,22.8907966,66.1922381,67.927165,63.6548263,23.4374669,13.4519383,15.2036509,65.6565855,38.5913289,48.9149346,27.6235522,22.4476305,60.873032,4.1545333,35.7598256
206,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.255089,1.1929147,13.764153,80.1066608,78.0430957,84.5433939,21.0927816,47.9708733,23.6735685,65.7045164,34.8678355,54.0832476,19.1503221,15.2220213,80.1004498,7.3749339,34.2717146,13.1107278,1.1673197,1.1058704,13.3985118,79.1665906,78.0908651,83.5281169,21.7171074,48.2331835,21.4395181,65.9852086,33.9634171,53.8565216,18.4398477,14.6130895,78.3160627,7.2215025,34.0529356,12.2532895,0.9907566,0.9301761,13.0965025,79.5385653,78.9851832,82.5176876,22.50312,47.5349401,22.1344989,66.0036533,34.5524817,53.9238618,18.2891333,14.5608676,76.892137,7.0982382,35.0256655
207,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1.3785607,1.4040307,18.1020793,64.8641419,68.0673731,54.8888553,27.8220052,10.0080093,18.4770488,68.5716363,39.7595844,39.4135638,22.8233679,17.9342178,48.70987,3.5967443,35.5724399,15.6585795,1.3909398,1.420541,18.0323363,65.2102774,68.0486388,54.6171581,27.8859711,10.0405934,18.5315969,68.6358083,39.3881498,38.456886,22.8564809,17.847459,49.1044695,3.513515,34.7943031,14.8666647,1.4792503,1.5106877,18.2393778,65.2798691,67.307277,55.0949228,28.0798393,10.1675582,18.4770675,68.3018032,39.1538078,38.3164226,23.1258658,17.9595296,48.9800981,3.3201891,34.5001079
208,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.8107354,0.8564418,8.7154275,81.2779453,80.9793689,77.8752584,22.1483661,27.9918848,20.5511806,65.628005,34.4713852,49.5769909,12.8438586,8.9306456,65.5085374,8.8053977,36.8357577,7.8587735,0.6756302,0.7218065,8.2568684,80.6534488,80.3178288,76.755092,22.1428272,27.9058558,20.3552891,65.9590737,35.1017912,49.0711592,12.2013307,8.323539,65.0984195,8.3852163,36.1762387,8.086564,0.6419021,0.6806445,7.9230735,81.2140337,81.1300276,77.4151999,22.9293151,27.5903891,19.9300523,65.7260291,35.6667198,49.9722725,11.9454603,8.0789557,64.7810214,9.1947137,35.3310927
209,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5465722,1.5997091,12.3152504,67.0960311,67.3732492,68.1342165,30.3512846,4.8453818,12.9601254,70.3354263,46.7164968,33.9237111,16.8891852,12.316571,36.2714792,6.2795712,33.8114169,8.7559867,1.6257978,1.6321234,11.6549171,67.1930615,67.6493013,69.8738507,30.0020718,4.5913172,13.1641886,70.7795267,47.6769592,32.9102768,17.1491418,12.2209449,35.3706379,6.5850004,34.3265355,9.073788,1.7455258,1.7520461,12.2065743,65.8026631,65.857734,68.5217603,29.5628718,4.2407272,12.3169098,70.3819392,47.283758,33.8216078,17.8488287,12.8152059,35.5398335,7.3010163,31.6082387
210,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.8367561,4.1171919,42.5727222,71.1487644,69.8054692,70.6250706,16.9787982,37.2383775,17.7702977,59.9015886,30.7362589,56.163791,48.1717741,41.8667548,75.0910983,4.6270092,33.810089,32.0836202,3.9792983,4.2069649,41.8265935,71.2732898,70.5853033,71.4583648,16.9638818,38.0441477,17.2925982,60.2018961,30.6690025,56.6789076,47.6829282,41.3224124,75.1816722,4.5618071,34.5847164,31.603119,4.0430115,4.274141,41.3318966,70.6187182,69.2531624,71.5028549,17.3602012,36.7304143,17.83248,60.6650516,30.7767175,56.666882,47.883424,41.2685685,74.7235839,4.8240111,35.0870636
211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1.0074054,1.0367867,12.1729463,78.6707231,77.564883,71.9689192,22.746284,29.0034027,21.3001909,66.0761433,32.4405031,49.951869,15.8629068,12.1371006,65.8514537,14.664597,38.6995314,8.8090427,1.1024973,1.1548824,12.3019135,78.6256946,77.4131482,72.0642658,23.3058086,28.7711337,21.8345176,65.4278909,32.5072372,49.3484663,15.7154082,12.0204401,65.6310197,14.6028951,38.8727397,8.9658341,1.0489627,1.1065384,12.5547013,78.7250813,77.7352539,72.1259764,23.2026237,27.9775279,21.414649,64.9575085,32.0573116,50.5670396,15.7602913,12.0841562,65.5105479,14.6114869,38.4555539
212,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.0731735,1.1226784,9.6307912,73.7738998,72.3764916,77.2604021,22.520372,13.2396939,16.0457215,63.2388979,36.5580114,42.780752,14.5127119,10.2048023,53.3008252,5.9234731,36.3987635,7.2265625,0.9610245,1.0127843,9.3455485,73.4927705,72.4622396,77.9952203,23.4795062,11.8723812,15.949816,63.1203201,36.1195082,45.2924582,13.6363636,9.571323,52.3566379,5.8846154,35.2419355,7.0850202,1.0776811,1.1513772,8.8871806,72.3281312,71.2769929,79.5820865,24.9212577,11.0953939,15.4265661,65.0231581,37.8293313,43.4643518,13.4909091,9.2727273,50.8164852,6.4920273,36.9767442
213,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2.9349966,3.0233075,37.6882608,71.2283932,72.1884784,62.5307599,17.8295281,15.4344956,18.6652916,57.5989862,25.6617301,54.5674101,42.6757009,36.9605253,63.0487591,2.7607466,32.6639074,26.6128771,2.9937744,3.092818,38.2793998,70.7032263,72.0819212,62.5077357,17.4305908,16.3674287,18.4835519,57.8863683,25.6785198,54.2324575,43.3416172,37.430392,64.0735881,2.6579196,32.6431867,27.8101043,3.0812239,3.1807029,38.6361893,70.956236,71.8781673,62.3976603,17.5315745,16.965096,19.0653361,58.2624314,25.4043757,54.6685864,43.3642253,37.7091198,64.806649,2.6757797,33.2804821
214,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.6810608,1.6810608,18.531207,65.4386983,69.2002205,55.5583993,31.0766733,10.2962132,15.8366162,68.102265,40.0268162,39.3127491,21.7881234,17.2006092,49.7209415,3.0857754,37.0862103,15.7243927,1.588475,1.588475,18.2125656,65.7696674,69.3000621,56.412407,30.901675,10.6223027,14.6518164,67.6198327,38.7247248,39.9331959,21.8400351,17.4750343,49.9448799,3.0779995,38.4211565,14.6551775,1.4144959,1.4062616,19.1758519,66.6590306,68.8429104,55.8376283,31.3494561,10.6752755,14.6192377,66.9129472,37.804948,41.974137,22.4019573,18.0223666,49.8680602,2.8546292,38.825083
215,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.2884149,1.4072235,15.0259367,59.579867,62.8329683,55.4560672,28.3452383,3.6691212,14.0927624,66.8037812,39.4089017,39.5232788,19.4846464,14.4019564,36.5492895,3.9664458,43.2732067,9.3743605,1.1537702,1.270417,14.1401718,57.9734711,61.4577564,54.2569248,28.7925502,3.5899419,12.1853339,67.2041021,39.412647,37.9115818,18.8012792,13.559284,35.5201974,3.7906229,44.2941395,10.1317676,1.2268608,1.3445509,13.7193901,60.1645608,63.4672767,54.7376335,28.0812885,3.6048901,11.9264071,67.9464404,39.9366364,38.0216736,18.4252063,13.1990715,35.565935,4.2788036,44.1294613
216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1.7057899,1.7400567,18.4762931,67.7026312,69.0539179,58.4642557,28.3352716,14.0835808,16.0189858,67.3499361,40.911286,37.3998359,22.004462,17.6371642,49.1857122,3.9900654,30.4794669,14.1853853,1.5676861,1.5954159,19.2614345,67.8462264,68.5419472,59.3309848,28.3844051,14.147378,16.8810657,67.259674,40.7211451,38.4764051,22.6083458,18.2067203,49.0162504,3.9065611,30.0740834,14.6647922,1.5734603,1.6002253,19.1623929,68.4313261,68.4459771,59.5528682,28.0251239,14.24901,16.7257727,67.3996796,41.6559137,39.2456975,22.7844765,18.2310187,48.901636,4.2225787,29.2974718
217,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1.6295224,1.7281748,14.5905582,61.2106331,64.2129804,48.0853147,32.161354,6.3183006,16.2285055,68.7622905,46.0274315,36.5163608,19.8825535,14.930085,46.1920149,4.3744966,38.9726783,12.2000049,1.5570544,1.6518974,14.4165942,61.7347612,64.2307363,48.4812967,32.4169638,6.7165194,16.7855473,69.3825784,46.7721847,35.7046911,19.723197,14.7126371,46.5957237,4.3601189,38.9449704,11.9433295,1.5113004,1.6456436,14.4738563,62.0301735,64.668093,47.6244781,33.2062189,7.0976263,15.2314838,69.3727966,46.8930498,36.0179227,19.937245,14.9267755,46.8992412,4.0873896,39.5101717
218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.9890725,1.9890736,23.5439918,66.2020384,66.9028229,54.9756132,29.8383685,10.869882,15.3868733,69.4924174,39.3893759,41.4895473,28.3711701,23.2875777,54.159462,4.0455014,36.4955155,17.0833523,2.0433097,2.0433107,24.126659,65.4180529,65.6625146,56.3612033,30.5869248,10.5381632,15.9547882,69.0214948,40.2909142,40.3691277,28.6316394,23.4498888,54.1249925,3.7424396,36.1458911,18.5526131,1.9955551,2.0113978,24.1590767,63.6420042,64.0511449,55.4100527,30.6570544,10.7936494,15.4381307,68.5433411,39.8847015,41.2005159,28.6336169,23.4152422,53.0728,3.5384101,36.2472535
219,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5210203,1.638605,17.064936,59.6635053,62.6525263,59.1392736,29.2080924,8.9801341,15.5377584,66.8562884,42.4090674,40.7593705,20.647037,16.010818,47.7791148,2.9885985,35.7570208,15.9434577,1.4673084,1.5185638,16.8132909,59.276355,62.1254044,57.6067726,29.4509083,8.8060304,16.796508,68.0555847,43.6736541,38.8009285,20.5278165,16.0380559,47.2187227,3.1532648,36.7179026,16.1176926,1.6763336,1.728153,16.262657,59.725564,63.8279774,57.3494574,30.5389675,7.9195706,16.2481742,67.6470288,44.4665714,39.3084543,20.2542321,15.5095227,46.3799139,3.1222882,36.9673631
220,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3.7629604,3.8501132,40.8166398,71.830335,70.4868827,72.7436578,12.33682,27.3143936,21.983817,61.6143323,21.7373671,56.4229126,45.7200338,40.3690041,73.6057298,2.703272,34.3059937,26.2803235,3.5524399,3.6382761,41.5046386,72.5850106,70.5684807,74.0099602,12.6462573,28.3545856,22.2197058,61.9940835,22.2483237,56.1605368,46.0318557,40.7543279,73.586078,2.8190754,33.5585586,27.4484536,3.4347245,3.4519271,40.4454671,72.6146758,71.3185062,75.1523737,11.2778635,29.1755052,21.9268795,62.459114,22.6701213,56.1230254,44.9547272,40.5511053,74.2401059,2.8899057,33.8017751
221,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.605016,1.6456723,17.8789012,58.9096309,58.2750139,62.1384098,33.1093199,5.7381446,11.5628693,64.668567,42.2888915,31.6851798,23.2776852,18.039251,40.2110884,4.4431894,33.2079904,24.1935657,1.6699412,1.6597664,16.9322537,59.6917198,57.5881146,62.25107,32.0631424,5.904298,11.1342325,65.1601888,41.4267523,32.189457,22.2871989,17.0429308,40.5391046,4.1998564,32.9820233,21.6165495,1.7950461,1.784923,15.6267223,58.9370141,57.0701415,60.1104003,32.3515349,5.3537458,10.3077986,66.1603665,42.6028987,30.8828911,21.2636941,15.5683716,38.9929982,4.3449344,33.6961493
222,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1.5050951,1.545712,20.1000522,70.2977134,68.8064023,65.0810039,20.8102468,50.3181193,21.8749207,59.3332327,30.8935543,47.7037948,24.3408853,20.0515114,81.0798027,5.1129926,34.0375031,21.7101731,1.4979732,1.5608159,18.9787522,69.0309235,68.4427763,65.3497905,21.0652482,49.8467431,21.6510718,59.4205339,31.0006512,47.2786062,22.9294561,18.7371087,80.5257535,5.1048091,34.5297421,21.0543603,1.5381553,1.6142924,18.5321086,69.9095355,69.9317112,66.2720293,22.0306592,50.5230924,20.705868,59.714941,31.4493487,46.8880091,22.4472671,18.2973319,80.0519405,5.2690944,34.6471662
223,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1.1398247,1.1766404,15.8820113,73.7796987,76.2703885,67.3029406,20.2155952,66.4220036,30.3572509,66.5966254,32.7644128,48.350731,20.3428755,15.8681711,85.6552572,5.6228682,35.4815466,10.1386675,1.0229652,1.0360543,16.0143675,75.2651284,76.7958855,67.5287531,19.4805612,66.7790794,30.1820148,66.7036914,32.4680584,49.3700184,20.1886943,15.836499,85.8123986,5.8065615,34.8508023,10.1462727,1.0607359,1.0906811,16.3692774,74.5351948,76.3454495,68.2288498,19.351478,66.20091,29.953618,66.3294916,32.4351888,49.5254787,20.241515,15.9309464,85.7352523,6.10
gitextract_thjx82pk/ ├── HW01/ │ ├── HW01.ipynb │ ├── HW01_Sample_Code.ipynb │ ├── README.md │ ├── covid_test.csv │ └── covid_train.csv ├── HW02/ │ ├── HW02.ipynb │ ├── HW02_Sample_Code.ipynb │ └── README.md ├── HW03/ │ ├── HW03_0.85333.ipynb │ ├── HW03_Medium_0.70533.ipynb │ ├── HW03_Sample_Code.ipynb │ ├── HW03_Strong_0.81400.ipynb │ ├── Q1/ │ │ ├── README.md │ │ └── plot_transforms.ipynb │ └── README.md ├── HW04/ │ ├── HW04_Boss_0.95125.ipynb │ ├── HW04_Medium_0.83300.ipynb │ ├── HW04_Sample_Code.ipynb │ ├── HW04_Strong_0.89700.ipynb │ └── README.md ├── HW05/ │ ├── README.md │ ├── en/ │ │ ├── HW05_Boss_29.69.ipynb │ │ ├── HW05_Gradescope.ipynb │ │ ├── HW05_Medium_18.83.ipynb │ │ ├── HW05_Simple_16.63.ipynb │ │ ├── HW05_Strong_24.60.ipynb │ │ └── HW05_sample_code.ipynb │ └── zh/ │ ├── HW05_Boss_zh_29.72.ipynb │ ├── HW05_Gradescope_zh.ipynb │ ├── HW05_Medium_zh_18.9.ipynb │ ├── HW05_Simple_zh_16.63.ipynb │ ├── HW05_Strong-zh_24.91.ipynb │ └── HW05_sample_code_zh.ipynb ├── HW06/ │ ├── HW06_Boss_0.835.ipynb │ ├── HW06_Medium_0.536.ipynb │ ├── HW06_Sample_Code.ipynb │ ├── HW06_Simple_0.459.ipynb │ ├── HW06_Strong_0.542.ipynb │ └── README.md ├── HW07/ │ ├── HW07_Boss_0.84335.ipynb │ ├── HW07_Medium_0.70090.ipynb │ ├── HW07_Sample_Code.ipynb │ ├── HW07_Sample_Code_zh.ipynb │ ├── HW07_Simple_0.54426.ipynb │ ├── HW07_Strong_0.79001.ipynb │ └── README.md └── README.md
Copy disabled (too large)
Download .json
Condensed preview — 47 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (15,860K chars).
[
{
"path": "HW01/HW01.ipynb",
"chars": 28015,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Import packages\"\n ]\n },\n {\n "
},
{
"path": "HW01/HW01_Sample_Code.ipynb",
"chars": 16253,
"preview": "{\"metadata\":{\"kernelspec\":{\"language\":\"python\",\"display_name\":\"Python 3\",\"name\":\"python3\"},\"language_info\":{\"pygments_le"
},
{
"path": "HW01/README.md",
"chars": 11029,
"preview": "> ML2023Spring - HW01 相关信息:\n> \n> [课程主页](https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.php)\n> \n> [课程视频](https:/"
},
{
"path": "HW01/covid_test.csv",
"chars": 638359,
"preview": "id,AL,AZ,CA,CO,CT,FL,GA,IL,IN,IA,KS,KY,LA,ME,MD,MA,MI,MN,MO,NJ,NM,NY,NC,OH,OK,OR,PA,SC,TN,TX,VA,WA,WV,WI,cli,ili,wnohh_c"
},
{
"path": "HW01/covid_train.csv",
"chars": 2162766,
"preview": "id,AL,AZ,CA,CO,CT,FL,GA,IL,IN,IA,KS,KY,LA,ME,MD,MA,MI,MN,MO,NJ,NM,NY,NC,OH,OK,OR,PA,SC,TN,TX,VA,WA,WV,WI,cli,ili,wnohh_c"
},
{
"path": "HW02/HW02.ipynb",
"chars": 37614,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {\n \"id\": \"OYlaRwNu7ojq\"\n },\n \"source\": [\n \"# **Ho"
},
{
"path": "HW02/HW02_Sample_Code.ipynb",
"chars": 19877,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {\n \"id\": \"OYlaRwNu7ojq\"\n },\n \"sou"
},
{
"path": "HW02/README.md",
"chars": 24658,
"preview": "> ML2023Spring - HW2 相关信息:\n>\n> [课程主页](https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.php)\n>\n> [课程视频](https://www."
},
{
"path": "HW03/HW03_0.85333.ipynb",
"chars": 4145517,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {\n \"heading_collapsed\": true,\n \"id\": \"jRDuJsGCgxCO\"\n "
},
{
"path": "HW03/HW03_Medium_0.70533.ipynb",
"chars": 334754,
"preview": "{\n \"cells\": [\n {\n \"attachments\": {},\n \"cell_type\": \"markdown\",\n \"metadata\": {\n \"ExecuteTime\": {\n \"end_time"
},
{
"path": "HW03/HW03_Sample_Code.ipynb",
"chars": 28953,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {\n \"id\": \"jRDuJsGCgxCO\"\n },\n \"sou"
},
{
"path": "HW03/HW03_Strong_0.81400.ipynb",
"chars": 465617,
"preview": "{\n \"cells\": [\n {\n \"attachments\": {},\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Strong Base"
},
{
"path": "HW03/Q1/README.md",
"chars": 85,
"preview": "plot_transforms 文件是 torchvision 官方文档提供的示例代码, 尝试运行它, 可以对变换有更多的理解,我增加了一些注释和小部分扩展的函数演示。\n"
},
{
"path": "HW03/Q1/plot_transforms.ipynb",
"chars": 3367546,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"code\",\n \"execution_count\": 1,\n \"metadata\": {\n \"ExecuteTime\": {\n \"end_time\""
},
{
"path": "HW03/README.md",
"chars": 11015,
"preview": "> ML2023Spring - HW3 相关信息:\n>\n> [课程主页](https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.php)\n> \n> [课程视频](https://www"
},
{
"path": "HW04/HW04_Boss_0.95125.ipynb",
"chars": 81445,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Boss Baseline\\n\",\n \"You can se"
},
{
"path": "HW04/HW04_Medium_0.83300.ipynb",
"chars": 47641,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Medium Baseline\\n\",\n \"You can "
},
{
"path": "HW04/HW04_Sample_Code.ipynb",
"chars": 61864,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {\n \"id\": \"C_jdZ5vHJ4A9\"\n },\n \"sou"
},
{
"path": "HW04/HW04_Strong_0.89700.ipynb",
"chars": 76931,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Strong Baseline\\n\",\n \"You can "
},
{
"path": "HW04/README.md",
"chars": 19082,
"preview": "> ML2023Spring - HW4 相关信息:\n> \n> [课程主页](https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.php)\n> \n> [课程视频](https://ww"
},
{
"path": "HW05/README.md",
"chars": 6923,
"preview": "> ML2023Spring - HW5 相关信息:\n>\n> [课程主页](https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.php)\n>\n> [课程视频](https://www."
},
{
"path": "HW05/en/HW05_Boss_29.69.ipynb",
"chars": 203996,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Boss Baseline\\n\",\n \"\\n\",\n \""
},
{
"path": "HW05/en/HW05_Gradescope.ipynb",
"chars": 179178,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Gradescope\\n\",\n \"\\n\",\n \"You"
},
{
"path": "HW05/en/HW05_Medium_18.83.ipynb",
"chars": 199048,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Medium Baseline\\n\",\n \"\\n\",\n "
},
{
"path": "HW05/en/HW05_Simple_16.63.ipynb",
"chars": 156324,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Simple Baseline\\n\",\n \"Just run"
},
{
"path": "HW05/en/HW05_Strong_24.60.ipynb",
"chars": 154120,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Medium Baseline\\n\",\n \"\\n\",\n "
},
{
"path": "HW05/en/HW05_sample_code.ipynb",
"chars": 112507,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {\n \"id\": \"AFEKWoh3p1Mv\"\n },\n \"source\": [\n \"# Home"
},
{
"path": "HW05/zh/HW05_Boss_zh_29.72.ipynb",
"chars": 196255,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Boss Baseline\\n\",\n \"你可以通过搜索 \\\""
},
{
"path": "HW05/zh/HW05_Gradescope_zh.ipynb",
"chars": 172342,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Gradescope\\n\",\n \"\\n\",\n \"你可以"
},
{
"path": "HW05/zh/HW05_Medium_zh_18.9.ipynb",
"chars": 191120,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Medium Baseline\\n\",\n \"你可以通过搜索 "
},
{
"path": "HW05/zh/HW05_Simple_zh_16.63.ipynb",
"chars": 164311,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Simple Baseline\\n\",\n \"只是运行了 sa"
},
{
"path": "HW05/zh/HW05_Strong-zh_24.91.ipynb",
"chars": 146836,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {},\n \"source\": [\n \"# Strong Baseline\\n\",\n \"你可以通过搜索 "
},
{
"path": "HW05/zh/HW05_sample_code_zh.ipynb",
"chars": 74497,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {\n \"id\": \"AFEKWoh3p1Mv\"\n },\n \"source\": [\n \"# 作业描述"
},
{
"path": "HW06/HW06_Boss_0.835.ipynb",
"chars": 217403,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {\n \"id\": \"HhIgGq3za0yh\",\n \"jp-MarkdownHeadingCollapse"
},
{
"path": "HW06/HW06_Sample_Code.ipynb",
"chars": 32282,
"preview": "{\"metadata\":{\"kernelspec\":{\"language\":\"python\",\"display_name\":\"Python 3\",\"name\":\"python3\"},\"language_info\":{\"pygments_le"
},
{
"path": "HW06/README.md",
"chars": 21596,
"preview": "> ML2023Spring - HW6 相关信息:\n>\n> [课程主页](https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.php)\n>\n> [课程视频](https://www."
},
{
"path": "HW07/HW07_Boss_0.84335.ipynb",
"chars": 173497,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {\n \"id\": \"xvSGDbExff_I\"\n },\n \"source\": [\n \"# **Ho"
},
{
"path": "HW07/HW07_Medium_0.70090.ipynb",
"chars": 202890,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {\n \"id\": \"xvSGDbExff_I\"\n },\n \"source\": [\n \"# **Ho"
},
{
"path": "HW07/HW07_Sample_Code.ipynb",
"chars": 215019,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {\n \"id\": \"xvSGDbExff_I\"\n },\n \"source\": [\n \"# **Ho"
},
{
"path": "HW07/HW07_Sample_Code_zh.ipynb",
"chars": 174684,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {\n \"id\": \"xvSGDbExff_I\"\n },\n \"source\": [\n \"# 作业 -"
},
{
"path": "HW07/HW07_Simple_0.54426.ipynb",
"chars": 204315,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {\n \"id\": \"xvSGDbExff_I\"\n },\n \"source\": [\n \"# **Ho"
},
{
"path": "HW07/HW07_Strong_0.79001.ipynb",
"chars": 211628,
"preview": "{\n \"cells\": [\n {\n \"cell_type\": \"markdown\",\n \"metadata\": {\n \"id\": \"xvSGDbExff_I\"\n },\n \"source\": [\n \"# **Ho"
},
{
"path": "HW07/README.md",
"chars": 23157,
"preview": "> ML2023Spring - HW7 相关信息:\n>\n> [课程主页](https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.php)\n>\n> [课程视频](https://www."
},
{
"path": "README.md",
"chars": 2431,
"preview": "# 李宏毅2023机器学习作业思路和代码分享\n\n这里是我个人的 code 分享,所有的 code 最终均能达到 Boss baseline,希望能给你带来帮助。代码会一直更新到课程结束。\n\n当前代码版本对应的是 2023 年春,其中 HW0"
}
]
// ... and 3 more files (download for full content)
About this extraction
This page contains the full source code of the Hoper-J/HUNG-YI_LEE_Machine-Learning_Homework GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 47 files (187.7 MB), approximately 3.8M tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.