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 | 
| - | badPrefix, badSuffix, and badSubstring will each contain between 1 and 50 characters, inclusive. | 
| - | vocabulary will contain between 1 and 50 elements, inclusive. | 
| - | Each element vocabulary will contain between 1 and 50 characters, inclusive. | 
| - | Each character of badPrefix, badSuffix, and badSubstring will be between 'a' and 'z', 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  |   |  
  |