#include <stdio.h>
#include <string.h>

struct State{
	char statest[100];
	char statechar;
};

char st[100];
int lengthp,reduction;

int is_U(char ch)
{
	if(ch=='I' || ch=='i' || ch=='u' || ch=='U')
		return 1;
		
	return 0;
}

char Find_Wowel(int index)
{
	int i;
	for(i=index;i>=0;i--)
		if(st[i]=='a' || st[i]=='e' || st[i]=='I' || st[i]=='i' || st[i]=='o' 
			|| st[i]=='O' ||  st[i]=='u' ||  st[i]=='U')
			return st[i];
	return 'n';
}

int isWowel(char ch)
{
	return(ch=='a' || ch=='e' || ch=='I' || ch=='i' || ch=='o' 
			|| ch=='O' ||  ch=='u' ||  ch=='U');
		
}

int isConsonant(char ch)
{
	return(!isWowel(ch));
}

int Hecenum(int index)
{
	int i,tmpcounter=0;

	for(i=index;i>=0;i--)
		if(st[i]=='a' || st[i]=='e' || st[i]=='I' || st[i]=='i' || st[i]=='o' 
			|| st[i]=='O' ||  st[i]=='u' ||  st[i]=='U')
			tmpcounter++;

	return tmpcounter;

}

int Kucuk_Unlu_Uyumlu(char ch1,char ch2)
{
	if((ch1=='a' || ch1=='I') && ch2=='I')
		return 1;
	if((ch1=='e' || ch1=='i') && ch2=='i')
		return 1;
	if((ch1=='o' || ch1=='u') && ch2=='u')
		return 1;
	if((ch1=='O' || ch1=='U') && ch2=='U')
		return 1;
	return 0;
}

int isD(char ch)
{
	return(ch=='d' || ch=='t');
}

int SertSessiz(char ch)
{
	return(ch=='p' || ch=='C' || ch=='t' || ch=='k');
}

int A_Uyumlu(char ch1,char ch2)
{
	return(((ch1=='a' || ch1=='I' || ch1=='o' || ch1=='u') && ch2=='a') 
		|| ((ch1=='e' || ch1=='i' || ch1=='O' || ch1=='U') && ch2=='e'));
}

int isA(char ch)
{
	return(ch=='a' || ch=='e');
}

int isI(char ch)
{
	return(ch=='i' || ch=='I');
}

int isC(char ch)
{
	return (ch=='c' || ch=='C');
}

//ch1 must be A type and ch2 must be I type
int AI_Uyum(char ch1,char ch2)
{
	return ((ch1=='a' && ch2=='I') || (ch1=='e' && ch2=='i'));
}

//ch2 must be 'd' or 't'
int Benzesmeli(char ch1,char ch2)
{
	int e1,e2;
	
	e1=SertSessiz(ch1);
	e2=SertSessiz(ch2);

	return(e1==e2);		
}

int Yumusamis(char ch,int num_hece)
{
	return(ch=='b' || ch=='c' || ch=='d' || (ch=='G' && num_hece>1));
}

void Sert_Sessize_Cevir(int index)
{
	switch(st[index])
	{
		case 'b' :  st[index]='p'; break;
		case 'c' :  st[index]='C'; break;
		case 'd' :  st[index]='t'; break;
		case 'G' :  st[index]='k'; break;
	}
}

