using System; namespace Graph { public struct Edge where T : IComparable { public int U { get; } public int V { get; } public T Weight { get; } public Edge(int u, int v, T weight) { U = u; V = v; Weight = weight; } public int CompareTo(Edge edge) => Weight.CompareTo(edge.Weight); public override string ToString() => $"{U} {V} {Weight}"; } }