using System;
using System.Linq;
using System.Collections.Generic;
public class Test
{
public static void Main()
{
var foulWords = new List<string>(){"cat", "dog", "mouse", "Nice animal"};
var phrases = new List<string>(){"A cat is good", "a dog is bad", "cat and dog are good", "Nice animal", "Hello", "Hello mouse", "This is bad"};
int contains = phrases.Count(p => foulWords.Any(fw => p.Contains(fw)));
Console.WriteLine("Phrases contain Foulwords {0} times", contains);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CiAgICAgICAgdmFyIGZvdWxXb3JkcyA9IG5ldyBMaXN0PHN0cmluZz4oKXsiY2F0IiwgImRvZyIsICJtb3VzZSIsICJOaWNlIGFuaW1hbCJ9OwogICAgICAgIHZhciBwaHJhc2VzID0gbmV3IExpc3Q8c3RyaW5nPigpeyJBIGNhdCBpcyBnb29kIiwgImEgZG9nIGlzIGJhZCIsICJjYXQgYW5kIGRvZyBhcmUgZ29vZCIsICJOaWNlIGFuaW1hbCIsICJIZWxsbyIsICJIZWxsbyBtb3VzZSIsICJUaGlzIGlzIGJhZCJ9OwogICAgICAgIGludCBjb250YWlucyA9IHBocmFzZXMuQ291bnQocCA9PiBmb3VsV29yZHMuQW55KGZ3ID0+IHAuQ29udGFpbnMoZncpKSk7CiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIlBocmFzZXMgY29udGFpbiBGb3Vsd29yZHMgezB9IHRpbWVzIiwgY29udGFpbnMpOwoJfQp9