P8678 [AtCoder] AtCoder Grand Contest 019 - Shuffle and Swap
NOI
题目描述

You have two strings A = A_1 A_2 ... A_n and B = B_1 B_2 ... B_n of the same length consisting of 0 and 1. The number of 1's in A and B is equal.

You've decided to transform A using the following algorithm:

  • Let a_1, a_2, ..., a_k be the indices of 1's in A.
  • Let b_1, b_2, ..., b_k be the indices of 1's in B.
  • Replace a and b with their random permutations, chosen independently and uniformly.
  • For each i from 1 to k, in order, swap A_{a_i} and A_{b_i}.

Let P be the probability that strings A and B become equal after the procedure above.

Let $Z = P \times (k$!)^2. Clearly, Z is an integer.

Find Z modulo 998244353.

Constraints

  • $1 \leq |A| = |B| \leq 10,000$
  • A and B consist of 0 and 1.
  • A and B contain the same number of 1's.
  • A and B contain at least one 1.

Input

Input is given from Standard Input in the following format:

A
B

Output

Print the value of Z modulo 998244353.

Examples

Input

1010
1100

Output

3

Input

01001
01001

Output

4

Input

101010
010101

Output

36

Input

1101011011110
0111101011101

Output

932171449

输入格式

见题面

输出格式

见题面

样例输入
01001 01001
样例输出
4