#include <fstream>
using namespace std;
int vec[250000];
ifstream fin("paritar.in");
ofstream fout("paritar.out");
int minim[2] = {1, 2000000000};
int main(){
int n, x;
fin >> n;
for(int i = 0; i < n; i++)
fin >> vec[i];
for(int i = 0; i < n; i++){
fin >> x;
if(x < minim[x % 2])
minim[x%2] = x;
}
fin.close();
bool paritar = true;
for(int i = 0; i < n && paritar; i++){
paritar &= (minim[vec[i]%2] != 1 || vec[i] < minim[(vec[i] + 1)%2]);
}
fout << (paritar ? "DA" : "NU");
fout.close();
}