diff --git a/chest_xray_.ipynb b/chest_xray_.ipynb
new file mode 100644
index 0000000000000000000000000000000000000000..9af8e1f4b8a6e5a52c80f93f29fc70f8dda17f87
--- /dev/null
+++ b/chest_xray_.ipynb
@@ -0,0 +1,7216 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import pandas as pd\n",
+    "from PIL import Image\n",
+    "import numpy as np\n",
+    "import cv2\n",
+    "import math\n",
+    "from sklearn import svm\n",
+    "from array import array\n",
+    "import matplotlib.pyplot as plt\n",
+    "import numpy.linalg as LA\n",
+    "from itertools import permutations\n",
+    "from sklearn import neighbors,metrics\n",
+    "from matplotlib import pylab\n",
+    "#import matplotlib as plt"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 155,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#function to load images into dataframe\n",
+    "def loaddata(rootdir):\n",
+    "    import os\n",
+    "    imagelist = []\n",
+    "    for (dirpath,dirnames,filenames) in os.walk(rootdir,followlinks=True):\n",
+    "        for file in filenames:\n",
+    "            if '.jpeg' in file:\n",
+    "                datalabel = dirpath.split('/')[-2]\n",
+    "                classlabel =[0 if dirpath.split('/')[-1]=='NORMAL' else 1][0]\n",
+    "                imagelist.append((dirpath+'/'+ file,datalabel,classlabel))\n",
+    "                print(datalabel)\n",
+    "\n",
+    "    return pd.DataFrame(imagelist,columns=['image','data','class'])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 156,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#regenerate images\n",
+    "def regenerateImages(image):\n",
+    "    ResizeValNew= image.reshape(32, 32)\n",
+    "    #ResizeValNew.shape#(71,90)\n",
+    "    ImageReconstructedNew = Image.fromarray(ResizeValNew)\n",
+    "    ImageReconstructedNew.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 157,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def flatImages(dataset,selectedLabels):\n",
+    "    vals =[]\n",
+    "    for i in range(len(dataset.values)):\n",
+    "        #print (i)\n",
+    "        imgpath = dataset.iloc[i].image\n",
+    "        img = Image.open(imgpath).convert('L')\n",
+    "        img = img.resize((32,32), Image.ANTIALIAS)\n",
+    "        val = list(img.convert('L').getdata())\n",
+    "        vals.extend(val)\n",
+    "    datasetlabels = dataset.loc[:,dataset.columns == 'class']\n",
+    "    trainData= np.array(vals)\n",
+    "    trainlabel= np.array(datasetlabels)\n",
+    "    idx = [k for k in range(len(trainlabel)) if trainlabel[k] in selectedLabels]\n",
+    "    N = len(idx)\n",
+    "    X = np.zeros((N, 32 * 32), dtype=np.uint8)\n",
+    "    T = np.zeros((N, 1), dtype=np.uint8)\n",
+    "    for i in range(N):\n",
+    "        X[i] = trainData[idx[i] * 32 * 32:(idx[i] + 1) * 32 * 32]\n",
+    "        T[i] = trainlabel[idx[i]]\n",
+    "    return X,T"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 158,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def Build2DHistograms(P, T, B, mn, mx):\n",
+    "    labels = np.unique(T)\n",
+    "    Hn = np.zeros([B,B]).astype('int32')\n",
+    "    Hp = np.zeros([B,B]).astype('int32')\n",
+    "    RC = np.clip(np.around(((B-1)*(P - mn)/(mx - mn)))  .astype('int32'), 0, B-1)\n",
+    "    for i, rc in enumerate(RC):\n",
+    "            if T[i] == labels[0]:\n",
+    "                Hn[rc[0], rc[1]] += 1\n",
+    "            else:\n",
+    "                Hp[rc[0], rc[1]] += 1\n",
+    "    return Hn, Hp"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 159,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def Histogram2DClassifier (queries, mn, mx, Hn, Hp, labeln,labelp):\n",
+    "    B = np.alen(Hn)\n",
+    "    RC = np.clip(np.around(((B - 1) * (queries - mn) / (mx - mn))).astype('int32'), 0, B - 1)\n",
+    "    countn = Hn[RC[:, 0], RC[:, 1]]\n",
+    "    countp = Hp[RC[:, 0], RC[:, 1]] \n",
+    "    resultlabel = np.full(np.alen(countn), 999, dtype=int)\n",
+    "    indicesn = countn > countp\n",
+    "    indicesp = countp > countn\n",
+    "    resultlabel[indicesn] = labeln\n",
+    "    resultlabel[indicesp] = labelp\n",
+    "    resultprob = countn/(countn+countp)\n",
+    "    resultprob[indicesp] = 1 - resultprob[indicesp]\n",
+    "    return resultlabel, resultprob"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 202,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def Bayesian2DClassifier(queries, Nn, Np, mun, mup, cn, cp, labeln, labelp):\n",
+    "    w1 = 1\n",
+    "    w2 = 1\n",
+    "    A = w1*w2\n",
+    "    N = np.alen(queries)\n",
+    "    [countn, countp] = np.zeros((2, N))\n",
+    "    factorn = Nn * A * (1 / (2 * np.pi * np.sqrt(np.linalg.det(cn))))\n",
+    "    factorp = Np * A * (1 / (2 * np.pi * np.sqrt(np.linalg.det(cp))))\n",
+    "    icn = np.linalg.inv(cn)\n",
+    "    icp = np.linalg.inv(cp)\n",
+    "    for i, q in enumerate(queries):\n",
+    "        countn[i] = factorn*np.exp(-0.5 * np.dot(np.dot(q - mun, icn), q - mun))\n",
+    "        countp[i] = factorp*np.exp(-0.5 * np.dot(np.dot(q - mup, icp), q - mup))\n",
+    "    resultlabel = np.full(N, 999, dtype = int)\n",
+    "    indicesn = countn > countp\n",
+    "    indicesp = countp > countn\n",
+    "    resultlabel[indicesn] = labeln\n",
+    "    resultlabel[indicesp] = labelp\n",
+    "    resultprob = countn/(countn+countp)\n",
+    "    resultprob[indicesp] = 1 - resultprob[indicesp]\n",
+    "    return resultlabel, resultprob\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 203,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def accuracy (truth, result):\n",
+    "    return (list((truth==result)).count(True))/np.alen(truth)\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Main"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 204,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "train\n",
+      "val\n",
+      "val\n",
+      "val\n",
+      "val\n",
+      "val\n",
+      "val\n",
+      "val\n",
+      "val\n",
+      "val\n",
+      "val\n",
+      "val\n",
+      "val\n",
+      "val\n",
+      "val\n",
+      "val\n",
+      "val\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n",
+      "test\n"
+     ]
+    },
+    {
+     "data": {
+      "text/plain": [
+       "(5856, 3)"
+      ]
+     },
+     "execution_count": 204,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "filedb = loaddata('/home/pooja/Downloads/chest_xray/chest_xray/')\n",
+    "train = filedb.loc[filedb['data']=='train']\n",
+    "trainlabels = train.loc[:,train.columns == 'class']\n",
+    "test = filedb.loc[filedb['data']=='test']\n",
+    "testImages = test.loc[:,test.columns == 'image']\n",
+    "testlabels = test.loc[:,test.columns == 'class']\n",
+    "filedb.shape"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 205,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "                                                  image   data  class\n",
+      "0     /home/pooja/Downloads/chest_xray/chest_xray/tr...  train      1\n",
+      "1     /home/pooja/Downloads/chest_xray/chest_xray/tr...  train      1\n",
+      "2     /home/pooja/Downloads/chest_xray/chest_xray/tr...  train      1\n",
+      "3     /home/pooja/Downloads/chest_xray/chest_xray/tr...  train      1\n",
+      "4     /home/pooja/Downloads/chest_xray/chest_xray/tr...  train      1\n",
+      "...                                                 ...    ...    ...\n",
+      "5851  /home/pooja/Downloads/chest_xray/chest_xray/te...   test      0\n",
+      "5852  /home/pooja/Downloads/chest_xray/chest_xray/te...   test      0\n",
+      "5853  /home/pooja/Downloads/chest_xray/chest_xray/te...   test      0\n",
+      "5854  /home/pooja/Downloads/chest_xray/chest_xray/te...   test      0\n",
+      "5855  /home/pooja/Downloads/chest_xray/chest_xray/te...   test      0\n",
+      "\n",
+      "[5856 rows x 3 columns]\n"
+     ]
+    }
+   ],
+   "source": [
+    "print(filedb)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 206,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "5216"
+      ]
+     },
+     "execution_count": 206,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "len(train.values)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 207,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "ClassCounts = train['class'].value_counts().plot(kind='bar')\n",
+    "ClassCounts.set_ylabel('No. of Images')\n",
+    "ClassCounts.set_title('Class Bias')\n",
+    "ClassCounts.set_xticklabels( ('Pneumonia', 'Normal') )\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# PCA "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 208,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "X_train,Y_train = flatImages(train,selectedLabels=[0,1])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 209,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "X_train.shape\n",
+    "Y_train.shape\n",
+    "\n",
+    "X1= X_train\n",
+    "T1= Y_train"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 210,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(1024,)"
+      ]
+     },
+     "execution_count": 210,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "X1[1].shape#only 1 element has 32*32 dimensions(rows and columns)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 211,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "array([102,  29,  37, ...,  64,   4,   1], dtype=uint8)"
+      ]
+     },
+     "execution_count": 211,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "X1[2]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 212,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/home/pooja/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:2: MatplotlibDeprecationWarning: \n",
+      "The 'normed' kwarg was deprecated in Matplotlib 2.1 and will be removed in 3.1. Use 'density' instead.\n",
+      "  \n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "#Pixel intensity histogram\n",
+    "plt.hist(X1[2], bins=256, range=(0,256), normed=True)\n",
+    "plt.title('one image - pixel intensity distribution')\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Compute PCA"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 213,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Text(0.5, 1.0, 'Original image')"
+      ]
+     },
+     "execution_count": 213,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "#Original Image\n",
+    "regenerateImages(X1[2])\n",
+    "plt.imshow(X1[2].reshape(32,32),interpolation = 'None', cmap = 'gray')\n",
+    "plt.title('Original image')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 214,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Text(0.5, 1.0, 'Mean image')"
+      ]
+     },
+     "execution_count": 214,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "# XZCVPR process\n",
+    "mu = np.mean(X1, axis=0)\n",
+    "Z = X1 - mu;\n",
+    "plt.imshow(Z[2].reshape(32,32),interpolation = 'None', cmap = 'gray')\n",
+    "plt.title('Mean image')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 215,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Text(0.5, 1.0, 'Recovered image from eigen vector without mean')"
+      ]
+     },
+     "execution_count": 215,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "C = np.cov(Z, rowvar=False)\n",
+    "[Lambda, V] = LA.eigh(C)\n",
+    "Lambda=np.flipud(Lambda)\n",
+    "V=np.flipud(V.T)\n",
+    "V = V[:2]\n",
+    "P=np.dot(Z, V.T)\n",
+    "P.shape\n",
+    "R=np.dot(P,V)\n",
+    "#regenerateImages(R[2])\n",
+    "plt.imshow(R[2].reshape(32,32),interpolation = 'None', cmap = 'gray')\n",
+    "plt.title('Recovered image from eigen vector without mean')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 216,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(5216, 2)"
+      ]
+     },
+     "execution_count": 216,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "P.shape\n",
+    "#P[:, 1]\n",
+    "#P[:, 0]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 217,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Text(0.5, 1.0, 'Recovered image ')"
+      ]
+     },
+     "execution_count": 217,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "Xrec=R+mu\n",
+    "#regenerateImages(Xrec[2])#Not bad! may be the resolution needs to be tweaked\n",
+    "plt.imshow(Xrec[2].reshape(32,32),interpolation = 'None', cmap = 'gray')\n",
+    "plt.title('Recovered image ')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 218,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/home/pooja/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:2: MatplotlibDeprecationWarning: \n",
+      "The 'normed' kwarg was deprecated in Matplotlib 2.1 and will be removed in 3.1. Use 'density' instead.\n",
+      "  \n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "#Pixel intensity histogram\n",
+    "plt.hist(Xrec[2], bins=256, range=(0,256), normed=True)\n",
+    "plt.title('recovered image - pixel intensity distribution')\n",
+    "plt.show()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 219,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "X_test,Y_test = flatImages(test,selectedLabels=[0,1])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 220,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "3875"
+      ]
+     },
+     "execution_count": 220,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "# generate unique labels and counts in our labels dataset\n",
+    "T1 = T1.flatten()\n",
+    "[[labeln, labelp], [Nn, Np]] = np.unique(T1, return_counts=True);\n",
+    "labeln#unique values i.e. 0\n",
+    "labelp#unique valuesi.e. 1(Pneumonia)\n",
+    "Nn# 0 existed times =1341\n",
+    "Np# 1 existed times=3875(Pneumonia is clearly predominant)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 221,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "array([3041.65379923, 1293.0536484 ])"
+      ]
+     },
+     "execution_count": 221,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "B = 32\n",
+    "mn = np.amin(P, axis=0)\n",
+    "mx = np.amax(P, axis=0)\n",
+    "p1min = mn[0]\n",
+    "p1max = mx[0]\n",
+    "p2min = mn[1]\n",
+    "p2max = mx[1]\n",
+    "\n",
+    "mn#minimum value along each dimension i.e. 2 max values for 2 dimensions\n",
+    "mx#maximum value along each dimension i.e. 2 max values for 2 dimensions"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 222,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Shape of normal patients' Histogram is  (32, 32)\n",
+      "Normal patients' Histogram is  [[0 0 0 ... 0 0 0]\n",
+      " [0 0 0 ... 0 0 0]\n",
+      " [0 0 0 ... 0 0 0]\n",
+      " ...\n",
+      " [0 0 0 ... 0 0 0]\n",
+      " [0 0 0 ... 0 0 0]\n",
+      " [0 0 0 ... 0 0 0]]\n",
+      "Shape of Pneumoniatic patients' Histogram is  (32, 32)\n",
+      "Pneumonia patients' Histogram is  [[0 0 0 ... 0 0 0]\n",
+      " [0 0 0 ... 0 0 0]\n",
+      " [0 0 0 ... 0 0 0]\n",
+      " ...\n",
+      " [0 0 0 ... 0 0 0]\n",
+      " [0 0 0 ... 0 0 0]\n",
+      " [0 0 0 ... 0 0 0]]\n"
+     ]
+    }
+   ],
+   "source": [
+    "[Hn, Hp] = Build2DHistograms(P, T1, B, mn, mx)\n",
+    "\n",
+    "print(\"Shape of normal patients' Histogram is \",Hn.shape)\n",
+    "print(\"Normal patients' Histogram is \",Hn)\n",
+    "print(\"Shape of Pneumoniatic patients' Histogram is \",Hp.shape)\n",
+    "print(\"Pneumonia patients' Histogram is \",Hp)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 223,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "df1 = pd.DataFrame (Hn)\n",
+    "df2 = pd.DataFrame (Hp)\n",
+    "\n",
+    "## save to xlsx file\n",
+    "\n",
+    "filepath1 = '/home/pooja/Downloads/HnFile.xlsx'\n",
+    "filepath2 = '/home/pooja/Downloads/HpFile.xlsx'\n",
+    "\n",
+    "df1.to_excel(filepath1, index=False)\n",
+    "df2.to_excel(filepath2, index=False)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 224,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "([array([32.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([32.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([32.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([31.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([28.,  4.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([26.,  4.,  2.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([25.,  2.,  1.,  0.,  2.,  1.,  0.,  0.,  0.,  1.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([21.,  5.,  2.,  0.,  0.,  1.,  1.,  0.,  0.,  2.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([19.,  2.,  3.,  0.,  1.,  1.,  1.,  0.,  2.,  1.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([23.,  1.,  1.,  0.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,  2.,  1.,\n",
+       "          2.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([19.,  4.,  0.,  0.,  1.,  1.,  0.,  0.,  0.,  0.,  0.,  1.,  2.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.,  0.,  1.,  0.,  1.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  1.]),\n",
+       "  array([21.,  0.,  1.,  0.,  1.,  2.,  1.,  0.,  0.,  1.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  2.,  0.,  0.,  1.,  1.,  0.,  0.,  1.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([19.,  2.,  1.,  0.,  0.,  3.,  0.,  0.,  1.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  1.,  0.,  0.,  1.,  0.,  0.,  1.,  0.,  0.,  1.,\n",
+       "          0.,  0.,  0.,  2.,  0.,  0.]),\n",
+       "  array([18.,  2.,  4.,  0.,  1.,  0.,  1.,  0.,  0.,  1.,  0.,  0.,  0.,\n",
+       "          1.,  0.,  0.,  1.,  0.,  0.,  1.,  0.,  0.,  1.,  0.,  0.,  0.,\n",
+       "          1.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([18.,  4.,  0.,  0.,  2.,  0.,  1.,  0.,  2.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,\n",
+       "          1.,  0.,  0.,  1.,  1.,  0.]),\n",
+       "  array([20.,  1.,  4.,  0.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  2.,  0.,  0.,  1.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  1.,  0.,  0.,  0.,  1.]),\n",
+       "  array([18.,  3.,  3.,  0.,  0.,  1.,  0.,  0.,  0.,  1.,  0.,  0.,  1.,\n",
+       "          1.,  0.,  1.,  0.,  0.,  1.,  0.,  0.,  0.,  0.,  1.,  0.,  1.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([19.,  2.,  3.,  0.,  1.,  0.,  2.,  0.,  1.,  0.,  0.,  0.,  1.,\n",
+       "          1.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([18.,  5.,  1.,  0.,  1.,  1.,  0.,  0.,  0.,  1.,  0.,  2.,  0.,\n",
+       "          0.,  0.,  2.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([20.,  2.,  1.,  0.,  2.,  0.,  3.,  0.,  0.,  0.,  0.,  0.,  1.,\n",
+       "          0.,  0.,  1.,  1.,  0.,  0.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([20.,  3.,  1.,  0.,  1.,  2.,  0.,  0.,  3.,  0.,  0.,  2.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([22.,  4.,  0.,  0.,  1.,  1.,  2.,  0.,  0.,  1.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([21.,  4.,  5.,  0.,  1.,  0.,  0.,  0.,  1.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([21.,  3.,  3.,  0.,  5.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([24.,  4.,  3.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([25.,  4.,  3.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([25.,  6.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([28.,  4.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([31.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([31.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([30.,  2.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([32.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.])],\n",
+       " array([ 0.     ,  0.71875,  1.4375 ,  2.15625,  2.875  ,  3.59375,\n",
+       "         4.3125 ,  5.03125,  5.75   ,  6.46875,  7.1875 ,  7.90625,\n",
+       "         8.625  ,  9.34375, 10.0625 , 10.78125, 11.5    , 12.21875,\n",
+       "        12.9375 , 13.65625, 14.375  , 15.09375, 15.8125 , 16.53125,\n",
+       "        17.25   , 17.96875, 18.6875 , 19.40625, 20.125  , 20.84375,\n",
+       "        21.5625 , 22.28125, 23.     ]),\n",
+       " <a list of 32 Lists of Patches objects>)"
+      ]
+     },
+     "execution_count": 224,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "plt.hist(Hn, bins=32)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 225,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "([array([31.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([30.,  1.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([27.,  5.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([28.,  1.,  0.,  0.,  2.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([23.,  0.,  3.,  1.,  2.,  0.,  2.,  1.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([20.,  4.,  1.,  0.,  2.,  0.,  0.,  1.,  2.,  2.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([21.,  1.,  2.,  0.,  2.,  0.,  2.,  1.,  0.,  1.,  2.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([20.,  1.,  3.,  1.,  1.,  1.,  3.,  0.,  2.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([20.,  0.,  1.,  1.,  3.,  0.,  2.,  0.,  3.,  2.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([16.,  1.,  4.,  2.,  2.,  0.,  1.,  1.,  1.,  1.,  1.,  1.,  1.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([18.,  3.,  1.,  0.,  0.,  0.,  2.,  0.,  1.,  0.,  1.,  3.,  2.,\n",
+       "          1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([16.,  0.,  1.,  3.,  1.,  2.,  2.,  0.,  0.,  1.,  0.,  1.,  1.,\n",
+       "          3.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([16.,  0.,  6.,  0.,  0.,  0.,  1.,  1.,  1.,  2.,  1.,  0.,  1.,\n",
+       "          1.,  0.,  1.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([13.,  3.,  2.,  2.,  1.,  0.,  0.,  1.,  4.,  0.,  0.,  0.,  2.,\n",
+       "          0.,  0.,  0.,  2.,  0.,  0.,  1.,  0.,  1.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([14.,  1.,  4.,  0.,  1.,  0.,  0.,  0.,  2.,  0.,  2.,  1.,  0.,\n",
+       "          0.,  0.,  2.,  1.,  0.,  0.,  2.,  1.,  0.,  1.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([14.,  0.,  3.,  0.,  0.,  2.,  1.,  0.,  2.,  0.,  1.,  0.,  3.,\n",
+       "          2.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.,  2.,  1.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([14.,  1.,  4.,  0.,  1.,  1.,  1.,  0.,  0.,  1.,  0.,  0.,  1.,\n",
+       "          1.,  0.,  0.,  3.,  0.,  0.,  0.,  1.,  0.,  1.,  0.,  0.,  0.,\n",
+       "          1.,  0.,  0.,  0.,  0.,  1.]),\n",
+       "  array([13.,  2.,  1.,  2.,  2.,  1.,  0.,  0.,  1.,  1.,  1.,  0.,  0.,\n",
+       "          0.,  2.,  0.,  3.,  1.,  0.,  0.,  0.,  1.,  0.,  0.,  0.,  0.,\n",
+       "          1.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([12.,  1.,  1.,  1.,  3.,  0.,  1.,  0.,  4.,  0.,  3.,  0.,  1.,\n",
+       "          0.,  0.,  0.,  1.,  2.,  0.,  0.,  2.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([13.,  1.,  3.,  0.,  0.,  1.,  2.,  2.,  3.,  1.,  1.,  1.,  0.,\n",
+       "          2.,  1.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([10.,  3.,  2.,  0.,  1.,  1.,  7.,  1.,  5.,  0.,  2.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([12.,  2.,  5.,  0.,  4.,  1.,  3.,  1.,  4.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([11.,  4.,  7.,  0.,  3.,  1.,  3.,  2.,  0.,  0.,  1.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([14.,  3.,  8.,  4.,  1.,  1.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([19.,  2.,  5.,  4.,  1.,  0.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([19.,  7.,  6.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([28.,  2.,  2.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([31.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([31.,  1.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([32.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([32.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.]),\n",
+       "  array([32.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,\n",
+       "          0.,  0.,  0.,  0.,  0.,  0.])],\n",
+       " array([ 0. ,  1.5,  3. ,  4.5,  6. ,  7.5,  9. , 10.5, 12. , 13.5, 15. ,\n",
+       "        16.5, 18. , 19.5, 21. , 22.5, 24. , 25.5, 27. , 28.5, 30. , 31.5,\n",
+       "        33. , 34.5, 36. , 37.5, 39. , 40.5, 42. , 43.5, 45. , 46.5, 48. ]),\n",
+       " <a list of 32 Lists of Patches objects>)"
+      ]
+     },
+     "execution_count": 225,
+     "metadata": {},
+     "output_type": "execute_result"
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "plt.hist(Hp, bins=32)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 226,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(array([   0,    1,    2, ..., 5212, 5213, 5214]),)"
+      ]
+     },
+     "execution_count": 226,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "[Hlabels, Hprobs] = Histogram2DClassifier(P, mn, mx, Hn, Hp, labeln, labelp)\n",
+    "np.where(Hlabels==1)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 227,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "74.29064417177914"
+      ]
+     },
+     "execution_count": 227,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "accuracyH = accuracy(T1, Hlabels)*100\n",
+    "accuracyH"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 228,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "array([1, 1, 1, ..., 1, 1, 1])"
+      ]
+     },
+     "execution_count": 228,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "#Bayesian classifier\n",
+    "#P#2 dimensions for all the observations\n",
+    "mun = np.mean(P[T1==labeln], axis=0)\n",
+    "mun\n",
+    "mup = np.mean(P[T1==labelp], axis=0)\n",
+    "mup\n",
+    "cn = np.cov(P[T1==labeln], rowvar=False)\n",
+    "cn\n",
+    "cp = np.cov(P[T1==labelp], rowvar=False)\n",
+    "cp\n",
+    "\n",
+    "[Blabels, Bprobs] = Bayesian2DClassifier(P, Nn, Np, mun, mup, cn, cp,labeln,labelp)\n",
+    "[Blabels, Bprobs]\n",
+    "Blabels"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 200,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "1"
+      ]
+     },
+     "execution_count": 200,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "#cn\n",
+    "#cp\n",
+    "labeln\n",
+    "#labelp"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 229,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "74.29064417177914"
+      ]
+     },
+     "execution_count": 229,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "accuracyB = accuracy(T1, Blabels)*100\n",
+    "accuracyB"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Confusion matrix plot"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 230,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(5216, 4)"
+      ]
+     },
+     "execution_count": 230,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "cols = np.zeros((np.alen(T1), 4))\n",
+    "cols.shape"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 231,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(3875, 4)"
+      ]
+     },
+     "execution_count": 231,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "cols[T1==labeln] = [1, 0, 0, 0.25]\n",
+    "cols[T1==labelp] = [0, 1, 0, 0.25]\n",
+    "#randomorder = permutations(np.arange(np.alen(T)))\n",
+    "cols[T1==labeln].shape\n",
+    "cols[T1==labelp].shape"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 232,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "fig = pylab.figure()\n",
+    "ax = fig.add_subplot(111, facecolor = \"black\")\n",
+    "#ax.scatter(P[randomorder, 1], P[randomorder, 0], s=5, linewidths=0, facecolors=cols[randomorder, :], marker= \"o\")\n",
+    "ax.scatter( P[:, 0],P[:, 1], s=5, linewidths=0, facecolors=cols[:, :], marker= \"o\")\n",
+    "ax.set_aspect('equal')\n",
+    "pylab.gca().invert_yaxis()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 233,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/home/pooja/anaconda3/lib/python3.7/site-packages/sklearn/naive_bayes.py:206: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
+      "  y = column_or_1d(y, warn=True)\n"
+     ]
+    },
+    {
+     "data": {
+      "text/plain": [
+       "GaussianNB(priors=None, var_smoothing=1e-09)"
+      ]
+     },
+     "execution_count": 233,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "from sklearn.naive_bayes import GaussianNB\n",
+    "clf = GaussianNB()\n",
+    "clf.fit(X_train, Y_train)\n",
+    "GaussianNB(priors=None)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 234,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[1 1 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0\n",
+      " 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1\n",
+      " 1 1 1 1 1 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 1\n",
+      " 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 1 1 1\n",
+      " 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 0 1 1 0\n",
+      " 0 1 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 0 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 1\n",
+      " 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 1\n",
+      " 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1\n",
+      " 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 1 0 0 1\n",
+      " 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1\n",
+      " 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0\n",
+      " 1 0 1 0 0 1 1 0 0 1 1 1 1 1 0 1 0 1 1 0 1 0 1 1 0 1 0 0 0 1 1 0 0 1 1 0 1\n",
+      " 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0\n",
+      " 1 1 1 1 0 1 0 0 1 0 1 1 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0\n",
+      " 1 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 1 1 1 1 1 1\n",
+      " 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 1 0 1\n",
+      " 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0]\n"
+     ]
+    }
+   ],
+   "source": [
+    "Gaussian_pred = clf.predict(X_test)\n",
+    "print(Gaussian_pred)\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Confusion matrix plot"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 235,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "import itertools"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 236,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "def plot_confusion_matrix(cm, classes,\n",
+    "                          normalize=False,\n",
+    "                          title='Confusion matrix',\n",
+    "                          cmap=plt.cm.Blues):\n",
+    "    \"\"\"\n",
+    "    This function prints and plots the confusion matrix.\n",
+    "    Normalization can be applied by setting `normalize=True`.\n",
+    "    \"\"\"\n",
+    "    if normalize:\n",
+    "        cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n",
+    "        print(\"Normalized confusion matrix\")\n",
+    "    else:\n",
+    "        print('Confusion matrix, without normalization')\n",
+    "\n",
+    "    print(cm)\n",
+    "\n",
+    "    plt.imshow(cm, interpolation='nearest', cmap=cmap)\n",
+    "    plt.title(title)\n",
+    "    plt.colorbar()\n",
+    "    tick_marks = np.arange(len(classes))\n",
+    "    plt.xticks(tick_marks, classes, rotation=45)\n",
+    "    plt.yticks(tick_marks, classes)\n",
+    "\n",
+    "    fmt = '.2f' if normalize else 'd'\n",
+    "    thresh = cm.max() / 2.\n",
+    "    for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):\n",
+    "        plt.text(j, i, format(cm[i, j], fmt),\n",
+    "                 horizontalalignment=\"center\",\n",
+    "                 color=\"white\" if cm[i, j] > thresh else \"black\")\n",
+    "\n",
+    "    plt.tight_layout()\n",
+    "    plt.ylabel('True label')\n",
+    "    plt.xlabel('Predicted label')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 237,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Confusion matrix, without normalization\n",
+      "[[142  92]\n",
+      " [ 87 303]]\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 2 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "gm = metrics.confusion_matrix(Y_test, Gaussian_pred)\n",
+    "plot_confusion_matrix(gm,[\"0\",\"1\"])"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.7.6"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}