#include<bits/stdc++.h>
using namespace std;
map<string,int>ma;
map<string,string>father;
string find(string x) {
if(x==father[x])
{
return x;
}
else
{
father[x]=find(father[x]);
if(isdigit(x[0]))
{
ma[father[x]]=stoi(x);
}
return father[x];
}
}
void unionn(string x,string y)
{
father[find(x)]=find(y);
}
int n;
string a[(int)5e4+5],b[(int)5e4+5];
int main() {
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=n;i++)
{
cin>>b[i];
}
for(int i=1;i<=n;i++)
{
father[a[i]]=a[i];
father[b[i]]=b[i];
}
for(int i=1;i<=n;i++)
{
ma[find(a[i])]=ma[find(b[i])]=1001;
if(a[i]==b[i])
{
continue;
}
if(isdigit(a[i][0]))
{
if(isdigit(b[i][0]))
{
int x=stoi(a[i]);
int y=stoi(b[i]);
if(x!=y)
{
cout<<"NE";
return 0;
}
else
{
unionn(a[i],b[i]);
}
}
else
{
if(!ma.count(find(b[i])))
{
unionn(a[i],b[i]);
ma[find(b[i])]=stoi(a[i]);
}
else if(ma.count(find(b[i]))&&ma[find(b[i])]==stoi(a[i]))
{
unionn(a[i],b[i]);
}
else if(ma.count(find(b[i]))&&ma[find(b[i])]==1001)
{
ma[find(b[i])]=stoi(a[i]);
}
else if(ma.count(find(b[i]))&&ma[find(b[i])]!=stoi(a[i])&&ma[find(b[i])]!=1001)
{
cout<<"NE";
return 0;
}
ma[find(b[i])]=stoi(a[i]);
}
}
else
{
if(isdigit(b[i][0]))
{
if(!ma.count(find(a[i]))&&ma[find(a[i])]!=1001)
{
unionn(a[i],b[i]);
ma[find(a[i])]=stoi(b[i]);
}
else if(ma.count(find(a[i]))&&ma[find(a[i])]==stoi(b[i]))
{
unionn(a[i],b[i]);
}
else if(ma.count(find(a[i]))&&ma[find(a[i])]==1001)
{
unionn(a[i],b[i]);
ma[find(a[i])]=stoi(b[i]);
}
else if(ma.count(find(a[i]))&&ma[find(a[i])]!=stoi(b[i])&&ma[find(a[i])]!=1001)
{
cout<<"NE";
return 0;
}
ma[find(a[i])]=stoi(b[i]);
}
else
{
if(ma.count(find(a[i]))&&ma.count(find(b[i]))&&ma[find(a[i])]!=ma[find(b[i])])
{
cout<<"NE";
return 0;
}
else if(ma.count(a[i])&&ma.count(b[i])&&ma[find(a[i])]==1001&&ma[find(b[i])]==1001)
{
unionn(a[i],b[i]);
}
else if(!ma.count(find(a[i]))&&ma.count(find(b[i])))
{
unionn(a[i],b[i]);
ma[find(a[i])]=ma[find(b[i])];
}
else if(!ma.count(find(b[i]))&&ma.count(find(a[i])))
{
unionn(a[i],b[i]);
ma[find(b[i])]=ma[find(a[i])];
}
else if(!ma.count(find(a[i]))&&!ma.count(find(b[i])))
{
unionn(a[i],b[i]);
}
}
}
}
for(int i=1;i<=n;i++)
{
int x=ma[find(a[i])];
int y=ma[find(b[i])];
if(x!=y&&ma[find(a[i])]!=1001&&ma[find(b[i])]!=1001)
{
cout<<"NE";
return 0;
}
}
cout<<"DA";
}