Giter VIP home page Giter VIP logo

igraphm's Introduction

Discourse topics GitHub (pre-)release GitHub All Releases Contributions welcome DOI

The IGraph/M package provides a Wolfram Language interface to the popular igraph network analysis and graph theory library, as well as many other useful functions for working with graphs in Mathematica. Check out the blog post for an overview.

📦 Installation

The system requirements are Mathematica 11.0 or later, 64-bit Windows/macOS/Linux, or Raspberry Pi. Note that currently the Wolfram Cloud does not support LibraryLink, therefore IGraph/M does not run on the Wolfram Cloud.

To install the package automatically, simply evaluate the following in Mathematica:

Get["https://raw.githubusercontent.com/szhorvat/IGraphM/master/IGInstaller.m"]

IGraph/M can also be installed manually in the same way as any Mathematica application distributed as a paclet.

Download the .paclet file from the GitHub releases page, and install it using the PacletInstall function in Mathematica. For example, assuming that the file IGraphM-0.6.5.paclet was downloaded into the directory ~/Downloads, evaluate:

Needs["PacletManager`"]
PacletInstall["~/Downloads/IGraphM-0.6.5.paclet"]

After installation, the package can now be loaded with:

Needs["IGraphM`"]

Verify that it works by evaluating IGVersion[], then continue to the documentation with the IGDocumentation[] command.

To uninstall all currently installed versions of IGraph/M, evaluate PacletUninstall["IGraphM"]. This will remove all traces of IGraph/M from your system.

📖 Documentation

To open the documentation notebook, evaluate:

Needs["IGraphM`"]
IGDocumentation[]

Alternatively, search for "igraphm" in Mathematica's Documentation Center.

A web-based preview is also available.

The documentation is not yet complete and contributions are very welcome. If you would like to help out with expanding the documentation, send me an email.

For additional details about functions, also check the igraph documentation pages.

🛠️ Contributions

Help wanted with editing documentation and writing unit tests! Only basic Mathematica knowledge is required for this.

Contributions to IGraph/M are very welcome! Mathematica programmers of all levels of expertise can contribute.

In order of increasing difficulty, help is needed with the following tasks:

  • Just play with the package, read the documentation, and try to find problems.
  • Create examples for the documentation or edit the documentation.
  • Write formal unit tests.
  • Implement new functions in pure Wolfram Language code.
  • Expose more igraph library functions to IGraph/M (C++ knowledge required).
  • Implement entirely new functions in C++.

If you are interested in contributing, send me an email for guidance. Evaluate the following in Mathematica to get my email address:

Uncompress["1:eJxTTMoPChZiYGAorsrILypLLHFIz03MzNFLzs8FAG/xCOI="]

C++ programmers should look at Development.md for additional information.

💡Additional information

🎓 Citing

If you use IGraph/M in any academic publications, please cite:

  • Sz. Horvát, J. Podkalicki, G. Csárdi, T. Nepusz, V. Traag, F. Zanini, D. Noom, IGraph/M: graph theory and network analysis for Mathematica, Journal of Open Source Software, 8(81), 4899 (2023). https://doi.org/10.21105/joss.04899

⚖️ License

IGraph/M is licensed under the GNU GPLv3. See LICENSE.txt for details.

igraphm's People

Contributors

gitter-badger avatar kubapod avatar szhorvat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

igraphm's Issues

Make sure source files only have ASCII characters

Make sure source files only have ASCII characters, otherwise they will not be read correctly on systems where $CharacterEncoding is not "UTF-8".

image

Ensure that build-paclet.m transforms everything to ASCII, and converts a UTF-8 to \[Dash].

Test improvement: make sure test graphs have multiple representations

There were some bugs caused by the makeFast* optimizations. These bugs are related to edge ordering and are only triggered in "Incidence" representation graphs, not "Simple" ones.

Most test graphs are generated in such a way that they have "Simple" representation. Force half of these to other representations for better testing.

Isomorphisms: better handling of empty graphs

When one argument of isomorphism functions is an empty graph, its directedness should be taken to be the same as the other argument.

Mathematica does not distinguish between directed and undirected for empty graphs, but igraph does.

In[12]:= IGIsomorphicQ[IGEmptyGraph[3], Graph[{1 -> 2, 2 -> 3}]]

During evaluation of In[12]:= IGraphM::error: topology.c:788 - Cannot compare directed and undirected graphs

During evaluation of In[12]:= IGraphM::error: igraph returned with error: Invalid value

Out[12]= LibraryFunctionError["LIBRARY_FUNCTION_ERROR", 6]

IGGraphlets crashes

The following will hang or crash:

el = UndirectedEdge @@@ {{1, 2}, {1, 3}, {1, 7}, {1, 8}, {1, 10}, {2, 3}, {2, 6}, {2, 7}, {2, 
  10}, {3, 4}, {3, 5}, {3, 8}, {3, 10}, {4, 10}, {5, 6}, {5, 8}, {5, 
  10}, {6, 8}, {6, 9}, {7, 10}};

ew = {2, 4, 3, 2, 2, 2, 5, 4, 3, 4, 2, 2, 3, 5, 2, 4, 3, 4, 4, 2};

g = Graph[el, EdgeWeight -> ew]

IGGraphlets[g]

Bug is in igraph C core: igraph/igraph#869

Support nexus.igraph.org

Functions for querying the database and retrieving the graph.

Should go in its own sub-package.

Implement lazy loading for IGData

Timings:

usage: 0.077521

Evaluate IGDocumentation[] to get started.

load: 0.310616

helper: 0.312316

IGData: 0.403891

defs: 0.428551

finalize: 0.435581

Data loading take nearly 0.1 s, will take more for bigger data.

Community detection: Tree should fail gracefully with disconnected graph

Example:

g = Graph[{1 <-> 2, 2 <-> 3, 1 <-> 3, 4 <-> 5}]

This is not a connected graph.

cl = IGCommunitiesWalktrap[g]

(* IGClusterData[<|"Elements" -> {1, 2, 3, 4, 5}, "Communities" -> {{1, 2, 3}, {4, 5}}, 
  "Modularity" -> {0., -0.09375, 0.125, 0.375, 0.}, "Merges" -> {{1, 3}, {4, 5}, {2, 
   6}}, "Algorithm" -> "Walktrap"|>] *)

cl["HierarchicalClusters"]

(* Cluster[2, Cluster[1, 3, 1, 1, 1], 3, 1, 2] *)

image

Compile error

Error Message:

