#include <bits/stdc++.h>
using namespace std;
int distancia[2][1000000];
vector<char> adyacencia[2];
int k, n;
bool meta = false;
void bfs(pair<int, int> datos) {
  queue<pair<int, int>> cola;
  distancia[datos.first][datos.second] = 0;
  pair<int, int> aux;
  pair<int, int> aux2;
  cola.push(datos);
  while (!cola.empty() and meta == false) {
    aux = cola.front();
    cola.pop();
    if ((aux.second - 1) > (distancia[aux.first][aux.second])) {
      if (adyacencia[aux.first][aux.second - 1] != 'X') {
        if (distancia[aux.first][aux.second - 1] == -1) {
          aux2 = aux;
          aux2.second--;
          cola.push(aux2);
          distancia[aux2.first][aux2.second] =
              distancia[aux.first][aux.second] + 1;
        }
      }
    }
    if ((aux.second + 1) < n) {
      if (adyacencia[aux.first][aux.second + 1] != 'X') {
        if (distancia[aux.first][aux.second + 1] == -1) {
          aux2.first = aux.first;
          aux2.second = aux.second + 1;
          if (aux2.second == (n - 1))
            meta = true;
          else
            cola.push(aux2);
          distancia[aux2.first][aux2.second] =
              distancia[aux.first][aux.second] + 1;
        }
      }
    } else
      meta = true;
    if ((aux.second + k) < n) {
      if (adyacencia[1 - aux.first][aux.second + k] != 'X' and meta == false) {
        if (distancia[1 - aux.first][aux.second + k] == -1) {
          aux2.first = 1 - aux.first;
          aux2.second = aux.second + k;
          if (aux2.second == (n - 1))
            meta = true;
          else
            cola.push(aux2);
          distancia[aux2.first][aux2.second] =
              distancia[aux.first][aux.second] + 1;
        }
      }
    } else
      meta = true;
  }
}
int main() {
  char caracter;
  cin >> n >> k;
  memset(distancia, -1, sizeof(distancia));
  for (int i = 0; i < n; i++) {
    cin >> caracter;
    adyacencia[0].push_back(caracter);
  }
  for (int i = 0; i < n; i++) {
    cin >> caracter;
    adyacencia[1].push_back(caracter);
  }
  pair<int, int> inicio;
  inicio.first = 0;
  inicio.second = 0;
  bfs(inicio);
  if (meta == true)
    cout << "YES";
  else
    cout << "NO";
  return 0;
}
