output_description: If T satisfies the property in Problem Statement, print `Yes`; otherwise,
  print `No`.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      S
      T
attempt: n, m, k = map(int, input().split())
  mod = 998244353
  if m == 1:
      print(0 if k != n - 1 else 1)
      exit()
  fact = [1] * (n - 1 + 1)
  inv = [1] * (n - 1 + 1)
  for i in range(2, n - 1 + 1):
      fact[i] = i * fact[i - 1] % mod
  inv[-1] = pow(fact[-1], mod - 2, mod)
  for i in range(n - 1, 1, -1):
      inv[i - 1] = inv[i] * i % mod
  ans = 0
  po = pow(m - 1, n - 1, mod) * m % mod
  ue = fact[n - 1]
  iii = pow(m - 1, mod - 2, mod) % mod
  for i in range(k + 1):
      ans += ue * inv[n - 1 - i] % mod * inv[i] % mod * po % mod
      po *= iii
  print(ans % mod)
  
problem_description: Statement
  
  Takahashi wants to be a member of some web service.
  
  He tried to register himself with the ID S, which turned out to be already
  used by another user.
  
  Thus, he decides to register using a string obtained by appending one
  character at the end of S as his ID.
  
  He is now trying to register with the ID T. Determine whether this string
  satisfies the property above.
samples: [{"input": "chokudai\n    chokudaiz", "output": "Yes\n    \n\n`chokudaiz` can be obtained by appending `z` at the end of `chokudai`.\n\n* * *"}, {"input": "snuke\n    snekee", "output": "No\n    \n\n`snekee` cannot be obtained by appending one character at the end of `snuke`.\n\n* * *"}, {"input": "a\n    aa", "output": "Yes"}]