#include <bits/stdc++.h>
using namespace std;
int n, k, q1, q2, x, y, l, f[2][111111], qx[333333], qy[333333], ql[333333];
char a[2][111111];
string ans = "NO";
void add(int x, int y, int l) {
  if (y >= n) ans = "YES";
  if (y >= n || a[x][y] == 'X' || f[x][y] || l > y) return;
  f[x][y] = 1;
  qx[q1] = x;
  qy[q1] = y;
  ql[q1++] = l;
}
int main() {
  scanf("%d%d\n", &n, &k);
  gets(a[0]);
  gets(a[1]);
  add(0, 0, 0);
  while (q1 != q2) {
    x = qx[q2];
    y = qy[q2];
    l = ql[q2++];
    add(x, y + 1, l + 1);
    add(x, y - 1, l + 1);
    add(x ^ 1, y + k, l + 1);
  }
  cout << (ans) << endl;
  return 0;
}
