├── .gitattributes ├── .ipynb_checkpoints └── dummy_test-checkpoint.ipynb ├── .~lock.data.csv# ├── .~lock.final_data.csv# ├── Readme.md ├── add_db.py ├── api.txt ├── constants.py ├── constants.pyc ├── core2.py ├── core2.pyc ├── create_data.py ├── data.csv ├── feature_model.p ├── feature_scores.txt ├── feature_selection.py ├── files ├── benign │ └── sample_goodware.apk └── readme.md ├── final_data.csv ├── final_selected_features.txt ├── kfold_train_data.p ├── model_train.py ├── new_train_data.p ├── predict.py ├── test ├── 51e932523a715d3e35bc092bf7f2c736cb1e54d2b02052a53f48b4a4152c0209 ├── 52c6bac36667266376ec82ec041da34513c69f536b4000c65b74b7575d32dbeb ├── 53c904e2021e463aabb681cddd5f1d9ba2bd42e9a45ef629d25991c28086a8dd ├── 53e926b4f667655fb646e38e98f0212b173bed91dd55bbbdb2438bbfee182d90 ├── 53e99ae21ed353f60743dc8420e4d0f74e50b6e05a431252ec75c8d7d553f0fc ├── 54f136fe13f52d4052994bf060e52f779d383229ddaa7b4a8ec763aa7169cd8b ├── VMT_v1.2.2pakage.apk ├── Vid-Made-Video-Download-Guide_v8.0pakage.apk ├── Vijayavani_v2.0.0pakage.apk ├── Virtual-DJ-Mixer-Player_v1.0pakage.apk ├── Voice-Changer-During-Call-_v1pakage.apk └── 阿里山旅遊景點地圖_v0.0.1pakage.apk └── unique_permissions.txt /.gitattributes: -------------------------------------------------------------------------------- 1 | files/* linguist-vendored 2 | *.rb linguist-language=Python 3 | -------------------------------------------------------------------------------- /.ipynb_checkpoints/dummy_test-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [], 3 | "metadata": {}, 4 | "nbformat": 4, 5 | "nbformat_minor": 2 6 | } 7 | -------------------------------------------------------------------------------- /.~lock.data.csv#: -------------------------------------------------------------------------------- 1 | ,killingmachine,killingmachine-HP-245-G4-Notebook-PC,13.04.2017 11:18,file:///home/killingmachine/.config/libreoffice/4; -------------------------------------------------------------------------------- /.~lock.final_data.csv#: -------------------------------------------------------------------------------- 1 | ,killingmachine,killingmachine-HP-245-G4-Notebook-PC,13.04.2017 11:19,file:///home/killingmachine/.config/libreoffice/4; -------------------------------------------------------------------------------- /Readme.md: -------------------------------------------------------------------------------- 1 | # Project Title 2 | Android Malware Detection using Support Vector Machine Classifier 3 | 4 | ### Prerequisites 5 | * [androguard](https://github.com/androguard/androguard) - Reverse Engineering tool for android applications 6 | * [sklearn](http://scikit-learn.org/stable/install.html) - Machine Learning library for python 7 | * [mongodb](https://www.mongodb.com/download-center?jmp=homepage#community) - A No-SQL database 8 | * [pymongo](https://github.com/mongodb/mongo-python-driver) - Python driver for MongoDB 9 | 10 | 11 | ## Instructions 12 | 1. Navigate to 'files' folder and place malware and benign apps into their respective folder. 13 | 2. Run 'python add_db.py' to save all the features extracted from all apks. 14 | 3. Run 'create_data.py' to get data from mongodb and save it to a csv file. 15 | 4. Once the 'data.csv' file is created, Run 'python feature_selection.py ' to perform feature selection, this will create two files namely 'final_data.csv' with optimal features and 'final_selected_features.txt' which contains the selected features along with their value. 16 | 5. Run 'python model_train.py ' to train the model, a dump of the trained model is created. 17 | 5. Finally run 'python predict.py ' to perform the classification of that given apk. 18 | 19 | Happy Coding. 20 | -------------------------------------------------------------------------------- /add_db.py: -------------------------------------------------------------------------------- 1 | from pymongo import MongoClient 2 | from constants import DB_NAME 3 | from core2 import extract_features 4 | import multiprocessing 5 | import sys 6 | import os 7 | 8 | DATA_TYPE = None 9 | 10 | 11 | def call_and_add(fname): 12 | global DATA_TYPE 13 | try: 14 | print '[*] Feature Extracting: {}'.format(fname) 15 | result = extract_features(fname) 16 | print '[*] Adding to db: {}'.format(fname) 17 | client = MongoClient() 18 | db = client[DB_NAME] 19 | result['data_type'] = DATA_TYPE 20 | db['apk'].update({'sha256': result['sha256']}, result, upsert=True) 21 | os.remove(fname) 22 | except Exception as e: 23 | print '[!] Error occured with {}, {}'.format(fname, e) 24 | 25 | 26 | def perform_analysis(d, n, t): 27 | global DATA_TYPE 28 | DATA_TYPE = t 29 | pool = multiprocessing.Pool(n) 30 | file_names = [] 31 | for root, dirs, files in os.walk(d): 32 | for name in files: 33 | file_name = os.path.join(root, name) 34 | file_names.append(file_name) 35 | pool.map(call_and_add, file_names) 36 | pool.close() 37 | pool.join() 38 | 39 | if __name__ == '__main__': 40 | if len(sys.argv) > 3: 41 | dir_path = sys.argv[1] 42 | p_num = int(sys.argv[2]) 43 | data_type = sys.argv[3] 44 | if data_type not in ('goodware', 'malware'): 45 | print '[+] You should use goodware or malware as data type' 46 | else: 47 | perform_analysis(dir_path, p_num, data_type) 48 | else: 49 | print '[+] Usage: python {} '.format(__file__) 50 | -------------------------------------------------------------------------------- /api.txt: -------------------------------------------------------------------------------- 1 | "getDeviceId", 2 | "getCellLocation", 3 | "setFlags", 4 | "addFlags", 5 | "setDataAndType", 6 | "putExtra", 7 | "init", 8 | "query", 9 | "insert", 10 | "update", 11 | "writeBytes", 12 | "write", 13 | "append", 14 | "indexOf", 15 | "substring", 16 | "startService", 17 | "getFilesDir", 18 | "openFileOutput", 19 | "getApplicationInfo", 20 | "getRunningServices", 21 | "getMemoryInfo", 22 | "restartPackage", 23 | "getInstalledPackages", 24 | "sendTextMessage", 25 | "getSubscriberId", 26 | "getLine1Number", 27 | "getSimSerialNumber", 28 | "getNetworkOperator", 29 | "loadClass", 30 | "loadLibrary", 31 | "exec", 32 | "getNetworkInfo", 33 | "getExtraInfo", 34 | "getTypeName", 35 | "isConnected", 36 | "getState", 37 | "setWifiEnabled", 38 | "getWifiState", 39 | "setRequestMethod", 40 | "getInputStream", 41 | "getOutputStream", 42 | "sendMessage", 43 | "obtainMessage", 44 | "myPid", 45 | "killProcess", 46 | "readLines", 47 | "available", 48 | "delete", 49 | "exists", 50 | "mkdir", 51 | "ListFiles", 52 | "getBytes", 53 | "valueOf", 54 | "replaceAll", 55 | "schedule", 56 | "cancel", 57 | "read", 58 | "close", 59 | "getNextEntry", 60 | "closeEntry", 61 | "getInstance", 62 | "doFinal", 63 | "DESKeySpec", 64 | "getDocumentElement", 65 | "getElementByTagName", 66 | "getAttribute" 67 | -------------------------------------------------------------------------------- /constants.py: -------------------------------------------------------------------------------- 1 | DB_NAME = 'sumak' 2 | ALG_TYPES = ('svm', 'dt', 'gauss', 'log') 3 | 4 | DB_REGEX = '((SELECT|select)\s[\w\*\)\(\,\s]+\s(FROM|from)?\s[\w]+)| ' \ 5 | '((UPDATE|update)\s[\w]+\s(SET|set)\s[\w\,\'\=]+)| ' \ 6 | '((INSERT|insert)\s(INTO|into)\s[\d\w]+[\s\w\d\)\(\,]*\s(VALUES|values)\s\([\d\w\'\,\)]+)| ' \ 7 | '((DELETE|delete)\s(FROM|from)\s[\d\w\'\=]+)' 8 | 9 | SPECIAL_STRINGS = ('com.metasploit.stage.PayloadTrustManager', ) 10 | 11 | PERMISSIONS = ('android.permission.BIND_WALLPAPER', 12 | 'com.google.android.providers.gsf.permission.READ_GSERVICES', 13 | 'android.permission.FORCE_BACK', 14 | 'android.permission.READ_CALENDAR', 15 | 'android.permission.READ_FRAME_BUFFER', 16 | 'org.gnucash.android.permission.RECORD_TRANSACTION', 17 | 'android.permission.DEVICE_POWER', 18 | 'com.motorola.dlauncher.permission.INSTALL_SHORTCUT', 19 | 'android.permission.READ_SYNC_STATS', 20 | 'android.permission.ACCESS_COARSE_UPDATES', 21 | 'thinkpanda.permission.CLEAR_MISSED_CALL', 22 | 'android.permission.INTERNET', 23 | 'android.permission.CHANGE_CONFIGURATION', 24 | 'android.permission.CLEAR_APP_USER_DATA', 25 | 'com.estrongs.android.pop.PERMISSION', 26 | 'com.nilhcem.frcndict.permission.C2D_MESSAGE', 27 | 'com.lge.launcher.permission.INSTALL_SHORTCUT', 28 | 'android.permission.HARDWARE_TEST', 29 | 'org.linphone.permission.C2D_MESSAGE', 30 | 'com.android.browser.permission.WRITE_HISTORY_BOOKMARKS', 31 | 'android.permission.ADD_SYSTEM_SERVICE', 32 | 'com.android.launcher.permission.INSTALL_SHORTCUT', 33 | 'org.openintents.ssh.permission.ACCESS_SSH_AGENT', 34 | 'android.permission.WRITE_CALL_LOG', 35 | 'android.permission.CHANGE_WIFI_MULTICAST_STATE', 36 | 'android.permission.ACCESS_GPS', 37 | 'info.guardianproject.otr.app.providers.imps.permission.READ_ONLY', 38 | 'org.kontalk.permission.C2D_MESSAGE', 39 | 'org.projectmaxs.permission.USE_TRANSPORT', 40 | 'android.permission.BIND_INPUT_METHOD', 41 | 'android.permission.CHANGE_WIMAX_STATE', 42 | 'org.mariotaku.twidere.WRITE_DATABASES', 43 | 'android.permission.WRITE_SYNC_SETTINGS', 44 | 'com.samsungmobileusa.magnacarta.permission.C2D_MESSAGE', 45 | 'android.permission.WRITE_USER_DICTIONARY', 46 | 'com.sonyericsson.extras.liveview.permission.LIVEVIEW_API', 47 | 'org.mozilla.firefox.permissions.FORMHISTORY_PROVIDER', 48 | 'org.fdroid.k9.permission.REMOTE_CONTROL', 49 | 'android.permission.WRITE_GSERVICES', 50 | 'com.software.application.permission.C2D_MESSAGE', 51 | 'android.permission.INJECT_EVENTS', 52 | 'com.fsck.k9.permission.READ_MESSAGES', 53 | 'org.koxx.k9ForPureWidget.permission.DELETE_MESSAGES', 54 | 'org.mozilla.firefox_sync.permission.PER_ACCOUNT_TYPE', 55 | 'android.permission.STORAGE', 56 | 'ru.gelin.android.weather.notification.START_UPDATE_SERVICE', 57 | 'android.permission.WRITE_SECURE_SETTINGS', 58 | 'org.projectmaxs.permission.WRITE_SMS', 59 | 'android.permission.CALL_PRIVILEGED', 60 | 'android.permission.READ_OWNER_DATA', 61 | 'com.dririan.RingyDingyDingy.HANDLE_INTERNAL_COMMAND', 62 | 'android.permission.SYSTEM_ALERT_WINDOW', 63 | 'android.permission.ACCESS_LOCATION_EXTRA_COMMANDS', 64 | 'de.shandschuh.sparserss.READFEEDS', 65 | 'android.permission.DUMP', 66 | 'org.eehouse.android.xw4.permission.C2D_MESSAGE', 67 | 'com.google.android.providers.gmail.permission.READ_GMAIL', 68 | 'android.permission.MODIFY_PHONE_STATE', 69 | 'org.fdroid.k9.permission.DELETE_MESSAGES', 70 | 'com.kaitenmail.permission.DELETE_MESSAGES', 71 | 'org.fdroid.k9.permission.READ_MESSAGES', 72 | 'android.permission.READ_PROFILE', 73 | 'android.permission.ACCOUNT_MANAGER', 74 | 'com.google.android.gm.permission.READ_GMAIL', 75 | 'com.google.android.marvin.feedback.permission.TALKBACK', 76 | 'android.permission.SET_ANIMATION_SCALE', 77 | 'fr.xgouchet.texteditor.permission.TED_INTERNAL', 78 | 'android.permission.SET_PROCESS_LIMIT', 79 | 'org.servalproject.meshms.SEND_MESHMS', 80 | 'android.permission.SET_DEBUG_APP', 81 | 'android.permission.INSTALL_DRM', 82 | 'android.permission.BLUETOOTH', 83 | 'android.permission.ACCESS_WIFI_STATE', 84 | 'android.permission.SET_WALLPAPER_HINTS', 85 | 'com.kaitenmail.permission.READ_MESSAGES', 86 | 'com.sec.android.provider.logsprovider.permission.READ_LOGS', 87 | 'org.projectmaxs.permission.USE_FILEREAD', 88 | 'android.permission.CONTROL_LOCATION_UPDATES', 89 | 'android.permission.GLOBAL_SEARCH_CONTROL', 90 | 'org.koxx.k9ForPureWidget.permission.READ_MESSAGES', 91 | 'android.permission.REBOOT', 92 | 'android.permission.BROADCAST_WAP_PUSH', 93 | 'android.permission.ACCESS_NETWORK_STATE', 94 | 'android.permission.STATUS_BAR', 95 | 'com.google.android.gm.permission.READ_CONTENT_PROVIDER', 96 | 'com.android.browser.permission.READ_HISTORY_BOOKMARKS', 97 | 'com.htc.launcher.permission.READ_SETTINGS', 98 | 'android.permission.CHANGE_WIFI_STATE', 99 | 'com.android.vending.CHECK_LICENSE', 100 | 'android.permission.MOUNT_FORMAT_FILESYSTEMS', 101 | 'org.projectmaxs.permission.USE_MODULE', 102 | 'com.dririan.RingyDingyDingy.HANDLE_COMMAND', 103 | 'org.fdroid.k9.permission.READ_ATTACHMENT', 104 | 'android.permission.WRITE_CONTACTS', 105 | 'com.umang.dashnotifier.CP_PERMISSION', 106 | 'android.permission.READ_CONTACTS', 107 | 'android.permission.BIND_APPWIDGET', 108 | 'com.fsck.k9.permission.DELETE_MESSAGES', 109 | 'android.permission.ACCESS_LOCATION', 110 | 'android.permission.SIGNAL_PERSISTENT_PROCESSES', 111 | 'android.permission.INSTALL_LOCATION_PROVIDER', 112 | 'com.beem.project.beem.BEEM_SERVICE', 113 | 'android.permission.PERMISSION_NAME', 114 | 'android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED', 115 | 'android.permission.WRITE_SETTINGS', 116 | 'android.permission.MASTER_CLEAR', 117 | 'android.permission.READ_INPUT_STATE', 118 | 'org.projectmaxs.permission.READ_CONTACTS', 119 | 'com.google.android.apps.iosched.permission.C2D_MESSAGE', 120 | 'android.permission.MANAGE_APP_TOKENS', 121 | 'com.motorola.launcher.permission.READ_SETTINGS', 122 | 'com.android.email.permission.ACCESS_PROVIDER', 123 | 'android.permission.WRITE_SECURE', 124 | 'com.google.android.marvin.talkback.PERMISSION_SEND_INTENT_BROADCAST_COMMANDS_TO_TALKBACK', 125 | 'com.a209689805250bfb0110b9532a.a93269867a.permission.C2D_MESSAGE', 126 | 'android.permission.ACCESS_WIMAX_STATE', 127 | 'com.android.launcher.permission.WRITE_SETTINGS', 128 | 'android.permission.RECORD_AUDIO', 129 | 'org.projectmaxs.permission.USE_MAIN_AS_MODULE', 130 | 'i4nc4mp.myLock.permission.toggle', 131 | 'android.permission.RECORD_VIDEO', 132 | 'android.permission.WRITE_APN_SETTINGS', 133 | 'android.permission.ACCESS_SURFACE_FLINGER', 134 | 'com.dririan.RingyDingyDingy.EXECUTE_COMMAND', 135 | 'android.permission.FACTORY_TEST', 136 | 'android.permission.READ_SECURE_SETTINGS', 137 | 'android.permission.READ_LOGS', 138 | 'android.permission.PROCESS_OUTGOING_CALLS', 139 | 'android.permission.UPDATE_DEVICE_STATS', 140 | 'android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS', 141 | 'android.permission.ACCESS_COURSE_LOCATION', 142 | 'android.permission.SET_PREFERRED_APPLICATIONS', 143 | 'android.permission.WRITE_CALENDAR', 144 | 'org.dmfs.permission.READ_TASKS', 145 | 'org.mozilla.firefox.permissions.BROWSER_PROVIDER', 146 | 'org.projectmaxs.permission.USE_MAIN', 147 | 'com.android.vending.BILLING', 148 | 'com.android.launcher.permission.READ_SETTINGS', 149 | 'android.permission.NFC', 150 | 'android.permission.MANAGE_ACCOUNTS', 151 | 'android.permission.SEND_SMS', 152 | 'com.google.android.providers.talk.permission.READ_ONLY', 153 | 'android.permission.ACCESS_MOCK_LOCATION', 154 | 'android.permission.BIND_ACCESSIBILITY_SERVICE', 155 | 'android.permission.SET_TIME_ZONE', 156 | 'com.google.android.apps.dashclock.permission.READ_EXTENSION_DATA', 157 | 'org.dmfs.permission.WRITE_TASKS', 158 | 'android.permission.WRITE_SMS', 159 | 'org.tint.permissions.services.ADDONS', 160 | 'android.permission.GET_TASKS', 161 | 'android.permission.DELETE_PACKAGES', 162 | 'android.permission.ACCESS_CHECKIN_PROPERTIES', 163 | 'net.jjc1138.android.scrobbler.privateservices', 164 | 'android.permission.DOWNLOAD_WITHOUT_NOTIFICATION', 165 | 'android.permission.RECEIVE_BOOT_COMPLETED', 166 | 'com.google.android.gtalkservice.permission.GTALK_SERVICE', 167 | 'android.permission.VIBRATE', 168 | 'android.permission.DIAGNOSTIC', 169 | 'android.permission.RECEIVE_SMS', 170 | 'android.permission.CALL_PHONE', 171 | 'android.permission.FLASHLIGHT', 172 | 'android.permission.READ_PHONE_STATE', 173 | 'android.permission.CHANGE_COMPONENT_ENABLED_STATE', 174 | 'android.permission.BRICK', 175 | 'com.motorola.launcher.permission.INSTALL_SHORTCUT', 176 | 'com.google.android.googleapps.permission.GOOGLE_AUTH.talk', 177 | 'android.permission.ACCESS_SUPERUSER', 178 | 'com.androzic.permission.RECEIVE_LOCATION', 179 | 'android.permission.BROADCAST_SMS', 180 | 'de.shandschuh.sparserss.WRITEFEEDS', 181 | 'android.permission.KILL_BACKGROUND_PROCESSES', 182 | 'android.permission.READ_MEDIA_STORAGE', 183 | 'android.permission.SUBSCRIBED_FEEDS_WRITE', 184 | 'android.permission.CAMERA', 185 | 'android.permission.RECEIVE_MMS', 186 | 'android.permission.WAKE_LOCK', 187 | 'android.permission.ACCESS_DOWNLOAD_MANAGER', 188 | 'com.androzic.permission.RECEIVE_TRACK', 189 | 'android.permission.DELETE_CACHE_FILES', 190 | 'android.permission.READ_PHONE', 191 | 'android.permission.RESTART_PACKAGES', 192 | 'com.google.android.googleapps.permission.GOOGLE_AUTH', 193 | 'android.permission.GET_ACCOUNTS', 194 | 'android.permission.SUBSCRIBED_FEEDS_READ', 195 | 'android.permission.CHANGE_NETWORK_STATE', 196 | 'android.permission.READ_SYNC_SETTINGS', 197 | 'android.permission.DISABLE_KEYGUARD', 198 | 'com.android.launcher.permission.UNINSTALL_SHORTCUT', 199 | 'android.permission.USE_CREDENTIALS', 200 | 'android.permission.ACCESS_CACHE_FILESYSTEM', 201 | 'android.permission.READ_USER_DICTIONARY', 202 | 'android.permission.WRITE_OWNER_DATA', 203 | 'android.permission.WRITE_MEDIA_STORAGE', 204 | 'com.motorola.dlauncher.permission.READ_SETTINGS', 205 | 'org.projectmaxs.permission.USE_OUTGOING_FILETRANSFER_SERVICE', 206 | 'android.permission.ACCESS_COARSE_LOCATION', 207 | 'org.gnucash.android.permission.CREATE_ACCOUNT', 208 | 'com.mominis.permission.preferences.provider.READ_WRITE', 209 | 'com.android.email.permission.READ_ATTACHMENT', 210 | 'com.androzic.permission.NAVIGATION', 211 | 'android.permission.BACKUP', 212 | 'com.lge.launcher.permission.READ_SETTINGS', 213 | 'android.permission.EXPAND_STATUS_BAR', 214 | 'android.permission.BLUETOOTH_ADMIN', 215 | 'android.permission.ACCESS_FINE_LOCATION', 216 | 'android.permission.PERSISTENT_ACTIVITY', 217 | 'org.servalproject.rhizome.RECEIVE_FILE', 218 | 'android.permission.SET_ALARM', 219 | 'at.tomtasche.reader.DOCUMENT_CHANGED', 220 | 'android.permission.RECEIVE_WAP_PUSH', 221 | 'com.google.android.c2dm.permission.RECEIVE', 222 | 'archos.permission.FULLSCREEN.FULL', 223 | 'org.projectmaxs.permission.USE_FILEWRITE', 224 | 'android.permission.SET_WALLPAPER', 225 | 'android.permission.READ_CALL_LOG', 226 | 'android.permission.BROADCAST_PACKAGE_REMOVED', 227 | 'org.projectmaxs.permission.USE_MAIN_AS_TRANSPORT', 228 | 'android.permission.COARSE_FINE_LOCATION', 229 | 'android.permission.SET_ALWAYS_FINISH', 230 | 'org.projectmaxs.permission.USE_INCOMING_FILETRANSFER_SERVICE', 231 | 'android.permission.WRITE_EXTERNAL_STORAGE', 232 | 'android.permission.GET_PACKAGE_SIZE', 233 | 'com.google.android.apps.googlevoice.permission.RECEIVE_SMS', 234 | 'android.permission.READ_EXTERNAL_STORAGE', 235 | 'android.permission.INSTALL_PACKAGES', 236 | 'android.permission.AUTHENTICATE_ACCOUNTS', 237 | 'org.mariotaku.twidere.READ_DATABASES', 238 | 'info.guardianproject.otr.app.providers.imps.permission.WRITE_ONLY', 239 | 'com.android.alarm.permission.SET_ALARM', 240 | 'android.permission.INTERNAL_SYSTEM_WINDOW', 241 | 'android.permission.CLEAR_APP_CACHE', 242 | 'com.cyanogenmod.filemanager.permissions.READ_THEME', 243 | 'android.permission.MODIFY_AUDIO_SETTINGS', 244 | 'android.permission.SET_ORIENTATION', 245 | 'android.permission.SET_ACTIVITY_WATCHER', 246 | 'org.mozilla.firefox.permissions.PASSWORD_PROVIDER', 247 | 'android.permission.READ_SMS', 248 | 'android.permission.BATTERY_STATS', 249 | 'android.permission.GLOBAL_SEARCH', 250 | 'org.thialfihar.android.apg.permission.READ_KEY_DETAILS', 251 | 'com.fede.launcher.permission.READ_SETTINGS', 252 | 'org.adw.launcher.permission.READ_SETTINGS', 253 | 'org.mariotaku.twidere.ACCESS_SERVICE', 254 | 'android.permission.REORDER_TASKS', 255 | 'org.adw.launcher.permission.WRITE_SETTINGS', 256 | 'org.mozilla.firefox.permission.PER_ANDROID_PACKAGE', 257 | 'android.permission.ACCESS_DRM', 258 | 'info.guardianproject.otr.app.im.permission.IM_SERVICE', 259 | 'com.fsck.k9.permission.READ_ATTACHMENT', 260 | 'android.permission.BROADCAST_STICKY', 261 | 'android.permission.MOUNT_UNMOUNT_FILESYSTEMS', 262 | 'com.sec.android.provider.logsprovider.permission.WRITE_LOGS', 263 | 'com.fsck.k9.permission.REMOTE_CONTROL') 264 | 265 | API_CALLS = ("getDeviceId", "getCellLocation", "setFlags", "addFlags", "setDataAndType", 266 | "putExtra", "init", "query", "insert", "update", "writeBytes", "write", 267 | "append", "indexOf", "substring", "startService", "getFilesDir", 268 | "openFileOutput", "getApplicationInfo", "getRunningServices", "getMemoryInfo", 269 | "restartPackage", "getInstalledPackages", "sendTextMessage", "getSubscriberId", 270 | "getLine1Number", "getSimSerialNumber", "getNetworkOperator", "loadClass", 271 | "loadLibrary", "exec", "getNetworkInfo", "getExtraInfo", "getTypeName", 272 | "isConnected", "getState", "setWifiEnabled", "getWifiState", "setRequestMethod", 273 | "getInputStream", "getOutputStream", "sendMessage", "obtainMessage", "myPid", 274 | "killProcess", "readLines", "available", "delete", "exists", "mkdir", "ListFiles", 275 | "getBytes", "valueOf", "replaceAll", "schedule", "cancel", "read", "close", 276 | "getNextEntry", "closeEntry", "getInstance", "doFinal", "DESKeySpec", 277 | "getDocumentElement", "getElementByTagName", "getAttribute") 278 | -------------------------------------------------------------------------------- /constants.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SP2014/Android-Malware-Detector/028b310ffeb548e8b5c1e2749c7ea6c6679ba1b4/constants.pyc -------------------------------------------------------------------------------- /core2.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Author: Ashish Katlam 3 | Descriptioin: This code extracts all the features of a given Android application. 4 | All the features are extracted using AndroGuard Tool 5 | ''' 6 | from androguard.core.bytecodes.dvm import DalvikVMFormat 7 | from androguard.core.analysis.analysis import VMAnalysis 8 | from androguard.decompiler.decompiler import DecompilerDAD 9 | from androguard.core.bytecodes.apk import APK 10 | from androguard.core.analysis import analysis 11 | from androguard.core.bytecodes import dvm 12 | from constants import SPECIAL_STRINGS, DB_REGEX, API_CALLS, PERMISSIONS 13 | import math 14 | import hashlib 15 | 16 | 17 | # Extract all features for a given application 18 | def extract_features(file_path): 19 | result = {} 20 | try: 21 | a = APK(file_path) 22 | d = DalvikVMFormat(a.get_dex()) 23 | dx = VMAnalysis(d) 24 | vm = dvm.DalvikVMFormat(a.get_dex()) 25 | vmx = analysis.uVMAnalysis(vm) 26 | d.set_vmanalysis(dx) 27 | d.set_decompiler(DecompilerDAD(d, dx)) 28 | except: 29 | return None 30 | 31 | result['android_version_code'] = a.get_androidversion_code() 32 | result['android_version_name'] = a.get_androidversion_name() 33 | result['max_sdk'] = a.get_max_sdk_version() 34 | result['min_sdk'] = a.get_min_sdk_version() 35 | result['libraries'] = a.get_libraries() 36 | result['filename'] = a.get_filename() 37 | result['target_sdk'] = a.get_target_sdk_version() 38 | result['md5'] = hashlib.md5(a.get_raw()).hexdigest() 39 | result['sha256'] = hashlib.sha256(a.get_raw()).hexdigest() 40 | result['permissions'] = a.get_permissions() 41 | result['activities'] = a.get_activities() 42 | result['providers'] = a.get_providers() 43 | result['services'] = a.get_services() 44 | result['strings'] = d.get_strings() 45 | result['class_names'] = [c.get_name() for c in d.get_classes()] 46 | result['method_names'] = [m.get_name() for m in d.get_methods()] 47 | result['field_names'] = [f.get_name() for f in d.get_fields()] 48 | result['is_native_code'] = 1 if analysis.is_native_code(dx) else 0 49 | result['is_obfuscation'] = 1 if analysis.is_ascii_obfuscation(d) else 0 50 | result['is_crypto_code'] = 1 if analysis.is_crypto_code(dx) else 0 51 | result['is_dyn_code'] = 1 if analysis.is_dyn_code(dx) else 0 52 | result['is_reflection_code'] = 1 if analysis.is_reflection_code(vmx) else 0 53 | result['is_database'] = 1 if d.get_regex_strings(DB_REGEX) else 0 54 | 55 | s_list = [] 56 | s_list.extend(result['class_names']) 57 | s_list.extend(result['method_names']) 58 | s_list.extend(result['field_names']) 59 | result['entropy_rate'] = entropy_rate(s_list) 60 | 61 | result['feature_vectors'] = {} 62 | 63 | # Search for the presence of api calls in a given apk 64 | result['feature_vectors']['api_calls'] = [] 65 | for call in API_CALLS: 66 | status = 1 if dx.tainted_packages.search_methods(".", call, ".") else 0 67 | result['feature_vectors']['api_calls'].append(status) 68 | 69 | # Search for the presence of permissions in a given apk 70 | result['feature_vectors']['permissions'] = [] 71 | for permission in PERMISSIONS: 72 | status = 1 if permission in result['permissions'] else 0 73 | result['feature_vectors']['permissions'].append(status) 74 | 75 | result['feature_vectors']['special_strings'] = [] 76 | for word in SPECIAL_STRINGS: 77 | status = 1 if d.get_regex_strings(word) else 0 78 | result['feature_vectors']['special_strings'].append(status) 79 | 80 | return result 81 | 82 | 83 | def entropy_rate(data): 84 | for s in data: 85 | prob = [float(s.count(c)) / len(s) for c in dict.fromkeys(list(s))] 86 | entropy = - sum([p * math.log(p) / math.log(2.0) for p in prob]) 87 | p = 1.0 / len(data) 88 | idealize = -1.0 * len(data) * p * math.log(p) / math.log(2.0) 89 | return round((abs(idealize) - entropy) / idealize, 2) 90 | 91 | 92 | def create_vector_single(apk): 93 | feature_vector = [] 94 | 95 | feature_vector.extend(apk['feature_vectors']['permissions']) 96 | feature_vector.extend(apk['feature_vectors']['api_calls']) 97 | feature_vector.extend(apk['feature_vectors']['special_strings']) 98 | 99 | entropy_rate = int(apk['entropy_rate']) 100 | native = int(apk['is_crypto_code']) 101 | db = int(apk['is_database']) 102 | feature_vector.append(entropy_rate) 103 | feature_vector.append(native) 104 | feature_vector.append(db) 105 | 106 | 107 | return feature_vector 108 | -------------------------------------------------------------------------------- /core2.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SP2014/Android-Malware-Detector/028b310ffeb548e8b5c1e2749c7ea6c6679ba1b4/core2.pyc -------------------------------------------------------------------------------- /create_data.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Author: Ashish Katlam 3 | Description: Fetches data from database and create a csv file 4 | ''' 5 | from pymongo import MongoClient 6 | from constants import DB_NAME 7 | from core2 import create_vector_single 8 | 9 | 10 | client = MongoClient() 11 | db = client[DB_NAME] 12 | 13 | permissions = [] 14 | apis = [] 15 | 16 | # Get unique permissions 17 | with open('unique_permissions.txt','r') as fp1: 18 | for line in fp1: 19 | permissions.append(line.strip().replace(",","").replace("'","")) 20 | 21 | # Get apis 22 | with open('api.txt','r') as fp2: 23 | for line in fp2: 24 | apis.append(line.strip().replace(",","").replace("'","")) 25 | 26 | features = permissions + apis 27 | features.append('com.metasploit.stage.PayloadTrustManager') 28 | features.append('entropy_rate') 29 | features.append('native') 30 | features.append('db') 31 | features.append('class') 32 | 33 | with open('data.csv','w+') as op: 34 | header = "" 35 | for f in features: 36 | header+= f.strip().replace('"','')+',' 37 | header = header[:-1] 38 | op.write(header+'\n') 39 | 40 | 41 | for apk in db.apk.find(): 42 | feature_vector = create_vector_single(apk) 43 | str_to_write = "" 44 | for i,feature in enumerate(feature_vector): 45 | if i < len(feature_vector)-1: 46 | str_to_write+=str(feature)+',' 47 | else: 48 | class_label = 1 if apk['data_type'] == 'malware' else 0 49 | str_to_write+=str(feature)+','+str(class_label) 50 | op.write(str_to_write+'\n') 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /feature_model.p: -------------------------------------------------------------------------------- 1 | ccopy_reg 2 | _reconstructor 3 | p0 4 | (csklearn.feature_selection.from_model 5 | SelectFromModel 6 | p1 7 | c__builtin__ 8 | object 9 | p2 10 | Ntp3 11 | Rp4 12 | (dp5 13 | S'threshold' 14 | p6 15 | NsS'estimator' 16 | p7 17 | g0 18 | (csklearn.svm.classes 19 | LinearSVC 20 | p8 21 | g2 22 | Ntp9 23 | Rp10 24 | (dp11 25 | S'loss' 26 | p12 27 | S'squared_hinge' 28 | p13 29 | sS'C' 30 | p14 31 | F0.01 32 | sS'max_iter' 33 | p15 34 | I1000 35 | sS'verbose' 36 | p16 37 | I0 38 | sS'fit_intercept' 39 | p17 40 | I01 41 | sS'classes_' 42 | p18 43 | cnumpy.core.multiarray 44 | _reconstruct 45 | p19 46 | (cnumpy 47 | ndarray 48 | p20 49 | (I0 50 | tp21 51 | S'b' 52 | p22 53 | tp23 54 | Rp24 55 | (I1 56 | (I2 57 | tp25 58 | cnumpy 59 | dtype 60 | p26 61 | (S'i8' 62 | p27 63 | I0 64 | I1 65 | tp28 66 | Rp29 67 | (I3 68 | S'<' 69 | p30 70 | NNNI-1 71 | I-1 72 | I0 73 | tp31 74 | bI00 75 | S'\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' 76 | p32 77 | tp33 78 | bsS'class_weight' 79 | p34 80 | NsS'n_iter_' 81 | p35 82 | cnumpy.core.multiarray 83 | scalar 84 | p36 85 | (g26 86 | (S'i4' 87 | p37 88 | I0 89 | I1 90 | tp38 91 | Rp39 92 | (I3 93 | S'<' 94 | p40 95 | NNNI-1 96 | I-1 97 | I0 98 | tp41 99 | bS'\xa4\x00\x00\x00' 100 | p42 101 | tp43 102 | Rp44 103 | sS'penalty' 104 | p45 105 | S'l1' 106 | p46 107 | sS'multi_class' 108 | p47 109 | S'ovr' 110 | p48 111 | sS'random_state' 112 | p49 113 | NsS'_sklearn_version' 114 | p50 115 | S'0.18.1' 116 | p51 117 | sS'dual' 118 | p52 119 | I00 120 | sS'tol' 121 | p53 122 | F0.0001 123 | sS'coef_' 124 | p54 125 | g19 126 | (g20 127 | (I0 128 | tp55 129 | g22 130 | tp56 131 | Rp57 132 | (I1 133 | (I1 134 | I323 135 | tp58 136 | g26 137 | (S'f8' 138 | p59 139 | I0 140 | I1 141 | tp60 142 | Rp61 143 | (I3 144 | S'<' 145 | p62 146 | NNNI-1 147 | I-1 148 | I0 149 | tp63 150 | bI00 151 | S'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\xf6\x1dDl\xee\xb0?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\xa5\xc9\xe8\x81\xcc\xc3\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"\'{J\x1eH\xc5\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82&\xd8\x9b\x04\x92\xcf?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3p;\x04\xe6\xdc\xa1?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\x83\xc4,lw\xd5?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe3I\xbc\xb6D7\xc5\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9=\xef\x89P\xec\xc3\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00W\xa2f4wL\xae?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\xda\x13$\xd4\xcd\x97\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00!%\xc8)\x9c\x1d\xc5?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00x\x06p\x9b\x96/\x90\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\xeb\x83f\xecF\xae?\x1d\xbc\xbf\xcdT%\xb1?op\xf6\xa1\xc3F\xc5?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\xae4\xab\xc6i\xf0\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\xdf\x9d\xe9\xb4\x1d\xae\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1eP\xa5\x1d\xec\xdc|?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x87t\x08\xff\x9c2\xc8\xbf' 152 | p64 153 | tp65 154 | bsS'intercept_' 155 | p66 156 | g19 157 | (g20 158 | (I0 159 | tp67 160 | g22 161 | tp68 162 | Rp69 163 | (I1 164 | (I1 165 | tp70 166 | g61 167 | I00 168 | S'[,$\xed\x89\xa2\xca?' 169 | p71 170 | tp72 171 | bsS'intercept_scaling' 172 | p73 173 | I1 174 | sbsg50 175 | g51 176 | sS'prefit' 177 | p74 178 | I01 179 | sb. -------------------------------------------------------------------------------- /feature_scores.txt: -------------------------------------------------------------------------------- 1 | android.permission.READ_PHONE_STATE 0.3354 2 | android.permission.SEND_SMS 0.2466 3 | getLine1Number 0.1662 4 | substring 0.165 5 | getSubscriberId 0.067 6 | com.android.browser.permission.WRITE_HISTORY_BOOKMARKS 0.0661 7 | android.permission.READ_SMS 0.0592 8 | sendTextMessage 0.0591 9 | android.permission.RECEIVE_BOOT_COMPLETED 0.0349 10 | getDocumentElement 0.007 11 | writeBytes 0.0 12 | write 0.0 13 | valueOf 0.0 14 | update 0.0 15 | thinkpanda.permission.CLEAR_MISSED_CALL 0.0 16 | startService 0.0 17 | setWifiEnabled 0.0 18 | setRequestMethod 0.0 19 | setFlags 0.0 20 | setDataAndType 0.0 21 | sendMessage 0.0 22 | schedule 0.0 23 | ru.gelin.android.weather.notification.START_UPDATE_SERVICE 0.0 24 | restartPackage 0.0 25 | replaceAll 0.0 26 | readLines 0.0 27 | read 0.0 28 | query 0.0 29 | putExtra 0.0 30 | org.tint.permissions.services.ADDONS 0.0 31 | org.thialfihar.android.apg.permission.READ_KEY_DETAILS 0.0 32 | org.servalproject.rhizome.RECEIVE_FILE 0.0 33 | org.servalproject.meshms.SEND_MESHMS 0.0 34 | org.projectmaxs.permission.WRITE_SMS 0.0 35 | org.projectmaxs.permission.USE_TRANSPORT 0.0 36 | org.projectmaxs.permission.USE_OUTGOING_FILETRANSFER_SERVICE 0.0 37 | org.projectmaxs.permission.USE_MODULE 0.0 38 | org.projectmaxs.permission.USE_MAIN_AS_TRANSPORT 0.0 39 | org.projectmaxs.permission.USE_MAIN_AS_MODULE 0.0 40 | org.projectmaxs.permission.USE_MAIN 0.0 41 | org.projectmaxs.permission.USE_INCOMING_FILETRANSFER_SERVICE 0.0 42 | org.projectmaxs.permission.USE_FILEWRITE 0.0 43 | org.projectmaxs.permission.USE_FILEREAD 0.0 44 | org.projectmaxs.permission.READ_CONTACTS 0.0 45 | org.openintents.ssh.permission.ACCESS_SSH_AGENT 0.0 46 | org.mozilla.firefox_sync.permission.PER_ACCOUNT_TYPE 0.0 47 | org.mozilla.firefox.permissions.PASSWORD_PROVIDER 0.0 48 | org.mozilla.firefox.permissions.FORMHISTORY_PROVIDER 0.0 49 | org.mozilla.firefox.permissions.BROWSER_PROVIDER 0.0 50 | org.mozilla.firefox.permission.PER_ANDROID_PACKAGE 0.0 51 | org.mariotaku.twidere.WRITE_DATABASES 0.0 52 | org.mariotaku.twidere.READ_DATABASES 0.0 53 | org.mariotaku.twidere.ACCESS_SERVICE 0.0 54 | org.linphone.permission.C2D_MESSAGE 0.0 55 | org.koxx.k9ForPureWidget.permission.READ_MESSAGES 0.0 56 | org.koxx.k9ForPureWidget.permission.DELETE_MESSAGES 0.0 57 | org.kontalk.permission.C2D_MESSAGE 0.0 58 | org.gnucash.android.permission.RECORD_TRANSACTION 0.0 59 | org.gnucash.android.permission.CREATE_ACCOUNT 0.0 60 | org.fdroid.k9.permission.REMOTE_CONTROL 0.0 61 | org.fdroid.k9.permission.READ_MESSAGES 0.0 62 | org.fdroid.k9.permission.READ_ATTACHMENT 0.0 63 | org.fdroid.k9.permission.DELETE_MESSAGES 0.0 64 | org.eehouse.android.xw4.permission.C2D_MESSAGE 0.0 65 | org.dmfs.permission.WRITE_TASKS 0.0 66 | org.dmfs.permission.READ_TASKS 0.0 67 | org.adw.launcher.permission.WRITE_SETTINGS 0.0 68 | org.adw.launcher.permission.READ_SETTINGS 0.0 69 | openFileOutput 0.0 70 | net.jjc1138.android.scrobbler.privateservices 0.0 71 | native 0.0 72 | myPid 0.0 73 | mkdir 0.0 74 | loadLibrary 0.0 75 | killProcess 0.0 76 | isConnected 0.0 77 | insert 0.0 78 | init 0.0 79 | info.guardianproject.otr.app.providers.imps.permission.WRITE_ONLY 0.0 80 | info.guardianproject.otr.app.providers.imps.permission.READ_ONLY 0.0 81 | info.guardianproject.otr.app.im.permission.IM_SERVICE 0.0 82 | indexOf 0.0 83 | i4nc4mp.myLock.permission.toggle 0.0 84 | getWifiState 0.0 85 | getTypeName 0.0 86 | getState 0.0 87 | getSimSerialNumber 0.0 88 | getRunningServices 0.0 89 | getOutputStream 0.0 90 | getNextEntry 0.0 91 | getNetworkOperator 0.0 92 | getNetworkInfo 0.0 93 | getInstance 0.0 94 | getInstalledPackages 0.0 95 | getInputStream 0.0 96 | getFilesDir 0.0 97 | getExtraInfo 0.0 98 | getElementByTagName 0.0 99 | getDeviceId 0.0 100 | getCellLocation 0.0 101 | getBytes 0.0 102 | getAttribute 0.0 103 | getApplicationInfo 0.0 104 | fr.xgouchet.texteditor.permission.TED_INTERNAL 0.0 105 | exists 0.0 106 | exec 0.0 107 | entropy_rate 0.0 108 | doFinal 0.0 109 | delete 0.0 110 | de.shandschuh.sparserss.WRITEFEEDS 0.0 111 | de.shandschuh.sparserss.READFEEDS 0.0 112 | com.umang.dashnotifier.CP_PERMISSION 0.0 113 | com.sonyericsson.extras.liveview.permission.LIVEVIEW_API 0.0 114 | com.software.application.permission.C2D_MESSAGE 0.0 115 | com.sec.android.provider.logsprovider.permission.WRITE_LOGS 0.0 116 | com.sec.android.provider.logsprovider.permission.READ_LOGS 0.0 117 | com.samsungmobileusa.magnacarta.permission.C2D_MESSAGE 0.0 118 | com.nilhcem.frcndict.permission.C2D_MESSAGE 0.0 119 | com.motorola.launcher.permission.READ_SETTINGS 0.0 120 | com.motorola.launcher.permission.INSTALL_SHORTCUT 0.0 121 | com.motorola.dlauncher.permission.READ_SETTINGS 0.0 122 | com.motorola.dlauncher.permission.INSTALL_SHORTCUT 0.0 123 | com.mominis.permission.preferences.provider.READ_WRITE 0.0 124 | com.metasploit.stage.PayloadTrustManager 0.0 125 | com.lge.launcher.permission.READ_SETTINGS 0.0 126 | com.lge.launcher.permission.INSTALL_SHORTCUT 0.0 127 | com.kaitenmail.permission.READ_MESSAGES 0.0 128 | com.kaitenmail.permission.DELETE_MESSAGES 0.0 129 | com.htc.launcher.permission.READ_SETTINGS 0.0 130 | com.google.android.providers.talk.permission.READ_ONLY 0.0 131 | com.google.android.providers.gsf.permission.READ_GSERVICES 0.0 132 | com.google.android.providers.gmail.permission.READ_GMAIL 0.0 133 | com.google.android.marvin.talkback.PERMISSION_SEND_INTENT_BROADCAST_COMMANDS_TO_TALKBACK 0.0 134 | com.google.android.marvin.feedback.permission.TALKBACK 0.0 135 | com.google.android.gtalkservice.permission.GTALK_SERVICE 0.0 136 | com.google.android.googleapps.permission.GOOGLE_AUTH.talk 0.0 137 | com.google.android.googleapps.permission.GOOGLE_AUTH 0.0 138 | com.google.android.gm.permission.READ_GMAIL 0.0 139 | com.google.android.gm.permission.READ_CONTENT_PROVIDER 0.0 140 | com.google.android.c2dm.permission.RECEIVE 0.0 141 | com.google.android.apps.iosched.permission.C2D_MESSAGE 0.0 142 | com.google.android.apps.googlevoice.permission.RECEIVE_SMS 0.0 143 | com.google.android.apps.dashclock.permission.READ_EXTENSION_DATA 0.0 144 | com.fsck.k9.permission.REMOTE_CONTROL 0.0 145 | com.fsck.k9.permission.READ_MESSAGES 0.0 146 | com.fsck.k9.permission.READ_ATTACHMENT 0.0 147 | com.fsck.k9.permission.DELETE_MESSAGES 0.0 148 | com.fede.launcher.permission.READ_SETTINGS 0.0 149 | com.estrongs.android.pop.PERMISSION 0.0 150 | com.dririan.RingyDingyDingy.HANDLE_INTERNAL_COMMAND 0.0 151 | com.dririan.RingyDingyDingy.HANDLE_COMMAND 0.0 152 | com.dririan.RingyDingyDingy.EXECUTE_COMMAND 0.0 153 | com.cyanogenmod.filemanager.permissions.READ_THEME 0.0 154 | com.beem.project.beem.BEEM_SERVICE 0.0 155 | com.androzic.permission.RECEIVE_TRACK 0.0 156 | com.androzic.permission.RECEIVE_LOCATION 0.0 157 | com.androzic.permission.NAVIGATION 0.0 158 | com.android.vending.CHECK_LICENSE 0.0 159 | com.android.vending.BILLING 0.0 160 | com.android.launcher.permission.WRITE_SETTINGS 0.0 161 | com.android.launcher.permission.UNINSTALL_SHORTCUT 0.0 162 | com.android.launcher.permission.READ_SETTINGS 0.0 163 | com.android.launcher.permission.INSTALL_SHORTCUT 0.0 164 | com.android.email.permission.READ_ATTACHMENT 0.0 165 | com.android.email.permission.ACCESS_PROVIDER 0.0 166 | com.android.browser.permission.READ_HISTORY_BOOKMARKS 0.0 167 | com.android.alarm.permission.SET_ALARM 0.0 168 | com.a209689805250bfb0110b9532a.a93269867a.permission.C2D_MESSAGE 0.0 169 | closeEntry 0.0 170 | close 0.0 171 | cancel 0.0 172 | available 0.0 173 | at.tomtasche.reader.DOCUMENT_CHANGED 0.0 174 | archos.permission.FULLSCREEN.FULL 0.0 175 | append 0.0 176 | android.permission.WRITE_USER_DICTIONARY 0.0 177 | android.permission.WRITE_SYNC_SETTINGS 0.0 178 | android.permission.WRITE_SMS 0.0 179 | android.permission.WRITE_SECURE_SETTINGS 0.0 180 | android.permission.WRITE_SECURE 0.0 181 | android.permission.WRITE_OWNER_DATA 0.0 182 | android.permission.WRITE_MEDIA_STORAGE 0.0 183 | android.permission.WRITE_GSERVICES 0.0 184 | android.permission.WRITE_EXTERNAL_STORAGE 0.0 185 | android.permission.WRITE_CONTACTS 0.0 186 | android.permission.WRITE_CALL_LOG 0.0 187 | android.permission.WRITE_CALENDAR 0.0 188 | android.permission.WRITE_APN_SETTINGS 0.0 189 | android.permission.WAKE_LOCK 0.0 190 | android.permission.VIBRATE 0.0 191 | android.permission.USE_CREDENTIALS 0.0 192 | android.permission.UPDATE_DEVICE_STATS 0.0 193 | android.permission.SUBSCRIBED_FEEDS_WRITE 0.0 194 | android.permission.SUBSCRIBED_FEEDS_READ 0.0 195 | android.permission.STORAGE 0.0 196 | android.permission.STATUS_BAR 0.0 197 | android.permission.SIGNAL_PERSISTENT_PROCESSES 0.0 198 | android.permission.SET_WALLPAPER_HINTS 0.0 199 | android.permission.SET_WALLPAPER 0.0 200 | android.permission.SET_TIME_ZONE 0.0 201 | android.permission.SET_PROCESS_LIMIT 0.0 202 | android.permission.SET_PREFERRED_APPLICATIONS 0.0 203 | android.permission.SET_ORIENTATION 0.0 204 | android.permission.SET_DEBUG_APP 0.0 205 | android.permission.SET_ANIMATION_SCALE 0.0 206 | android.permission.SET_ALWAYS_FINISH 0.0 207 | android.permission.SET_ALARM 0.0 208 | android.permission.SET_ACTIVITY_WATCHER 0.0 209 | android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS 0.0 210 | android.permission.RESTART_PACKAGES 0.0 211 | android.permission.REORDER_TASKS 0.0 212 | android.permission.RECORD_VIDEO 0.0 213 | android.permission.RECORD_AUDIO 0.0 214 | android.permission.RECEIVE_WAP_PUSH 0.0 215 | android.permission.RECEIVE_SMS 0.0 216 | android.permission.RECEIVE_MMS 0.0 217 | android.permission.REBOOT 0.0 218 | android.permission.READ_USER_DICTIONARY 0.0 219 | android.permission.READ_SYNC_STATS 0.0 220 | android.permission.READ_SYNC_SETTINGS 0.0 221 | android.permission.READ_SECURE_SETTINGS 0.0 222 | android.permission.READ_PROFILE 0.0 223 | android.permission.READ_PHONE 0.0 224 | android.permission.READ_OWNER_DATA 0.0 225 | android.permission.READ_MEDIA_STORAGE 0.0 226 | android.permission.READ_LOGS 0.0 227 | android.permission.READ_INPUT_STATE 0.0 228 | android.permission.READ_FRAME_BUFFER 0.0 229 | android.permission.READ_CONTACTS 0.0 230 | android.permission.READ_CALL_LOG 0.0 231 | android.permission.READ_CALENDAR 0.0 232 | android.permission.PROCESS_OUTGOING_CALLS 0.0 233 | android.permission.PERSISTENT_ACTIVITY 0.0 234 | android.permission.PERMISSION_NAME 0.0 235 | android.permission.NFC 0.0 236 | android.permission.MOUNT_FORMAT_FILESYSTEMS 0.0 237 | android.permission.MODIFY_PHONE_STATE 0.0 238 | android.permission.MODIFY_AUDIO_SETTINGS 0.0 239 | android.permission.MASTER_CLEAR 0.0 240 | android.permission.MANAGE_APP_TOKENS 0.0 241 | android.permission.MANAGE_ACCOUNTS 0.0 242 | android.permission.KILL_BACKGROUND_PROCESSES 0.0 243 | android.permission.INTERNET 0.0 244 | android.permission.INTERNAL_SYSTEM_WINDOW 0.0 245 | android.permission.INSTALL_PACKAGES 0.0 246 | android.permission.INSTALL_LOCATION_PROVIDER 0.0 247 | android.permission.INSTALL_DRM 0.0 248 | android.permission.INJECT_EVENTS 0.0 249 | android.permission.HARDWARE_TEST 0.0 250 | android.permission.GLOBAL_SEARCH_CONTROL 0.0 251 | android.permission.GLOBAL_SEARCH 0.0 252 | android.permission.GET_TASKS 0.0 253 | android.permission.GET_PACKAGE_SIZE 0.0 254 | android.permission.GET_ACCOUNTS 0.0 255 | android.permission.FORCE_BACK 0.0 256 | android.permission.FLASHLIGHT 0.0 257 | android.permission.FACTORY_TEST 0.0 258 | android.permission.EXPAND_STATUS_BAR 0.0 259 | android.permission.DUMP 0.0 260 | android.permission.DOWNLOAD_WITHOUT_NOTIFICATION 0.0 261 | android.permission.DISABLE_KEYGUARD 0.0 262 | android.permission.DIAGNOSTIC 0.0 263 | android.permission.DEVICE_POWER 0.0 264 | android.permission.DELETE_PACKAGES 0.0 265 | android.permission.DELETE_CACHE_FILES 0.0 266 | android.permission.CONTROL_LOCATION_UPDATES 0.0 267 | android.permission.COARSE_FINE_LOCATION 0.0 268 | android.permission.CLEAR_APP_USER_DATA 0.0 269 | android.permission.CLEAR_APP_CACHE 0.0 270 | android.permission.CHANGE_WIMAX_STATE 0.0 271 | android.permission.CHANGE_WIFI_STATE 0.0 272 | android.permission.CHANGE_WIFI_MULTICAST_STATE 0.0 273 | android.permission.CHANGE_NETWORK_STATE 0.0 274 | android.permission.CHANGE_CONFIGURATION 0.0 275 | android.permission.CHANGE_COMPONENT_ENABLED_STATE 0.0 276 | android.permission.CALL_PRIVILEGED 0.0 277 | android.permission.CALL_PHONE 0.0 278 | android.permission.BROADCAST_WAP_PUSH 0.0 279 | android.permission.BROADCAST_STICKY 0.0 280 | android.permission.BROADCAST_SMS 0.0 281 | android.permission.BROADCAST_PACKAGE_REMOVED 0.0 282 | android.permission.BRICK 0.0 283 | android.permission.BLUETOOTH_ADMIN 0.0 284 | android.permission.BLUETOOTH 0.0 285 | android.permission.BIND_WALLPAPER 0.0 286 | android.permission.BIND_INPUT_METHOD 0.0 287 | android.permission.BIND_APPWIDGET 0.0 288 | android.permission.BIND_ACCESSIBILITY_SERVICE 0.0 289 | android.permission.BATTERY_STATS 0.0 290 | android.permission.BACKUP 0.0 291 | android.permission.AUTHENTICATE_ACCOUNTS 0.0 292 | android.permission.ADD_SYSTEM_SERVICE 0.0 293 | android.permission.ACCOUNT_MANAGER 0.0 294 | android.permission.ACCESS_WIMAX_STATE 0.0 295 | android.permission.ACCESS_WIFI_STATE 0.0 296 | android.permission.ACCESS_SURFACE_FLINGER 0.0 297 | android.permission.ACCESS_SUPERUSER 0.0 298 | android.permission.ACCESS_NETWORK_STATE 0.0 299 | android.permission.ACCESS_MOCK_LOCATION 0.0 300 | android.permission.ACCESS_LOCATION_EXTRA_COMMANDS 0.0 301 | android.permission.ACCESS_LOCATION 0.0 302 | android.permission.ACCESS_GPS 0.0 303 | android.permission.ACCESS_FINE_LOCATION 0.0 304 | android.permission.ACCESS_DRM 0.0 305 | android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED 0.0 306 | android.permission.ACCESS_DOWNLOAD_MANAGER 0.0 307 | android.permission.ACCESS_COURSE_LOCATION 0.0 308 | android.permission.ACCESS_COARSE_UPDATES 0.0 309 | android.permission.ACCESS_COARSE_LOCATION 0.0 310 | android.permission.ACCESS_CHECKIN_PROPERTIES 0.0 311 | android.permission.ACCESS_CACHE_FILESYSTEM 0.0 312 | addFlags 0.0 313 | ListFiles 0.0 314 | DESKeySpec 0.0 315 | getMemoryInfo -0.0158 316 | android.permission.MOUNT_UNMOUNT_FILESYSTEMS -0.0232 317 | obtainMessage -0.0588 318 | android.permission.SYSTEM_ALERT_WINDOW -0.1547 319 | android.permission.READ_EXTERNAL_STORAGE -0.1556 320 | android.permission.CAMERA -0.1657 321 | android.permission.WRITE_SETTINGS -0.1663 322 | db -0.189 323 | loadClass -1.0258 324 | -------------------------------------------------------------------------------- /feature_selection.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Author: Ashish Katlam 3 | Description: Perform feature selection using LinearSVC 4 | ''' 5 | from sklearn.feature_selection import SelectFromModel 6 | from sklearn.svm import LinearSVC 7 | import pickle 8 | import sys 9 | 10 | if __name__ == "__main__": 11 | 12 | file_name = sys.argv[1] 13 | op_file = open('final_data.csv','w+') 14 | ffile = open('final_selected_features.txt','w+') 15 | header = "" 16 | dataX = [] 17 | dataY = [] 18 | feature_names = [] 19 | with open(file_name,'r') as fp: 20 | for i,line in enumerate(fp): 21 | if i == 0: 22 | header = line 23 | feature_names = [x for x in line.strip().split(',')[:-1]] 24 | else: 25 | dd = [int(x) for x in line.strip().split(',')] 26 | dataX.append(dd[:-1]) 27 | dataY.append(dd[-1]) 28 | 29 | 30 | lsvc = LinearSVC(C=0.01, penalty="l1", dual=False).fit(dataX, dataY) 31 | with open('feature_scores.txt','w+') as aa: 32 | for a in sorted(zip(map(lambda x: round(x,4), lsvc.coef_[0]),feature_names), reverse=True): 33 | aa.write(a[1]+'\t'+str(a[0]) + '\n') 34 | 35 | model = SelectFromModel(lsvc, prefit=True) 36 | pickle.dump( model, open( "feature_model.p", "wb" ) ) 37 | dataX_new = model.transform(dataX) 38 | 39 | final_header = "" 40 | hh = header.strip().split(',') 41 | 42 | 43 | 44 | for k in lsvc.coef_: 45 | for j,val in enumerate(k): 46 | if val == 0.: 47 | pass 48 | else: 49 | final_header+=hh[j]+',' 50 | ffile.write(hh[j]+' : '+str(val) + '\n') 51 | final_header+='class' 52 | op_file.write(final_header+'\n') 53 | 54 | 55 | for l,dat in enumerate(dataX_new): 56 | str_to_write = "" 57 | for v in dat: 58 | str_to_write+= str(v) + ',' 59 | 60 | str_to_write+=str(dataY[l]) 61 | op_file.write(str_to_write+'\n') 62 | 63 | ffile.close() 64 | op_file.close() 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /files/benign/sample_goodware.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SP2014/Android-Malware-Detector/028b310ffeb548e8b5c1e2749c7ea6c6679ba1b4/files/benign/sample_goodware.apk -------------------------------------------------------------------------------- /files/readme.md: -------------------------------------------------------------------------------- 1 | ## Instructions 2 | Place all the goodware/benign apks inside their respective folder 3 | A sample apk is already placed inside the folder for reference 4 | -------------------------------------------------------------------------------- /final_data.csv: -------------------------------------------------------------------------------- 1 | com.android.browser.permission.WRITE_HISTORY_BOOKMARKS,android.permission.SYSTEM_ALERT_WINDOW,android.permission.WRITE_SETTINGS,android.permission.SEND_SMS,android.permission.RECEIVE_BOOT_COMPLETED,android.permission.READ_PHONE_STATE,android.permission.CAMERA,android.permission.READ_EXTERNAL_STORAGE,android.permission.READ_SMS,android.permission.MOUNT_UNMOUNT_FILESYSTEMS,substring,getMemoryInfo,sendTextMessage,getSubscriberId,getLine1Number,loadClass,obtainMessage,getDocumentElement,db,class 2 | 0,0,0,0,0,0,0,1,0,0,1,1,0,1,1,1,1,0,1,0 3 | 0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0 4 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 5 | 0,0,1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,1,1,0 6 | 0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0 7 | 0,1,1,0,0,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0 8 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 9 | 0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0 10 | 0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,1,1,0,0 11 | 0,1,1,1,1,1,1,0,1,0,1,0,0,1,1,1,1,0,1,0 12 | 0,1,0,1,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 13 | 0,1,1,0,1,1,1,0,0,1,0,0,0,0,0,1,0,0,0,0 14 | 0,1,1,1,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 15 | 0,1,1,0,1,1,0,0,0,1,1,0,0,1,0,0,1,1,1,0 16 | 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1 17 | 0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1 18 | 0,0,0,1,0,1,0,1,1,0,1,0,1,0,1,0,0,0,0,1 19 | 1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,1,1 20 | 0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1 21 | 1,0,0,0,1,1,1,0,1,0,1,0,0,0,1,0,1,1,1,1 22 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,1,0,0,0,1 23 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 24 | 1,0,0,1,0,1,0,0,1,1,1,0,1,1,1,0,0,1,0,1 25 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,0,0,1,1,0,1 26 | 0,0,0,0,1,1,0,0,0,0,1,0,0,1,1,1,0,0,0,1 27 | 1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,1,1 28 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 29 | 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1 30 | 1,0,0,0,1,1,1,0,0,0,1,0,0,0,1,0,0,0,1,1 31 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 32 | 0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,1,0,1 33 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1 34 | 0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1 35 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,1 36 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 37 | 0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,1,1,1 38 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,1 39 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,1 40 | 0,0,0,0,0,1,0,1,0,0,1,1,0,1,1,0,0,0,1,1 41 | 0,0,0,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1 42 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 43 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,1,0,1,1 44 | 1,0,0,0,0,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1 45 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 46 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 47 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 48 | 0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0 49 | 0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,0 50 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1,0 51 | 0,1,1,0,1,1,1,1,0,1,1,0,0,0,0,1,1,0,0,0 52 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 53 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 54 | 0,1,1,1,1,1,1,0,1,0,0,0,0,0,0,1,0,0,0,0 55 | 0,0,1,0,1,1,1,1,0,1,1,0,1,1,1,1,1,0,1,0 56 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,0,1,0,0,0,0 57 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,1,1,0,0,0 58 | 0,1,1,0,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0 59 | 0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 60 | 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0 61 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 62 | 0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,0 63 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 64 | 0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0 65 | 0,0,0,0,0,1,0,1,0,1,1,0,0,1,0,1,0,0,0,0 66 | 0,0,0,0,0,1,0,0,0,1,1,0,0,1,0,1,1,0,1,0 67 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 68 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 69 | 0,0,1,1,1,1,0,0,1,0,1,0,1,0,0,0,1,0,0,1 70 | 0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1 71 | 0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,1,0,1 72 | 0,0,0,0,1,1,0,1,0,0,1,1,0,1,1,0,0,0,1,1 73 | 0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 74 | 0,0,0,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,0,1 75 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 76 | 0,1,0,1,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1 77 | 0,0,1,1,1,1,0,0,1,0,1,0,1,0,0,0,1,0,0,1 78 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 79 | 0,1,1,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,0 80 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,1,1,0 81 | 0,1,1,0,0,1,1,1,0,1,1,1,0,1,0,1,1,1,1,0 82 | 0,1,1,0,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,0 83 | 0,1,1,1,1,1,1,1,1,0,1,1,0,1,1,1,1,1,1,0 84 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,1,0,1,1 85 | 0,0,0,0,0,1,0,0,1,0,1,0,1,1,1,0,1,0,0,1 86 | 0,0,0,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,1 87 | 0,0,0,1,0,1,1,0,1,0,0,0,0,0,1,0,0,0,0,1 88 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 89 | 0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,0 90 | 0,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,0,1,0 91 | 0,1,1,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,1,0 92 | 0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0 93 | 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0 94 | 0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,1,1,0,1,0 95 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1,0 96 | 0,1,1,0,0,1,1,1,0,0,1,0,0,1,1,1,1,0,1,0 97 | 0,1,1,0,1,1,1,0,0,1,0,0,0,0,0,1,0,0,0,0 98 | 0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 99 | 0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0 100 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0 101 | 0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 102 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 103 | 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0 104 | 0,1,1,0,1,1,1,1,1,0,1,1,0,1,1,1,1,1,1,0 105 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 106 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 107 | 0,1,1,0,1,1,1,0,0,1,0,0,0,0,0,1,0,0,0,0 108 | 0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,0 109 | 0,0,1,0,1,1,0,1,0,0,1,1,0,1,0,1,1,0,1,0 110 | 0,1,1,0,0,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0 111 | 0,0,0,0,0,1,0,0,0,1,1,0,0,1,1,1,1,0,0,0 112 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 113 | 0,1,1,0,1,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0 114 | 0,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0 115 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 116 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 117 | 0,1,1,1,1,1,0,1,1,1,0,0,0,0,0,1,0,0,0,0 118 | 0,1,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0 119 | 0,1,1,0,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0 120 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 121 | 0,1,1,0,1,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0 122 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 123 | 0,1,1,1,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 124 | 0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,0 125 | 0,1,1,1,0,1,0,1,1,1,0,0,0,0,0,1,0,0,0,0 126 | 0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 127 | 1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 128 | 0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0 129 | 0,1,0,0,1,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0 130 | 0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 131 | 0,1,0,0,1,1,1,0,1,0,0,0,0,0,0,1,0,0,0,0 132 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 133 | 0,1,1,0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0 134 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 135 | 0,1,1,0,0,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0 136 | 0,1,1,0,1,1,1,0,0,1,0,0,0,0,0,1,0,0,0,0 137 | 0,1,1,1,1,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0 138 | 0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 139 | 0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 140 | 0,1,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0 141 | 0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0 142 | 0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0 143 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 144 | 0,1,0,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 145 | 0,1,1,0,1,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0 146 | 0,1,1,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 147 | 0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 148 | 0,1,1,1,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 149 | 0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,1,0,0,0,0 150 | 0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 151 | 0,1,0,0,0,1,1,0,0,1,0,0,0,0,0,1,0,0,0,0 152 | 0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1 153 | 0,0,1,1,1,1,1,0,0,1,1,1,0,1,0,1,1,0,1,0 154 | 0,1,1,0,1,1,0,1,0,1,1,1,0,1,1,1,1,0,1,0 155 | 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0 156 | 0,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,0 157 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1,0 158 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 159 | 0,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,0 160 | 0,1,1,0,1,1,0,1,0,1,1,1,0,1,1,1,1,0,1,0 161 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,0,1,1,1,1,0 162 | 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0 163 | 0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0 164 | 0,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,0 165 | 0,0,1,1,1,1,1,1,1,0,1,1,0,1,1,1,1,0,1,0 166 | 0,1,0,0,0,1,1,0,0,0,1,1,1,0,0,1,1,0,1,0 167 | 0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0 168 | 0,0,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,0 169 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,0,1,1,0,1,0 170 | 0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,1,1,0,1,0 171 | 0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,1,0,0,0 172 | 0,1,1,0,1,1,1,1,1,1,1,0,0,1,0,1,1,0,1,0 173 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1,0 174 | 0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0 175 | 0,1,1,0,1,1,0,1,0,1,1,1,0,1,0,1,1,0,0,0 176 | 0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 177 | 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0 178 | 0,1,0,0,0,1,0,0,0,0,1,0,0,1,1,1,1,0,1,0 179 | 0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,0,1,0 180 | 0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0 181 | 0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,0 182 | 0,0,1,1,1,1,0,0,1,1,1,0,0,0,0,1,1,0,1,0 183 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,0,0,0,0,0,0 184 | 0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 185 | 0,1,1,1,1,1,1,0,1,0,0,0,0,0,0,1,0,0,0,0 186 | 0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 187 | 0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0 188 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 189 | 0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,1,0,1,0 190 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 191 | 0,1,0,0,0,1,1,0,0,1,0,0,0,0,0,1,0,0,0,0 192 | 0,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0 193 | 0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0 194 | 0,1,0,1,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 195 | 0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0 196 | 0,1,1,0,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0 197 | 0,1,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0 198 | 0,1,1,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 199 | 0,1,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,0,1,0 200 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 201 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 202 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 203 | 0,1,1,1,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 204 | 0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0 205 | 0,1,1,0,1,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0 206 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 207 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,1,1,0 208 | 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0 209 | 0,1,1,0,1,1,1,1,1,1,1,0,0,1,0,1,1,0,0,0 210 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 211 | 0,1,1,1,1,1,1,0,0,1,1,1,0,1,0,1,1,0,1,0 212 | 0,0,1,0,1,1,1,0,0,0,1,1,0,1,1,1,1,0,1,0 213 | 0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 214 | 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0 215 | 0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,0 216 | 0,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,0,1,0 217 | 0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,1,1,0,1,0 218 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,1,1,0 219 | 0,1,1,0,1,1,1,1,0,1,1,0,0,1,0,1,1,0,1,0 220 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1,0 221 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,1,1,0,1,0 222 | 0,0,1,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,1,0 223 | 0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0 224 | 0,1,0,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,1,0 225 | 0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,0,1,0 226 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 227 | 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0 228 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 229 | 0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0 230 | 0,1,1,0,0,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0 231 | 0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 232 | 0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0 233 | 0,1,1,1,1,1,1,0,1,0,0,0,0,0,0,1,0,0,0,0 234 | 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0 235 | 0,1,0,0,1,1,0,0,0,0,1,1,0,1,1,1,1,0,1,0 236 | 0,0,0,0,0,1,0,0,0,0,1,1,0,1,0,1,1,0,1,0 237 | 0,1,0,0,1,1,1,0,0,1,0,0,0,0,0,1,0,0,0,0 238 | 0,0,1,0,1,1,0,0,0,1,1,0,1,1,0,1,1,1,1,0 239 | 0,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0 240 | 0,0,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0 241 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 242 | 0,0,0,0,0,1,0,1,0,0,1,0,0,1,0,1,1,0,1,0 243 | 0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,1,0 244 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 245 | 0,1,1,1,0,1,1,1,1,1,1,0,0,1,0,1,1,0,1,0 246 | 0,1,1,0,1,1,0,0,0,1,1,0,0,1,0,1,1,0,1,0 247 | 0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,1,0 248 | 0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0 249 | 0,0,1,0,1,1,1,0,0,1,0,0,0,0,0,1,0,0,0,0 250 | 0,1,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,0 251 | 0,0,1,1,1,1,1,0,0,1,1,0,1,1,1,1,1,0,1,0 252 | 0,1,0,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 253 | 0,0,1,0,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,0 254 | 0,1,1,0,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,0 255 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1,0 256 | 0,1,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,0 257 | 0,1,1,0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0 258 | 0,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,0 259 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 260 | 1,0,0,1,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,1 261 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 262 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 263 | 0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,1,1,1 264 | 0,0,0,1,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,1 265 | 1,0,0,1,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,1 266 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 267 | 0,0,0,0,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,1 268 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 269 | 0,0,0,0,1,1,0,0,0,0,1,0,0,1,1,0,0,1,0,1 270 | 0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,1 271 | 1,0,0,0,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,1 272 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1 273 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,1,0,1,1 274 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,1,0,0,1 275 | 0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1 276 | 0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1 277 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,1,0,1 278 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,0,1 279 | 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 280 | 0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,1,1,1 281 | 1,0,0,0,0,1,1,0,0,0,1,1,0,1,0,0,1,0,1,1 282 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 283 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 284 | 1,0,0,0,1,1,1,0,0,0,1,0,0,0,1,0,1,0,0,1 285 | 0,0,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,0,0,1 286 | 0,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,0,1 287 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 288 | 0,0,0,0,1,1,0,1,0,0,1,1,0,1,1,0,0,0,1,1 289 | 0,0,0,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1 290 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 291 | 0,0,0,0,1,1,0,1,0,0,1,1,0,1,1,0,1,0,1,1 292 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,1,0,0,1 293 | 1,0,0,0,1,1,0,0,0,0,1,0,0,1,1,0,1,0,0,1 294 | 0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,1,1,1,0,1 295 | 0,0,0,0,1,1,0,0,1,0,1,0,0,1,0,0,1,1,0,1 296 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1 297 | 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1 298 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 299 | 0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 300 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1 301 | 0,0,0,0,1,1,0,0,1,0,1,0,0,1,0,0,1,1,0,1 302 | 0,0,1,0,0,1,1,0,0,0,1,0,0,1,0,0,1,1,0,1 303 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 304 | 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1 305 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 306 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 307 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1 308 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 309 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 310 | 1,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 311 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,1,0,0,1 312 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,1,1 313 | 0,0,0,0,0,1,0,1,0,0,1,1,0,1,1,0,0,0,1,1 314 | 1,0,0,1,1,1,1,0,1,0,1,0,0,0,0,0,1,1,0,1 315 | 0,0,0,1,1,1,0,0,1,1,1,0,1,0,1,0,0,0,1,1 316 | 0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1 317 | 0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,0,0,1,0,1 318 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,1 319 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 320 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 321 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,1,0,0,1 322 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 323 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 324 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 325 | 0,0,0,1,1,1,0,0,1,1,1,0,1,0,1,0,0,0,1,1 326 | 0,0,0,0,0,1,0,0,0,0,1,0,1,1,1,0,0,0,0,1 327 | 1,0,0,0,1,1,0,0,1,0,1,0,0,0,1,1,1,1,0,1 328 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 329 | 0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 330 | 0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1 331 | 0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1 332 | 0,0,0,0,0,1,0,0,0,0,1,0,1,1,1,0,1,0,0,1 333 | 0,0,1,0,1,1,0,0,0,0,1,0,0,1,0,0,1,1,0,1 334 | 0,0,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 335 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,1,0,0,0,0,1 336 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 337 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,1 338 | 0,0,0,1,0,1,1,0,1,0,0,0,0,0,1,0,0,0,0,1 339 | 0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1 340 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 341 | 0,0,0,1,0,1,0,0,1,0,1,0,1,1,0,0,1,0,1,1 342 | 0,1,0,0,0,1,0,0,0,0,1,0,0,1,1,0,1,0,1,1 343 | 0,0,1,1,1,1,0,0,1,0,1,0,1,0,0,0,1,0,0,1 344 | 0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1 345 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 346 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 347 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,1,0,0,1 348 | 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 349 | 0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1 350 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 351 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,1,0,1,1 352 | 0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1 353 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0,1,0,0,1 354 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 355 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1 356 | 0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 357 | 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1 358 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 359 | 0,0,0,1,0,1,0,1,1,0,1,0,1,0,0,0,1,0,0,1 360 | 0,0,0,1,1,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 361 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,1,1,0,0,1 362 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 363 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 364 | 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1 365 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,1,0,1,1 366 | 0,0,1,0,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 367 | 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1 368 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 369 | 0,0,0,1,0,1,0,1,1,0,1,0,1,0,1,0,0,0,0,1 370 | 0,1,1,1,1,1,1,0,1,0,1,0,1,1,1,1,0,0,0,1 371 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 372 | 0,0,0,0,1,1,0,0,1,0,1,0,1,1,1,0,0,0,1,1 373 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 374 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 375 | 0,0,0,1,0,1,0,1,1,0,1,1,1,1,1,0,0,0,1,1 376 | 0,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0,1,1,0,1 377 | 0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,0,0,0,1,1 378 | 0,0,1,1,1,1,1,0,1,0,1,0,1,1,0,0,1,0,0,1 379 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 380 | 0,0,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1 381 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 382 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 383 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 384 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,1 385 | 0,0,0,0,1,1,1,0,0,0,1,0,1,1,1,1,1,0,1,1 386 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,1,0,0,0,0,1 387 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,1 388 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 389 | 0,0,0,1,1,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 390 | 0,0,0,1,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,1 391 | 0,1,1,1,1,1,1,0,1,1,1,0,1,0,0,0,0,0,0,1 392 | 0,0,0,1,0,1,0,0,1,0,0,0,1,0,1,0,0,0,0,1 393 | 0,0,0,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,0,1 394 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 395 | 1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,1,1 396 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 397 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,0,1 398 | 0,0,0,1,1,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 399 | 1,1,1,1,1,1,0,0,1,1,1,0,0,1,0,0,1,0,0,1 400 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 401 | 0,0,0,1,0,1,1,0,1,0,0,0,1,0,1,0,0,0,0,1 402 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1 403 | 1,0,1,1,0,1,0,0,0,0,1,0,1,1,1,0,1,0,0,1 404 | 0,0,0,0,0,1,0,0,0,0,1,1,0,1,1,1,1,0,1,1 405 | 0,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,0,1 406 | 0,0,0,0,1,1,0,1,0,0,1,1,0,1,1,0,0,0,1,1 407 | 1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,1 408 | 0,0,0,0,0,1,0,1,0,1,1,0,1,1,1,1,1,1,1,1 409 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 410 | 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1,1 411 | 0,0,0,0,1,1,0,1,0,0,1,1,0,1,1,0,1,0,1,1 412 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 413 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 414 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,1,1,1,1 415 | 0,0,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1 416 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 417 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,1,1,1,0,1,1 418 | 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1 419 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 420 | 0,1,1,0,1,1,0,0,1,0,1,0,0,1,1,0,0,0,0,1 421 | 1,0,0,1,1,1,0,0,1,0,1,0,0,1,1,1,1,0,0,1 422 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 423 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 424 | 1,0,0,1,1,1,0,0,1,0,1,0,0,1,1,1,1,0,0,1 425 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 426 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 427 | 0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1 428 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 429 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 430 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 431 | 0,0,0,1,1,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 432 | 1,0,0,1,0,1,0,0,1,1,1,0,1,1,1,0,1,1,1,1 433 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 434 | 1,1,0,0,1,1,0,0,0,0,1,0,0,1,1,0,1,0,0,1 435 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 436 | 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 437 | 0,0,0,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1 438 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1 439 | 0,0,0,1,1,1,0,0,1,1,1,0,1,0,1,0,0,0,1,1 440 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,1 441 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,1 442 | 0,0,0,0,0,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1 443 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 444 | 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1 445 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 446 | 0,0,0,1,0,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 447 | 0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1 448 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 449 | 1,0,0,1,0,1,0,0,0,0,1,0,1,1,1,0,0,0,1,1 450 | 0,0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,0,0,1 451 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1 452 | 0,0,0,0,1,1,0,1,0,0,1,1,1,1,1,0,0,0,1,1 453 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 454 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,1,1 455 | 0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,1,1,0,1,1 456 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 457 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,1,0,0,1 458 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 459 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 460 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 461 | 0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,1,1,0,1 462 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 463 | 0,0,0,1,0,1,0,1,1,0,1,0,1,0,0,0,0,0,0,1 464 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 465 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,1,0,0,1 466 | 1,0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,1,0,0,1 467 | 0,0,1,1,1,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 468 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 469 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 470 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 471 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,1 472 | 0,0,1,1,0,1,0,0,1,0,1,0,1,1,1,1,0,0,1,1 473 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 474 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 475 | 0,0,0,0,1,1,0,1,0,0,1,1,0,1,1,0,0,0,1,1 476 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,1,0,0,1 477 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1 478 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 479 | 0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,1 480 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 481 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 482 | 0,0,0,1,0,1,1,0,1,0,0,0,0,0,1,0,0,0,0,1 483 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1 484 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,1,0,1,1 485 | 0,0,0,1,0,1,0,1,1,0,1,0,1,0,0,0,0,1,0,1 486 | 0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,1,1,1,0,1 487 | 1,0,0,1,1,1,0,0,1,0,1,0,1,0,1,1,0,0,0,1 488 | 0,0,0,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,1,1 489 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 490 | 0,0,0,1,1,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 491 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 492 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1 493 | 0,0,0,0,1,1,0,0,1,0,1,0,0,1,0,0,1,1,0,1 494 | 0,0,0,0,1,1,0,1,0,0,1,1,0,1,1,0,0,0,1,1 495 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 496 | 1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1,0,0,1,1 497 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 498 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 499 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,1,0,0,0,0,1 500 | 1,0,0,1,0,1,0,0,0,1,1,0,1,1,1,0,0,1,0,1 501 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,1,0,0,0,0,1 502 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,0,0,0,0,0,1 503 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1 504 | 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1 505 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 506 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,1,0,1,1 507 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 508 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 509 | 0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,1,1,1,0,1 510 | 1,0,0,1,1,1,0,0,1,0,1,0,1,0,1,1,0,0,0,1 511 | 1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,1,1 512 | 0,0,0,1,1,1,0,0,0,0,1,0,1,1,0,0,1,0,0,1 513 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1 514 | 1,0,0,1,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,1 515 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 516 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 517 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 518 | 0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 519 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 520 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 521 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 522 | 0,0,1,1,1,1,0,0,1,0,1,0,1,0,0,1,1,0,0,1 523 | 0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,1 524 | 0,0,0,1,0,1,1,0,1,0,0,0,0,0,1,0,0,0,0,1 525 | 1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1 526 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 527 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 528 | 1,0,0,1,0,1,0,0,1,1,1,0,1,1,1,0,0,1,0,1 529 | 0,0,0,0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1 530 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 531 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 532 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 533 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 534 | 0,1,1,1,1,1,0,0,1,0,0,0,1,1,1,0,0,0,0,1 535 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,1,1,1,1 536 | 0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,0,0,0,1,1 537 | 0,0,0,0,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1 538 | 0,0,0,1,0,1,1,0,1,0,0,0,0,0,1,0,0,0,0,1 539 | 0,0,1,0,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 540 | 0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1 541 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 542 | 0,0,0,1,0,1,0,0,1,0,1,0,1,1,0,0,1,0,1,1 543 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 544 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 545 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 546 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 547 | 0,0,0,1,1,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 548 | 0,0,0,1,0,1,0,0,1,0,1,0,1,1,1,1,1,0,1,1 549 | 0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,1,1,1 550 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 551 | 0,0,0,1,1,1,0,0,1,0,1,1,1,0,0,0,1,0,1,1 552 | 0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,1,1,0,0,1 553 | 0,0,0,0,0,1,0,1,1,0,1,1,0,1,1,0,1,0,1,1 554 | 0,0,0,1,0,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 555 | 0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,0,1,0,1,1 556 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 557 | 0,0,0,0,0,1,0,0,1,0,1,0,1,1,1,0,0,0,1,1 558 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 559 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 560 | 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1 561 | 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1 562 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 563 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 564 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 565 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 566 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1 567 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 568 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 569 | 0,0,0,0,1,1,0,1,0,0,1,1,0,1,1,0,0,0,1,1 570 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 571 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 572 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,1 573 | 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1 574 | 0,0,0,0,0,1,0,1,0,1,1,1,0,1,1,0,1,1,1,1 575 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 576 | 1,0,1,1,0,1,0,0,1,1,1,0,1,1,1,1,1,1,0,1 577 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 578 | 1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,1,1 579 | 0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1 580 | 0,0,0,0,1,1,0,1,0,0,1,1,0,1,1,0,0,0,1,1 581 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 582 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 583 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 584 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,1,0,1,1 585 | 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1 586 | 0,1,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,1,1 587 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 588 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1 589 | 0,0,0,1,0,1,1,0,1,0,0,0,0,0,1,0,0,0,0,1 590 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,0,0,1 591 | 0,0,0,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,1 592 | 0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1 593 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 594 | 0,0,0,0,0,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1 595 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 596 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 597 | 0,0,0,0,1,1,0,0,0,0,1,0,0,1,1,0,1,0,1,1 598 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,1,0,1,1 599 | 0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1 600 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 601 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 602 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,1 603 | 0,0,1,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,1,1 604 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,1,0,1,0,1 605 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,1,1 606 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 607 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 608 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 609 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,1,0,0,0,0,1 610 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 611 | 0,1,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1 612 | 0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,1,1,1 613 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 614 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 615 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 616 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 617 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 618 | 0,1,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,1,1 619 | 0,0,0,1,1,1,0,1,0,0,1,1,1,1,1,0,0,0,1,1 620 | 0,0,1,1,1,1,0,0,1,0,1,0,0,0,0,0,1,0,0,1 621 | 0,0,0,1,1,1,0,0,0,0,1,0,1,0,0,0,1,1,0,1 622 | 1,0,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,1 623 | 0,0,0,1,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,1 624 | 0,0,0,1,0,1,0,1,1,0,1,0,1,0,0,0,1,0,0,1 625 | 0,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1 626 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 627 | 0,0,0,1,1,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 628 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 629 | 0,0,0,0,1,1,0,1,0,0,1,1,0,1,1,0,0,0,1,1 630 | 0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 631 | 1,0,0,0,1,1,0,0,1,0,1,0,0,0,0,1,1,0,0,1 632 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 633 | 0,0,0,1,0,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 634 | 1,0,1,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 635 | 0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,1 636 | 0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,0,1,0,1,1 637 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 638 | 0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1 639 | 0,0,1,1,1,1,0,0,1,0,1,0,0,0,0,0,1,0,0,1 640 | 1,0,0,1,0,1,0,0,0,0,1,0,1,1,0,0,0,0,0,1 641 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1,1,0,1,1 642 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 643 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 644 | 0,0,0,0,0,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1 645 | 0,1,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,1,1 646 | 0,0,0,1,0,1,1,0,1,0,0,0,0,0,1,0,0,0,0,1 647 | 0,0,0,1,0,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 648 | 0,0,0,1,0,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 649 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,1,1 650 | 0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1 651 | 1,0,0,0,1,1,0,1,0,0,1,1,1,1,1,0,1,0,0,1 652 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 653 | 0,0,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,1,0,1 654 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 655 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1 656 | 1,0,1,1,1,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 657 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,1 658 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1 659 | 0,0,0,1,0,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 660 | 0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1 661 | 0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1 662 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 663 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,1 664 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1 665 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 666 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,1,0,1 667 | 0,1,0,1,0,1,0,0,0,0,1,0,1,1,1,0,0,0,0,1 668 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 669 | 0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,1 670 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1 671 | 0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1 672 | 0,0,1,1,1,1,0,0,1,0,1,0,1,0,1,0,1,0,0,1 673 | 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1 674 | 0,0,1,0,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,1 675 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 676 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 677 | 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1 678 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,1,0,0,1 679 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 680 | 0,0,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1 681 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 682 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1 683 | 0,0,1,1,1,1,0,0,1,0,1,0,1,1,1,1,1,0,0,1 684 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1 685 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,1 686 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,1 687 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,1 688 | 0,0,0,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,0,1 689 | 0,0,0,0,0,1,0,0,1,0,1,1,0,0,1,0,0,0,1,1 690 | 0,0,1,1,1,1,0,0,1,0,1,0,1,1,1,0,0,0,0,1 691 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 692 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,1,1,0,1 693 | 0,0,0,1,1,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 694 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,1,0,0,1 695 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 696 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 697 | 0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,0,0,0,1,1 698 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1 699 | 0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,1 700 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,1,1 701 | 0,0,1,1,1,1,0,0,1,0,1,0,1,1,0,0,1,0,0,1 702 | 1,0,0,1,1,1,0,0,1,0,1,0,1,1,0,0,1,0,1,1 703 | 0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 704 | 1,0,0,0,1,1,0,0,0,0,1,0,0,1,1,0,0,0,1,1 705 | 0,0,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1 706 | 0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,1,1,1,0,1 707 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 708 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,1,0,0,0,0,1 709 | 1,0,0,0,1,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 710 | 0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 711 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 712 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 713 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1 714 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 715 | 0,0,0,0,0,1,0,0,0,0,1,0,1,1,1,0,1,0,1,1 716 | 1,0,0,0,1,1,0,0,0,0,1,0,0,1,1,0,0,0,1,1 717 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,1 718 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1 719 | 1,0,0,0,1,1,1,1,0,0,1,0,1,0,1,1,0,0,0,1 720 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 721 | 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,1,1 722 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 723 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,1,0,0,0,0,1 724 | 1,0,0,0,1,1,0,0,1,0,1,0,0,0,1,1,0,0,0,1 725 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 726 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 727 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 728 | 0,0,1,1,1,1,0,0,1,0,1,0,1,0,0,0,1,0,0,1 729 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,1,1,1,1,1 730 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 731 | 0,0,0,1,0,1,0,1,1,0,0,0,1,0,1,0,1,0,0,1 732 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 733 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 734 | 1,0,0,1,0,1,0,0,1,1,1,0,1,1,1,0,0,1,0,1 735 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 736 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 737 | 1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,1,1 738 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 739 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1 740 | 0,0,0,1,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,1 741 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 742 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 743 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 744 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 745 | 0,0,1,1,1,1,0,0,1,0,1,0,1,0,0,0,1,0,0,1 746 | 0,0,0,1,0,1,1,0,0,0,1,0,1,0,1,0,0,0,0,1 747 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 748 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 749 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 750 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 751 | 1,0,0,1,0,1,0,0,1,1,1,0,1,1,1,0,0,1,0,1 752 | 0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,1 753 | 0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,1,1,1,0,1 754 | 0,0,0,1,1,1,0,0,1,0,1,0,1,0,0,1,0,0,0,1 755 | 0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1 756 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 757 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,1,0,0,1 758 | 0,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,0,1 759 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 760 | 0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1 761 | 0,0,0,1,0,1,0,1,1,0,1,0,1,0,1,0,0,0,0,1 762 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 763 | 0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,0,1,0,1,1 764 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 765 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,1,1,1,1 766 | 0,0,0,1,0,1,1,0,1,0,0,0,1,0,1,0,0,0,0,1 767 | 0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1 768 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,1,1 769 | 0,0,0,1,0,1,1,0,1,0,0,0,0,0,1,0,0,0,0,1 770 | 0,1,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,1,1 771 | 0,0,0,1,0,1,1,0,1,0,0,0,0,0,1,0,0,0,0,1 772 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 773 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 774 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,1,0,0,1 775 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1 776 | 0,0,0,0,0,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1 777 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 778 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 779 | 0,0,0,1,0,1,0,0,1,0,1,0,1,1,0,0,1,1,0,1 780 | 0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,1,0,1 781 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1 782 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,1,0,0,0,1 783 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1 784 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,1,1 785 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 786 | 0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 787 | 0,0,0,1,0,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 788 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 789 | 0,0,0,1,1,1,0,0,1,0,1,0,1,0,1,0,0,0,0,1 790 | 0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,1 791 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 792 | 0,0,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,1 793 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1 794 | 0,0,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,1,0,1 795 | 0,0,0,0,0,1,0,1,0,0,1,1,0,1,1,0,0,0,1,1 796 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 797 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 798 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1 799 | 0,0,1,0,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,1 800 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,1,0,0,0,0,1 801 | 0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1 802 | 0,0,0,1,0,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 803 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 804 | 0,0,1,1,1,1,0,0,1,0,1,0,1,0,0,0,1,0,0,1 805 | 0,0,0,0,1,1,0,0,1,0,1,1,0,1,1,0,0,0,1,1 806 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 807 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,1,1,0,1,1 808 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 809 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 810 | 0,1,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,1,1 811 | 0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 812 | 0,0,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 813 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1 814 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 815 | 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 816 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 817 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 818 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 819 | 0,0,0,1,1,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 820 | 0,0,0,0,0,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 821 | 0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,1,1,1 822 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,1,1 823 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 824 | 0,1,0,0,0,1,0,0,0,1,1,0,0,1,1,0,0,0,1,1 825 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 826 | 0,0,0,0,1,1,0,0,1,0,1,1,1,1,1,0,1,1,0,1 827 | 1,0,0,1,0,1,0,0,1,1,1,0,1,1,1,0,0,1,0,1 828 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 829 | 0,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,0,1 830 | 0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1 831 | 0,0,0,0,1,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 832 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,1,0,1 833 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 834 | 0,0,0,1,1,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 835 | 0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,0,0,0,1,1 836 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 837 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 838 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 839 | 0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1 840 | 0,0,0,0,0,1,0,0,0,1,1,1,0,1,1,0,1,1,1,1 841 | 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1 842 | 0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1 843 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 844 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 845 | 0,0,0,1,0,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 846 | 0,0,0,0,0,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1 847 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 848 | 0,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1 849 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 850 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,1 851 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 852 | 0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,1 853 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 854 | 0,0,0,1,1,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 855 | 0,0,0,1,1,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 856 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,1,1,0,1 857 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1 858 | 0,0,1,1,1,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1 859 | 0,0,0,0,0,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1 860 | 0,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,0,1 861 | 0,0,1,1,0,1,0,0,1,0,1,0,1,0,0,0,1,0,1,1 862 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 863 | 0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 864 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 865 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 866 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 867 | 0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,1,0,1 868 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 869 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 870 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 871 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1 872 | 0,0,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,0,1 873 | 0,0,1,1,1,1,0,0,1,0,1,0,1,1,1,0,0,0,0,1 874 | 0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,0,0,1,0,1 875 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 876 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 877 | 1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 878 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 879 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0,1,0,0,1 880 | 0,0,1,1,1,1,0,0,1,0,1,0,1,0,1,0,1,0,0,1 881 | 1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,1 882 | 0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,0,1,1,0,1 883 | 1,0,1,1,1,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 884 | 0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,1,0,0,1 885 | 1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 886 | 0,0,0,1,1,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 887 | 1,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1 888 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 889 | 0,0,0,0,1,1,0,0,1,0,1,0,0,1,0,0,1,1,0,1 890 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,1,1 891 | 0,0,0,1,0,1,0,1,1,0,1,0,1,0,1,0,0,0,0,1 892 | 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1 893 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 894 | 0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1 895 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 896 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 897 | 1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1,0,0,0,1 898 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1 899 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,1,1,0,1 900 | 0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,0,1,0,1,1 901 | 0,0,0,1,0,1,0,0,1,0,1,0,1,1,0,0,0,1,0,1 902 | 1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,1 903 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 904 | 0,0,0,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,0,1 905 | 1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,0,0,0,0,1 906 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 907 | 1,0,0,1,1,1,0,0,1,0,1,0,1,0,1,1,0,0,0,1 908 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,1 909 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 910 | 0,0,0,1,0,1,1,0,1,0,0,0,0,0,1,0,0,0,0,1 911 | 0,0,0,0,1,1,0,0,1,0,1,0,0,1,0,0,1,1,0,1 912 | 0,0,0,1,0,1,0,1,1,0,1,0,1,0,0,0,1,0,0,1 913 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 914 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 915 | 1,0,0,1,1,1,0,0,0,0,1,0,1,1,0,0,1,0,1,1 916 | 0,0,0,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,1,1 917 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 918 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 919 | 0,0,0,0,1,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 920 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 921 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 922 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 923 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 924 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 925 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 926 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,1,0,1,1 927 | 0,0,0,0,1,1,0,0,1,0,1,0,0,1,0,0,1,1,0,1 928 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 929 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 930 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 931 | 1,0,1,1,1,1,0,0,1,0,1,0,1,1,1,0,1,1,0,1 932 | 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 933 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,1 934 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 935 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 936 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 937 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 938 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 939 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,1,0,0,0,0,1 940 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 941 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,1 942 | 0,0,0,1,1,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 943 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 944 | 0,0,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,1,1 945 | 1,0,1,1,1,1,0,0,1,0,1,0,1,1,1,0,1,1,0,1 946 | 0,0,0,0,1,1,0,0,1,0,1,1,0,1,1,0,1,0,1,1 947 | 0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1 948 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 949 | 0,0,0,0,0,1,0,0,1,0,1,1,0,1,1,0,1,0,0,1 950 | 0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,1 951 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 952 | 0,0,0,0,1,1,0,0,1,0,1,0,1,1,0,0,1,0,1,1 953 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 954 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 955 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,1,0,0,0,0,1 956 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 957 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 958 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 959 | 0,0,0,1,0,1,1,0,1,0,0,0,0,0,1,0,0,0,0,1 960 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 961 | 0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1 962 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1 963 | 0,0,0,0,1,1,0,0,1,0,1,1,0,1,1,0,1,0,1,1 964 | 0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1 965 | 0,0,0,1,1,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 966 | 0,0,0,1,0,1,1,0,1,0,0,0,0,0,1,0,0,0,0,1 967 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 968 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 969 | 1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,1,1 970 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 971 | 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1 972 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 973 | 0,0,0,1,1,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 974 | 0,0,0,1,0,1,0,1,1,0,1,1,1,1,1,0,0,0,1,1 975 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 976 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,1,1,1 977 | 0,1,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 978 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 979 | 0,0,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1 980 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 981 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 982 | 0,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1 983 | 1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,1,1 984 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 985 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1 986 | 0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1 987 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 988 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 989 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 990 | 0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,0,1,0,0,1 991 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1 992 | 0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1 993 | 0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,0,1,0,1,1 994 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 995 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,1,0,1,1 996 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 997 | 0,0,0,1,1,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 998 | 0,0,0,1,0,1,1,0,1,0,0,0,1,0,1,0,0,0,0,1 999 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,1,0,0,0,1 1000 | 0,0,0,1,1,1,0,0,1,0,1,0,0,0,0,1,0,1,0,1 1001 | 0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1 1002 | 0,0,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 1003 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 1004 | 0,0,0,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,1 1005 | 0,0,0,0,1,1,0,0,1,0,1,0,1,1,1,0,0,0,0,1 1006 | 0,0,1,1,1,1,0,0,1,0,1,0,1,0,0,0,1,0,0,1 1007 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1 1008 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 1009 | 0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,0,1,0,1,1 1010 | 0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1 1011 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,1,1 1012 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 1013 | 0,0,0,1,0,1,1,0,1,0,0,0,1,0,1,0,0,0,0,1 1014 | 1,0,0,0,1,1,0,0,0,0,1,0,0,1,1,0,0,0,1,1 1015 | 1,0,0,0,1,1,0,1,0,0,1,1,1,1,1,1,1,0,1,1 1016 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 1017 | 0,0,1,1,1,1,0,0,1,0,1,0,1,0,0,0,1,0,0,1 1018 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 1019 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1 1020 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 1021 | 0,1,1,1,1,1,0,0,1,0,1,0,1,1,1,0,0,0,0,1 1022 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 1023 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 1024 | 0,0,1,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,1,1 1025 | 0,0,0,1,1,1,0,0,0,0,1,0,1,1,1,1,0,1,0,1 1026 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,1,0,0,0,1 1027 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 1028 | 0,0,0,1,1,1,1,0,1,1,1,0,1,1,1,1,1,1,0,1 1029 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 1030 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,1 1031 | 0,0,1,1,1,1,0,0,1,0,1,0,1,1,0,0,1,0,0,1 1032 | 0,0,0,0,1,1,0,0,1,0,1,1,0,1,1,0,0,0,1,1 1033 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 1034 | 0,0,0,1,0,1,0,1,1,0,1,1,1,1,1,0,0,0,1,1 1035 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 1036 | 0,0,0,1,0,1,0,0,1,0,1,0,1,1,1,0,1,0,0,1 1037 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 1038 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,1,0,1,0,0,1 1039 | 0,0,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 1040 | 0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1 1041 | 0,0,0,1,0,1,1,0,1,0,0,0,0,0,1,0,0,0,0,1 1042 | 1,0,0,1,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,1 1043 | 0,0,0,1,1,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 1044 | 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1 1045 | 0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,1,0,1 1046 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1 1047 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1 1048 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 1049 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 1050 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,1,1,0,1 1051 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,0,1 1052 | 0,0,0,0,1,1,0,0,1,0,1,0,0,1,1,0,1,0,1,1 1053 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,0,0,1 1054 | 0,0,1,1,1,1,0,0,1,1,1,0,1,1,0,0,1,1,0,1 1055 | 0,1,0,0,0,1,0,1,0,0,1,0,1,1,1,1,1,1,1,1 1056 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 1057 | 0,0,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1 1058 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 1059 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,1 1060 | 1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,1,1 1061 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 1062 | 1,0,1,1,1,1,0,0,1,0,1,0,1,1,1,0,1,1,0,1 1063 | 0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,1 1064 | 1,0,0,0,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,1 1065 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 1066 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 1067 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,1,1 1068 | 0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1 1069 | 0,0,0,0,0,1,1,1,0,1,1,0,0,1,0,0,0,0,0,1 1070 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 1071 | 1,0,0,1,1,1,0,0,0,1,1,0,1,1,1,0,0,1,1,1 1072 | 0,0,0,1,0,1,0,1,1,0,1,0,1,0,1,0,0,0,0,1 1073 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 1074 | 0,0,0,0,1,1,0,0,1,0,1,1,0,1,1,0,0,0,1,1 1075 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,1,0,0,0,1,1 1076 | 0,1,0,1,0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,1 1077 | 0,0,0,1,0,1,1,0,1,0,0,0,1,0,1,0,0,0,0,1 1078 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,1,1 1079 | 0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1 1080 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 1081 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 1082 | 0,0,0,1,1,1,0,0,1,0,1,0,0,0,1,0,0,1,0,1 1083 | 1,0,0,1,0,1,0,0,0,0,1,0,1,1,0,0,1,0,0,1 1084 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,1,1 1085 | 1,0,0,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,1,1 1086 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,0,0,1,0,1 1087 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 1088 | 0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1 1089 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1 1090 | 0,1,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 1091 | 1,0,0,1,0,1,0,0,0,0,1,0,1,1,1,0,0,0,0,1 1092 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1 1093 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 1094 | 0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,0,0,0,1,1 1095 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1 1096 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1 1097 | 0,0,1,1,1,1,0,0,1,0,1,0,1,0,0,0,1,0,0,1 1098 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 1099 | 1,0,0,1,1,1,0,0,0,1,1,0,1,1,1,0,0,1,1,1 1100 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 1101 | 1,0,0,1,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,1 1102 | 1,0,1,1,1,1,0,0,1,0,1,0,1,1,1,0,1,1,0,1 1103 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1 1104 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 1105 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 1106 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 1107 | 1,0,0,0,1,1,0,0,0,0,1,0,0,1,1,0,0,0,1,1 1108 | 0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1 1109 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1 1110 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 1111 | 0,0,1,0,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 1112 | 0,0,0,0,1,1,0,1,0,0,1,1,0,1,1,0,1,0,1,1 1113 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 1114 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1 1115 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 1116 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,1 1117 | 0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1 1118 | 0,1,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 1119 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 1120 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,0,0,1,1,0,1 1121 | 0,0,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,1,0,1 1122 | 0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,1,1,0,0,1 1123 | 0,0,0,1,1,1,0,1,1,0,1,1,1,1,1,0,0,0,1,1 1124 | 0,1,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 1125 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 1126 | 0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,0,1,0,1,1 1127 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 1128 | 0,0,0,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,0,1 1129 | 0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1 1130 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 1131 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 1132 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 1133 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 1134 | 0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1 1135 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 1136 | 0,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,1 1137 | 1,0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,1,1,1,1 1138 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 1139 | 0,0,0,0,0,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1 1140 | 0,0,0,1,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,1 1141 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 1142 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 1143 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 1144 | 0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,0,0,0,1,1 1145 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 1146 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,1,1 1147 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 1148 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 1149 | 1,1,1,1,1,1,0,0,1,1,1,0,0,1,0,0,1,0,0,1 1150 | 0,0,0,1,0,1,0,1,1,0,1,0,1,0,1,0,0,0,0,1 1151 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 1152 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,1 1153 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 1154 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 1155 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,0,1,0,1 1156 | 0,0,0,0,1,0,0,0,1,0,1,0,1,1,1,0,1,0,0,1 1157 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 1158 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1 1159 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 1160 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 1161 | 0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1 1162 | 0,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1 1163 | 0,0,0,1,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1 1164 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 1165 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,1,1,0,1,1 1166 | 0,0,0,0,1,1,0,0,1,0,1,0,0,1,0,0,1,1,0,1 1167 | 0,0,0,1,1,1,0,0,1,0,1,0,1,1,0,1,1,1,0,1 1168 | 0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 1169 | 0,0,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 1170 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,1 1171 | 0,1,1,1,1,1,0,0,1,0,1,0,0,0,0,0,0,0,0,1 1172 | 0,0,0,1,1,1,0,0,0,0,1,0,1,1,0,0,1,0,1,1 1173 | 0,1,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1 1174 | 1,0,0,1,0,1,0,0,0,0,1,0,1,1,1,0,0,0,1,1 1175 | 0,1,1,0,1,1,0,0,0,0,1,0,1,1,1,1,1,0,1,1 1176 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 1177 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 1178 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1 1179 | 0,0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,0,0,1 1180 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 1181 | 0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,1,0,1 1182 | 1,0,0,0,1,1,0,0,0,0,1,1,0,0,1,0,0,0,1,1 1183 | 1,0,0,1,0,1,0,0,0,0,1,0,1,1,0,1,1,0,0,1 1184 | 0,0,0,0,0,1,1,0,0,0,1,0,1,1,1,0,0,0,1,1 1185 | 0,0,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 1186 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 1187 | 0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 1188 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,1 1189 | 0,1,0,0,0,1,0,0,0,0,1,0,0,1,1,0,1,0,1,1 1190 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 1191 | 1,0,0,0,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,1 1192 | 1,0,0,1,0,1,0,0,1,1,1,0,1,1,1,0,1,1,0,1 1193 | 0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1 1194 | 0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,1 1195 | 0,0,0,0,0,1,0,1,1,0,1,1,0,1,1,0,0,0,1,1 1196 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,1 1197 | 1,0,0,1,0,1,0,1,1,1,1,0,1,1,1,0,1,1,0,1 1198 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 1199 | 0,0,0,1,0,1,0,0,1,0,1,0,1,0,0,0,0,0,0,1 1200 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1 1201 | 0,0,1,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0 1202 | 0,1,0,0,0,1,0,0,0,0,1,0,0,1,1,0,1,0,1,1 1203 | 1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,1,1 1204 | 1,0,1,1,1,1,0,0,1,0,1,0,1,1,1,0,1,1,0,1 1205 | 1,0,0,0,1,1,0,0,0,0,1,0,1,0,1,1,0,0,0,1 1206 | 0,0,0,0,1,1,0,0,0,0,1,1,0,1,1,0,1,0,1,1 1207 | 0,0,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1 1208 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,1,1,1,1 1209 | 1,0,1,1,1,1,0,0,1,0,1,0,1,1,1,0,1,1,0,1 1210 | 0,0,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,0,0,1 1211 | 0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1 1212 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1213 | 0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0 1214 | 0,1,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0 1215 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0 1216 | 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0 1217 | 0,1,1,0,1,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0 1218 | 0,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1,0 1219 | 0,1,1,0,0,1,1,1,0,1,1,1,0,1,1,1,1,0,1,0 1220 | 0,1,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1221 | 0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,1,0 1222 | 0,1,1,0,0,1,0,1,1,1,1,1,0,1,1,1,1,0,1,0 1223 | 0,1,0,0,0,1,1,1,0,1,1,1,0,1,0,1,1,0,1,0 1224 | 0,1,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0 1225 | 0,1,1,0,0,1,0,1,0,0,1,1,0,1,1,1,1,0,1,0 1226 | 0,1,1,0,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0 1227 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1228 | 0,0,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1229 | 0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0 1230 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 1231 | 0,1,1,1,1,1,0,1,1,1,1,0,0,1,0,1,1,0,1,0 1232 | 0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 1233 | 0,1,1,1,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,0 1234 | 0,1,0,0,0,1,0,0,0,1,1,1,0,1,1,1,1,0,1,0 1235 | 0,1,0,0,0,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0 1236 | 0,0,1,0,0,1,0,0,0,0,1,1,0,1,0,1,1,0,0,0 1237 | 0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1238 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 1239 | 0,0,1,0,1,1,0,0,0,1,1,1,0,1,0,1,1,0,1,0 1240 | 0,1,1,0,1,1,1,0,0,1,1,1,0,1,1,1,1,0,1,0 1241 | 0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0 1242 | 0,1,1,1,1,1,1,0,1,0,0,0,0,0,0,1,0,0,0,0 1243 | 0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0 1244 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 1245 | 0,1,1,0,1,1,1,1,0,1,1,0,0,1,0,1,1,1,1,0 1246 | 0,1,1,0,0,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0 1247 | 0,0,1,0,0,1,0,1,0,1,1,0,0,1,0,1,1,0,1,0 1248 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,1,1,0 1249 | 0,1,1,1,1,1,1,1,0,1,1,0,1,1,1,1,1,1,1,0 1250 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1251 | 0,1,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,0 1252 | 0,1,1,1,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1253 | 0,0,1,0,1,1,1,0,0,0,1,1,0,1,0,1,1,0,1,0 1254 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1255 | 0,1,1,0,0,1,1,1,0,1,1,0,0,1,0,1,1,0,1,0 1256 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1257 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 1258 | 0,1,1,0,1,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0 1259 | 0,1,1,0,1,1,1,0,0,1,0,0,0,0,0,1,0,0,0,0 1260 | 0,0,1,0,0,1,1,0,0,1,1,0,0,1,1,1,1,0,1,0 1261 | 0,1,1,0,1,1,0,0,0,1,1,1,0,1,1,1,1,0,1,0 1262 | 0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,1,0,0,0,0 1263 | 0,0,0,0,0,1,0,1,0,0,1,1,0,1,1,1,1,0,1,0 1264 | 0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,0 1265 | 0,0,1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,0 1266 | 0,1,1,0,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0 1267 | 0,1,1,0,1,1,1,0,0,1,0,0,0,0,0,1,0,0,0,0 1268 | 0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1269 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 1270 | 0,0,0,0,0,1,0,1,0,0,1,0,0,1,1,1,1,0,1,0 1271 | 1,1,1,0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0 1272 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 1273 | 0,1,0,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1274 | 0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 1275 | 0,1,1,1,1,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0 1276 | 0,1,1,0,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0 1277 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,1,1,0,1,0 1278 | 0,1,1,0,1,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0 1279 | 0,1,1,0,1,1,1,1,0,0,1,0,0,1,0,1,1,1,1,0 1280 | 0,1,1,0,1,1,1,0,0,1,0,0,0,0,0,1,0,0,0,0 1281 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1282 | 0,1,1,0,1,1,1,0,0,1,1,1,0,1,1,1,1,0,1,0 1283 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 1284 | 0,1,0,0,1,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0 1285 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1286 | 0,1,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0 1287 | 0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0 1288 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0 1289 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 1290 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1291 | 0,1,1,1,1,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0 1292 | 0,1,0,0,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,0 1293 | 0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0 1294 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1295 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0 1296 | 0,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,0 1297 | 0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1298 | 0,1,0,0,0,1,0,0,0,1,1,1,0,1,1,1,1,0,1,0 1299 | 0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0 1300 | 0,0,1,0,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,0 1301 | 0,0,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1,0 1302 | 0,1,0,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1303 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,0,1,1,0,1,0 1304 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,1,1,0,1,0 1305 | 0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1306 | 0,0,1,0,1,1,1,1,0,0,1,1,0,1,0,1,0,0,0,0 1307 | 0,1,1,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 1308 | 0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 1309 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1,0 1310 | 0,1,1,0,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 1311 | 0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1312 | 0,1,1,0,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0 1313 | 0,1,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0 1314 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,1,1,0 1315 | 0,0,1,0,1,1,1,0,1,0,1,0,0,0,0,1,1,1,1,0 1316 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1317 | 0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0 1318 | 0,1,1,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,1,0 1319 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,0,1,1,1,1,0 1320 | 0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0 1321 | 0,0,1,0,0,1,0,1,0,0,1,1,0,1,0,1,1,0,1,0 1322 | 0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0 1323 | 0,1,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0 1324 | 0,1,1,1,1,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0 1325 | 0,1,1,0,1,1,1,1,0,0,1,1,0,1,1,1,1,1,1,0 1326 | 0,1,1,1,0,1,1,1,0,0,1,1,0,1,1,1,1,0,1,0 1327 | 0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0 1328 | 0,1,1,1,1,1,0,1,1,1,0,0,0,0,0,1,0,0,0,0 1329 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1330 | 0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0 1331 | 0,0,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1,0 1332 | 0,0,1,0,0,1,1,1,1,1,1,1,0,1,1,1,1,0,1,0 1333 | 0,0,0,0,0,1,1,0,0,0,1,1,0,1,0,1,1,1,1,0 1334 | 0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0 1335 | 0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,0 1336 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1,0 1337 | 0,1,1,0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,0,0 1338 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1339 | 0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0 1340 | 0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0 1341 | 0,1,1,0,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0 1342 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1343 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1344 | 0,1,1,0,1,1,1,0,1,0,1,1,0,1,1,1,1,1,1,0 1345 | 0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,1,0 1346 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,0,1,1,0,1,0 1347 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 1348 | 0,1,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0 1349 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1350 | 0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1351 | 0,1,0,1,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1352 | 0,1,1,0,1,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1353 | 0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,1,0 1354 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,1,1,0,1 1355 | 1,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,1,1,1 1356 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1357 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0 1358 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1359 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,1,1,0,1,0 1360 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1361 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1362 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 1363 | 0,0,1,0,0,1,0,1,0,1,1,1,0,1,1,1,1,0,1,0 1364 | 0,1,1,0,1,1,1,0,0,1,1,0,0,1,0,1,1,0,0,0 1365 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1366 | 0,0,0,0,1,1,1,1,0,0,1,0,0,0,0,1,1,1,1,0 1367 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1368 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,1,1,0 1369 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1370 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1371 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1372 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1373 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,1,1,0,1,0 1374 | 0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,1,1,0,1,0 1375 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1376 | 0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1377 | 0,1,0,0,0,1,0,1,0,0,1,1,0,0,1,1,1,0,1,0 1378 | 0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1379 | 0,0,1,1,1,1,0,0,0,0,1,1,0,1,0,1,1,0,1,0 1380 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1381 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1382 | 0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1383 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1384 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1385 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1386 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1387 | 0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,1,0,0,0 1388 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1389 | 0,0,0,0,1,1,1,0,1,0,1,1,0,0,0,1,1,0,1,0 1390 | 0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1391 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1392 | 0,1,0,0,0,1,1,1,0,0,1,1,0,0,0,1,1,0,1,0 1393 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1394 | 0,0,0,0,1,1,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1395 | 0,0,1,0,1,1,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1396 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1397 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1398 | 0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,1,1,0,0,0 1399 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1400 | 0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,1,1,0,1,0 1401 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 1402 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1403 | 0,1,1,0,1,1,1,1,0,1,1,1,0,0,0,1,1,0,1,0 1404 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1405 | 0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1406 | 0,1,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1407 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1408 | 0,1,1,0,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,0 1409 | 0,1,0,0,0,1,0,0,0,0,1,0,0,1,1,1,1,1,1,0 1410 | 0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1411 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,1,1,0 1412 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1413 | 1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,0,1,0 1414 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1415 | 1,1,1,0,1,1,1,0,0,1,1,1,0,1,0,1,1,0,1,0 1416 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1417 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1418 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1419 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1420 | 0,0,0,0,1,0,1,1,0,0,1,1,0,0,1,1,1,0,1,0 1421 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1422 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,0 1423 | 0,0,0,0,1,1,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1424 | 0,1,0,0,0,1,1,0,0,0,1,1,0,1,1,1,1,0,1,0 1425 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1426 | 0,1,1,0,1,1,0,1,1,1,1,1,0,1,0,1,1,1,1,0 1427 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,1,1,0,1,0 1428 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1429 | 0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1430 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0 1431 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1432 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1433 | 0,1,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1434 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1435 | 0,1,1,0,1,1,1,0,1,0,1,0,1,1,0,1,1,1,1,0 1436 | 0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1437 | 0,1,1,0,1,1,0,1,1,1,1,1,0,1,0,1,1,1,1,0 1438 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1439 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1440 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,0,1,1,1,1,0 1441 | 0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,1,0,0,1,0 1442 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1443 | 0,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1444 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 1445 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1446 | 0,1,1,0,1,1,0,1,0,0,1,0,0,0,0,1,1,1,1,0 1447 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,0 1448 | 0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1449 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1450 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1451 | 0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,1,1,0,1,0 1452 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,1,1,0 1453 | 0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,1,0,1,0 1454 | 0,0,0,0,0,1,0,0,0,0,1,1,0,1,0,1,1,0,1,0 1455 | 0,0,0,0,0,1,0,0,1,0,1,1,0,0,0,1,1,0,1,0 1456 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1457 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1458 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1459 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1460 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,0 1461 | 0,1,1,0,1,1,1,1,0,1,1,1,0,0,0,1,1,0,1,0 1462 | 0,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1463 | 0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,1,0,0,0 1464 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1465 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1466 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1467 | 0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,0 1468 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1469 | 0,0,0,0,1,1,0,1,0,0,1,1,0,1,0,1,1,0,1,0 1470 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1471 | 0,0,0,1,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,0 1472 | 0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1473 | 0,0,0,0,1,1,1,0,0,0,1,0,0,0,0,1,1,0,1,0 1474 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,1,1,0 1475 | 0,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1476 | 0,0,0,0,1,1,1,1,0,0,1,0,0,1,0,1,1,0,1,0 1477 | 0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1478 | 0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,0 1479 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1480 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1481 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0 1482 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,0,1,1,0,1,0 1483 | 0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,1,0,0,0 1484 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1485 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1486 | 0,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,1,0,1,0 1487 | 0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,1,0,1,0 1488 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1489 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1490 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1491 | 1,1,0,0,1,0,0,1,0,0,1,1,0,0,1,1,1,0,1,0 1492 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0 1493 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1494 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1495 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1496 | 0,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1497 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,1,1,0 1498 | 0,1,0,0,0,1,1,1,0,1,1,1,0,1,0,1,1,0,1,0 1499 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1500 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1501 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,1,0,0 1502 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,1,0,1,0 1503 | 0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 1504 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 1505 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1506 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,0 1507 | 0,1,0,0,1,1,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1508 | 0,0,0,0,0,1,0,1,0,0,1,1,0,1,1,1,1,0,1,0 1509 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1510 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1511 | 0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,1,0,1,0 1512 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 1513 | 0,1,1,0,1,1,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1514 | 0,1,1,0,1,1,1,1,0,1,1,1,0,0,0,1,1,1,1,0 1515 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1516 | 0,1,1,0,1,1,1,0,1,0,1,1,0,1,0,1,1,0,1,0 1517 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1518 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1519 | 0,0,0,0,1,0,1,1,0,0,1,0,0,0,0,1,1,0,1,0 1520 | 0,1,0,0,0,1,1,0,0,1,1,1,0,1,0,1,1,0,1,0 1521 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1522 | 0,1,0,0,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,0 1523 | 0,1,0,0,0,1,1,1,0,1,1,1,0,1,0,1,1,0,1,0 1524 | 0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1525 | 0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,0 1526 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0 1527 | 0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,1,1,0,1,0 1528 | 0,1,0,0,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,0 1529 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1530 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1531 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1532 | 0,0,0,0,0,0,1,1,0,0,1,1,0,1,0,1,1,0,1,0 1533 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1534 | 0,1,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1535 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1536 | 0,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1537 | 0,0,0,1,1,1,1,1,0,0,1,1,0,1,1,1,1,0,1,0 1538 | 0,1,0,0,0,1,0,1,0,0,1,0,1,1,1,1,1,1,1,0 1539 | 0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1540 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1541 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1542 | 0,0,0,1,0,1,1,1,1,0,1,1,0,0,1,1,1,0,1,0 1543 | 0,1,0,1,1,1,0,1,1,0,1,1,0,0,1,1,1,0,1,0 1544 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1545 | 0,1,1,0,0,1,0,0,0,1,1,0,0,0,0,1,1,0,1,0 1546 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1547 | 0,0,0,0,0,1,0,1,0,0,1,1,0,0,1,1,1,0,0,0 1548 | 0,1,1,0,1,1,0,0,0,0,1,0,0,1,0,1,1,0,1,0 1549 | 0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1550 | 0,1,1,0,1,1,0,1,0,0,1,1,0,1,1,1,1,0,1,0 1551 | 0,0,1,0,1,1,0,1,0,1,1,1,0,1,0,1,1,0,1,0 1552 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,1,1,1,0,1,0 1553 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1554 | 0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1555 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1556 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1557 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1558 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1559 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1560 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1561 | 0,0,0,0,0,1,0,1,0,0,1,1,0,0,1,1,1,0,1,0 1562 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1563 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 1564 | 0,1,1,0,1,1,0,0,1,0,1,0,0,0,0,1,1,0,1,0 1565 | 0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1566 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 1567 | 0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1568 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0 1569 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1570 | 0,1,1,0,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,0 1571 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1572 | 0,1,1,0,0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0 1573 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1574 | 0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1575 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1576 | 0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,1,0,1,0 1577 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1578 | 0,1,1,0,1,1,1,1,0,0,1,0,0,0,0,1,0,0,0,0 1579 | 1,1,1,0,1,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1580 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1581 | 0,0,0,1,0,0,1,0,0,0,1,1,1,0,0,1,1,0,0,0 1582 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1583 | 0,0,0,0,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,0 1584 | 0,1,0,0,0,1,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1585 | 0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,1,0,1,0 1586 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1587 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1588 | 0,1,0,0,1,1,0,0,0,0,1,1,0,0,1,1,1,0,1,0 1589 | 0,1,0,0,0,1,0,1,0,0,1,0,1,0,1,1,1,0,1,0 1590 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1591 | 0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1592 | 0,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1593 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1594 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1595 | 0,1,0,0,1,1,0,1,0,0,1,1,0,1,0,1,1,0,1,0 1596 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 1597 | 0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,1,0,1,0 1598 | 0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1599 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0 1600 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1601 | 0,0,0,0,1,1,1,0,0,0,1,1,0,1,0,1,1,0,1,0 1602 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1603 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1604 | 0,0,0,1,0,0,1,1,0,0,1,0,0,0,0,1,1,0,1,0 1605 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1606 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1607 | 0,0,1,0,1,1,1,1,0,0,1,1,0,0,0,1,1,0,0,0 1608 | 0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,1,1,0,0,0 1609 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1610 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1611 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1612 | 0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1613 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1614 | 0,1,0,1,1,1,1,0,1,0,1,0,1,0,0,1,1,0,1,0 1615 | 0,0,0,0,1,1,1,1,0,0,1,1,0,0,0,1,1,1,1,0 1616 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1617 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1618 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1619 | 0,0,0,0,0,1,0,0,1,0,1,1,0,0,1,1,1,0,1,0 1620 | 0,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1621 | 0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,0,0,0 1622 | 0,1,1,0,1,1,1,1,0,0,1,0,0,0,0,1,1,0,1,0 1623 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1624 | 0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1625 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1626 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1627 | 0,1,1,1,1,1,0,1,1,0,1,1,1,1,1,1,1,0,1,0 1628 | 0,0,0,0,1,0,1,0,0,0,1,1,0,0,0,1,1,0,1,0 1629 | 0,0,0,0,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1,0 1630 | 0,0,0,0,1,1,1,0,0,1,1,1,0,0,0,1,1,1,1,0 1631 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1632 | 0,1,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1633 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,1,1,0 1634 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1635 | 0,0,0,0,1,1,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1636 | 0,1,0,0,1,0,0,0,0,0,1,1,0,0,0,1,1,1,1,0 1637 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1638 | 0,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1639 | 0,1,0,0,1,1,0,0,1,0,1,0,0,0,0,1,1,0,1,0 1640 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0 1641 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1,0 1642 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1643 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1644 | 0,0,0,0,1,1,1,0,0,0,1,0,0,0,0,1,1,0,1,0 1645 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1646 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1647 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1648 | 0,1,0,0,0,1,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1649 | 0,0,0,0,0,0,1,0,0,0,1,0,0,1,1,1,1,0,1,0 1650 | 0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1651 | 0,0,0,0,1,1,0,0,1,0,1,0,0,0,0,1,1,0,1,0 1652 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1653 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1654 | 0,0,0,0,1,1,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1655 | 0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1656 | 0,0,0,0,1,1,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1657 | 0,1,1,0,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,0 1658 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1659 | 0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0 1660 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0 1661 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1662 | 0,0,0,0,0,1,0,1,0,0,1,0,0,1,0,1,0,0,1,0 1663 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1664 | 1,1,0,0,1,1,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1665 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1666 | 0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1667 | 0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,0 1668 | 0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1669 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1670 | 0,0,1,0,0,1,1,1,1,0,1,1,0,0,0,1,1,1,1,0 1671 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,1,1,1,0,0,0 1672 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,1,0,0 1673 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1674 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1675 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1676 | 1,0,1,0,0,0,1,0,0,0,1,1,0,0,0,1,1,0,1,0 1677 | 0,1,1,0,1,1,0,0,1,0,1,0,0,0,0,1,1,0,1,0 1678 | 0,1,1,0,1,1,0,0,0,1,1,0,0,0,0,1,1,0,1,0 1679 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1680 | 0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,1,0,1,0 1681 | 0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1682 | 0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0 1683 | 0,1,0,0,1,1,1,1,0,0,1,0,0,0,0,1,1,0,1,0 1684 | 0,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,1,0 1685 | 0,1,0,0,1,1,1,1,0,0,1,1,0,0,0,1,1,0,1,0 1686 | 0,0,1,0,0,0,0,1,0,1,1,0,0,0,0,1,1,0,1,0 1687 | 0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,0,0,0 1688 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1689 | 0,1,0,0,1,1,1,1,0,0,1,0,0,0,0,1,1,0,1,0 1690 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1691 | 0,1,0,0,1,1,0,1,0,0,1,0,0,0,0,1,1,1,1,0 1692 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1693 | 0,0,0,0,1,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0 1694 | 0,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1695 | 0,0,0,0,0,1,1,0,0,0,1,1,0,1,0,1,1,0,0,0 1696 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1697 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0 1698 | 0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,1,0,1,0 1699 | 0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,0,1,0 1700 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1701 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1702 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1703 | 0,0,1,0,1,1,0,1,0,0,1,0,0,0,0,1,1,1,1,0 1704 | 0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,1,0,1,0 1705 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1706 | 0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,1,1,0,1,0 1707 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1708 | 0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,0,1,0 1709 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1710 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 1711 | 0,1,1,0,0,1,0,1,0,0,1,0,0,1,0,1,1,0,1,0 1712 | 0,0,0,1,0,1,0,1,0,0,1,1,0,0,0,1,1,1,1,0 1713 | 0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,0 1714 | 0,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1715 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1716 | 0,0,0,0,0,1,1,0,1,0,1,1,0,0,1,1,1,0,1,0 1717 | 0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1718 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1719 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1720 | 0,0,0,0,0,1,1,1,0,1,1,1,0,1,0,1,1,1,1,0 1721 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1722 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1723 | 0,0,0,0,1,1,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1724 | 0,0,1,0,1,1,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1725 | 0,1,0,0,1,1,1,0,0,0,1,1,0,0,0,1,1,0,1,0 1726 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1727 | 1,1,1,0,0,1,0,1,0,1,1,1,0,0,0,1,1,0,1,0 1728 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1729 | 0,1,1,0,1,1,1,1,0,0,1,0,0,0,0,1,1,0,1,0 1730 | 0,1,0,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0 1731 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1732 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0 1733 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1734 | 0,1,0,0,1,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1735 | 0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1736 | 0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1737 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1738 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1739 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1740 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1741 | 0,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1742 | 0,1,1,0,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0 1743 | 0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,0,1,0 1744 | 0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1745 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1746 | 0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,0,1,0,0,0 1747 | 0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,1,1,0,1,0 1748 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1749 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1750 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1751 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0 1752 | 0,1,0,1,1,1,0,1,1,0,1,1,1,0,0,1,1,0,1,0 1753 | 1,1,0,0,1,1,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1754 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1755 | 0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,0,0 1756 | 0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,1,1,1,0 1757 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1758 | 0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,1,1,0,1,0 1759 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1760 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1761 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,1,1,0,0,0 1762 | 0,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0 1763 | 0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,1,1,0,1,0 1764 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1765 | 0,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1766 | 0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,1,1,0,1,0 1767 | 1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,1,1,0,0,0 1768 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1769 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1770 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1771 | 0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,0,1,0 1772 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1773 | 0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,1,1,0,1,0 1774 | 0,1,1,0,1,1,1,1,1,0,1,1,0,0,0,1,1,0,1,0 1775 | 0,0,0,0,1,1,0,1,0,0,1,1,0,0,0,1,1,1,1,0 1776 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1777 | 0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1778 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1779 | 0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,1,0 1780 | 0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1781 | 0,1,1,0,0,1,1,1,1,0,1,1,0,1,0,1,1,0,1,0 1782 | 0,0,0,0,0,1,1,1,0,0,1,1,0,1,1,1,1,0,1,0 1783 | 0,1,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,1,1,0 1784 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1785 | 0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1786 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1787 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1788 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1789 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1790 | 1,1,0,0,1,1,1,0,0,0,1,1,0,0,0,1,1,0,1,0 1791 | 0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1792 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1793 | 0,0,0,0,1,1,0,1,0,0,1,1,0,0,0,0,1,0,1,0 1794 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1795 | 0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,0 1796 | 0,0,0,0,0,1,0,0,0,0,1,0,1,1,1,1,1,0,1,0 1797 | 0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,1,1,0,0,0 1798 | 0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1799 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1800 | 0,0,0,0,1,1,1,0,0,0,1,0,0,0,0,1,1,0,1,0 1801 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1802 | 0,0,0,0,1,1,1,0,0,0,1,0,0,0,0,1,1,0,1,0 1803 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1804 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1805 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1806 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1807 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1808 | 0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1809 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1810 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 1811 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1812 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1813 | 1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,1,0,1,0 1814 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1815 | 0,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1816 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1817 | 0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,1,0,1,0 1818 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1819 | 0,0,0,0,0,0,1,0,0,0,1,0,1,1,1,0,0,0,0,0 1820 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,1,1,0 1821 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1822 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1823 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1824 | 0,1,0,1,1,1,1,1,1,0,1,1,0,1,1,1,1,1,1,0 1825 | 0,0,0,0,1,0,1,0,0,0,1,1,0,0,0,1,1,0,1,0 1826 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1827 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1828 | 0,1,0,0,1,1,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1829 | 0,0,1,0,0,0,0,1,0,0,1,1,0,0,0,1,1,1,1,0 1830 | 0,1,0,0,1,1,0,1,0,0,1,1,0,1,0,1,1,0,1,0 1831 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1832 | 0,1,1,0,0,0,1,1,0,0,1,0,0,0,0,1,1,0,0,0 1833 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 1834 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1835 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1836 | 0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,1,0,1,0 1837 | 0,0,1,0,0,1,0,0,0,0,1,0,0,1,0,1,1,0,1,0 1838 | 0,0,0,1,1,1,1,0,1,0,1,1,0,1,1,1,1,0,1,0 1839 | 0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1840 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1841 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1842 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1843 | 0,1,0,0,1,1,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1844 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1845 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1846 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1847 | 0,0,0,0,1,1,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1848 | 0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,1,1,1,0 1849 | 0,0,1,0,1,0,0,0,0,0,1,1,0,1,1,1,1,0,1,0 1850 | 0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0 1851 | 0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1852 | 0,0,0,0,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,0 1853 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1854 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1855 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1856 | 0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,0 1857 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,0 1858 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1859 | 0,0,0,0,0,1,0,0,1,0,1,1,0,0,0,0,0,0,1,0 1860 | 0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1861 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1862 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0 1863 | 0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0 1864 | 0,0,0,0,1,1,1,0,0,0,1,1,0,1,1,1,1,1,1,0 1865 | 0,1,1,0,1,1,0,1,0,0,1,1,0,1,0,1,1,0,1,0 1866 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1867 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1868 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,0,0 1869 | 0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0 1870 | 0,0,0,1,0,0,1,0,0,0,1,1,1,0,0,1,1,0,1,0 1871 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1872 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1873 | 0,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1874 | 0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,1,1,0,1,0 1875 | 0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,1,0,0,0 1876 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1877 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1878 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1879 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1880 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1881 | 0,1,0,0,1,1,0,0,0,0,1,1,0,0,0,1,1,1,1,0 1882 | 0,0,0,1,1,0,0,0,1,0,1,1,1,0,0,1,1,0,1,0 1883 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1884 | 0,1,1,0,1,1,0,1,1,1,1,1,0,1,1,1,1,0,1,0 1885 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,0 1886 | 0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,0,1,0 1887 | 0,0,0,0,0,1,1,1,0,0,1,1,0,1,0,1,1,0,1,0 1888 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1889 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1890 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1891 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0 1892 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1893 | 0,1,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1894 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1895 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1896 | 0,1,1,0,0,1,0,1,0,1,1,1,0,1,0,1,1,0,1,0 1897 | 0,1,1,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1898 | 0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1899 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1900 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,1,1,0 1901 | 0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,1,1,0,1,0 1902 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1903 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1904 | 0,0,0,0,1,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1905 | 0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1,0,1,0 1906 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1907 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1908 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1909 | 0,0,1,0,1,0,1,1,1,0,1,0,0,0,0,1,1,0,1,0 1910 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1911 | 0,1,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1912 | 0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1913 | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 1914 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,0,0 1915 | 0,0,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1 1916 | 0,0,0,0,1,1,0,0,1,0,1,0,1,1,1,0,1,0,0,1 1917 | 0,0,0,1,1,1,0,0,0,0,1,0,1,1,1,0,0,0,0,1 1918 | 0,0,0,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,1 1919 | 0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,0,1,0 1920 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1921 | 0,1,0,0,0,1,1,0,0,0,1,0,0,0,0,1,1,0,0,0 1922 | 0,0,0,0,1,1,1,0,0,0,1,1,0,0,0,1,1,1,1,0 1923 | 0,1,0,0,1,1,0,1,0,0,1,1,0,0,0,1,1,1,1,0 1924 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1925 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1926 | 0,0,0,0,0,1,0,0,0,0,1,1,0,0,1,1,1,0,1,0 1927 | 0,0,0,1,1,1,0,0,1,0,1,1,0,0,0,1,1,0,1,0 1928 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1929 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1930 | 0,0,0,0,1,1,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1931 | 0,1,1,0,1,0,1,1,0,0,1,0,0,0,0,1,1,0,1,0 1932 | 0,0,1,0,1,1,1,0,0,1,1,1,0,1,0,1,1,0,1,0 1933 | 0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1934 | 0,1,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1935 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1936 | 0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1937 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1938 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1939 | 0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,0,1,0 1940 | 0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,1,1,0,0,0 1941 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,0,1,0 1942 | 0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1943 | 0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,1,1,0,1,0 1944 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1945 | 0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,1,1,0 1946 | 1,1,0,1,1,1,0,1,1,1,1,1,0,1,0,1,1,0,1,0 1947 | 0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1948 | 0,0,1,1,0,1,0,1,0,0,1,1,1,1,0,1,1,0,1,0 1949 | 0,1,1,0,1,1,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1950 | 0,0,0,0,1,1,1,1,0,0,1,0,0,0,0,1,1,0,1,0 1951 | 0,0,0,0,0,1,0,1,0,0,1,1,0,1,0,1,1,0,1,0 1952 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1953 | 0,1,0,1,1,1,0,0,1,0,1,1,1,0,1,1,1,0,1,0 1954 | 0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1955 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1956 | 1,1,1,0,1,1,1,0,0,0,1,1,0,1,0,1,1,0,1,0 1957 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1958 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1959 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1960 | 0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,1,1,1,0 1961 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1962 | 1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,1,0,1,0 1963 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1964 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1965 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1966 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1967 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1968 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1969 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1970 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1971 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1972 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1973 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1974 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0 1975 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1976 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1977 | 0,0,0,0,0,1,0,1,1,0,1,1,0,1,0,1,1,0,1,0 1978 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1979 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1980 | 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1981 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1982 | 0,1,1,1,1,1,1,0,1,1,1,1,0,1,0,1,1,0,1,0 1983 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1984 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1985 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1986 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1987 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1988 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1989 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1990 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1991 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1992 | 0,1,0,0,1,1,0,0,0,0,1,0,0,0,0,1,1,0,1,0 1993 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 1994 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1995 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 1996 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 1997 | 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,0 1998 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,1,1,1,0,1,0 1999 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 2000 | 0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,1,0 2001 | 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0 2002 | 0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,1,1,1,1,0 2003 | 0,1,0,0,1,1,0,1,0,0,1,0,0,0,0,1,1,0,1,0 2004 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 2005 | 0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,1,0,1,0 2006 | 0,1,0,0,1,1,0,0,0,1,1,1,0,1,1,1,1,0,1,1 2007 | -------------------------------------------------------------------------------- /final_selected_features.txt: -------------------------------------------------------------------------------- 1 | com.android.browser.permission.WRITE_HISTORY_BOOKMARKS : 0.0661380449582 2 | android.permission.SYSTEM_ALERT_WINDOW : -0.154678572336 3 | android.permission.WRITE_SETTINGS : -0.166263376587 4 | android.permission.SEND_SMS : 0.246643615814 5 | android.permission.RECEIVE_BOOT_COMPLETED : 0.0348884468237 6 | android.permission.READ_PHONE_STATE : 0.335413974493 7 | android.permission.CAMERA : -0.165749158121 8 | android.permission.READ_EXTERNAL_STORAGE : -0.155649249411 9 | android.permission.READ_SMS : 0.059177136561 10 | android.permission.MOUNT_UNMOUNT_FILESYSTEMS : -0.0232461115856 11 | substring : 0.164966125871 12 | getMemoryInfo : -0.0158065349933 13 | sendTextMessage : 0.0591348528996 14 | getSubscriberId : 0.0669758798901 15 | getLine1Number : 0.1662220517 16 | loadClass : -1.02582423093 17 | obtainMessage : -0.058820394056 18 | getDocumentElement : 0.00704662544952 19 | db : -0.189044594314 20 | -------------------------------------------------------------------------------- /model_train.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Author: Ashish Katlam 3 | Description: This code trains the malware detection model 4 | 5 | ''' 6 | 7 | from core2 import create_vector_single 8 | import pickle 9 | import datetime 10 | import sys 11 | from sklearn import svm 12 | import random 13 | from sklearn.feature_selection import SelectFromModel 14 | from sklearn.svm import LinearSVC 15 | from sklearn.model_selection import KFold 16 | from sklearn.model_selection import cross_val_score 17 | 18 | 19 | def load_data(): 20 | feature_vector = [] 21 | # Data format 22 | # Column 0: Class label (1: Malware, 0: Benign) 23 | # Column 1-19: Features 24 | with open('final_data.csv','r') as fp: 25 | for i,line in enumerate(fp): 26 | if i == 0: 27 | pass 28 | else: 29 | feature_vector.append([int(x.strip()) for x in line.split(',')]) 30 | return feature_vector 31 | 32 | 33 | ''' 34 | Driver Function 35 | Usage: python model_train.py train_test/k-fold 36 | ''' 37 | if __name__ == "__main__": 38 | 39 | # Check for arguments 40 | if len(sys.argv) > 1: 41 | evaluation_metrics = sys.argv[1] 42 | 43 | # Load the data 44 | data = load_data() 45 | 46 | # Shuffle the data 47 | random.shuffle(data) 48 | 49 | # If evaluation metrics is using training and testing 50 | if evaluation_metrics == "train_test": 51 | # Divide the data into training and testing in 60:40 52 | trainLength = int(0.6*len(data)) 53 | # Training Data 54 | trainX = [x[:-1] for x in data[:trainLength]] 55 | trainY = [y[-1] for y in data[:trainLength]] 56 | 57 | # Testing Data 58 | testX = [x[:-1] for x in data[trainLength:]] 59 | testY = [y[-1] for y in data[trainLength:]] 60 | 61 | 62 | # Perform training 63 | print 'Training the data....' 64 | train_result = {'timestamp': datetime.datetime.now(),'alg_type': 'svm'} 65 | clf = svm.SVC() 66 | clf.set_params(kernel='rbf').fit(trainX, trainY) 67 | 68 | print 'Accuracy: {:.3f}%'.format(clf.score(testX, testY)*100) 69 | # Save the trained model so that it can be used later 70 | pickle.dump(clf, open( "new_train_data.p", "wb" )) 71 | print 'Model trained and saved.' 72 | 73 | 74 | else: 75 | X = [x[:-1] for x in data] 76 | Y = [y[-1] for y in data] 77 | k_fold = KFold(5) 78 | clf = svm.SVC() 79 | results = [] 80 | i = 1 81 | 82 | print 'Performing 5-fold cross validation....' 83 | 84 | for train, test in k_fold.split(X): 85 | x = [X[ind] for ind in train] 86 | y = [Y[ind] for ind in train] 87 | x_test = [X[ind] for ind in test] 88 | y_test = [Y[ind] for ind in test] 89 | 90 | clf.set_params(kernel='rbf').fit(x,y) 91 | score = clf.score(x_test,y_test) 92 | results.append(score) 93 | print "[fold {0}] score: {1:.5f}".format(i, score) 94 | i+=1 95 | 96 | print 'Mean Score: {}'.format(sum(results)/len(results)) 97 | 98 | # Dump the model 99 | pickle.dump(clf, open("kfold_train_data.p", "wb")) 100 | print "Model trained and saved." 101 | 102 | 103 | else: 104 | print '[+] Usage: python {} '.format(__file__) 105 | 106 | 107 | -------------------------------------------------------------------------------- /predict.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Author: Ashish Katlam 3 | Description: This code classifies a given apk into Malware/Benign 4 | ''' 5 | def warn(*args, **kwargs): 6 | pass 7 | 8 | import warnings 9 | warnings.warn = warn 10 | 11 | import pickle 12 | import sys 13 | from core2 import extract_features, create_vector_single 14 | 15 | if __name__ == '__main__': 16 | if len(sys.argv) > 1: 17 | file_path = sys.argv[1] 18 | 19 | # Extract the features for a given application 20 | features = extract_features(file_path) 21 | # Form the feature vector 22 | feature_vector = create_vector_single(features) 23 | # Load the pre configured feature model from a pickle file 24 | model = pickle.load(open("feature_model.p", "rb")) 25 | # Reduce the feature vector into size 12 26 | feature_vector_new = model.transform(feature_vector) 27 | 28 | 29 | # Load the pre-trained model from a pickle file 30 | clf = pickle.load( open( "kfold_train_data.p", "rb" ) ) 31 | 32 | # Perform prediction using the model 33 | result = clf.predict(feature_vector_new) 34 | 35 | #print result 36 | 37 | if int(result[0]) == 1: 38 | print 'This application is MALWARE' 39 | else: 40 | print "This application is BENIGN" 41 | else: 42 | print '[+] Usage: python {} '.format(__file__) 43 | -------------------------------------------------------------------------------- /test/51e932523a715d3e35bc092bf7f2c736cb1e54d2b02052a53f48b4a4152c0209: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SP2014/Android-Malware-Detector/028b310ffeb548e8b5c1e2749c7ea6c6679ba1b4/test/51e932523a715d3e35bc092bf7f2c736cb1e54d2b02052a53f48b4a4152c0209 -------------------------------------------------------------------------------- /test/52c6bac36667266376ec82ec041da34513c69f536b4000c65b74b7575d32dbeb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SP2014/Android-Malware-Detector/028b310ffeb548e8b5c1e2749c7ea6c6679ba1b4/test/52c6bac36667266376ec82ec041da34513c69f536b4000c65b74b7575d32dbeb -------------------------------------------------------------------------------- /test/53c904e2021e463aabb681cddd5f1d9ba2bd42e9a45ef629d25991c28086a8dd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SP2014/Android-Malware-Detector/028b310ffeb548e8b5c1e2749c7ea6c6679ba1b4/test/53c904e2021e463aabb681cddd5f1d9ba2bd42e9a45ef629d25991c28086a8dd -------------------------------------------------------------------------------- /test/53e926b4f667655fb646e38e98f0212b173bed91dd55bbbdb2438bbfee182d90: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SP2014/Android-Malware-Detector/028b310ffeb548e8b5c1e2749c7ea6c6679ba1b4/test/53e926b4f667655fb646e38e98f0212b173bed91dd55bbbdb2438bbfee182d90 -------------------------------------------------------------------------------- /test/53e99ae21ed353f60743dc8420e4d0f74e50b6e05a431252ec75c8d7d553f0fc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SP2014/Android-Malware-Detector/028b310ffeb548e8b5c1e2749c7ea6c6679ba1b4/test/53e99ae21ed353f60743dc8420e4d0f74e50b6e05a431252ec75c8d7d553f0fc -------------------------------------------------------------------------------- /test/54f136fe13f52d4052994bf060e52f779d383229ddaa7b4a8ec763aa7169cd8b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SP2014/Android-Malware-Detector/028b310ffeb548e8b5c1e2749c7ea6c6679ba1b4/test/54f136fe13f52d4052994bf060e52f779d383229ddaa7b4a8ec763aa7169cd8b -------------------------------------------------------------------------------- /test/VMT_v1.2.2pakage.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SP2014/Android-Malware-Detector/028b310ffeb548e8b5c1e2749c7ea6c6679ba1b4/test/VMT_v1.2.2pakage.apk -------------------------------------------------------------------------------- /test/Vid-Made-Video-Download-Guide_v8.0pakage.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SP2014/Android-Malware-Detector/028b310ffeb548e8b5c1e2749c7ea6c6679ba1b4/test/Vid-Made-Video-Download-Guide_v8.0pakage.apk -------------------------------------------------------------------------------- /test/Vijayavani_v2.0.0pakage.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SP2014/Android-Malware-Detector/028b310ffeb548e8b5c1e2749c7ea6c6679ba1b4/test/Vijayavani_v2.0.0pakage.apk -------------------------------------------------------------------------------- /test/Virtual-DJ-Mixer-Player_v1.0pakage.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SP2014/Android-Malware-Detector/028b310ffeb548e8b5c1e2749c7ea6c6679ba1b4/test/Virtual-DJ-Mixer-Player_v1.0pakage.apk -------------------------------------------------------------------------------- /test/Voice-Changer-During-Call-_v1pakage.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SP2014/Android-Malware-Detector/028b310ffeb548e8b5c1e2749c7ea6c6679ba1b4/test/Voice-Changer-During-Call-_v1pakage.apk -------------------------------------------------------------------------------- /test/阿里山旅遊景點地圖_v0.0.1pakage.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SP2014/Android-Malware-Detector/028b310ffeb548e8b5c1e2749c7ea6c6679ba1b4/test/阿里山旅遊景點地圖_v0.0.1pakage.apk -------------------------------------------------------------------------------- /unique_permissions.txt: -------------------------------------------------------------------------------- 1 | 'android.permission.BIND_WALLPAPER', 2 | 'com.google.android.providers.gsf.permission.READ_GSERVICES', 3 | 'android.permission.FORCE_BACK', 4 | 'android.permission.READ_CALENDAR', 5 | 'android.permission.READ_FRAME_BUFFER', 6 | 'org.gnucash.android.permission.RECORD_TRANSACTION', 7 | 'android.permission.DEVICE_POWER', 8 | 'com.motorola.dlauncher.permission.INSTALL_SHORTCUT', 9 | 'android.permission.READ_SYNC_STATS', 10 | 'android.permission.ACCESS_COARSE_UPDATES', 11 | 'thinkpanda.permission.CLEAR_MISSED_CALL', 12 | 'android.permission.INTERNET', 13 | 'android.permission.CHANGE_CONFIGURATION', 14 | 'android.permission.CLEAR_APP_USER_DATA', 15 | 'com.estrongs.android.pop.PERMISSION', 16 | 'com.nilhcem.frcndict.permission.C2D_MESSAGE', 17 | 'com.lge.launcher.permission.INSTALL_SHORTCUT', 18 | 'android.permission.HARDWARE_TEST', 19 | 'org.linphone.permission.C2D_MESSAGE', 20 | 'com.android.browser.permission.WRITE_HISTORY_BOOKMARKS', 21 | 'android.permission.ADD_SYSTEM_SERVICE', 22 | 'com.android.launcher.permission.INSTALL_SHORTCUT', 23 | 'org.openintents.ssh.permission.ACCESS_SSH_AGENT', 24 | 'android.permission.WRITE_CALL_LOG', 25 | 'android.permission.CHANGE_WIFI_MULTICAST_STATE', 26 | 'android.permission.ACCESS_GPS', 27 | 'info.guardianproject.otr.app.providers.imps.permission.READ_ONLY', 28 | 'org.kontalk.permission.C2D_MESSAGE', 29 | 'org.projectmaxs.permission.USE_TRANSPORT', 30 | 'android.permission.BIND_INPUT_METHOD', 31 | 'android.permission.CHANGE_WIMAX_STATE', 32 | 'org.mariotaku.twidere.WRITE_DATABASES', 33 | 'android.permission.WRITE_SYNC_SETTINGS', 34 | 'com.samsungmobileusa.magnacarta.permission.C2D_MESSAGE', 35 | 'android.permission.WRITE_USER_DICTIONARY', 36 | 'com.sonyericsson.extras.liveview.permission.LIVEVIEW_API', 37 | 'org.mozilla.firefox.permissions.FORMHISTORY_PROVIDER', 38 | 'org.fdroid.k9.permission.REMOTE_CONTROL', 39 | 'android.permission.WRITE_GSERVICES', 40 | 'com.software.application.permission.C2D_MESSAGE', 41 | 'android.permission.INJECT_EVENTS', 42 | 'com.fsck.k9.permission.READ_MESSAGES', 43 | 'org.koxx.k9ForPureWidget.permission.DELETE_MESSAGES', 44 | 'org.mozilla.firefox_sync.permission.PER_ACCOUNT_TYPE', 45 | 'android.permission.STORAGE', 46 | 'ru.gelin.android.weather.notification.START_UPDATE_SERVICE', 47 | 'android.permission.WRITE_SECURE_SETTINGS', 48 | 'org.projectmaxs.permission.WRITE_SMS', 49 | 'android.permission.CALL_PRIVILEGED', 50 | 'android.permission.READ_OWNER_DATA', 51 | 'com.dririan.RingyDingyDingy.HANDLE_INTERNAL_COMMAND', 52 | 'android.permission.SYSTEM_ALERT_WINDOW', 53 | 'android.permission.ACCESS_LOCATION_EXTRA_COMMANDS', 54 | 'de.shandschuh.sparserss.READFEEDS', 55 | 'android.permission.DUMP', 56 | 'org.eehouse.android.xw4.permission.C2D_MESSAGE', 57 | 'com.google.android.providers.gmail.permission.READ_GMAIL', 58 | 'android.permission.MODIFY_PHONE_STATE', 59 | 'org.fdroid.k9.permission.DELETE_MESSAGES', 60 | 'com.kaitenmail.permission.DELETE_MESSAGES', 61 | 'org.fdroid.k9.permission.READ_MESSAGES', 62 | 'android.permission.READ_PROFILE', 63 | 'android.permission.ACCOUNT_MANAGER', 64 | 'com.google.android.gm.permission.READ_GMAIL', 65 | 'com.google.android.marvin.feedback.permission.TALKBACK', 66 | 'android.permission.SET_ANIMATION_SCALE', 67 | 'fr.xgouchet.texteditor.permission.TED_INTERNAL', 68 | 'android.permission.SET_PROCESS_LIMIT', 69 | 'org.servalproject.meshms.SEND_MESHMS', 70 | 'android.permission.SET_DEBUG_APP', 71 | 'android.permission.INSTALL_DRM', 72 | 'android.permission.BLUETOOTH', 73 | 'android.permission.ACCESS_WIFI_STATE', 74 | 'android.permission.SET_WALLPAPER_HINTS', 75 | 'com.kaitenmail.permission.READ_MESSAGES', 76 | 'com.sec.android.provider.logsprovider.permission.READ_LOGS', 77 | 'org.projectmaxs.permission.USE_FILEREAD', 78 | 'android.permission.CONTROL_LOCATION_UPDATES', 79 | 'android.permission.GLOBAL_SEARCH_CONTROL', 80 | 'org.koxx.k9ForPureWidget.permission.READ_MESSAGES', 81 | 'android.permission.REBOOT', 82 | 'android.permission.BROADCAST_WAP_PUSH', 83 | 'android.permission.ACCESS_NETWORK_STATE', 84 | 'android.permission.STATUS_BAR', 85 | 'com.google.android.gm.permission.READ_CONTENT_PROVIDER', 86 | 'com.android.browser.permission.READ_HISTORY_BOOKMARKS', 87 | 'com.htc.launcher.permission.READ_SETTINGS', 88 | 'android.permission.CHANGE_WIFI_STATE', 89 | 'com.android.vending.CHECK_LICENSE', 90 | 'android.permission.MOUNT_FORMAT_FILESYSTEMS', 91 | 'org.projectmaxs.permission.USE_MODULE', 92 | 'com.dririan.RingyDingyDingy.HANDLE_COMMAND', 93 | 'org.fdroid.k9.permission.READ_ATTACHMENT', 94 | 'android.permission.WRITE_CONTACTS', 95 | 'com.umang.dashnotifier.CP_PERMISSION', 96 | 'android.permission.READ_CONTACTS', 97 | 'android.permission.BIND_APPWIDGET', 98 | 'com.fsck.k9.permission.DELETE_MESSAGES', 99 | 'android.permission.ACCESS_LOCATION', 100 | 'android.permission.SIGNAL_PERSISTENT_PROCESSES', 101 | 'android.permission.INSTALL_LOCATION_PROVIDER', 102 | 'com.beem.project.beem.BEEM_SERVICE', 103 | 'android.permission.PERMISSION_NAME', 104 | 'android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED', 105 | 'android.permission.WRITE_SETTINGS', 106 | 'android.permission.MASTER_CLEAR', 107 | 'android.permission.READ_INPUT_STATE', 108 | 'org.projectmaxs.permission.READ_CONTACTS', 109 | 'com.google.android.apps.iosched.permission.C2D_MESSAGE', 110 | 'android.permission.MANAGE_APP_TOKENS', 111 | 'com.motorola.launcher.permission.READ_SETTINGS', 112 | 'com.android.email.permission.ACCESS_PROVIDER', 113 | 'android.permission.WRITE_SECURE', 114 | 'com.google.android.marvin.talkback.PERMISSION_SEND_INTENT_BROADCAST_COMMANDS_TO_TALKBACK', 115 | 'com.a209689805250bfb0110b9532a.a93269867a.permission.C2D_MESSAGE', 116 | 'android.permission.ACCESS_WIMAX_STATE', 117 | 'com.android.launcher.permission.WRITE_SETTINGS', 118 | 'android.permission.RECORD_AUDIO', 119 | 'org.projectmaxs.permission.USE_MAIN_AS_MODULE', 120 | 'i4nc4mp.myLock.permission.toggle', 121 | 'android.permission.RECORD_VIDEO', 122 | 'android.permission.WRITE_APN_SETTINGS', 123 | 'android.permission.ACCESS_SURFACE_FLINGER', 124 | 'com.dririan.RingyDingyDingy.EXECUTE_COMMAND', 125 | 'android.permission.FACTORY_TEST', 126 | 'android.permission.READ_SECURE_SETTINGS', 127 | 'android.permission.READ_LOGS', 128 | 'android.permission.PROCESS_OUTGOING_CALLS', 129 | 'android.permission.UPDATE_DEVICE_STATS', 130 | 'android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS', 131 | 'android.permission.ACCESS_COURSE_LOCATION', 132 | 'android.permission.SET_PREFERRED_APPLICATIONS', 133 | 'android.permission.WRITE_CALENDAR', 134 | 'org.dmfs.permission.READ_TASKS', 135 | 'org.mozilla.firefox.permissions.BROWSER_PROVIDER', 136 | 'org.projectmaxs.permission.USE_MAIN', 137 | 'com.android.vending.BILLING', 138 | 'com.android.launcher.permission.READ_SETTINGS', 139 | 'android.permission.NFC', 140 | 'android.permission.MANAGE_ACCOUNTS', 141 | 'android.permission.SEND_SMS', 142 | 'com.google.android.providers.talk.permission.READ_ONLY', 143 | 'android.permission.ACCESS_MOCK_LOCATION', 144 | 'android.permission.BIND_ACCESSIBILITY_SERVICE', 145 | 'android.permission.SET_TIME_ZONE', 146 | 'com.google.android.apps.dashclock.permission.READ_EXTENSION_DATA', 147 | 'org.dmfs.permission.WRITE_TASKS', 148 | 'android.permission.WRITE_SMS', 149 | 'org.tint.permissions.services.ADDONS', 150 | 'android.permission.GET_TASKS', 151 | 'android.permission.DELETE_PACKAGES', 152 | 'android.permission.ACCESS_CHECKIN_PROPERTIES', 153 | 'net.jjc1138.android.scrobbler.privateservices', 154 | 'android.permission.DOWNLOAD_WITHOUT_NOTIFICATION', 155 | 'android.permission.RECEIVE_BOOT_COMPLETED', 156 | 'com.google.android.gtalkservice.permission.GTALK_SERVICE', 157 | 'android.permission.VIBRATE', 158 | 'android.permission.DIAGNOSTIC', 159 | 'android.permission.RECEIVE_SMS', 160 | 'android.permission.CALL_PHONE', 161 | 'android.permission.FLASHLIGHT', 162 | 'android.permission.READ_PHONE_STATE', 163 | 'android.permission.CHANGE_COMPONENT_ENABLED_STATE', 164 | 'android.permission.BRICK', 165 | 'com.motorola.launcher.permission.INSTALL_SHORTCUT', 166 | 'com.google.android.googleapps.permission.GOOGLE_AUTH.talk', 167 | 'android.permission.ACCESS_SUPERUSER', 168 | 'com.androzic.permission.RECEIVE_LOCATION', 169 | 'android.permission.BROADCAST_SMS', 170 | 'de.shandschuh.sparserss.WRITEFEEDS', 171 | 'android.permission.KILL_BACKGROUND_PROCESSES', 172 | 'android.permission.READ_MEDIA_STORAGE', 173 | 'android.permission.SUBSCRIBED_FEEDS_WRITE', 174 | 'android.permission.CAMERA', 175 | 'android.permission.RECEIVE_MMS', 176 | 'android.permission.WAKE_LOCK', 177 | 'android.permission.ACCESS_DOWNLOAD_MANAGER', 178 | 'com.androzic.permission.RECEIVE_TRACK', 179 | 'android.permission.DELETE_CACHE_FILES', 180 | 'android.permission.READ_PHONE', 181 | 'android.permission.RESTART_PACKAGES', 182 | 'com.google.android.googleapps.permission.GOOGLE_AUTH', 183 | 'android.permission.GET_ACCOUNTS', 184 | 'android.permission.SUBSCRIBED_FEEDS_READ', 185 | 'android.permission.CHANGE_NETWORK_STATE', 186 | 'android.permission.READ_SYNC_SETTINGS', 187 | 'android.permission.DISABLE_KEYGUARD', 188 | 'com.android.launcher.permission.UNINSTALL_SHORTCUT', 189 | 'android.permission.USE_CREDENTIALS', 190 | 'android.permission.ACCESS_CACHE_FILESYSTEM', 191 | 'android.permission.READ_USER_DICTIONARY', 192 | 'android.permission.WRITE_OWNER_DATA', 193 | 'android.permission.WRITE_MEDIA_STORAGE', 194 | 'com.motorola.dlauncher.permission.READ_SETTINGS', 195 | 'org.projectmaxs.permission.USE_OUTGOING_FILETRANSFER_SERVICE', 196 | 'android.permission.ACCESS_COARSE_LOCATION', 197 | 'org.gnucash.android.permission.CREATE_ACCOUNT', 198 | 'com.mominis.permission.preferences.provider.READ_WRITE', 199 | 'com.android.email.permission.READ_ATTACHMENT', 200 | 'com.androzic.permission.NAVIGATION', 201 | 'android.permission.BACKUP', 202 | 'com.lge.launcher.permission.READ_SETTINGS', 203 | 'android.permission.EXPAND_STATUS_BAR', 204 | 'android.permission.BLUETOOTH_ADMIN', 205 | 'android.permission.ACCESS_FINE_LOCATION', 206 | 'android.permission.PERSISTENT_ACTIVITY', 207 | 'org.servalproject.rhizome.RECEIVE_FILE', 208 | 'android.permission.SET_ALARM', 209 | 'at.tomtasche.reader.DOCUMENT_CHANGED', 210 | 'android.permission.RECEIVE_WAP_PUSH', 211 | 'com.google.android.c2dm.permission.RECEIVE', 212 | 'archos.permission.FULLSCREEN.FULL', 213 | 'org.projectmaxs.permission.USE_FILEWRITE', 214 | 'android.permission.SET_WALLPAPER', 215 | 'android.permission.READ_CALL_LOG', 216 | 'android.permission.BROADCAST_PACKAGE_REMOVED', 217 | 'org.projectmaxs.permission.USE_MAIN_AS_TRANSPORT', 218 | 'android.permission.COARSE_FINE_LOCATION', 219 | 'android.permission.SET_ALWAYS_FINISH', 220 | 'org.projectmaxs.permission.USE_INCOMING_FILETRANSFER_SERVICE', 221 | 'android.permission.WRITE_EXTERNAL_STORAGE', 222 | 'android.permission.GET_PACKAGE_SIZE', 223 | 'com.google.android.apps.googlevoice.permission.RECEIVE_SMS', 224 | 'android.permission.READ_EXTERNAL_STORAGE', 225 | 'android.permission.INSTALL_PACKAGES', 226 | 'android.permission.AUTHENTICATE_ACCOUNTS', 227 | 'org.mariotaku.twidere.READ_DATABASES', 228 | 'info.guardianproject.otr.app.providers.imps.permission.WRITE_ONLY', 229 | 'com.android.alarm.permission.SET_ALARM', 230 | 'android.permission.INTERNAL_SYSTEM_WINDOW', 231 | 'android.permission.CLEAR_APP_CACHE', 232 | 'com.cyanogenmod.filemanager.permissions.READ_THEME', 233 | 'android.permission.MODIFY_AUDIO_SETTINGS', 234 | 'android.permission.SET_ORIENTATION', 235 | 'android.permission.SET_ACTIVITY_WATCHER', 236 | 'org.mozilla.firefox.permissions.PASSWORD_PROVIDER', 237 | 'android.permission.READ_SMS', 238 | 'android.permission.BATTERY_STATS', 239 | 'android.permission.GLOBAL_SEARCH', 240 | 'org.thialfihar.android.apg.permission.READ_KEY_DETAILS', 241 | 'com.fede.launcher.permission.READ_SETTINGS', 242 | 'org.adw.launcher.permission.READ_SETTINGS', 243 | 'org.mariotaku.twidere.ACCESS_SERVICE', 244 | 'android.permission.REORDER_TASKS', 245 | 'org.adw.launcher.permission.WRITE_SETTINGS', 246 | 'org.mozilla.firefox.permission.PER_ANDROID_PACKAGE', 247 | 'android.permission.ACCESS_DRM', 248 | 'info.guardianproject.otr.app.im.permission.IM_SERVICE', 249 | 'com.fsck.k9.permission.READ_ATTACHMENT', 250 | 'android.permission.BROADCAST_STICKY', 251 | 'android.permission.MOUNT_UNMOUNT_FILESYSTEMS', 252 | 'com.sec.android.provider.logsprovider.permission.WRITE_LOGS', 253 | 'com.fsck.k9.permission.REMOTE_CONTROL' 254 | --------------------------------------------------------------------------------