In[3]:= << IGraphM`

LibraryFunction::notfound: Symbol IGraphM not found.

Loading failed, trying to recompile ...

Current directory is: C:\Users\xxx\Desktop\IGraphM-master\IGraphM\LibraryResources\Source

Unloading library IGraphM ...
Generating library code ...

Compiling library code ...

call "D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64

cl.exe /LD /O2 /MT /EHsc /wd4244 /DNOMINMAX /I "D:\Program Files\Wolfram Research\Mathematica\11.0\SystemFiles\IncludeFiles\C" /I "D:\Program Files\Wolfram Research\Mathematica\11.0\SystemFiles\Links\MathLink\DeveloperKit\Windows-x86-64\CompilerAdditions\mldev64\include" /I "C:\msys64\home%USERNAME%\local\include" /I "C:\ProgramData\Mathematica\Applications\LTemplate\IncludeFiles" "C:\Users\xxx\Desktop\IGraphM-master\IGraphM\LibraryResources\Source\LTemplate-IGraphM.cpp" "C:\Users\xxx\Desktop\IGraphM-master\IGraphM\LibraryResources\Source\IGlobal.cpp" /link /implib:"C:\Users\xxx\Desktop\IGraphM-master\IGraphM\LibraryResources\Windows-x86-64\Working-pc-of-zj-172-11660-1\IGraphM.lib" /LIBPATH:"D:\Program Files\Wolfram Research\Mathematica\11.0\SystemFiles\Links\MathLink\DeveloperKit\Windows-x86-64\CompilerAdditions\mldev64\lib" /LIBPATH:"D:\Program Files\Wolfram Research\Mathematica\11.0\SystemFiles\Libraries\Windows-x86-64" "ml64i4m.lib" "C:\msys64\home%USERNAME%\local\lib\libigraph.dll.a" /out:"C:\Users\xxx\Desktop\IGraphM-master\IGraphM\LibraryResources\Windows-x86-64\Working-pc-of-zj-172-11660-1\IGraphM.dll"

C:\Users\xxx\Desktop\IGraphM-master\IGraphM\LibraryResources\Windows-x86-64\Working-pc-of-zj-172-11660-1>call "D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
ÓÃÓÚ x64 [Micro]Ä Microsoft (R) C/C++ ÓÅ»¯[PlusMinus]àÒëÆ/ 19.00.23918 [Degree]æ
[Degree]æȨËùÓÐ(C) Microsoft Corporation¡£[PlusMinus]£ÁôËùÓÐȨÀû¡£

LTemplate-IGraphM.cpp
c:\users\xiaozhujie\desktop\igraphm-master\igraphm\libraryresources\source\IGCommon.h(5): fatal error C1083: ÎÞ[CenterDot]¨.b4ò¿ª[Degree]üÀ¨Îļþ: ¡[Degree]igraph/igraph.h¡[PlusMinus]: No such file or directory
IGlobal.cpp
c:\users\xxx\desktop\igraphm-master\igraphm\libraryresources\source\IGCommon.h(5): fatal error C1083: ÎÞ[CenterDot]¨.b4ò¿ª[Degree]üÀ¨Îļþ: ¡[Degree]igraph/igraph.h¡[PlusMinus]: No such file or directory
ÕýÔÚÉú.b3É.b4úÂë...

CreateLibrary::cmperr: Compile error: c:\users\xxx\desktop\igraphm-master\igraphm\libraryresources\source\IGCommon.h(5): fatal error C1083: ÎÞ[CenterDot]¨.b4ò¿ª[Degree]üÀ¨Îļþ: ¡[Degree]igraph/igraph.h¡[PlusMinus]: No such file or directory

CreateLibrary::cmperr: Compile error: c:\users\xxx\desktop\igraphm-master\igraphm\libraryresources\source\IGCommon.h(5): fatal error C1083: ÎÞ[CenterDot]¨.b4ò¿ª[Degree]üÀ¨Îļþ: ¡[Degree]igraph/igraph.h¡[PlusMinus]: No such file or directory

LibraryFunction::notfound: Symbol IGraphM not found.

Cannot load or compile library. [FreakedSmiley] Aborting.

Out[3]= $Aborted

IGConnectNeighborhood: support connecting vertices at precisely distance n away

Suggestion by yode:

IGConnectNeighborhood[g, {3}] should connect vertices at precisely distance 3 away (but not those that are at distance 2 away).

Check: Can we do this using existing C/igraph functions only, or do we need to modify the core library?

IGConnectNeighborhood is equivalent to the builtin GraphPower, and thus does not provide anything extra.

Implement functions with property combiners

There should be functions like SimpleGraph, DirectedGraph, UndirectedGraph which can handle the edge properties (weight, capacity) in a reasonable manner: instead of removing these, split them or join them with certain functions when computing the result.

E.g. when a multigraph is converted to a simple graph, edge weights of multi-edges should be added (or combined using a custom function).

This will go in the Utilities package.

Tree property of IGClusterData fails

Reproducing the problem:

With the edge list (el) from below,

cl = IGCommunitiesEdgeBetweenness@Graph[Range[300], el];
cl["Tree"]

image

el = {1 \[DirectedEdge] 17, 1 \[DirectedEdge] 23, 1 \[DirectedEdge] 128, 
 1 \[DirectedEdge] 145, 2 \[DirectedEdge] 35, 2 \[DirectedEdge] 59, 
 2 \[DirectedEdge] 159, 2 \[DirectedEdge] 260, 2 \[DirectedEdge] 267, 
 2 \[DirectedEdge] 299, 3 \[DirectedEdge] 80, 3 \[DirectedEdge] 102, 
 3 \[DirectedEdge] 175, 3 \[DirectedEdge] 203, 4 \[DirectedEdge] 12, 
 4 \[DirectedEdge] 18, 4 \[DirectedEdge] 86, 4 \[DirectedEdge] 144, 
 4 \[DirectedEdge] 153, 4 \[DirectedEdge] 209, 5 \[DirectedEdge] 169, 
 5 \[DirectedEdge] 281, 6 \[DirectedEdge] 15, 6 \[DirectedEdge] 80, 
 6 \[DirectedEdge] 92, 6 \[DirectedEdge] 100, 6 \[DirectedEdge] 139, 
 6 \[DirectedEdge] 143, 6 \[DirectedEdge] 175, 6 \[DirectedEdge] 211, 
 6 \[DirectedEdge] 249, 6 \[DirectedEdge] 263, 7 \[DirectedEdge] 27, 
 7 \[DirectedEdge] 75, 7 \[DirectedEdge] 160, 7 \[DirectedEdge] 178, 
 7 \[DirectedEdge] 185, 7 \[DirectedEdge] 186, 8 \[DirectedEdge] 4, 
 8 \[DirectedEdge] 86, 8 \[DirectedEdge] 102, 8 \[DirectedEdge] 169, 
 8 \[DirectedEdge] 209, 9 \[DirectedEdge] 5, 10 \[DirectedEdge] 30, 
 10 \[DirectedEdge] 160, 10 \[DirectedEdge] 181, 
 10 \[DirectedEdge] 186, 10 \[DirectedEdge] 258, 
 10 \[DirectedEdge] 266, 11 \[DirectedEdge] 6, 11 \[DirectedEdge] 92, 
 11 \[DirectedEdge] 111, 11 \[DirectedEdge] 150, 
 11 \[DirectedEdge] 163, 11 \[DirectedEdge] 183, 
 11 \[DirectedEdge] 249, 11 \[DirectedEdge] 256, 12 \[DirectedEdge] 6,
  12 \[DirectedEdge] 8, 12 \[DirectedEdge] 84, 12 \[DirectedEdge] 88, 
 12 \[DirectedEdge] 102, 12 \[DirectedEdge] 118, 
 12 \[DirectedEdge] 177, 12 \[DirectedEdge] 243, 
 13 \[DirectedEdge] 21, 13 \[DirectedEdge] 77, 13 \[DirectedEdge] 146,
  13 \[DirectedEdge] 197, 13 \[DirectedEdge] 256, 
 14 \[DirectedEdge] 45, 14 \[DirectedEdge] 64, 14 \[DirectedEdge] 107,
  15 \[DirectedEdge] 42, 15 \[DirectedEdge] 143, 
 15 \[DirectedEdge] 153, 15 \[DirectedEdge] 187, 
 15 \[DirectedEdge] 194, 15 \[DirectedEdge] 249, 
 15 \[DirectedEdge] 294, 16 \[DirectedEdge] 44, 16 \[DirectedEdge] 72,
  16 \[DirectedEdge] 124, 16 \[DirectedEdge] 165, 
 16 \[DirectedEdge] 192, 16 \[DirectedEdge] 232, 
 16 \[DirectedEdge] 247, 17 \[DirectedEdge] 20, 
 17 \[DirectedEdge] 128, 17 \[DirectedEdge] 168, 
 17 \[DirectedEdge] 180, 17 \[DirectedEdge] 217, 
 18 \[DirectedEdge] 29, 18 \[DirectedEdge] 165, 
 18 \[DirectedEdge] 194, 18 \[DirectedEdge] 249, 
 18 \[DirectedEdge] 275, 19 \[DirectedEdge] 207, 
 20 \[DirectedEdge] 17, 20 \[DirectedEdge] 112, 21 \[DirectedEdge] 41,
  21 \[DirectedEdge] 74, 21 \[DirectedEdge] 82, 
 21 \[DirectedEdge] 201, 21 \[DirectedEdge] 292, 
 22 \[DirectedEdge] 38, 22 \[DirectedEdge] 54, 22 \[DirectedEdge] 59, 
 22 \[DirectedEdge] 115, 22 \[DirectedEdge] 182, 
 22 \[DirectedEdge] 193, 22 \[DirectedEdge] 210, 
 22 \[DirectedEdge] 244, 22 \[DirectedEdge] 255, 
 22 \[DirectedEdge] 282, 23 \[DirectedEdge] 200, 
 23 \[DirectedEdge] 271, 24 \[DirectedEdge] 76, 
 24 \[DirectedEdge] 114, 24 \[DirectedEdge] 121, 
 24 \[DirectedEdge] 158, 24 \[DirectedEdge] 206, 
 24 \[DirectedEdge] 214, 25 \[DirectedEdge] 7, 25 \[DirectedEdge] 13, 
 25 \[DirectedEdge] 21, 25 \[DirectedEdge] 56, 25 \[DirectedEdge] 256,
  25 \[DirectedEdge] 277, 26 \[DirectedEdge] 101, 
 26 \[DirectedEdge] 109, 26 \[DirectedEdge] 182, 
 26 \[DirectedEdge] 191, 26 \[DirectedEdge] 204, 
 26 \[DirectedEdge] 213, 26 \[DirectedEdge] 281, 27 \[DirectedEdge] 7,
  27 \[DirectedEdge] 30, 27 \[DirectedEdge] 55, 27 \[DirectedEdge] 75,
  27 \[DirectedEdge] 178, 27 \[DirectedEdge] 212, 
 27 \[DirectedEdge] 221, 28 \[DirectedEdge] 99, 
 28 \[DirectedEdge] 149, 28 \[DirectedEdge] 151, 
 28 \[DirectedEdge] 165, 28 \[DirectedEdge] 215, 
 29 \[DirectedEdge] 15, 29 \[DirectedEdge] 86, 29 \[DirectedEdge] 153,
  29 \[DirectedEdge] 209, 31 \[DirectedEdge] 16, 
 31 \[DirectedEdge] 44, 31 \[DirectedEdge] 182, 
 31 \[DirectedEdge] 192, 31 \[DirectedEdge] 197, 
 31 \[DirectedEdge] 226, 31 \[DirectedEdge] 235, 
 32 \[DirectedEdge] 110, 32 \[DirectedEdge] 140, 
 32 \[DirectedEdge] 213, 32 \[DirectedEdge] 218, 
 32 \[DirectedEdge] 241, 32 \[DirectedEdge] 287, 
 33 \[DirectedEdge] 16, 33 \[DirectedEdge] 31, 33 \[DirectedEdge] 44, 
 33 \[DirectedEdge] 72, 33 \[DirectedEdge] 135, 
 33 \[DirectedEdge] 201, 33 \[DirectedEdge] 226, 
 34 \[DirectedEdge] 22, 34 \[DirectedEdge] 136, 
 34 \[DirectedEdge] 193, 34 \[DirectedEdge] 215, 
 34 \[DirectedEdge] 244, 34 \[DirectedEdge] 247, 
 34 \[DirectedEdge] 285, 35 \[DirectedEdge] 91, 
 35 \[DirectedEdge] 137, 35 \[DirectedEdge] 195, 
 35 \[DirectedEdge] 218, 35 \[DirectedEdge] 299, 36 \[DirectedEdge] 5,
  36 \[DirectedEdge] 86, 36 \[DirectedEdge] 243, 
 37 \[DirectedEdge] 188, 37 \[DirectedEdge] 278, 
 38 \[DirectedEdge] 28, 38 \[DirectedEdge] 59, 38 \[DirectedEdge] 78, 
 38 \[DirectedEdge] 104, 38 \[DirectedEdge] 149, 
 38 \[DirectedEdge] 192, 38 \[DirectedEdge] 210, 
 39 \[DirectedEdge] 133, 39 \[DirectedEdge] 197, 
 39 \[DirectedEdge] 226, 40 \[DirectedEdge] 178, 
 41 \[DirectedEdge] 28, 41 \[DirectedEdge] 127, 
 41 \[DirectedEdge] 181, 41 \[DirectedEdge] 196, 
 41 \[DirectedEdge] 229, 41 \[DirectedEdge] 273, 
 41 \[DirectedEdge] 283, 42 \[DirectedEdge] 62, 42 \[DirectedEdge] 72,
  42 \[DirectedEdge] 88, 42 \[DirectedEdge] 150, 
 42 \[DirectedEdge] 163, 42 \[DirectedEdge] 175, 
 42 \[DirectedEdge] 219, 42 \[DirectedEdge] 228, 
 42 \[DirectedEdge] 268, 42 \[DirectedEdge] 279, 
 43 \[DirectedEdge] 35, 43 \[DirectedEdge] 73, 43 \[DirectedEdge] 110,
  43 \[DirectedEdge] 184, 43 \[DirectedEdge] 213, 
 44 \[DirectedEdge] 33, 44 \[DirectedEdge] 105, 
 44 \[DirectedEdge] 165, 44 \[DirectedEdge] 192, 
 45 \[DirectedEdge] 14, 45 \[DirectedEdge] 69, 45 \[DirectedEdge] 73, 
 45 \[DirectedEdge] 157, 45 \[DirectedEdge] 267, 
 46 \[DirectedEdge] 22, 46 \[DirectedEdge] 69, 46 \[DirectedEdge] 73, 
 46 \[DirectedEdge] 125, 46 \[DirectedEdge] 164, 
 46 \[DirectedEdge] 237, 47 \[DirectedEdge] 262, 
 48 \[DirectedEdge] 61, 48 \[DirectedEdge] 132, 
 48 \[DirectedEdge] 181, 48 \[DirectedEdge] 208, 
 48 \[DirectedEdge] 280, 48 \[DirectedEdge] 284, 
 49 \[DirectedEdge] 51, 49 \[DirectedEdge] 76, 49 \[DirectedEdge] 89, 
 49 \[DirectedEdge] 97, 49 \[DirectedEdge] 114, 
 49 \[DirectedEdge] 121, 49 \[DirectedEdge] 129, 
 49 \[DirectedEdge] 238, 50 \[DirectedEdge] 112, 
 50 \[DirectedEdge] 151, 50 \[DirectedEdge] 161, 
 50 \[DirectedEdge] 189, 50 \[DirectedEdge] 217, 
 50 \[DirectedEdge] 245, 50 \[DirectedEdge] 265, 
 51 \[DirectedEdge] 77, 51 \[DirectedEdge] 121, 
 51 \[DirectedEdge] 152, 51 \[DirectedEdge] 158, 
 51 \[DirectedEdge] 206, 51 \[DirectedEdge] 295, 
 52 \[DirectedEdge] 95, 52 \[DirectedEdge] 150, 
 52 \[DirectedEdge] 174, 52 \[DirectedEdge] 227, 
 53 \[DirectedEdge] 170, 53 \[DirectedEdge] 207, 
 53 \[DirectedEdge] 234, 53 \[DirectedEdge] 251, 
 54 \[DirectedEdge] 225, 54 \[DirectedEdge] 246, 
 54 \[DirectedEdge] 262, 55 \[DirectedEdge] 27, 
 55 \[DirectedEdge] 269, 56 \[DirectedEdge] 33, 56 \[DirectedEdge] 66,
  56 \[DirectedEdge] 149, 57 \[DirectedEdge] 5, 
 57 \[DirectedEdge] 169, 58 \[DirectedEdge] 77, 58 \[DirectedEdge] 90,
  58 \[DirectedEdge] 97, 58 \[DirectedEdge] 129, 
 58 \[DirectedEdge] 150, 58 \[DirectedEdge] 154, 
 58 \[DirectedEdge] 219, 58 \[DirectedEdge] 294, 
 59 \[DirectedEdge] 22, 59 \[DirectedEdge] 69, 59 \[DirectedEdge] 78, 
 59 \[DirectedEdge] 237, 59 \[DirectedEdge] 248, 
 59 \[DirectedEdge] 253, 60 \[DirectedEdge] 107, 
 60 \[DirectedEdge] 115, 60 \[DirectedEdge] 182, 
 60 \[DirectedEdge] 285, 61 \[DirectedEdge] 17, 61 \[DirectedEdge] 63,
  61 \[DirectedEdge] 74, 61 \[DirectedEdge] 117, 
 61 \[DirectedEdge] 122, 61 \[DirectedEdge] 147, 
 61 \[DirectedEdge] 149, 61 \[DirectedEdge] 196, 
 61 \[DirectedEdge] 232, 61 \[DirectedEdge] 236, 
 62 \[DirectedEdge] 70, 62 \[DirectedEdge] 83, 62 \[DirectedEdge] 99, 
 62 \[DirectedEdge] 146, 62 \[DirectedEdge] 181, 
 62 \[DirectedEdge] 256, 62 \[DirectedEdge] 263, 
 63 \[DirectedEdge] 41, 63 \[DirectedEdge] 61, 63 \[DirectedEdge] 74, 
 63 \[DirectedEdge] 106, 63 \[DirectedEdge] 120, 
 64 \[DirectedEdge] 34, 64 \[DirectedEdge] 101, 
 64 \[DirectedEdge] 104, 64 \[DirectedEdge] 218, 
 64 \[DirectedEdge] 260, 65 \[DirectedEdge] 42, 65 \[DirectedEdge] 81,
  65 \[DirectedEdge] 143, 65 \[DirectedEdge] 187, 
 65 \[DirectedEdge] 268, 66 \[DirectedEdge] 21, 66 \[DirectedEdge] 61,
  66 \[DirectedEdge] 120, 66 \[DirectedEdge] 147, 
 66 \[DirectedEdge] 173, 67 \[DirectedEdge] 30, 68 \[DirectedEdge] 71,
  68 \[DirectedEdge] 108, 68 \[DirectedEdge] 130, 
 68 \[DirectedEdge] 131, 68 \[DirectedEdge] 162, 
 68 \[DirectedEdge] 207, 68 \[DirectedEdge] 245, 
 69 \[DirectedEdge] 14, 69 \[DirectedEdge] 22, 69 \[DirectedEdge] 45, 
 69 \[DirectedEdge] 46, 69 \[DirectedEdge] 73, 69 \[DirectedEdge] 94, 
 69 \[DirectedEdge] 104, 69 \[DirectedEdge] 125, 
 69 \[DirectedEdge] 218, 69 \[DirectedEdge] 237, 
 69 \[DirectedEdge] 254, 70 \[DirectedEdge] 77, 70 \[DirectedEdge] 99,
  70 \[DirectedEdge] 113, 70 \[DirectedEdge] 126, 
 70 \[DirectedEdge] 181, 70 \[DirectedEdge] 214, 
 71 \[DirectedEdge] 68, 71 \[DirectedEdge] 170, 
 71 \[DirectedEdge] 251, 71 \[DirectedEdge] 259, 
 71 \[DirectedEdge] 288, 72 \[DirectedEdge] 15, 72 \[DirectedEdge] 33,
  72 \[DirectedEdge] 39, 72 \[DirectedEdge] 62, 72 \[DirectedEdge] 82,
  72 \[DirectedEdge] 84, 72 \[DirectedEdge] 99, 73 \[DirectedEdge] 54,
  73 \[DirectedEdge] 199, 73 \[DirectedEdge] 254, 
 73 \[DirectedEdge] 298, 73 \[DirectedEdge] 300, 
 74 \[DirectedEdge] 63, 74 \[DirectedEdge] 151, 
 74 \[DirectedEdge] 168, 74 \[DirectedEdge] 196, 
 74 \[DirectedEdge] 215, 74 \[DirectedEdge] 236, 75 \[DirectedEdge] 7,
  75 \[DirectedEdge] 55, 75 \[DirectedEdge] 178, 
 76 \[DirectedEdge] 58, 76 \[DirectedEdge] 114, 
 76 \[DirectedEdge] 134, 76 \[DirectedEdge] 154, 
 76 \[DirectedEdge] 231, 76 \[DirectedEdge] 294, 
 77 \[DirectedEdge] 70, 77 \[DirectedEdge] 89, 77 \[DirectedEdge] 113,
  77 \[DirectedEdge] 119, 77 \[DirectedEdge] 208, 
 77 \[DirectedEdge] 293, 78 \[DirectedEdge] 38, 
 78 \[DirectedEdge] 138, 78 \[DirectedEdge] 165, 
 78 \[DirectedEdge] 192, 78 \[DirectedEdge] 224, 
 78 \[DirectedEdge] 255, 79 \[DirectedEdge] 103, 
 79 \[DirectedEdge] 155, 79 \[DirectedEdge] 234, 
 79 \[DirectedEdge] 244, 80 \[DirectedEdge] 3, 80 \[DirectedEdge] 83, 
 80 \[DirectedEdge] 166, 80 \[DirectedEdge] 175, 
 81 \[DirectedEdge] 33, 81 \[DirectedEdge] 42, 81 \[DirectedEdge] 56, 
 81 \[DirectedEdge] 72, 81 \[DirectedEdge] 78, 81 \[DirectedEdge] 99, 
 81 \[DirectedEdge] 146, 81 \[DirectedEdge] 183, 
 81 \[DirectedEdge] 249, 81 \[DirectedEdge] 270, 
 82 \[DirectedEdge] 21, 82 \[DirectedEdge] 25, 82 \[DirectedEdge] 62, 
 82 \[DirectedEdge] 119, 82 \[DirectedEdge] 266, 
 82 \[DirectedEdge] 277, 82 \[DirectedEdge] 292, 
 83 \[DirectedEdge] 62, 83 \[DirectedEdge] 65, 83 \[DirectedEdge] 82, 
 83 \[DirectedEdge] 92, 83 \[DirectedEdge] 99, 83 \[DirectedEdge] 181,
  83 \[DirectedEdge] 183, 83 \[DirectedEdge] 256, 
 84 \[DirectedEdge] 3, 84 \[DirectedEdge] 102, 84 \[DirectedEdge] 118,
  84 \[DirectedEdge] 153, 85 \[DirectedEdge] 3, 85 \[DirectedEdge] 8, 
 85 \[DirectedEdge] 29, 85 \[DirectedEdge] 102, 
 85 \[DirectedEdge] 194, 85 \[DirectedEdge] 230, 
 86 \[DirectedEdge] 12, 86 \[DirectedEdge] 166, 
 86 \[DirectedEdge] 177, 87 \[DirectedEdge] 35, 87 \[DirectedEdge] 94,
  87 \[DirectedEdge] 110, 87 \[DirectedEdge] 137, 
 87 \[DirectedEdge] 299, 88 \[DirectedEdge] 11, 88 \[DirectedEdge] 80,
  88 \[DirectedEdge] 85, 88 \[DirectedEdge] 150, 
 88 \[DirectedEdge] 175, 89 \[DirectedEdge] 58, 90 \[DirectedEdge] 25,
  90 \[DirectedEdge] 77, 90 \[DirectedEdge] 82, 
 90 \[DirectedEdge] 181, 90 \[DirectedEdge] 252, 
 90 \[DirectedEdge] 295, 91 \[DirectedEdge] 253, 
 92 \[DirectedEdge] 65, 92 \[DirectedEdge] 72, 92 \[DirectedEdge] 98, 
 92 \[DirectedEdge] 142, 93 \[DirectedEdge] 6, 93 \[DirectedEdge] 80, 
 93 \[DirectedEdge] 203, 94 \[DirectedEdge] 87, 
 94 \[DirectedEdge] 164, 94 \[DirectedEdge] 241, 
 95 \[DirectedEdge] 52, 95 \[DirectedEdge] 113, 
 95 \[DirectedEdge] 139, 95 \[DirectedEdge] 154, 
 95 \[DirectedEdge] 257, 95 \[DirectedEdge] 294, 
 96 \[DirectedEdge] 246, 97 \[DirectedEdge] 49, 97 \[DirectedEdge] 58,
  97 \[DirectedEdge] 76, 97 \[DirectedEdge] 114, 
 97 \[DirectedEdge] 121, 97 \[DirectedEdge] 219, 
 97 \[DirectedEdge] 294, 98 \[DirectedEdge] 65, 98 \[DirectedEdge] 92,
  98 \[DirectedEdge] 150, 98 \[DirectedEdge] 211, 
 98 \[DirectedEdge] 228, 99 \[DirectedEdge] 18, 99 \[DirectedEdge] 31,
  99 \[DirectedEdge] 42, 99 \[DirectedEdge] 80, 
 99 \[DirectedEdge] 146, 99 \[DirectedEdge] 201, 
 99 \[DirectedEdge] 249, 99 \[DirectedEdge] 256, 
 99 \[DirectedEdge] 263, 100 \[DirectedEdge] 42, 
 100 \[DirectedEdge] 80, 100 \[DirectedEdge] 88, 
 100 \[DirectedEdge] 203, 100 \[DirectedEdge] 211, 
 100 \[DirectedEdge] 261, 100 \[DirectedEdge] 268, 
 101 \[DirectedEdge] 26, 101 \[DirectedEdge] 64, 
 101 \[DirectedEdge] 94, 101 \[DirectedEdge] 104, 
 101 \[DirectedEdge] 136, 101 \[DirectedEdge] 140, 
 101 \[DirectedEdge] 204, 101 \[DirectedEdge] 224, 
 101 \[DirectedEdge] 247, 101 \[DirectedEdge] 270, 
 102 \[DirectedEdge] 84, 102 \[DirectedEdge] 177, 
 102 \[DirectedEdge] 272, 104 \[DirectedEdge] 28, 
 104 \[DirectedEdge] 64, 104 \[DirectedEdge] 101, 
 104 \[DirectedEdge] 136, 104 \[DirectedEdge] 140, 
 104 \[DirectedEdge] 191, 104 \[DirectedEdge] 218, 
 105 \[DirectedEdge] 44, 106 \[DirectedEdge] 20, 
 106 \[DirectedEdge] 50, 106 \[DirectedEdge] 63, 
 106 \[DirectedEdge] 74, 106 \[DirectedEdge] 112, 
 106 \[DirectedEdge] 117, 106 \[DirectedEdge] 127, 
 106 \[DirectedEdge] 145, 106 \[DirectedEdge] 161, 
 106 \[DirectedEdge] 189, 106 \[DirectedEdge] 216, 
 106 \[DirectedEdge] 265, 106 \[DirectedEdge] 276, 
 107 \[DirectedEdge] 2, 107 \[DirectedEdge] 14, 
 107 \[DirectedEdge] 59, 107 \[DirectedEdge] 104, 
 107 \[DirectedEdge] 123, 107 \[DirectedEdge] 164, 
 107 \[DirectedEdge] 244, 107 \[DirectedEdge] 253, 
 107 \[DirectedEdge] 267, 108 \[DirectedEdge] 130, 
 108 \[DirectedEdge] 251, 108 \[DirectedEdge] 286, 
 109 \[DirectedEdge] 26, 109 \[DirectedEdge] 204, 
 109 \[DirectedEdge] 213, 109 \[DirectedEdge] 218, 
 109 \[DirectedEdge] 244, 109 \[DirectedEdge] 285, 
 109 \[DirectedEdge] 290, 110 \[DirectedEdge] 43, 
 110 \[DirectedEdge] 193, 110 \[DirectedEdge] 195, 
 110 \[DirectedEdge] 287, 111 \[DirectedEdge] 11, 
 111 \[DirectedEdge] 146, 111 \[DirectedEdge] 150, 
 111 \[DirectedEdge] 163, 111 \[DirectedEdge] 235, 
 111 \[DirectedEdge] 256, 112 \[DirectedEdge] 50, 
 112 \[DirectedEdge] 106, 112 \[DirectedEdge] 189, 
 112 \[DirectedEdge] 202, 112 \[DirectedEdge] 271, 
 113 \[DirectedEdge] 77, 113 \[DirectedEdge] 90, 
 113 \[DirectedEdge] 126, 113 \[DirectedEdge] 190, 
 113 \[DirectedEdge] 214, 113 \[DirectedEdge] 295, 
 114 \[DirectedEdge] 97, 114 \[DirectedEdge] 129, 
 114 \[DirectedEdge] 231, 115 \[DirectedEdge] 22, 
 115 \[DirectedEdge] 35, 115 \[DirectedEdge] 60, 
 115 \[DirectedEdge] 64, 115 \[DirectedEdge] 73, 
 115 \[DirectedEdge] 226, 115 \[DirectedEdge] 248, 
 115 \[DirectedEdge] 285, 116 \[DirectedEdge] 41, 
 116 \[DirectedEdge] 160, 116 \[DirectedEdge] 173, 
 116 \[DirectedEdge] 181, 116 \[DirectedEdge] 185, 
 116 \[DirectedEdge] 212, 116 \[DirectedEdge] 229, 
 116 \[DirectedEdge] 293, 117 \[DirectedEdge] 56, 
 117 \[DirectedEdge] 106, 117 \[DirectedEdge] 120, 
 117 \[DirectedEdge] 127, 117 \[DirectedEdge] 145, 
 117 \[DirectedEdge] 189, 117 \[DirectedEdge] 271, 
 117 \[DirectedEdge] 284, 117 \[DirectedEdge] 296, 
 118 \[DirectedEdge] 3, 118 \[DirectedEdge] 29, 
 118 \[DirectedEdge] 177, 118 \[DirectedEdge] 233, 
 118 \[DirectedEdge] 243, 118 \[DirectedEdge] 272, 
 119 \[DirectedEdge] 67, 119 \[DirectedEdge] 258, 
 120 \[DirectedEdge] 47, 120 \[DirectedEdge] 106, 
 120 \[DirectedEdge] 117, 120 \[DirectedEdge] 151, 
 120 \[DirectedEdge] 161, 120 \[DirectedEdge] 189, 
 120 \[DirectedEdge] 202, 120 \[DirectedEdge] 291, 
 120 \[DirectedEdge] 296, 121 \[DirectedEdge] 24, 
 121 \[DirectedEdge] 51, 121 \[DirectedEdge] 114, 
 121 \[DirectedEdge] 158, 121 \[DirectedEdge] 206, 
 121 \[DirectedEdge] 250, 121 \[DirectedEdge] 295, 
 122 \[DirectedEdge] 7, 122 \[DirectedEdge] 106, 
 122 \[DirectedEdge] 120, 122 \[DirectedEdge] 173, 
 122 \[DirectedEdge] 220, 122 \[DirectedEdge] 273, 
 123 \[DirectedEdge] 69, 123 \[DirectedEdge] 107, 
 123 \[DirectedEdge] 157, 123 \[DirectedEdge] 164, 
 123 \[DirectedEdge] 237, 123 \[DirectedEdge] 253, 
 123 \[DirectedEdge] 254, 123 \[DirectedEdge] 299, 
 124 \[DirectedEdge] 16, 124 \[DirectedEdge] 21, 
 124 \[DirectedEdge] 62, 124 \[DirectedEdge] 82, 
 124 \[DirectedEdge] 226, 124 \[DirectedEdge] 232, 
 125 \[DirectedEdge] 2, 125 \[DirectedEdge] 35, 
 125 \[DirectedEdge] 46, 125 \[DirectedEdge] 91, 
 125 \[DirectedEdge] 123, 125 \[DirectedEdge] 253, 
 126 \[DirectedEdge] 67, 126 \[DirectedEdge] 132, 
 126 \[DirectedEdge] 158, 126 \[DirectedEdge] 264, 
 126 \[DirectedEdge] 293, 127 \[DirectedEdge] 17, 
 127 \[DirectedEdge] 50, 127 \[DirectedEdge] 74, 
 127 \[DirectedEdge] 117, 127 \[DirectedEdge] 145, 
 127 \[DirectedEdge] 151, 127 \[DirectedEdge] 173, 
 127 \[DirectedEdge] 192, 127 \[DirectedEdge] 196, 
 127 \[DirectedEdge] 271, 127 \[DirectedEdge] 284, 
 128 \[DirectedEdge] 74, 128 \[DirectedEdge] 112, 
 128 \[DirectedEdge] 155, 128 \[DirectedEdge] 156, 
 128 \[DirectedEdge] 236, 129 \[DirectedEdge] 11, 
 129 \[DirectedEdge] 58, 129 \[DirectedEdge] 114, 
 129 \[DirectedEdge] 163, 129 \[DirectedEdge] 238, 
 129 \[DirectedEdge] 294, 130 \[DirectedEdge] 112, 
 130 \[DirectedEdge] 170, 130 \[DirectedEdge] 251, 
 130 \[DirectedEdge] 259, 130 \[DirectedEdge] 271, 
 130 \[DirectedEdge] 286, 131 \[DirectedEdge] 68, 
 131 \[DirectedEdge] 251, 131 \[DirectedEdge] 259, 
 131 \[DirectedEdge] 300, 132 \[DirectedEdge] 48, 
 132 \[DirectedEdge] 208, 132 \[DirectedEdge] 212, 
 132 \[DirectedEdge] 220, 132 \[DirectedEdge] 293, 
 133 \[DirectedEdge] 8, 133 \[DirectedEdge] 226, 
 134 \[DirectedEdge] 219, 134 \[DirectedEdge] 238, 
 135 \[DirectedEdge] 104, 135 \[DirectedEdge] 187, 
 135 \[DirectedEdge] 194, 135 \[DirectedEdge] 224, 
 135 \[DirectedEdge] 278, 135 \[DirectedEdge] 290, 
 136 \[DirectedEdge] 64, 136 \[DirectedEdge] 182, 
 136 \[DirectedEdge] 204, 136 \[DirectedEdge] 244, 
 136 \[DirectedEdge] 282, 137 \[DirectedEdge] 157, 
 137 \[DirectedEdge] 241, 137 \[DirectedEdge] 299, 
 138 \[DirectedEdge] 38, 138 \[DirectedEdge] 61, 
 138 \[DirectedEdge] 106, 138 \[DirectedEdge] 145, 
 138 \[DirectedEdge] 216, 138 \[DirectedEdge] 280, 
 138 \[DirectedEdge] 296, 139 \[DirectedEdge] 52, 
 139 \[DirectedEdge] 98, 139 \[DirectedEdge] 134, 
 139 \[DirectedEdge] 154, 139 \[DirectedEdge] 174, 
 139 \[DirectedEdge] 228, 140 \[DirectedEdge] 26, 
 140 \[DirectedEdge] 136, 140 \[DirectedEdge] 148, 
 140 \[DirectedEdge] 191, 140 \[DirectedEdge] 244, 
 142 \[DirectedEdge] 111, 142 \[DirectedEdge] 134, 
 142 \[DirectedEdge] 139, 142 \[DirectedEdge] 219, 
 142 \[DirectedEdge] 257, 143 \[DirectedEdge] 6, 
 143 \[DirectedEdge] 80, 143 \[DirectedEdge] 142, 
 143 \[DirectedEdge] 211, 143 \[DirectedEdge] 227, 
 143 \[DirectedEdge] 261, 144 \[DirectedEdge] 175, 
 144 \[DirectedEdge] 184, 144 \[DirectedEdge] 297, 
 145 \[DirectedEdge] 117, 145 \[DirectedEdge] 127, 
 145 \[DirectedEdge] 189, 145 \[DirectedEdge] 202, 
 145 \[DirectedEdge] 223, 145 \[DirectedEdge] 236, 
 146 \[DirectedEdge] 11, 146 \[DirectedEdge] 92, 
 146 \[DirectedEdge] 263, 146 \[DirectedEdge] 268, 
 146 \[DirectedEdge] 293, 147 \[DirectedEdge] 28, 
 147 \[DirectedEdge] 31, 147 \[DirectedEdge] 63, 
 147 \[DirectedEdge] 66, 147 \[DirectedEdge] 111, 
 147 \[DirectedEdge] 149, 147 \[DirectedEdge] 151, 
 147 \[DirectedEdge] 205, 147 \[DirectedEdge] 226, 
 147 \[DirectedEdge] 232, 148 \[DirectedEdge] 26, 
 148 \[DirectedEdge] 182, 148 \[DirectedEdge] 192, 
 148 \[DirectedEdge] 248, 149 \[DirectedEdge] 44, 
 149 \[DirectedEdge] 192, 149 \[DirectedEdge] 232, 
 149 \[DirectedEdge] 284, 150 \[DirectedEdge] 92, 
 150 \[DirectedEdge] 105, 150 \[DirectedEdge] 134, 
 150 \[DirectedEdge] 257, 150 \[DirectedEdge] 263, 
 151 \[DirectedEdge] 117, 151 \[DirectedEdge] 145, 
 151 \[DirectedEdge] 160, 151 \[DirectedEdge] 173, 
 151 \[DirectedEdge] 196, 151 \[DirectedEdge] 216, 
 151 \[DirectedEdge] 271, 152 \[DirectedEdge] 76, 
 152 \[DirectedEdge] 121, 152 \[DirectedEdge] 240, 
 152 \[DirectedEdge] 250, 152 \[DirectedEdge] 264, 
 153 \[DirectedEdge] 29, 153 \[DirectedEdge] 85, 
 153 \[DirectedEdge] 102, 153 \[DirectedEdge] 166, 
 153 \[DirectedEdge] 177, 153 \[DirectedEdge] 272, 
 154 \[DirectedEdge] 76, 154 \[DirectedEdge] 211, 
 154 \[DirectedEdge] 227, 155 \[DirectedEdge] 1, 
 155 \[DirectedEdge] 50, 155 \[DirectedEdge] 283, 
 156 \[DirectedEdge] 1, 156 \[DirectedEdge] 20, 
 156 \[DirectedEdge] 23, 156 \[DirectedEdge] 50, 
 156 \[DirectedEdge] 151, 156 \[DirectedEdge] 161, 
 156 \[DirectedEdge] 200, 157 \[DirectedEdge] 2, 
 157 \[DirectedEdge] 35, 157 \[DirectedEdge] 59, 
 157 \[DirectedEdge] 91, 157 \[DirectedEdge] 123, 
 157 \[DirectedEdge] 260, 158 \[DirectedEdge] 11, 
 158 \[DirectedEdge] 24, 158 \[DirectedEdge] 51, 
 158 \[DirectedEdge] 77, 158 \[DirectedEdge] 113, 
 158 \[DirectedEdge] 121, 158 \[DirectedEdge] 186, 
 158 \[DirectedEdge] 231, 158 \[DirectedEdge] 238, 
 158 \[DirectedEdge] 295, 159 \[DirectedEdge] 45, 
 159 \[DirectedEdge] 73, 159 \[DirectedEdge] 107, 
 159 \[DirectedEdge] 167, 159 \[DirectedEdge] 260, 
 159 \[DirectedEdge] 285, 160 \[DirectedEdge] 30, 
 160 \[DirectedEdge] 66, 160 \[DirectedEdge] 119, 
 160 \[DirectedEdge] 132, 160 \[DirectedEdge] 181, 
 160 \[DirectedEdge] 205, 160 \[DirectedEdge] 229, 
 160 \[DirectedEdge] 276, 161 \[DirectedEdge] 20, 
 161 \[DirectedEdge] 50, 161 \[DirectedEdge] 106, 
 161 \[DirectedEdge] 145, 161 \[DirectedEdge] 200, 
 162 \[DirectedEdge] 68, 162 \[DirectedEdge] 71, 
 162 \[DirectedEdge] 96, 162 \[DirectedEdge] 108, 
 162 \[DirectedEdge] 131, 162 \[DirectedEdge] 170, 
 162 \[DirectedEdge] 234, 163 \[DirectedEdge] 11, 
 163 \[DirectedEdge] 111, 163 \[DirectedEdge] 150, 
 163 \[DirectedEdge] 256, 164 \[DirectedEdge] 46, 
 164 \[DirectedEdge] 125, 164 \[DirectedEdge] 157, 
 165 \[DirectedEdge] 16, 165 \[DirectedEdge] 31, 
 165 \[DirectedEdge] 192, 165 \[DirectedEdge] 197, 
 165 \[DirectedEdge] 282, 166 \[DirectedEdge] 4, 
 166 \[DirectedEdge] 118, 166 \[DirectedEdge] 153, 
 166 \[DirectedEdge] 272, 167 \[DirectedEdge] 96, 
 168 \[DirectedEdge] 145, 168 \[DirectedEdge] 280, 
 169 \[DirectedEdge] 8, 170 \[DirectedEdge] 131, 
 170 \[DirectedEdge] 155, 170 \[DirectedEdge] 162, 
 170 \[DirectedEdge] 271, 171 \[DirectedEdge] 10, 
 171 \[DirectedEdge] 126, 172 \[DirectedEdge] 7, 
 172 \[DirectedEdge] 27, 172 \[DirectedEdge] 75, 
 172 \[DirectedEdge] 119, 172 \[DirectedEdge] 220, 
 172 \[DirectedEdge] 221, 172 \[DirectedEdge] 293, 
 173 \[DirectedEdge] 116, 173 \[DirectedEdge] 122, 
 173 \[DirectedEdge] 161, 173 \[DirectedEdge] 172, 
 173 \[DirectedEdge] 196, 173 \[DirectedEdge] 220, 
 174 \[DirectedEdge] 88, 174 \[DirectedEdge] 92, 
 174 \[DirectedEdge] 203, 175 \[DirectedEdge] 3, 
 175 \[DirectedEdge] 6, 175 \[DirectedEdge] 8, 175 \[DirectedEdge] 52,
  175 \[DirectedEdge] 102, 175 \[DirectedEdge] 203, 
 175 \[DirectedEdge] 228, 175 \[DirectedEdge] 279, 
 176 \[DirectedEdge] 43, 177 \[DirectedEdge] 12, 
 177 \[DirectedEdge] 36, 177 \[DirectedEdge] 85, 
 177 \[DirectedEdge] 153, 177 \[DirectedEdge] 233, 
 177 \[DirectedEdge] 272, 178 \[DirectedEdge] 7, 
 178 \[DirectedEdge] 27, 178 \[DirectedEdge] 185, 
 178 \[DirectedEdge] 208, 178 \[DirectedEdge] 212, 
 178 \[DirectedEdge] 221, 178 \[DirectedEdge] 283, 
 179 \[DirectedEdge] 16, 179 \[DirectedEdge] 28, 
 179 \[DirectedEdge] 63, 179 \[DirectedEdge] 78, 
 179 \[DirectedEdge] 165, 179 \[DirectedEdge] 199, 
 179 \[DirectedEdge] 215, 179 \[DirectedEdge] 282, 
 180 \[DirectedEdge] 1, 180 \[DirectedEdge] 17, 
 180 \[DirectedEdge] 20, 180 \[DirectedEdge] 40, 
 180 \[DirectedEdge] 128, 180 \[DirectedEdge] 168, 
 180 \[DirectedEdge] 200, 180 \[DirectedEdge] 217, 
 181 \[DirectedEdge] 30, 181 \[DirectedEdge] 186, 
 181 \[DirectedEdge] 258, 181 \[DirectedEdge] 293, 
 182 \[DirectedEdge] 22, 182 \[DirectedEdge] 34, 
 182 \[DirectedEdge] 60, 182 \[DirectedEdge] 148, 
 182 \[DirectedEdge] 193, 182 \[DirectedEdge] 285, 
 183 \[DirectedEdge] 25, 183 \[DirectedEdge] 31, 
 183 \[DirectedEdge] 92, 183 \[DirectedEdge] 124, 
 183 \[DirectedEdge] 166, 183 \[DirectedEdge] 197, 
 184 \[DirectedEdge] 43, 184 \[DirectedEdge] 104, 
 184 \[DirectedEdge] 109, 184 \[DirectedEdge] 213, 
 185 \[DirectedEdge] 7, 185 \[DirectedEdge] 27, 
 185 \[DirectedEdge] 178, 185 \[DirectedEdge] 212, 
 185 \[DirectedEdge] 269, 186 \[DirectedEdge] 55, 
 186 \[DirectedEdge] 75, 186 \[DirectedEdge] 83, 
 186 \[DirectedEdge] 119, 186 \[DirectedEdge] 190, 
 186 \[DirectedEdge] 229, 186 \[DirectedEdge] 240, 
 187 \[DirectedEdge] 135, 187 \[DirectedEdge] 188, 
 187 \[DirectedEdge] 233, 187 \[DirectedEdge] 242, 
 187 \[DirectedEdge] 274, 187 \[DirectedEdge] 278, 
 188 \[DirectedEdge] 187, 189 \[DirectedEdge] 50, 
 189 \[DirectedEdge] 79, 189 \[DirectedEdge] 112, 
 189 \[DirectedEdge] 161, 189 \[DirectedEdge] 236, 
 189 \[DirectedEdge] 251, 189 \[DirectedEdge] 265, 
 189 \[DirectedEdge] 271, 190 \[DirectedEdge] 13, 
 190 \[DirectedEdge] 90, 190 \[DirectedEdge] 181, 
 190 \[DirectedEdge] 266, 190 \[DirectedEdge] 277, 
 191 \[DirectedEdge] 26, 191 \[DirectedEdge] 109, 
 191 \[DirectedEdge] 193, 191 \[DirectedEdge] 197, 
 191 \[DirectedEdge] 224, 191 \[DirectedEdge] 242, 
 191 \[DirectedEdge] 290, 192 \[DirectedEdge] 16, 
 192 \[DirectedEdge] 28, 192 \[DirectedEdge] 31, 
 192 \[DirectedEdge] 165, 192 \[DirectedEdge] 196, 
 192 \[DirectedEdge] 199, 192 \[DirectedEdge] 210, 
 192 \[DirectedEdge] 215, 193 \[DirectedEdge] 22, 
 193 \[DirectedEdge] 182, 193 \[DirectedEdge] 210, 
 193 \[DirectedEdge] 285, 193 \[DirectedEdge] 300, 
 194 \[DirectedEdge] 15, 194 \[DirectedEdge] 150, 
 194 \[DirectedEdge] 228, 195 \[DirectedEdge] 32, 
 195 \[DirectedEdge] 35, 195 \[DirectedEdge] 287, 
 196 \[DirectedEdge] 41, 196 \[DirectedEdge] 117, 
 196 \[DirectedEdge] 122, 196 \[DirectedEdge] 151, 
 196 \[DirectedEdge] 173, 196 \[DirectedEdge] 273, 
 197 \[DirectedEdge] 16, 197 \[DirectedEdge] 39, 
 197 \[DirectedEdge] 105, 197 \[DirectedEdge] 148, 
 197 \[DirectedEdge] 165, 197 \[DirectedEdge] 226, 
 198 \[DirectedEdge] 19, 198 \[DirectedEdge] 159, 
 198 \[DirectedEdge] 167, 198 \[DirectedEdge] 298, 
 199 \[DirectedEdge] 122, 199 \[DirectedEdge] 245, 
 199 \[DirectedEdge] 255, 199 \[DirectedEdge] 262, 
 199 \[DirectedEdge] 300, 200 \[DirectedEdge] 17, 
 200 \[DirectedEdge] 112, 200 \[DirectedEdge] 168, 
 200 \[DirectedEdge] 217, 200 \[DirectedEdge] 251, 
 201 \[DirectedEdge] 21, 201 \[DirectedEdge] 24, 
 201 \[DirectedEdge] 39, 201 \[DirectedEdge] 82, 
 201 \[DirectedEdge] 163, 201 \[DirectedEdge] 183, 
 202 \[DirectedEdge] 1, 202 \[DirectedEdge] 50, 
 202 \[DirectedEdge] 112, 202 \[DirectedEdge] 120, 
 202 \[DirectedEdge] 138, 202 \[DirectedEdge] 271, 
 202 \[DirectedEdge] 291, 202 \[DirectedEdge] 300, 
 203 \[DirectedEdge] 84, 203 \[DirectedEdge] 102, 
 203 \[DirectedEdge] 142, 203 \[DirectedEdge] 143, 
 203 \[DirectedEdge] 153, 203 \[DirectedEdge] 211, 
 203 \[DirectedEdge] 227, 203 \[DirectedEdge] 279, 
 204 \[DirectedEdge] 32, 204 \[DirectedEdge] 34, 
 204 \[DirectedEdge] 94, 204 \[DirectedEdge] 136, 
 204 \[DirectedEdge] 165, 204 \[DirectedEdge] 188, 
 204 \[DirectedEdge] 218, 204 \[DirectedEdge] 237, 
 204 \[DirectedEdge] 244, 204 \[DirectedEdge] 281, 
 204 \[DirectedEdge] 290, 205 \[DirectedEdge] 21, 
 205 \[DirectedEdge] 163, 205 \[DirectedEdge] 256, 
 205 \[DirectedEdge] 292, 206 \[DirectedEdge] 24, 
 206 \[DirectedEdge] 58, 206 \[DirectedEdge] 111, 
 206 \[DirectedEdge] 113, 206 \[DirectedEdge] 158, 
 206 \[DirectedEdge] 238, 207 \[DirectedEdge] 131, 
 207 \[DirectedEdge] 170, 207 \[DirectedEdge] 259, 
 207 \[DirectedEdge] 262, 207 \[DirectedEdge] 286, 
 207 \[DirectedEdge] 288, 208 \[DirectedEdge] 7, 
 208 \[DirectedEdge] 116, 208 \[DirectedEdge] 132, 
 208 \[DirectedEdge] 276, 209 \[DirectedEdge] 4, 
 209 \[DirectedEdge] 39, 209 \[DirectedEdge] 72, 
 209 \[DirectedEdge] 230, 209 \[DirectedEdge] 249, 
 210 \[DirectedEdge] 44, 210 \[DirectedEdge] 179, 
 210 \[DirectedEdge] 232, 211 \[DirectedEdge] 6, 
 211 \[DirectedEdge] 88, 211 \[DirectedEdge] 100, 
 212 \[DirectedEdge] 75, 212 \[DirectedEdge] 221, 
 212 \[DirectedEdge] 273, 213 \[DirectedEdge] 184, 
 213 \[DirectedEdge] 287, 214 \[DirectedEdge] 160, 
 214 \[DirectedEdge] 190, 214 \[DirectedEdge] 277, 
 215 \[DirectedEdge] 28, 215 \[DirectedEdge] 41, 
 215 \[DirectedEdge] 105, 215 \[DirectedEdge] 179, 
 215 \[DirectedEdge] 192, 215 \[DirectedEdge] 252, 
 215 \[DirectedEdge] 254, 216 \[DirectedEdge] 1, 
 216 \[DirectedEdge] 103, 216 \[DirectedEdge] 112, 
 216 \[DirectedEdge] 117, 216 \[DirectedEdge] 120, 
 216 \[DirectedEdge] 127, 216 \[DirectedEdge] 193, 
 216 \[DirectedEdge] 265, 216 \[DirectedEdge] 271, 
 216 \[DirectedEdge] 291, 217 \[DirectedEdge] 17, 
 217 \[DirectedEdge] 23, 217 \[DirectedEdge] 103, 
 217 \[DirectedEdge] 180, 217 \[DirectedEdge] 200, 
 218 \[DirectedEdge] 26, 218 \[DirectedEdge] 104, 
 218 \[DirectedEdge] 115, 218 \[DirectedEdge] 140, 
 218 \[DirectedEdge] 191, 218 \[DirectedEdge] 204, 
 219 \[DirectedEdge] 58, 219 \[DirectedEdge] 76, 
 219 \[DirectedEdge] 90, 219 \[DirectedEdge] 98, 
 219 \[DirectedEdge] 150, 219 \[DirectedEdge] 154, 
 219 \[DirectedEdge] 256, 219 \[DirectedEdge] 263, 
 219 \[DirectedEdge] 268, 220 \[DirectedEdge] 30, 
 221 \[DirectedEdge] 27, 221 \[DirectedEdge] 172, 
 221 \[DirectedEdge] 186, 221 \[DirectedEdge] 222, 
 221 \[DirectedEdge] 276, 222 \[DirectedEdge] 48, 
 222 \[DirectedEdge] 122, 222 \[DirectedEdge] 212, 
 222 \[DirectedEdge] 276, 223 \[DirectedEdge] 61, 
 223 \[DirectedEdge] 178, 223 \[DirectedEdge] 180, 
 223 \[DirectedEdge] 212, 223 \[DirectedEdge] 283, 
 224 \[DirectedEdge] 101, 224 \[DirectedEdge] 109, 
 224 \[DirectedEdge] 135, 224 \[DirectedEdge] 191, 
 224 \[DirectedEdge] 204, 224 \[DirectedEdge] 281, 
 224 \[DirectedEdge] 290, 225 \[DirectedEdge] 19, 
 225 \[DirectedEdge] 91, 226 \[DirectedEdge] 16, 
 226 \[DirectedEdge] 39, 226 \[DirectedEdge] 44, 
 226 \[DirectedEdge] 197, 227 \[DirectedEdge] 52, 
 227 \[DirectedEdge] 93, 227 \[DirectedEdge] 142, 
 227 \[DirectedEdge] 154, 227 \[DirectedEdge] 219, 
 228 \[DirectedEdge] 6, 228 \[DirectedEdge] 8, 228 \[DirectedEdge] 42,
  228 \[DirectedEdge] 82, 228 \[DirectedEdge] 98, 
 228 \[DirectedEdge] 249, 229 \[DirectedEdge] 30, 
 229 \[DirectedEdge] 77, 229 \[DirectedEdge] 116, 
 229 \[DirectedEdge] 173, 229 \[DirectedEdge] 208, 
 230 \[DirectedEdge] 37, 230 \[DirectedEdge] 85, 
 230 \[DirectedEdge] 133, 230 \[DirectedEdge] 209, 
 230 \[DirectedEdge] 275, 231 \[DirectedEdge] 58, 
 231 \[DirectedEdge] 97, 231 \[DirectedEdge] 121, 
 231 \[DirectedEdge] 134, 232 \[DirectedEdge] 39, 
 232 \[DirectedEdge] 47, 232 \[DirectedEdge] 63, 
 232 \[DirectedEdge] 117, 232 \[DirectedEdge] 179, 
 232 \[DirectedEdge] 199, 232 \[DirectedEdge] 284, 
 232 \[DirectedEdge] 296, 233 \[DirectedEdge] 6, 
 233 \[DirectedEdge] 12, 233 \[DirectedEdge] 36, 
 233 \[DirectedEdge] 84, 233 \[DirectedEdge] 118, 
 234 \[DirectedEdge] 53, 234 \[DirectedEdge] 68, 
 234 \[DirectedEdge] 79, 234 \[DirectedEdge] 251, 
 235 \[DirectedEdge] 13, 235 \[DirectedEdge] 25, 
 235 \[DirectedEdge] 72, 235 \[DirectedEdge] 81, 
 235 \[DirectedEdge] 82, 235 \[DirectedEdge] 90, 
 235 \[DirectedEdge] 146, 235 \[DirectedEdge] 215, 
 235 \[DirectedEdge] 250, 235 \[DirectedEdge] 266, 
 236 \[DirectedEdge] 61, 236 \[DirectedEdge] 106, 
 236 \[DirectedEdge] 216, 236 \[DirectedEdge] 271, 
 236 \[DirectedEdge] 273, 236 \[DirectedEdge] 276, 
 236 \[DirectedEdge] 284, 237 \[DirectedEdge] 2, 
 237 \[DirectedEdge] 59, 237 \[DirectedEdge] 64, 
 237 \[DirectedEdge] 87, 238 \[DirectedEdge] 58, 
 238 \[DirectedEdge] 76, 238 \[DirectedEdge] 89, 
 238 \[DirectedEdge] 97, 238 \[DirectedEdge] 294, 
 239 \[DirectedEdge] 9, 239 \[DirectedEdge] 57, 
 239 \[DirectedEdge] 188, 239 \[DirectedEdge] 191, 
 239 \[DirectedEdge] 218, 240 \[DirectedEdge] 152, 
 240 \[DirectedEdge] 264, 241 \[DirectedEdge] 32, 
 241 \[DirectedEdge] 87, 241 \[DirectedEdge] 94, 
 241 \[DirectedEdge] 253, 241 \[DirectedEdge] 299, 
 242 \[DirectedEdge] 133, 242 \[DirectedEdge] 184, 
 242 \[DirectedEdge] 188, 242 \[DirectedEdge] 191, 
 242 \[DirectedEdge] 224, 243 \[DirectedEdge] 177, 
 243 \[DirectedEdge] 233, 244 \[DirectedEdge] 101, 
 244 \[DirectedEdge] 104, 244 \[DirectedEdge] 140, 
 244 \[DirectedEdge] 187, 244 \[DirectedEdge] 218, 
 244 \[DirectedEdge] 224, 244 \[DirectedEdge] 285, 
 245 \[DirectedEdge] 47, 245 \[DirectedEdge] 50, 
 245 \[DirectedEdge] 53, 245 \[DirectedEdge] 161, 
 245 \[DirectedEdge] 199, 245 \[DirectedEdge] 207, 
 245 \[DirectedEdge] 216, 245 \[DirectedEdge] 284, 
 246 \[DirectedEdge] 14, 246 \[DirectedEdge] 54, 
 246 \[DirectedEdge] 159, 246 \[DirectedEdge] 225, 
 247 \[DirectedEdge] 34, 247 \[DirectedEdge] 38, 
 247 \[DirectedEdge] 59, 247 \[DirectedEdge] 101, 
 247 \[DirectedEdge] 192, 247 \[DirectedEdge] 193, 
 247 \[DirectedEdge] 210, 247 \[DirectedEdge] 248, 
 247 \[DirectedEdge] 270, 247 \[DirectedEdge] 285, 
 248 \[DirectedEdge] 107, 248 \[DirectedEdge] 204, 
 248 \[DirectedEdge] 244, 248 \[DirectedEdge] 260, 
 249 \[DirectedEdge] 90, 249 \[DirectedEdge] 99, 
 249 \[DirectedEdge] 139, 249 \[DirectedEdge] 146, 
 249 \[DirectedEdge] 183, 249 \[DirectedEdge] 194, 
 250 \[DirectedEdge] 24, 250 \[DirectedEdge] 97, 
 250 \[DirectedEdge] 126, 250 \[DirectedEdge] 152, 
 250 \[DirectedEdge] 186, 251 \[DirectedEdge] 68, 
 251 \[DirectedEdge] 71, 251 \[DirectedEdge] 131, 
 251 \[DirectedEdge] 170, 251 \[DirectedEdge] 288, 
 252 \[DirectedEdge] 10, 252 \[DirectedEdge] 181, 
 252 \[DirectedEdge] 190, 253 \[DirectedEdge] 59, 
 253 \[DirectedEdge] 91, 253 \[DirectedEdge] 123, 
 253 \[DirectedEdge] 260, 253 \[DirectedEdge] 299, 
 254 \[DirectedEdge] 46, 254 \[DirectedEdge] 69, 
 254 \[DirectedEdge] 225, 255 \[DirectedEdge] 193, 
 255 \[DirectedEdge] 199, 255 \[DirectedEdge] 232, 
 256 \[DirectedEdge] 11, 256 \[DirectedEdge] 82, 
 256 \[DirectedEdge] 83, 256 \[DirectedEdge] 88, 
 256 \[DirectedEdge] 92, 256 \[DirectedEdge] 111, 
 256 \[DirectedEdge] 146, 256 \[DirectedEdge] 163, 
 256 \[DirectedEdge] 194, 256 \[DirectedEdge] 214, 
 256 \[DirectedEdge] 235, 256 \[DirectedEdge] 263, 
 257 \[DirectedEdge] 52, 257 \[DirectedEdge] 58, 
 257 \[DirectedEdge] 97, 257 \[DirectedEdge] 139, 
 257 \[DirectedEdge] 154, 258 \[DirectedEdge] 10, 
 258 \[DirectedEdge] 25, 258 \[DirectedEdge] 30, 
 258 \[DirectedEdge] 119, 258 \[DirectedEdge] 189, 
 258 \[DirectedEdge] 190, 258 \[DirectedEdge] 266, 
 259 \[DirectedEdge] 19, 259 \[DirectedEdge] 47, 
 259 \[DirectedEdge] 162, 259 \[DirectedEdge] 167, 
 259 \[DirectedEdge] 267, 259 \[DirectedEdge] 288, 
 260 \[DirectedEdge] 14, 260 \[DirectedEdge] 47, 
 260 \[DirectedEdge] 60, 260 \[DirectedEdge] 69, 
 260 \[DirectedEdge] 115, 260 \[DirectedEdge] 182, 
 260 \[DirectedEdge] 253, 260 \[DirectedEdge] 267, 
 261 \[DirectedEdge] 11, 261 \[DirectedEdge] 92, 
 261 \[DirectedEdge] 129, 261 \[DirectedEdge] 150, 
 261 \[DirectedEdge] 174, 261 \[DirectedEdge] 249, 
 262 \[DirectedEdge] 54, 262 \[DirectedEdge] 117, 
 262 \[DirectedEdge] 130, 262 \[DirectedEdge] 193, 
 262 \[DirectedEdge] 207, 263 \[DirectedEdge] 11, 
 263 \[DirectedEdge] 42, 263 \[DirectedEdge] 62, 
 263 \[DirectedEdge] 81, 263 \[DirectedEdge] 83, 
 263 \[DirectedEdge] 99, 263 \[DirectedEdge] 235, 
 264 \[DirectedEdge] 51, 264 \[DirectedEdge] 113, 
 264 \[DirectedEdge] 152, 264 \[DirectedEdge] 186, 
 264 \[DirectedEdge] 240, 264 \[DirectedEdge] 289, 
 265 \[DirectedEdge] 53, 265 \[DirectedEdge] 291, 
 266 \[DirectedEdge] 21, 266 \[DirectedEdge] 72, 
 266 \[DirectedEdge] 105, 266 \[DirectedEdge] 124, 
 266 \[DirectedEdge] 146, 266 \[DirectedEdge] 201, 
 266 \[DirectedEdge] 292, 267 \[DirectedEdge] 2, 
 267 \[DirectedEdge] 14, 267 \[DirectedEdge] 45, 
 267 \[DirectedEdge] 192, 267 \[DirectedEdge] 248, 
 267 \[DirectedEdge] 260, 268 \[DirectedEdge] 129, 
 268 \[DirectedEdge] 150, 268 \[DirectedEdge] 163, 
 268 \[DirectedEdge] 219, 269 \[DirectedEdge] 55, 
 269 \[DirectedEdge] 220, 270 \[DirectedEdge] 44, 
 270 \[DirectedEdge] 64, 270 \[DirectedEdge] 135, 
 270 \[DirectedEdge] 148, 270 \[DirectedEdge] 244, 
 270 \[DirectedEdge] 278, 270 \[DirectedEdge] 282, 
 271 \[DirectedEdge] 117, 271 \[DirectedEdge] 127, 
 271 \[DirectedEdge] 138, 271 \[DirectedEdge] 173, 
 271 \[DirectedEdge] 179, 271 \[DirectedEdge] 216, 
 271 \[DirectedEdge] 280, 272 \[DirectedEdge] 12, 
 272 \[DirectedEdge] 102, 272 \[DirectedEdge] 233, 
 273 \[DirectedEdge] 41, 273 \[DirectedEdge] 74, 
 273 \[DirectedEdge] 122, 273 \[DirectedEdge] 151, 
 273 \[DirectedEdge] 168, 273 \[DirectedEdge] 173, 
 273 \[DirectedEdge] 276, 273 \[DirectedEdge] 296, 
 274 \[DirectedEdge] 187, 274 \[DirectedEdge] 224, 
 274 \[DirectedEdge] 244, 275 \[DirectedEdge] 4, 
 275 \[DirectedEdge] 10, 275 \[DirectedEdge] 15, 
 275 \[DirectedEdge] 133, 275 \[DirectedEdge] 209, 
 275 \[DirectedEdge] 278, 276 \[DirectedEdge] 48, 
 276 \[DirectedEdge] 106, 276 \[DirectedEdge] 122, 
 276 \[DirectedEdge] 132, 276 \[DirectedEdge] 181, 
 276 \[DirectedEdge] 208, 276 \[DirectedEdge] 293, 
 277 \[DirectedEdge] 10, 277 \[DirectedEdge] 11, 
 277 \[DirectedEdge] 56, 277 \[DirectedEdge] 61, 
 277 \[DirectedEdge] 70, 277 \[DirectedEdge] 99, 
 277 \[DirectedEdge] 119, 277 \[DirectedEdge] 179, 
 277 \[DirectedEdge] 181, 277 \[DirectedEdge] 190, 
 277 \[DirectedEdge] 215, 277 \[DirectedEdge] 235, 
 277 \[DirectedEdge] 252, 277 \[DirectedEdge] 258, 
 277 \[DirectedEdge] 292, 278 \[DirectedEdge] 4, 
 278 \[DirectedEdge] 187, 278 \[DirectedEdge] 270, 
 278 \[DirectedEdge] 274, 279 \[DirectedEdge] 11, 
 279 \[DirectedEdge] 203, 279 \[DirectedEdge] 268, 
 280 \[DirectedEdge] 10, 280 \[DirectedEdge] 20, 
 280 \[DirectedEdge] 145, 280 \[DirectedEdge] 151, 
 280 \[DirectedEdge] 161, 280 \[DirectedEdge] 189, 
 280 \[DirectedEdge] 273, 281 \[DirectedEdge] 37, 
 281 \[DirectedEdge] 187, 281 \[DirectedEdge] 278, 
 282 \[DirectedEdge] 38, 282 \[DirectedEdge] 99, 
 282 \[DirectedEdge] 135, 282 \[DirectedEdge] 165, 
 282 \[DirectedEdge] 188, 283 \[DirectedEdge] 122, 
 283 \[DirectedEdge] 212, 283 \[DirectedEdge] 223, 
 283 \[DirectedEdge] 280, 284 \[DirectedEdge] 61, 
 284 \[DirectedEdge] 63, 284 \[DirectedEdge] 106, 
 284 \[DirectedEdge] 120, 284 \[DirectedEdge] 138, 
 284 \[DirectedEdge] 202, 284 \[DirectedEdge] 216, 
 284 \[DirectedEdge] 265, 284 \[DirectedEdge] 291, 
 284 \[DirectedEdge] 296, 285 \[DirectedEdge] 22, 
 285 \[DirectedEdge] 34, 285 \[DirectedEdge] 38, 
 285 \[DirectedEdge] 115, 285 \[DirectedEdge] 136, 
 285 \[DirectedEdge] 182, 285 \[DirectedEdge] 193, 
 286 \[DirectedEdge] 68, 286 \[DirectedEdge] 71, 
 286 \[DirectedEdge] 131, 286 \[DirectedEdge] 170, 
 286 \[DirectedEdge] 234, 286 \[DirectedEdge] 271, 
 286 \[DirectedEdge] 288, 287 \[DirectedEdge] 2, 
 287 \[DirectedEdge] 43, 287 \[DirectedEdge] 213, 
 288 \[DirectedEdge] 19, 288 \[DirectedEdge] 68, 
 288 \[DirectedEdge] 71, 288 \[DirectedEdge] 108, 
 288 \[DirectedEdge] 130, 288 \[DirectedEdge] 131, 
 288 \[DirectedEdge] 162, 288 \[DirectedEdge] 167, 
 288 \[DirectedEdge] 170, 288 \[DirectedEdge] 207, 
 288 \[DirectedEdge] 210, 288 \[DirectedEdge] 246, 
 288 \[DirectedEdge] 259, 289 \[DirectedEdge] 24, 
 289 \[DirectedEdge] 152, 289 \[DirectedEdge] 277, 
 290 \[DirectedEdge] 26, 290 \[DirectedEdge] 104, 
 290 \[DirectedEdge] 109, 290 \[DirectedEdge] 204, 
 290 \[DirectedEdge] 218, 290 \[DirectedEdge] 281, 
 291 \[DirectedEdge] 112, 291 \[DirectedEdge] 161, 
 291 \[DirectedEdge] 207, 291 \[DirectedEdge] 216, 
 291 \[DirectedEdge] 255, 291 \[DirectedEdge] 265, 
 291 \[DirectedEdge] 296, 292 \[DirectedEdge] 10, 
 292 \[DirectedEdge] 13, 292 \[DirectedEdge] 21, 
 292 \[DirectedEdge] 47, 292 \[DirectedEdge] 70, 
 292 \[DirectedEdge] 81, 292 \[DirectedEdge] 113, 
 292 \[DirectedEdge] 146, 292 \[DirectedEdge] 201, 
 292 \[DirectedEdge] 205, 292 \[DirectedEdge] 226, 
 292 \[DirectedEdge] 261, 292 \[DirectedEdge] 277, 
 292 \[DirectedEdge] 284, 293 \[DirectedEdge] 116, 
 293 \[DirectedEdge] 132, 293 \[DirectedEdge] 252, 
 293 \[DirectedEdge] 269, 294 \[DirectedEdge] 51, 
 294 \[DirectedEdge] 58, 294 \[DirectedEdge] 76, 
 294 \[DirectedEdge] 158, 294 \[DirectedEdge] 238, 
 295 \[DirectedEdge] 152, 295 \[DirectedEdge] 231, 
 296 \[DirectedEdge] 61, 296 \[DirectedEdge] 106, 
 296 \[DirectedEdge] 120, 296 \[DirectedEdge] 138, 
 296 \[DirectedEdge] 284, 297 \[DirectedEdge] 5, 
 297 \[DirectedEdge] 36, 297 \[DirectedEdge] 57, 
 297 \[DirectedEdge] 187, 297 \[DirectedEdge] 239, 
 298 \[DirectedEdge] 59, 298 \[DirectedEdge] 73, 
 298 \[DirectedEdge] 159, 298 \[DirectedEdge] 198, 
 298 \[DirectedEdge] 246, 298 \[DirectedEdge] 248, 
 299 \[DirectedEdge] 87, 299 \[DirectedEdge] 123, 
 299 \[DirectedEdge] 137, 299 \[DirectedEdge] 253, 
 300 \[DirectedEdge] 68, 300 \[DirectedEdge] 234, 
 300 \[DirectedEdge] 245, 300 \[DirectedEdge] 262}

Cannot open LTemplate`LTemplatePrivate`.

I don't know why I cannot use the package in my official PC.When I run `<< IGraphM``,it will give an error information like this

