public static void Main()
Func<string[], string[], int> f=(n,h)=>n.Min(c=>h.Count(x=>x==c));
Console.WriteLine(f(new[]{"apple", "banana"}, new[]{"apple", "pear", "apple", "banana", "banana"}) == 2);
Console.WriteLine(f(new[]{"apple", "banana"}, new[]{"apple", "pear", "apple", "banana", "apple"}) == 1);
Console.WriteLine(f(new[]{"apple", "banana", "pear"}, new[]{"apple", "banana", "kiwi", "apple"}) == 0);
Console.WriteLine(f(new[]{"apple"}, new string[0]) == 0);