#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <limits.h>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <algorithm>
#include <string>
#include <functional>
#include <vector>
#include <numeric>
#include <deque>
#include <utility>
#include <bitset>
#include <iostream>
using namespace std;
typedef long long lint;
typedef long double llf;
typedef pair<int, int> pi;
const int oo = 1e9;

int n, m;
char s1[15][15];
char s2[15][15];

bool equal(vector<pi> &v1, vector<pi> &v2){
	if(v1.size() != v2.size()) return 0;
	int minx = 1e9, miny = 1e9;
	int minx2 = 1e9, miny2 = 1e9;
	sort(v1.begin(), v1.end());
	sort(v2.begin(), v2.end());
	for(int i=0; i<v1.size(); i++){
		minx = min(minx, v1[i].first);
		miny = min(miny, v1[i].second);
	}
	for(int j=0; j<v2.size(); j++){
		minx2 = min(minx2, v2[j].first);
		miny2 = min(miny2, v2[j].second);
	}
	for(int i=0; i<v1.size(); i++){
		if(v1[i].first - minx != v2[i].first - minx2){
			return 0;
		}
		if(v1[i].second - miny != v2[i].second - miny2){
			return 0;
		}
	}
	return 1;
}

void rotate(vector<pi> &v){
	for(int i=0; i<v.size(); i++){
		v[i] = pi(v[i].second, -v[i].first);
	}
}

int main(){
    FILE *in = fopen("/var/www/bbs/prob/1431/input.txt", "r");
    FILE *in2 = fopen("/var/www/bbs/prob/1431/output.txt", "w");
	fscanf(in, "%d%d", &n, &m);
	for(int i=0; i<n; i++){
		fscanf(in, "%s", s1[i]);
	}
	for(int i=0; i<n; i++){
        fscanf(in2, "%s", s2[i]);
	}
	for(int i=0; i<n; i++){
		for(int j=0; j<m; j++){
			if(!(s2[i][j] <= 'z' && s2[i][j] >= 'a') && s2[i][j] != '.'){
				puts("0");
				return 1;
			}
		}
	}
	for(int i='a'; i<='z'; i++){
		vector<pi> p1, p2;
		for(int j=0; j<n; j++){
			for(int k=0; k<m; k++){
				if(s1[j][k] == i){
					p1.push_back(pi(j, k));
				}
				if(s2[j][k] == i){
					p2.push_back(pi(j, k));
				}
			}
		}
		bool ok = 0;
		for(int i=0; i<p2.size(); i++){
			p2[i].second = -p2[i].second;
		}
		for(int i=0; i<4; i++){
			if(equal(p1, p2)) ok = 1;
			rotate(p2);
		}
		if(!ok){
			puts("0");
			return 0;
		}
	}
	puts("1");
	// get input file

}
