{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"CLIP_classfication.ipynb","provenance":[],"authorship_tag":"ABX9TyMW4WiKPSlbt1MkbWLJsjDc"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"},"accelerator":"GPU"},"cells":[{"cell_type":"code","execution_count":null,"metadata":{"id":"I5HWqO_at2V0","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1650675492326,"user_tz":300,"elapsed":6420,"user":{"displayName":"HAOFENG ZHU","userId":"06690144043401892032"}},"outputId":"8e05422c-21ae-431f-9df7-d9c054bab804"},"outputs":[{"output_type":"stream","name":"stdout","text":["Requirement already satisfied: ftfy in /usr/local/lib/python3.7/dist-packages (6.1.1)\n","Requirement already satisfied: regex in /usr/local/lib/python3.7/dist-packages (2019.12.20)\n","Requirement already satisfied: tqdm in /usr/local/lib/python3.7/dist-packages (4.64.0)\n","Requirement already satisfied: wcwidth>=0.2.5 in /usr/local/lib/python3.7/dist-packages (from ftfy) (0.2.5)\n","Collecting git+https://github.com/openai/CLIP.git\n"," Cloning https://github.com/openai/CLIP.git to /tmp/pip-req-build-06_4ghuz\n"," Running command git clone -q https://github.com/openai/CLIP.git /tmp/pip-req-build-06_4ghuz\n","Requirement already satisfied: ftfy in /usr/local/lib/python3.7/dist-packages (from clip==1.0) (6.1.1)\n","Requirement already satisfied: regex in /usr/local/lib/python3.7/dist-packages (from clip==1.0) (2019.12.20)\n","Requirement already satisfied: tqdm in /usr/local/lib/python3.7/dist-packages (from clip==1.0) (4.64.0)\n","Requirement already satisfied: torch in /usr/local/lib/python3.7/dist-packages (from clip==1.0) (1.10.0+cu111)\n","Requirement already satisfied: torchvision in /usr/local/lib/python3.7/dist-packages (from clip==1.0) (0.11.1+cu111)\n","Requirement already satisfied: wcwidth>=0.2.5 in /usr/local/lib/python3.7/dist-packages (from ftfy->clip==1.0) (0.2.5)\n","Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from torch->clip==1.0) (4.1.1)\n","Requirement already satisfied: pillow!=8.3.0,>=5.3.0 in /usr/local/lib/python3.7/dist-packages (from torchvision->clip==1.0) (7.1.2)\n","Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from torchvision->clip==1.0) (1.21.6)\n"]}],"source":["!pip install ftfy regex tqdm\n","!pip install git+https://github.com/openai/CLIP.git"]},{"cell_type":"code","source":["import os\n","import numpy as np\n","import torch\n","import clip\n","import cv2\n","from PIL import Image"],"metadata":{"id":"NYuHEcgb6Uvh"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["from google.colab import drive\n","drive.mount('/content/drive')"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"XZDJLBYj8ua2","executionInfo":{"status":"ok","timestamp":1650675492953,"user_tz":300,"elapsed":632,"user":{"displayName":"HAOFENG ZHU","userId":"06690144043401892032"}},"outputId":"b9f02019-48e9-4ad0-b5e2-17b9341284b7"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(\"/content/drive\", force_remount=True).\n"]}]},{"cell_type":"code","source":["Class = [\"Buffalo\", \"Elephant\", \"Rhino\",\"Zebra\"]\n","Class_dic = {1:\"Buffalo\", 2:\"Elephant\", 3:\"Rhino\", 4:\"Zebra\"}"],"metadata":{"id":"J01-xs9-NUTf"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["image_labels = []\n","image_file = []\n","path = \"/content/drive/MyDrive/Transformer_CLIP/Data\"\n","\n","\n","for i in Class:\n"," paths = path + '/' + i\n"," images = os.listdir(paths)\n","\n"," for img in images:\n"," \n"," try:\n"," image_file.append(paths + '/' + img)\n"," image_labels.append(i)\n"," except:\n"," print(\"Error in \" + img)\n","\n","print(len(image_file))"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"_vQImnMEMTGs","executionInfo":{"status":"ok","timestamp":1650680154644,"user_tz":300,"elapsed":123,"user":{"displayName":"HAOFENG ZHU","userId":"06690144043401892032"}},"outputId":"46c26ec2-24ef-402e-8325-0265e50a4cb0"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["4003\n"]}]},{"cell_type":"code","source":["device = \"cuda\" if torch.cuda.is_available() else \"cpu\"\n","model, preprocess = clip.load(\"ViT-B/32\", device=device)\n","predict = []\n","for i in image_file:\n"," image = preprocess(Image.open(i)).unsqueeze(0).to(device)\n"," text = clip.tokenize([\"Buffalo\", \"Elephant\", \"Rhino\",\"Zebra\"]).to(device)\n","\n"," with torch.no_grad():\n"," image_features = model.encode_image(image)\n"," text_features = model.encode_text(text)\n"," \n"," logits_per_image, logits_per_text = model(image, text)\n"," probs = logits_per_image.softmax(dim=-1).cpu().numpy()\n"," \n"," res = 0\n"," pos = -1\n"," for j in range(len(probs[0])):\n"," if probs[0][j] > res:\n"," res = probs[0][j]\n"," pos = j + 1\n"," predict.append(Class_dic[pos])\n","print(predict)"],"metadata":{"id":"_UXPyiSfuoYn","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1650681576626,"user_tz":300,"elapsed":144219,"user":{"displayName":"HAOFENG ZHU","userId":"06690144043401892032"}},"outputId":"e403f75d-8559-4e32-ef8c-f830bb4f930f"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["['Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Rhino', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Elephant', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Elephant', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Buffalo', 'Rhino', 'Buffalo', 'Buffalo', 'Buffalo', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Buffalo', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Rhino', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Elephant', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Elephant', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Buffalo', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Elephant', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Elephant', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Elephant', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Elephant', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Elephant', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Buffalo', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Buffalo', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Buffalo', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Elephant', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Rhino', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Rhino', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra', 'Zebra']\n"]}]},{"cell_type":"code","source":["import sklearn\n","from sklearn.metrics import confusion_matrix\n","import pandas as pd\n","import matplotlib.pyplot as plt\n","import seaborn as sns"],"metadata":{"id":"LftjEsQOReY5"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["print(f\"Accuracy is {sklearn.metrics.accuracy_score(predict, image_labels)}\")"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"gxNcHWYy7j3a","executionInfo":{"status":"ok","timestamp":1650681602914,"user_tz":300,"elapsed":123,"user":{"displayName":"HAOFENG ZHU","userId":"06690144043401892032"}},"outputId":"26759dbb-6256-484b-a82a-a2f26ae0dccc"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Accuracy is 0.9830127404446665\n"]}]},{"cell_type":"code","source":["confusion_mat = confusion_matrix(y_true = image_labels, y_pred = predict, labels=Class)"],"metadata":{"id":"fGYq8ZLyRjSb"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["df_cm = pd.DataFrame(confusion_mat, index = Class,columns = Class)\n","plt.rcParams['figure.figsize'] = (10,10)\n","sns.heatmap(df_cm, annot=True)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":610},"id":"GpjGx4oASyG4","executionInfo":{"status":"ok","timestamp":1650681747495,"user_tz":300,"elapsed":558,"user":{"displayName":"HAOFENG ZHU","userId":"06690144043401892032"}},"outputId":"88527fa6-de4f-47ba-998e-c7d8ff20094a"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{},"execution_count":64},{"output_type":"display_data","data":{"text/plain":["
"],"image/png":"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\n"},"metadata":{"needs_background":"light"}}]},{"cell_type":"code","source":[""],"metadata":{"id":"i7h5ZuC5Sz8S"},"execution_count":null,"outputs":[]}]}