int Get_Ekfiil_Suffix_Type()
{
	reduction=0;
	if(lengthp>0 && st[lengthp]=='m' && is_U(st[lengthp-1]) && Hecenum(lengthp-2)>1 && Kucuk_Unlu_Uyumlu(Find_Wowel(lengthp-2),st[lengthp-1]))
	{
		reduction=2;
		if(st[lengthp-2]=='y')
			if(isWowel(st[lengthp-3]))
				reduction++;
			else
				goto Label1;
		else
			if(Yumusamis(st[lengthp-2],Hecenum(lengthp-2)))
				if(isWowel(st[lengthp-3]))
					Sert_Sessize_Cevir(lengthp-2);
				else
					goto Label1;
		return 1;
	}

Label1:;

	if(lengthp>1 && st[lengthp]=='n' && st[lengthp-2]=='s' && Hecenum(lengthp-3) && is_U(st[lengthp-1]) && Kucuk_Unlu_Uyumlu(Find_Wowel(lengthp-3),st[lengthp-1]))
	{
		reduction=3;
		return 2;
	}

	if(lengthp>0 && st[lengthp]=='z' && is_U(st[lengthp-1]) && Hecenum(lengthp-2) && Kucuk_Unlu_Uyumlu(Find_Wowel(lengthp-2),st[lengthp-1]))
	{
		reduction=2;
		if(st[lengthp-2]=='y')
			if(isWowel(st[lengthp-3]))
				reduction++;
			else
				goto Label2;
		else
			if(Yumusamis(st[lengthp-2],Hecenum(lengthp-2)))
				if(isWowel(st[lengthp-3]))
					Sert_Sessize_Cevir(lengthp-2);
				else
					goto Label2;
		return 3;
	}

Label2:;

	if(lengthp>3 && st[lengthp]=='z' && is_U(st[lengthp-1]) && st[lengthp-2]=='n' && is_U(st[lengthp-3]) && st[lengthp-4]=='s' 
		&& Hecenum(lengthp-5) && st[lengthp-3]==st[lengthp-1] && Kucuk_Unlu_Uyumlu(Find_Wowel(lengthp-5),st[lengthp-3]))
	{
		reduction=5;
		return 4;
	}

	if(lengthp>1 && st[lengthp]=='r' && st[lengthp-2]=='l' && isA(st[lengthp-1]) && Hecenum(lengthp-3) && A_Uyumlu(Find_Wowel(lengthp-3),st[lengthp-1]))
	{
		reduction=3;
		return 5;
	}

	if(lengthp>=0 && st[lengthp]=='m' && Hecenum(lengthp-1))
	{
		reduction=1;
		return 6;
	}

	if(lengthp>=0 && st[lengthp]=='n' && Hecenum(lengthp-1))
	{
		reduction=1;
		return 7;
	}

	if(lengthp>=0 && st[lengthp]=='k' && Hecenum(lengthp-1))
	{
		reduction=1;
		return 8;
	}

	if(lengthp>1 && st[lengthp]=='z' && st[lengthp-2]=='n' && is_U(st[lengthp-1]) && Hecenum(lengthp-3) && Kucuk_Unlu_Uyumlu(Find_Wowel(lengthp-3),st[lengthp-1]))
	{
		reduction=3;
		return 9;
	}
	
	if(lengthp>1 && st[lengthp]=='r' && Hecenum(lengthp-3) && is_U(st[lengthp-1]) && Kucuk_Unlu_Uyumlu(Find_Wowel(lengthp-3),st[lengthp-1])
		&& isD(st[lengthp-2]) && Benzesmeli(st[lengthp-3],st[lengthp-2]))
	{
		reduction=3;
		return 10;
	}

	if(lengthp>4 && isA(st[lengthp]) && st[lengthp-1]=='n' && isI(st[lengthp-2]) && st[lengthp-3]=='s' && isA(st[lengthp-4]) && st[lengthp-5]=='c'
		&& Hecenum(lengthp-6) && A_Uyumlu(Find_Wowel(lengthp-6),st[lengthp]) && st[lengthp]==st[lengthp-4] && AI_Uyum(st[lengthp],st[lengthp-2]))
	{
		reduction=6;
		return 11;
	}

	if(lengthp>0 && Hecenum(lengthp-2) && is_U(st[lengthp]) && Kucuk_Unlu_Uyumlu(Find_Wowel(lengthp-2),st[lengthp])
		&& isD(st[lengthp-1]) && Benzesmeli(st[lengthp-2],st[lengthp-1]))
	{
		reduction=2;
		if(st[lengthp-2]=='y')
			if(isWowel(st[lengthp-3]))
				reduction++;
			else
				goto Label3;
		else
			if(isWowel(st[lengthp-2]))
				goto Label3;
		return 12;
	}

Label3:;

	if(lengthp>0 && isA(st[lengthp]) && st[lengthp-1]=='s' && Hecenum(lengthp-2) && A_Uyumlu(Find_Wowel(lengthp-2),st[lengthp]))
	{
		reduction=2;
		if(st[lengthp-2]=='y')
			if(isWowel(st[lengthp-3]))
				reduction++;
			else
				goto Label4;
		return 13;
	}

Label4:;

	if(lengthp>1 && st[lengthp]=='S' && is_U(st[lengthp-1]) && st[lengthp-2]=='m' && Hecenum(lengthp-3) && Kucuk_Unlu_Uyumlu(Find_Wowel(lengthp-3),st[lengthp-1]))
	{
		reduction=3;
		if(st[lengthp-3]=='y')
			if(isWowel(st[lengthp-4]))
				reduction++;
			else
				goto Label5;
		return 14;

	}

Label5:;

	if(lengthp>1 && st[lengthp]=='n' && st[lengthp-1]=='e' && st[lengthp-2]=='k' && Hecenum(lengthp-3))
	{
		reduction=3;
		if(st[lengthp-3]=='y')
			if(isWowel(st[lengthp-4]))
				reduction++;
			else
				goto Label6;
		return 15;
	}

Label6:;

	return 0;
}

