E - Shuffle the Pattern Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

問題文

#. からなる HW 列の図形 S,T が与えられます。
図形 SH 個の文字列 S _ 1,S _ 2,\ldots,S _ H として与えられ、 S _ ij 文字目は Sij 列にある要素を表します。 T についても同様です。

S を行ごとに並べ替えて T と等しくできるか判定してください。

ただし、図形 X を行ごとに並べ替えるとは、以下の操作を言います。

  • i=1,2,\ldots,H のそれぞれについて、独立に次の操作を行う。
    • (1,2,\ldots,W) の順列 P=(P _ 1,P _ 2,\ldots,P _ W) をひとつ選択する。
    • 1 \leq j \leq W を満たす全ての整数 j について同時に、 Xij 列にある要素を iP_j 列にある要素に置き換える。

異なる i に対して異なる順列 P を選んでもよいことに注意してください。

制約

  • H,W は整数
  • 1 \leq H,W
  • 1 \leq H \times W \leq 4 \times 10 ^ 5
  • S _ i,T _ i#. からなる長さ W の文字列

入力

入力は以下の形式で標準入力から与えられる。

H W
S_1
S_2
\vdots
S_H
T_1
T_2
\vdots
T_H

出力

ST と等しくできるなら Yes 、 そうでないなら No と出力せよ。


入力例 1

3 4
##.#
##..
.#..
###.
#..#
...#

出力例 1

Yes

例えば i=1,2,3 について P としてそれぞれ (4,2,1,3),(1,3,4,2),(4,1,3,2) を選ぶと、 ST と等しくできます。


入力例 2

3 4
#...
#..#
.###
..##
#..#
##..

出力例 2

No

入力例 3

2 1
#
.
#
.

出力例 3

Yes

S=T である場合もあります。


入力例 4

8 7
..#.#.#
..#....
#.#....
..#.#.#
..#..#.
..#...#
..#....
#.#....
##.#...
...#...
#..#...
..#..##
...#.#.
....#.#
......#
#....#.

出力例 4

Yes

Problem Statement

You are given figures S and T with H rows and W columns consisting of # and ..
The figure S is given as H strings S _ 1,S _ 2,\ldots,S _ H; the j-th character of S _ i represents the element at the i-th row and j-th column of S. The figure T is given similarly.

Determine whether one can rearrange each row of S to make S equal T.

Here, rearranging each row of a figure X is the following operation.

  • For each i=1,2,\ldots,H, perform the following procedure independently.
    • Choose a permutation P=(P _ 1,P _ 2,\ldots,P _ W) of (1,2,\ldots,W).
    • For all integers j such that 1 \leq j \leq W, simultaneously replace the element at the i-th row and j-th column of X with the one at the i-th row and P_j-th column.

Note that you may choose different permutations P for different i.

Constraints

  • H and W are integers.
  • 1 \leq H,W
  • 1 \leq H \times W \leq 4 \times 10 ^ 5
  • S_i and T_i are strings of length W consisting of # and ..

Input

The input is given from Standard Input in the following format:

H W
S_1
S_2
\vdots
S_H
T_1
T_2
\vdots
T_H

Output

Print Yes if one can make S equal T; print No otherwise.


Sample Input 1

3 4
##.#
##..
.#..
###.
#..#
...#

Sample Output 1

Yes

For example, if you choose (4,2,1,3),(1,3,4,2),(4,1,3,2) for i=1,2,3, respectively, you can make S equal T.


Sample Input 2

3 4
#...
#..#
.###
..##
#..#
##..

Sample Output 2

No

Sample Input 3

2 1
#
.
#
.

Sample Output 3

Yes

S=T may hold.


Sample Input 4

8 7
..#.#.#
..#....
#.#....
..#.#.#
..#..#.
..#...#
..#....
#.#....
##.#...
...#...
#..#...
..#..##
...#.#.
....#.#
......#
#....#.

Sample Output 4

Yes