//题意比较简单。。就是一个人说1个数,另一个人说太高或者太低。。然后判断这个有没有说谎。。思路是
//如果太高,判断L是不是小于N,小的话,证明说谎,反证也是如此。。如果没有的话更新L和R。、
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
int main()
{
int n;
char String[10];
int l=0,r=11;
int flag=0;
while(scanf("%d",&n)!=EOF)
{
if(n==0)
break;
getchar();
gets(String);
int s=strlen(String);
if(String[s-1]=='n')
{
if(n<=l||n>=r)
flag=1;
if(flag)
printf("Stan is dishonest\n");
else
printf("Stan may be honest\n");
flag=0;
l=0;
r=11;
}
if(String[s-1]=='h')
{
if(n<=l)
flag=1;
else
{
if(n<r)
r=n;
}
}
if(String[s-1]=='w')
{
if(n>=r)
flag=1;
else
{
if(n>l)
l=n;
}
}
}
return 0;
}