int Ekfiil_Final_State(char ch)
{
	return (ch=='A' || ch=='B' || ch=='C' || ch=='E' || ch=='F');
}

void Ek_fiil_at()
{
	char newstate;
	int statenum=0,statetype,i;
	struct State mystates[30];
	
	mystates[0].statechar='A';
	strcpy(mystates[0].statest,st);

	do
	{
		statetype=Get_Ekfiil_Suffix_Type();
		lengthp-=reduction;
		st[lengthp+1]=0;
		
		if(statetype)
		{
		switch(mystates[statenum].statechar)
		{
		case 'A' : if(statetype==1 || statetype==2 || statetype==3 || statetype==4)
					   newstate='B';
					else
						if(statetype==5)
							newstate='C';
						else
							if(statetype==6 || statetype==7 || statetype==8 || statetype==9)
								newstate='D';
							else
								if(statetype==10)
									newstate='E';
								else
									if(statetype==11)
										newstate='H';
									else
										newstate='F';
						break;
		case 'B' : if(statetype==14)
					   newstate='F';
					else 
						goto dongusonu;
					break;
		case 'C' : if(statetype==10 || statetype==12 || statetype==13 || statetype==14)
					   newstate='F';
					else 
						goto dongusonu;
					break;
		case 'D' : if(statetype==12 || statetype==13)
					   newstate='F';
					else
						goto dongusonu;
					break;
		case 'E' : if(statetype==1 || statetype==2 || statetype==3 || statetype==4 || statetype==5)
					   newstate='G';
					else
						if(statetype==14)
							newstate='F';
						else
							goto dongusonu;
						break;
		case 'G' : if(statetype==14)
					   newstate='F';
					else 
						goto dongusonu;
					break;
		case 'H' : if(statetype==1 || statetype==2 || statetype==3 || statetype==4 || statetype==5)
					   newstate='G';
					else
						if(statetype==14)
							newstate='F';
						else
							goto dongusonu;
						break;
		default : goto dongusonu;  break;
		}
			
			mystates[++statenum].statechar=newstate;
			strcpy(mystates[statenum].statest,st);
		}
	
	}while(statetype);

dongusonu:;
		  
	for(i=statenum;i>=0;i--)
		if(Ekfiil_Final_State(mystates[i].statechar))
			break;

		strcpy(st,mystates[i].statest);
		
}

