### Problem Statement

Little Teddy and Little Tracy are now learning how to speak words. Their mother, of course, doesn't want them to speak bad words. According to her definition, a word W is bad if at least one of the following conditions hold (see the notes section for definitions):

• W contains the string badPrefix as a prefix.
• W contains the string badSuffix as a suffix.
• W contains the string badSubstring as a contiguous substring that is neither a prefix nor a suffix of W.

You are given a String[] vocabulary representing the words that Teddy and Tracy are going to learn. Return the number of bad words in vocabulary.

### Definition

 Class: BadVocabulary Method: count Parameters: String, String, String, String[] Returns: int Method signature: int count(String badPrefix, String badSuffix, String badSubstring, String[] vocabulary) (be sure your method is public)

### Notes

-A prefix of a string is obtained by removing zero or more contiguous characters from the end of the string.
-A suffix of a string is obtained by removing zero or more contiguous characters from the beginning of the string.

### Constraints

-vocabulary will contain between 1 and 50 elements, inclusive.
-Each element vocabulary will contain between 1 and 50 characters, inclusive.
-Each character in vocabulary will be between 'a' and 'z', inclusive.
-All elements of vocabulary will be distinct.

### Examples

0)

 `"bug"` `"bug"` `"bug"` `{"buggy", "debugger", "debug"}`
`Returns: 3`
1)

 `"a"` `"b"` `"c"` `{"a", "b", "tco"}`
`Returns: 3`
 "a" is a prefix of "a". "b" is a suffix of "b". "c" is a substring of "tco". So, all words in vocabulary are bad.
2)

 `"cut"` `"sore"` `"scar"` `{"scary", "oscar"}`
`Returns: 0`
 Although "scar" is a substring of "scary", it is also a prefix. Thus, "scary" is not a bad word. Similarly, as "scar" is a suffix of "oscar", "oscar" is not a bad word.
3)

 `"bar"` `"else"` `"foo"` `{"foofoofoo", "foobar", "elsewhere"}`
`Returns: 1`
 Only the word "foofoofoo" is bad.
4)

 `"pre"` `"s"` `"all"` `{"all", "coders", "be", "prepared", "for", "the", "challenge", "phase"}`
`Returns: 3`

#### Problem url:

http://www.topcoder.com/stat?c=problem_statement&pm=11190

#### Problem stats url:

http://www.topcoder.com/tc?module=ProblemDetail&rd=14242&pm=11190

fushar

#### Testers:

liympanda , eleusive , ivan_metelsky , vexorian , rng_58

#### Problem categories:

Simple Search, Iteration