#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 10;
int n, k;
string s[3];
int mark[3][maxn];
void dfs(int v, int w, int b) {
  if (v > n - 1) {
    cout << "YES";
    exit(0);
  }
  if (w >= v or v < 0 or mark[b][v] or s[b][v] == 'X') return;
  mark[b][v] = 1;
  dfs(v + k, w + 1, 3 - b);
  dfs(v + 1, w + 1, b);
  if (v > 0) {
    dfs(v - 1, w + 1, b);
  }
}
int main() {
  cin >> n >> k;
  cin >> s[1] >> s[2];
  dfs(0, -1, 1);
  cout << "NO" << endl;
}
