#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<queue>
#include<vector>
#include<bitset>
using namespace std;
typedef long long ll;
#define N 600006
vector<int>v[2002];
int n,m,a[N][2],id[2002][2002],id1[2002],id2[2002];
bool vis[2002],to[2002][2002],ao[2002][2002];
void df5(int anc,int te)
{
    for(int i=0;i<v[te].size();i++)
    {
        int j=v[te][i];to[anc][j]=1;
        if(!vis[j])
        {
            vis[j]=1;df5(anc,j);
        }
    }
}
void dfs(int anc,int te,int wh)
{
    for(int i=0;i<v[te].size();i++)
    {
        int j=v[te][i];if(te==anc)wh=i+1;
        if(!vis[j])
        {
        if(id1[j]&&id1[j]!=wh)ao[anc][j]=1;id1[j]=wh;
            vis[j]=1;dfs(anc,j,wh);
        }
    }
}
void dfss(int anc,int te,int wh)
{
    for(int i=((int)v[te].size())-1;~i;i--)
    {
        int j=v[te][i];if(te==anc)wh=i+1;
        if(!vis[j])
        {
        if(id1[j]&&id1[j]!=wh)ao[anc][j]=1;id1[j]=wh;
            vis[j]=1;dfss(anc,j,wh);
        }
    }
}
int main()
{
    scanf("%d%d",&n,&m);
    for(int i=1;i<=m;i++)
    {
        int x,y;scanf("%d%d",&x,&y);
        v[x].push_back(y);a[i][0]=x,a[i][1]=y,id[x][y]=i;
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)vis[j]=0;vis[i]=1;
        df5(i,i);
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)vis[j]=id1[j]=id2[j]=0;
        vis[i]=1;dfs(i,i,0);
        for(int j=1;j<=n;j++)vis[j]=0;
        vis[i]=1;dfss(i,i,0);
    }
    for(int i=1;i<=m;i++)
    {
        if(to[a[i][1]][a[i][0]]^ao[a[i][0]][a[i][1]])puts("diff");
        else puts("same");
    }
}
