#include <bits/stdc++.h>
using namespace std;
const int maxn = 100004;
int v[maxn][2];
int w, n, k;
char a[maxn];
char c[maxn];
int dfs(int i, int b) {
  if (i > n) {
    cout << "YES";
    exit(0);
  }
  if (i < w) return 0;
  if (b) {
    if (c[i] == 'X') return 0;
  } else {
    if (a[i] == 'X') return 0;
  }
  if (v[i][b]) return 0;
  v[i][b] = 1;
  w++;
  dfs(i - 1, b);
  dfs(i + k, !b);
  dfs(i + 1, b);
  w--;
}
int main() {
  cin >> n >> k;
  cin >> a;
  cin >> c;
  dfs(0, 0);
  cout << "NO";
  return 0;
}
