using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
public static void Main()
{
List<List<int>> lst = new List<List<int>>();
lst.Add(new List<int> { 1 });
lst.Add(new List<int> { 2 });
lst.Add(new List<int> { 3 });
lst.Add(new List<int> { 4, 5 });
lst.Add(new List<int> { 7 });
lst.Add(new List<int> { 4, 5 });
lst.Add(new List<int> { 1 });
lst.Add(new List<int> { 3 });
var newList = lst.GroupBy(x => x, new Compare()).Where(x => x.Count() == 1).SelectMany(x => x);
foreach (var x in newList)
Console.WriteLine(string.Join(" ", x));
}
}
public class Compare : IEqualityComparer<List<int>>
{
public bool Equals(List<int> x, List<int> y)
{
if (x.Count != y.Count) return false;
int n = x.Count;
for (int i = 0; i < n; i++)
if (x[i] != y[i])
return false;
return true;
}
public int GetHashCode(List<int> x)
{
return 0;
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJICAgICAgICAgICAgTGlzdDxMaXN0PGludD4+IGxzdCA9IG5ldyBMaXN0PExpc3Q8aW50Pj4oKTsKICAgICAgICAgICAgbHN0LkFkZChuZXcgTGlzdDxpbnQ+IHsgMSB9KTsKICAgICAgICAgICAgbHN0LkFkZChuZXcgTGlzdDxpbnQ+IHsgMiB9KTsKICAgICAgICAgICAgbHN0LkFkZChuZXcgTGlzdDxpbnQ+IHsgMyB9KTsKICAgICAgICAgICAgbHN0LkFkZChuZXcgTGlzdDxpbnQ+IHsgNCwgNSB9KTsKICAgICAgICAgICAgbHN0LkFkZChuZXcgTGlzdDxpbnQ+IHsgNyB9KTsKICAgICAgICAgICAgbHN0LkFkZChuZXcgTGlzdDxpbnQ+IHsgNCwgNSB9KTsKICAgICAgICAgICAgbHN0LkFkZChuZXcgTGlzdDxpbnQ+IHsgMSB9KTsKICAgICAgICAgICAgbHN0LkFkZChuZXcgTGlzdDxpbnQ+IHsgMyB9KTsKCiAgICAgICAgICAgIHZhciBuZXdMaXN0ID0gbHN0Lkdyb3VwQnkoeCA9PiB4LCBuZXcgQ29tcGFyZSgpKS5XaGVyZSh4ID0+IHguQ291bnQoKSA9PSAxKS5TZWxlY3RNYW55KHggPT4geCk7CgogICAgICAgICAgICBmb3JlYWNoICh2YXIgeCBpbiBuZXdMaXN0KQogICAgICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoc3RyaW5nLkpvaW4oIiAiLCB4KSk7Cgl9CgkKfQogICAgcHVibGljIGNsYXNzIENvbXBhcmUgOiBJRXF1YWxpdHlDb21wYXJlcjxMaXN0PGludD4+CiAgICB7CiAgICAgICAgcHVibGljIGJvb2wgRXF1YWxzKExpc3Q8aW50PiB4LCBMaXN0PGludD4geSkKICAgICAgICB7CiAgICAgICAgICAgIGlmICh4LkNvdW50ICE9IHkuQ291bnQpIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgaW50IG4gPSB4LkNvdW50OwogICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykKICAgICAgICAgICAgICAgIGlmICh4W2ldICE9IHlbaV0pCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwoKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgICAgIHB1YmxpYyBpbnQgR2V0SGFzaENvZGUoTGlzdDxpbnQ+IHgpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CiAgICB9