#include<stdio.h>
#include<malloc.h>
#include<string.h>
typedef struct Trie
{
    int v;
    Trie* next[2];
};
Trie* root;
void creatTrie(char str[])
{
    Trie* p=root,*q;
    int i;
    for(i=0;i<strlen(str);i++)
    {
        int id=str[i]-'0';
        if(p->next[id]==NULL)
        {
            q=(Trie*)malloc(sizeof(Trie));
            q->next[0]=q->next[1]=NULL;
            q->v=1;
            p->next[id]=q;
        }
        p=p->next[id];
    }
    p->v=-1;
}
int findTrie(char str[])
{
    Trie* p=root;
    for(int i=0;i<strlen(str);i++)
    {
        int id=str[i]-'0';
        if(i<strlen(str)-1)
        {
            if(p->next[id]->v==-1)
            {
                return 1;
            }
        }
        p=p->next[id];
    }
    return 0;
}
int main()
{
        char s[10][20];
        int c=1;
        while(scanf("%s",s[0])!=EOF)
        {
            root=(Trie*)malloc(sizeof(Trie));
            root->next[0]=NULL;
            root->next[1]=NULL;
            root->v=1;
            creatTrie(s[0]);
            int k=1;
            while(scanf("%s",s[k])!=EOF&&s[k][0]!='9')
            {
                creatTrie(s[k++]);
            }
            int i;
            for( i=0;i<k;i++)
            {
                int flag=findTrie(s[i]);
                if(flag)
                {
                    printf("Set %d is not immediately decodable\n",c++);
                    break;
                }
            }
            if(i>=k)
            {
                printf("Set %d is immediately decodable\n",c++);
            }
    }
    return 0;
}