#include <bits/stdc++.h>
using namespace std;
const long double PI = 3.1415926535897932384626433832795;
const long double EPS = 1e-11;
int n, k;
bool b[100100][2];
int d[100100][2];
char c;
void dfs() {
  queue<pair<pair<int, int>, int> > q;
  for (int i = 0; i < (100100); i++) {
    d[i][0] = 999999999;
    d[i][1] = d[i][0];
  }
  d[0][0] = 0;
  q.push(make_pair(make_pair(0, 0), 0));
  pair<pair<int, int>, int> p;
  while (!q.empty()) {
    p = q.front();
    q.pop();
    if ((p.first.first + 1 < n) && (!b[p.first.first + 1][p.first.second]) &&
        (d[p.first.first + 1][p.first.second] >
         d[p.first.first][p.first.second] + 1)) {
      q.push(make_pair(make_pair(p.first.first + 1, p.first.second),
                       p.second + 1));
      d[p.first.first + 1][p.first.second] =
          d[p.first.first][p.first.second] + 1;
    }
    if ((p.first.first - 1 >= 0) && (!b[p.first.first - 1][p.first.second]) &&
        (p.second < p.first.first - 1) &&
        (d[p.first.first - 1][p.first.second] >
         d[p.first.first][p.first.second] + 1)) {
      q.push(make_pair(make_pair(p.first.first - 1, p.first.second),
                       p.second + 1));
      d[p.first.first - 1][p.first.second] =
          d[p.first.first][p.first.second] + 1;
    }
    if ((p.first.first + k < n) && (!b[p.first.first + k][!p.first.second]) &&
        (d[p.first.first + k][!p.first.second] >
         d[p.first.first][p.first.second] + 1)) {
      q.push(make_pair(make_pair(p.first.first + k, !p.first.second),
                       p.second + 1));
      d[p.first.first + k][!p.first.second] =
          d[p.first.first][p.first.second] + 1;
    }
  }
}
int main() {
  cout << setiosflags(ios::fixed) << setprecision(10);
  cin >> n >> k;
  for (int i = 0; i < (n); i++) {
    cin >> c;
    if (c == 'X') b[i][0] = 1;
  }
  for (int i = 0; i < (n); i++) {
    cin >> c;
    if (c == 'X') b[i][1] = 1;
  }
  dfs();
  for (int i = 0; i < (k); i++) {
    if ((d[n - i - 1][0] < 999999999) || (d[n - i - 1][1] < 999999999)) {
      cout << "YES";
      return 0;
    }
  }
  cout << "NO";
  return 0;
}
