
from synet.utils.common import PathReq
from synet.utils.common import ECMPPathsReq
from synet.utils.common import PathOrderReq
from synet.utils.common import Protocols
from synet.utils.common import KConnectedPathsReq

topology_file = 'topos/mid/Sinet.graphml'
seed = 3548621754
reqs_simple_1 = [
    PathReq(Protocols.OSPF, "TokyoTTDC1", ['NagoyaTTDC', 'TokyoTTDC1'], False),
]

edges_cost_simple_1 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 1),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

####################

reqs_ecmp_1_2 = [
    ECMPPathsReq(Protocols.OSPF, 'KanazawaTTU', [PathReq(Protocols.OSPF, "KanazawaTTU", ['JAEA', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KanazawaTTU'], False), PathReq(Protocols.OSPF, "KanazawaTTU", ['JAEA', 'TsukubaTTDC', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'KanazawaTTU'], False)], False),
]

edges_cost_ecmp_1_2 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 1),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

reqs_kconnected_1_2 = [
    KConnectedPathsReq(Protocols.OSPF, 'KanazawaTTU', [PathReq(Protocols.OSPF, "KanazawaTTU", ['JAEA', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KanazawaTTU'], False), PathReq(Protocols.OSPF, "KanazawaTTU", ['JAEA', 'TsukubaTTDC', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'KanazawaTTU'], False)], False),
]

edges_cost_kconnected_1_2 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 1),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

reqs_order_1_2 = [
    PathOrderReq(Protocols.OSPF, 'OsakaTTDC', [PathReq(Protocols.OSPF, "OsakaTTDC", ['NagoyaTTDC', 'OsakaTTDC'], False), PathReq(Protocols.OSPF, "OsakaTTDC", ['NagoyaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC'], False)], False),
]

edges_cost_order_1_2 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 1),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

reqs_simple_2 = [
    PathReq(Protocols.OSPF, "KEK", ['HokkaidoTTU', 'SapporoTTDC', 'SendaiTTDC', 'TsukubaTTDC', 'KEK'], False),
    PathReq(Protocols.OSPF, "HirosakiTTU", ['HokkaidoTTU', 'SapporoTTDC', 'SendaiTTDC', 'HirosakiTTU'], False),
]

edges_cost_simple_2 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 1),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

####################

reqs_ecmp_2_2 = [
    ECMPPathsReq(Protocols.OSPF, 'TottoriTTU', [PathReq(Protocols.OSPF, "TottoriTTU", ['RIKEN', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'TottoriTTU'], False), PathReq(Protocols.OSPF, "TottoriTTU", ['RIKEN', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'TottoriTTU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'KyotoTTDC', [PathReq(Protocols.OSPF, "KyotoTTDC", ['RIKEN', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC'], False), PathReq(Protocols.OSPF, "KyotoTTDC", ['RIKEN', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC'], False)], False),
]

edges_cost_ecmp_2_2 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 1),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

reqs_kconnected_2_2 = [
    KConnectedPathsReq(Protocols.OSPF, 'TottoriTTU', [PathReq(Protocols.OSPF, "TottoriTTU", ['RIKEN', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'TottoriTTU'], False), PathReq(Protocols.OSPF, "TottoriTTU", ['RIKEN', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'TottoriTTU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'KyotoTTDC', [PathReq(Protocols.OSPF, "KyotoTTDC", ['RIKEN', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC'], False), PathReq(Protocols.OSPF, "KyotoTTDC", ['RIKEN', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC'], False)], False),
]

edges_cost_kconnected_2_2 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 1),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

reqs_order_2_2 = [
    PathOrderReq(Protocols.OSPF, 'TokyoTTDC2', [PathReq(Protocols.OSPF, "TokyoTTDC2", ['KanazawaTTDC', 'TokyoTTDC2'], False), PathReq(Protocols.OSPF, "TokyoTTDC2", ['KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'NagoyaTTDC', 'TokyoTTDC1', 'TokyoTTDC2'], False)], False),
    PathOrderReq(Protocols.OSPF, 'MatsuyamaTTDC', [PathReq(Protocols.OSPF, "MatsuyamaTTDC", ['FukuokaTTDC', 'MatsuyamaTTDC'], False), PathReq(Protocols.OSPF, "MatsuyamaTTDC", ['FukuokaTTDC', 'HiroshimaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'MatsuyamaTTDC'], False)], False),
]

edges_cost_order_2_2 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 2),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

reqs_simple_4 = [
    PathReq(Protocols.OSPF, "HirosakiTTU", ['SendaiTTDC', 'HirosakiTTU'], False),
    PathReq(Protocols.OSPF, "KobeTTU", ['SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'KobeTTU'], False),
    PathReq(Protocols.OSPF, "KitamiTTIT", ['SendaiTTDC', 'SapporoTTDC', 'HokkaidoTTU', 'KitamiTTIT'], False),
    PathReq(Protocols.OSPF, "TokyoTTDC1", ['SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1'], False),
]

edges_cost_simple_4 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 2),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 1),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

####################

reqs_ecmp_4_2 = [
    ECMPPathsReq(Protocols.OSPF, 'HokkaidoTTU', [PathReq(Protocols.OSPF, "HokkaidoTTU", ['JAXA-ISAS', 'TokyoTTDC1', 'TsukubaTTDC', 'SendaiTTDC', 'SapporoTTDC', 'HokkaidoTTU'], False), PathReq(Protocols.OSPF, "HokkaidoTTU", ['JAXA-ISAS', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'SapporoTTDC', 'HokkaidoTTU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'KyotoTTDC', [PathReq(Protocols.OSPF, "KyotoTTDC", ['JAXA-ISAS', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC'], False), PathReq(Protocols.OSPF, "KyotoTTDC", ['JAXA-ISAS', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'HiroshimaTTU', [PathReq(Protocols.OSPF, "HiroshimaTTU", ['JAXA-ISAS', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'HiroshimaTTU'], False), PathReq(Protocols.OSPF, "HiroshimaTTU", ['JAXA-ISAS', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'HiroshimaTTU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'HiroshimaTTDC', [PathReq(Protocols.OSPF, "HiroshimaTTDC", ['JAXA-ISAS', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'HiroshimaTTDC'], False), PathReq(Protocols.OSPF, "HiroshimaTTDC", ['JAXA-ISAS', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'HiroshimaTTDC'], False)], False),
]

edges_cost_ecmp_4_2 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 1),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

reqs_kconnected_4_2 = [
    KConnectedPathsReq(Protocols.OSPF, 'HokkaidoTTU', [PathReq(Protocols.OSPF, "HokkaidoTTU", ['JAXA-ISAS', 'TokyoTTDC1', 'TsukubaTTDC', 'SendaiTTDC', 'SapporoTTDC', 'HokkaidoTTU'], False), PathReq(Protocols.OSPF, "HokkaidoTTU", ['JAXA-ISAS', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'SapporoTTDC', 'HokkaidoTTU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'KyotoTTDC', [PathReq(Protocols.OSPF, "KyotoTTDC", ['JAXA-ISAS', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC'], False), PathReq(Protocols.OSPF, "KyotoTTDC", ['JAXA-ISAS', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'HiroshimaTTU', [PathReq(Protocols.OSPF, "HiroshimaTTU", ['JAXA-ISAS', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'HiroshimaTTU'], False), PathReq(Protocols.OSPF, "HiroshimaTTU", ['JAXA-ISAS', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'HiroshimaTTU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'HiroshimaTTDC', [PathReq(Protocols.OSPF, "HiroshimaTTDC", ['JAXA-ISAS', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'HiroshimaTTDC'], False), PathReq(Protocols.OSPF, "HiroshimaTTDC", ['JAXA-ISAS', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'HiroshimaTTDC'], False)], False),
]

edges_cost_kconnected_4_2 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 1),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

reqs_order_4_2 = [
    PathOrderReq(Protocols.OSPF, 'HiroshimaTTDC', [PathReq(Protocols.OSPF, "HiroshimaTTDC", ['KyotoTTDC', 'HiroshimaTTDC'], False), PathReq(Protocols.OSPF, "HiroshimaTTDC", ['KyotoTTDC', 'OsakaTTDC', 'MatsuyamaTTDC', 'FukuokaTTDC', 'HiroshimaTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'KanazawaTTDC', [PathReq(Protocols.OSPF, "KanazawaTTDC", ['TokyoTTDC2', 'KanazawaTTDC'], False), PathReq(Protocols.OSPF, "KanazawaTTDC", ['TokyoTTDC2', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'KanazawaTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'KanazawaTTDC', [PathReq(Protocols.OSPF, "KanazawaTTDC", ['KyotoTTDC', 'KanazawaTTDC'], False), PathReq(Protocols.OSPF, "KanazawaTTDC", ['KyotoTTDC', 'OsakaTTDC', 'NagoyaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'MatsuyamaTTDC', [PathReq(Protocols.OSPF, "MatsuyamaTTDC", ['FukuokaTTDC', 'MatsuyamaTTDC'], False), PathReq(Protocols.OSPF, "MatsuyamaTTDC", ['FukuokaTTDC', 'HiroshimaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'MatsuyamaTTDC'], False)], False),
]

edges_cost_order_4_2 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 2),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 1),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

reqs_simple_8 = [
    PathReq(Protocols.OSPF, "ISSP,TTUTTTokyo", ['UTTElectro-Communications', 'TokyoTTDC2', 'TokyoTTDC1', 'ISSP,TTUTTTokyo'], False),
    PathReq(Protocols.OSPF, "SaitamaTTU", ['UTTElectro-Communications', 'TokyoTTDC2', 'SaitamaTTU'], False),
    PathReq(Protocols.OSPF, "HirosakiTTU", ['UTTElectro-Communications', 'TokyoTTDC2', 'TokyoTTDC1', 'TsukubaTTDC', 'SendaiTTDC', 'HirosakiTTU'], False),
    PathReq(Protocols.OSPF, "NAOJ", ['UTTElectro-Communications', 'TokyoTTDC2', 'TokyoTTDC1', 'NAOJ'], False),
    PathReq(Protocols.OSPF, "KEK", ['UTTElectro-Communications', 'TokyoTTDC2', 'TokyoTTDC1', 'TsukubaTTDC', 'KEK'], False),
    PathReq(Protocols.OSPF, "RIKEN", ['UTTElectro-Communications', 'TokyoTTDC2', 'TokyoTTDC1', 'RIKEN'], False),
    PathReq(Protocols.OSPF, "OsakaTTDC", ['UTTElectro-Communications', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC'], False),
    PathReq(Protocols.OSPF, "NiigataTTU", ['UTTElectro-Communications', 'TokyoTTDC2', 'KanazawaTTDC', 'NiigataTTU'], False),
]

edges_cost_simple_8 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 2),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 2),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

####################

reqs_ecmp_8_2 = [
    ECMPPathsReq(Protocols.OSPF, 'DoshishaTTU', [PathReq(Protocols.OSPF, "DoshishaTTU", ['KeioTTU', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'DoshishaTTU'], False), PathReq(Protocols.OSPF, "DoshishaTTU", ['KeioTTU', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'DoshishaTTU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'OkayamaTTU', [PathReq(Protocols.OSPF, "OkayamaTTU", ['KeioTTU', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'OkayamaTTU'], False), PathReq(Protocols.OSPF, "OkayamaTTU", ['KeioTTU', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'OkayamaTTU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'ICR,TTKyotoTTU', [PathReq(Protocols.OSPF, "ICR,TTKyotoTTU", ['KeioTTU', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'ICR,TTKyotoTTU'], False), PathReq(Protocols.OSPF, "ICR,TTKyotoTTU", ['KeioTTU', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'ICR,TTKyotoTTU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'KyotoTTU', [PathReq(Protocols.OSPF, "KyotoTTU", ['KeioTTU', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'KyotoTTU'], False), PathReq(Protocols.OSPF, "KyotoTTU", ['KeioTTU', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'KyotoTTU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'HiroshimaTTDC', [PathReq(Protocols.OSPF, "HiroshimaTTDC", ['KeioTTU', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'HiroshimaTTDC'], False), PathReq(Protocols.OSPF, "HiroshimaTTDC", ['KeioTTU', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'HiroshimaTTDC'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'HokkaidoTTU', [PathReq(Protocols.OSPF, "HokkaidoTTU", ['KeioTTU', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'SapporoTTDC', 'HokkaidoTTU'], False), PathReq(Protocols.OSPF, "HokkaidoTTU", ['KeioTTU', 'TokyoTTDC1', 'TsukubaTTDC', 'SendaiTTDC', 'SapporoTTDC', 'HokkaidoTTU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'HiroshimaTTU', [PathReq(Protocols.OSPF, "HiroshimaTTU", ['KeioTTU', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'HiroshimaTTU'], False), PathReq(Protocols.OSPF, "HiroshimaTTU", ['KeioTTU', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'HiroshimaTTU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'KitamiTTIT', [PathReq(Protocols.OSPF, "KitamiTTIT", ['KeioTTU', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'SapporoTTDC', 'HokkaidoTTU', 'KitamiTTIT'], False), PathReq(Protocols.OSPF, "KitamiTTIT", ['KeioTTU', 'TokyoTTDC1', 'TsukubaTTDC', 'SendaiTTDC', 'SapporoTTDC', 'HokkaidoTTU', 'KitamiTTIT'], False)], False),
]

edges_cost_ecmp_8_2 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 1),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

reqs_kconnected_8_2 = [
    KConnectedPathsReq(Protocols.OSPF, 'DoshishaTTU', [PathReq(Protocols.OSPF, "DoshishaTTU", ['KeioTTU', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'DoshishaTTU'], False), PathReq(Protocols.OSPF, "DoshishaTTU", ['KeioTTU', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'DoshishaTTU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'OkayamaTTU', [PathReq(Protocols.OSPF, "OkayamaTTU", ['KeioTTU', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'OkayamaTTU'], False), PathReq(Protocols.OSPF, "OkayamaTTU", ['KeioTTU', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'OkayamaTTU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'ICR,TTKyotoTTU', [PathReq(Protocols.OSPF, "ICR,TTKyotoTTU", ['KeioTTU', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'ICR,TTKyotoTTU'], False), PathReq(Protocols.OSPF, "ICR,TTKyotoTTU", ['KeioTTU', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'ICR,TTKyotoTTU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'KyotoTTU', [PathReq(Protocols.OSPF, "KyotoTTU", ['KeioTTU', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'KyotoTTU'], False), PathReq(Protocols.OSPF, "KyotoTTU", ['KeioTTU', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'KyotoTTU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'HiroshimaTTDC', [PathReq(Protocols.OSPF, "HiroshimaTTDC", ['KeioTTU', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'HiroshimaTTDC'], False), PathReq(Protocols.OSPF, "HiroshimaTTDC", ['KeioTTU', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'HiroshimaTTDC'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'HokkaidoTTU', [PathReq(Protocols.OSPF, "HokkaidoTTU", ['KeioTTU', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'SapporoTTDC', 'HokkaidoTTU'], False), PathReq(Protocols.OSPF, "HokkaidoTTU", ['KeioTTU', 'TokyoTTDC1', 'TsukubaTTDC', 'SendaiTTDC', 'SapporoTTDC', 'HokkaidoTTU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'HiroshimaTTU', [PathReq(Protocols.OSPF, "HiroshimaTTU", ['KeioTTU', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'HiroshimaTTU'], False), PathReq(Protocols.OSPF, "HiroshimaTTU", ['KeioTTU', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'HiroshimaTTU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'KitamiTTIT', [PathReq(Protocols.OSPF, "KitamiTTIT", ['KeioTTU', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'SapporoTTDC', 'HokkaidoTTU', 'KitamiTTIT'], False), PathReq(Protocols.OSPF, "KitamiTTIT", ['KeioTTU', 'TokyoTTDC1', 'TsukubaTTDC', 'SendaiTTDC', 'SapporoTTDC', 'HokkaidoTTU', 'KitamiTTIT'], False)], False),
]

edges_cost_kconnected_8_2 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 1),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

reqs_order_8_2 = [
    PathOrderReq(Protocols.OSPF, 'HiroshimaTTDC', [PathReq(Protocols.OSPF, "HiroshimaTTDC", ['FukuokaTTDC', 'HiroshimaTTDC'], False), PathReq(Protocols.OSPF, "HiroshimaTTDC", ['FukuokaTTDC', 'MatsuyamaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'HiroshimaTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'TokyoTTDC2', [PathReq(Protocols.OSPF, "TokyoTTDC2", ['TokyoTTDC1', 'TokyoTTDC2'], False), PathReq(Protocols.OSPF, "TokyoTTDC2", ['TokyoTTDC1', 'TsukubaTTDC', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2'], False)], False),
    PathOrderReq(Protocols.OSPF, 'TokyoTTDC1', [PathReq(Protocols.OSPF, "TokyoTTDC1", ['TokyoTTDC2', 'TokyoTTDC1'], False), PathReq(Protocols.OSPF, "TokyoTTDC1", ['TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'NagoyaTTDC', 'TokyoTTDC1'], False)], False),
    PathOrderReq(Protocols.OSPF, 'KyotoTTDC', [PathReq(Protocols.OSPF, "KyotoTTDC", ['KanazawaTTDC', 'KyotoTTDC'], False), PathReq(Protocols.OSPF, "KyotoTTDC", ['KanazawaTTDC', 'TokyoTTDC2', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'TokyoTTDC1', [PathReq(Protocols.OSPF, "TokyoTTDC1", ['TsukubaTTDC', 'TokyoTTDC1'], False), PathReq(Protocols.OSPF, "TokyoTTDC1", ['TsukubaTTDC', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'TokyoTTDC1'], False)], False),
    PathOrderReq(Protocols.OSPF, 'OsakaTTDC', [PathReq(Protocols.OSPF, "OsakaTTDC", ['MatsuyamaTTDC', 'OsakaTTDC'], False), PathReq(Protocols.OSPF, "OsakaTTDC", ['MatsuyamaTTDC', 'FukuokaTTDC', 'HiroshimaTTDC', 'KyotoTTDC', 'OsakaTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'TokyoTTDC2', [PathReq(Protocols.OSPF, "TokyoTTDC2", ['KanazawaTTDC', 'TokyoTTDC2'], False), PathReq(Protocols.OSPF, "TokyoTTDC2", ['KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'NagoyaTTDC', 'TokyoTTDC1', 'TokyoTTDC2'], False)], False),
    PathOrderReq(Protocols.OSPF, 'MatsuyamaTTDC', [PathReq(Protocols.OSPF, "MatsuyamaTTDC", ['OsakaTTDC', 'MatsuyamaTTDC'], False), PathReq(Protocols.OSPF, "MatsuyamaTTDC", ['OsakaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'FukuokaTTDC', 'MatsuyamaTTDC'], False)], False),
]

edges_cost_order_8_2 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 2),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 2),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

reqs_simple_16 = [
    PathReq(Protocols.OSPF, "KurnamotoTTU", ['JAMSTEC', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'FukuokaTTDC', 'KurnamotoTTU'], False),
    PathReq(Protocols.OSPF, "YokohamaTTNationalTTU", ['JAMSTEC', 'TokyoTTDC2', 'TokyoTTDC1', 'YokohamaTTNationalTTU'], False),
    PathReq(Protocols.OSPF, "TohokuTTU", ['JAMSTEC', 'TokyoTTDC2', 'KanazawaTTDC', 'SapporoTTDC', 'SendaiTTDC', 'TohokuTTU'], False),
    PathReq(Protocols.OSPF, "SaitamaTTU", ['JAMSTEC', 'TokyoTTDC2', 'SaitamaTTU'], False),
    PathReq(Protocols.OSPF, "KitamiTTIT", ['JAMSTEC', 'TokyoTTDC2', 'KanazawaTTDC', 'SapporoTTDC', 'HokkaidoTTU', 'KitamiTTIT'], False),
    PathReq(Protocols.OSPF, "KanazawaTTDC", ['JAMSTEC', 'TokyoTTDC2', 'KanazawaTTDC'], False),
    PathReq(Protocols.OSPF, "YamanashiTTU", ['JAMSTEC', 'TokyoTTDC2', 'YamanashiTTU'], False),
    PathReq(Protocols.OSPF, "JAEA", ['JAMSTEC', 'TokyoTTDC2', 'TokyoTTDC1', 'TsukubaTTDC', 'JAEA'], False),
    PathReq(Protocols.OSPF, "KanazawaTTU", ['JAMSTEC', 'TokyoTTDC2', 'KanazawaTTDC', 'KanazawaTTU'], False),
    PathReq(Protocols.OSPF, "NagasakiTTU", ['JAMSTEC', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'FukuokaTTDC', 'NagasakiTTU'], False),
    PathReq(Protocols.OSPF, "TokyoTTIT", ['JAMSTEC', 'TokyoTTDC2', 'TokyoTTDC1', 'TokyoTTIT'], False),
    PathReq(Protocols.OSPF, "NII-CHiba", ['JAMSTEC', 'TokyoTTDC2', 'TokyoTTDC1', 'NII-CHiba'], False),
    PathReq(Protocols.OSPF, "KansaiTTU", ['JAMSTEC', 'TokyoTTDC2', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KansaiTTU'], False),
    PathReq(Protocols.OSPF, "KyotoTTDC", ['JAMSTEC', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC'], False),
    PathReq(Protocols.OSPF, "DoshishaTTU", ['JAMSTEC', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'DoshishaTTU'], False),
    PathReq(Protocols.OSPF, "TokyoTTDC1", ['JAMSTEC', 'TokyoTTDC2', 'TokyoTTDC1'], False),
]

edges_cost_simple_16 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 2),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 2),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 1),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

####################

reqs_ecmp_16_2 = [
    ECMPPathsReq(Protocols.OSPF, 'KobeTTU', [PathReq(Protocols.OSPF, "KobeTTU", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KobeTTU'], False), PathReq(Protocols.OSPF, "KobeTTU", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'KobeTTU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'SaitamaTTU', [PathReq(Protocols.OSPF, "SaitamaTTU", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'SaitamaTTU'], False), PathReq(Protocols.OSPF, "SaitamaTTU", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'SaitamaTTU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'KansaiTTU', [PathReq(Protocols.OSPF, "KansaiTTU", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KansaiTTU'], False), PathReq(Protocols.OSPF, "KansaiTTU", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'KansaiTTU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'JAMSTEC', [PathReq(Protocols.OSPF, "JAMSTEC", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'JAMSTEC'], False), PathReq(Protocols.OSPF, "JAMSTEC", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'JAMSTEC'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'ChibaTTU', [PathReq(Protocols.OSPF, "ChibaTTU", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'ChibaTTU'], False), PathReq(Protocols.OSPF, "ChibaTTU", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'ChibaTTU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'OsakaTTDC', [PathReq(Protocols.OSPF, "OsakaTTDC", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC'], False), PathReq(Protocols.OSPF, "OsakaTTDC", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'TokyoTTDC2', [PathReq(Protocols.OSPF, "TokyoTTDC2", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2'], False), PathReq(Protocols.OSPF, "TokyoTTDC2", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'OsakaTTU', [PathReq(Protocols.OSPF, "OsakaTTU", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'OsakaTTU'], False), PathReq(Protocols.OSPF, "OsakaTTU", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'OsakaTTU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'ShinshuTTU', [PathReq(Protocols.OSPF, "ShinshuTTU", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'ShinshuTTU'], False), PathReq(Protocols.OSPF, "ShinshuTTU", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'ShinshuTTU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'TokyoTTDC3', [PathReq(Protocols.OSPF, "TokyoTTDC3", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'TokyoTTDC3'], False), PathReq(Protocols.OSPF, "TokyoTTDC3", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'TokyoTTDC3'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'GunmaTTU', [PathReq(Protocols.OSPF, "GunmaTTU", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'GunmaTTU'], False), PathReq(Protocols.OSPF, "GunmaTTU", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'GunmaTTU'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'UTTTokushima', [PathReq(Protocols.OSPF, "UTTTokushima", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'MatsuyamaTTDC', 'UTTTokushima'], False), PathReq(Protocols.OSPF, "UTTTokushima", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'MatsuyamaTTDC', 'UTTTokushima'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'UTTElectro-Communications', [PathReq(Protocols.OSPF, "UTTElectro-Communications", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'UTTElectro-Communications'], False), PathReq(Protocols.OSPF, "UTTElectro-Communications", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'UTTElectro-Communications'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'ISM', [PathReq(Protocols.OSPF, "ISM", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'ISM'], False), PathReq(Protocols.OSPF, "ISM", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'ISM'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'JASRI', [PathReq(Protocols.OSPF, "JASRI", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'JASRI'], False), PathReq(Protocols.OSPF, "JASRI", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'JASRI'], False)], False),
    ECMPPathsReq(Protocols.OSPF, 'YamanashiTTU', [PathReq(Protocols.OSPF, "YamanashiTTU", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'YamanashiTTU'], False), PathReq(Protocols.OSPF, "YamanashiTTU", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'YamanashiTTU'], False)], False),
]

edges_cost_ecmp_16_2 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 1),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

reqs_kconnected_16_2 = [
    KConnectedPathsReq(Protocols.OSPF, 'KobeTTU', [PathReq(Protocols.OSPF, "KobeTTU", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KobeTTU'], False), PathReq(Protocols.OSPF, "KobeTTU", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'KobeTTU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'SaitamaTTU', [PathReq(Protocols.OSPF, "SaitamaTTU", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'SaitamaTTU'], False), PathReq(Protocols.OSPF, "SaitamaTTU", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'SaitamaTTU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'KansaiTTU', [PathReq(Protocols.OSPF, "KansaiTTU", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KansaiTTU'], False), PathReq(Protocols.OSPF, "KansaiTTU", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'KansaiTTU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'JAMSTEC', [PathReq(Protocols.OSPF, "JAMSTEC", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'JAMSTEC'], False), PathReq(Protocols.OSPF, "JAMSTEC", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'JAMSTEC'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'ChibaTTU', [PathReq(Protocols.OSPF, "ChibaTTU", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'ChibaTTU'], False), PathReq(Protocols.OSPF, "ChibaTTU", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'ChibaTTU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'OsakaTTDC', [PathReq(Protocols.OSPF, "OsakaTTDC", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC'], False), PathReq(Protocols.OSPF, "OsakaTTDC", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'TokyoTTDC2', [PathReq(Protocols.OSPF, "TokyoTTDC2", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2'], False), PathReq(Protocols.OSPF, "TokyoTTDC2", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'OsakaTTU', [PathReq(Protocols.OSPF, "OsakaTTU", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'OsakaTTU'], False), PathReq(Protocols.OSPF, "OsakaTTU", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'OsakaTTU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'ShinshuTTU', [PathReq(Protocols.OSPF, "ShinshuTTU", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'ShinshuTTU'], False), PathReq(Protocols.OSPF, "ShinshuTTU", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'ShinshuTTU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'TokyoTTDC3', [PathReq(Protocols.OSPF, "TokyoTTDC3", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'TokyoTTDC3'], False), PathReq(Protocols.OSPF, "TokyoTTDC3", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'TokyoTTDC3'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'GunmaTTU', [PathReq(Protocols.OSPF, "GunmaTTU", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'GunmaTTU'], False), PathReq(Protocols.OSPF, "GunmaTTU", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'GunmaTTU'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'UTTTokushima', [PathReq(Protocols.OSPF, "UTTTokushima", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'MatsuyamaTTDC', 'UTTTokushima'], False), PathReq(Protocols.OSPF, "UTTTokushima", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'MatsuyamaTTDC', 'UTTTokushima'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'UTTElectro-Communications', [PathReq(Protocols.OSPF, "UTTElectro-Communications", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'UTTElectro-Communications'], False), PathReq(Protocols.OSPF, "UTTElectro-Communications", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'UTTElectro-Communications'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'ISM', [PathReq(Protocols.OSPF, "ISM", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'ISM'], False), PathReq(Protocols.OSPF, "ISM", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'ISM'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'JASRI', [PathReq(Protocols.OSPF, "JASRI", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'JASRI'], False), PathReq(Protocols.OSPF, "JASRI", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'JASRI'], False)], False),
    KConnectedPathsReq(Protocols.OSPF, 'YamanashiTTU', [PathReq(Protocols.OSPF, "YamanashiTTU", ['HirosakiTTU', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'YamanashiTTU'], False), PathReq(Protocols.OSPF, "YamanashiTTU", ['HirosakiTTU', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'YamanashiTTU'], False)], False),
]

edges_cost_kconnected_16_2 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 1),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 1),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 1),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

reqs_order_16_2 = [
    PathOrderReq(Protocols.OSPF, 'SendaiTTDC', [PathReq(Protocols.OSPF, "SendaiTTDC", ['SapporoTTDC', 'SendaiTTDC'], False), PathReq(Protocols.OSPF, "SendaiTTDC", ['SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'TokyoTTDC1', 'TsukubaTTDC', 'SendaiTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'KyotoTTDC', [PathReq(Protocols.OSPF, "KyotoTTDC", ['HiroshimaTTDC', 'KyotoTTDC'], False), PathReq(Protocols.OSPF, "KyotoTTDC", ['HiroshimaTTDC', 'FukuokaTTDC', 'MatsuyamaTTDC', 'OsakaTTDC', 'KyotoTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'TokyoTTDC1', [PathReq(Protocols.OSPF, "TokyoTTDC1", ['TsukubaTTDC', 'TokyoTTDC1'], False), PathReq(Protocols.OSPF, "TokyoTTDC1", ['TsukubaTTDC', 'SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'TokyoTTDC1'], False)], False),
    PathOrderReq(Protocols.OSPF, 'HiroshimaTTDC', [PathReq(Protocols.OSPF, "HiroshimaTTDC", ['FukuokaTTDC', 'HiroshimaTTDC'], False), PathReq(Protocols.OSPF, "HiroshimaTTDC", ['FukuokaTTDC', 'MatsuyamaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'HiroshimaTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'HiroshimaTTDC', [PathReq(Protocols.OSPF, "HiroshimaTTDC", ['KyotoTTDC', 'HiroshimaTTDC'], False), PathReq(Protocols.OSPF, "HiroshimaTTDC", ['KyotoTTDC', 'OsakaTTDC', 'MatsuyamaTTDC', 'FukuokaTTDC', 'HiroshimaTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'SapporoTTDC', [PathReq(Protocols.OSPF, "SapporoTTDC", ['SendaiTTDC', 'SapporoTTDC'], False), PathReq(Protocols.OSPF, "SapporoTTDC", ['SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'SapporoTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'MatsuyamaTTDC', [PathReq(Protocols.OSPF, "MatsuyamaTTDC", ['OsakaTTDC', 'MatsuyamaTTDC'], False), PathReq(Protocols.OSPF, "MatsuyamaTTDC", ['OsakaTTDC', 'KyotoTTDC', 'HiroshimaTTDC', 'FukuokaTTDC', 'MatsuyamaTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'KanazawaTTDC', [PathReq(Protocols.OSPF, "KanazawaTTDC", ['TokyoTTDC2', 'KanazawaTTDC'], False), PathReq(Protocols.OSPF, "KanazawaTTDC", ['TokyoTTDC2', 'TokyoTTDC1', 'NagoyaTTDC', 'OsakaTTDC', 'KyotoTTDC', 'KanazawaTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'NagoyaTTDC', [PathReq(Protocols.OSPF, "NagoyaTTDC", ['TokyoTTDC1', 'NagoyaTTDC'], False), PathReq(Protocols.OSPF, "NagoyaTTDC", ['TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'NagoyaTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'MatsuyamaTTDC', [PathReq(Protocols.OSPF, "MatsuyamaTTDC", ['FukuokaTTDC', 'MatsuyamaTTDC'], False), PathReq(Protocols.OSPF, "MatsuyamaTTDC", ['FukuokaTTDC', 'HiroshimaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'MatsuyamaTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'KanazawaTTDC', [PathReq(Protocols.OSPF, "KanazawaTTDC", ['SapporoTTDC', 'KanazawaTTDC'], False), PathReq(Protocols.OSPF, "KanazawaTTDC", ['SapporoTTDC', 'SendaiTTDC', 'TsukubaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'TsukubaTTDC', [PathReq(Protocols.OSPF, "TsukubaTTDC", ['SendaiTTDC', 'TsukubaTTDC'], False), PathReq(Protocols.OSPF, "TsukubaTTDC", ['SendaiTTDC', 'SapporoTTDC', 'KanazawaTTDC', 'TokyoTTDC2', 'TokyoTTDC1', 'TsukubaTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'KyotoTTDC', [PathReq(Protocols.OSPF, "KyotoTTDC", ['OsakaTTDC', 'KyotoTTDC'], False), PathReq(Protocols.OSPF, "KyotoTTDC", ['OsakaTTDC', 'NagoyaTTDC', 'TokyoTTDC1', 'TokyoTTDC2', 'KanazawaTTDC', 'KyotoTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'TokyoTTDC2', [PathReq(Protocols.OSPF, "TokyoTTDC2", ['KanazawaTTDC', 'TokyoTTDC2'], False), PathReq(Protocols.OSPF, "TokyoTTDC2", ['KanazawaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'NagoyaTTDC', 'TokyoTTDC1', 'TokyoTTDC2'], False)], False),
    PathOrderReq(Protocols.OSPF, 'SapporoTTDC', [PathReq(Protocols.OSPF, "SapporoTTDC", ['KanazawaTTDC', 'SapporoTTDC'], False), PathReq(Protocols.OSPF, "SapporoTTDC", ['KanazawaTTDC', 'TokyoTTDC2', 'TokyoTTDC1', 'TsukubaTTDC', 'SendaiTTDC', 'SapporoTTDC'], False)], False),
    PathOrderReq(Protocols.OSPF, 'FukuokaTTDC', [PathReq(Protocols.OSPF, "FukuokaTTDC", ['HiroshimaTTDC', 'FukuokaTTDC'], False), PathReq(Protocols.OSPF, "FukuokaTTDC", ['HiroshimaTTDC', 'KyotoTTDC', 'OsakaTTDC', 'MatsuyamaTTDC', 'FukuokaTTDC'], False)], False),
]

edges_cost_order_16_2 = [
    ("OsakaTTDC", "OsakaTTU", 1),
    ("OsakaTTDC", "JASRI", 1),
    ("OsakaTTDC", "KobeTTU", 1),
    ("OsakaTTDC", "NagoyaTTDC", 1),
    ("OsakaTTDC", "KansaiTTU", 1),
    ("OsakaTTDC", "KyotoTTDC", 1),
    ("OsakaTTDC", "MatsuyamaTTDC", 1),
    ("UTTTokushima", "MatsuyamaTTDC", 1),
    ("KyushuTTU", "FukuokaTTDC", 1),
    ("SendaiTTDC", "HirosakiTTU", 1),
    ("SendaiTTDC", "TohokuTTU", 1),
    ("SendaiTTDC", "SapporoTTDC", 1),
    ("SendaiTTDC", "TsukubaTTDC", 1),
    ("FukuokaTTDC", "KyushuTTU", 1),
    ("FukuokaTTDC", "KyushuTTIT", 1),
    ("FukuokaTTDC", "HiroshimaTTDC", 1),
    ("FukuokaTTDC", "KagoshimaTTU", 1),
    ("FukuokaTTDC", "KurnamotoTTU", 1),
    ("FukuokaTTDC", "OitaTTU", 1),
    ("FukuokaTTDC", "MatsuyamaTTDC", 1),
    ("FukuokaTTDC", "UTTofTTtheTTRyukyus", 1),
    ("FukuokaTTDC", "NagasakiTTU", 1),
    ("EhimeTTU", "MatsuyamaTTDC", 1),
    ("ShinshuTTU", "TokyoTTDC2", 1),
    ("HiroshimaTTDC", "TottoriTTU", 1),
    ("HiroshimaTTDC", "FukuokaTTDC", 1),
    ("HiroshimaTTDC", "YamaguchiTTU", 1),
    ("HiroshimaTTDC", "KyotoTTDC", 1),
    ("HiroshimaTTDC", "HiroshimaTTU", 1),
    ("HiroshimaTTDC", "OkayamaTTU", 1),
    ("YokohamaTTNationalTTU", "TokyoTTDC1", 1),
    ("KagoshimaTTU", "FukuokaTTDC", 1),
    ("JAMSTEC", "TokyoTTDC2", 1),
    ("WasedaTTU", "TokyoTTDC1", 1),
    ("ShizuokaTTU", "NagoyaTTDC", 1),
    ("ISM", "TokyoTTDC2", 1),
    ("UTTTsukuba", "TsukubaTTDC", 1),
    ("TsukubaTTDC", "KEK", 1),
    ("TsukubaTTDC", "UTTTsukuba", 1),
    ("TsukubaTTDC", "TokyoTTDC1", 1),
    ("TsukubaTTDC", "JAEA", 1),
    ("TsukubaTTDC", "SendaiTTDC", 2),
    ("MatsuyamaTTDC", "OsakaTTDC", 1),
    ("MatsuyamaTTDC", "UTTTokushima", 1),
    ("MatsuyamaTTDC", "KagawaTTU", 1),
    ("MatsuyamaTTDC", "FukuokaTTDC", 3),
    ("MatsuyamaTTDC", "EhimeTTU", 1),
    ("KitamiTTIT", "HokkaidoTTU", 1),
    ("KagawaTTU", "MatsuyamaTTDC", 1),
    ("KobeTTU", "OsakaTTDC", 1),
    ("JAXA-ISAS", "TokyoTTDC1", 1),
    ("KeioTTU", "TokyoTTDC1", 1),
    ("TokyoTTUTTAgTTandTTTech", "TokyoTTDC2", 1),
    ("JASRI", "OsakaTTDC", 1),
    ("UTTElectro-Communications", "TokyoTTDC2", 1),
    ("NII-CHiba", "TokyoTTDC1", 1),
    ("FukuiTTU", "KanazawaTTDC", 1),
    ("KyotoTTDC", "OsakaTTDC", 1),
    ("KyotoTTDC", "ICR,TTKyotoTTU", 1),
    ("KyotoTTDC", "HiroshimaTTDC", 1),
    ("KyotoTTDC", "KanazawaTTDC", 1),
    ("KyotoTTDC", "KyotoTTU", 1),
    ("KyotoTTDC", "DoshishaTTU", 1),
    ("SapporoTTDC", "SendaiTTDC", 1),
    ("SapporoTTDC", "HokkaidoTTU", 1),
    ("SapporoTTDC", "KanazawaTTDC", 1),
    ("GSIST,TTUTTTokyo", "TokyoTTDC1", 1),
    ("YamanashiTTU", "TokyoTTDC2", 1),
    ("HokkaidoTTU", "KitamiTTIT", 1),
    ("HokkaidoTTU", "SapporoTTDC", 1),
    ("NagoyaTTU", "NagoyaTTDC", 1),
    ("UTTofTTtheTTRyukyus", "FukuokaTTDC", 1),
    ("OsakaTTU", "OsakaTTDC", 1),
    ("HirosakiTTU", "SendaiTTDC", 1),
    ("NiigataTTU", "KanazawaTTDC", 1),
    ("YamaguchiTTU", "HiroshimaTTDC", 1),
    ("TokyoTTDC2", "ChibaTTU", 1),
    ("TokyoTTDC2", "ISM", 1),
    ("TokyoTTDC2", "TokyoTTUTTAgTTandTTTech", 1),
    ("TokyoTTDC2", "UTTElectro-Communications", 1),
    ("TokyoTTDC2", "ShinshuTTU", 1),
    ("TokyoTTDC2", "KanazawaTTDC", 1),
    ("TokyoTTDC2", "JAMSTEC", 1),
    ("TokyoTTDC2", "TokyoTTDC1", 1),
    ("TokyoTTDC2", "TokyoTTDC3", 1),
    ("TokyoTTDC2", "GunmaTTU", 1),
    ("TokyoTTDC2", "YamanashiTTU", 1),
    ("TokyoTTDC2", "SaitamaTTU", 1),
    ("TohokuTTU", "SendaiTTDC", 1),
    ("JAEA", "TsukubaTTDC", 1),
    ("ISSP,TTUTTTokyo", "TokyoTTDC1", 1),
    ("TokyoTTIT", "TokyoTTDC1", 1),
    ("JAXA-IAT", "TokyoTTDC1", 1),
    ("TokyoTTDC1", "NII", 1),
    ("TokyoTTDC1", "NAOJ", 1),
    ("TokyoTTDC1", "JAXA-ISAS", 1),
    ("TokyoTTDC1", "NagoyaTTDC", 1),
    ("TokyoTTDC1", "UTTTokyo", 1),
    ("TokyoTTDC1", "KeioTTU", 1),
    ("TokyoTTDC1", "GSIST,TTUTTTokyo", 1),
    ("TokyoTTDC1", "IMS,TTUTTTokyo", 1),
    ("TokyoTTDC1", "YokohamaTTNationalTTU", 1),
    ("TokyoTTDC1", "NII-CHiba", 1),
    ("TokyoTTDC1", "TokyoTTIT", 1),
    ("TokyoTTDC1", "JAXA-IAT", 1),
    ("TokyoTTDC1", "WasedaTTU", 1),
    ("TokyoTTDC1", "ISSP,TTUTTTokyo", 1),
    ("TokyoTTDC1", "TokyoTTDC2", 1),
    ("TokyoTTDC1", "TsukubaTTDC", 1),
    ("TokyoTTDC1", "RIKEN", 1),
    ("NINS-Okazaki", "NagoyaTTDC", 1),
    ("TokyoTTDC3", "TokyoTTDC2", 1),
    ("OitaTTU", "FukuokaTTDC", 1),
    ("SaitamaTTU", "TokyoTTDC2", 1),
    ("NIFS", "NagoyaTTDC", 1),
    ("HiroshimaTTU", "HiroshimaTTDC", 1),
    ("OkayamaTTU", "HiroshimaTTDC", 1),
    ("KansaiTTU", "OsakaTTDC", 1),
    ("ICR,TTKyotoTTU", "KyotoTTDC", 1),
    ("KEK", "TsukubaTTDC", 1),
    ("NII", "TokyoTTDC1", 1),
    ("NAOJ", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "OsakaTTDC", 1),
    ("NagoyaTTDC", "KamiokaTTObs,TTICRR,TTUTTTokyo", 1),
    ("NagoyaTTDC", "TokyoTTDC1", 1),
    ("NagoyaTTDC", "ShizuokaTTU", 1),
    ("NagoyaTTDC", "NIFS", 1),
    ("NagoyaTTDC", "NagoyaTTU", 1),
    ("NagoyaTTDC", "NINS-Okazaki", 1),
    ("KyushuTTIT", "FukuokaTTDC", 1),
    ("UTTTokyo", "TokyoTTDC1", 1),
    ("KamiokaTTObs,TTICRR,TTUTTTokyo", "NagoyaTTDC", 1),
    ("ChibaTTU", "TokyoTTDC2", 1),
    ("IMS,TTUTTTokyo", "TokyoTTDC1", 1),
    ("KanazawaTTDC", "NiigataTTU", 1),
    ("KanazawaTTDC", "FukuiTTU", 1),
    ("KanazawaTTDC", "KyotoTTDC", 1),
    ("KanazawaTTDC", "SapporoTTDC", 2),
    ("KanazawaTTDC", "TokyoTTDC2", 1),
    ("KanazawaTTDC", "KanazawaTTU", 1),
    ("KanazawaTTDC", "JAIST", 1),
    ("KanazawaTTDC", "ToyamaTTU", 1),
    ("JAIST", "KanazawaTTDC", 1),
    ("TottoriTTU", "HiroshimaTTDC", 1),
    ("KyotoTTU", "KyotoTTDC", 1),
    ("RIKEN", "TokyoTTDC1", 1),
    ("KurnamotoTTU", "FukuokaTTDC", 1),
    ("GunmaTTU", "TokyoTTDC2", 1),
    ("KanazawaTTU", "KanazawaTTDC", 1),
    ("DoshishaTTU", "KyotoTTDC", 1),
    ("ToyamaTTU", "KanazawaTTDC", 1),
    ("NagasakiTTU", "FukuokaTTDC", 1),
]

####################

reqs_simple = [reqs_simple_1,reqs_simple_2,reqs_simple_4,reqs_simple_8,reqs_simple_16]

reqs_simple_vals = [edges_cost_simple_1,edges_cost_simple_2,edges_cost_simple_4,edges_cost_simple_8,edges_cost_simple_16]

####################

reqs_ecmp = [reqs_ecmp_1_2,reqs_ecmp_2_2,reqs_ecmp_4_2,reqs_ecmp_8_2,reqs_ecmp_16_2]

reqs_ecmp_vals = [edges_cost_ecmp_1_2,edges_cost_ecmp_2_2,edges_cost_ecmp_4_2,edges_cost_ecmp_8_2,edges_cost_ecmp_16_2]

####################

reqs_kconnected = [reqs_kconnected_1_2,reqs_kconnected_2_2,reqs_kconnected_4_2,reqs_kconnected_8_2,reqs_kconnected_16_2]

reqs_kconnected_vals = [edges_cost_kconnected_1_2,edges_cost_kconnected_2_2,edges_cost_kconnected_4_2,edges_cost_kconnected_8_2,edges_cost_kconnected_16_2]

####################

reqs_order = [reqs_order_1_2, reqs_order_2_2, reqs_order_4_2, reqs_order_8_2, reqs_order_16_2]

reqs_order_vals = [edges_cost_order_1_2, edges_cost_order_2_2, edges_cost_order_4_2, edges_cost_order_8_2, edges_cost_order_16_2]

####################

