Problem:
Problem A: Password

太郎君は、自分のパソコンを持っていて、ログイン時のパスワードを設定していた。しかし、不注意にも太郎君はそのパスワードを忘れてしまった。そこで、パスワードをメモした紙があることを思い出し、紙を見つけた太郎君はそれを見て驚いた。なんと紙は切れていて断片しか存在せず、ところどころに汚れがあり、読めなくなっていたのだ。太郎君はそのメモを参考にパスワードを推測することにした。

Problem

二つの文字列A, Bが与えられる。文字列Aの中に文字列Bが含まれているかどうかを判定し、含まれている場合は"Yes"を、そうでなければ"No"を出力せよ。
文字列Aにはアルファベットの大文字のみが含まれており、文字列Bにはアルファベットの大文字に加えて、'_'(半角アンダーバー)が含まれている。半角アンダーバーは任意の１文字を表す。

Input

文字列 A

文字列 B

Constraints

A,Bの文字列の長さはどちらも1文字以上1000文字以下である。

Bの文字列の長さがAの文字列の長さを超えることはない。

Output

"Yes"または"No"を1行で出力せよ。

Sample Input 1

ABCDE
ABC

Sample Output 1

Yes

Sample Input 2

KUSATSU
KSATSU

Sample Output 2

No

Sample Input 3

ABCABC
ACBA_B

Sample Output 3

No

Sample Input 4

RUPCUAPC
__PC

Sample Output 4

Yes

Sample Input 5

AIZU
_A

Sample Output 5

No

Solution in Ruby (judge verdict: Accepted)

input = readlines
a, b = input[0].chomp, input[1].chomp
#puts a.match?(Regexp.new(b.gsub(/_/, '[A-Z]'))) ? 'Yes' : 'No'
#--------
a_len = a.length
b_len = b.length
match = false
(a_len - b_len + 1).times do |i|
  substr = a[i, b_len]
  match_count = substr.chars.each_with_index.inject(0) do |sum, (ac, i)|
    break sum unless b[i] == '_' || ac == b[i]
    sum += 1
  end
  if match_count == b_len
    match = true
    break
  end
end
puts match ? 'Yes' : 'No'