#include<bits/stdc++.h>
using namespace std;
#define N 1005
int n,m,tim,vis[N],f[N][N][2],u[N*N],v[N*N];
struct st{int to,id;};
vector<st>g[N];
void dfs(int x,int p,int b,int k)
{
	vis[x]=tim;f[p][x][k]=b;
	for(int i=0;i<g[x].size();i++)if(vis[g[x][i].to]!=tim)dfs(g[x][i].to,p,b,k);
}
void sol(int x)
{
	tim++;vis[x]=tim;
	for(int i=0;i<g[x].size();i++)if(vis[g[x][i].to]!=tim)dfs(g[x][i].to,x,g[x][i].id,0);
	reverse(g[x].begin(),g[x].end());
	tim++;vis[x]=tim;
	for(int i=0;i<g[x].size();i++)if(vis[g[x][i].to]!=tim)dfs(g[x][i].to,x,g[x][i].id,1);
}
int main()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=m;i++){scanf("%d%d",&u[i],&v[i]);g[u[i]].push_back((st){v[i],i});}
	for(int i=1;i<=n;i++)sol(i);
	for(int i=1;i<=m;i++)if((f[v[i]][u[i]][0]!=0)^(f[u[i]][v[i]][0]!=i||f[u[i]][v[i]][1]!=i))puts("diff");else puts("same");
	return 0;
}