Wildcard

Problem Description
When specifying file names (or paths) in DOS, Microsoft Windows and Unix-like operating systems, the asterisk character (“*") substitutes for any zero or more characters, and the question mark (“?") substitutes for any one character.
Now give you a text and a pattern, you should judge whether the pattern matches the text or not.

Input
There are several cases. For each case, only two lines. The first line contains a text, which contains only lower letters. The last line contains a pattern, which consists of lower letters and the two wildcards (“*", "?").
The text is a non-empty string and its size is less than 100,000, so do the pattern.

We ensure the number of “?” and the number of “*” in the pattern are both no more than 10.

Output
Output “YES” if the pattern matches the text, otherwise “NO”.

Sample Input
abcdef
a*c*f

Sample Output
YES

https://www.baidu.com/link?url=XFEYMhAXTuI6qDUFg1nnBJn_4tcM4DXF2k07V8NgATYOv7HI8ejFfjkiTk3eKkviJY_58YP-ESM7J_oxJ0Gbrk1XrGERzCEHsq7emuix4TevEbE_t-5a3E4BwI79lZo9&wd=&eqid=8ac3b1de0002519e00000005597c8dc5