But my dormitory PC can use it normally.Actually the package have been placed in right way.

IGLargestIndependentVertexSets crashes

Minimal example:

SeedRandom[42];
g = RandomGraph[{15, 40}]

IGLargestIndependentVertexSets[g] (* crashes *)
In[2]:= IGVersion[]

Out[2]= "IGraph/M 0.3.90 (April 28, 2017)
igraph 0.8.0-pre+a26ffcc (Apr 27 2017)
Mac OS X x86 (64-bit)"

Note: Add a text for IGLargestIndependentVertexSets

Add weighted spanning tree function

Mathematica's FindSpanningTree returns a tree with edge weights discarded. We often want edge weights preserved.

The function should return a graph (not just an edge list) with edge weights preserved.

Add Utilities subpackage

Add an IGraphMUtilities`` subpackage which has some convenience functionality that is independent form the igraph C core.

  • Easily remap properties, e.g. map "weights" to EdgeWeights
  • Weighted adjacency matrix and adjacency graph functionality which are consistent with each other.
  • Directed -> undirected conversion keeping only bidirectional edges
  • Preserve/handle properties in directed -> undirected conversion (e.g. edge weights)

IGLCF[{}] may crash

IGLCF[{}], or any other call that produces the null graph, may crash. Detected by address sanitizer.

