public void Ordinal()
        {
            var bm = new BipartiteMatching();
            bm.AddPair(0, 3);
            bm.AddPair(0, 4);
            bm.AddPair(1, 3);
            bm.AddPair(1, 5);
            bm.AddPair(2, 4);
            Assert.AreEqual(3, bm.GetMaxMatchingNum());

            bm = new BipartiteMatching();
            bm.AddPair(0, 4);
            bm.AddPair(1, 3);
            bm.AddPair(1, 5);
            bm.AddPair(2, 4);
            Assert.AreEqual(2, bm.GetMaxMatchingNum());

            bm = new BipartiteMatching();
            bm.AddPair(0, 4);
            bm.AddPair(0, 5);
            bm.AddPair(1, 4);
            bm.AddPair(1, 6);
            bm.AddPair(2, 5);
            bm.AddPair(2, 6);
            Assert.AreEqual(3, bm.GetMaxMatchingNum());
        }