#include <bits/stdc++.h>
using namespace std;
int n, k, w;
string str[2];
int vis[2][1000005];
int dfs(int x, int y) {
  if (y < 0) return 0;
  if (y >= n) return 1;
  if (str[x][y] == 'X' || y < w || vis[x][y]) return 0;
  vis[x][y] = 1;
  w++;
  int flag = 0;
  if (dfs(x, y - 1)) flag = 1;
  if (dfs(1 - x, y + k)) flag = 1;
  if (dfs(x, y + 1)) flag = 1;
  w--;
  return flag;
}
int main() {
  scanf("%d %d", &n, &k);
  cin >> str[0];
  cin >> str[1];
  w = 0;
  if (dfs(0, 0))
    puts("YES");
  else
    puts("NO");
  return 0;
}
