#include<bits/stdc++.h>
#define int long long
using namespace std;
struct bian
{
int to,nxt;
}b[400005];
int dian[200005],tot;
int n,p,du[200005],sig[200005],dis1[200005],dis2[200005];
queue<int>q;
bool bok[200005];
void add(int x,int y)
{
b[++tot].nxt=dian[x];
b[tot].to=y;
dian[x]=tot;
du[x]++;
}
void dfs1(int x,int fa,int rot,int dis)
{
sig[x]=rot;
for(int i=dian[x];i;i=b[i].nxt)
{
int v=b[i].to;
if(v==fa||!bok[v])continue;
dis1[v]=dis+1;
dfs1(v,x,rot,dis+1);
}
}
void dfs2(int x,int fa,int rot,int dis)
{
dis2[x]=dis;
for(int i=dian[x];i;i=b[i].nxt)
{
int v=b[i].to;
if(v==fa||v==rot)continue;
dfs2(v,x,rot,dis+1);
}
}
signed main()
{
cin>>n>>p;
for(int i=1;i<=n;i++)
{
int x,y;
scanf("%lld%lld",&x,&y);
add(x,y);
add(y,x);
}
for(int i=1;i<=n;i++){
if(du[i]==1)q.push(i);
}
while(!q.empty())
{
int t=q.front();
q.pop();
if(bok[t])continue;
bok[t]=true;
for(int i=dian[t];i;i=b[i].nxt)
{
int c=b[i].to;
du[c]--;
if(du[c]==1)q.push(c);
}
}
int all=0;
for(int i=1;i<=n;i++)
{
if(!bok[i])dfs1(i,0,i,0),all++;
}
for(int i=1;i<=n;i++)
{
if(!bok[i])
{
dfs2(i,0,i,1);
break;
}
}
for(int i=1;i<=p;i++)
{
int x,y;
scanf("%lld%lld",&x,&y);
if(sig[x]==sig[y])
{
if(dis1[x]>=dis1[y])cout<<"Deception11"<<endl;
else cout<<"Survive"<<endl;
}
else
{
int t1=abs(dis2[sig[x]]-dis2[sig[y]]);
int t2=t1>all-t1?all-t1:t1;
if(t2+dis1[y]<=dis1[x])cout<<"Deception"<<endl;
else cout<<"Survive"<<endl;
}
}
return 0;
}