int Get_Noun_Suffix_Type()
{
	reduction=0;

	if(isA(st[lengthp]) && st[lengthp-1]=='l' && A_Uyumlu(Find_Wowel(lengthp-2),st[lengthp]))
	{
		reduction=2;
		if(st[lengthp-2]=='y' && Hecenum(lengthp-2)>1)
			reduction++;
		return 17;
	}

	if(lengthp>1 && st[lengthp]=='r' && st[lengthp-2]=='l' && isA(st[lengthp-1]) && Hecenum(lengthp-3) && A_Uyumlu(Find_Wowel(lengthp-3),st[lengthp-1]))
	{
		reduction=3;
		return 1;
	}

	if(lengthp>3 && !strncmp(st+lengthp-4,"kinde",5))
	{
		reduction=3;
		return 14;
	}

	if(lengthp>0 && isA(st[lengthp]) && isD(st[lengthp-1]) && Hecenum(lengthp-2) 
		&& A_Uyumlu(Find_Wowel(lengthp-2),st[lengthp]) && Benzesmeli(st[lengthp-2],st[lengthp-1]))
	{
		reduction=2;
		return 13;
	}

	if(lengthp>4 && !strncmp(st+lengthp-5,"kinden",6))
	{
		reduction=4;
		return 16;
	}

	if(lengthp>1 && st[lengthp]=='n' && isA(st[lengthp-1]) && isD(st[lengthp-2]) && Hecenum(lengthp-3) 
		&& A_Uyumlu(Find_Wowel(lengthp-3),st[lengthp-1]) && Benzesmeli(st[lengthp-3],st[lengthp-2]))
	{
		reduction=3;
		return 15;
	}

	if(lengthp>0 && isA(st[lengthp]) && isC(st[lengthp-1]) && Hecenum(lengthp-2) && Benzesmeli(st[lengthp-2],st[lengthp-1]))
	{
		reduction=2;
		return 19;
	}
	
	if(lengthp>1 && !strncmp(st+lengthp-1,"ki",2))
	{
		reduction=2;
		return 18;
	}
	
	if(lengthp>2 && !strncmp(st+lengthp-3,"kini",4))
	{
		reduction=2;
		return 9;
	}
	
	if(is_U(st[lengthp]) && Hecenum(lengthp-1) && Kucuk_Unlu_Uyumlu(Find_Wowel(lengthp-1),st[lengthp]))
	{
		reduction=1;
		if(st[lengthp-1]=='y')
			if(isWowel(st[lengthp-2]))
				reduction++;
			else 
				goto Label9;
		else
			if(Yumusamis(st[lengthp-1],Hecenum(lengthp-1)))
					Sert_Sessize_Cevir(lengthp-1);
		return 8;
	}

Label9:;

	if(lengthp>2 && !strncmp(st+lengthp-3,"kine",4))
	{
		reduction=2;
		return 12;
	}

	if(isA(st[lengthp]) && Hecenum(lengthp-1) && A_Uyumlu(Find_Wowel(lengthp-1),st[lengthp]))
	{
		reduction=1;
		if(st[lengthp-1]=='y')
			if(isWowel(st[lengthp-2]))
				reduction++;
			else 
				goto Label10;
		else
			if(Yumusamis(st[lengthp-1],Hecenum(lengthp-1)))
					Sert_Sessize_Cevir(lengthp-1);
			else 
				if(isConsonant(st[lengthp-1]) && isConsonant(st[lengthp-2]))
					goto Label10;
		return 11;
	}

Label10:;

	
	
	if(st[lengthp]=='m' && Hecenum(lengthp-1))
	{
		reduction=1;
		if(is_U(st[lengthp-1]))
			if(isConsonant(st[lengthp-2]) && Hecenum(lengthp-2) && Kucuk_Unlu_Uyumlu(Find_Wowel(lengthp-2),st[lengthp-1]))
			{
				reduction++;
				if(Yumusamis(st[lengthp-2],Hecenum(lengthp-2)))
					Sert_Sessize_Cevir(lengthp-2);
			}
			else
				goto Label1;
		return 2;
	}

Label1:;

	if(lengthp>1 && st[lengthp]=='z' && st[lengthp-2]=='m' && is_U(st[lengthp-1]) && Hecenum(lengthp-3) && Kucuk_Unlu_Uyumlu(Find_Wowel(lengthp-3),st[lengthp-1]))
	{
		reduction=3;
		if(st[lengthp-1]==st[lengthp-3])
			if(isConsonant(st[lengthp-4]) && Hecenum(lengthp-4) && Kucuk_Unlu_Uyumlu(Find_Wowel(lengthp-4),st[lengthp-1]))
			{
				reduction++;
				if(Yumusamis(st[lengthp-4],Hecenum(lengthp-4)))
					Sert_Sessize_Cevir(lengthp-4);
			}
			else
				goto Label3;
		return 3;
	}

Label3:;

	if(lengthp>1 && st[lengthp]=='z' && st[lengthp-2]=='n' && is_U(st[lengthp-1]) && Hecenum(lengthp-3) && Kucuk_Unlu_Uyumlu(Find_Wowel(lengthp-3),st[lengthp-1]))
	{
		reduction=3;
		if(st[lengthp-1]==st[lengthp-3])
			if(isConsonant(st[lengthp-4]) && Hecenum(lengthp-4) && Kucuk_Unlu_Uyumlu(Find_Wowel(lengthp-4),st[lengthp-1]))
			{
				reduction++;
				if(Yumusamis(st[lengthp-4],Hecenum(lengthp-4)))
					Sert_Sessize_Cevir(lengthp-4);
			}
			else
				goto Label4;
		return 5;
	}

Label4:;

	if(is_U(st[lengthp]) && Hecenum(lengthp-1) && Kucuk_Unlu_Uyumlu(Find_Wowel(lengthp-1),st[lengthp]))
	{
		reduction=1;
		if(st[lengthp-1]=='s')
			if(isWowel(st[lengthp-2]))
				reduction++;
			else 
				goto Label5;
		else
			if(Yumusamis(st[lengthp-1],Hecenum(lengthp-1)))
					Sert_Sessize_Cevir(lengthp-1);
		return 6;
	}

Label5:;

	if(lengthp>2 && isI(st[lengthp]) && st[lengthp-1]=='r' && isA(st[lengthp-2]) && st[lengthp-3]=='l' 
		&& Hecenum(lengthp-4) && A_Uyumlu(Find_Wowel(lengthp-4),st[lengthp-2]) && AI_Uyum(st[lengthp-2],st[lengthp]))
	{
		reduction=4;
		return 7;
	}

	if(lengthp>0 && st[lengthp]=='n' && is_U(st[lengthp-1]) && Hecenum(st[lengthp-2]) && Kucuk_Unlu_Uyumlu(Find_Wowel(lengthp-2),st[lengthp-1]))
	{
		reduction=2;
		if(isConsonant(st[lengthp-2]) && isConsonant(st[lengthp-3]))
			goto Label7;
		else
		if(st[lengthp-2]=='n')
				reduction++;
		else
			if(Yumusamis(st[lengthp-2],Hecenum(lengthp-2)))
					Sert_Sessize_Cevir(lengthp-2);
		return 10;
	}

Label7:;

	if(st[lengthp]=='n' && Hecenum(lengthp-1)) 
	{
		reduction=1;
		if(is_U(st[lengthp-1]))
			if(isConsonant(st[lengthp-2]) && Hecenum(st[lengthp-2]) && Kucuk_Unlu_Uyumlu(Find_Wowel(lengthp-2),st[lengthp-1]))
			{
				reduction++;
				if(Yumusamis(st[lengthp-2],Hecenum(lengthp-2)))
					Sert_Sessize_Cevir(lengthp-2);
			}
			else
				goto Label2;
		return 4;
	}

Label2:;

   return 0;
}

