{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {
        "id": "uEA2h9eqDhIr"
      },
      "outputs": [],
      "source": [
        "import numpy as np\n",
        "import pandas as pd\n",
        "import matplotlib.pyplot as plt\n",
        "from sklearn.model_selection import train_test_split\n",
        "from tensorflow.keras.models import Sequential\n",
        "from tensorflow.keras.layers import Dense, Flatten, Input\n",
        "from tensorflow.keras.utils import to_categorical"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "train_data = pd.read_csv('/content/Train.csv')\n",
        "print(\"Shape of train_data:\", train_data.shape)\n",
        "\n",
        "\n",
        "X = train_data.iloc[:, 1:]\n",
        "y = train_data.iloc[:, 0]\n",
        "\n",
        "print(\"Shape of X after separating features:\", X.shape)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "wAb3SBwuD5t5",
        "outputId": "de7d87aa-5e3e-4818-c473-d5ac6d14286f"
      },
      "execution_count": 3,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Shape of train_data: (42000, 785)\n",
            "Shape of X after separating features: (42000, 784)\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "train_data.head(10)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 392
        },
        "id": "WQaYX4CkGKoR",
        "outputId": "00b07a5c-35a6-4ffc-ef77-c41c4cecb1ec"
      },
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "   label  pixel0  pixel1  pixel2  pixel3  pixel4  pixel5  pixel6  pixel7  \\\n",
              "0      1       0       0       0       0       0       0       0       0   \n",
              "1      0       0       0       0       0       0       0       0       0   \n",
              "2      1       0       0       0       0       0       0       0       0   \n",
              "3      4       0       0       0       0       0       0       0       0   \n",
              "4      0       0       0       0       0       0       0       0       0   \n",
              "5      0       0       0       0       0       0       0       0       0   \n",
              "6      7       0       0       0       0       0       0       0       0   \n",
              "7      3       0       0       0       0       0       0       0       0   \n",
              "8      5       0       0       0       0       0       0       0       0   \n",
              "9      3       0       0       0       0       0       0       0       0   \n",
              "\n",
              "   pixel8  ...  pixel774  pixel775  pixel776  pixel777  pixel778  pixel779  \\\n",
              "0       0  ...         0         0         0         0         0         0   \n",
              "1       0  ...         0         0         0         0         0         0   \n",
              "2       0  ...         0         0         0         0         0         0   \n",
              "3       0  ...         0         0         0         0         0         0   \n",
              "4       0  ...         0         0         0         0         0         0   \n",
              "5       0  ...         0         0         0         0         0         0   \n",
              "6       0  ...         0         0         0         0         0         0   \n",
              "7       0  ...         0         0         0         0         0         0   \n",
              "8       0  ...         0         0         0         0         0         0   \n",
              "9       0  ...         0         0         0         0         0         0   \n",
              "\n",
              "   pixel780  pixel781  pixel782  pixel783  \n",
              "0         0         0         0         0  \n",
              "1         0         0         0         0  \n",
              "2         0         0         0         0  \n",
              "3         0         0         0         0  \n",
              "4         0         0         0         0  \n",
              "5         0         0         0         0  \n",
              "6         0         0         0         0  \n",
              "7         0         0         0         0  \n",
              "8         0         0         0         0  \n",
              "9         0         0         0         0  \n",
              "\n",
              "[10 rows x 785 columns]"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-3c796c58-c732-4b59-9cee-472bf599c84f\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>label</th>\n",
              "      <th>pixel0</th>\n",
              "      <th>pixel1</th>\n",
              "      <th>pixel2</th>\n",
              "      <th>pixel3</th>\n",
              "      <th>pixel4</th>\n",
              "      <th>pixel5</th>\n",
              "      <th>pixel6</th>\n",
              "      <th>pixel7</th>\n",
              "      <th>pixel8</th>\n",
              "      <th>...</th>\n",
              "      <th>pixel774</th>\n",
              "      <th>pixel775</th>\n",
              "      <th>pixel776</th>\n",
              "      <th>pixel777</th>\n",
              "      <th>pixel778</th>\n",
              "      <th>pixel779</th>\n",
              "      <th>pixel780</th>\n",
              "      <th>pixel781</th>\n",
              "      <th>pixel782</th>\n",
              "      <th>pixel783</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>4</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>5</th>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6</th>\n",
              "      <td>7</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>7</th>\n",
              "      <td>3</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>8</th>\n",
              "      <td>5</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>9</th>\n",
              "      <td>3</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>10 rows × 785 columns</p>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-3c796c58-c732-4b59-9cee-472bf599c84f')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-3c796c58-c732-4b59-9cee-472bf599c84f button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-3c796c58-c732-4b59-9cee-472bf599c84f');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-d795a178-378a-4480-a386-1bae0dd1b7d8\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-d795a178-378a-4480-a386-1bae0dd1b7d8')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-d795a178-378a-4480-a386-1bae0dd1b7d8 button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "train_data"
            }
          },
          "metadata": {},
          "execution_count": 4
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "if not isinstance(X, pd.DataFrame):\n",
        "    X = pd.DataFrame(X)\n",
        "X = X.apply(pd.to_numeric, errors='coerce')\n",
        "X = X.fillna(0)\n",
        "X = X.values / 255.0\n",
        "X = X.reshape(-1, 28, 28, 1)\n",
        "print(\"Shape of X after reshaping:\", X.shape)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "A-tF5xF6D7tK",
        "outputId": "b14c9176-aac7-45e5-c5c7-3bf7118e0623"
      },
      "execution_count": 5,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Shape of X after reshaping: (42000, 28, 28, 1)\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "y = to_categorical(y, num_classes=10)\n",
        "print(\"Shape of y after one-hot encoding:\", y.shape)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "LpmH54TJEcZ7",
        "outputId": "466db71c-646c-4a16-9266-22b3ab978592"
      },
      "execution_count": 6,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Shape of y after one-hot encoding: (42000, 10)\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2, random_state=42)\n",
        "print(\"X_train shape:\", X_train.shape)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "oblTwNTtEeqM",
        "outputId": "7075b9f5-ae04-4095-cc67-58373c1f3fcb"
      },
      "execution_count": 7,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "X_train shape: (33600, 28, 28, 1)\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "model = Sequential([\n",
        "    Input(shape=(28, 28, 1)),  # This defines the input shape correctly\n",
        "    Flatten(),\n",
        "    Dense(128, activation='relu'),\n",
        "    Dense(64, activation='relu'),\n",
        "    Dense(10, activation='softmax')\n",
        "])\n",
        "model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])\n",
        "model.summary()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 272
        },
        "id": "hyjY6yiyEgd6",
        "outputId": "3922cc47-b4d7-4ab5-d4e7-9560342aaede"
      },
      "execution_count": 8,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "\u001b[1mModel: \"sequential\"\u001b[0m\n"
            ],
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">Model: \"sequential\"</span>\n",
              "</pre>\n"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
              "┃\u001b[1m \u001b[0m\u001b[1mLayer (type)                   \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape          \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m      Param #\u001b[0m\u001b[1m \u001b[0m┃\n",
              "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
              "│ flatten (\u001b[38;5;33mFlatten\u001b[0m)               │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m784\u001b[0m)            │             \u001b[38;5;34m0\u001b[0m │\n",
              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
              "│ dense (\u001b[38;5;33mDense\u001b[0m)                   │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m)            │       \u001b[38;5;34m100,480\u001b[0m │\n",
              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
              "│ dense_1 (\u001b[38;5;33mDense\u001b[0m)                 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m)             │         \u001b[38;5;34m8,256\u001b[0m │\n",
              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
              "│ dense_2 (\u001b[38;5;33mDense\u001b[0m)                 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m)             │           \u001b[38;5;34m650\u001b[0m │\n",
              "└─────────────────────────────────┴────────────────────────┴───────────────┘\n"
            ],
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
              "┃<span style=\"font-weight: bold\"> Layer (type)                    </span>┃<span style=\"font-weight: bold\"> Output Shape           </span>┃<span style=\"font-weight: bold\">       Param # </span>┃\n",
              "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
              "│ flatten (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Flatten</span>)               │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">784</span>)            │             <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
              "│ dense (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>)                   │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>)            │       <span style=\"color: #00af00; text-decoration-color: #00af00\">100,480</span> │\n",
              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
              "│ dense_1 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>)                 │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">64</span>)             │         <span style=\"color: #00af00; text-decoration-color: #00af00\">8,256</span> │\n",
              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
              "│ dense_2 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>)                 │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">10</span>)             │           <span style=\"color: #00af00; text-decoration-color: #00af00\">650</span> │\n",
              "└─────────────────────────────────┴────────────────────────┴───────────────┘\n",
              "</pre>\n"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m109,386\u001b[0m (427.29 KB)\n"
            ],
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Total params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">109,386</span> (427.29 KB)\n",
              "</pre>\n"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m109,386\u001b[0m (427.29 KB)\n"
            ],
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">109,386</span> (427.29 KB)\n",
              "</pre>\n"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n"
            ],
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Non-trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> (0.00 B)\n",
              "</pre>\n"
            ]
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "history = model.fit(X_train, y_train, epochs=10, batch_size=32, validation_data=(X_val, y_val))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "u6muPfKlEjmj",
        "outputId": "8b6eca92-8034-40ab-8bfb-60d76f89f56c"
      },
      "execution_count": 9,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1/10\n",
            "\u001b[1m1050/1050\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m8s\u001b[0m 6ms/step - accuracy: 0.8495 - loss: 0.5274 - val_accuracy: 0.9518 - val_loss: 0.1619\n",
            "Epoch 2/10\n",
            "\u001b[1m1050/1050\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 4ms/step - accuracy: 0.9580 - loss: 0.1365 - val_accuracy: 0.9640 - val_loss: 0.1201\n",
            "Epoch 3/10\n",
            "\u001b[1m1050/1050\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 5ms/step - accuracy: 0.9750 - loss: 0.0824 - val_accuracy: 0.9642 - val_loss: 0.1109\n",
            "Epoch 4/10\n",
            "\u001b[1m1050/1050\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 5ms/step - accuracy: 0.9817 - loss: 0.0600 - val_accuracy: 0.9687 - val_loss: 0.1005\n",
            "Epoch 5/10\n",
            "\u001b[1m1050/1050\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m11s\u001b[0m 6ms/step - accuracy: 0.9868 - loss: 0.0412 - val_accuracy: 0.9686 - val_loss: 0.1047\n",
            "Epoch 6/10\n",
            "\u001b[1m1050/1050\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m9s\u001b[0m 4ms/step - accuracy: 0.9890 - loss: 0.0336 - val_accuracy: 0.9679 - val_loss: 0.1155\n",
            "Epoch 7/10\n",
            "\u001b[1m1050/1050\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m6s\u001b[0m 5ms/step - accuracy: 0.9917 - loss: 0.0264 - val_accuracy: 0.9687 - val_loss: 0.1073\n",
            "Epoch 8/10\n",
            "\u001b[1m1050/1050\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m10s\u001b[0m 6ms/step - accuracy: 0.9922 - loss: 0.0242 - val_accuracy: 0.9719 - val_loss: 0.1136\n",
            "Epoch 9/10\n",
            "\u001b[1m1050/1050\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 4ms/step - accuracy: 0.9926 - loss: 0.0220 - val_accuracy: 0.9670 - val_loss: 0.1333\n",
            "Epoch 10/10\n",
            "\u001b[1m1050/1050\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 7ms/step - accuracy: 0.9949 - loss: 0.0158 - val_accuracy: 0.9715 - val_loss: 0.1289\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "val_loss, val_accuracy = model.evaluate(X_val, y_val)\n",
        "print(f\"Validation Accuracy: {val_accuracy * 100:.2f}%\")\n",
        "plt.plot(history.history['accuracy'], label='Training Accuracy')\n",
        "plt.plot(history.history['val_accuracy'], label='Validation Accuracy')\n",
        "plt.legend()\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 466
        },
        "id": "Suu2GZY0FXDT",
        "outputId": "53960a67-af5b-4b97-f5fe-72419de6fdc3"
      },
      "execution_count": 14,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\u001b[1m263/263\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 2ms/step - accuracy: 0.9709 - loss: 0.1380\n",
            "Validation Accuracy: 97.15%\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "test_data = pd.read_csv('/content/test.csv')\n",
        "X_test = test_data.values / 255.0\n",
        "X_test = X_test.reshape(-1, 28, 28, 1)\n",
        "predictions = model.predict(X_test)\n",
        "predicted_labels = np.argmax(predictions, axis=1)\n",
        "for i in range(5):\n",
        "    plt.imshow(X_test[i].reshape(28, 28), cmap='gray')\n",
        "    plt.title(f\"Predicted: {predicted_labels[i]}\")\n",
        "    plt.axis('off')\n",
        "    plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "_AdcOGIxFokc",
        "outputId": "2964cb7a-289f-499e-f119-967d51c70686"
      },
      "execution_count": 12,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\u001b[1m175/175\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 2ms/step\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAGbCAYAAAAr/4yjAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAD/9JREFUeJzt3H+oV/X9wPHX9Vde772Ys2tKjdutpkFlN40xMaqtMrxZI4jWjz9MTCQqM2gVC2Jbv7aIYThpDKLYcAyMIjFzZRjYiii7UVcaM9GoLqwy74pmP26+v3+Er683Ne/5eH/Y7fEA//Bzz+uctxe9T8/nnvuuK6WUAICIGDHUCwDg8CEKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKDBvHHXdcXH311fn75557Lurq6uK5554bsjV90zfXCIcbUaBfPPLII1FXV5e/xo4dG1OnTo3rr78+/vOf/wz18ipZu3Zt/PrXvx7qZezXW2+9FZdeemlMmDAhxo0bF2eeeWZs2LBhqJfFMDJqqBfA8PLb3/42Wltb47PPPovnn38+HnzwwVi7dm10dnbGuHHjBnUtZ511VuzatSvGjBlTaW7t2rWxYsWKwy4M77zzTsyaNStGjhwZv/zlL6OhoSEefvjhmDNnTjz77LNx1llnDfUSGQZEgX41d+7cOOOMMyIi4pprromJEyfGH/7wh3jiiSfiiiuu2O/Mp59+Gg0NDf2+lhEjRsTYsWP7/bxD5Xe/+110d3dHZ2dnTJs2LSIiFi1aFCeddFLcdNNNsWnTpiFeIcOBt48YUD/72c8iImLbtm0REXH11VdHY2NjbN26Ndrb26OpqSmuuuqqiIjYvXt3LFu2LE4++eQYO3ZsHH300bF48eLYuXNnr3OWUuKuu+6KY489NsaNGxc//elPY/Pmzftc+0DfU3jppZeivb09JkyYEA0NDTF9+vR44IEHcn0rVqyIiOj1dtge/b3GiIitW7fG1q1bD/q53LhxY5x++ukZhIiIcePGxcUXXxyvvvpqbNmy5aDngINxp8CA2vPFbuLEiflaT09PXHDBBXHmmWfG/fffn28rLV68OB555JFYsGBBLFmyJLZt2xZ//OMfo6OjI/75z3/G6NGjIyLijjvuiLvuuiva29ujvb09Xn311ZgzZ0588cUXB13PM888E/PmzYspU6bEjTfeGJMnT44333wz1qxZEzfeeGMsXrw4urq64plnnom//vWv+8wPxBrPPffciIjYvn37t679888/jwkTJuzz+p7P36ZNm+JHP/rRQT8H8K0K9IOHH364RERZv359+eCDD8o777xT/v73v5eJEyeW+vr68u6775ZSSpk/f36JiHLbbbf1mt+4cWOJiLJy5cper69bt67X6++//34ZM2ZMufDCC8vu3bvzuF/96lclIsr8+fPztQ0bNpSIKBs2bCillNLT01NaW1tLS0tL2blzZ6/r7H2u6667ruzvn8ZArLGUUlpaWkpLS8s+1/umiy66qBx55JHl448/7vX6rFmzSkSU+++//6DngIPx9hH96rzzzovm5ub44Q9/GJdffnk0NjbG448/Hsccc0yv46699tpev1+1alWMHz8+zj///Pjwww/z18yZM6OxsTGfsFm/fn188cUXccMNN/R6W2fp0qUHXVtHR0ds27Ytli5dGkceeWSvj+19rgMZqDVu3779oHcJEV9/zrq7u+MXv/hFdHR0xL///e9YunRpvPLKKxERsWvXroOeAw7G20f0qxUrVsTUqVNj1KhRcfTRR8e0adNixIje//cYNWpUHHvssb1e27JlS/z3v/+NSZMm7fe877//fkREvP322xER+7xN0tzcvN+3Vva2562sU045pe9/oEFe47eZO3duLF++PG677baYMWNGRESceOKJcffdd8ctt9wSjY2NNZ8b9hAF+tWPf/zjfProQI444oh9QrF79+6YNGlSrFy5cr8zzc3N/bbGWh0Oa7z++utjwYIF8frrr8eYMWOira0tHnrooYiImDp16oBfn+FPFDgsnHDCCbF+/fqYPXt21NfXH/C4lpaWiPj6f+3HH398vv7BBx/s8wTQ/q4REdHZ2RnnnXfeAY870FtJg7HGvmhoaIhZs2bl79evXx/19fUxe/bsQz43+J4Ch4XLLrssvvrqq7jzzjv3+VhPT090d3dHxNffsxg9enQsX748Sil5zLJlyw56jRkzZkRra2ssW7Ysz7fH3ufa8zMT3zxmoNbY10dS9+eFF16Ixx57LBYuXBjjx4+v6RywN3cKHBbOPvvsWLx4cdx7773x2muvxZw5c2L06NGxZcuWWLVqVTzwwANx6aWXRnNzc9x8881x7733xrx586K9vT06OjriqaeeiqOOOupbrzFixIh48MEH46KLLoq2trZYsGBBTJkyJf71r3/F5s2b4x//+EdERMycOTMiIpYsWRIXXHBBjBw5Mi6//PIBW2NfH0l9++2347LLLouLL744Jk+eHJs3b44//elPMX369Ljnnntq+KzDfgzx008ME3seSX355Ze/9bj58+eXhoaGA378z3/+c5k5c2apr68vTU1N5dRTTy233HJL6erqymO++uqr8pvf/KZMmTKl1NfXl3POOad0dnaWlpaWb30kdY/nn3++nH/++aWpqak0NDSU6dOnl+XLl+fHe3p6yg033FCam5tLXV3dPo+n9ucaS+n7I6kfffRR+fnPf14mT55cxowZU1pbW8utt966zyOqcCjqStnr/haA7zXfUwAgiQIASRQASKIAQBIFAJIoAJD6/MNrfdlFEoDDV19+AsGdAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgDRqqBfA0PvJT35SeebKK6+sPDN79uzKMxER//vf/yrP/OAHP6g809XVVXnmk08+qTzz5JNPVp6JiPjb3/5WeWbXrl01XYvvL3cKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIdaWU0qcD6+oGei30g1o2nfvLX/5Seaa1tbXyzGCq5e9rH/8pDJn33nuv8syiRYsqz6xbt67yDN8Nffk77k4BgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIdkk9TB1xxBE1zb388suVZ0499dTKM6+88krlmVp333zyySdrmhsMzc3NlWeWLFlS07XOPffcyjM9PT2VZ6666qrKM6tWrao8w+CzSyoAlYgCAEkUAEiiAEASBQCSKACQRAGAJAoAJFEAIIkC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\n"
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAGbCAYAAAAr/4yjAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAADrhJREFUeJzt3H+oV/Udx/H3NTWvV1dit3RZd/bDBlvishVS1NrM8GYFEf2gQN0PLqMsN6rJ/hir1dofEYqTYjAKhhAICyOsyDDIguiHUVqREw2HbNaWBVFr5tkfwxfd/HW/d/d6r+7xAP+433s+57y94H36+d5zT1vTNE0BQFWNGOoBABg+RAGAEAUAQhQACFEAIEQBgBAFAEIUAAhRACBEgaPGN77xjVqwYEE+fu6556qtra2ee+65IZvpq746Iww3osCAeOSRR6qtrS1/xowZU9OmTatbbrml/v73vw/1eC1Zs2ZN/frXvx7qMfbrL3/5S11zzTU1YcKEGjt2bF144YW1bt26oR6Lo8jIoR6Ao8vdd99dU6dOrc8++6zWr19fDz74YK1Zs6Y2btxYY8eOPayzXHTRRfXpp5/W6NGjW1q3Zs2aWrFixbALw/bt22vWrFl1zDHH1B133FEdHR318MMP15w5c+rZZ5+tiy66aKhH5CggCgyouXPn1rnnnltVVT/+8Y9r4sSJ9cADD9Tq1avrhhtu2O+aTz75pDo6OgZ8lhEjRtSYMWMG/LxD5Xe/+13t2rWrNm7cWGeddVZVVf3kJz+pb37zm/Wzn/2sXn311SGekKOBt48YVN///verqmrr1q1VVbVgwYIaN25cbdmypbq7u2v8+PF14403VlXVnj17aunSpfWtb32rxowZUyeddFL19PTUhx9+2OucTdPUPffcU1OmTKmxY8fWJZdcUps2bdrn2gf6mcJLL71U3d3dNWHChOro6Kjp06fXsmXLMt+KFSuqqnq9HbbXQM9YVbVly5basmXLIb+Wzz//fH3nO99JEKqqxo4dW1deeWW99tprtXnz5kOeAw7FToFBtfeb3cSJE/Pa7t2767LLLqsLL7yw7r///ryt1NPTU4888kgtXLiwbr311tq6dWv9/ve/rw0bNtQLL7xQo0aNqqqqX/3qV3XPPfdUd3d3dXd312uvvVZz5sypzz///JDzPPPMMzVv3ryaPHly3XbbbTVp0qR6++2364knnqjbbrutenp6aseOHfXMM8/Un/70p33WD8aMP/jBD6qqatu2bQed/V//+ldNmDBhn9f3fv1effXVOvPMMw/5NYCDamAAPPzww01VNWvXrm3ef//9Zvv27c2jjz7aTJw4sWlvb2/++te/Nk3TNPPnz2+qqlmyZEmv9c8//3xTVc3KlSt7vf7UU0/1en3nzp3N6NGjm8svv7zZs2dPjvvlL3/ZVFUzf/78vLZu3bqmqpp169Y1TdM0u3fvbqZOndp0dXU1H374Ya/rfPlcN998c7O/fxqDMWPTNE1XV1fT1dW1z/W+6oorrmiOP/745uOPP+71+qxZs5qqau6///5DngMOxdtHDKjZs2dXZ2dnnXLKKXX99dfXuHHj6rHHHquTTz6513E//elPe328atWqOu644+rSSy+tDz74IH9mzpxZ48aNyx02a9eurc8//7wWLVrU622dxYsXH3K2DRs21NatW2vx4sV1/PHH9/rcl891IIM147Zt2w65S6j679ds165ddd1119WGDRvq3XffrcWLF9crr7xSVVWffvrpIc8Bh+LtIwbUihUratq0aTVy5Mg66aST6qyzzqoRI3r/32PkyJE1ZcqUXq9t3ry5PvroozrxxBP3e96dO3dWVdV7771XVbXP2ySdnZ37fWvly/a+lfXtb3+773+hwzzjwcydO7eWL19eS5YsqXPOOaeqqs4444y69957684776xx48b1+9ywlygwoM4777zcfXQgxx577D6h2LNnT5144om1cuXK/a7p7OwcsBn7azjMeMstt9TChQvrjTfeqNGjR9eMGTPqj3/8Y1VVTZs2bdCvz9FPFBgWTj/99Fq7dm1dcMEF1d7efsDjurq6quq//2s/7bTT8vr777+/zx1A+7tGVdXGjRtr9uzZBzzuQG8lHY4Z+6Kjo6NmzZqVj9euXVvt7e11wQUX/M/nBj9TYFi49tpr64svvqjf/OY3+3xu9+7dtWvXrqr6788sRo0aVcuXL6+maXLM0qVLD3mNc845p6ZOnVpLly7N+fb68rn2/s7EV48ZrBn7ekvq/rz44ov15z//uX70ox/Vcccd169zwJfZKTAsXHzxxdXT01P33Xdfvf766zVnzpwaNWpUbd68uVatWlXLli2ra665pjo7O+v222+v++67r+bNm1fd3d21YcOGevLJJ+uE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\n"
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAGbCAYAAAAr/4yjAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAADj9JREFUeJzt3EuM1eX9x/HvoYAgkFZxRKJ0SrU2EYtGWjcSelNpRxsToy1tF2hiQky9LRptTNrY1oaFxmAssemmNg1tExaNjaEaaTAKC2+FBUYTQwA1pl7RqFEp8vwXlU8cB3R+07n9h9crmQVnzvc8D8PlPc85Z3691lorAKiqaRO9AQAmD1EAIEQBgBAFAEIUAAhRACBEAYAQBQBCFAAIUWDK+MIXvlBXXHFFfv3QQw9Vr9erhx56aML29HEf3yNMNqLAqLjnnnuq1+vlY9asWXX66afXNddcUy+99NJEb6+TTZs21S233DLR2xjilltuGfQ1/vjHtm3bJnqLTAHTJ3oDTC2/+tWvavHixfXee+/V1q1b6+67765NmzbVzp0769hjjx3XvaxYsaLefffdmjlzZqe5TZs21fr16yddGC699NI67bTThtx+880319tvv11f+9rXJmBXTDWiwKj67ne/W1/96lerquqqq66q+fPn1x133FH33ntv/fCHPzzszDvvvFNz5swZ9b1MmzatZs2aNeqPO1GWLl1aS5cuHXTb888/Xy+88EJdddVVneMHh+PpI8bUt771raqq2r17d1VVXXHFFTV37tzatWtXDQwM1Lx58+rHP/5xVVUdPHiw1q1bV0uWLKlZs2bVggULas2aNbVv375Bj9laq1tvvbVOOeWUOvbYY+ub3/xmPfXUU0PWPtJrCo8++mgNDAzUcccdV3PmzKmlS5fWnXfemf2tX7++qmrQUzOHjPYeq6p27dpVu3btGu6XdJC//OUv1VrL1xD+V04KjKlD/9nNnz8/tx04cKBWrlxZy5cvr9tvvz1PK61Zs6buueeeuvLKK+u6666r3bt3129/+9vavn17bdu2rWbMmFFVVb/4xS/q1ltvrYGBgRoYGKh//etfdeGFF9b+/fs/dT8PPvhgXXzxxbVw4cK6/vrr66STTqqnn3667rvvvrr++utrzZo19eKLL9aDDz5Yf/rTn4bMj8Uev/3tb1dV1Z49e7p9catqw4YNtWjRolqxYkXnWTisBqPgD3/4Q6uqtnnz5vbKK6+0559/vv31r39t8+fPb7Nnz24vvPBCa6211atXt6pqP/vZzwbNP/LII62q2oYNGwbdfv/99w+6/eWXX24zZ85sF110UTt48GDud/PNN7eqaqtXr85tW7ZsaVXVtmzZ0lpr7cCBA23x4sWtv7+/7du3b9A6H32sn/zkJ+1w/zTGYo+ttdbf39/6+/uHrPdpdu7c2aqq3XjjjZ1n4Ug8fcSoOv/886uvr68WLVpUq1atqrlz59bf/va3Ovnkkwfd7+qrrx70640bN9ZnP/vZuuCCC+rVV1/Nx7Jly2ru3Lm1ZcuWqqravHlz7d+/v6699tpBT+vccMMNn7q37du31+7du+uGG26oz33uc4M+99HHOpKx2uOePXtGfEqoKk8dMao8fcSoWr9+fZ1++uk1ffr0WrBgQX35y1+uadMGf+8xffr0OuWUUwbd9uyzz9abb75ZJ5544mEf9+WXX66qqr1791ZV1Ze+9KVBn+/r66vjjjvuE/d26KmsM888c/i/oXHe43C11urPf/5znXnmmUNefIb/hSgwqs4999y8++hIjjnmmCGhOHjwYJ144on57vfj+vr6Rm2PIzWZ9rht27bau3dvrV27dtzW5OggCkwKp556am3evLnOO++8mj179hHv19/fX1X//a79i1/8Ym5/5ZVXhrwD6HBrVFXt3Lmzzj///CPe70hPJY3HHodrw4YN1ev16kc/+tGoPB4c4jUFJoXvf//79cEHH9Svf/3rIZ87cOBAvfHGG1X139csZsyYUXfddVe11nKfdevWfeoa55xzTi1evLjWrVuXxzvko4916GcmPn6fsdpj17ek/uc//6mNGzfW8uXL6/Of//yw52A4nBSYFL7+9a/XmjVrau3atbVjx4668MILa8aMGfXss8/Wxo0b684776zLLrus+vr66qc//WmtXbu2Lr744hoYGKjt27fXP/7xjzrhhBM+cY1p06bV3XffXd/73vfq7LPPriuvvLIWLlxYzzzzTD311FP1wAMPVFXVsmXLqqrquuuuq5UrV9ZnPvOZWrVq1ZjtsetbUh944IF67bXXvMDM2JjYNz8xVRx6S+rjjz/+ifdbvXp1mzNnzhE///vf/74tW7aszZ49u82bN6995StfaTfeeGN78cUXc58PPvig/fKXv2wLFy5ss2fPbt/4xjfazp07W39//ye+JfWQrVu3tgsuuKDNmzevzZkzpy1durTddddd+fyBAwfatdde2/r6+lqv1xvy9tTR3GNr3d+SumrVqjZjxoz22muvDXsGhqvX2kfOtwAc1bymAECIAgAhCgCEKAAQogBAiAIAMewfXhvOVSQBmLyG8xMITgoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABDTJ3oDHN4JJ5ww0Vv4RPv37+88M3PmzDHYyeEdf/zxnWfOO++8zjOXX35555nvfOc7nWeqqn7+8593nvnNb34zorU4ejkpABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAESvtdaGdcdeb6z3MmUtX76888zDDz88orWG+cf5P3v99dc7z8yfP39Ea43X72kkRvLvYqS/n23btnWeWbFixYjWYmoazt89JwUAQhQACFEAIEQBgBAFAEIUAAhRACBEAYAQBQBCFAAIUQAgRAGAEAUAYvpEb+BosGTJkonewifas2dP55knn3yy88zChQs7z1SN31VS//3vf3eeueyyy8ZgJzBxnBQACFEAIEQBgBAFAEIUAAhRACBEAYAQBQBCFAAIUQAgRAGAEAUAwgXxxsGOHTs6z4zk4mxVVQsWLOg887vf/a7zzG233dZ5Zio6ePDguK010r8T0IWTAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAEC4IN44ePTRRzvP3HTTTSNa649//OOI5hiZXq83qde65JJLxmAnQ917773jsg5jz0kBgBAFAEIUAAhRACBEAYAQBQBCFAAIUQAgRAGAEAUAQhQACFEAIFwQb5K67777RjT3xBNPdJ75+9//PqK1qGqtjctMVdVbb701ojnowkkBgBAFAEIUAAhRACBEAYAQBQBCFAAIUQAgRAGAEAUAQhQACFEAIEQBgHCV1Elq3759I5o799xzR3knTBZPP/1055l//vOfnWeWLFnSeYapw0kBgBAFAEIUAAhRACBEAYAQBQBCFAAIUQAgRAGAEAUAQhQACFEAIFwQD6awt99+u/PMSSedNAY74f8LJwUAQhQACFEAIEQBgBAFAEIUAAhRACBEAYAQBQBCFAAIUQAgRAGAcEE8+FB/f3/nmV6vNwY7ObzHHnts3Nbi6OWkAECIAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABAuiAcfOvvsszvPtNY6z7z//vudZ6qq9u7d23lm+fLlI1qLo5eTAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAEC4IB586IwzzhiXdXbv3j2iuT179nSeOeuss0a0FkcvJwUAQhQACFEAIEQBgBAFAEIUAAhRACBEAYAQBQBCFAAIUQAgRAGAEAUAwlVS4UOnnnrqRG8BJpyTAgAhCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAEC4IB586JJLLuk80+v1xmAnMHGcFAAIUQAgRAGAEAUAQhQACFEAIEQBgBAFAEIUAAhRACBEAYAQBQDCBfHgQ621cZmBycxJAYAQBQBCFAAIUQAgRAGAEAUAQhQACFEAIEQBgBAFAEIUAAhRACBEAYAQBQBCFAAIUQAgRAGAEAUAQhQACFEAIEQBgBAFAEIUAAhRACBEAYCYPtEbgLFw2mmndZ6ZO3fuGOxkqB07dozLOjASTgoAhCgAEKIAQIgCACEKAIQoABCiAECIAgAhCgCEKAAQogBAiAIAIQoAhKukMiUtWrSo88ysWbM6z/R6vc4zzz33XOcZGC9OCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAIQoABCiAECIAgDhgnhMSStXruw801obg50MtXXr1nFZB0bCSQGAEAUAQhQACFEAIEQBgBAFAEIUAAhRACBEAYAQBQBCFAAIUQAgXBAPxtnrr78+0VuAI3JSACBEAYAQBQBCFAAIUQAgRAGAEAUAQhQACFEAIEQBgBAFAEIUAAgXxGNK2rJlS+eZH/zgB51n5s2b13nm8ccf7zwD48VJAYAQBQBCFAAIUQAgRAGAEAUAQhQACFEAIEQBgBAFAEIUAAhRACBEAYDotdbasO7Y6431XgAYQ8P5795JAYAQBQBCFAAIUQAgRAGAEAUAQhQACFEAIEQBgBAFAEIUAAhRACBEAYAQBQBCFAAIUQAgRAGAEAUAQhQACFEAIEQBgBAFAEIUAAhRACBEAYCYPtw7ttbGch8ATAJOCgCEKAAQogBAiAIAIQoAhCgAEKIAQIgCACEKAMT/AXX3ApoDaKV0AAAAAElFTkSuQmCC\n"
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAGbCAYAAAAr/4yjAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAADQdJREFUeJzt3EtonOX7x+F7aqqtbfkpNdaiklZRFx5QK24Um6hVjIeViCJSBaGIx4WIiNhEK25EKloENwoiCC5EkKpYSPCwEMG6qChIqaIIWkFdeEBqn//Cf78YezCJk06aXhdkkZn3nbkTknzyTN48ndZaKwCoqnm9HgCA2UMUAAhRACBEAYAQBQBCFAAIUQAgRAGAEAUAQhSYM1asWFG33npr3h8fH69Op1Pj4+M9m+mf/jkjzDaiQFe8+OKL1el08rZgwYI6/fTT66677qrvvvuu1+NNyebNm2tkZKTXY+zT448/Xtddd10tW7asOp3OrJ2TQ1dfrwdgbnn00Udr5cqV9fvvv9f7779fzz33XG3evLm2bdtWRx999EGd5ZJLLqnffvutjjzyyCmdt3nz5tq0adOs/IH78MMP1wknnFDnnXdevf32270ehzlIFOiqq666qi644IKqqrr99ttr6dKl9dRTT9Xrr79eN9100z7P+eWXX2rRokVdn2XevHm1YMGCrj9uL+3YsaNWrFhRP/zwQ/X39/d6HOYgLx8xoy699NKq+uuHWVXVrbfeWosXL67t27fX8PBwLVmypG6++eaqqtq9e3dt3LixzjzzzFqwYEEtW7as1q1bVz/++OOEx2yt1YYNG+qkk06qo48+uoaGhurTTz/d67n39zeFDz/8sIaHh+vYY4+tRYsW1TnnnFNPP/105tu0aVNV1YSXw/bo9oxVVdu3b6/t27dP6vO5YsWKSR0H02WlwIza88Nu6dKluW3Xrl115ZVX1sUXX1xPPvlkXlZat25dvfjii3XbbbfVPffcUzt27Khnn322tm7dWh988EHNnz+/qqoeeeSR2rBhQw0PD9fw8HB9/PHHdcUVV9Qff/zxr/O88847dc0119Ty5cvr3nvvrRNOOKE+++yzeuONN+ree++tdevW1bffflvvvPNOvfTSS3udPxMzXnbZZVVV9eWXX07tkwszoUEXvPDCC62q2pYtW9rOnTvb119/3V555ZW2dOnStnDhwvbNN9+01lpbu3Ztq6r24IMPTjj/vffea1XVXn755Qm3v/XWWxNu//7779uRRx7Zrr766rZ79+4c99BDD7WqamvXrs1tY2Njrara2NhYa621Xbt2tZUrV7aBgYH2448/Tnievz/WnXfe2fb1rTETM7bW2sDAQBsYGNjr+Q5k586drara+vXrp3Qe/BsvH9FVl19+efX399fJJ59cN954Yy1evLhee+21OvHEEyccd8cdd0x4/9VXX63//e9/tWbNmvrhhx/ytmrVqlq8eHGNjY1VVdWWLVvqjz/+qLvvvnvCyzr33Xffv862devW2rFjR9133311zDHHTLjv74+1PzM145dffmmVwKzh5SO6atOmTXX66adXX19fLVu2rM4444yaN2/i7x59fX110kknTbjtiy++qJ9//rmOP/74fT7u999/X1VVX331VVVVnXbaaRPu7+/vr2OPPfaAs+15Keuss86a/Ad0kGeEXhMFuurCCy/M1Uf7c9RRR+0Vit27d9fxxx9fL7/88j7PmQ1X2hwKM8J/JQrMCqeeempt2bKlLrroolq4cOF+jxsYGKiqv35rP+WUU3L7zp0797oCaF/PUVW1bdu2uvzyy/d73P5eSjoYM0Kv+ZsCs8INN9xQf/75Zz322GN73bdr16766aefquqvv1nMnz+/nnnmmWqt5ZiNGzf+63Ocf/75tXLlytq4cWMeb4+/P9ae/5n45zEzNeNULkmFmWalwKywevXqWrduXT3xxBP1ySef1BVXXFHz58+vL774ol599dV6+umn6/rrr6/+/v66//7764knnqhrrrmmhoeHa+vWrfXmm2/Wcccdd8DnmDdvXj333HN17bXX1rnnnlu33XZbLV++vD7//PP69NNP8x/Cq1atqqqqe+65p6688so64ogj6sYbb5yxGadySepLL71UX331Vf36669VVfXuu+/Whg0bqqrqlltuySoFpq3HVz8xR+y5JPWjjz464HFr165tixYt2u/9zz//fFu1alVbuHBhW7JkSTv77LPbAw880L799tsc8+eff7bR0dG2fPnytnDhwjY4ONi2bdvWBgYGDnhJ6h7vv/9+W7NmTVuyZElbtGhRO+ecc9ozzzyT+3ft2tXuvvvu1t/f3zqdzl6Xp3Zzxtamdknq6tWrW1Xt8+2fHydMR6e1v61vATis+ZsCACEKAIQo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\n"
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAGbCAYAAAAr/4yjAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAD+FJREFUeJzt3H+s1XUdx/H34YeBcKd2vdpN80IF/FGyJo3WjLT4lTf8p7Em4QY2x83JVWv9cLXMkmT+yovEbP0YtsRVLsuV9AM2/AFuTSdswcrYHVaOJbhQC2+zC5/+cLzXFcH7OV24eHk8Nv7w3vM65xNb98n3cPg2SiklACAiRg33AQA4cYgCAEkUAEiiAEASBQCSKACQRAGAJAoAJFEAIIkCI8akSZNi6dKl+d8PP/xwNBqNePjhh4ftTK/12jPCiUYUGBL33HNPNBqN/DVu3LiYOnVqLF++PJ577rnhPl6V9evXx4033jjcxzjM7t274/LLL49p06ZFS0tLnH766TFz5sz44Q9/GO5Ww1AZM9wHYGT5xje+EZMnT45///vfsXnz5rj77rtj/fr1sX379jj11FOP61k+/OEPR19fX5xyyilVu/Xr18eaNWtOuDA8//zz8eyzz8bChQvjvPPOi//85z+xYcOGWLp0aTz99NNx8803D/cRGQFEgSF1ySWXxPvf//6IiLjyyiujtbU1vvWtb8WDDz4YixYtet3N/v37Y8KECUN+llGjRsW4ceOG/HmHy/Tp0w97K2z58uVx6aWXxl133RU33XRTjB49engOx4jh7SOOqY9+9KMREbFr166IiFi6dGlMnDgxent7o7OzM1paWmLx4sUREXHw4MHo6emJ97znPTFu3Lg4++yzo6urK/bt2zfgOUspsWLFijj33HPj1FNPjY985COxY8eOw177SH+n8Pvf/z46OzvjjDPOiAkTJsT06dNj1apVeb41a9ZERAx4O+yQoT5jRERvb2/09vYO9rf0MJMmTYqXX345XnnllaafAw5xpcAxdeiHXWtra36tv78/5s+fHx/60Ifi9ttvz7eVurq64p577okrrrgirrnmmti1a1d8+9vfjq1bt8aWLVti7NixERFxww03xIoVK6KzszM6Ozvjqaeeinnz5g3qh+KGDRtiwYIF0d7eHtdee2287W1viz/+8Y/xq1/9Kq699tro6uqK3bt3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mnH99ddXbxqNRlOvtWfPnqZ2UMOVAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIogBAEgUAkhviEX/+85+H+wgnhK6ururN3Llzqzd33nln9SYi4t57721qBzVcKQCQRAGAJAoAJFEAIIkCAEkUAEiiAEASBQCSKACQRAGAJAoAJFEAIDVKKWVQD2w0jvVZGOHa29ub2s2cObN6M2XKlOrNrbfeWr35wx/+UL2ZP39+9SYi4u9//3tTOzhkMD/uXSkAkEQBgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBpzHAfgDenZu70+ZOf/KSp12ppaWlqdzy8/PLL1ZtJkyY19Vruksrx4EoBgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgDJDfFoSqPRqN7s27evqdc6cOBA9eaBBx6o3syaNat6M3PmzOrNL3/5y+pNRMQll1xSvXnyySebei1OXq4UAEiiAEASBQCSKACQRAGAJAoAJFEAIIkCAEkUAEiiAEASBQCSKACQGqWUMqgHNnEDNBjpbrzxxurN8uXLm3qt3t7e6s3nPve56s2WLVuqN7w5DObHvSsFAJIoAJBEAYAkCgAkUQAgiQIASRQASKIAQBIFAJIoAJBEAYAkCgAkN8SD42zJkiVN7e64447qzahR9X/u6+7urt6sW7euesPx54Z4AFQRBQCSKACQRAGAJAoAJFEAIIkCAEkUAEiiAEASBQCSKACQRAGA5IZ48CZx9dVXV2/uuuuu6s3jjz9evZk1a1b1huPPDfEAqCIKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABI7pIKbxKjR4+u3mzevLl609/fX71xl9Q3B3dJBaCKKACQRAGAJAoAJFEAIIkCAEkUAEiiAEASBQCSKACQRAGAJAoApDHDfQBgcFpaWqo3b33rW6s3e/bsqd4wcrhSACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIogBAckM84o477qjezJs3r3pz/vnnV29GotbW1qZ2PT091ZspU6ZUb77zne9Ubxg5XCkAkEQBgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACC5Id4Is3jx4urNZz/72erNLbfcUr0Zidrb26s3P/3pT5t6rQ984APVm6985SvVmzvvvLN6w8jhSgGAJAoAJFEAIIkCAEkUAEiiAEASBQCSKACQRAGAJAoAJFEAIIkCAMkN8UaYz3zmM8N9hDetZcuWVW9uu+226s1LL71UvYmI+MIXvlC9WbVqVVOvxcnLlQIASRQASKIAQBIFAJIoAJBEAYAkCgAkUQAgiQIASRQASKIAQBIFAJIoAJAapZQyqAc2Gsf6LAyBRYsWVW/WrVtXvdm/f3/1Ztu2bdWbiIhp06Y1tat15plnVm9+8YtfVG+++tWvVm8iInbs2NHUDg4ZzI97VwoAJFEAIIkCAEkUAEiiAEASBQCSKACQRAGAJAoAJFEAIIkCAEkUAEhuiEd86UtfOi6b0047rXoTEfHCCy9Ubx544IHqzdq1a6s3W7durd709fVVb2AouCEeAFVEAYAkCgAkUQAgiQIASRQASKIAQBIFAJIoAJBEAYAkCgAkUQAguSEewEnCDfEAqCIKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBJFABIogBAEgUAkigAkEQBgCQKACRRACCJAgBpzGAfWEo5lucA4ATgSgGAJAoAJFEAIIkCAEkUAEiiAEASBQCSKACQRAGA9F+UaX7aAnq0OgAAAABJRU5ErkJggg==\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "heQGyxycFsoA"
      },
      "execution_count": null,
      "outputs": []
    }
  ]
}