├── .DS_Store ├── .gitignore ├── LICENSE ├── Quick-Start.ipynb ├── README.rst ├── data ├── .DS_Store ├── .Rhistory ├── astro-ph.net ├── big_10_football_directed.gml ├── example.gml ├── example2.net ├── football.gml ├── jazz.net └── karate.net ├── modularity_maximization ├── __init__.py ├── _divide.py ├── community_newman.py └── utils.py ├── requirements.txt └── setup.py /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhiyzuo/python-modularity-maximization/488c02631a261dc366e385412084457534d7d8e0/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # 3 | # My own 4 | test.py 5 | **/.DS_Store 6 | **/*.swp 7 | 8 | # Byte-compiled / optimized / DLL files 9 | __pycache__/ 10 | *.py[cod] 11 | *$py.class 12 | 13 | # C extensions 14 | *.so 15 | 16 | # Distribution / packaging 17 | .Python 18 | env/ 19 | build/ 20 | develop-eggs/ 21 | dist/ 22 | downloads/ 23 | eggs/ 24 | .eggs/ 25 | lib/ 26 | lib64/ 27 | parts/ 28 | sdist/ 29 | var/ 30 | wheels/ 31 | *.egg-info/ 32 | .installed.cfg 33 | *.egg 34 | 35 | # PyInstaller 36 | # Usually these files are written by a python script from a template 37 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 38 | *.manifest 39 | *.spec 40 | 41 | # Installer logs 42 | pip-log.txt 43 | pip-delete-this-directory.txt 44 | 45 | # Unit test / coverage reports 46 | htmlcov/ 47 | .tox/ 48 | .coverage 49 | .coverage.* 50 | .cache 51 | nosetests.xml 52 | coverage.xml 53 | *,cover 54 | .hypothesis/ 55 | 56 | # Translations 57 | *.mo 58 | *.pot 59 | 60 | # Django stuff: 61 | *.log 62 | local_settings.py 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | target/ 76 | 77 | # Jupyter Notebook 78 | .ipynb_checkpoints 79 | 80 | # pyenv 81 | .python-version 82 | 83 | # celery beat schedule file 84 | celerybeat-schedule 85 | 86 | # SageMath parsed files 87 | *.sage.py 88 | 89 | # dotenv 90 | .env 91 | 92 | # virtualenv 93 | .venv 94 | venv/ 95 | ENV/ 96 | 97 | # Spyder project settings 98 | .spyderproject 99 | 100 | # Rope project settings 101 | .ropeproject 102 | 103 | # mkdocs documentation 104 | /site 105 | 106 | ## My own ignore items 107 | data/.DS_Store 108 | .DS_Store 109 | *.log 110 | _site/ 111 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2018 Zhiya Zuo 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /Quick-Start.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "The following two examples use data in the both cited papers mentioned in the index page." 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 1, 13 | "metadata": { 14 | "ExecuteTime": { 15 | "end_time": "2018-02-24T03:47:48.952511Z", 16 | "start_time": "2018-02-24T03:47:48.023031Z" 17 | } 18 | }, 19 | "outputs": [ 20 | { 21 | "data": { 22 | "text/plain": [ 23 | "'2.0'" 24 | ] 25 | }, 26 | "execution_count": 1, 27 | "metadata": {}, 28 | "output_type": "execute_result" 29 | } 30 | ], 31 | "source": [ 32 | "import networkx as nx\n", 33 | "nx.__version__" 34 | ] 35 | }, 36 | { 37 | "cell_type": "code", 38 | "execution_count": 2, 39 | "metadata": { 40 | "ExecuteTime": { 41 | "end_time": "2018-02-24T03:47:48.967458Z", 42 | "start_time": "2018-02-24T03:47:48.955965Z" 43 | } 44 | }, 45 | "outputs": [], 46 | "source": [ 47 | "from modularity_maximization import partition\n", 48 | "from modularity_maximization.utils import get_modularity" 49 | ] 50 | }, 51 | { 52 | "cell_type": "markdown", 53 | "metadata": {}, 54 | "source": [ 55 | "#### Undirected Network: Karate" 56 | ] 57 | }, 58 | { 59 | "cell_type": "code", 60 | "execution_count": 3, 61 | "metadata": { 62 | "ExecuteTime": { 63 | "end_time": "2018-02-24T03:47:50.386389Z", 64 | "start_time": "2018-02-24T03:47:50.374798Z" 65 | } 66 | }, 67 | "outputs": [], 68 | "source": [ 69 | "karate = nx.Graph(nx.read_pajek(\"data/karate.net\"))" 70 | ] 71 | }, 72 | { 73 | "cell_type": "code", 74 | "execution_count": 4, 75 | "metadata": { 76 | "ExecuteTime": { 77 | "end_time": "2018-02-24T03:47:50.910921Z", 78 | "start_time": "2018-02-24T03:47:50.906654Z" 79 | } 80 | }, 81 | "outputs": [ 82 | { 83 | "name": "stdout", 84 | "output_type": "stream", 85 | "text": [ 86 | "Name: \n", 87 | "Type: Graph\n", 88 | "Number of nodes: 34\n", 89 | "Number of edges: 78\n", 90 | "Average degree: 4.5882\n" 91 | ] 92 | } 93 | ], 94 | "source": [ 95 | "print(nx.info(karate))" 96 | ] 97 | }, 98 | { 99 | "cell_type": "code", 100 | "execution_count": 5, 101 | "metadata": { 102 | "ExecuteTime": { 103 | "end_time": "2018-02-24T03:47:55.391813Z", 104 | "start_time": "2018-02-24T03:47:51.870206Z" 105 | } 106 | }, 107 | "outputs": [], 108 | "source": [ 109 | "comm_dict = partition(karate)" 110 | ] 111 | }, 112 | { 113 | "cell_type": "code", 114 | "execution_count": 6, 115 | "metadata": { 116 | "ExecuteTime": { 117 | "end_time": "2018-02-24T03:47:56.754258Z", 118 | "start_time": "2018-02-24T03:47:56.747997Z" 119 | } 120 | }, 121 | "outputs": [ 122 | { 123 | "name": "stdout", 124 | "output_type": "stream", 125 | "text": [ 126 | "Community 3\n", 127 | "24, 25, 26, 28, 29, 32\n", 128 | "Community 4\n", 129 | "9, 15, 16, 19, 21, 23, 27, 30, 31, 33, 34\n", 130 | "Community 5\n", 131 | "1, 2, 3, 4, 8, 10, 12, 13, 14, 18, 20, 22\n", 132 | "Community 6\n", 133 | "5, 6, 7, 11, 17\n" 134 | ] 135 | } 136 | ], 137 | "source": [ 138 | "for comm in set(comm_dict.values()):\n", 139 | " print(\"Community %d\"%comm)\n", 140 | " print(', '.join([node for node in comm_dict if comm_dict[node] == comm]))" 141 | ] 142 | }, 143 | { 144 | "cell_type": "code", 145 | "execution_count": 7, 146 | "metadata": { 147 | "ExecuteTime": { 148 | "end_time": "2018-02-24T03:47:58.890844Z", 149 | "start_time": "2018-02-24T03:47:58.860525Z" 150 | } 151 | }, 152 | "outputs": [ 153 | { 154 | "name": "stdout", 155 | "output_type": "stream", 156 | "text": [ 157 | "Calculating modularity for undirected graph\n", 158 | "Modularity of such partition for karate is 0.419\n" 159 | ] 160 | } 161 | ], 162 | "source": [ 163 | "print('Modularity of such partition for karate is %.3f' % get_modularity(karate, comm_dict))" 164 | ] 165 | }, 166 | { 167 | "cell_type": "markdown", 168 | "metadata": {}, 169 | "source": [ 170 | "#### Jazz Network" 171 | ] 172 | }, 173 | { 174 | "cell_type": "code", 175 | "execution_count": 8, 176 | "metadata": { 177 | "ExecuteTime": { 178 | "end_time": "2018-02-24T03:48:02.357114Z", 179 | "start_time": "2018-02-24T03:48:02.139954Z" 180 | } 181 | }, 182 | "outputs": [], 183 | "source": [ 184 | "jazz = nx.Graph(nx.read_pajek(\"data/jazz.net\"))" 185 | ] 186 | }, 187 | { 188 | "cell_type": "code", 189 | "execution_count": 9, 190 | "metadata": { 191 | "ExecuteTime": { 192 | "end_time": "2018-02-24T03:48:03.468349Z", 193 | "start_time": "2018-02-24T03:48:03.464376Z" 194 | } 195 | }, 196 | "outputs": [ 197 | { 198 | "name": "stdout", 199 | "output_type": "stream", 200 | "text": [ 201 | "Name: \n", 202 | "Type: Graph\n", 203 | "Number of nodes: 198\n", 204 | "Number of edges: 2742\n", 205 | "Average degree: 27.6970\n" 206 | ] 207 | } 208 | ], 209 | "source": [ 210 | "print(nx.info(jazz))" 211 | ] 212 | }, 213 | { 214 | "cell_type": "code", 215 | "execution_count": 10, 216 | "metadata": { 217 | "ExecuteTime": { 218 | "end_time": "2018-02-24T03:50:17.408934Z", 219 | "start_time": "2018-02-24T03:48:05.452336Z" 220 | } 221 | }, 222 | "outputs": [], 223 | "source": [ 224 | "comm_dict = partition(jazz)" 225 | ] 226 | }, 227 | { 228 | "cell_type": "code", 229 | "execution_count": 11, 230 | "metadata": { 231 | "ExecuteTime": { 232 | "end_time": "2018-02-24T03:50:20.113408Z", 233 | "start_time": "2018-02-24T03:50:20.107210Z" 234 | } 235 | }, 236 | "outputs": [ 237 | { 238 | "name": "stdout", 239 | "output_type": "stream", 240 | "text": [ 241 | "Community 3\n", 242 | "3, 4, 5, 6, 13, 18, 21, 25, 26, 27, 28, 29, 37, 39, 41, 45, 47, 51, 73, 75, 76, 77, 79, 85, 86, 88, 90, 92, 96, 97, 102, 115, 124, 126, 128, 133, 136, 138, 140, 144, 145, 147, 148, 149, 152, 153, 155, 156, 157, 160, 163, 167, 169, 172, 173, 176, 180, 181, 184, 189, 191, 198\n", 243 | "Community 4\n", 244 | "2, 7, 10, 11, 12, 14, 19, 30, 31, 34, 36, 49, 52, 53, 54, 55, 56, 57, 61, 67, 69, 70, 71, 72, 74, 83, 87, 89, 103, 112, 113, 114, 127, 129, 130, 141, 142, 150, 151, 158, 161, 164, 165, 174, 178, 185, 186, 192, 194, 195, 196, 197\n", 245 | "Community 5\n", 246 | "1, 8, 15, 16, 17, 20, 22, 23, 24, 32, 33, 35, 38, 40, 42, 43, 44, 46, 48, 50, 58, 60, 62, 63, 64, 65, 66, 68, 78, 80, 81, 91, 95, 98, 99, 100, 101, 104, 105, 106, 107, 108, 109, 110, 119, 120, 122, 123, 131, 132, 134, 135, 139, 154, 159, 162, 166, 168, 170, 171, 179, 182, 187, 188\n", 247 | "Community 6\n", 248 | "9, 59, 82, 84, 93, 94, 111, 116, 117, 118, 121, 125, 137, 143, 146, 175, 177, 183, 190, 193\n" 249 | ] 250 | } 251 | ], 252 | "source": [ 253 | "for comm in set(comm_dict.values()):\n", 254 | " print(\"Community %d\"%comm)\n", 255 | " print(', '.join([node for node in comm_dict if comm_dict[node] == comm]))" 256 | ] 257 | }, 258 | { 259 | "cell_type": "code", 260 | "execution_count": 12, 261 | "metadata": { 262 | "ExecuteTime": { 263 | "end_time": "2018-02-24T03:50:22.348238Z", 264 | "start_time": "2018-02-24T03:50:21.746470Z" 265 | } 266 | }, 267 | "outputs": [ 268 | { 269 | "name": "stdout", 270 | "output_type": "stream", 271 | "text": [ 272 | "Calculating modularity for undirected graph\n", 273 | "Modularity of such partition for jazz is 0.442\n" 274 | ] 275 | } 276 | ], 277 | "source": [ 278 | "print('Modularity of such partition for jazz is %.3f' % get_modularity(jazz, comm_dict))" 279 | ] 280 | }, 281 | { 282 | "cell_type": "markdown", 283 | "metadata": {}, 284 | "source": [ 285 | "#### Directed Network: Big 10 Football Season 2005" 286 | ] 287 | }, 288 | { 289 | "cell_type": "code", 290 | "execution_count": 13, 291 | "metadata": { 292 | "ExecuteTime": { 293 | "end_time": "2018-02-24T03:50:24.653189Z", 294 | "start_time": "2018-02-24T03:50:24.642059Z" 295 | } 296 | }, 297 | "outputs": [], 298 | "source": [ 299 | "big_10_football = nx.read_gml(\"data/big_10_football_directed.gml\")" 300 | ] 301 | }, 302 | { 303 | "cell_type": "code", 304 | "execution_count": 14, 305 | "metadata": { 306 | "ExecuteTime": { 307 | "end_time": "2018-02-24T03:50:25.235785Z", 308 | "start_time": "2018-02-24T03:50:25.232397Z" 309 | } 310 | }, 311 | "outputs": [ 312 | { 313 | "name": "stdout", 314 | "output_type": "stream", 315 | "text": [ 316 | "Name: \n", 317 | "Type: DiGraph\n", 318 | "Number of nodes: 11\n", 319 | "Number of edges: 44\n", 320 | "Average in degree: 4.0000\n", 321 | "Average out degree: 4.0000\n" 322 | ] 323 | } 324 | ], 325 | "source": [ 326 | "print(nx.info(big_10_football))" 327 | ] 328 | }, 329 | { 330 | "cell_type": "code", 331 | "execution_count": 15, 332 | "metadata": { 333 | "ExecuteTime": { 334 | "end_time": "2018-02-24T03:50:26.936823Z", 335 | "start_time": "2018-02-24T03:50:26.784698Z" 336 | } 337 | }, 338 | "outputs": [], 339 | "source": [ 340 | "comm_dict = partition(big_10_football)" 341 | ] 342 | }, 343 | { 344 | "cell_type": "code", 345 | "execution_count": 16, 346 | "metadata": { 347 | "ExecuteTime": { 348 | "end_time": "2018-02-24T03:50:27.764040Z", 349 | "start_time": "2018-02-24T03:50:27.758440Z" 350 | } 351 | }, 352 | "outputs": [ 353 | { 354 | "name": "stdout", 355 | "output_type": "stream", 356 | "text": [ 357 | "Community 1\n", 358 | "Purdue, Illinois, MichiganState, Indiana\n", 359 | "Community 2\n", 360 | "Northwestern, Wisconsin, Iowa, PennState, OhioState, Michigan, Minnesota\n" 361 | ] 362 | } 363 | ], 364 | "source": [ 365 | "for comm in set(comm_dict.values()):\n", 366 | " print(\"Community %d\"%comm)\n", 367 | " print(', '.join([node for node in comm_dict if comm_dict[node] == comm]))" 368 | ] 369 | }, 370 | { 371 | "cell_type": "code", 372 | "execution_count": 17, 373 | "metadata": { 374 | "ExecuteTime": { 375 | "end_time": "2018-02-24T03:50:30.539769Z", 376 | "start_time": "2018-02-24T03:50:30.526547Z" 377 | } 378 | }, 379 | "outputs": [ 380 | { 381 | "name": "stdout", 382 | "output_type": "stream", 383 | "text": [ 384 | "Calculating modularity for directed graph\n", 385 | "Modularity of such partition for karate is 0.112\n" 386 | ] 387 | } 388 | ], 389 | "source": [ 390 | "print('Modularity of such partition for karate is %.3f' %\\\n", 391 | " get_modularity(big_10_football, comm_dict))" 392 | ] 393 | } 394 | ], 395 | "metadata": { 396 | "kernelspec": { 397 | "display_name": "Python 3", 398 | "language": "python", 399 | "name": "python3" 400 | }, 401 | "language_info": { 402 | "codemirror_mode": { 403 | "name": "ipython", 404 | "version": 3 405 | }, 406 | "file_extension": ".py", 407 | "mimetype": "text/x-python", 408 | "name": "python", 409 | "nbconvert_exporter": "python", 410 | "pygments_lexer": "ipython3", 411 | "version": "3.6.4" 412 | }, 413 | "toc": { 414 | "nav_menu": {}, 415 | "number_sections": true, 416 | "sideBar": true, 417 | "skip_h1_title": false, 418 | "toc_cell": false, 419 | "toc_position": { 420 | "height": "836px", 421 | "left": "0px", 422 | "right": "1468px", 423 | "top": "113px", 424 | "width": "212px" 425 | }, 426 | "toc_section_display": "block", 427 | "toc_window_display": true 428 | } 429 | }, 430 | "nbformat": 4, 431 | "nbformat_minor": 2 432 | } 433 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | Python implementation of Newman's spectral methods to maximize modularity. 2 | ========================================================================== 3 | 4 | See: 5 | - Leicht, E. A., & Newman, M. E. J. (2008). Community Structure in Directed Networks. Physical Review Letters, 100(11), 118703. https://doi.org/10.1103/PhysRevLett.100.118703 6 | 7 | - Newman, M. E. J. (2006). Modularity and community structure in networks. Proceedings of the National Academy of Sciences of the United States of America, 103(23), 8577–82. https://doi.org/10.1073/pnas.0601602103 8 | 9 | A quick start: https://zhiyzuo.github.io/python-modularity-maximization/ 10 | 11 | All the datasets in ``./data`` comes from http://www-personal.umich.edu/~mejn/netdata/ 12 | 13 | Specifically, ``big_10_football_directed.gml`` is compiled by myself to test community detection for directed network. I combined data from http://www.sports-reference.com/cfb/conferences/big-ten/2005-schedule.html and the original ``football.gml`` to define the edge directions. 14 | 15 | Change log: 16 | 17 | - 02-23-2018 18 | Test on Python 3 19 | 20 | - 10-20-2017 21 | Updated python codes to use NetworkX 2 APIs. See https://networkx.github.io/documentation/stable/release/release_2.0.html. 22 | Later in the day, I added a wrapper function to retrieve the largest eigenvalue and vector for 2x2 matrices since scipy.sparse.linalg.eigs do not work in that case. 23 | -------------------------------------------------------------------------------- /data/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhiyzuo/python-modularity-maximization/488c02631a261dc366e385412084457534d7d8e0/data/.DS_Store -------------------------------------------------------------------------------- /data/.Rhistory: -------------------------------------------------------------------------------- 1 | installed.packages() 2 | update.packages() 3 | devtools::install_github('IRkernel/IRkernel') 4 | IRkernel::installspec() 5 | cat 6 | iconv 7 | setwd("~/Documents/OneDrive - University of Iowa/2017spring/MSCI3250/data") 8 | df = read.table("./alcoholarm.txt") 9 | df = read.table("./alcoholarm.txt", header = T) 10 | View(df) 11 | df = read.csv("alcoholarm.txt") 12 | df = read.csv("alcoholarm.txt", sep = " ") 13 | View(Df) 14 | View(df) 15 | df = read.table("./alcoholarm.txt", header = T) 16 | View(df) 17 | cor(df$alcohol, df$strength) 18 | cor.test(df$alcohol, df$strength) 19 | reg = lm(strength ~ alcohol, data = df) 20 | summary(reg) 21 | plot(reg) 22 | library(ggplot2) 23 | qplot(alcohol, strength, data = df, geom="point") 24 | summary(reg) 25 | qplot(alcohol, strength, data = df, geom="point") + geom_abline() 26 | qplot(alcohol, strength, data = df, geom="point") + geom_abline(slope=reg$coefficients[1], intercept = reg$coefficients[2]) 27 | ggplot(data = df, mapping = aes(y=strength, x=alcohol)) + geom_point() + geom_smooth(method = "lm") 28 | p = ggplot(data = df, 29 | mapping = aes(y=strength, x=alcohol)) + 30 | geom_point() 31 | p 32 | p + geom_smooth(method="lm") 33 | setwd("~/Documents/OneDrive - University of Iowa/2017spring/MSCI3250/homework/twitter_check") 34 | apiKey = "mQqEkrb8NiL3Z09vnkPCmFTmW" 35 | apiSecret = "kgrwYe4rM1Gg4tgxaAseHkrXU75ox9HHoUhd2UDSSaDOaodksf" 36 | accessToken = "181775227-wDaX2b40xsQ8By1rDrP2ZEv4xYDPeFU78OwdNmce" 37 | tokenSecret = "vjHCedT2lsmpUKF4cGhu6iYmbknnJxmcmQof04lAVRtCX" 38 | library(twitteR) 39 | options(httr_oauth_cache=T) # Use direct authentication 40 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 41 | april = searchTwitter("April", n = 10) 42 | april #to view the tweets 43 | apiKey = "XhxIT07hmFHeIA4sybp0oIMYF" 44 | apiSecret = "itnhVHyQNbgQPdNh8Ain0V3d4N1oQTMjezAQup8sCBTt2Kg0i7" 45 | accessToken = "1228954634-ckpL7DZWv4nBIAGLyybzb3SMe9wRK67B3VwFaIZ" 46 | tokenSecret = "qK4p7XZkLqiCUczfSevPJtw0nQlJm9i3rmwAaZqFmGVFp" 47 | library(twitteR) 48 | options(httr_oauth_cache=T) # Use direct authentication 49 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 50 | april = searchTwitter("April", n = 10) 51 | april 52 | apiKey<-"c6CzEhD3ZD4u4SoyckyzUlFgf" 53 | apiSecret<-"0v2ZcNA4m7J41mdLf3qzsZ50nbfZmzvtyVIqiQJrjI3w3UEep4" 54 | accessToken<-"380596541-wPwVpb00469zj8CfF6N7gkXf19FC3m9NSlfBL8zb" 55 | tokenSecret<- "bWyzE9aJcXw6J2w1MSqVJrRU0kIQjoCAfN1eSSbOyhZDk" 56 | library(twitteR) 57 | options(httr_oauth_cache=T) # Use direct authentication 58 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 59 | april = searchTwitter("April", n = 10) 60 | april 61 | apiKey = "IyAA5X5LRiVTMRRjGINcXgP5y" 62 | apiSecret = "D9XMD57vankkHcQnS5OlDNfIS8X70DjaIPwv1h1YyKP7jAHViP" 63 | accessToken = "845284982008561665-TZl8L02QKUiAnhvtxX7gU2yBEJkIdDh" 64 | tokenSecret = "7DFK4MDNp9Od1115M6v6qpHCqzsMn9oEc3Nw6w8dx5b60" 65 | library(twitteR) 66 | options(httr_oauth_cache=T) 67 | setup_twitter_oauth(apiKey,apiSecret,accessToken,tokenSecret) 68 | april = searchTwitter("April", n = 10) 69 | april 70 | apikey<-"UoQM4IJkvMWGEb5EJNs8jb3KY" 71 | apisec<-"dqs4yUG1llMRUUXZpSvF4X5aOsXUWLpsLElsMpVcBE1v2ASwom" 72 | acctok<-"845015151375986693-yOXRaAD5BePI3yaORqrymp1bR5tBMVq" 73 | accsec<-"SFR8UOQJjSfaoHsoWpxLSdIp7ewDnTRbQ0tnKKNoxwr2Y" 74 | library(twitteR) 75 | library(httr) 76 | options(httr_oauth_cache=T) 77 | setup_twitter_oauth(apikey, apisec, acctok, accsec) 78 | april = searchTwitter("April", n = 10) 79 | april 80 | apikey ="n42YUPwSTCGfAynKyk8VB6nwb" 81 | apisec= "eZCusEgbeC2H149KcrhIVafMMHkYKEuurRjeSeO2gsw7K1G8DR" 82 | acctok= "1257096840-BjKtgc6a45YjzNMhBjs4FZ8Mc4x4taLjM2RPWyc" 83 | accsec= "CJQCz2lSXKGJpToRUMydZoCBGqHsxMnvIVYB1n9AA2oI3" 84 | library(twitteR) 85 | options(httr_oauth_cache=T) 86 | setup_twitter_oauth(apikey,apisec,acctok,accsec) 87 | april=searchTwitter("April",n=10) 88 | april 89 | apiKey = "hObYCNtorNIYbvdnW9qJBwWcl" 90 | apiSecret = "tY8Hgmv2JUHaR9qwqVodmSJ4UV6XHEVB7XbaTuU6wYNODpkscG" 91 | accessToken = "AR1G0LD" 92 | tokenSecret = "359579069" 93 | library(twitteR) 94 | options(httr_oauth_cache=T) # Use direct authentication 95 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 96 | april = searchTwitter("April", n = 10) 97 | apikey = "gCxqH2gMddSF1RFiYlNzdhD0Z" 98 | apisec = "1bcpXzqTJqTQBYcCIlWkwJTnIvJpssm2zxBUkS3ZaGCgV1DZmO" 99 | acctok = "293665582-V1Pynxt2rnq4PxgiVbFq4IG7WZKnNXT26kNf4FrO" 100 | accsec = "cVEHe99LMfIcoSJaPhMeqYv33aQDHkd3TpV5lFfXdmxhN" 101 | library(twitteR) 102 | options(httr_oauth_cache=T) # Use direct authentication 103 | setup_twitter_oauth(apikey, apisec, acctok, accsec) 104 | apiKey = "TbYje1Bkyj1RUmyqQVl0LRvb4" 105 | apiSecret = "iVO3NRAsMPA9fByZr9wDkzVNnABDjHEQu7qzDZsNrl3gnP2DYx" 106 | accessToken = "509563108-cJGPp63OBKOSm51QoYNd6r2sjBWzfu88RDuKe6Hs" 107 | tokenSecret = "333WUmCmnDyaNP9LdFwj4XTehr0DMOmokd37Jst1vOEA1" 108 | library(twitteR) 109 | options(httr_oauth_cache=T) #use direct authentication 110 | setup_twitter_oauth(apiKey,apiSecret, accessToken, tokenSecret) 111 | april=searchTwitter("April", n=10) 112 | april 113 | apiKey = "9qmc8Y2PjPi9foFr2UVwhD2of" 114 | apiSecret = "hyb0sz5P70fbjTNJ2CaK23F6TWNlo6UXYimZsOfcCORAUtV3dq" 115 | accessToken = "2239835372-noEa9CNvvl9jy8MohOjJud3SRbFdiA5JbtSYC3h" 116 | tokenSecret = "MJH6uRoQUz5gsG2BLRCGC5olFlU9UNbSn2op1PJ9KQmd0" 117 | library(twitteR) 118 | options(httr_oauth_cache=T) # Use direct authentication 119 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 120 | apikey <- "RwjehvRsvPscmyJ7uFWvRqmvg" 121 | apiSecret <- "kZM4Nx7sbFY2tQGimEVQfV36K9fk1qVNR46nw0HXmVgp05a5hQ" 122 | acctok <- "56122401-Qy5O6YIKsj8p01Dlv9NzWW20CqQ4s1VzJmvD58bzg" 123 | accsec <- "qSUc6UCutmXvAFFKwyjAgLyTgnc5XbRDBJQ4fLwXL3ICr" 124 | library(twitteR) 125 | options(httr_oauth_cache=T) 126 | setup_twitter_oauth(apikey, apiSecret, acctok, accsec) 127 | april = searchTwitter("April", n = 10) 128 | april 129 | apiKey = "nwd4i75NJPDUlRaBEVcgQX5gX" 130 | apiSecret = "twm2IzKCCWVO4if7xG5x7a7dY9B1rIwcJ7NW3vtdACRfqqQd93" 131 | accessToken = "795124735-tUm068AALohasnA6hPV3qKZTx4xK4RdBxdxAVwSU" 132 | tokenSecret = "D0ru8sDlrvuYLqElM6ZD2GU4pYTvZT1jfDYF7aFJD0pZB" 133 | library(twitteR) 134 | options(httr_oauth_cache=T) # Use direct authentication 135 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 136 | april = searchTwitter("April", n = 10) 137 | apiKey = "TprUJKZN5zO2B5fk8M0i7yCdh" 138 | apiSecret = "kNEfkl2fT7RipO22IYEsueY3v0AqvmGwhJjLIOR1GQYh37J24N" 139 | accessToken = "849689974530297856-HiP6wwzum4UPp3rLsStzhUk6HalYWjY" 140 | tokenSecret = "PvUBifg6Th67rOoU140ulgADZaB4mxyaMItAXBRdyZ27g" 141 | library(twitteR) 142 | options(httr_oauth_cache=T) # Use direct authentication 143 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 144 | april = searchTwitter("April", n = 10) 145 | apiKey = "VDPsXl0aQitI5C5JaeucgXXfJ" 146 | apiSecret = "pWZjGiVnhjqzxQSiWGbLiUQdOKYtsr205oDb4Rjac8iFAXnK4E" 147 | accessToken = "839721192-puK8TwLvdfml9qrrLd4yzanMx8e6M88HZmI9kVVx" 148 | tokenSecret = "nIBQn2Y20PEPwzbeabeHO2NYgnXVLbwuPA1gT55RaCvt4" 149 | library(twitteR) 150 | options(httr_oauth_cache=T) # Use direct authentication 151 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 152 | april = searchTwitter("April", n = 10) 153 | apiKey = "VsanIG75M4Gs6FqLskEUrUVVJ" 154 | apiSecret = "vpxNfu5A2mRUa8M7k45RrbXny5038gMdbVbeWI7j2Vj5bRn23R" 155 | accessToken = "845014410972352513-wInew1zHFwSbCx4BCPZxAwG2yp2F7JF" 156 | tokenSecret = "SknZMMxYT8kM7A7gxG73X0My3tDjf7yhrNLdUrRUbfqRB" 157 | library(twitteR) 158 | options(httr_oauth_cache=T) # Use direct authentication 159 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 160 | april = searchTwitter("April", n = 10) 161 | apiKey = "rPC5CGgsOcJs5sDXQaAGVvtKY" 162 | apiSecret = "5Admoi3aRpNrsnP2wTVKuUAtCDlNoueJs6rpF83TcBEISTPo5t" 163 | accessToken = "35209286-APLp2jav0Qf2lhuvl9zDcxeOzDP2yLbeQv3uixgbF" 164 | tokenSecret = "aZtR9A1cSsGNulkTTNuYUFAtn5pnmuuaJg4zNRtAzUF7E" 165 | library(twitteR) 166 | options(httr_oauth_cache=T) # Use direct authentication 167 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 168 | april = searchTwitter("April", n = 10) 169 | apiKey <- "jsQZVrQ7uAWwG15fr4PGJeo2H" 170 | apiSecret <- "gVXuvhpjk0HnUl5Fko9z0ltQyQA9tp0FK4GritnDbJaLv5rdbi" 171 | accessToken <- "2753008655-GnAOd5HMAAw230td5mEdyGavKN5fv5SCovxC6PV" 172 | tokenSecret <- "tEAn1Gi0UBduDJi065rGCcXzuKLJvQlhKvnCCm5jiikfd" 173 | library(twitteR) 174 | options(httr_oauth_cache = T) # Use direct authentication 175 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 176 | april = searchTwitter("April", n = 10) 177 | apiKey = "p0PFfno9nFSYEbnFYwQuUp8HJ" 178 | apiSecret = "OpjSKbQSc1nSC13RVEUcc9bBLVP4kofASZXlIeNO8I9n6p8vfe" 179 | accessToken = "3330611174-c0B2BNOiEmIAqBaXxIG8DX55hHrgUTsbbhXmPrW" 180 | tokenSecret = "EnSEaDdja6lctcONOu5WdeQscn2Mj7ELLpiJTfw19QzET" 181 | library(twitteR) 182 | options(httr_oauth_cache=T) # Use direct authentication 183 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 184 | april = searchTwitter("April", n = 10) 185 | apiKey ="Mwrofqc5eVhanVd78mtznKbvK" 186 | apiSecret ="VxdyGTRdvKyI8rqipa3eSzkEUbk6LKCNKi6uhPdQYqYoXcAFSz" 187 | accessToken ="415929583-f65h88QNaRZg4e0qylEMHzCInSPbXRbnET9GvPaH" 188 | tokenSecret ="0pmMILEb5AD58FVYFvNfTUZ5s37D2QTpUKyKzfz2F7EwB" 189 | library(twitteR) 190 | options(httr_oauth_cache=T) # Use direct authentication 191 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 192 | april = searchTwitter("April", n = 10) 193 | apiKey ="Mwrofqc5eVhanVd78mtznKbvK" 194 | apiSecret ="VxdyGTRdvKyI8rqipa3eSzkEUbk6LKCNKi6uhPdQYqYoXcAFSz" 195 | accessToken ="415929583-f65h88QNaRZg4e0qylEMHzCInSPbXRbnET9GvPaH" 196 | tokenSecret ="0pmMILEb5AD58FVYFvNfTUZ5s37D2QTpUKyKzfz2F7EwB" 197 | library(twitteR) 198 | options(httr_oauth_cache=T) # Use direct authentication 199 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 200 | april = searchTwitter("April", n = 10) 201 | apiKey = "AEc7TZeGdyrklpnFKDZtbuAdZ" 202 | apiSecret = "G5ayYj3CsAiKegVrE84PSdeOpuGoQ8gAnO3mBbaIztWlyYjSAS" 203 | accessToken = "833360383675072512-owtS6mffoZBPlLblVh0IUX51IdEVMOq" 204 | tokenSecret = "Ay1m0yB5XTVJatR6qww6OwBFiM9r0hbPamrHwhWfZgaJp" 205 | library(twitteR) 206 | options(httr_oauth_cache=T) # Use direct authentication 207 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 208 | april = searchTwitter("April", n = 10) 209 | apiKey = "AEc7TZeGdyrklpnFKDZtbuAdZ" 210 | apiSecret = "G5ayYj3CsAiKegVrE84PSdeOpuGoQ8gAnO3mBbaIztWlyYjSAS" 211 | accessToken = "833360383675072512-owtS6mffoZBPlLblVh0IUX51IdEVMOq" 212 | tokenSecret = "Ay1m0yB5XTVJatR6qww6OwBFiM9r0hbPamrHwhWfZgaJp" 213 | library(twitteR) 214 | options(httr_oauth_cache=T) # Use direct authentication 215 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 216 | april = searchTwitter("April", n = 10) 217 | apiKey = "Wi5yDU8114oHxYfi4eyFZaKAh" 218 | apiSecret = "uwgFPwUnly49S42XqeHd5biqmAZ02UQFGIXM0PudQzuV1vEWuG" 219 | accessToken = "849742355833999361-dEoHhqn2cqIAQM0sfdd2pof35YGUa9y" 220 | tokenSecret = "Tk0OULH5oNRmnwhEMb4Kpu7sIgf3fCoDFlr5SIROfYTR3" 221 | library(twitteR) 222 | options(httr_oauth_cache=T) # Use direct authentication 223 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 224 | april = searchTwitter("April", n = 10) 225 | apiKey = "EnzXLlpdpBGwBczzZOF1qDII8" 226 | apiSecret = "VUvRXoRDjlWo00qNI1kQOKUYjEIw1WCAuRb0eVLu5uzOyXvIZK" 227 | accessToken = "720438376961167360-6IgaWV2vXqgh7AbCCoECZzTWHIApGIN" 228 | tokenSecret = "SQHBvyi7zvn2VlJp6Rv3aNf5WRf7DSsEcySrsnRiE0DIr" 229 | library(twitteR) 230 | options(httr_oauth_cache=T) # Use direct authentication 231 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 232 | april = searchTwitter("April", n = 10) 233 | apikey = "wBotLUrNGxorXCrKVnJQnTKXx" 234 | apisec = "TEA5crvF7Mv2Kuy1sqlCGBsJwDsNTzbJxB7iKxw7gZhionYJ9O" 235 | acctok = "845284983413657600-CoMllxVeOpJNLhqVP4wuKoXlz1ky4Du" 236 | accsec = "c78QEXLxpuFRxYn7tQ3QjpdSlkyhi7FT3VBBoqjY3iDvw" 237 | library(twitteR) 238 | options(httr_oauth_cache = T) 239 | setup_twitter_oauth(apikey,apisec,acctok,accsec) 240 | april = searchTwitter("April", n = 10) 241 | apiKey = "lineLPgwQmHKTmhWirjtetbAB" 242 | apiSecret = "Cse06Kvm755l0uCB5ujjWuAdKKf7Zpzi4OARsa40VHnsf5eiEr" 243 | accessToken = "2815731852-UmA0BVsKJ2p40lJGTKjCYRq8wS6WPEza6sVv4Pg" 244 | tokenSecret = "rust3taHRbmKtaRInhPCMHjnW8ttPfmBU9FsvBM0EJpoP" 245 | library(twitteR) 246 | options(httr_oauth_cache=T) # Use direct authentication 247 | setup_twitter_oauth(apiKey, apiSecret, accessToken, tokenSecret) 248 | april = searchTwitter("April", n = 10) 249 | setwd("~/Documents/OneDrive - University of Iowa/2017spring/MSCI3250/data") 250 | df = read.csv("alcoholarm.txt") 251 | View(df) 252 | df = read.csv("alcoholarm.txt", sep = "\t") 253 | df = read.table("alcoholarm.txt") 254 | df = read.table("alcoholarm.txt", header = T) 255 | cor(df$alcohol, df$strength) 256 | cor.test(df$alcohol, df$strength) 257 | reg = lm(strength ~ alcohol, data = df) 258 | summary(reg) 259 | p = ggplot(data = df, 260 | mapping = aes(y=strength, 261 | x=alcohol)) 262 | + geom_point() 263 | library(ggplto2) 264 | library(ggplot2) 265 | p = ggplot(data = df, 266 | mapping = aes(y=strength, 267 | x=alcohol)) 268 | + geom_point() 269 | p = ggplot(data = df, 270 | mapping = aes(y=strength, 271 | x=alcohol)) + 272 | geom_point() 273 | p 274 | p + geom_smooth() 275 | p + geom_smooth(method="lm") 276 | install.packages("modMax") 277 | setwd("~/Documents/python-modularity-maximization/data") 278 | library(modMax) 279 | g = read.graph("karate.gml",format="gml") 280 | A = adjacent_vertices(g) 281 | g 282 | A = get.adjacency(g) 283 | A 284 | comm = spectralOptimization(A) 285 | comm 286 | comm = spectralOptimization(A, refine = T) 287 | comm 288 | multiWay(A) 289 | A 290 | spectral1(A) 291 | spectral2(A) 292 | A 293 | g 294 | eb <- cluster_edge_betweenness(g) 295 | eb 296 | eb$membership 297 | eb 298 | eb <- cluster_edge_betweenness(g) 299 | eb 300 | remove.packages("modMax") 301 | spectrum 302 | comm = spectrum(g) 303 | com 304 | comm 305 | comm=leading.eigenvector.community(g) 306 | comm 307 | comm=leading.eigenvector.community(g) 308 | comm 309 | comm=leading.eigenvector.community(g) 310 | comm 311 | cluster_leading_eigen() 312 | cluster_leading_eigen(g) 313 | cluster_leading_eigen(g) 314 | cluster_edge_betweenness(g) 315 | cluster_edge_betweenness(g) 316 | cluster_fast_greedy(g) 317 | cluster_fast_greedy(g) 318 | cluster_fast_greedy(g) 319 | -------------------------------------------------------------------------------- /data/big_10_football_directed.gml: -------------------------------------------------------------------------------- 1 | graph [ 2 | directed 1 3 | node [ 4 | id 0 5 | label "Northwestern" 6 | win 1 7 | ] 8 | node [ 9 | id 1 10 | label "Wisconsin" 11 | win 1 12 | ] 13 | node [ 14 | id 2 15 | label "Iowa" 16 | win 1 17 | ] 18 | node [ 19 | id 3 20 | label "PennState" 21 | win 1 22 | ] 23 | node [ 24 | id 4 25 | label "OhioState" 26 | win 1 27 | ] 28 | node [ 29 | id 5 30 | label "Michigan" 31 | win 1 32 | ] 33 | node [ 34 | id 6 35 | label "Purdue" 36 | win 0 37 | ] 38 | node [ 39 | id 7 40 | label "Minnesota" 41 | win 1 42 | ] 43 | node [ 44 | id 8 45 | label "Illinois" 46 | win 0 47 | ] 48 | node [ 49 | id 9 50 | label "MichiganState" 51 | win 0 52 | ] 53 | node [ 54 | id 10 55 | label "Indiana" 56 | win 0 57 | ] 58 | edge [ 59 | source 0 60 | target 8 61 | ] 62 | edge [ 63 | source 0 64 | target 9 65 | ] 66 | edge [ 67 | source 0 68 | target 2 69 | ] 70 | edge [ 71 | source 0 72 | target 1 73 | ] 74 | edge [ 75 | source 0 76 | target 6 77 | ] 78 | edge [ 79 | source 1 80 | target 10 81 | ] 82 | edge [ 83 | source 1 84 | target 5 85 | ] 86 | edge [ 87 | source 1 88 | target 8 89 | ] 90 | edge [ 91 | source 1 92 | target 7 93 | ] 94 | edge [ 95 | source 1 96 | target 6 97 | ] 98 | edge [ 99 | source 2 100 | target 10 101 | ] 102 | edge [ 103 | source 2 104 | target 6 105 | ] 106 | edge [ 107 | source 2 108 | target 1 109 | ] 110 | edge [ 111 | source 2 112 | target 7 113 | ] 114 | edge [ 115 | source 2 116 | target 8 117 | ] 118 | edge [ 119 | source 3 120 | target 4 121 | ] 122 | edge [ 123 | source 3 124 | target 0 125 | ] 126 | edge [ 127 | source 3 128 | target 1 129 | ] 130 | edge [ 131 | source 3 132 | target 6 133 | ] 134 | edge [ 135 | source 3 136 | target 7 137 | ] 138 | edge [ 139 | source 3 140 | target 8 141 | ] 142 | edge [ 143 | source 3 144 | target 9 145 | ] 146 | edge [ 147 | source 4 148 | target 0 149 | ] 150 | edge [ 151 | source 4 152 | target 2 153 | ] 154 | edge [ 155 | source 4 156 | target 5 157 | ] 158 | edge [ 159 | source 4 160 | target 7 161 | ] 162 | edge [ 163 | source 4 164 | target 8 165 | ] 166 | edge [ 167 | source 4 168 | target 9 169 | ] 170 | edge [ 171 | source 4 172 | target 10 173 | ] 174 | edge [ 175 | source 5 176 | target 3 177 | ] 178 | edge [ 179 | source 5 180 | target 2 181 | ] 182 | edge [ 183 | source 5 184 | target 9 185 | ] 186 | edge [ 187 | source 5 188 | target 10 189 | ] 190 | edge [ 191 | source 5 192 | target 0 193 | ] 194 | edge [ 195 | source 6 196 | target 10 197 | ] 198 | edge [ 199 | source 6 200 | target 9 201 | ] 202 | edge [ 203 | source 6 204 | target 8 205 | ] 206 | edge [ 207 | source 7 208 | target 10 209 | ] 210 | edge [ 211 | source 7 212 | target 5 213 | ] 214 | edge [ 215 | source 7 216 | target 9 217 | ] 218 | edge [ 219 | source 7 220 | target 6 221 | ] 222 | edge [ 223 | source 9 224 | target 10 225 | ] 226 | edge [ 227 | source 9 228 | target 8 229 | ] 230 | edge [ 231 | source 10 232 | target 8 233 | ] 234 | ] 235 | -------------------------------------------------------------------------------- /data/example.gml: -------------------------------------------------------------------------------- 1 | graph [ 2 | node [ 3 | id 0 4 | label 1 5 | ] 6 | node [ 7 | id 1 8 | label 2 9 | ] 10 | node [ 11 | id 2 12 | label 3 13 | ] 14 | node [ 15 | id 3 16 | label 4 17 | ] 18 | node [ 19 | id 4 20 | label 5 21 | ] 22 | edge [ 23 | source 0 24 | target 1 25 | ] 26 | edge [ 27 | source 2 28 | target 3 29 | ] 30 | edge [ 31 | source 2 32 | target 4 33 | ] 34 | edge [ 35 | source 3 36 | target 4 37 | ] 38 | ] 39 | -------------------------------------------------------------------------------- /data/example2.net: -------------------------------------------------------------------------------- 1 | *Vertices 9 2 | 1 "1" -449.1672 497.33185 0.0 3 | 2 "2" -399.04553 441.4302 0.0 4 | 3 "3" -510.8554 429.86435 0.0 5 | 4 "4" -71.32698 489.62128 0.0 6 | 5 "5" -125.30415 439.50256 0.0 7 | 6 "6" -17.349806 427.9367 0.0 8 | 7 "7" -318.07977 262.15942 0.0 9 | 8 "8" -381.69574 200.47485 0.0 10 | 9 "9" -256.39157 200.47485 0.0 11 | *Edges 12 | 1 2 1.0 13 | 1 3 1.0 14 | 3 2 1.0 15 | 4 5 1.0 16 | 5 6 1.0 17 | 6 4 1.0 18 | 7 8 1.0 19 | 8 9 1.0 20 | 9 7 1.0 21 | 7 2 1.0 22 | -------------------------------------------------------------------------------- /data/football.gml: -------------------------------------------------------------------------------- 1 | Creator "Mark Newman on Sat Jul 22 05:32:16 2006" 2 | graph 3 | [ 4 | directed 0 5 | node 6 | [ 7 | id 0 8 | label "BrighamYoung" 9 | value 7 10 | ] 11 | node 12 | [ 13 | id 1 14 | label "FloridaState" 15 | value 0 16 | ] 17 | node 18 | [ 19 | id 2 20 | label "Iowa" 21 | value 2 22 | ] 23 | node 24 | [ 25 | id 3 26 | label "KansasState" 27 | value 3 28 | ] 29 | node 30 | [ 31 | id 4 32 | label "NewMexico" 33 | value 7 34 | ] 35 | node 36 | [ 37 | id 5 38 | label "TexasTech" 39 | value 3 40 | ] 41 | node 42 | [ 43 | id 6 44 | label "PennState" 45 | value 2 46 | ] 47 | node 48 | [ 49 | id 7 50 | label "SouthernCalifornia" 51 | value 8 52 | ] 53 | node 54 | [ 55 | id 8 56 | label "ArizonaState" 57 | value 8 58 | ] 59 | node 60 | [ 61 | id 9 62 | label "SanDiegoState" 63 | value 7 64 | ] 65 | node 66 | [ 67 | id 10 68 | label "Baylor" 69 | value 3 70 | ] 71 | node 72 | [ 73 | id 11 74 | label "NorthTexas" 75 | value 10 76 | ] 77 | node 78 | [ 79 | id 12 80 | label "NorthernIllinois" 81 | value 6 82 | ] 83 | node 84 | [ 85 | id 13 86 | label "Northwestern" 87 | value 2 88 | ] 89 | node 90 | [ 91 | id 14 92 | label "WesternMichigan" 93 | value 6 94 | ] 95 | node 96 | [ 97 | id 15 98 | label "Wisconsin" 99 | value 2 100 | ] 101 | node 102 | [ 103 | id 16 104 | label "Wyoming" 105 | value 7 106 | ] 107 | node 108 | [ 109 | id 17 110 | label "Auburn" 111 | value 9 112 | ] 113 | node 114 | [ 115 | id 18 116 | label "Akron" 117 | value 6 118 | ] 119 | node 120 | [ 121 | id 19 122 | label "VirginiaTech" 123 | value 1 124 | ] 125 | node 126 | [ 127 | id 20 128 | label "Alabama" 129 | value 9 130 | ] 131 | node 132 | [ 133 | id 21 134 | label "UCLA" 135 | value 8 136 | ] 137 | node 138 | [ 139 | id 22 140 | label "Arizona" 141 | value 8 142 | ] 143 | node 144 | [ 145 | id 23 146 | label "Utah" 147 | value 7 148 | ] 149 | node 150 | [ 151 | id 24 152 | label "ArkansasState" 153 | value 10 154 | ] 155 | node 156 | [ 157 | id 25 158 | label "NorthCarolinaState" 159 | value 0 160 | ] 161 | node 162 | [ 163 | id 26 164 | label "BallState" 165 | value 6 166 | ] 167 | node 168 | [ 169 | id 27 170 | label "Florida" 171 | value 9 172 | ] 173 | node 174 | [ 175 | id 28 176 | label "BoiseState" 177 | value 11 178 | ] 179 | node 180 | [ 181 | id 29 182 | label "BostonCollege" 183 | value 1 184 | ] 185 | node 186 | [ 187 | id 30 188 | label "WestVirginia" 189 | value 1 190 | ] 191 | node 192 | [ 193 | id 31 194 | label "BowlingGreenState" 195 | value 6 196 | ] 197 | node 198 | [ 199 | id 32 200 | label "Michigan" 201 | value 2 202 | ] 203 | node 204 | [ 205 | id 33 206 | label "Virginia" 207 | value 0 208 | ] 209 | node 210 | [ 211 | id 34 212 | label "Buffalo" 213 | value 6 214 | ] 215 | node 216 | [ 217 | id 35 218 | label "Syracuse" 219 | value 1 220 | ] 221 | node 222 | [ 223 | id 36 224 | label "CentralFlorida" 225 | value 5 226 | ] 227 | node 228 | [ 229 | id 37 230 | label "GeorgiaTech" 231 | value 0 232 | ] 233 | node 234 | [ 235 | id 38 236 | label "CentralMichigan" 237 | value 6 238 | ] 239 | node 240 | [ 241 | id 39 242 | label "Purdue" 243 | value 2 244 | ] 245 | node 246 | [ 247 | id 40 248 | label "Colorado" 249 | value 3 250 | ] 251 | node 252 | [ 253 | id 41 254 | label "ColoradoState" 255 | value 7 256 | ] 257 | node 258 | [ 259 | id 42 260 | label "Connecticut" 261 | value 5 262 | ] 263 | node 264 | [ 265 | id 43 266 | label "EasternMichigan" 267 | value 6 268 | ] 269 | node 270 | [ 271 | id 44 272 | label "EastCarolina" 273 | value 4 274 | ] 275 | node 276 | [ 277 | id 45 278 | label "Duke" 279 | value 0 280 | ] 281 | node 282 | [ 283 | id 46 284 | label "FresnoState" 285 | value 11 286 | ] 287 | node 288 | [ 289 | id 47 290 | label "OhioState" 291 | value 2 292 | ] 293 | node 294 | [ 295 | id 48 296 | label "Houston" 297 | value 4 298 | ] 299 | node 300 | [ 301 | id 49 302 | label "Rice" 303 | value 11 304 | ] 305 | node 306 | [ 307 | id 50 308 | label "Idaho" 309 | value 10 310 | ] 311 | node 312 | [ 313 | id 51 314 | label "Washington" 315 | value 8 316 | ] 317 | node 318 | [ 319 | id 52 320 | label "Kansas" 321 | value 3 322 | ] 323 | node 324 | [ 325 | id 53 326 | label "SouthernMethodist" 327 | value 11 328 | ] 329 | node 330 | [ 331 | id 54 332 | label "Kent" 333 | value 6 334 | ] 335 | node 336 | [ 337 | id 55 338 | label "Pittsburgh" 339 | value 1 340 | ] 341 | node 342 | [ 343 | id 56 344 | label "Kentucky" 345 | value 9 346 | ] 347 | node 348 | [ 349 | id 57 350 | label "Louisville" 351 | value 4 352 | ] 353 | node 354 | [ 355 | id 58 356 | label "LouisianaTech" 357 | value 11 358 | ] 359 | node 360 | [ 361 | id 59 362 | label "LouisianaMonroe" 363 | value 10 364 | ] 365 | node 366 | [ 367 | id 60 368 | label "Minnesota" 369 | value 2 370 | ] 371 | node 372 | [ 373 | id 61 374 | label "MiamiOhio" 375 | value 6 376 | ] 377 | node 378 | [ 379 | id 62 380 | label "Vanderbilt" 381 | value 9 382 | ] 383 | node 384 | [ 385 | id 63 386 | label "MiddleTennesseeState" 387 | value 10 388 | ] 389 | node 390 | [ 391 | id 64 392 | label "Illinois" 393 | value 2 394 | ] 395 | node 396 | [ 397 | id 65 398 | label "MississippiState" 399 | value 9 400 | ] 401 | node 402 | [ 403 | id 66 404 | label "Memphis" 405 | value 4 406 | ] 407 | node 408 | [ 409 | id 67 410 | label "Nevada" 411 | value 11 412 | ] 413 | node 414 | [ 415 | id 68 416 | label "Oregon" 417 | value 8 418 | ] 419 | node 420 | [ 421 | id 69 422 | label "NewMexicoState" 423 | value 10 424 | ] 425 | node 426 | [ 427 | id 70 428 | label "SouthCarolina" 429 | value 9 430 | ] 431 | node 432 | [ 433 | id 71 434 | label "Ohio" 435 | value 6 436 | ] 437 | node 438 | [ 439 | id 72 440 | label "IowaState" 441 | value 3 442 | ] 443 | node 444 | [ 445 | id 73 446 | label "SanJoseState" 447 | value 11 448 | ] 449 | node 450 | [ 451 | id 74 452 | label "Nebraska" 453 | value 3 454 | ] 455 | node 456 | [ 457 | id 75 458 | label "SouthernMississippi" 459 | value 4 460 | ] 461 | node 462 | [ 463 | id 76 464 | label "Tennessee" 465 | value 9 466 | ] 467 | node 468 | [ 469 | id 77 470 | label "Stanford" 471 | value 8 472 | ] 473 | node 474 | [ 475 | id 78 476 | label "WashingtonState" 477 | value 8 478 | ] 479 | node 480 | [ 481 | id 79 482 | label "Temple" 483 | value 1 484 | ] 485 | node 486 | [ 487 | id 80 488 | label "Navy" 489 | value 5 490 | ] 491 | node 492 | [ 493 | id 81 494 | label "TexasA&M" 495 | value 3 496 | ] 497 | node 498 | [ 499 | id 82 500 | label "NotreDame" 501 | value 5 502 | ] 503 | node 504 | [ 505 | id 83 506 | label "TexasElPaso" 507 | value 11 508 | ] 509 | node 510 | [ 511 | id 84 512 | label "Oklahoma" 513 | value 3 514 | ] 515 | node 516 | [ 517 | id 85 518 | label "Toledo" 519 | value 6 520 | ] 521 | node 522 | [ 523 | id 86 524 | label "Tulane" 525 | value 4 526 | ] 527 | node 528 | [ 529 | id 87 530 | label "Mississippi" 531 | value 9 532 | ] 533 | node 534 | [ 535 | id 88 536 | label "Tulsa" 537 | value 11 538 | ] 539 | node 540 | [ 541 | id 89 542 | label "NorthCarolina" 543 | value 0 544 | ] 545 | node 546 | [ 547 | id 90 548 | label "UtahState" 549 | value 5 550 | ] 551 | node 552 | [ 553 | id 91 554 | label "Army" 555 | value 4 556 | ] 557 | node 558 | [ 559 | id 92 560 | label "Cincinnati" 561 | value 4 562 | ] 563 | node 564 | [ 565 | id 93 566 | label "AirForce" 567 | value 7 568 | ] 569 | node 570 | [ 571 | id 94 572 | label "Rutgers" 573 | value 1 574 | ] 575 | node 576 | [ 577 | id 95 578 | label "Georgia" 579 | value 9 580 | ] 581 | node 582 | [ 583 | id 96 584 | label "LouisianaState" 585 | value 9 586 | ] 587 | node 588 | [ 589 | id 97 590 | label "LouisianaLafayette" 591 | value 10 592 | ] 593 | node 594 | [ 595 | id 98 596 | label "Texas" 597 | value 3 598 | ] 599 | node 600 | [ 601 | id 99 602 | label "Marshall" 603 | value 6 604 | ] 605 | node 606 | [ 607 | id 100 608 | label "MichiganState" 609 | value 2 610 | ] 611 | node 612 | [ 613 | id 101 614 | label "MiamiFlorida" 615 | value 1 616 | ] 617 | node 618 | [ 619 | id 102 620 | label "Missouri" 621 | value 3 622 | ] 623 | node 624 | [ 625 | id 103 626 | label "Clemson" 627 | value 0 628 | ] 629 | node 630 | [ 631 | id 104 632 | label "NevadaLasVegas" 633 | value 7 634 | ] 635 | node 636 | [ 637 | id 105 638 | label "WakeForest" 639 | value 0 640 | ] 641 | node 642 | [ 643 | id 106 644 | label "Indiana" 645 | value 2 646 | ] 647 | node 648 | [ 649 | id 107 650 | label "OklahomaState" 651 | value 3 652 | ] 653 | node 654 | [ 655 | id 108 656 | label "OregonState" 657 | value 8 658 | ] 659 | node 660 | [ 661 | id 109 662 | label "Maryland" 663 | value 0 664 | ] 665 | node 666 | [ 667 | id 110 668 | label "TexasChristian" 669 | value 4 670 | ] 671 | node 672 | [ 673 | id 111 674 | label "California" 675 | value 8 676 | ] 677 | node 678 | [ 679 | id 112 680 | label "AlabamaBirmingham" 681 | value 4 682 | ] 683 | node 684 | [ 685 | id 113 686 | label "Arkansas" 687 | value 9 688 | ] 689 | node 690 | [ 691 | id 114 692 | label "Hawaii" 693 | value 11 694 | ] 695 | edge 696 | [ 697 | source 1 698 | target 0 699 | ] 700 | edge 701 | [ 702 | source 3 703 | target 2 704 | ] 705 | edge 706 | [ 707 | source 4 708 | target 0 709 | ] 710 | edge 711 | [ 712 | source 5 713 | target 4 714 | ] 715 | edge 716 | [ 717 | source 5 718 | target 3 719 | ] 720 | edge 721 | [ 722 | source 6 723 | target 2 724 | ] 725 | edge 726 | [ 727 | source 7 728 | target 6 729 | ] 730 | edge 731 | [ 732 | source 8 733 | target 7 734 | ] 735 | edge 736 | [ 737 | source 9 738 | target 8 739 | ] 740 | edge 741 | [ 742 | source 9 743 | target 0 744 | ] 745 | edge 746 | [ 747 | source 9 748 | target 4 749 | ] 750 | edge 751 | [ 752 | source 10 753 | target 5 754 | ] 755 | edge 756 | [ 757 | source 11 758 | target 10 759 | ] 760 | edge 761 | [ 762 | source 11 763 | target 5 764 | ] 765 | edge 766 | [ 767 | source 11 768 | target 3 769 | ] 770 | edge 771 | [ 772 | source 13 773 | target 12 774 | ] 775 | edge 776 | [ 777 | source 13 778 | target 2 779 | ] 780 | edge 781 | [ 782 | source 14 783 | target 2 784 | ] 785 | edge 786 | [ 787 | source 14 788 | target 12 789 | ] 790 | edge 791 | [ 792 | source 15 793 | target 14 794 | ] 795 | edge 796 | [ 797 | source 15 798 | target 13 799 | ] 800 | edge 801 | [ 802 | source 15 803 | target 2 804 | ] 805 | edge 806 | [ 807 | source 16 808 | target 4 809 | ] 810 | edge 811 | [ 812 | source 16 813 | target 9 814 | ] 815 | edge 816 | [ 817 | source 16 818 | target 0 819 | ] 820 | edge 821 | [ 822 | source 17 823 | target 16 824 | ] 825 | edge 826 | [ 827 | source 17 828 | target 12 829 | ] 830 | edge 831 | [ 832 | source 18 833 | target 12 834 | ] 835 | edge 836 | [ 837 | source 19 838 | target 18 839 | ] 840 | edge 841 | [ 842 | source 20 843 | target 17 844 | ] 845 | edge 846 | [ 847 | source 21 848 | target 20 849 | ] 850 | edge 851 | [ 852 | source 21 853 | target 8 854 | ] 855 | edge 856 | [ 857 | source 21 858 | target 7 859 | ] 860 | edge 861 | [ 862 | source 22 863 | target 9 864 | ] 865 | edge 866 | [ 867 | source 22 868 | target 7 869 | ] 870 | edge 871 | [ 872 | source 22 873 | target 21 874 | ] 875 | edge 876 | [ 877 | source 22 878 | target 8 879 | ] 880 | edge 881 | [ 882 | source 23 883 | target 22 884 | ] 885 | edge 886 | [ 887 | source 23 888 | target 9 889 | ] 890 | edge 891 | [ 892 | source 23 893 | target 4 894 | ] 895 | edge 896 | [ 897 | source 23 898 | target 16 899 | ] 900 | edge 901 | [ 902 | source 23 903 | target 0 904 | ] 905 | edge 906 | [ 907 | source 24 908 | target 11 909 | ] 910 | edge 911 | [ 912 | source 25 913 | target 24 914 | ] 915 | edge 916 | [ 917 | source 25 918 | target 1 919 | ] 920 | edge 921 | [ 922 | source 26 923 | target 3 924 | ] 925 | edge 926 | [ 927 | source 26 928 | target 12 929 | ] 930 | edge 931 | [ 932 | source 26 933 | target 14 934 | ] 935 | edge 936 | [ 937 | source 27 938 | target 26 939 | ] 940 | edge 941 | [ 942 | source 27 943 | target 17 944 | ] 945 | edge 946 | [ 947 | source 27 948 | target 1 949 | ] 950 | edge 951 | [ 952 | source 28 953 | target 4 954 | ] 955 | edge 956 | [ 957 | source 28 958 | target 11 959 | ] 960 | edge 961 | [ 962 | source 28 963 | target 24 964 | ] 965 | edge 966 | [ 967 | source 29 968 | target 19 969 | ] 970 | edge 971 | [ 972 | source 30 973 | target 29 974 | ] 975 | edge 976 | [ 977 | source 30 978 | target 19 979 | ] 980 | edge 981 | [ 982 | source 31 983 | target 18 984 | ] 985 | edge 986 | [ 987 | source 32 988 | target 31 989 | ] 990 | edge 991 | [ 992 | source 32 993 | target 21 994 | ] 995 | edge 996 | [ 997 | source 32 998 | target 15 999 | ] 1000 | edge 1001 | [ 1002 | source 32 1003 | target 13 1004 | ] 1005 | edge 1006 | [ 1007 | source 32 1008 | target 6 1009 | ] 1010 | edge 1011 | [ 1012 | source 33 1013 | target 0 1014 | ] 1015 | edge 1016 | [ 1017 | source 33 1018 | target 1 1019 | ] 1020 | edge 1021 | [ 1022 | source 33 1023 | target 25 1024 | ] 1025 | edge 1026 | [ 1027 | source 33 1028 | target 19 1029 | ] 1030 | edge 1031 | [ 1032 | source 34 1033 | target 31 1034 | ] 1035 | edge 1036 | [ 1037 | source 34 1038 | target 26 1039 | ] 1040 | edge 1041 | [ 1042 | source 34 1043 | target 12 1044 | ] 1045 | edge 1046 | [ 1047 | source 34 1048 | target 18 1049 | ] 1050 | edge 1051 | [ 1052 | source 35 1053 | target 34 1054 | ] 1055 | edge 1056 | [ 1057 | source 35 1058 | target 0 1059 | ] 1060 | edge 1061 | [ 1062 | source 35 1063 | target 29 1064 | ] 1065 | edge 1066 | [ 1067 | source 35 1068 | target 19 1069 | ] 1070 | edge 1071 | [ 1072 | source 35 1073 | target 30 1074 | ] 1075 | edge 1076 | [ 1077 | source 36 1078 | target 18 1079 | ] 1080 | edge 1081 | [ 1082 | source 36 1083 | target 12 1084 | ] 1085 | edge 1086 | [ 1087 | source 36 1088 | target 20 1089 | ] 1090 | edge 1091 | [ 1092 | source 36 1093 | target 19 1094 | ] 1095 | edge 1096 | [ 1097 | source 37 1098 | target 36 1099 | ] 1100 | edge 1101 | [ 1102 | source 37 1103 | target 1 1104 | ] 1105 | edge 1106 | [ 1107 | source 37 1108 | target 25 1109 | ] 1110 | edge 1111 | [ 1112 | source 37 1113 | target 33 1114 | ] 1115 | edge 1116 | [ 1117 | source 38 1118 | target 18 1119 | ] 1120 | edge 1121 | [ 1122 | source 38 1123 | target 16 1124 | ] 1125 | edge 1126 | [ 1127 | source 38 1128 | target 28 1129 | ] 1130 | edge 1131 | [ 1132 | source 38 1133 | target 26 1134 | ] 1135 | edge 1136 | [ 1137 | source 38 1138 | target 14 1139 | ] 1140 | edge 1141 | [ 1142 | source 38 1143 | target 12 1144 | ] 1145 | edge 1146 | [ 1147 | source 39 1148 | target 38 1149 | ] 1150 | edge 1151 | [ 1152 | source 39 1153 | target 6 1154 | ] 1155 | edge 1156 | [ 1157 | source 39 1158 | target 32 1159 | ] 1160 | edge 1161 | [ 1162 | source 39 1163 | target 13 1164 | ] 1165 | edge 1166 | [ 1167 | source 39 1168 | target 15 1169 | ] 1170 | edge 1171 | [ 1172 | source 40 1173 | target 7 1174 | ] 1175 | edge 1176 | [ 1177 | source 40 1178 | target 3 1179 | ] 1180 | edge 1181 | [ 1182 | source 41 1183 | target 40 1184 | ] 1185 | edge 1186 | [ 1187 | source 41 1188 | target 8 1189 | ] 1190 | edge 1191 | [ 1192 | source 41 1193 | target 4 1194 | ] 1195 | edge 1196 | [ 1197 | source 41 1198 | target 23 1199 | ] 1200 | edge 1201 | [ 1202 | source 41 1203 | target 9 1204 | ] 1205 | edge 1206 | [ 1207 | source 41 1208 | target 0 1209 | ] 1210 | edge 1211 | [ 1212 | source 41 1213 | target 16 1214 | ] 1215 | edge 1216 | [ 1217 | source 42 1218 | target 34 1219 | ] 1220 | edge 1221 | [ 1222 | source 42 1223 | target 29 1224 | ] 1225 | edge 1226 | [ 1227 | source 42 1228 | target 18 1229 | ] 1230 | edge 1231 | [ 1232 | source 42 1233 | target 26 1234 | ] 1235 | edge 1236 | [ 1237 | source 43 1238 | target 42 1239 | ] 1240 | edge 1241 | [ 1242 | source 43 1243 | target 36 1244 | ] 1245 | edge 1246 | [ 1247 | source 43 1248 | target 26 1249 | ] 1250 | edge 1251 | [ 1252 | source 43 1253 | target 31 1254 | ] 1255 | edge 1256 | [ 1257 | source 43 1258 | target 38 1259 | ] 1260 | edge 1261 | [ 1262 | source 43 1263 | target 12 1264 | ] 1265 | edge 1266 | [ 1267 | source 43 1268 | target 14 1269 | ] 1270 | edge 1271 | [ 1272 | source 44 1273 | target 19 1274 | ] 1275 | edge 1276 | [ 1277 | source 44 1278 | target 35 1279 | ] 1280 | edge 1281 | [ 1282 | source 44 1283 | target 30 1284 | ] 1285 | edge 1286 | [ 1287 | source 45 1288 | target 44 1289 | ] 1290 | edge 1291 | [ 1292 | source 45 1293 | target 13 1294 | ] 1295 | edge 1296 | [ 1297 | source 45 1298 | target 33 1299 | ] 1300 | edge 1301 | [ 1302 | source 45 1303 | target 1 1304 | ] 1305 | edge 1306 | [ 1307 | source 45 1308 | target 37 1309 | ] 1310 | edge 1311 | [ 1312 | source 45 1313 | target 25 1314 | ] 1315 | edge 1316 | [ 1317 | source 46 1318 | target 21 1319 | ] 1320 | edge 1321 | [ 1322 | source 47 1323 | target 46 1324 | ] 1325 | edge 1326 | [ 1327 | source 47 1328 | target 22 1329 | ] 1330 | edge 1331 | [ 1332 | source 47 1333 | target 6 1334 | ] 1335 | edge 1336 | [ 1337 | source 47 1338 | target 15 1339 | ] 1340 | edge 1341 | [ 1342 | source 47 1343 | target 2 1344 | ] 1345 | edge 1346 | [ 1347 | source 47 1348 | target 39 1349 | ] 1350 | edge 1351 | [ 1352 | source 47 1353 | target 32 1354 | ] 1355 | edge 1356 | [ 1357 | source 48 1358 | target 44 1359 | ] 1360 | edge 1361 | [ 1362 | source 49 1363 | target 48 1364 | ] 1365 | edge 1366 | [ 1367 | source 49 1368 | target 32 1369 | ] 1370 | edge 1371 | [ 1372 | source 49 1373 | target 46 1374 | ] 1375 | edge 1376 | [ 1377 | source 50 1378 | target 30 1379 | ] 1380 | edge 1381 | [ 1382 | source 50 1383 | target 24 1384 | ] 1385 | edge 1386 | [ 1387 | source 50 1388 | target 11 1389 | ] 1390 | edge 1391 | [ 1392 | source 50 1393 | target 28 1394 | ] 1395 | edge 1396 | [ 1397 | source 51 1398 | target 50 1399 | ] 1400 | edge 1401 | [ 1402 | source 51 1403 | target 40 1404 | ] 1405 | edge 1406 | [ 1407 | source 51 1408 | target 8 1409 | ] 1410 | edge 1411 | [ 1412 | source 51 1413 | target 22 1414 | ] 1415 | edge 1416 | [ 1417 | source 51 1418 | target 21 1419 | ] 1420 | edge 1421 | [ 1422 | source 52 1423 | target 3 1424 | ] 1425 | edge 1426 | [ 1427 | source 52 1428 | target 40 1429 | ] 1430 | edge 1431 | [ 1432 | source 52 1433 | target 5 1434 | ] 1435 | edge 1436 | [ 1437 | source 53 1438 | target 52 1439 | ] 1440 | edge 1441 | [ 1442 | source 53 1443 | target 25 1444 | ] 1445 | edge 1446 | [ 1447 | source 53 1448 | target 48 1449 | ] 1450 | edge 1451 | [ 1452 | source 53 1453 | target 49 1454 | ] 1455 | edge 1456 | [ 1457 | source 53 1458 | target 46 1459 | ] 1460 | edge 1461 | [ 1462 | source 54 1463 | target 39 1464 | ] 1465 | edge 1466 | [ 1467 | source 54 1468 | target 31 1469 | ] 1470 | edge 1471 | [ 1472 | source 54 1473 | target 38 1474 | ] 1475 | edge 1476 | [ 1477 | source 54 1478 | target 14 1479 | ] 1480 | edge 1481 | [ 1482 | source 54 1483 | target 34 1484 | ] 1485 | edge 1486 | [ 1487 | source 54 1488 | target 18 1489 | ] 1490 | edge 1491 | [ 1492 | source 55 1493 | target 54 1494 | ] 1495 | edge 1496 | [ 1497 | source 55 1498 | target 31 1499 | ] 1500 | edge 1501 | [ 1502 | source 55 1503 | target 6 1504 | ] 1505 | edge 1506 | [ 1507 | source 55 1508 | target 35 1509 | ] 1510 | edge 1511 | [ 1512 | source 55 1513 | target 29 1514 | ] 1515 | edge 1516 | [ 1517 | source 55 1518 | target 19 1519 | ] 1520 | edge 1521 | [ 1522 | source 55 1523 | target 30 1524 | ] 1525 | edge 1526 | [ 1527 | source 56 1528 | target 27 1529 | ] 1530 | edge 1531 | [ 1532 | source 57 1533 | target 56 1534 | ] 1535 | edge 1536 | [ 1537 | source 57 1538 | target 1 1539 | ] 1540 | edge 1541 | [ 1542 | source 57 1543 | target 42 1544 | ] 1545 | edge 1546 | [ 1547 | source 57 1548 | target 44 1549 | ] 1550 | edge 1551 | [ 1552 | source 57 1553 | target 48 1554 | ] 1555 | edge 1556 | [ 1557 | source 58 1558 | target 3 1559 | ] 1560 | edge 1561 | [ 1562 | source 58 1563 | target 6 1564 | ] 1565 | edge 1566 | [ 1567 | source 58 1568 | target 17 1569 | ] 1570 | edge 1571 | [ 1572 | source 58 1573 | target 36 1574 | ] 1575 | edge 1576 | [ 1577 | source 59 1578 | target 36 1579 | ] 1580 | edge 1581 | [ 1582 | source 59 1583 | target 58 1584 | ] 1585 | edge 1586 | [ 1587 | source 60 1588 | target 59 1589 | ] 1590 | edge 1591 | [ 1592 | source 60 1593 | target 10 1594 | ] 1595 | edge 1596 | [ 1597 | source 60 1598 | target 39 1599 | ] 1600 | edge 1601 | [ 1602 | source 60 1603 | target 6 1604 | ] 1605 | edge 1606 | [ 1607 | source 60 1608 | target 47 1609 | ] 1610 | edge 1611 | [ 1612 | source 60 1613 | target 13 1614 | ] 1615 | edge 1616 | [ 1617 | source 60 1618 | target 15 1619 | ] 1620 | edge 1621 | [ 1622 | source 60 1623 | target 2 1624 | ] 1625 | edge 1626 | [ 1627 | source 61 1628 | target 43 1629 | ] 1630 | edge 1631 | [ 1632 | source 61 1633 | target 47 1634 | ] 1635 | edge 1636 | [ 1637 | source 61 1638 | target 54 1639 | ] 1640 | edge 1641 | [ 1642 | source 61 1643 | target 18 1644 | ] 1645 | edge 1646 | [ 1647 | source 61 1648 | target 26 1649 | ] 1650 | edge 1651 | [ 1652 | source 61 1653 | target 31 1654 | ] 1655 | edge 1656 | [ 1657 | source 61 1658 | target 34 1659 | ] 1660 | edge 1661 | [ 1662 | source 62 1663 | target 61 1664 | ] 1665 | edge 1666 | [ 1667 | source 62 1668 | target 20 1669 | ] 1670 | edge 1671 | [ 1672 | source 62 1673 | target 45 1674 | ] 1675 | edge 1676 | [ 1677 | source 62 1678 | target 17 1679 | ] 1680 | edge 1681 | [ 1682 | source 62 1683 | target 27 1684 | ] 1685 | edge 1686 | [ 1687 | source 62 1688 | target 56 1689 | ] 1690 | edge 1691 | [ 1692 | source 63 1693 | target 27 1694 | ] 1695 | edge 1696 | [ 1697 | source 63 1698 | target 58 1699 | ] 1700 | edge 1701 | [ 1702 | source 63 1703 | target 59 1704 | ] 1705 | edge 1706 | [ 1707 | source 63 1708 | target 42 1709 | ] 1710 | edge 1711 | [ 1712 | source 64 1713 | target 63 1714 | ] 1715 | edge 1716 | [ 1717 | source 64 1718 | target 9 1719 | ] 1720 | edge 1721 | [ 1722 | source 64 1723 | target 32 1724 | ] 1725 | edge 1726 | [ 1727 | source 64 1728 | target 60 1729 | ] 1730 | edge 1731 | [ 1732 | source 64 1733 | target 2 1734 | ] 1735 | edge 1736 | [ 1737 | source 64 1738 | target 6 1739 | ] 1740 | edge 1741 | [ 1742 | source 64 1743 | target 47 1744 | ] 1745 | edge 1746 | [ 1747 | source 64 1748 | target 13 1749 | ] 1750 | edge 1751 | [ 1752 | source 65 1753 | target 0 1754 | ] 1755 | edge 1756 | [ 1757 | source 65 1758 | target 27 1759 | ] 1760 | edge 1761 | [ 1762 | source 65 1763 | target 17 1764 | ] 1765 | edge 1766 | [ 1767 | source 65 1768 | target 63 1769 | ] 1770 | edge 1771 | [ 1772 | source 65 1773 | target 56 1774 | ] 1775 | edge 1776 | [ 1777 | source 65 1778 | target 20 1779 | ] 1780 | edge 1781 | [ 1782 | source 66 1783 | target 65 1784 | ] 1785 | edge 1786 | [ 1787 | source 66 1788 | target 59 1789 | ] 1790 | edge 1791 | [ 1792 | source 66 1793 | target 24 1794 | ] 1795 | edge 1796 | [ 1797 | source 66 1798 | target 44 1799 | ] 1800 | edge 1801 | [ 1802 | source 66 1803 | target 48 1804 | ] 1805 | edge 1806 | [ 1807 | source 67 1808 | target 16 1809 | ] 1810 | edge 1811 | [ 1812 | source 67 1813 | target 41 1814 | ] 1815 | edge 1816 | [ 1817 | source 67 1818 | target 46 1819 | ] 1820 | edge 1821 | [ 1822 | source 67 1823 | target 53 1824 | ] 1825 | edge 1826 | [ 1827 | source 67 1828 | target 49 1829 | ] 1830 | edge 1831 | [ 1832 | source 68 1833 | target 67 1834 | ] 1835 | edge 1836 | [ 1837 | source 68 1838 | target 15 1839 | ] 1840 | edge 1841 | [ 1842 | source 68 1843 | target 50 1844 | ] 1845 | edge 1846 | [ 1847 | source 68 1848 | target 21 1849 | ] 1850 | edge 1851 | [ 1852 | source 68 1853 | target 51 1854 | ] 1855 | edge 1856 | [ 1857 | source 68 1858 | target 7 1859 | ] 1860 | edge 1861 | [ 1862 | source 68 1863 | target 22 1864 | ] 1865 | edge 1866 | [ 1867 | source 68 1868 | target 8 1869 | ] 1870 | edge 1871 | [ 1872 | source 69 1873 | target 4 1874 | ] 1875 | edge 1876 | [ 1877 | source 69 1878 | target 24 1879 | ] 1880 | edge 1881 | [ 1882 | source 69 1883 | target 28 1884 | ] 1885 | edge 1886 | [ 1887 | source 69 1888 | target 50 1889 | ] 1890 | edge 1891 | [ 1892 | source 69 1893 | target 11 1894 | ] 1895 | edge 1896 | [ 1897 | source 70 1898 | target 69 1899 | ] 1900 | edge 1901 | [ 1902 | source 70 1903 | target 43 1904 | ] 1905 | edge 1906 | [ 1907 | source 70 1908 | target 65 1909 | ] 1910 | edge 1911 | [ 1912 | source 70 1913 | target 20 1914 | ] 1915 | edge 1916 | [ 1917 | source 70 1918 | target 56 1919 | ] 1920 | edge 1921 | [ 1922 | source 70 1923 | target 62 1924 | ] 1925 | edge 1926 | [ 1927 | source 70 1928 | target 27 1929 | ] 1930 | edge 1931 | [ 1932 | source 71 1933 | target 60 1934 | ] 1935 | edge 1936 | [ 1937 | source 71 1938 | target 18 1939 | ] 1940 | edge 1941 | [ 1942 | source 71 1943 | target 14 1944 | ] 1945 | edge 1946 | [ 1947 | source 71 1948 | target 34 1949 | ] 1950 | edge 1951 | [ 1952 | source 71 1953 | target 54 1954 | ] 1955 | edge 1956 | [ 1957 | source 71 1958 | target 38 1959 | ] 1960 | edge 1961 | [ 1962 | source 71 1963 | target 61 1964 | ] 1965 | edge 1966 | [ 1967 | source 71 1968 | target 31 1969 | ] 1970 | edge 1971 | [ 1972 | source 72 1973 | target 71 1974 | ] 1975 | edge 1976 | [ 1977 | source 72 1978 | target 2 1979 | ] 1980 | edge 1981 | [ 1982 | source 72 1983 | target 10 1984 | ] 1985 | edge 1986 | [ 1987 | source 72 1988 | target 3 1989 | ] 1990 | edge 1991 | [ 1992 | source 72 1993 | target 40 1994 | ] 1995 | edge 1996 | [ 1997 | source 72 1998 | target 52 1999 | ] 2000 | edge 2001 | [ 2002 | source 73 2003 | target 7 2004 | ] 2005 | edge 2006 | [ 2007 | source 73 2008 | target 49 2009 | ] 2010 | edge 2011 | [ 2012 | source 73 2013 | target 53 2014 | ] 2015 | edge 2016 | [ 2017 | source 73 2018 | target 67 2019 | ] 2020 | edge 2021 | [ 2022 | source 73 2023 | target 46 2024 | ] 2025 | edge 2026 | [ 2027 | source 74 2028 | target 73 2029 | ] 2030 | edge 2031 | [ 2032 | source 74 2033 | target 2 2034 | ] 2035 | edge 2036 | [ 2037 | source 74 2038 | target 72 2039 | ] 2040 | edge 2041 | [ 2042 | source 74 2043 | target 5 2044 | ] 2045 | edge 2046 | [ 2047 | source 74 2048 | target 10 2049 | ] 2050 | edge 2051 | [ 2052 | source 74 2053 | target 52 2054 | ] 2055 | edge 2056 | [ 2057 | source 74 2058 | target 3 2059 | ] 2060 | edge 2061 | [ 2062 | source 74 2063 | target 40 2064 | ] 2065 | edge 2066 | [ 2067 | source 75 2068 | target 20 2069 | ] 2070 | edge 2071 | [ 2072 | source 75 2073 | target 66 2074 | ] 2075 | edge 2076 | [ 2077 | source 75 2078 | target 48 2079 | ] 2080 | edge 2081 | [ 2082 | source 75 2083 | target 57 2084 | ] 2085 | edge 2086 | [ 2087 | source 75 2088 | target 44 2089 | ] 2090 | edge 2091 | [ 2092 | source 76 2093 | target 75 2094 | ] 2095 | edge 2096 | [ 2097 | source 76 2098 | target 27 2099 | ] 2100 | edge 2101 | [ 2102 | source 76 2103 | target 59 2104 | ] 2105 | edge 2106 | [ 2107 | source 76 2108 | target 20 2109 | ] 2110 | edge 2111 | [ 2112 | source 76 2113 | target 70 2114 | ] 2115 | edge 2116 | [ 2117 | source 76 2118 | target 66 2119 | ] 2120 | edge 2121 | [ 2122 | source 76 2123 | target 56 2124 | ] 2125 | edge 2126 | [ 2127 | source 76 2128 | target 62 2129 | ] 2130 | edge 2131 | [ 2132 | source 77 2133 | target 73 2134 | ] 2135 | edge 2136 | [ 2137 | source 77 2138 | target 22 2139 | ] 2140 | edge 2141 | [ 2142 | source 77 2143 | target 7 2144 | ] 2145 | edge 2146 | [ 2147 | source 77 2148 | target 51 2149 | ] 2150 | edge 2151 | [ 2152 | source 77 2153 | target 21 2154 | ] 2155 | edge 2156 | [ 2157 | source 77 2158 | target 8 2159 | ] 2160 | edge 2161 | [ 2162 | source 78 2163 | target 77 2164 | ] 2165 | edge 2166 | [ 2167 | source 78 2168 | target 23 2169 | ] 2170 | edge 2171 | [ 2172 | source 78 2173 | target 50 2174 | ] 2175 | edge 2176 | [ 2177 | source 78 2178 | target 28 2179 | ] 2180 | edge 2181 | [ 2182 | source 78 2183 | target 22 2184 | ] 2185 | edge 2186 | [ 2187 | source 78 2188 | target 8 2189 | ] 2190 | edge 2191 | [ 2192 | source 78 2193 | target 68 2194 | ] 2195 | edge 2196 | [ 2197 | source 78 2198 | target 7 2199 | ] 2200 | edge 2201 | [ 2202 | source 78 2203 | target 51 2204 | ] 2205 | edge 2206 | [ 2207 | source 79 2208 | target 31 2209 | ] 2210 | edge 2211 | [ 2212 | source 79 2213 | target 43 2214 | ] 2215 | edge 2216 | [ 2217 | source 79 2218 | target 30 2219 | ] 2220 | edge 2221 | [ 2222 | source 79 2223 | target 19 2224 | ] 2225 | edge 2226 | [ 2227 | source 79 2228 | target 29 2229 | ] 2230 | edge 2231 | [ 2232 | source 79 2233 | target 35 2234 | ] 2235 | edge 2236 | [ 2237 | source 79 2238 | target 55 2239 | ] 2240 | edge 2241 | [ 2242 | source 80 2243 | target 79 2244 | ] 2245 | edge 2246 | [ 2247 | source 80 2248 | target 37 2249 | ] 2250 | edge 2251 | [ 2252 | source 80 2253 | target 29 2254 | ] 2255 | edge 2256 | [ 2257 | source 81 2258 | target 16 2259 | ] 2260 | edge 2261 | [ 2262 | source 81 2263 | target 5 2264 | ] 2265 | edge 2266 | [ 2267 | source 81 2268 | target 40 2269 | ] 2270 | edge 2271 | [ 2272 | source 81 2273 | target 10 2274 | ] 2275 | edge 2276 | [ 2277 | source 81 2278 | target 72 2279 | ] 2280 | edge 2281 | [ 2282 | source 81 2283 | target 3 2284 | ] 2285 | edge 2286 | [ 2287 | source 82 2288 | target 81 2289 | ] 2290 | edge 2291 | [ 2292 | source 82 2293 | target 74 2294 | ] 2295 | edge 2296 | [ 2297 | source 82 2298 | target 39 2299 | ] 2300 | edge 2301 | [ 2302 | source 82 2303 | target 77 2304 | ] 2305 | edge 2306 | [ 2307 | source 82 2308 | target 80 2309 | ] 2310 | edge 2311 | [ 2312 | source 82 2313 | target 30 2314 | ] 2315 | edge 2316 | [ 2317 | source 82 2318 | target 29 2319 | ] 2320 | edge 2321 | [ 2322 | source 82 2323 | target 7 2324 | ] 2325 | edge 2326 | [ 2327 | source 83 2328 | target 53 2329 | ] 2330 | edge 2331 | [ 2332 | source 83 2333 | target 81 2334 | ] 2335 | edge 2336 | [ 2337 | source 83 2338 | target 69 2339 | ] 2340 | edge 2341 | [ 2342 | source 83 2343 | target 73 2344 | ] 2345 | edge 2346 | [ 2347 | source 83 2348 | target 46 2349 | ] 2350 | edge 2351 | [ 2352 | source 83 2353 | target 67 2354 | ] 2355 | edge 2356 | [ 2357 | source 83 2358 | target 49 2359 | ] 2360 | edge 2361 | [ 2362 | source 84 2363 | target 83 2364 | ] 2365 | edge 2366 | [ 2367 | source 84 2368 | target 24 2369 | ] 2370 | edge 2371 | [ 2372 | source 84 2373 | target 49 2374 | ] 2375 | edge 2376 | [ 2377 | source 84 2378 | target 52 2379 | ] 2380 | edge 2381 | [ 2382 | source 84 2383 | target 3 2384 | ] 2385 | edge 2386 | [ 2387 | source 84 2388 | target 74 2389 | ] 2390 | edge 2391 | [ 2392 | source 84 2393 | target 10 2394 | ] 2395 | edge 2396 | [ 2397 | source 84 2398 | target 81 2399 | ] 2400 | edge 2401 | [ 2402 | source 84 2403 | target 5 2404 | ] 2405 | edge 2406 | [ 2407 | source 85 2408 | target 6 2409 | ] 2410 | edge 2411 | [ 2412 | source 85 2413 | target 14 2414 | ] 2415 | edge 2416 | [ 2417 | source 85 2418 | target 38 2419 | ] 2420 | edge 2421 | [ 2422 | source 85 2423 | target 43 2424 | ] 2425 | edge 2426 | [ 2427 | source 85 2428 | target 80 2429 | ] 2430 | edge 2431 | [ 2432 | source 85 2433 | target 12 2434 | ] 2435 | edge 2436 | [ 2437 | source 85 2438 | target 26 2439 | ] 2440 | edge 2441 | [ 2442 | source 85 2443 | target 31 2444 | ] 2445 | edge 2446 | [ 2447 | source 86 2448 | target 44 2449 | ] 2450 | edge 2451 | [ 2452 | source 86 2453 | target 53 2454 | ] 2455 | edge 2456 | [ 2457 | source 86 2458 | target 75 2459 | ] 2460 | edge 2461 | [ 2462 | source 86 2463 | target 57 2464 | ] 2465 | edge 2466 | [ 2467 | source 86 2468 | target 48 2469 | ] 2470 | edge 2471 | [ 2472 | source 86 2473 | target 80 2474 | ] 2475 | edge 2476 | [ 2477 | source 86 2478 | target 66 2479 | ] 2480 | edge 2481 | [ 2482 | source 87 2483 | target 86 2484 | ] 2485 | edge 2486 | [ 2487 | source 87 2488 | target 17 2489 | ] 2490 | edge 2491 | [ 2492 | source 87 2493 | target 62 2494 | ] 2495 | edge 2496 | [ 2497 | source 87 2498 | target 56 2499 | ] 2500 | edge 2501 | [ 2502 | source 87 2503 | target 24 2504 | ] 2505 | edge 2506 | [ 2507 | source 87 2508 | target 20 2509 | ] 2510 | edge 2511 | [ 2512 | source 87 2513 | target 65 2514 | ] 2515 | edge 2516 | [ 2517 | source 88 2518 | target 49 2519 | ] 2520 | edge 2521 | [ 2522 | source 88 2523 | target 58 2524 | ] 2525 | edge 2526 | [ 2527 | source 88 2528 | target 83 2529 | ] 2530 | edge 2531 | [ 2532 | source 88 2533 | target 69 2534 | ] 2535 | edge 2536 | [ 2537 | source 88 2538 | target 46 2539 | ] 2540 | edge 2541 | [ 2542 | source 88 2543 | target 53 2544 | ] 2545 | edge 2546 | [ 2547 | source 88 2548 | target 73 2549 | ] 2550 | edge 2551 | [ 2552 | source 88 2553 | target 67 2554 | ] 2555 | edge 2556 | [ 2557 | source 89 2558 | target 88 2559 | ] 2560 | edge 2561 | [ 2562 | source 89 2563 | target 1 2564 | ] 2565 | edge 2566 | [ 2567 | source 89 2568 | target 37 2569 | ] 2570 | edge 2571 | [ 2572 | source 89 2573 | target 25 2574 | ] 2575 | edge 2576 | [ 2577 | source 89 2578 | target 33 2579 | ] 2580 | edge 2581 | [ 2582 | source 89 2583 | target 55 2584 | ] 2585 | edge 2586 | [ 2587 | source 89 2588 | target 45 2589 | ] 2590 | edge 2591 | [ 2592 | source 90 2593 | target 5 2594 | ] 2595 | edge 2596 | [ 2597 | source 90 2598 | target 8 2599 | ] 2600 | edge 2601 | [ 2602 | source 90 2603 | target 23 2604 | ] 2605 | edge 2606 | [ 2607 | source 90 2608 | target 0 2609 | ] 2610 | edge 2611 | [ 2612 | source 90 2613 | target 11 2614 | ] 2615 | edge 2616 | [ 2617 | source 90 2618 | target 50 2619 | ] 2620 | edge 2621 | [ 2622 | source 90 2623 | target 24 2624 | ] 2625 | edge 2626 | [ 2627 | source 90 2628 | target 69 2629 | ] 2630 | edge 2631 | [ 2632 | source 90 2633 | target 28 2634 | ] 2635 | edge 2636 | [ 2637 | source 91 2638 | target 29 2639 | ] 2640 | edge 2641 | [ 2642 | source 91 2643 | target 48 2644 | ] 2645 | edge 2646 | [ 2647 | source 91 2648 | target 66 2649 | ] 2650 | edge 2651 | [ 2652 | source 91 2653 | target 69 2654 | ] 2655 | edge 2656 | [ 2657 | source 91 2658 | target 44 2659 | ] 2660 | edge 2661 | [ 2662 | source 91 2663 | target 86 2664 | ] 2665 | edge 2666 | [ 2667 | source 91 2668 | target 57 2669 | ] 2670 | edge 2671 | [ 2672 | source 91 2673 | target 80 2674 | ] 2675 | edge 2676 | [ 2677 | source 92 2678 | target 91 2679 | ] 2680 | edge 2681 | [ 2682 | source 92 2683 | target 35 2684 | ] 2685 | edge 2686 | [ 2687 | source 92 2688 | target 15 2689 | ] 2690 | edge 2691 | [ 2692 | source 92 2693 | target 86 2694 | ] 2695 | edge 2696 | [ 2697 | source 92 2698 | target 48 2699 | ] 2700 | edge 2701 | [ 2702 | source 92 2703 | target 57 2704 | ] 2705 | edge 2706 | [ 2707 | source 92 2708 | target 61 2709 | ] 2710 | edge 2711 | [ 2712 | source 92 2713 | target 66 2714 | ] 2715 | edge 2716 | [ 2717 | source 92 2718 | target 75 2719 | ] 2720 | edge 2721 | [ 2722 | source 93 2723 | target 0 2724 | ] 2725 | edge 2726 | [ 2727 | source 93 2728 | target 23 2729 | ] 2730 | edge 2731 | [ 2732 | source 93 2733 | target 80 2734 | ] 2735 | edge 2736 | [ 2737 | source 93 2738 | target 16 2739 | ] 2740 | edge 2741 | [ 2742 | source 93 2743 | target 4 2744 | ] 2745 | edge 2746 | [ 2747 | source 93 2748 | target 82 2749 | ] 2750 | edge 2751 | [ 2752 | source 93 2753 | target 91 2754 | ] 2755 | edge 2756 | [ 2757 | source 93 2758 | target 41 2759 | ] 2760 | edge 2761 | [ 2762 | source 93 2763 | target 9 2764 | ] 2765 | edge 2766 | [ 2767 | source 94 2768 | target 34 2769 | ] 2770 | edge 2771 | [ 2772 | source 94 2773 | target 19 2774 | ] 2775 | edge 2776 | [ 2777 | source 94 2778 | target 55 2779 | ] 2780 | edge 2781 | [ 2782 | source 94 2783 | target 79 2784 | ] 2785 | edge 2786 | [ 2787 | source 94 2788 | target 80 2789 | ] 2790 | edge 2791 | [ 2792 | source 94 2793 | target 29 2794 | ] 2795 | edge 2796 | [ 2797 | source 94 2798 | target 30 2799 | ] 2800 | edge 2801 | [ 2802 | source 94 2803 | target 82 2804 | ] 2805 | edge 2806 | [ 2807 | source 94 2808 | target 35 2809 | ] 2810 | edge 2811 | [ 2812 | source 95 2813 | target 70 2814 | ] 2815 | edge 2816 | [ 2817 | source 95 2818 | target 69 2819 | ] 2820 | edge 2821 | [ 2822 | source 95 2823 | target 76 2824 | ] 2825 | edge 2826 | [ 2827 | source 95 2828 | target 62 2829 | ] 2830 | edge 2831 | [ 2832 | source 95 2833 | target 56 2834 | ] 2835 | edge 2836 | [ 2837 | source 95 2838 | target 27 2839 | ] 2840 | edge 2841 | [ 2842 | source 95 2843 | target 17 2844 | ] 2845 | edge 2846 | [ 2847 | source 95 2848 | target 87 2849 | ] 2850 | edge 2851 | [ 2852 | source 95 2853 | target 37 2854 | ] 2855 | edge 2856 | [ 2857 | source 96 2858 | target 48 2859 | ] 2860 | edge 2861 | [ 2862 | source 96 2863 | target 17 2864 | ] 2865 | edge 2866 | [ 2867 | source 96 2868 | target 76 2869 | ] 2870 | edge 2871 | [ 2872 | source 96 2873 | target 27 2874 | ] 2875 | edge 2876 | [ 2877 | source 96 2878 | target 56 2879 | ] 2880 | edge 2881 | [ 2882 | source 96 2883 | target 65 2884 | ] 2885 | edge 2886 | [ 2887 | source 96 2888 | target 20 2889 | ] 2890 | edge 2891 | [ 2892 | source 96 2893 | target 87 2894 | ] 2895 | edge 2896 | [ 2897 | source 97 2898 | target 5 2899 | ] 2900 | edge 2901 | [ 2902 | source 97 2903 | target 86 2904 | ] 2905 | edge 2906 | [ 2907 | source 97 2908 | target 58 2909 | ] 2910 | edge 2911 | [ 2912 | source 97 2913 | target 11 2914 | ] 2915 | edge 2916 | [ 2917 | source 97 2918 | target 59 2919 | ] 2920 | edge 2921 | [ 2922 | source 97 2923 | target 63 2924 | ] 2925 | edge 2926 | [ 2927 | source 98 2928 | target 97 2929 | ] 2930 | edge 2931 | [ 2932 | source 98 2933 | target 77 2934 | ] 2935 | edge 2936 | [ 2937 | source 98 2938 | target 48 2939 | ] 2940 | edge 2941 | [ 2942 | source 98 2943 | target 84 2944 | ] 2945 | edge 2946 | [ 2947 | source 98 2948 | target 40 2949 | ] 2950 | edge 2951 | [ 2952 | source 98 2953 | target 10 2954 | ] 2955 | edge 2956 | [ 2957 | source 98 2958 | target 5 2959 | ] 2960 | edge 2961 | [ 2962 | source 98 2963 | target 52 2964 | ] 2965 | edge 2966 | [ 2967 | source 98 2968 | target 81 2969 | ] 2970 | edge 2971 | [ 2972 | source 99 2973 | target 89 2974 | ] 2975 | edge 2976 | [ 2977 | source 99 2978 | target 34 2979 | ] 2980 | edge 2981 | [ 2982 | source 99 2983 | target 14 2984 | ] 2985 | edge 2986 | [ 2987 | source 99 2988 | target 85 2989 | ] 2990 | edge 2991 | [ 2992 | source 99 2993 | target 54 2994 | ] 2995 | edge 2996 | [ 2997 | source 99 2998 | target 18 2999 | ] 3000 | edge 3001 | [ 3002 | source 99 3003 | target 31 3004 | ] 3005 | edge 3006 | [ 3007 | source 99 3008 | target 61 3009 | ] 3010 | edge 3011 | [ 3012 | source 99 3013 | target 71 3014 | ] 3015 | edge 3016 | [ 3017 | source 100 3018 | target 99 3019 | ] 3020 | edge 3021 | [ 3022 | source 100 3023 | target 82 3024 | ] 3025 | edge 3026 | [ 3027 | source 100 3028 | target 13 3029 | ] 3030 | edge 3031 | [ 3032 | source 100 3033 | target 2 3034 | ] 3035 | edge 3036 | [ 3037 | source 100 3038 | target 15 3039 | ] 3040 | edge 3041 | [ 3042 | source 100 3043 | target 32 3044 | ] 3045 | edge 3046 | [ 3047 | source 100 3048 | target 64 3049 | ] 3050 | edge 3051 | [ 3052 | source 100 3053 | target 47 3054 | ] 3055 | edge 3056 | [ 3057 | source 100 3058 | target 39 3059 | ] 3060 | edge 3061 | [ 3062 | source 100 3063 | target 6 3064 | ] 3065 | edge 3066 | [ 3067 | source 101 3068 | target 51 3069 | ] 3070 | edge 3071 | [ 3072 | source 101 3073 | target 30 3074 | ] 3075 | edge 3076 | [ 3077 | source 101 3078 | target 94 3079 | ] 3080 | edge 3081 | [ 3082 | source 101 3083 | target 1 3084 | ] 3085 | edge 3086 | [ 3087 | source 101 3088 | target 79 3089 | ] 3090 | edge 3091 | [ 3092 | source 101 3093 | target 58 3094 | ] 3095 | edge 3096 | [ 3097 | source 101 3098 | target 19 3099 | ] 3100 | edge 3101 | [ 3102 | source 101 3103 | target 55 3104 | ] 3105 | edge 3106 | [ 3107 | source 101 3108 | target 35 3109 | ] 3110 | edge 3111 | [ 3112 | source 101 3113 | target 29 3114 | ] 3115 | edge 3116 | [ 3117 | source 102 3118 | target 100 3119 | ] 3120 | edge 3121 | [ 3122 | source 102 3123 | target 74 3124 | ] 3125 | edge 3126 | [ 3127 | source 102 3128 | target 52 3129 | ] 3130 | edge 3131 | [ 3132 | source 102 3133 | target 98 3134 | ] 3135 | edge 3136 | [ 3137 | source 102 3138 | target 72 3139 | ] 3140 | edge 3141 | [ 3142 | source 102 3143 | target 40 3144 | ] 3145 | edge 3146 | [ 3147 | source 102 3148 | target 10 3149 | ] 3150 | edge 3151 | [ 3152 | source 102 3153 | target 3 3154 | ] 3155 | edge 3156 | [ 3157 | source 103 3158 | target 102 3159 | ] 3160 | edge 3161 | [ 3162 | source 103 3163 | target 33 3164 | ] 3165 | edge 3166 | [ 3167 | source 103 3168 | target 45 3169 | ] 3170 | edge 3171 | [ 3172 | source 103 3173 | target 25 3174 | ] 3175 | edge 3176 | [ 3177 | source 103 3178 | target 89 3179 | ] 3180 | edge 3181 | [ 3182 | source 103 3183 | target 37 3184 | ] 3185 | edge 3186 | [ 3187 | source 103 3188 | target 1 3189 | ] 3190 | edge 3191 | [ 3192 | source 103 3193 | target 70 3194 | ] 3195 | edge 3196 | [ 3197 | source 104 3198 | target 72 3199 | ] 3200 | edge 3201 | [ 3202 | source 104 3203 | target 11 3204 | ] 3205 | edge 3206 | [ 3207 | source 104 3208 | target 0 3209 | ] 3210 | edge 3211 | [ 3212 | source 104 3213 | target 93 3214 | ] 3215 | edge 3216 | [ 3217 | source 104 3218 | target 67 3219 | ] 3220 | edge 3221 | [ 3222 | source 104 3223 | target 41 3224 | ] 3225 | edge 3226 | [ 3227 | source 104 3228 | target 16 3229 | ] 3230 | edge 3231 | [ 3232 | source 104 3233 | target 87 3234 | ] 3235 | edge 3236 | [ 3237 | source 104 3238 | target 23 3239 | ] 3240 | edge 3241 | [ 3242 | source 104 3243 | target 4 3244 | ] 3245 | edge 3246 | [ 3247 | source 104 3248 | target 9 3249 | ] 3250 | edge 3251 | [ 3252 | source 105 3253 | target 89 3254 | ] 3255 | edge 3256 | [ 3257 | source 105 3258 | target 103 3259 | ] 3260 | edge 3261 | [ 3262 | source 105 3263 | target 33 3264 | ] 3265 | edge 3266 | [ 3267 | source 105 3268 | target 62 3269 | ] 3270 | edge 3271 | [ 3272 | source 105 3273 | target 37 3274 | ] 3275 | edge 3276 | [ 3277 | source 105 3278 | target 45 3279 | ] 3280 | edge 3281 | [ 3282 | source 105 3283 | target 1 3284 | ] 3285 | edge 3286 | [ 3287 | source 105 3288 | target 80 3289 | ] 3290 | edge 3291 | [ 3292 | source 105 3293 | target 25 3294 | ] 3295 | edge 3296 | [ 3297 | source 106 3298 | target 25 3299 | ] 3300 | edge 3301 | [ 3302 | source 106 3303 | target 56 3304 | ] 3305 | edge 3306 | [ 3307 | source 106 3308 | target 92 3309 | ] 3310 | edge 3311 | [ 3312 | source 106 3313 | target 2 3314 | ] 3315 | edge 3316 | [ 3317 | source 106 3318 | target 13 3319 | ] 3320 | edge 3321 | [ 3322 | source 106 3323 | target 32 3324 | ] 3325 | edge 3326 | [ 3327 | source 106 3328 | target 60 3329 | ] 3330 | edge 3331 | [ 3332 | source 106 3333 | target 6 3334 | ] 3335 | edge 3336 | [ 3337 | source 106 3338 | target 64 3339 | ] 3340 | edge 3341 | [ 3342 | source 106 3343 | target 15 3344 | ] 3345 | edge 3346 | [ 3347 | source 106 3348 | target 39 3349 | ] 3350 | edge 3351 | [ 3352 | source 107 3353 | target 88 3354 | ] 3355 | edge 3356 | [ 3357 | source 107 3358 | target 75 3359 | ] 3360 | edge 3361 | [ 3362 | source 107 3363 | target 98 3364 | ] 3365 | edge 3366 | [ 3367 | source 107 3368 | target 102 3369 | ] 3370 | edge 3371 | [ 3372 | source 107 3373 | target 72 3374 | ] 3375 | edge 3376 | [ 3377 | source 107 3378 | target 40 3379 | ] 3380 | edge 3381 | [ 3382 | source 107 3383 | target 81 3384 | ] 3385 | edge 3386 | [ 3387 | source 107 3388 | target 5 3389 | ] 3390 | edge 3391 | [ 3392 | source 107 3393 | target 10 3394 | ] 3395 | edge 3396 | [ 3397 | source 107 3398 | target 84 3399 | ] 3400 | edge 3401 | [ 3402 | source 108 3403 | target 4 3404 | ] 3405 | edge 3406 | [ 3407 | source 108 3408 | target 9 3409 | ] 3410 | edge 3411 | [ 3412 | source 108 3413 | target 7 3414 | ] 3415 | edge 3416 | [ 3417 | source 108 3418 | target 51 3419 | ] 3420 | edge 3421 | [ 3422 | source 108 3423 | target 77 3424 | ] 3425 | edge 3426 | [ 3427 | source 108 3428 | target 21 3429 | ] 3430 | edge 3431 | [ 3432 | source 108 3433 | target 78 3434 | ] 3435 | edge 3436 | [ 3437 | source 108 3438 | target 22 3439 | ] 3440 | edge 3441 | [ 3442 | source 108 3443 | target 68 3444 | ] 3445 | edge 3446 | [ 3447 | source 109 3448 | target 79 3449 | ] 3450 | edge 3451 | [ 3452 | source 109 3453 | target 30 3454 | ] 3455 | edge 3456 | [ 3457 | source 109 3458 | target 63 3459 | ] 3460 | edge 3461 | [ 3462 | source 109 3463 | target 1 3464 | ] 3465 | edge 3466 | [ 3467 | source 109 3468 | target 33 3469 | ] 3470 | edge 3471 | [ 3472 | source 109 3473 | target 103 3474 | ] 3475 | edge 3476 | [ 3477 | source 109 3478 | target 105 3479 | ] 3480 | edge 3481 | [ 3482 | source 109 3483 | target 45 3484 | ] 3485 | edge 3486 | [ 3487 | source 109 3488 | target 25 3489 | ] 3490 | edge 3491 | [ 3492 | source 109 3493 | target 89 3494 | ] 3495 | edge 3496 | [ 3497 | source 109 3498 | target 37 3499 | ] 3500 | edge 3501 | [ 3502 | source 110 3503 | target 67 3504 | ] 3505 | edge 3506 | [ 3507 | source 110 3508 | target 13 3509 | ] 3510 | edge 3511 | [ 3512 | source 110 3513 | target 24 3514 | ] 3515 | edge 3516 | [ 3517 | source 110 3518 | target 80 3519 | ] 3520 | edge 3521 | [ 3522 | source 110 3523 | target 88 3524 | ] 3525 | edge 3526 | [ 3527 | source 110 3528 | target 49 3529 | ] 3530 | edge 3531 | [ 3532 | source 110 3533 | target 73 3534 | ] 3535 | edge 3536 | [ 3537 | source 110 3538 | target 46 3539 | ] 3540 | edge 3541 | [ 3542 | source 110 3543 | target 83 3544 | ] 3545 | edge 3546 | [ 3547 | source 110 3548 | target 53 3549 | ] 3550 | edge 3551 | [ 3552 | source 111 3553 | target 23 3554 | ] 3555 | edge 3556 | [ 3557 | source 111 3558 | target 64 3559 | ] 3560 | edge 3561 | [ 3562 | source 111 3563 | target 46 3564 | ] 3565 | edge 3566 | [ 3567 | source 111 3568 | target 78 3569 | ] 3570 | edge 3571 | [ 3572 | source 111 3573 | target 8 3574 | ] 3575 | edge 3576 | [ 3577 | source 111 3578 | target 21 3579 | ] 3580 | edge 3581 | [ 3582 | source 111 3583 | target 51 3584 | ] 3585 | edge 3586 | [ 3587 | source 111 3588 | target 7 3589 | ] 3590 | edge 3591 | [ 3592 | source 111 3593 | target 108 3594 | ] 3595 | edge 3596 | [ 3597 | source 111 3598 | target 68 3599 | ] 3600 | edge 3601 | [ 3602 | source 111 3603 | target 77 3604 | ] 3605 | edge 3606 | [ 3607 | source 112 3608 | target 52 3609 | ] 3610 | edge 3611 | [ 3612 | source 112 3613 | target 96 3614 | ] 3615 | edge 3616 | [ 3617 | source 112 3618 | target 97 3619 | ] 3620 | edge 3621 | [ 3622 | source 112 3623 | target 57 3624 | ] 3625 | edge 3626 | [ 3627 | source 112 3628 | target 66 3629 | ] 3630 | edge 3631 | [ 3632 | source 112 3633 | target 63 3634 | ] 3635 | edge 3636 | [ 3637 | source 112 3638 | target 44 3639 | ] 3640 | edge 3641 | [ 3642 | source 112 3643 | target 92 3644 | ] 3645 | edge 3646 | [ 3647 | source 112 3648 | target 75 3649 | ] 3650 | edge 3651 | [ 3652 | source 112 3653 | target 91 3654 | ] 3655 | edge 3656 | [ 3657 | source 113 3658 | target 28 3659 | ] 3660 | edge 3661 | [ 3662 | source 113 3663 | target 20 3664 | ] 3665 | edge 3666 | [ 3667 | source 113 3668 | target 95 3669 | ] 3670 | edge 3671 | [ 3672 | source 113 3673 | target 59 3674 | ] 3675 | edge 3676 | [ 3677 | source 113 3678 | target 70 3679 | ] 3680 | edge 3681 | [ 3682 | source 113 3683 | target 17 3684 | ] 3685 | edge 3686 | [ 3687 | source 113 3688 | target 87 3689 | ] 3690 | edge 3691 | [ 3692 | source 113 3693 | target 76 3694 | ] 3695 | edge 3696 | [ 3697 | source 113 3698 | target 65 3699 | ] 3700 | edge 3701 | [ 3702 | source 113 3703 | target 96 3704 | ] 3705 | edge 3706 | [ 3707 | source 114 3708 | target 83 3709 | ] 3710 | edge 3711 | [ 3712 | source 114 3713 | target 88 3714 | ] 3715 | edge 3716 | [ 3717 | source 114 3718 | target 110 3719 | ] 3720 | edge 3721 | [ 3722 | source 114 3723 | target 53 3724 | ] 3725 | edge 3726 | [ 3727 | source 114 3728 | target 49 3729 | ] 3730 | edge 3731 | [ 3732 | source 114 3733 | target 73 3734 | ] 3735 | edge 3736 | [ 3737 | source 114 3738 | target 46 3739 | ] 3740 | edge 3741 | [ 3742 | source 114 3743 | target 67 3744 | ] 3745 | edge 3746 | [ 3747 | source 114 3748 | target 58 3749 | ] 3750 | edge 3751 | [ 3752 | source 114 3753 | target 15 3754 | ] 3755 | edge 3756 | [ 3757 | source 114 3758 | target 104 3759 | ] 3760 | ] 3761 | -------------------------------------------------------------------------------- /data/jazz.net: -------------------------------------------------------------------------------- 1 | *Vertices 198 2 | 1 "1" 1022.82733 -59.509987 0.0 3 | 2 "2" -181.74585 -1081.682 0.0 4 | 3 "3" -788.42645 545.07074 0.0 5 | 4 "4" -1102.9778 18.539915 0.0 6 | 5 "5" -544.7176 -266.97504 0.0 7 | 6 "6" -451.57605 1001.06256 0.0 8 | 7 "7" 469.13635 -468.9689 0.0 9 | 8 "8" 802.1033 132.76338 0.0 10 | 9 "9" -371.91058 520.6125 0.0 11 | 10 "10" 576.74036 -775.42926 0.0 12 | 11 "11" -197.13835 22.537003 0.0 13 | 12 "12" -298.2708 -732.362 0.0 14 | 13 "13" -1001.0991 123.628555 0.0 15 | 14 "14" 282.417 -951.0475 0.0 16 | 15 "15" 741.93774 872.087 0.0 17 | 16 "16" 982.68207 540.7922 0.0 18 | 17 "17" -260.5207 955.27704 0.0 19 | 18 "18" -289.7319 -455.39728 0.0 20 | 19 "19" -151.1632 -829.95306 0.0 21 | 20 "20" 284.25937 87.15319 0.0 22 | 21 "21" -491.11182 -1002.03625 0.0 23 | 22 "22" -71.08032 407.8755 0.0 24 | 23 "23" -288.76715 785.7672 0.0 25 | 24 "24" 815.67303 300.89066 0.0 26 | 25 "25" -596.1936 583.00183 0.0 27 | 26 "26" -920.32587 -221.17249 0.0 28 | 27 "27" -826.3628 358.84854 0.0 29 | 28 "28" -889.4728 -385.75134 0.0 30 | 29 "29" -684.054 -283.91803 0.0 31 | 30 "30" 660.8868 -949.1957 0.0 32 | 31 "31" -265.20822 -148.80878 0.0 33 | 32 "32" 45.778263 556.41016 0.0 34 | 33 "33" 134.10995 817.37225 0.0 35 | 34 "34" 389.95517 -1062.6904 0.0 36 | 35 "35" 776.8832 519.506 0.0 37 | 36 "36" 67.13639 -800.17944 0.0 38 | 37 "37" -921.9402 469.47925 0.0 39 | 38 "38" -49.26684 967.39905 0.0 40 | 39 "39" -451.58606 833.95374 0.0 41 | 40 "40" 235.20605 889.4369 0.0 42 | 41 "41" -490.77682 -844.71783 0.0 43 | 42 "42" 1083.1416 39.882027 0.0 44 | 43 "43" -59.429363 271.72012 0.0 45 | 44 "44" 559.96857 675.1468 0.0 46 | 45 "45" -349.26892 -897.37823 0.0 47 | 46 "46" 933.8535 174.93521 0.0 48 | 47 "47" -1044.0273 419.29965 0.0 49 | 48 "48" 906.5001 679.9417 0.0 50 | 49 "49" -126.493095 -540.75616 0.0 51 | 50 "50" 547.0601 80.324745 0.0 52 | 51 "51" -638.8393 423.7302 0.0 53 | 52 "52" -367.49594 35.815105 0.0 54 | 53 "53" -141.32864 -387.64618 0.0 55 | 54 "54" 134.7859 -647.0679 0.0 56 | 55 "55" -152.97008 -705.5132 0.0 57 | 56 "56" -54.04675 -455.3756 0.0 58 | 57 "57" -19.651018 -710.2292 0.0 59 | 58 "58" 344.81116 834.45703 0.0 60 | 59 "59" -248.99619 491.49527 0.0 61 | 60 "60" 380.5603 -26.054983 0.0 62 | 61 "61" 274.66623 -603.9789 0.0 63 | 62 "62" 533.33936 880.5841 0.0 64 | 63 "63" 432.90945 926.2218 0.0 65 | 64 "64" 451.7763 750.0104 0.0 66 | 65 "65" 231.9797 716.53516 0.0 67 | 66 "66" 346.1823 675.9455 0.0 68 | 67 "67" 64.29448 -391.57764 0.0 69 | 68 "68" 937.20844 395.32254 0.0 70 | 69 "69" 429.72855 -317.6629 0.0 71 | 70 "70" 312.27682 -387.82797 0.0 72 | 71 "71" 86.13116 -233.83478 0.0 73 | 72 "72" 882.45636 -669.9051 0.0 74 | 73 "73" -470.46 -58.572014 0.0 75 | 74 "74" 1009.4643 -344.52548 0.0 76 | 75 "75" -666.69586 103.10713 0.0 77 | 76 "76" -516.6516 382.64352 0.0 78 | 77 "77" -623.6333 -545.50836 0.0 79 | 78 "78" 685.4265 281.83182 0.0 80 | 79 "79" -433.70456 196.50894 0.0 81 | 80 "80" -14.669765 756.27234 0.0 82 | 81 "81" 537.4732 -49.513447 0.0 83 | 82 "82" -417.0589 646.10065 0.0 84 | 83 "83" 227.44826 -178.97704 0.0 85 | 84 "84" -145.49876 143.44131 0.0 86 | 85 "85" -958.1217 -67.052475 0.0 87 | 86 "86" -573.6708 -393.85782 0.0 88 | 87 "87" 485.92734 -885.82056 0.0 89 | 88 "88" -278.44064 -275.58542 0.0 90 | 89 "89" 596.9424 -245.97174 0.0 91 | 90 "90" -480.45993 -491.94327 0.0 92 | 91 "91" 333.93768 1004.0785 0.0 93 | 92 "92" -698.33124 824.02167 0.0 94 | 93 "93" 842.0968 -177.50795 0.0 95 | 94 "94" 716.6845 -159.6035 0.0 96 | 95 "95" 668.7712 68.46269 0.0 97 | 96 "96" -385.0566 -379.19885 0.0 98 | 97 "97" -477.41797 -679.1279 0.0 99 | 98 "98" 427.94586 410.14825 0.0 100 | 99 "99" 330.84485 314.9357 0.0 101 | 100 "100" 292.95538 427.50156 0.0 102 | 101 "101" 530.2136 348.23602 0.0 103 | 102 "102" -1083.4053 -252.13782 0.0 104 | 103 "103" 943.76984 -241.46414 0.0 105 | 104 "104" 1047.1946 333.88272 0.0 106 | 105 "105" 345.8052 538.5461 0.0 107 | 106 "106" 587.10095 460.8478 0.0 108 | 107 "107" 614.501 777.3076 0.0 109 | 108 "108" 562.7339 210.66008 0.0 110 | 109 "109" 648.7756 570.6646 0.0 111 | 110 "110" 126.9195 436.99225 0.0 112 | 111 "111" 266.45135 -55.812244 0.0 113 | 112 "112" 372.17538 -840.0698 0.0 114 | 113 "113" 56.885178 -966.4146 0.0 115 | 114 "114" 451.14233 -594.3383 0.0 116 | 115 "115" -702.98413 665.73315 0.0 117 | 116 "116" -251.92252 646.1595 0.0 118 | 117 "117" -350.07944 369.5083 0.0 119 | 118 "118" 94.84297 106.45692 0.0 120 | 119 "119" -121.51947 1090.6947 0.0 121 | 120 "120" 62.146133 1133.5132 0.0 122 | 121 "121" 121.75113 -71.25062 0.0 123 | 122 "122" 196.63393 310.1949 0.0 124 | 123 "123" 481.4303 547.70557 0.0 125 | 124 "124" -739.44965 -775.34503 0.0 126 | 125 "125" 578.4323 -376.2891 0.0 127 | 126 "126" -698.832 303.77103 0.0 128 | 127 "127" 597.2553 -633.52234 0.0 129 | 128 "128" -619.08813 -162.12328 0.0 130 | 129 "129" -264.12347 -599.5899 0.0 131 | 130 "130" 453.4842 -733.68195 0.0 132 | 131 "131" 245.92091 217.32317 0.0 133 | 132 "132" 423.84293 114.496506 0.0 134 | 133 "133" -1081.1932 257.14685 0.0 135 | 134 "134" -107.163895 565.4541 0.0 136 | 135 "135" 206.70615 543.7759 0.0 137 | 136 "136" 2.8045723 -96.60707 0.0 138 | 137 "137" -205.76979 341.91528 0.0 139 | 138 "138" -734.741 -616.9651 0.0 140 | 139 "139" -119.17857 862.49097 0.0 141 | 140 "140" -726.78265 -418.27158 0.0 142 | 141 "141" 757.6203 -590.20734 0.0 143 | 142 "142" 213.05403 -434.93097 0.0 144 | 143 "143" -283.52606 194.38264 0.0 145 | 144 "144" -772.0989 174.32623 0.0 146 | 145 "145" -644.8043 -907.2348 0.0 147 | 146 "146" 740.25134 -289.49713 0.0 148 | 147 "147" -646.6148 -45.49834 0.0 149 | 148 "148" -823.4034 745.39325 0.0 150 | 149 "149" -442.47897 -172.32002 0.0 151 | 150 "150" 271.86453 -724.039 0.0 152 | 151 "151" 729.6107 -759.59045 0.0 153 | 152 "152" -321.01718 1076.9336 0.0 154 | 153 "153" -527.8475 120.000916 0.0 155 | 154 "154" 731.3336 422.61063 0.0 156 | 155 "155" -893.0457 71.588196 0.0 157 | 156 "156" -1076.0925 -116.34355 0.0 158 | 157 "157" -592.776 940.142 0.0 159 | 158 "158" 196.86295 -304.16687 0.0 160 | 159 "159" 905.8013 -13.3667755 0.0 161 | 160 "160" -329.95334 -1044.454 0.0 162 | 161 "161" 204.30789 -827.59753 0.0 163 | 162 "162" -142.04123 715.43427 0.0 164 | 163 "163" -901.2538 246.20644 0.0 165 | 164 "164" 335.47174 -261.85928 0.0 166 | 165 "165" -17.143827 -1136.0347 0.0 167 | 166 "166" 1052.6205 193.42154 0.0 168 | 167 "167" -763.7168 -135.86678 0.0 169 | 168 "168" 424.27475 228.84525 0.0 170 | 169 "169" -966.0804 -506.51666 0.0 171 | 170 "170" 165.47298 23.428272 0.0 172 | 171 "171" 753.9805 -12.436633 0.0 173 | 172 "172" -785.40125 -21.78245 0.0 174 | 173 "173" -1018.06744 -367.53442 0.0 175 | 174 "174" -15.474146 58.72018 0.0 176 | 175 "175" 651.04144 -510.55505 0.0 177 | 176 "176" -817.07904 -517.78394 0.0 178 | 177 "177" 905.16785 -491.24298 0.0 179 | 178 "178" -104.80416 -198.095 0.0 180 | 179 "179" 114.99307 657.3634 0.0 181 | 180 "180" -928.6636 628.3357 0.0 182 | 181 "181" -553.7394 742.13245 0.0 183 | 182 "182" 62.99982 287.27786 0.0 184 | 183 "183" 472.68695 -151.31506 0.0 185 | 184 "184" -605.7247 -686.7065 0.0 186 | 185 "185" 177.8675 -1043.5117 0.0 187 | 186 "186" -72.05151 -955.40027 0.0 188 | 187 "187" 762.81085 698.92883 0.0 189 | 188 "188" 122.61906 979.90717 0.0 190 | 189 "189" -581.15076 246.03496 0.0 191 | 190 "190" 855.2582 -349.24655 0.0 192 | 191 "191" -809.4542 -276.322 0.0 193 | 192 "192" 343.99112 -507.6297 0.0 194 | 193 "193" 747.6794 -417.2777 0.0 195 | 194 "194" -6.737169 -280.32895 0.0 196 | 195 "195" 134.88197 -516.7665 0.0 197 | 196 "196" 10.579486 -562.4851 0.0 198 | 197 "197" -125.42776 -85.05852 0.0 199 | 198 "198" -879.5571 -662.5224 0.0 200 | *Edges 201 | 1 8 2.0 202 | 1 24 2.0 203 | 1 35 2.0 204 | 1 42 2.0 205 | 1 46 2.0 206 | 1 60 2.0 207 | 1 74 2.0 208 | 1 78 2.0 209 | 1 81 2.0 210 | 1 95 2.0 211 | 1 98 2.0 212 | 1 99 2.0 213 | 1 100 2.0 214 | 1 101 2.0 215 | 1 103 2.0 216 | 1 104 2.0 217 | 1 108 2.0 218 | 1 131 2.0 219 | 1 132 2.0 220 | 1 154 2.0 221 | 1 159 2.0 222 | 1 168 2.0 223 | 1 171 2.0 224 | 2 14 2.0 225 | 2 54 2.0 226 | 2 150 2.0 227 | 3 115 2.0 228 | 3 153 2.0 229 | 3 167 2.0 230 | 3 172 2.0 231 | 4 5 2.0 232 | 4 13 2.0 233 | 4 26 2.0 234 | 4 77 2.0 235 | 4 85 2.0 236 | 4 102 2.0 237 | 4 138 2.0 238 | 4 147 2.0 239 | 4 153 2.0 240 | 4 156 2.0 241 | 4 167 2.0 242 | 4 169 2.0 243 | 4 172 2.0 244 | 4 173 2.0 245 | 4 176 2.0 246 | 4 189 2.0 247 | 5 13 2.0 248 | 5 19 2.0 249 | 5 21 2.0 250 | 5 26 2.0 251 | 5 27 2.0 252 | 5 28 2.0 253 | 5 29 2.0 254 | 5 51 2.0 255 | 5 53 2.0 256 | 5 54 2.0 257 | 5 57 2.0 258 | 5 73 2.0 259 | 5 75 2.0 260 | 5 76 2.0 261 | 5 77 2.0 262 | 5 79 2.0 263 | 5 85 2.0 264 | 5 86 2.0 265 | 5 90 2.0 266 | 5 96 2.0 267 | 5 97 2.0 268 | 5 102 2.0 269 | 5 124 2.0 270 | 5 126 2.0 271 | 5 128 2.0 272 | 5 136 2.0 273 | 5 138 2.0 274 | 5 140 2.0 275 | 5 144 2.0 276 | 5 147 2.0 277 | 5 149 2.0 278 | 5 153 2.0 279 | 5 155 2.0 280 | 5 156 2.0 281 | 5 163 2.0 282 | 5 167 2.0 283 | 5 169 2.0 284 | 5 172 2.0 285 | 5 173 2.0 286 | 5 176 2.0 287 | 5 189 2.0 288 | 5 191 2.0 289 | 5 194 2.0 290 | 5 196 2.0 291 | 5 197 2.0 292 | 6 152 2.0 293 | 6 157 2.0 294 | 7 10 2.0 295 | 7 11 2.0 296 | 7 14 2.0 297 | 7 19 2.0 298 | 7 36 2.0 299 | 7 49 2.0 300 | 7 53 2.0 301 | 7 55 2.0 302 | 7 56 2.0 303 | 7 57 2.0 304 | 7 60 2.0 305 | 7 61 2.0 306 | 7 67 2.0 307 | 7 69 2.0 308 | 7 70 2.0 309 | 7 71 2.0 310 | 7 72 2.0 311 | 7 74 2.0 312 | 7 81 2.0 313 | 7 83 2.0 314 | 7 87 2.0 315 | 7 93 2.0 316 | 7 94 2.0 317 | 7 95 2.0 318 | 7 103 2.0 319 | 7 108 2.0 320 | 7 111 2.0 321 | 7 112 2.0 322 | 7 113 2.0 323 | 7 114 2.0 324 | 7 122 2.0 325 | 7 125 2.0 326 | 7 127 2.0 327 | 7 129 2.0 328 | 7 130 2.0 329 | 7 132 2.0 330 | 7 136 2.0 331 | 7 141 2.0 332 | 7 146 2.0 333 | 7 150 2.0 334 | 7 151 2.0 335 | 7 158 2.0 336 | 7 161 2.0 337 | 7 164 2.0 338 | 7 168 2.0 339 | 7 170 2.0 340 | 7 171 2.0 341 | 7 177 2.0 342 | 7 178 2.0 343 | 7 185 2.0 344 | 7 190 2.0 345 | 7 192 2.0 346 | 7 193 2.0 347 | 7 194 2.0 348 | 7 195 2.0 349 | 7 196 2.0 350 | 7 197 2.0 351 | 8 35 2.0 352 | 8 46 2.0 353 | 8 60 2.0 354 | 8 89 2.0 355 | 8 95 2.0 356 | 8 98 2.0 357 | 8 99 2.0 358 | 8 100 2.0 359 | 8 101 2.0 360 | 8 110 2.0 361 | 8 118 2.0 362 | 8 121 2.0 363 | 8 131 2.0 364 | 8 132 2.0 365 | 8 136 2.0 366 | 8 142 2.0 367 | 8 154 2.0 368 | 8 168 2.0 369 | 8 171 2.0 370 | 8 174 2.0 371 | 9 11 2.0 372 | 9 23 2.0 373 | 9 32 2.0 374 | 9 38 2.0 375 | 9 71 2.0 376 | 9 80 2.0 377 | 9 111 2.0 378 | 9 116 2.0 379 | 9 117 2.0 380 | 9 118 2.0 381 | 9 121 2.0 382 | 9 122 2.0 383 | 9 135 2.0 384 | 9 137 2.0 385 | 9 139 2.0 386 | 9 153 2.0 387 | 9 162 2.0 388 | 9 168 2.0 389 | 9 179 2.0 390 | 9 189 2.0 391 | 10 11 2.0 392 | 10 14 2.0 393 | 10 49 2.0 394 | 10 53 2.0 395 | 10 57 2.0 396 | 10 60 2.0 397 | 10 61 2.0 398 | 10 69 2.0 399 | 10 70 2.0 400 | 10 71 2.0 401 | 10 74 2.0 402 | 10 87 2.0 403 | 10 103 2.0 404 | 10 112 2.0 405 | 10 113 2.0 406 | 10 114 2.0 407 | 10 127 2.0 408 | 10 130 2.0 409 | 10 141 2.0 410 | 10 151 2.0 411 | 10 158 2.0 412 | 10 161 2.0 413 | 10 164 2.0 414 | 10 192 2.0 415 | 10 195 2.0 416 | 10 196 2.0 417 | 11 23 2.0 418 | 11 32 2.0 419 | 11 38 2.0 420 | 11 49 2.0 421 | 11 53 2.0 422 | 11 57 2.0 423 | 11 71 2.0 424 | 11 80 2.0 425 | 11 112 2.0 426 | 11 113 2.0 427 | 11 114 2.0 428 | 11 135 2.0 429 | 11 139 2.0 430 | 11 158 2.0 431 | 11 161 2.0 432 | 11 162 2.0 433 | 11 164 2.0 434 | 11 179 2.0 435 | 11 189 2.0 436 | 11 196 2.0 437 | 12 18 2.0 438 | 12 19 2.0 439 | 12 31 2.0 440 | 12 49 2.0 441 | 12 53 2.0 442 | 12 54 2.0 443 | 12 55 2.0 444 | 12 56 2.0 445 | 12 57 2.0 446 | 12 60 2.0 447 | 12 61 2.0 448 | 12 71 2.0 449 | 12 73 2.0 450 | 12 83 2.0 451 | 12 114 2.0 452 | 12 129 2.0 453 | 12 170 2.0 454 | 12 194 2.0 455 | 12 195 2.0 456 | 12 196 2.0 457 | 12 197 2.0 458 | 13 25 2.0 459 | 13 26 2.0 460 | 13 28 2.0 461 | 13 73 2.0 462 | 13 85 2.0 463 | 13 86 2.0 464 | 13 92 2.0 465 | 13 102 2.0 466 | 13 128 2.0 467 | 13 140 2.0 468 | 13 147 2.0 469 | 13 148 2.0 470 | 13 149 2.0 471 | 13 153 2.0 472 | 13 155 2.0 473 | 13 156 2.0 474 | 13 167 2.0 475 | 13 169 2.0 476 | 13 172 2.0 477 | 13 173 2.0 478 | 13 176 2.0 479 | 13 189 2.0 480 | 13 191 2.0 481 | 14 54 2.0 482 | 14 60 2.0 483 | 14 61 2.0 484 | 14 69 2.0 485 | 14 70 2.0 486 | 14 87 2.0 487 | 14 96 2.0 488 | 14 112 2.0 489 | 14 114 2.0 490 | 14 127 2.0 491 | 14 130 2.0 492 | 14 141 2.0 493 | 14 150 2.0 494 | 14 151 2.0 495 | 14 158 2.0 496 | 14 161 2.0 497 | 14 164 2.0 498 | 14 185 2.0 499 | 14 186 2.0 500 | 14 192 2.0 501 | 14 194 2.0 502 | 14 195 2.0 503 | 15 16 2.0 504 | 15 24 2.0 505 | 15 48 2.0 506 | 15 81 2.0 507 | 15 91 2.0 508 | 15 104 2.0 509 | 15 105 2.0 510 | 15 107 2.0 511 | 16 24 2.0 512 | 16 48 2.0 513 | 16 78 2.0 514 | 16 81 2.0 515 | 16 91 2.0 516 | 16 104 2.0 517 | 16 105 2.0 518 | 16 107 2.0 519 | 17 62 2.0 520 | 17 136 2.0 521 | 18 19 2.0 522 | 18 29 2.0 523 | 18 31 2.0 524 | 18 50 2.0 525 | 18 53 2.0 526 | 18 54 2.0 527 | 18 55 2.0 528 | 18 56 2.0 529 | 18 57 2.0 530 | 18 60 2.0 531 | 18 61 2.0 532 | 18 73 2.0 533 | 18 77 2.0 534 | 18 86 2.0 535 | 18 88 2.0 536 | 18 90 2.0 537 | 18 96 2.0 538 | 18 114 2.0 539 | 18 128 2.0 540 | 18 129 2.0 541 | 18 131 2.0 542 | 18 132 2.0 543 | 18 136 2.0 544 | 18 140 2.0 545 | 18 147 2.0 546 | 18 149 2.0 547 | 18 158 2.0 548 | 18 167 2.0 549 | 18 172 2.0 550 | 18 183 2.0 551 | 18 184 2.0 552 | 18 191 2.0 553 | 18 194 2.0 554 | 18 195 2.0 555 | 18 196 2.0 556 | 18 197 2.0 557 | 19 20 2.0 558 | 19 31 2.0 559 | 19 49 2.0 560 | 19 53 2.0 561 | 19 54 2.0 562 | 19 55 2.0 563 | 19 56 2.0 564 | 19 57 2.0 565 | 19 60 2.0 566 | 19 61 2.0 567 | 19 70 2.0 568 | 19 129 2.0 569 | 19 130 2.0 570 | 19 136 2.0 571 | 19 185 2.0 572 | 19 192 2.0 573 | 19 194 2.0 574 | 19 195 2.0 575 | 19 196 2.0 576 | 19 197 2.0 577 | 20 24 2.0 578 | 20 60 2.0 579 | 20 70 2.0 580 | 20 78 2.0 581 | 20 80 2.0 582 | 20 87 2.0 583 | 20 136 2.0 584 | 20 137 2.0 585 | 20 158 2.0 586 | 20 168 2.0 587 | 22 43 2.0 588 | 22 81 2.0 589 | 22 83 2.0 590 | 22 98 2.0 591 | 22 99 2.0 592 | 22 100 2.0 593 | 22 101 2.0 594 | 22 105 2.0 595 | 22 108 2.0 596 | 22 131 2.0 597 | 22 132 2.0 598 | 22 136 2.0 599 | 22 164 2.0 600 | 22 170 2.0 601 | 22 174 2.0 602 | 22 178 2.0 603 | 22 182 2.0 604 | 22 194 2.0 605 | 22 197 2.0 606 | 23 32 2.0 607 | 23 38 2.0 608 | 23 60 2.0 609 | 23 80 2.0 610 | 23 111 2.0 611 | 23 135 2.0 612 | 23 139 2.0 613 | 23 162 2.0 614 | 23 168 2.0 615 | 23 179 2.0 616 | 23 189 2.0 617 | 24 35 2.0 618 | 24 42 2.0 619 | 24 43 2.0 620 | 24 46 2.0 621 | 24 48 2.0 622 | 24 60 2.0 623 | 24 74 2.0 624 | 24 78 2.0 625 | 24 80 2.0 626 | 24 81 2.0 627 | 24 91 2.0 628 | 24 99 2.0 629 | 24 100 2.0 630 | 24 103 2.0 631 | 24 104 2.0 632 | 24 105 2.0 633 | 24 107 2.0 634 | 24 108 2.0 635 | 24 132 2.0 636 | 24 136 2.0 637 | 24 154 2.0 638 | 24 168 2.0 639 | 24 171 2.0 640 | 24 174 2.0 641 | 24 182 2.0 642 | 25 92 2.0 643 | 25 117 2.0 644 | 25 148 2.0 645 | 25 149 2.0 646 | 25 153 2.0 647 | 26 28 2.0 648 | 26 29 2.0 649 | 26 73 2.0 650 | 26 77 2.0 651 | 26 85 2.0 652 | 26 86 2.0 653 | 26 90 2.0 654 | 26 96 2.0 655 | 26 102 2.0 656 | 26 124 2.0 657 | 26 128 2.0 658 | 26 138 2.0 659 | 26 140 2.0 660 | 26 147 2.0 661 | 26 149 2.0 662 | 26 153 2.0 663 | 26 155 2.0 664 | 26 156 2.0 665 | 26 167 2.0 666 | 26 169 2.0 667 | 26 172 2.0 668 | 26 173 2.0 669 | 26 176 2.0 670 | 26 178 2.0 671 | 26 184 2.0 672 | 26 189 2.0 673 | 26 191 2.0 674 | 26 198 2.0 675 | 27 29 2.0 676 | 27 51 2.0 677 | 27 76 2.0 678 | 27 96 2.0 679 | 27 126 2.0 680 | 27 128 2.0 681 | 27 144 2.0 682 | 27 147 2.0 683 | 27 149 2.0 684 | 27 153 2.0 685 | 27 167 2.0 686 | 27 172 2.0 687 | 28 29 2.0 688 | 28 73 2.0 689 | 28 77 2.0 690 | 28 85 2.0 691 | 28 86 2.0 692 | 28 90 2.0 693 | 28 96 2.0 694 | 28 102 2.0 695 | 28 124 2.0 696 | 28 128 2.0 697 | 28 138 2.0 698 | 28 140 2.0 699 | 28 147 2.0 700 | 28 149 2.0 701 | 28 153 2.0 702 | 28 155 2.0 703 | 28 156 2.0 704 | 28 167 2.0 705 | 28 172 2.0 706 | 28 173 2.0 707 | 28 176 2.0 708 | 28 184 2.0 709 | 28 189 2.0 710 | 28 191 2.0 711 | 28 198 2.0 712 | 29 51 2.0 713 | 29 73 2.0 714 | 29 76 2.0 715 | 29 77 2.0 716 | 29 86 2.0 717 | 29 88 2.0 718 | 29 90 2.0 719 | 29 96 2.0 720 | 29 97 2.0 721 | 29 124 2.0 722 | 29 126 2.0 723 | 29 128 2.0 724 | 29 136 2.0 725 | 29 138 2.0 726 | 29 140 2.0 727 | 29 144 2.0 728 | 29 147 2.0 729 | 29 149 2.0 730 | 29 153 2.0 731 | 29 167 2.0 732 | 29 169 2.0 733 | 29 172 2.0 734 | 29 176 2.0 735 | 29 184 2.0 736 | 29 191 2.0 737 | 29 198 2.0 738 | 30 34 2.0 739 | 31 32 2.0 740 | 31 53 2.0 741 | 31 54 2.0 742 | 31 55 2.0 743 | 31 56 2.0 744 | 31 57 2.0 745 | 31 60 2.0 746 | 31 61 2.0 747 | 31 106 2.0 748 | 31 111 2.0 749 | 31 123 2.0 750 | 31 129 2.0 751 | 31 170 2.0 752 | 31 194 2.0 753 | 31 195 2.0 754 | 31 196 2.0 755 | 31 197 2.0 756 | 32 33 2.0 757 | 32 35 2.0 758 | 32 38 2.0 759 | 32 40 2.0 760 | 32 44 2.0 761 | 32 58 2.0 762 | 32 60 2.0 763 | 32 61 2.0 764 | 32 62 2.0 765 | 32 63 2.0 766 | 32 64 2.0 767 | 32 65 2.0 768 | 32 66 2.0 769 | 32 80 2.0 770 | 32 91 2.0 771 | 32 98 2.0 772 | 32 99 2.0 773 | 32 100 2.0 774 | 32 101 2.0 775 | 32 105 2.0 776 | 32 106 2.0 777 | 32 107 2.0 778 | 32 108 2.0 779 | 32 109 2.0 780 | 32 110 2.0 781 | 32 111 2.0 782 | 32 122 2.0 783 | 32 123 2.0 784 | 32 131 2.0 785 | 32 132 2.0 786 | 32 135 2.0 787 | 32 139 2.0 788 | 32 154 2.0 789 | 32 162 2.0 790 | 32 168 2.0 791 | 32 179 2.0 792 | 32 189 2.0 793 | 33 35 2.0 794 | 33 38 2.0 795 | 33 40 2.0 796 | 33 44 2.0 797 | 33 58 2.0 798 | 33 60 2.0 799 | 33 62 2.0 800 | 33 63 2.0 801 | 33 64 2.0 802 | 33 65 2.0 803 | 33 66 2.0 804 | 33 91 2.0 805 | 33 98 2.0 806 | 33 99 2.0 807 | 33 100 2.0 808 | 33 101 2.0 809 | 33 105 2.0 810 | 33 106 2.0 811 | 33 107 2.0 812 | 33 108 2.0 813 | 33 109 2.0 814 | 33 110 2.0 815 | 33 116 2.0 816 | 33 119 2.0 817 | 33 122 2.0 818 | 33 123 2.0 819 | 33 131 2.0 820 | 33 132 2.0 821 | 33 134 2.0 822 | 33 135 2.0 823 | 33 154 2.0 824 | 33 168 2.0 825 | 33 179 2.0 826 | 34 70 2.0 827 | 34 83 2.0 828 | 34 192 2.0 829 | 35 40 2.0 830 | 35 44 2.0 831 | 35 46 2.0 832 | 35 58 2.0 833 | 35 60 2.0 834 | 35 62 2.0 835 | 35 63 2.0 836 | 35 64 2.0 837 | 35 65 2.0 838 | 35 66 2.0 839 | 35 68 2.0 840 | 35 74 2.0 841 | 35 78 2.0 842 | 35 95 2.0 843 | 35 98 2.0 844 | 35 99 2.0 845 | 35 100 2.0 846 | 35 101 2.0 847 | 35 103 2.0 848 | 35 104 2.0 849 | 35 105 2.0 850 | 35 106 2.0 851 | 35 107 2.0 852 | 35 108 2.0 853 | 35 109 2.0 854 | 35 110 2.0 855 | 35 122 2.0 856 | 35 123 2.0 857 | 35 131 2.0 858 | 35 132 2.0 859 | 35 135 2.0 860 | 35 154 2.0 861 | 35 166 2.0 862 | 35 168 2.0 863 | 35 170 2.0 864 | 35 171 2.0 865 | 35 179 2.0 866 | 35 187 2.0 867 | 36 49 2.0 868 | 36 53 2.0 869 | 36 54 2.0 870 | 36 55 2.0 871 | 36 56 2.0 872 | 36 60 2.0 873 | 36 67 2.0 874 | 36 70 2.0 875 | 36 72 2.0 876 | 36 81 2.0 877 | 36 83 2.0 878 | 36 87 2.0 879 | 36 129 2.0 880 | 36 150 2.0 881 | 36 158 2.0 882 | 36 161 2.0 883 | 36 164 2.0 884 | 36 170 2.0 885 | 36 174 2.0 886 | 36 178 2.0 887 | 36 192 2.0 888 | 36 194 2.0 889 | 36 195 2.0 890 | 36 196 2.0 891 | 36 197 2.0 892 | 37 90 2.0 893 | 37 133 2.0 894 | 37 153 2.0 895 | 37 155 2.0 896 | 37 180 2.0 897 | 38 40 2.0 898 | 38 44 2.0 899 | 38 63 2.0 900 | 38 80 2.0 901 | 38 91 2.0 902 | 38 105 2.0 903 | 38 116 2.0 904 | 38 119 2.0 905 | 38 134 2.0 906 | 38 135 2.0 907 | 38 139 2.0 908 | 38 162 2.0 909 | 38 179 2.0 910 | 38 189 2.0 911 | 39 51 2.0 912 | 39 80 2.0 913 | 39 116 2.0 914 | 39 149 2.0 915 | 39 153 2.0 916 | 39 181 2.0 917 | 40 44 2.0 918 | 40 58 2.0 919 | 40 60 2.0 920 | 40 62 2.0 921 | 40 63 2.0 922 | 40 64 2.0 923 | 40 65 2.0 924 | 40 66 2.0 925 | 40 91 2.0 926 | 40 98 2.0 927 | 40 99 2.0 928 | 40 100 2.0 929 | 40 101 2.0 930 | 40 105 2.0 931 | 40 106 2.0 932 | 40 107 2.0 933 | 40 108 2.0 934 | 40 109 2.0 935 | 40 110 2.0 936 | 40 116 2.0 937 | 40 119 2.0 938 | 40 122 2.0 939 | 40 123 2.0 940 | 40 131 2.0 941 | 40 132 2.0 942 | 40 134 2.0 943 | 40 135 2.0 944 | 40 154 2.0 945 | 40 168 2.0 946 | 40 179 2.0 947 | 41 45 2.0 948 | 41 77 2.0 949 | 41 86 2.0 950 | 41 88 2.0 951 | 41 96 2.0 952 | 41 97 2.0 953 | 41 136 2.0 954 | 42 46 2.0 955 | 42 50 2.0 956 | 42 81 2.0 957 | 42 104 2.0 958 | 42 106 2.0 959 | 42 123 2.0 960 | 42 136 2.0 961 | 42 159 2.0 962 | 42 182 2.0 963 | 42 183 2.0 964 | 43 59 2.0 965 | 43 78 2.0 966 | 43 81 2.0 967 | 43 82 2.0 968 | 43 83 2.0 969 | 43 98 2.0 970 | 43 99 2.0 971 | 43 100 2.0 972 | 43 101 2.0 973 | 43 105 2.0 974 | 43 108 2.0 975 | 43 118 2.0 976 | 43 121 2.0 977 | 43 122 2.0 978 | 43 131 2.0 979 | 43 132 2.0 980 | 43 136 2.0 981 | 43 143 2.0 982 | 43 158 2.0 983 | 43 162 2.0 984 | 43 164 2.0 985 | 43 170 2.0 986 | 43 174 2.0 987 | 43 178 2.0 988 | 43 182 2.0 989 | 43 194 2.0 990 | 43 197 2.0 991 | 44 50 2.0 992 | 44 58 2.0 993 | 44 60 2.0 994 | 44 62 2.0 995 | 44 63 2.0 996 | 44 64 2.0 997 | 44 65 2.0 998 | 44 66 2.0 999 | 44 68 2.0 1000 | 44 91 2.0 1001 | 44 98 2.0 1002 | 44 99 2.0 1003 | 44 100 2.0 1004 | 44 101 2.0 1005 | 44 105 2.0 1006 | 44 106 2.0 1007 | 44 107 2.0 1008 | 44 108 2.0 1009 | 44 109 2.0 1010 | 44 110 2.0 1011 | 44 122 2.0 1012 | 44 123 2.0 1013 | 44 131 2.0 1014 | 44 132 2.0 1015 | 44 135 2.0 1016 | 44 139 2.0 1017 | 44 154 2.0 1018 | 44 166 2.0 1019 | 44 168 2.0 1020 | 44 171 2.0 1021 | 44 179 2.0 1022 | 44 187 2.0 1023 | 45 77 2.0 1024 | 45 86 2.0 1025 | 45 88 2.0 1026 | 45 96 2.0 1027 | 45 97 2.0 1028 | 45 136 2.0 1029 | 46 50 2.0 1030 | 46 60 2.0 1031 | 46 81 2.0 1032 | 46 95 2.0 1033 | 46 98 2.0 1034 | 46 99 2.0 1035 | 46 100 2.0 1036 | 46 101 2.0 1037 | 46 104 2.0 1038 | 46 106 2.0 1039 | 46 123 2.0 1040 | 46 131 2.0 1041 | 46 132 2.0 1042 | 46 154 2.0 1043 | 46 159 2.0 1044 | 46 168 2.0 1045 | 46 171 2.0 1046 | 46 183 2.0 1047 | 47 155 2.0 1048 | 47 167 2.0 1049 | 47 180 2.0 1050 | 48 81 2.0 1051 | 48 91 2.0 1052 | 48 104 2.0 1053 | 48 105 2.0 1054 | 48 107 2.0 1055 | 49 52 2.0 1056 | 49 53 2.0 1057 | 49 54 2.0 1058 | 49 57 2.0 1059 | 49 60 2.0 1060 | 49 67 2.0 1061 | 49 69 2.0 1062 | 49 70 2.0 1063 | 49 71 2.0 1064 | 49 79 2.0 1065 | 49 83 2.0 1066 | 49 90 2.0 1067 | 49 112 2.0 1068 | 49 113 2.0 1069 | 49 114 2.0 1070 | 49 118 2.0 1071 | 49 121 2.0 1072 | 49 125 2.0 1073 | 49 127 2.0 1074 | 49 130 2.0 1075 | 49 136 2.0 1076 | 49 142 2.0 1077 | 49 143 2.0 1078 | 49 149 2.0 1079 | 49 150 2.0 1080 | 49 158 2.0 1081 | 49 161 2.0 1082 | 49 162 2.0 1083 | 49 164 2.0 1084 | 49 174 2.0 1085 | 49 178 2.0 1086 | 49 185 2.0 1087 | 49 192 2.0 1088 | 49 194 2.0 1089 | 49 195 2.0 1090 | 49 196 2.0 1091 | 50 53 2.0 1092 | 50 56 2.0 1093 | 50 60 2.0 1094 | 50 64 2.0 1095 | 50 65 2.0 1096 | 50 66 2.0 1097 | 50 68 2.0 1098 | 50 81 2.0 1099 | 50 88 2.0 1100 | 50 106 2.0 1101 | 50 110 2.0 1102 | 50 111 2.0 1103 | 50 114 2.0 1104 | 50 123 2.0 1105 | 50 131 2.0 1106 | 50 132 2.0 1107 | 50 139 2.0 1108 | 50 158 2.0 1109 | 50 166 2.0 1110 | 50 168 2.0 1111 | 50 179 2.0 1112 | 50 183 2.0 1113 | 50 196 2.0 1114 | 51 75 2.0 1115 | 51 76 2.0 1116 | 51 79 2.0 1117 | 51 96 2.0 1118 | 51 126 2.0 1119 | 51 128 2.0 1120 | 51 136 2.0 1121 | 51 144 2.0 1122 | 51 147 2.0 1123 | 51 149 2.0 1124 | 51 153 2.0 1125 | 51 167 2.0 1126 | 51 172 2.0 1127 | 51 174 2.0 1128 | 51 181 2.0 1129 | 52 53 2.0 1130 | 52 60 2.0 1131 | 52 83 2.0 1132 | 52 88 2.0 1133 | 52 196 2.0 1134 | 53 54 2.0 1135 | 53 55 2.0 1136 | 53 56 2.0 1137 | 53 57 2.0 1138 | 53 60 2.0 1139 | 53 61 2.0 1140 | 53 67 2.0 1141 | 53 71 2.0 1142 | 53 81 2.0 1143 | 53 83 2.0 1144 | 53 88 2.0 1145 | 53 111 2.0 1146 | 53 112 2.0 1147 | 53 113 2.0 1148 | 53 114 2.0 1149 | 53 129 2.0 1150 | 53 131 2.0 1151 | 53 132 2.0 1152 | 53 149 2.0 1153 | 53 150 2.0 1154 | 53 158 2.0 1155 | 53 161 2.0 1156 | 53 164 2.0 1157 | 53 170 2.0 1158 | 53 178 2.0 1159 | 53 183 2.0 1160 | 53 194 2.0 1161 | 53 195 2.0 1162 | 53 196 2.0 1163 | 53 197 2.0 1164 | 54 55 2.0 1165 | 54 56 2.0 1166 | 54 57 2.0 1167 | 54 60 2.0 1168 | 54 61 2.0 1169 | 54 67 2.0 1170 | 54 69 2.0 1171 | 54 70 2.0 1172 | 54 83 2.0 1173 | 54 87 2.0 1174 | 54 93 2.0 1175 | 54 94 2.0 1176 | 54 96 2.0 1177 | 54 111 2.0 1178 | 54 125 2.0 1179 | 54 129 2.0 1180 | 54 130 2.0 1181 | 54 146 2.0 1182 | 54 149 2.0 1183 | 54 150 2.0 1184 | 54 158 2.0 1185 | 54 161 2.0 1186 | 54 164 2.0 1187 | 54 168 2.0 1188 | 54 170 2.0 1189 | 54 174 2.0 1190 | 54 177 2.0 1191 | 54 178 2.0 1192 | 54 186 2.0 1193 | 54 190 2.0 1194 | 54 192 2.0 1195 | 54 193 2.0 1196 | 54 194 2.0 1197 | 54 195 2.0 1198 | 54 196 2.0 1199 | 54 197 2.0 1200 | 55 56 2.0 1201 | 55 57 2.0 1202 | 55 60 2.0 1203 | 55 61 2.0 1204 | 55 67 2.0 1205 | 55 81 2.0 1206 | 55 83 2.0 1207 | 55 129 2.0 1208 | 55 150 2.0 1209 | 55 158 2.0 1210 | 55 164 2.0 1211 | 55 170 2.0 1212 | 55 178 2.0 1213 | 55 194 2.0 1214 | 55 195 2.0 1215 | 55 196 2.0 1216 | 55 197 2.0 1217 | 56 57 2.0 1218 | 56 60 2.0 1219 | 56 61 2.0 1220 | 56 67 2.0 1221 | 56 81 2.0 1222 | 56 83 2.0 1223 | 56 88 2.0 1224 | 56 111 2.0 1225 | 56 114 2.0 1226 | 56 129 2.0 1227 | 56 131 2.0 1228 | 56 132 2.0 1229 | 56 150 2.0 1230 | 56 158 2.0 1231 | 56 164 2.0 1232 | 56 170 2.0 1233 | 56 178 2.0 1234 | 56 183 2.0 1235 | 56 194 2.0 1236 | 56 195 2.0 1237 | 56 196 2.0 1238 | 56 197 2.0 1239 | 57 60 2.0 1240 | 57 61 2.0 1241 | 57 70 2.0 1242 | 57 71 2.0 1243 | 57 83 2.0 1244 | 57 89 2.0 1245 | 57 111 2.0 1246 | 57 112 2.0 1247 | 57 113 2.0 1248 | 57 114 2.0 1249 | 57 121 2.0 1250 | 57 129 2.0 1251 | 57 130 2.0 1252 | 57 136 2.0 1253 | 57 142 2.0 1254 | 57 158 2.0 1255 | 57 161 2.0 1256 | 57 164 2.0 1257 | 57 185 2.0 1258 | 57 192 2.0 1259 | 57 194 2.0 1260 | 57 195 2.0 1261 | 57 196 2.0 1262 | 57 197 2.0 1263 | 58 60 2.0 1264 | 58 62 2.0 1265 | 58 63 2.0 1266 | 58 64 2.0 1267 | 58 65 2.0 1268 | 58 66 2.0 1269 | 58 98 2.0 1270 | 58 99 2.0 1271 | 58 100 2.0 1272 | 58 101 2.0 1273 | 58 105 2.0 1274 | 58 106 2.0 1275 | 58 107 2.0 1276 | 58 108 2.0 1277 | 58 109 2.0 1278 | 58 110 2.0 1279 | 58 122 2.0 1280 | 58 123 2.0 1281 | 58 131 2.0 1282 | 58 132 2.0 1283 | 58 135 2.0 1284 | 58 154 2.0 1285 | 58 162 2.0 1286 | 58 168 2.0 1287 | 58 179 2.0 1288 | 58 187 2.0 1289 | 58 188 2.0 1290 | 59 82 2.0 1291 | 59 99 2.0 1292 | 59 100 2.0 1293 | 59 118 2.0 1294 | 59 121 2.0 1295 | 59 122 2.0 1296 | 59 136 2.0 1297 | 59 143 2.0 1298 | 59 158 2.0 1299 | 59 162 2.0 1300 | 59 174 2.0 1301 | 60 61 2.0 1302 | 60 62 2.0 1303 | 60 63 2.0 1304 | 60 64 2.0 1305 | 60 65 2.0 1306 | 60 66 2.0 1307 | 60 68 2.0 1308 | 60 69 2.0 1309 | 60 70 2.0 1310 | 60 72 2.0 1311 | 60 78 2.0 1312 | 60 80 2.0 1313 | 60 81 2.0 1314 | 60 83 2.0 1315 | 60 88 2.0 1316 | 60 89 2.0 1317 | 60 91 2.0 1318 | 60 93 2.0 1319 | 60 94 2.0 1320 | 60 95 2.0 1321 | 60 98 2.0 1322 | 60 99 2.0 1323 | 60 100 2.0 1324 | 60 101 2.0 1325 | 60 105 2.0 1326 | 60 106 2.0 1327 | 60 107 2.0 1328 | 60 108 2.0 1329 | 60 109 2.0 1330 | 60 110 2.0 1331 | 60 111 2.0 1332 | 60 112 2.0 1333 | 60 114 2.0 1334 | 60 118 2.0 1335 | 60 121 2.0 1336 | 60 122 2.0 1337 | 60 123 2.0 1338 | 60 125 2.0 1339 | 60 127 2.0 1340 | 60 129 2.0 1341 | 60 130 2.0 1342 | 60 131 2.0 1343 | 60 132 2.0 1344 | 60 135 2.0 1345 | 60 136 2.0 1346 | 60 141 2.0 1347 | 60 142 2.0 1348 | 60 146 2.0 1349 | 60 150 2.0 1350 | 60 151 2.0 1351 | 60 154 2.0 1352 | 60 158 2.0 1353 | 60 161 2.0 1354 | 60 164 2.0 1355 | 60 166 2.0 1356 | 60 168 2.0 1357 | 60 171 2.0 1358 | 60 174 2.0 1359 | 60 179 2.0 1360 | 60 183 2.0 1361 | 60 187 2.0 1362 | 60 190 2.0 1363 | 60 192 2.0 1364 | 60 193 2.0 1365 | 60 194 2.0 1366 | 60 195 2.0 1367 | 60 196 2.0 1368 | 60 197 2.0 1369 | 61 69 2.0 1370 | 61 70 2.0 1371 | 61 106 2.0 1372 | 61 111 2.0 1373 | 61 112 2.0 1374 | 61 114 2.0 1375 | 61 123 2.0 1376 | 61 127 2.0 1377 | 61 129 2.0 1378 | 61 130 2.0 1379 | 61 141 2.0 1380 | 61 151 2.0 1381 | 61 158 2.0 1382 | 61 177 2.0 1383 | 61 192 2.0 1384 | 61 194 2.0 1385 | 61 195 2.0 1386 | 61 196 2.0 1387 | 61 197 2.0 1388 | 62 63 2.0 1389 | 62 64 2.0 1390 | 62 65 2.0 1391 | 62 66 2.0 1392 | 62 98 2.0 1393 | 62 99 2.0 1394 | 62 100 2.0 1395 | 62 101 2.0 1396 | 62 105 2.0 1397 | 62 106 2.0 1398 | 62 107 2.0 1399 | 62 108 2.0 1400 | 62 109 2.0 1401 | 62 110 2.0 1402 | 62 122 2.0 1403 | 62 123 2.0 1404 | 62 131 2.0 1405 | 62 132 2.0 1406 | 62 135 2.0 1407 | 62 154 2.0 1408 | 62 168 2.0 1409 | 62 179 2.0 1410 | 63 64 2.0 1411 | 63 65 2.0 1412 | 63 66 2.0 1413 | 63 91 2.0 1414 | 63 98 2.0 1415 | 63 99 2.0 1416 | 63 100 2.0 1417 | 63 101 2.0 1418 | 63 105 2.0 1419 | 63 106 2.0 1420 | 63 107 2.0 1421 | 63 108 2.0 1422 | 63 109 2.0 1423 | 63 110 2.0 1424 | 63 122 2.0 1425 | 63 123 2.0 1426 | 63 131 2.0 1427 | 63 132 2.0 1428 | 63 135 2.0 1429 | 63 154 2.0 1430 | 63 168 2.0 1431 | 63 179 2.0 1432 | 64 65 2.0 1433 | 64 66 2.0 1434 | 64 98 2.0 1435 | 64 99 2.0 1436 | 64 100 2.0 1437 | 64 101 2.0 1438 | 64 105 2.0 1439 | 64 106 2.0 1440 | 64 107 2.0 1441 | 64 108 2.0 1442 | 64 109 2.0 1443 | 64 110 2.0 1444 | 64 122 2.0 1445 | 64 123 2.0 1446 | 64 131 2.0 1447 | 64 132 2.0 1448 | 64 135 2.0 1449 | 64 139 2.0 1450 | 64 154 2.0 1451 | 64 168 2.0 1452 | 64 170 2.0 1453 | 64 179 2.0 1454 | 65 66 2.0 1455 | 65 98 2.0 1456 | 65 99 2.0 1457 | 65 100 2.0 1458 | 65 101 2.0 1459 | 65 105 2.0 1460 | 65 106 2.0 1461 | 65 107 2.0 1462 | 65 108 2.0 1463 | 65 109 2.0 1464 | 65 110 2.0 1465 | 65 122 2.0 1466 | 65 123 2.0 1467 | 65 131 2.0 1468 | 65 132 2.0 1469 | 65 135 2.0 1470 | 65 136 2.0 1471 | 65 139 2.0 1472 | 65 154 2.0 1473 | 65 168 2.0 1474 | 65 170 2.0 1475 | 65 179 2.0 1476 | 66 98 2.0 1477 | 66 99 2.0 1478 | 66 100 2.0 1479 | 66 101 2.0 1480 | 66 105 2.0 1481 | 66 106 2.0 1482 | 66 107 2.0 1483 | 66 108 2.0 1484 | 66 109 2.0 1485 | 66 110 2.0 1486 | 66 122 2.0 1487 | 66 123 2.0 1488 | 66 131 2.0 1489 | 66 132 2.0 1490 | 66 135 2.0 1491 | 66 136 2.0 1492 | 66 139 2.0 1493 | 66 154 2.0 1494 | 66 168 2.0 1495 | 66 170 2.0 1496 | 66 179 2.0 1497 | 66 182 2.0 1498 | 67 70 2.0 1499 | 67 81 2.0 1500 | 67 83 2.0 1501 | 67 84 2.0 1502 | 67 87 2.0 1503 | 67 103 2.0 1504 | 67 127 2.0 1505 | 67 134 2.0 1506 | 67 135 2.0 1507 | 67 136 2.0 1508 | 67 149 2.0 1509 | 67 150 2.0 1510 | 67 158 2.0 1511 | 67 159 2.0 1512 | 67 164 2.0 1513 | 67 170 2.0 1514 | 67 174 2.0 1515 | 67 178 2.0 1516 | 67 192 2.0 1517 | 67 194 2.0 1518 | 67 195 2.0 1519 | 67 196 2.0 1520 | 68 99 2.0 1521 | 68 101 2.0 1522 | 68 132 2.0 1523 | 68 135 2.0 1524 | 68 154 2.0 1525 | 68 166 2.0 1526 | 68 168 2.0 1527 | 68 171 2.0 1528 | 68 183 2.0 1529 | 68 187 2.0 1530 | 69 70 2.0 1531 | 69 73 2.0 1532 | 69 86 2.0 1533 | 69 87 2.0 1534 | 69 88 2.0 1535 | 69 90 2.0 1536 | 69 93 2.0 1537 | 69 94 2.0 1538 | 69 95 2.0 1539 | 69 96 2.0 1540 | 69 99 2.0 1541 | 69 108 2.0 1542 | 69 109 2.0 1543 | 69 110 2.0 1544 | 69 111 2.0 1545 | 69 112 2.0 1546 | 69 114 2.0 1547 | 69 118 2.0 1548 | 69 121 2.0 1549 | 69 122 2.0 1550 | 69 125 2.0 1551 | 69 127 2.0 1552 | 69 130 2.0 1553 | 69 132 2.0 1554 | 69 136 2.0 1555 | 69 141 2.0 1556 | 69 142 2.0 1557 | 69 143 2.0 1558 | 69 146 2.0 1559 | 69 150 2.0 1560 | 69 151 2.0 1561 | 69 158 2.0 1562 | 69 161 2.0 1563 | 69 164 2.0 1564 | 69 168 2.0 1565 | 69 171 2.0 1566 | 69 174 2.0 1567 | 69 175 2.0 1568 | 69 177 2.0 1569 | 69 183 2.0 1570 | 69 186 2.0 1571 | 69 190 2.0 1572 | 69 192 2.0 1573 | 69 193 2.0 1574 | 69 194 2.0 1575 | 69 195 2.0 1576 | 70 73 2.0 1577 | 70 83 2.0 1578 | 70 86 2.0 1579 | 70 87 2.0 1580 | 70 88 2.0 1581 | 70 93 2.0 1582 | 70 94 2.0 1583 | 70 95 2.0 1584 | 70 96 2.0 1585 | 70 99 2.0 1586 | 70 108 2.0 1587 | 70 110 2.0 1588 | 70 111 2.0 1589 | 70 112 2.0 1590 | 70 114 2.0 1591 | 70 118 2.0 1592 | 70 121 2.0 1593 | 70 122 2.0 1594 | 70 125 2.0 1595 | 70 127 2.0 1596 | 70 130 2.0 1597 | 70 132 2.0 1598 | 70 136 2.0 1599 | 70 141 2.0 1600 | 70 142 2.0 1601 | 70 143 2.0 1602 | 70 146 2.0 1603 | 70 150 2.0 1604 | 70 151 2.0 1605 | 70 158 2.0 1606 | 70 161 2.0 1607 | 70 164 2.0 1608 | 70 167 2.0 1609 | 70 168 2.0 1610 | 70 170 2.0 1611 | 70 171 2.0 1612 | 70 174 2.0 1613 | 70 175 2.0 1614 | 70 177 2.0 1615 | 70 178 2.0 1616 | 70 183 2.0 1617 | 70 185 2.0 1618 | 70 186 2.0 1619 | 70 190 2.0 1620 | 70 192 2.0 1621 | 70 193 2.0 1622 | 70 194 2.0 1623 | 70 195 2.0 1624 | 71 72 2.0 1625 | 71 74 2.0 1626 | 71 83 2.0 1627 | 71 103 2.0 1628 | 71 111 2.0 1629 | 71 112 2.0 1630 | 71 113 2.0 1631 | 71 114 2.0 1632 | 71 116 2.0 1633 | 71 117 2.0 1634 | 71 118 2.0 1635 | 71 121 2.0 1636 | 71 122 2.0 1637 | 71 137 2.0 1638 | 71 150 2.0 1639 | 71 153 2.0 1640 | 71 158 2.0 1641 | 71 161 2.0 1642 | 71 164 2.0 1643 | 71 168 2.0 1644 | 71 195 2.0 1645 | 71 196 2.0 1646 | 72 74 2.0 1647 | 72 103 2.0 1648 | 72 150 2.0 1649 | 72 161 2.0 1650 | 72 164 2.0 1651 | 73 77 2.0 1652 | 73 85 2.0 1653 | 73 86 2.0 1654 | 73 88 2.0 1655 | 73 90 2.0 1656 | 73 96 2.0 1657 | 73 99 2.0 1658 | 73 110 2.0 1659 | 73 128 2.0 1660 | 73 136 2.0 1661 | 73 140 2.0 1662 | 73 143 2.0 1663 | 73 147 2.0 1664 | 73 149 2.0 1665 | 73 155 2.0 1666 | 73 156 2.0 1667 | 73 167 2.0 1668 | 73 172 2.0 1669 | 73 174 2.0 1670 | 73 184 2.0 1671 | 73 189 2.0 1672 | 73 191 2.0 1673 | 74 78 2.0 1674 | 74 87 2.0 1675 | 74 103 2.0 1676 | 74 104 2.0 1677 | 74 108 2.0 1678 | 74 112 2.0 1679 | 74 114 2.0 1680 | 74 150 2.0 1681 | 74 154 2.0 1682 | 74 161 2.0 1683 | 74 164 2.0 1684 | 74 168 2.0 1685 | 74 171 2.0 1686 | 75 76 2.0 1687 | 75 79 2.0 1688 | 75 86 2.0 1689 | 75 96 2.0 1690 | 75 126 2.0 1691 | 75 128 2.0 1692 | 75 136 2.0 1693 | 75 144 2.0 1694 | 75 147 2.0 1695 | 75 149 2.0 1696 | 75 163 2.0 1697 | 75 167 2.0 1698 | 75 172 2.0 1699 | 75 174 2.0 1700 | 75 198 2.0 1701 | 76 79 2.0 1702 | 76 96 2.0 1703 | 76 126 2.0 1704 | 76 128 2.0 1705 | 76 136 2.0 1706 | 76 144 2.0 1707 | 76 147 2.0 1708 | 76 149 2.0 1709 | 76 153 2.0 1710 | 76 172 2.0 1711 | 76 174 2.0 1712 | 77 85 2.0 1713 | 77 86 2.0 1714 | 77 88 2.0 1715 | 77 90 2.0 1716 | 77 96 2.0 1717 | 77 97 2.0 1718 | 77 102 2.0 1719 | 77 124 2.0 1720 | 77 128 2.0 1721 | 77 136 2.0 1722 | 77 138 2.0 1723 | 77 140 2.0 1724 | 77 147 2.0 1725 | 77 149 2.0 1726 | 77 167 2.0 1727 | 77 169 2.0 1728 | 77 172 2.0 1729 | 77 173 2.0 1730 | 77 184 2.0 1731 | 77 191 2.0 1732 | 78 80 2.0 1733 | 78 91 2.0 1734 | 78 95 2.0 1735 | 78 99 2.0 1736 | 78 100 2.0 1737 | 78 103 2.0 1738 | 78 104 2.0 1739 | 78 108 2.0 1740 | 78 136 2.0 1741 | 78 137 2.0 1742 | 78 154 2.0 1743 | 78 158 2.0 1744 | 78 168 2.0 1745 | 78 171 2.0 1746 | 78 174 2.0 1747 | 78 179 2.0 1748 | 78 182 2.0 1749 | 78 188 2.0 1750 | 79 86 2.0 1751 | 79 96 2.0 1752 | 79 118 2.0 1753 | 79 126 2.0 1754 | 79 128 2.0 1755 | 79 136 2.0 1756 | 79 142 2.0 1757 | 79 143 2.0 1758 | 79 144 2.0 1759 | 79 147 2.0 1760 | 79 149 2.0 1761 | 79 163 2.0 1762 | 79 167 2.0 1763 | 79 172 2.0 1764 | 79 174 2.0 1765 | 80 91 2.0 1766 | 80 95 2.0 1767 | 80 135 2.0 1768 | 80 139 2.0 1769 | 80 162 2.0 1770 | 80 168 2.0 1771 | 80 179 2.0 1772 | 80 181 2.0 1773 | 80 189 2.0 1774 | 81 83 2.0 1775 | 81 98 2.0 1776 | 81 99 2.0 1777 | 81 100 2.0 1778 | 81 101 2.0 1779 | 81 104 2.0 1780 | 81 105 2.0 1781 | 81 106 2.0 1782 | 81 108 2.0 1783 | 81 123 2.0 1784 | 81 131 2.0 1785 | 81 132 2.0 1786 | 81 136 2.0 1787 | 81 150 2.0 1788 | 81 158 2.0 1789 | 81 164 2.0 1790 | 81 170 2.0 1791 | 81 174 2.0 1792 | 81 178 2.0 1793 | 81 182 2.0 1794 | 81 183 2.0 1795 | 81 194 2.0 1796 | 81 195 2.0 1797 | 81 196 2.0 1798 | 81 197 2.0 1799 | 82 99 2.0 1800 | 82 118 2.0 1801 | 82 121 2.0 1802 | 82 122 2.0 1803 | 82 136 2.0 1804 | 82 143 2.0 1805 | 83 84 2.0 1806 | 83 87 2.0 1807 | 83 89 2.0 1808 | 83 90 2.0 1809 | 83 98 2.0 1810 | 83 99 2.0 1811 | 83 100 2.0 1812 | 83 101 2.0 1813 | 83 103 2.0 1814 | 83 105 2.0 1815 | 83 108 2.0 1816 | 83 109 2.0 1817 | 83 111 2.0 1818 | 83 114 2.0 1819 | 83 118 2.0 1820 | 83 121 2.0 1821 | 83 127 2.0 1822 | 83 131 2.0 1823 | 83 132 2.0 1824 | 83 134 2.0 1825 | 83 135 2.0 1826 | 83 136 2.0 1827 | 83 137 2.0 1828 | 83 141 2.0 1829 | 83 142 2.0 1830 | 83 149 2.0 1831 | 83 150 2.0 1832 | 83 158 2.0 1833 | 83 159 2.0 1834 | 83 164 2.0 1835 | 83 168 2.0 1836 | 83 170 2.0 1837 | 83 174 2.0 1838 | 83 178 2.0 1839 | 83 182 2.0 1840 | 83 185 2.0 1841 | 83 192 2.0 1842 | 83 194 2.0 1843 | 83 195 2.0 1844 | 83 196 2.0 1845 | 83 197 2.0 1846 | 84 118 2.0 1847 | 84 129 2.0 1848 | 84 134 2.0 1849 | 84 135 2.0 1850 | 84 136 2.0 1851 | 84 158 2.0 1852 | 84 159 2.0 1853 | 84 170 2.0 1854 | 84 175 2.0 1855 | 84 183 2.0 1856 | 84 194 2.0 1857 | 84 195 2.0 1858 | 85 86 2.0 1859 | 85 102 2.0 1860 | 85 128 2.0 1861 | 85 140 2.0 1862 | 85 147 2.0 1863 | 85 149 2.0 1864 | 85 155 2.0 1865 | 85 156 2.0 1866 | 85 167 2.0 1867 | 85 169 2.0 1868 | 85 189 2.0 1869 | 85 191 2.0 1870 | 86 88 2.0 1871 | 86 90 2.0 1872 | 86 96 2.0 1873 | 86 97 2.0 1874 | 86 102 2.0 1875 | 86 124 2.0 1876 | 86 128 2.0 1877 | 86 136 2.0 1878 | 86 138 2.0 1879 | 86 140 2.0 1880 | 86 147 2.0 1881 | 86 149 2.0 1882 | 86 153 2.0 1883 | 86 155 2.0 1884 | 86 156 2.0 1885 | 86 163 2.0 1886 | 86 167 2.0 1887 | 86 169 2.0 1888 | 86 172 2.0 1889 | 86 173 2.0 1890 | 86 176 2.0 1891 | 86 184 2.0 1892 | 86 189 2.0 1893 | 86 191 2.0 1894 | 86 198 2.0 1895 | 87 96 2.0 1896 | 87 103 2.0 1897 | 87 112 2.0 1898 | 87 114 2.0 1899 | 87 130 2.0 1900 | 87 150 2.0 1901 | 87 158 2.0 1902 | 87 161 2.0 1903 | 87 164 2.0 1904 | 87 186 2.0 1905 | 87 192 2.0 1906 | 87 194 2.0 1907 | 87 195 2.0 1908 | 88 90 2.0 1909 | 88 96 2.0 1910 | 88 97 2.0 1911 | 88 99 2.0 1912 | 88 110 2.0 1913 | 88 114 2.0 1914 | 88 128 2.0 1915 | 88 131 2.0 1916 | 88 132 2.0 1917 | 88 136 2.0 1918 | 88 140 2.0 1919 | 88 143 2.0 1920 | 88 147 2.0 1921 | 88 149 2.0 1922 | 88 158 2.0 1923 | 88 167 2.0 1924 | 88 172 2.0 1925 | 88 174 2.0 1926 | 88 183 2.0 1927 | 88 184 2.0 1928 | 88 191 2.0 1929 | 88 196 2.0 1930 | 89 95 2.0 1931 | 89 118 2.0 1932 | 89 121 2.0 1933 | 89 127 2.0 1934 | 89 132 2.0 1935 | 89 136 2.0 1936 | 89 141 2.0 1937 | 89 142 2.0 1938 | 89 149 2.0 1939 | 89 158 2.0 1940 | 89 171 2.0 1941 | 89 174 2.0 1942 | 89 196 2.0 1943 | 90 96 2.0 1944 | 90 97 2.0 1945 | 90 124 2.0 1946 | 90 125 2.0 1947 | 90 128 2.0 1948 | 90 133 2.0 1949 | 90 136 2.0 1950 | 90 138 2.0 1951 | 90 140 2.0 1952 | 90 147 2.0 1953 | 90 149 2.0 1954 | 90 153 2.0 1955 | 90 167 2.0 1956 | 90 169 2.0 1957 | 90 172 2.0 1958 | 90 173 2.0 1959 | 90 176 2.0 1960 | 90 184 2.0 1961 | 90 191 2.0 1962 | 90 198 2.0 1963 | 91 95 2.0 1964 | 91 104 2.0 1965 | 91 105 2.0 1966 | 91 107 2.0 1967 | 91 116 2.0 1968 | 91 119 2.0 1969 | 91 134 2.0 1970 | 91 135 2.0 1971 | 91 139 2.0 1972 | 91 168 2.0 1973 | 91 179 2.0 1974 | 92 148 2.0 1975 | 92 153 2.0 1976 | 92 163 2.0 1977 | 93 94 2.0 1978 | 93 95 2.0 1979 | 93 108 2.0 1980 | 93 111 2.0 1981 | 93 114 2.0 1982 | 93 118 2.0 1983 | 93 121 2.0 1984 | 93 122 2.0 1985 | 93 125 2.0 1986 | 93 127 2.0 1987 | 93 130 2.0 1988 | 93 132 2.0 1989 | 93 136 2.0 1990 | 93 146 2.0 1991 | 93 168 2.0 1992 | 93 171 2.0 1993 | 93 175 2.0 1994 | 93 177 2.0 1995 | 93 183 2.0 1996 | 93 190 2.0 1997 | 93 192 2.0 1998 | 93 193 2.0 1999 | 94 95 2.0 2000 | 94 108 2.0 2001 | 94 111 2.0 2002 | 94 114 2.0 2003 | 94 118 2.0 2004 | 94 121 2.0 2005 | 94 122 2.0 2006 | 94 125 2.0 2007 | 94 130 2.0 2008 | 94 132 2.0 2009 | 94 136 2.0 2010 | 94 146 2.0 2011 | 94 168 2.0 2012 | 94 171 2.0 2013 | 94 175 2.0 2014 | 94 177 2.0 2015 | 94 183 2.0 2016 | 94 190 2.0 2017 | 94 192 2.0 2018 | 94 193 2.0 2019 | 95 98 2.0 2020 | 95 99 2.0 2021 | 95 100 2.0 2022 | 95 101 2.0 2023 | 95 108 2.0 2024 | 95 110 2.0 2025 | 95 111 2.0 2026 | 95 122 2.0 2027 | 95 125 2.0 2028 | 95 127 2.0 2029 | 95 131 2.0 2030 | 95 132 2.0 2031 | 95 135 2.0 2032 | 95 136 2.0 2033 | 95 141 2.0 2034 | 95 142 2.0 2035 | 95 146 2.0 2036 | 95 154 2.0 2037 | 95 158 2.0 2038 | 95 168 2.0 2039 | 95 171 2.0 2040 | 95 174 2.0 2041 | 95 179 2.0 2042 | 95 190 2.0 2043 | 95 192 2.0 2044 | 95 193 2.0 2045 | 96 97 2.0 2046 | 96 124 2.0 2047 | 96 125 2.0 2048 | 96 126 2.0 2049 | 96 128 2.0 2050 | 96 130 2.0 2051 | 96 136 2.0 2052 | 96 138 2.0 2053 | 96 140 2.0 2054 | 96 142 2.0 2055 | 96 144 2.0 2056 | 96 147 2.0 2057 | 96 149 2.0 2058 | 96 150 2.0 2059 | 96 153 2.0 2060 | 96 158 2.0 2061 | 96 161 2.0 2062 | 96 163 2.0 2063 | 96 164 2.0 2064 | 96 167 2.0 2065 | 96 169 2.0 2066 | 96 172 2.0 2067 | 96 173 2.0 2068 | 96 176 2.0 2069 | 96 184 2.0 2070 | 96 186 2.0 2071 | 96 191 2.0 2072 | 96 192 2.0 2073 | 96 194 2.0 2074 | 96 198 2.0 2075 | 97 124 2.0 2076 | 97 128 2.0 2077 | 97 136 2.0 2078 | 97 138 2.0 2079 | 97 147 2.0 2080 | 97 149 2.0 2081 | 97 167 2.0 2082 | 97 169 2.0 2083 | 97 172 2.0 2084 | 98 99 2.0 2085 | 98 100 2.0 2086 | 98 101 2.0 2087 | 98 105 2.0 2088 | 98 106 2.0 2089 | 98 107 2.0 2090 | 98 108 2.0 2091 | 98 109 2.0 2092 | 98 110 2.0 2093 | 98 122 2.0 2094 | 98 123 2.0 2095 | 98 131 2.0 2096 | 98 132 2.0 2097 | 98 135 2.0 2098 | 98 136 2.0 2099 | 98 154 2.0 2100 | 98 164 2.0 2101 | 98 168 2.0 2102 | 98 170 2.0 2103 | 98 171 2.0 2104 | 98 174 2.0 2105 | 98 178 2.0 2106 | 98 179 2.0 2107 | 98 182 2.0 2108 | 98 194 2.0 2109 | 98 197 2.0 2110 | 99 100 2.0 2111 | 99 101 2.0 2112 | 99 105 2.0 2113 | 99 106 2.0 2114 | 99 107 2.0 2115 | 99 108 2.0 2116 | 99 109 2.0 2117 | 99 110 2.0 2118 | 99 118 2.0 2119 | 99 121 2.0 2120 | 99 122 2.0 2121 | 99 123 2.0 2122 | 99 131 2.0 2123 | 99 132 2.0 2124 | 99 135 2.0 2125 | 99 136 2.0 2126 | 99 143 2.0 2127 | 99 154 2.0 2128 | 99 164 2.0 2129 | 99 166 2.0 2130 | 99 168 2.0 2131 | 99 170 2.0 2132 | 99 171 2.0 2133 | 99 174 2.0 2134 | 99 178 2.0 2135 | 99 179 2.0 2136 | 99 182 2.0 2137 | 99 187 2.0 2138 | 99 194 2.0 2139 | 99 197 2.0 2140 | 100 101 2.0 2141 | 100 105 2.0 2142 | 100 106 2.0 2143 | 100 107 2.0 2144 | 100 108 2.0 2145 | 100 109 2.0 2146 | 100 110 2.0 2147 | 100 122 2.0 2148 | 100 123 2.0 2149 | 100 131 2.0 2150 | 100 132 2.0 2151 | 100 135 2.0 2152 | 100 136 2.0 2153 | 100 154 2.0 2154 | 100 164 2.0 2155 | 100 168 2.0 2156 | 100 170 2.0 2157 | 100 171 2.0 2158 | 100 174 2.0 2159 | 100 178 2.0 2160 | 100 179 2.0 2161 | 100 182 2.0 2162 | 100 194 2.0 2163 | 100 197 2.0 2164 | 101 105 2.0 2165 | 101 106 2.0 2166 | 101 107 2.0 2167 | 101 108 2.0 2168 | 101 109 2.0 2169 | 101 110 2.0 2170 | 101 122 2.0 2171 | 101 123 2.0 2172 | 101 131 2.0 2173 | 101 132 2.0 2174 | 101 135 2.0 2175 | 101 136 2.0 2176 | 101 154 2.0 2177 | 101 164 2.0 2178 | 101 166 2.0 2179 | 101 168 2.0 2180 | 101 170 2.0 2181 | 101 171 2.0 2182 | 101 174 2.0 2183 | 101 178 2.0 2184 | 101 179 2.0 2185 | 101 182 2.0 2186 | 101 187 2.0 2187 | 101 194 2.0 2188 | 101 197 2.0 2189 | 102 128 2.0 2190 | 102 138 2.0 2191 | 102 140 2.0 2192 | 102 147 2.0 2193 | 102 156 2.0 2194 | 102 167 2.0 2195 | 102 169 2.0 2196 | 102 172 2.0 2197 | 102 173 2.0 2198 | 102 176 2.0 2199 | 102 189 2.0 2200 | 103 104 2.0 2201 | 103 108 2.0 2202 | 103 112 2.0 2203 | 103 114 2.0 2204 | 103 150 2.0 2205 | 103 154 2.0 2206 | 103 161 2.0 2207 | 103 164 2.0 2208 | 103 168 2.0 2209 | 103 171 2.0 2210 | 103 178 2.0 2211 | 104 105 2.0 2212 | 104 107 2.0 2213 | 104 108 2.0 2214 | 104 154 2.0 2215 | 104 159 2.0 2216 | 104 168 2.0 2217 | 104 171 2.0 2218 | 105 106 2.0 2219 | 105 107 2.0 2220 | 105 108 2.0 2221 | 105 109 2.0 2222 | 105 110 2.0 2223 | 105 122 2.0 2224 | 105 123 2.0 2225 | 105 131 2.0 2226 | 105 132 2.0 2227 | 105 135 2.0 2228 | 105 136 2.0 2229 | 105 154 2.0 2230 | 105 164 2.0 2231 | 105 168 2.0 2232 | 105 170 2.0 2233 | 105 174 2.0 2234 | 105 178 2.0 2235 | 105 179 2.0 2236 | 105 182 2.0 2237 | 105 194 2.0 2238 | 105 197 2.0 2239 | 106 107 2.0 2240 | 106 108 2.0 2241 | 106 109 2.0 2242 | 106 110 2.0 2243 | 106 111 2.0 2244 | 106 122 2.0 2245 | 106 123 2.0 2246 | 106 131 2.0 2247 | 106 132 2.0 2248 | 106 135 2.0 2249 | 106 154 2.0 2250 | 106 168 2.0 2251 | 106 179 2.0 2252 | 106 183 2.0 2253 | 106 187 2.0 2254 | 106 188 2.0 2255 | 107 108 2.0 2256 | 107 109 2.0 2257 | 107 110 2.0 2258 | 107 122 2.0 2259 | 107 123 2.0 2260 | 107 131 2.0 2261 | 107 132 2.0 2262 | 107 135 2.0 2263 | 107 154 2.0 2264 | 107 162 2.0 2265 | 107 168 2.0 2266 | 107 179 2.0 2267 | 107 187 2.0 2268 | 107 188 2.0 2269 | 108 109 2.0 2270 | 108 110 2.0 2271 | 108 111 2.0 2272 | 108 122 2.0 2273 | 108 123 2.0 2274 | 108 125 2.0 2275 | 108 131 2.0 2276 | 108 132 2.0 2277 | 108 135 2.0 2278 | 108 136 2.0 2279 | 108 146 2.0 2280 | 108 154 2.0 2281 | 108 164 2.0 2282 | 108 168 2.0 2283 | 108 170 2.0 2284 | 108 171 2.0 2285 | 108 174 2.0 2286 | 108 178 2.0 2287 | 108 179 2.0 2288 | 108 182 2.0 2289 | 108 190 2.0 2290 | 108 192 2.0 2291 | 108 193 2.0 2292 | 108 194 2.0 2293 | 108 197 2.0 2294 | 109 110 2.0 2295 | 109 122 2.0 2296 | 109 123 2.0 2297 | 109 131 2.0 2298 | 109 132 2.0 2299 | 109 135 2.0 2300 | 109 154 2.0 2301 | 109 168 2.0 2302 | 109 170 2.0 2303 | 109 177 2.0 2304 | 109 179 2.0 2305 | 110 122 2.0 2306 | 110 123 2.0 2307 | 110 131 2.0 2308 | 110 132 2.0 2309 | 110 135 2.0 2310 | 110 136 2.0 2311 | 110 139 2.0 2312 | 110 143 2.0 2313 | 110 154 2.0 2314 | 110 168 2.0 2315 | 110 170 2.0 2316 | 110 171 2.0 2317 | 110 174 2.0 2318 | 110 179 2.0 2319 | 110 182 2.0 2320 | 111 116 2.0 2321 | 111 117 2.0 2322 | 111 118 2.0 2323 | 111 121 2.0 2324 | 111 122 2.0 2325 | 111 123 2.0 2326 | 111 125 2.0 2327 | 111 132 2.0 2328 | 111 137 2.0 2329 | 111 146 2.0 2330 | 111 153 2.0 2331 | 111 168 2.0 2332 | 111 170 2.0 2333 | 111 171 2.0 2334 | 111 190 2.0 2335 | 111 192 2.0 2336 | 111 193 2.0 2337 | 111 194 2.0 2338 | 111 195 2.0 2339 | 111 196 2.0 2340 | 112 113 2.0 2341 | 112 114 2.0 2342 | 112 127 2.0 2343 | 112 130 2.0 2344 | 112 141 2.0 2345 | 112 150 2.0 2346 | 112 151 2.0 2347 | 112 158 2.0 2348 | 112 161 2.0 2349 | 112 164 2.0 2350 | 112 192 2.0 2351 | 112 195 2.0 2352 | 112 196 2.0 2353 | 113 114 2.0 2354 | 113 158 2.0 2355 | 113 161 2.0 2356 | 113 164 2.0 2357 | 113 196 2.0 2358 | 114 125 2.0 2359 | 114 127 2.0 2360 | 114 130 2.0 2361 | 114 131 2.0 2362 | 114 132 2.0 2363 | 114 136 2.0 2364 | 114 141 2.0 2365 | 114 142 2.0 2366 | 114 146 2.0 2367 | 114 151 2.0 2368 | 114 158 2.0 2369 | 114 161 2.0 2370 | 114 164 2.0 2371 | 114 183 2.0 2372 | 114 190 2.0 2373 | 114 192 2.0 2374 | 114 193 2.0 2375 | 114 195 2.0 2376 | 114 196 2.0 2377 | 115 148 2.0 2378 | 115 152 2.0 2379 | 115 153 2.0 2380 | 115 157 2.0 2381 | 115 167 2.0 2382 | 115 172 2.0 2383 | 116 117 2.0 2384 | 116 118 2.0 2385 | 116 119 2.0 2386 | 116 121 2.0 2387 | 116 122 2.0 2388 | 116 134 2.0 2389 | 116 135 2.0 2390 | 116 137 2.0 2391 | 116 153 2.0 2392 | 116 168 2.0 2393 | 116 179 2.0 2394 | 116 181 2.0 2395 | 117 118 2.0 2396 | 117 121 2.0 2397 | 117 122 2.0 2398 | 117 137 2.0 2399 | 117 153 2.0 2400 | 117 168 2.0 2401 | 117 179 2.0 2402 | 117 183 2.0 2403 | 118 121 2.0 2404 | 118 122 2.0 2405 | 118 125 2.0 2406 | 118 129 2.0 2407 | 118 132 2.0 2408 | 118 136 2.0 2409 | 118 137 2.0 2410 | 118 142 2.0 2411 | 118 143 2.0 2412 | 118 146 2.0 2413 | 118 153 2.0 2414 | 118 168 2.0 2415 | 118 170 2.0 2416 | 118 174 2.0 2417 | 118 175 2.0 2418 | 118 177 2.0 2419 | 118 183 2.0 2420 | 118 190 2.0 2421 | 118 192 2.0 2422 | 118 193 2.0 2423 | 118 194 2.0 2424 | 119 120 2.0 2425 | 119 134 2.0 2426 | 119 135 2.0 2427 | 119 179 2.0 2428 | 121 122 2.0 2429 | 121 125 2.0 2430 | 121 132 2.0 2431 | 121 136 2.0 2432 | 121 137 2.0 2433 | 121 142 2.0 2434 | 121 143 2.0 2435 | 121 146 2.0 2436 | 121 153 2.0 2437 | 121 158 2.0 2438 | 121 168 2.0 2439 | 121 174 2.0 2440 | 121 175 2.0 2441 | 121 177 2.0 2442 | 121 183 2.0 2443 | 121 190 2.0 2444 | 121 192 2.0 2445 | 121 193 2.0 2446 | 121 196 2.0 2447 | 122 123 2.0 2448 | 122 125 2.0 2449 | 122 131 2.0 2450 | 122 132 2.0 2451 | 122 135 2.0 2452 | 122 136 2.0 2453 | 122 137 2.0 2454 | 122 143 2.0 2455 | 122 146 2.0 2456 | 122 153 2.0 2457 | 122 154 2.0 2458 | 122 168 2.0 2459 | 122 171 2.0 2460 | 122 179 2.0 2461 | 122 190 2.0 2462 | 122 192 2.0 2463 | 122 193 2.0 2464 | 123 131 2.0 2465 | 123 132 2.0 2466 | 123 135 2.0 2467 | 123 154 2.0 2468 | 123 162 2.0 2469 | 123 168 2.0 2470 | 123 179 2.0 2471 | 123 183 2.0 2472 | 123 187 2.0 2473 | 123 188 2.0 2474 | 124 128 2.0 2475 | 124 138 2.0 2476 | 124 140 2.0 2477 | 124 153 2.0 2478 | 124 176 2.0 2479 | 124 184 2.0 2480 | 124 198 2.0 2481 | 125 130 2.0 2482 | 125 132 2.0 2483 | 125 136 2.0 2484 | 125 142 2.0 2485 | 125 146 2.0 2486 | 125 151 2.0 2487 | 125 168 2.0 2488 | 125 171 2.0 2489 | 125 175 2.0 2490 | 125 177 2.0 2491 | 125 183 2.0 2492 | 125 190 2.0 2493 | 125 192 2.0 2494 | 125 193 2.0 2495 | 126 128 2.0 2496 | 126 136 2.0 2497 | 126 144 2.0 2498 | 126 147 2.0 2499 | 126 149 2.0 2500 | 126 153 2.0 2501 | 126 167 2.0 2502 | 126 172 2.0 2503 | 126 174 2.0 2504 | 127 130 2.0 2505 | 127 136 2.0 2506 | 127 141 2.0 2507 | 127 142 2.0 2508 | 127 150 2.0 2509 | 127 151 2.0 2510 | 127 158 2.0 2511 | 127 164 2.0 2512 | 127 171 2.0 2513 | 127 174 2.0 2514 | 127 178 2.0 2515 | 127 185 2.0 2516 | 127 192 2.0 2517 | 127 195 2.0 2518 | 128 136 2.0 2519 | 128 138 2.0 2520 | 128 140 2.0 2521 | 128 144 2.0 2522 | 128 147 2.0 2523 | 128 149 2.0 2524 | 128 153 2.0 2525 | 128 155 2.0 2526 | 128 156 2.0 2527 | 128 167 2.0 2528 | 128 169 2.0 2529 | 128 172 2.0 2530 | 128 173 2.0 2531 | 128 176 2.0 2532 | 128 184 2.0 2533 | 128 189 2.0 2534 | 128 191 2.0 2535 | 128 192 2.0 2536 | 129 136 2.0 2537 | 129 170 2.0 2538 | 129 175 2.0 2539 | 129 183 2.0 2540 | 129 194 2.0 2541 | 129 195 2.0 2542 | 129 196 2.0 2543 | 129 197 2.0 2544 | 130 136 2.0 2545 | 130 141 2.0 2546 | 130 146 2.0 2547 | 130 150 2.0 2548 | 130 151 2.0 2549 | 130 158 2.0 2550 | 130 161 2.0 2551 | 130 164 2.0 2552 | 130 177 2.0 2553 | 130 185 2.0 2554 | 130 186 2.0 2555 | 130 190 2.0 2556 | 130 192 2.0 2557 | 130 193 2.0 2558 | 130 194 2.0 2559 | 130 195 2.0 2560 | 131 132 2.0 2561 | 131 135 2.0 2562 | 131 136 2.0 2563 | 131 139 2.0 2564 | 131 154 2.0 2565 | 131 158 2.0 2566 | 131 164 2.0 2567 | 131 168 2.0 2568 | 131 170 2.0 2569 | 131 171 2.0 2570 | 131 174 2.0 2571 | 131 178 2.0 2572 | 131 179 2.0 2573 | 131 182 2.0 2574 | 131 183 2.0 2575 | 131 194 2.0 2576 | 131 196 2.0 2577 | 131 197 2.0 2578 | 132 135 2.0 2579 | 132 136 2.0 2580 | 132 141 2.0 2581 | 132 142 2.0 2582 | 132 146 2.0 2583 | 132 154 2.0 2584 | 132 158 2.0 2585 | 132 164 2.0 2586 | 132 166 2.0 2587 | 132 168 2.0 2588 | 132 170 2.0 2589 | 132 171 2.0 2590 | 132 174 2.0 2591 | 132 178 2.0 2592 | 132 179 2.0 2593 | 132 182 2.0 2594 | 132 183 2.0 2595 | 132 187 2.0 2596 | 132 190 2.0 2597 | 132 192 2.0 2598 | 132 193 2.0 2599 | 132 194 2.0 2600 | 132 196 2.0 2601 | 132 197 2.0 2602 | 133 155 2.0 2603 | 133 156 2.0 2604 | 133 167 2.0 2605 | 133 180 2.0 2606 | 134 135 2.0 2607 | 134 159 2.0 2608 | 134 179 2.0 2609 | 134 195 2.0 2610 | 135 139 2.0 2611 | 135 154 2.0 2612 | 135 159 2.0 2613 | 135 162 2.0 2614 | 135 166 2.0 2615 | 135 168 2.0 2616 | 135 171 2.0 2617 | 135 179 2.0 2618 | 135 187 2.0 2619 | 135 189 2.0 2620 | 135 195 2.0 2621 | 136 137 2.0 2622 | 136 138 2.0 2623 | 136 140 2.0 2624 | 136 141 2.0 2625 | 136 142 2.0 2626 | 136 143 2.0 2627 | 136 144 2.0 2628 | 136 146 2.0 2629 | 136 147 2.0 2630 | 136 149 2.0 2631 | 136 150 2.0 2632 | 136 151 2.0 2633 | 136 158 2.0 2634 | 136 161 2.0 2635 | 136 162 2.0 2636 | 136 163 2.0 2637 | 136 164 2.0 2638 | 136 167 2.0 2639 | 136 168 2.0 2640 | 136 170 2.0 2641 | 136 171 2.0 2642 | 136 172 2.0 2643 | 136 174 2.0 2644 | 136 175 2.0 2645 | 136 177 2.0 2646 | 136 178 2.0 2647 | 136 182 2.0 2648 | 136 183 2.0 2649 | 136 184 2.0 2650 | 136 185 2.0 2651 | 136 188 2.0 2652 | 136 190 2.0 2653 | 136 191 2.0 2654 | 136 192 2.0 2655 | 136 193 2.0 2656 | 136 194 2.0 2657 | 136 196 2.0 2658 | 136 197 2.0 2659 | 137 153 2.0 2660 | 137 158 2.0 2661 | 137 168 2.0 2662 | 137 188 2.0 2663 | 138 145 2.0 2664 | 138 147 2.0 2665 | 138 149 2.0 2666 | 138 155 2.0 2667 | 138 167 2.0 2668 | 138 169 2.0 2669 | 138 172 2.0 2670 | 138 173 2.0 2671 | 138 178 2.0 2672 | 139 162 2.0 2673 | 139 179 2.0 2674 | 139 189 2.0 2675 | 140 147 2.0 2676 | 140 149 2.0 2677 | 140 153 2.0 2678 | 140 155 2.0 2679 | 140 156 2.0 2680 | 140 167 2.0 2681 | 140 169 2.0 2682 | 140 172 2.0 2683 | 140 173 2.0 2684 | 140 176 2.0 2685 | 140 184 2.0 2686 | 140 189 2.0 2687 | 140 191 2.0 2688 | 140 198 2.0 2689 | 141 142 2.0 2690 | 141 151 2.0 2691 | 141 158 2.0 2692 | 141 171 2.0 2693 | 141 174 2.0 2694 | 141 192 2.0 2695 | 141 195 2.0 2696 | 142 143 2.0 2697 | 142 149 2.0 2698 | 142 150 2.0 2699 | 142 158 2.0 2700 | 142 161 2.0 2701 | 142 164 2.0 2702 | 142 168 2.0 2703 | 142 171 2.0 2704 | 142 174 2.0 2705 | 142 185 2.0 2706 | 142 193 2.0 2707 | 142 196 2.0 2708 | 143 174 2.0 2709 | 144 147 2.0 2710 | 144 149 2.0 2711 | 144 153 2.0 2712 | 144 172 2.0 2713 | 144 174 2.0 2714 | 144 198 2.0 2715 | 145 167 2.0 2716 | 146 151 2.0 2717 | 146 168 2.0 2718 | 146 171 2.0 2719 | 146 175 2.0 2720 | 146 177 2.0 2721 | 146 183 2.0 2722 | 146 190 2.0 2723 | 146 192 2.0 2724 | 146 193 2.0 2725 | 147 149 2.0 2726 | 147 153 2.0 2727 | 147 156 2.0 2728 | 147 167 2.0 2729 | 147 169 2.0 2730 | 147 172 2.0 2731 | 147 173 2.0 2732 | 147 174 2.0 2733 | 147 176 2.0 2734 | 147 184 2.0 2735 | 147 189 2.0 2736 | 147 191 2.0 2737 | 148 153 2.0 2738 | 149 150 2.0 2739 | 149 153 2.0 2740 | 149 155 2.0 2741 | 149 156 2.0 2742 | 149 160 2.0 2743 | 149 163 2.0 2744 | 149 167 2.0 2745 | 149 169 2.0 2746 | 149 172 2.0 2747 | 149 173 2.0 2748 | 149 174 2.0 2749 | 149 176 2.0 2750 | 149 178 2.0 2751 | 149 181 2.0 2752 | 149 184 2.0 2753 | 149 189 2.0 2754 | 149 191 2.0 2755 | 149 194 2.0 2756 | 149 195 2.0 2757 | 150 151 2.0 2758 | 150 158 2.0 2759 | 150 161 2.0 2760 | 150 164 2.0 2761 | 150 170 2.0 2762 | 150 178 2.0 2763 | 150 185 2.0 2764 | 150 186 2.0 2765 | 150 192 2.0 2766 | 150 194 2.0 2767 | 150 195 2.0 2768 | 150 196 2.0 2769 | 151 158 2.0 2770 | 151 177 2.0 2771 | 151 185 2.0 2772 | 151 190 2.0 2773 | 151 192 2.0 2774 | 151 193 2.0 2775 | 151 195 2.0 2776 | 152 157 2.0 2777 | 153 163 2.0 2778 | 153 167 2.0 2779 | 153 168 2.0 2780 | 153 172 2.0 2781 | 153 181 2.0 2782 | 153 198 2.0 2783 | 154 166 2.0 2784 | 154 168 2.0 2785 | 154 170 2.0 2786 | 154 171 2.0 2787 | 154 179 2.0 2788 | 154 187 2.0 2789 | 155 156 2.0 2790 | 155 167 2.0 2791 | 155 178 2.0 2792 | 155 180 2.0 2793 | 155 189 2.0 2794 | 155 191 2.0 2795 | 156 167 2.0 2796 | 156 169 2.0 2797 | 156 172 2.0 2798 | 156 173 2.0 2799 | 156 176 2.0 2800 | 156 189 2.0 2801 | 156 191 2.0 2802 | 157 180 2.0 2803 | 158 161 2.0 2804 | 158 164 2.0 2805 | 158 168 2.0 2806 | 158 170 2.0 2807 | 158 171 2.0 2808 | 158 174 2.0 2809 | 158 178 2.0 2810 | 158 183 2.0 2811 | 158 186 2.0 2812 | 158 188 2.0 2813 | 158 192 2.0 2814 | 158 194 2.0 2815 | 158 195 2.0 2816 | 158 196 2.0 2817 | 159 195 2.0 2818 | 161 164 2.0 2819 | 161 186 2.0 2820 | 161 192 2.0 2821 | 161 194 2.0 2822 | 161 196 2.0 2823 | 162 179 2.0 2824 | 162 187 2.0 2825 | 162 188 2.0 2826 | 162 189 2.0 2827 | 163 167 2.0 2828 | 163 172 2.0 2829 | 163 173 2.0 2830 | 164 170 2.0 2831 | 164 174 2.0 2832 | 164 178 2.0 2833 | 164 182 2.0 2834 | 164 186 2.0 2835 | 164 192 2.0 2836 | 164 194 2.0 2837 | 164 195 2.0 2838 | 164 196 2.0 2839 | 164 197 2.0 2840 | 165 185 2.0 2841 | 166 168 2.0 2842 | 166 171 2.0 2843 | 166 183 2.0 2844 | 166 187 2.0 2845 | 167 169 2.0 2846 | 167 172 2.0 2847 | 167 173 2.0 2848 | 167 176 2.0 2849 | 167 184 2.0 2850 | 167 189 2.0 2851 | 167 191 2.0 2852 | 167 198 2.0 2853 | 168 170 2.0 2854 | 168 171 2.0 2855 | 168 179 2.0 2856 | 168 187 2.0 2857 | 168 190 2.0 2858 | 168 192 2.0 2859 | 168 193 2.0 2860 | 168 194 2.0 2861 | 168 195 2.0 2862 | 169 172 2.0 2863 | 169 173 2.0 2864 | 169 176 2.0 2865 | 169 189 2.0 2866 | 170 174 2.0 2867 | 170 175 2.0 2868 | 170 178 2.0 2869 | 170 182 2.0 2870 | 170 183 2.0 2871 | 170 192 2.0 2872 | 170 194 2.0 2873 | 170 195 2.0 2874 | 170 196 2.0 2875 | 170 197 2.0 2876 | 171 174 2.0 2877 | 171 187 2.0 2878 | 171 190 2.0 2879 | 171 192 2.0 2880 | 171 193 2.0 2881 | 172 173 2.0 2882 | 172 176 2.0 2883 | 172 184 2.0 2884 | 172 189 2.0 2885 | 172 191 2.0 2886 | 173 176 2.0 2887 | 173 184 2.0 2888 | 173 189 2.0 2889 | 173 191 2.0 2890 | 174 178 2.0 2891 | 174 182 2.0 2892 | 174 192 2.0 2893 | 174 194 2.0 2894 | 174 197 2.0 2895 | 175 177 2.0 2896 | 175 183 2.0 2897 | 175 190 2.0 2898 | 175 192 2.0 2899 | 175 193 2.0 2900 | 175 194 2.0 2901 | 176 184 2.0 2902 | 176 189 2.0 2903 | 176 192 2.0 2904 | 176 198 2.0 2905 | 177 183 2.0 2906 | 177 190 2.0 2907 | 177 192 2.0 2908 | 177 193 2.0 2909 | 178 182 2.0 2910 | 178 192 2.0 2911 | 178 194 2.0 2912 | 178 195 2.0 2913 | 178 196 2.0 2914 | 178 197 2.0 2915 | 179 183 2.0 2916 | 179 189 2.0 2917 | 182 183 2.0 2918 | 182 194 2.0 2919 | 182 197 2.0 2920 | 183 190 2.0 2921 | 183 192 2.0 2922 | 183 193 2.0 2923 | 183 194 2.0 2924 | 183 196 2.0 2925 | 184 191 2.0 2926 | 184 198 2.0 2927 | 185 192 2.0 2928 | 186 192 2.0 2929 | 186 194 2.0 2930 | 187 188 2.0 2931 | 189 191 2.0 2932 | 190 192 2.0 2933 | 190 193 2.0 2934 | 192 193 2.0 2935 | 192 194 2.0 2936 | 192 195 2.0 2937 | 194 195 2.0 2938 | 194 196 2.0 2939 | 194 197 2.0 2940 | 195 196 2.0 2941 | 195 197 2.0 2942 | 196 197 2.0 2943 | -------------------------------------------------------------------------------- /data/karate.net: -------------------------------------------------------------------------------- 1 | *Vertices 34 2 | 1 "1" 3 | 2 "2" 4 | 3 "3" 5 | 4 "4" 6 | 5 "5" 7 | 6 "6" 8 | 7 "7" 9 | 8 "8" 10 | 9 "9" 11 | 10 "10" 12 | 11 "11" 13 | 12 "12" 14 | 13 "13" 15 | 14 "14" 16 | 15 "15" 17 | 16 "16" 18 | 17 "17" 19 | 18 "18" 20 | 19 "19" 21 | 20 "20" 22 | 21 "21" 23 | 22 "22" 24 | 23 "23" 25 | 24 "24" 26 | 25 "25" 27 | 26 "26" 28 | 27 "27" 29 | 28 "28" 30 | 29 "29" 31 | 30 "30" 32 | 31 "31" 33 | 32 "32" 34 | 33 "33" 35 | 34 "34" 36 | *Edges 37 | 1 2 38 | 1 3 39 | 2 3 40 | 1 4 41 | 2 4 42 | 3 4 43 | 1 5 44 | 1 6 45 | 1 7 46 | 5 7 47 | 6 7 48 | 1 8 49 | 2 8 50 | 3 8 51 | 4 8 52 | 1 9 53 | 3 9 54 | 3 10 55 | 1 11 56 | 5 11 57 | 6 11 58 | 1 12 59 | 1 13 60 | 4 13 61 | 1 14 62 | 2 14 63 | 3 14 64 | 4 14 65 | 6 17 66 | 7 17 67 | 1 18 68 | 2 18 69 | 1 20 70 | 2 20 71 | 1 22 72 | 2 22 73 | 24 26 74 | 25 26 75 | 3 28 76 | 24 28 77 | 25 28 78 | 3 29 79 | 24 30 80 | 27 30 81 | 2 31 82 | 9 31 83 | 1 32 84 | 25 32 85 | 26 32 86 | 29 32 87 | 3 33 88 | 9 33 89 | 15 33 90 | 16 33 91 | 19 33 92 | 21 33 93 | 23 33 94 | 24 33 95 | 30 33 96 | 31 33 97 | 32 33 98 | 9 34 99 | 10 34 100 | 14 34 101 | 15 34 102 | 16 34 103 | 19 34 104 | 20 34 105 | 21 34 106 | 23 34 107 | 24 34 108 | 27 34 109 | 28 34 110 | 29 34 111 | 30 34 112 | 31 34 113 | 32 34 114 | 33 34 115 | -------------------------------------------------------------------------------- /modularity_maximization/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from modularity_maximization.community_newman import partition 4 | from modularity_maximization.utils import get_modularity 5 | 6 | __version__ = '0.0.1rc4' 7 | __author__ = """Zhiya Zuo""" 8 | __email__ = """zhiyazuo@gmail.com""" 9 | 10 | __license__ = """ 11 | Copyright 2018 Zhiya Zuo 12 | 13 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 18 | """ 19 | 20 | -------------------------------------------------------------------------------- /modularity_maximization/_divide.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import numpy as np 4 | import networkx as nx 5 | from scipy import sparse 6 | from modularity_maximization import utils 7 | 8 | def _divide(network, community_dict, comm_index, B, refine=False): 9 | ''' 10 | Bisection of a community in `network`. 11 | 12 | Parameters 13 | ---------- 14 | network : nx.Graph or nx.DiGraph 15 | The network of interest 16 | 17 | Returns 18 | ------- 19 | tuple 20 | If the given community is indivisible, return (None, None) 21 | If the given community is divisible, return a tuple where 22 | the 1st element is a node list for the 1st sub-group and 23 | the 2nd element is a node list for the original group 24 | ''' 25 | 26 | comm_nodes = tuple(u for u in community_dict \ 27 | if community_dict[u] == comm_index) 28 | B_hat_g = utils.get_mod_matrix(network, comm_nodes, B) 29 | 30 | # compute the top eigenvector u₁ and β₁ 31 | if B_hat_g.shape[0] < 3: 32 | beta_s, u_s = utils.largest_eig(B_hat_g) 33 | else: 34 | beta_s, u_s = sparse.linalg.eigs(B_hat_g, k=1, which='LR') 35 | u_1 = u_s[:, 0] 36 | beta_1 = beta_s[0] 37 | if beta_1 > 0: 38 | # divisible 39 | s = sparse.csc_matrix(np.asmatrix([[1 if u_1_i > 0 else -1] for u_1_i in u_1])) 40 | if refine: 41 | improve_modularity(network, comm_nodes, s, B) 42 | delta_modularity = utils._get_delta_Q(B_hat_g, s) 43 | if delta_modularity > 0: 44 | g1_nodes = np.array([comm_nodes[i] \ 45 | for i in range(u_1.shape[0]) \ 46 | if s[i,0] > 0]) 47 | #g1 = nx.subgraph(g, g1_nodes) 48 | if len(g1_nodes) == len(comm_nodes) or len(g1_nodes) == 0: 49 | # indivisble, return None 50 | return None, None 51 | # divisible, return node list for one of the groups 52 | return g1_nodes, comm_nodes 53 | # indivisble, return None 54 | return None, None 55 | 56 | def improve_modularity(network, comm_nodes, s, B): 57 | ''' 58 | Fine tuning of the initial division from `_divide` 59 | Modify `s` inplace 60 | 61 | Parameters 62 | ---------- 63 | network : nx.Graph or nx.DiGraph 64 | The network of interest 65 | comm_nodes: iterable 66 | List of nodes for the original group 67 | s: np.matrix 68 | A matrix of node membership. Only +1/-1 69 | B: np.amtrix 70 | Modularity matrix for `network` 71 | ''' 72 | 73 | # iterate until no increment of Q 74 | B_hat_g = utils.get_mod_matrix(network, comm_nodes, B) 75 | while True: 76 | unmoved = list(comm_nodes) 77 | # node indices to be moved 78 | node_indices = np.array([], dtype=int) 79 | # cumulative improvement after moving 80 | node_improvement = np.array([], dtype=float) 81 | # keep moving until none left 82 | while len(unmoved) > 0: 83 | # init Q 84 | Q0 = utils._get_delta_Q(B_hat_g, s) 85 | scores = np.zeros(len(unmoved)) 86 | for k_index in range(scores.size): 87 | k = comm_nodes.index(unmoved[k_index]) 88 | s[k, 0] = -s[k, 0] 89 | scores[k_index] = utils._get_delta_Q(B_hat_g, s) - Q0 90 | s[k, 0] = -s[k, 0] 91 | _j = np.argmax(scores) 92 | j = comm_nodes.index(unmoved[_j]) 93 | # move j, which has the largest increase or smallest decrease 94 | s[j, 0] = -s[j, 0] 95 | node_indices = np.append(node_indices, j) 96 | if node_improvement.size < 1: 97 | node_improvement = np.append(node_improvement, scores[_j]) 98 | else: 99 | node_improvement = np.append(node_improvement, \ 100 | node_improvement[-1]+scores[_j]) 101 | #print len(unmoved), 'max: ', max(scores), node_improvement[-1] 102 | unmoved.pop(_j) 103 | # the biggest improvement 104 | max_index = np.argmax(node_improvement) 105 | # change all the remaining nodes 106 | # which are not helping 107 | for i in range(max_index+1, len(comm_nodes)): 108 | j = node_indices[i] 109 | s[j,0] = -s[j, 0] 110 | # if we swap all the nodes, it is actually doing nothing 111 | if max_index == len(comm_nodes) - 1: 112 | delta_modularity = 0 113 | else: 114 | delta_modularity = node_improvement[max_index] 115 | # Stop if ΔQ <= 0 116 | if delta_modularity <= 0: 117 | break 118 | -------------------------------------------------------------------------------- /modularity_maximization/community_newman.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | import numpy as np 4 | import networkx as nx 5 | from collections import deque 6 | from modularity_maximization import utils, _divide 7 | 8 | def partition(network, refine=True): 9 | ''' 10 | Cluster a network into several modules 11 | using modularity maximization by spectral methods. 12 | 13 | Supports directed and undirected networks. 14 | Edge weights are ignored 15 | 16 | See: 17 | 18 | Newman, M. E. J. (2006). Modularity and community structure in networks. 19 | Proceedings of the National Academy of Sciences of the United States of America, 20 | 103(23), 8577–82. https://doi.org/10.1073/pnas.0601602103 21 | 22 | Leicht, E. A., & Newman, M. E. J. (2008). Community Structure in Directed Networks. 23 | Physical Review Letters, 100(11), 118703. https://doi.org/10.1103/PhysRevLett.100.118703 24 | 25 | Parameters 26 | ---------- 27 | network : nx.Graph or nx.DiGraph 28 | The network of interest 29 | refine: Boolean 30 | Whether refine the `s` vector from the initial clustering 31 | by repeatedly moving nodes to maximize modularity 32 | 33 | Returns 34 | ------- 35 | dict 36 | A dictionary that saves membership. 37 | Key: node label; Value: community index 38 | ''' 39 | ## preprocessing 40 | network = nx.convert_node_labels_to_integers(network, first_label=1, label_attribute="node_name") 41 | node_name = nx.get_node_attributes(network, 'node_name') 42 | 43 | ## only support unweighted network 44 | nx.set_edge_attributes(G=network, name='weight', values={edge:1 for edge in network.edges}) 45 | 46 | B = utils.get_base_modularity_matrix(network) 47 | 48 | ## set flags for divisibility of communities 49 | ## initial community is divisible 50 | divisible_community = deque([0]) 51 | 52 | ## add attributes: all node as one group 53 | community_dict = {u: 0 for u in network} 54 | 55 | ## overall modularity matrix 56 | 57 | comm_counter = 0 58 | 59 | while len(divisible_community) > 0: 60 | ## get the first divisible comm index out 61 | comm_index = divisible_community.popleft() 62 | g1_nodes, comm_nodes = _divide._divide(network, community_dict, comm_index, B, refine) 63 | if g1_nodes is None: 64 | ## indivisible, go to next 65 | continue 66 | ## Else divisible, obtain the other group g2 67 | #### Get the subgraphs (sub-communities) 68 | g1 = network.subgraph(g1_nodes) 69 | g2 = network.subgraph(set(comm_nodes).difference(set(g1_nodes))) 70 | parent = "%d"%comm_index 71 | 72 | ## add g1, g2 to tree and divisible list 73 | comm_counter += 1 74 | #community_tree.create_node(comm_counter, "%d" %comm_counter,\ 75 | # parent = parent, data = g1_nodes) 76 | divisible_community.append(comm_counter) 77 | ## update community 78 | for u in g1: 79 | community_dict[u] = comm_counter 80 | 81 | #community_tree.create_node(comm_counter, "%d" %comm_counter,\ 82 | # parent = parent, data = list(g2)) 83 | comm_counter += 1 84 | divisible_community.append(comm_counter) 85 | ## update community 86 | for u in g2: 87 | community_dict[u] = comm_counter 88 | 89 | ''' 90 | print '------' 91 | community_tree.show() 92 | partition = [] 93 | for comm_index in set(community_dict.values()): 94 | print comm_index 95 | partition.append(set([node_name[i] for i in community_dict if community_dict[i]==comm_index])) 96 | print sorted(list(partition[-1])) 97 | print 'Modularity: ', utils.get_modularity(network, community_dict) 98 | ''' 99 | 100 | return {node_name[u]: community_dict[u] for u in network} 101 | -------------------------------------------------------------------------------- /modularity_maximization/utils.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import numpy as np 3 | import networkx as nx 4 | from scipy import sparse 5 | from scipy.linalg import eig 6 | from itertools import product 7 | 8 | def get_base_modularity_matrix(network): 9 | ''' 10 | Obtain the modularity matrix for the whole network 11 | 12 | Parameters 13 | ---------- 14 | network : nx.Graph or nx.DiGraph 15 | The network of interest 16 | 17 | Returns 18 | ------- 19 | np.matrix 20 | The modularity matrix for `network` 21 | 22 | Raises 23 | ------ 24 | TypeError 25 | When the input `network` does not fit either nx.Graph or nx.DiGraph 26 | ''' 27 | 28 | if type(network) == nx.Graph: 29 | return sparse.csc_matrix(nx.modularity_matrix(network)) 30 | elif type(network) == nx.DiGraph: 31 | return sparse.csc_matrix(nx.directed_modularity_matrix(network)) 32 | else: 33 | raise TypeError('Graph type not supported. Use either nx.Graph or nx.Digraph') 34 | 35 | def _get_delta_Q(X, a): 36 | ''' 37 | Calculate the detal modularity 38 | .. math:: 39 | \deltaQ = s^T \cdot \^{B_{g}} \cdot s 40 | .. math:: \deltaQ = s^T \cdot \^{B_{g}} \cdot s 41 | 42 | Parameters 43 | ---------- 44 | X : np.matrix 45 | B_hat_g 46 | a : np.matrix 47 | s, which is the membership vector 48 | 49 | Returns 50 | ------- 51 | float 52 | The corresponding :math:`\deltaQ` 53 | ''' 54 | 55 | delta_Q = (a.T.dot(X)).dot(a) 56 | 57 | return delta_Q[0,0] 58 | 59 | def get_modularity(network, community_dict): 60 | ''' 61 | Calculate the modularity. Edge weights are ignored. 62 | 63 | Undirected: 64 | .. math:: Q = \frac{1}{2m}\sum_{i,j} \(A_ij - \frac{k_i k_j}{2m}\) * \detal_(c_i, c_j) 65 | 66 | Directed: 67 | .. math:: Q = \frac{1}{m}\sum_{i,j} \(A_ij - \frac{k_i^{in} k_j^{out}}{m}\) * \detal_{c_i, c_j} 68 | 69 | Parameters 70 | ---------- 71 | network : nx.Graph or nx.DiGraph 72 | The network of interest 73 | community_dict : dict 74 | A dictionary to store the membership of each node 75 | Key is node and value is community index 76 | 77 | Returns 78 | ------- 79 | float 80 | The modularity of `network` given `community_dict` 81 | ''' 82 | 83 | Q = 0 84 | G = network.copy() 85 | nx.set_edge_attributes(G, {e:1 for e in G.edges}, 'weight') 86 | A = nx.to_scipy_sparse_matrix(G).astype(float) 87 | 88 | if type(G) == nx.Graph: 89 | # for undirected graphs, in and out treated as the same thing 90 | out_degree = in_degree = dict(nx.degree(G)) 91 | M = 2.*(G.number_of_edges()) 92 | print("Calculating modularity for undirected graph") 93 | elif type(G) == nx.DiGraph: 94 | in_degree = dict(G.in_degree()) 95 | out_degree = dict(G.out_degree()) 96 | M = 1.*G.number_of_edges() 97 | print("Calculating modularity for directed graph") 98 | else: 99 | print('Invalid graph type') 100 | raise TypeError 101 | 102 | nodes = list(G) 103 | Q = np.sum([A[i,j] - in_degree[nodes[i]]*\ 104 | out_degree[nodes[j]]/M\ 105 | for i, j in product(range(len(nodes)),\ 106 | range(len(nodes))) \ 107 | if community_dict[nodes[i]] == community_dict[nodes[j]]]) 108 | return Q / M 109 | 110 | def get_mod_matrix(network, comm_nodes=None, B=None): 111 | ''' 112 | This function computes the modularity matrix 113 | for a specific group in the network. 114 | (a.k.a., generalized modularity matrix) 115 | 116 | Specifically, 117 | .. math:: 118 | B^g_{i,j} = B_ij - \delta_{ij} \sum_(k \in g) B_ik 119 | m = \abs[\Big]{E} 120 | B_ij = A_ij - \dfrac{k_i k_j}{2m} 121 | OR... 122 | B_ij = \(A_ij - \frac{k_i^{in} k_j^{out}}{m} 123 | 124 | When `comm_nodes` is None or all nodes in `network`, this reduces to :math:`B` 125 | 126 | Parameters 127 | ---------- 128 | network : nx.Graph or nx.DiGraph 129 | The network of interest 130 | comm_nodes : iterable (list, np.array, or tuple) 131 | List of nodes that defines a community 132 | B : np.matrix 133 | Modularity matrix of `network` 134 | 135 | Returns 136 | ------- 137 | np.matrix 138 | The modularity of `comm_nodes` within `network` 139 | ''' 140 | 141 | if comm_nodes is None: 142 | comm_nodes = list(network) 143 | return get_base_modularity_matrix(network) 144 | 145 | if B is None: 146 | B = get_base_modularity_matrix(network) 147 | 148 | # subset of mod matrix in g 149 | indices = [list(network).index(u) for u in comm_nodes] 150 | B_g = B[indices, :][:, indices] 151 | #print 'Type of `B_g`:', type(B_g) 152 | 153 | # B^g_(i,j) = B_ij - δ_ij * ∑_(k∈g) B_ik 154 | # i, j ∈ g 155 | B_hat_g = np.zeros((len(comm_nodes), len(comm_nodes)), dtype=float) 156 | 157 | # ∑_(k∈g) B_ik 158 | B_g_rowsum = np.asarray(B_g.sum(axis=1))[:, 0] 159 | if type(network) == nx.Graph: 160 | B_g_colsum = np.copy(B_g_rowsum) 161 | elif type(network) == nx.DiGraph: 162 | B_g_colsum = np.asarray(B_g.sum(axis=0))[0, :] 163 | 164 | for i in range(B_hat_g.shape[0]): 165 | for j in range(B_hat_g.shape[0]): 166 | if i == j: 167 | B_hat_g[i,j] = B_g[i,j] - 0.5 * (B_g_rowsum[i] + B_g_colsum[i]) 168 | else: 169 | B_hat_g[i,j] = B_g[i,j] 170 | 171 | if type(network) == nx.DiGraph: 172 | B_hat_g = B_hat_g + B_hat_g.T 173 | 174 | return sparse.csc_matrix(B_hat_g) 175 | 176 | def largest_eig(A): 177 | ''' 178 | A wrapper over `scipy.linalg.eig` to produce 179 | largest eigval and eigvector for A when A.shape is small 180 | ''' 181 | vals, vectors = eig(A.todense()) 182 | real_indices = [idx for idx, val in enumerate(vals) if not bool(val.imag)] 183 | vals = [vals[i].real for i in range(len(real_indices))] 184 | vectors = [vectors[i] for i in range(len(real_indices))] 185 | max_idx = np.argsort(vals)[-1] 186 | return np.asarray([vals[max_idx]]), np.asarray([vectors[max_idx]]).T 187 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | numpy 2 | scipy 3 | networkx 4 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | # Always prefer setuptools over distutils 2 | from setuptools import setup, find_packages 3 | # To use a consistent encoding 4 | import os, codecs 5 | 6 | HERE = os.path.abspath(os.path.dirname(__file__)) 7 | 8 | 9 | def read(*parts): 10 | """ 11 | Build an absolute path from *parts* and and return the contents of the 12 | resulting file. Assume UTF-8 encoding. 13 | """ 14 | with codecs.open(os.path.join(HERE, *parts), "rb", "utf-8") as f: 15 | return f.read() 16 | 17 | import modularity_maximization 18 | VERSION = modularity_maximization.__version__ 19 | 20 | setup( 21 | name='python-modularity-maximization', 22 | # You can just specify the packages manually here if your project is 23 | # simple. Or you can use find_packages(). 24 | packages=['modularity_maximization'], 25 | exclude_package_data={'': ['data*']}, 26 | 27 | # Versions should comply with PEP440. For a discussion on single-sourcing 28 | # the version across setup.py and the project code, see 29 | # https://packaging.python.org/en/latest/single_source_version.html 30 | version=VERSION, 31 | 32 | description='Community detection using Newman spectral methods to maximize modularity', 33 | long_description=read("README.rst"), 34 | 35 | # The project's main homepage. 36 | url='http://zhiyzuo.github.io/python-modularity-maximization/', 37 | download_url='https://github.com/zhiyzuo/python-modularity-maximization/tarball/' + VERSION, 38 | 39 | # Author details 40 | author='Zhiya Zuo', 41 | author_email='zhiyazuo@gmail.com', 42 | 43 | # Choose your license 44 | license='MIT', 45 | 46 | # See https://pypi.python.org/pypi?%3Aaction=list_classifiers 47 | classifiers=[ 48 | # How mature is this project? Common values are 49 | # 3 - Alpha 50 | # 4 - Beta 51 | # 5 - Production/Stable 52 | 'Development Status :: 3 - Alpha', 53 | 54 | # Indicate who your project is intended for 55 | 'Intended Audience :: Education', 56 | 'Intended Audience :: Science/Research', 57 | 'Intended Audience :: Information Technology', 58 | 'Topic :: Scientific/Engineering :: Information Analysis', 59 | 60 | # Pick your license as you wish (should match "license" above) 61 | 'License :: OSI Approved :: MIT License', 62 | 63 | # Specify the Python versions you support here. In particular, ensure 64 | # that you indicate whether you support Python 2, Python 3 or both. 65 | 'Programming Language :: Python :: 2', 66 | 'Programming Language :: Python :: 3', 67 | ], 68 | 69 | keywords='modularity newman community-detection network-analysis clustering', 70 | 71 | install_requires=[ 72 | "scipy", 73 | "numpy", 74 | "networkx", 75 | ] 76 | ) 77 | --------------------------------------------------------------------------------