int Noun_Final_State(char ch)
{
	return (!(ch=='H' || ch=='I'));
}

void Isim_Cekim_Ekleri_At()
{
	char newstate;
	int statenum=0,statetype,i;
	struct State mystates[30];
	
	mystates[0].statechar='A';
	strcpy(mystates[0].statest,st);
	
	do
	{
		statetype=Get_Noun_Suffix_Type();
		reduction=statetype?reduction:0;
		lengthp-=reduction;
		st[lengthp+1]=0;

		if(statetype)
		{
		switch(mystates[statenum].statechar)
		{
		case 'A' : if(statetype==1) 
					   newstate='B';
					else
						if(statetype==2 || statetype==3 || statetype==4 || statetype==5 || statetype==6 || statetype==7)
							newstate='C';
						else
							if(statetype==10)
								newstate='D';
							else
								if(statetype==8 || statetype==11 || statetype==15)
									newstate='E';
								else
									if(statetype==13)
										newstate='F';
									else
										if(statetype==19)
											newstate='G';
										else
											if(statetype==18)
												newstate='H';
											else
												if(statetype==9 || statetype==12 || statetype==14 || statetype==16)
													newstate='I';
												else
													if(statetype==17)
														newstate='J';
													else
														goto dongusonu;
						break;
		case 'B' : if(statetype==18)
					   newstate='H';
					else 
						goto dongusonu;
					break;
		case 'C' : if(statetype==1)
					   newstate='B';
					else 
						goto dongusonu;
					break;
		case 'D' : if(statetype==1)
					   newstate='B';
					else
						if(statetype==2 || statetype==3 || statetype==4 || statetype==5 || statetype==6 || statetype==7)
							newstate='C';
						else
							if(statetype==19)
								newstate='H';
							else
								goto dongusonu;
					break;
		case 'G' :
		case 'E' : if(statetype==1)
					   newstate='B';
					else
						if(statetype==2 || statetype==3 || statetype==4 || statetype==5 || statetype==6 || statetype==7)
							newstate='C';
						else
							if(statetype==10)
								newstate='D';
							else
								goto dongusonu;
						break;

		case 'F' : if(statetype==1)
					   newstate='B';
					else
						if(statetype==2 || statetype==3 || statetype==4 || statetype==5 || statetype==6 || statetype==7)
							newstate='C';
						else
							if(statetype==19)
								newstate='H';
							else
								if(statetype=10)
									newstate=10;
								else
									goto dongusonu;
							break;
				
		case 'H' : if(statetype==2 || statetype==3 || statetype==4 || statetype==5 || statetype==6 || statetype==7)
						newstate='C';
					else
						if(statetype==13)
							newstate='F';
						else
							if(statetype==10)
								newstate='D';
							else
								goto dongusonu;
						break;
		case 'I' : if(statetype==18)
					   newstate='H';
					else
						goto dongusonu;
					break;
		case 'J' : if(statetype==1)
					   newstate='B';
					else
						if(statetype==2 || statetype==3 || statetype==4 || statetype==5 || statetype==6 || statetype==7)
							newstate='C';
						else
							goto dongusonu;
						break;

		default : goto dongusonu; break;
		}
			
			mystates[++statenum].statechar=newstate;
			strcpy(mystates[statenum].statest,st);
		}
	
	}while(statetype);

dongusonu:;
		  
	for(i=statenum;i>=0;i--)
		if(Noun_Final_State(mystates[i].statechar))
			break;

		strcpy(st,mystates[i].statest);
}

void Isim_Cekim_Ekleri()
{
	Ek_fiil_at();

	lengthp=strlen(st)-1;
	
	Isim_Cekim_Ekleri_At();
}


int main(void)
{
	while(1)
	{
		scanf("%s",st);
		if(!strcmp(st,"son"))
			break;

		lengthp=strlen(st)-1;
		
		Isim_Cekim_Ekleri();
		printf("%s\n",st);
	}
	return 0;
}