#include <bits/stdc++.h>
template <class T>
inline int size(const T& t) {
  return t.size();
}
using namespace std;
int N, s;
int tab[2000][2];
int main() {
  scanf("%d%d", &N, &s);
  for (int a = 0; a < (N); ++a) scanf("%d", &tab[a][0]);
  for (int a = 0; a < (N); ++a) scanf("%d", &tab[a][1]);
  --s;
  bool zas = 0;
  for (int a = (s + 1); a <= (N - 1); ++a)
    if (tab[a][0] && tab[a][1]) zas = 1;
  printf("%s\n",
         (tab[0][0] && (tab[s][0] || (tab[s][1] && zas))) ? "YES" : "NO");
}
