Consider strings constructed from the letters 'A', 'B', and 'C'. You will be given an integer N and two forbidden substrings, bad1 and bad2. You are to calculate the number of strings of length N that do not contain either substring. Note that a substring need not be shorter than the string in which it is contained (e.g., "AB" is a substring of "AB").
|-||N is between 1 and 39, inclusive.|
|-||bad1 contains between 1 and 39 characters, inclusive.|
|-||bad2 contains between 1 and 39 characters, inclusive.|
|-||Each character in bad1 is 'A', 'B', or 'C'.|
|-||Each character in bad2 is 'A', 'B', or 'C'.|