This should be special cased in Mathematica code.

Upstream: igraph/igraph#996

IGBlissCanonicalGraph suitability for filtering duplicates

IGBlissCanonicalGraph should be made more suitable for filtering duplicates from a list of graphs using

DeleteDuplicatesBy[list, IGBlissCanonicalGraph]

For this, it must:

  • be fast (it uses slow VertexReplace)
  • guarantee a given representation (for === comparison to only give True for isomorphic graphs)

Consider vertex colour handling for this use case.

Crash in IGLADSubisomorphismCount

This crashes:

In[1]:= << IGraphM`

During evaluation of In[1]:= Evaluate IGDocumentation[] to get started.

In[2]:= IGVersion[]

Out[2]= "IGraph/M 0.1.5dev
igraph 0.8.0-pre+1887c5a (Dec 11 2015)
Mac OS X x86 (64-bit)"

In[3]:= g = GridGraph[{4, 8}];

In[4]:= IGLADSubisomorphismCount[PathGraph@Range@VertexCount[g], g];

Cannot open LTemplate`LTemplatePrivate`

I do all step as this page.But I get this error in formation when I Get this package.
111

But I can run IGDocumentation[] normally to get the documemtation.It's a new bug or my misoperation?

ps:My version is:
$Version

"11.0.1 for Microsoft Windows (64-bit) (September 20, 2016)"

And the zip download from here.

IGFeedbackArcSet returns wrong result

input = {13 -> 7, 7 -> 0, 0 -> 16, 16 -> 2, 2 -> 15, 10 -> 5, 5 -> 12,
    12 -> 18, 18 -> 15, 17 -> 18, 15 -> 6, 6 -> 8, 8 -> 4, 9 -> 8, 
   4 -> 19, 19 -> 11, 11 -> 1, 1 -> 20, 20 -> 3, 3 -> 4, 14 -> 19};

g = Graph[input, VertexLabels -> "Name"]

image

In[74]:= IGFeedbackArcSet[g]

Out[74]= {9 \[DirectedEdge] 8}

Special symbol for directed empty graph

There should be a special symbol that translates to a directed empty graph when used with igraph.

Mathematica doesn't distinguish directed and undirected empty graphs, but igraph does. At the moment it is not possible to send a directed empty graph to igraph. Empty graphs are always treated as undirected.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.