using System;
using System.Linq;
using System.Collections.Generic;
public class Test
{
public static void Main()
{
var a = new List<string>{"A","A", "B", "C"};
var b = new List<string>{"A", "B"};
var res = a.Select(e => new {Key=e, Val=1})
.Concat(b.Select(e => new {Key=e, Val=-1}))
.GroupBy(e => e.Key, e => e.Val)
.SelectMany(g => Enumerable.Repeat(g.Key, Math.Max(0, g.Sum())))
.ToList();
foreach (var e in res) {
Console.WriteLine(e);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CiAgICAgICAgdmFyIGEgPSBuZXcgTGlzdDxzdHJpbmc+eyJBIiwiQSIsICJCIiwgIkMifTsKICAgIAl2YXIgYiA9IG5ldyBMaXN0PHN0cmluZz57IkEiLCAiQiJ9OwogICAgICAgIHZhciByZXMgID0gIGEuU2VsZWN0KGUgPT4gbmV3IHtLZXk9ZSwgVmFsPTF9KQogICAgICAgICAgICAuQ29uY2F0KGIuU2VsZWN0KGUgPT4gbmV3IHtLZXk9ZSwgVmFsPS0xfSkpCiAgICAgICAgICAgIC5Hcm91cEJ5KGUgPT4gZS5LZXksIGUgPT4gZS5WYWwpCiAgICAgICAgICAgIC5TZWxlY3RNYW55KGcgPT4gRW51bWVyYWJsZS5SZXBlYXQoZy5LZXksIE1hdGguTWF4KDAsIGcuU3VtKCkpKSkKICAgICAgICAgICAgLlRvTGlzdCgpOwogICAgICAgIGZvcmVhY2ggKHZhciBlIGluIHJlcykgewogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShlKTsKICAgICAgICB9Cgl9Cn0=