This documentation is automatically generated by online-judge-tools/verification-helper
 src/graph/template.hpp
 src/graph/template.hpp
    
#include "src/graph/template.hpp" src/graph/bellman_ford.hpp
 src/graph/bellman_ford.hpp
            
         src/graph/diameter.hpp
 src/graph/diameter.hpp
            
         src/graph/dijkstra.hpp
 src/graph/dijkstra.hpp
            
         src/graph/kruskul.hpp
 src/graph/kruskul.hpp
            
         src/graph/strongly_connected_components.hpp
 src/graph/strongly_connected_components.hpp
            
         src/graph/warshall_floyd.hpp
 src/graph/warshall_floyd.hpp
            
         test/aoj/grl_1_a.test.cpp
 test/aoj/grl_1_a.test.cpp
            
         test/aoj/grl_1_b.test.cpp
 test/aoj/grl_1_b.test.cpp
            
         test/aoj/grl_1_c.test.cpp
 test/aoj/grl_1_c.test.cpp
            
         test/aoj/grl_2_a.test.cpp
 test/aoj/grl_2_a.test.cpp
            
         test/aoj/grl_3_c.test.cpp
 test/aoj/grl_3_c.test.cpp
            
         test/aoj/grl_5_a.test.cpp
 test/aoj/grl_5_a.test.cpp
            
        #pragma once
#include <bits/stdc++.h>
using namespace std;
template <typename T = long long> struct Edge {
  int from, to;
  T cost;
  Edge(int from, int to, T cost = 1) : from(from), to(to), cost(cost) {}
};
template <typename T = long long> using Edges = vector<Edge<T>>;
template <typename T = long long> using Graph = vector<Edges<T>>;
template <typename T = long long> using Matrix = vector<vector<T>>;#line 2 "src/graph/template.hpp"
#include <bits/stdc++.h>
using namespace std;
template <typename T = long long> struct Edge {
  int from, to;
  T cost;
  Edge(int from, int to, T cost = 1) : from(from), to(to), cost(cost) {}
};
template <typename T = long long> using Edges = vector<Edge<T>>;
template <typename T = long long> using Graph = vector<Edges<T>>;
template <typename T = long long> using Matrix = vector<vector<T>>;