#include<stdio.h>
#include<string.h>
typedef struct
{
char key[20];
char val[20];
}rule;
int main()
{
int i,j,k,l,m,n,stlen;
char ip[20]={0},st[20]={0},prod[20][20]={{0}};
char temp[10];
int flag;
rule dict[20]={{0},{0}};
// printf("Enter no. of productions:");
n=4;
// printf("Enter productions:\n");
// Define key and val pairs!
// for(i=0;i<n;i++)
// {
// printf("\n%s",prod[i]);
// printf("\n%c\t%s",dict[i].key,dict[i].val);
// }
for(i=0,j=0;i<5;i++)
st[j]=ip[i];
j++;
for(i=0;i<n;i++)
temp[1]='\0';
flag=1;
if(strcmp(st
,dict
[i
].
val)==0 ) {
st[0]=dict[i].key[0];
st[1]='\0';
st[2]='\0';
flag=0;
printf("%s %s %s \n",st
,ip
,dict
[i
].
val); }
if(strcmp(temp
,dict
[i
].
val)==0&& flag
!=0) {
st[2]=dict[i].key[0];
st[3]='\0';
printf("%s %s %s \n",st
,ip
,dict
[i
].
val); }
}
}
}
I2luY2x1ZGU8c3RkaW8uaD4KCiNpbmNsdWRlPHN0cmluZy5oPgp0eXBlZGVmIHN0cnVjdAp7CiAgICBjaGFyIGtleVsyMF07CiAgICBjaGFyIHZhbFsyMF07Cn1ydWxlOwoKaW50IG1haW4oKQp7CiAgICBpbnQgaSxqLGssbCxtLG4sc3RsZW47CiAgICBjaGFyIGlwWzIwXT17MH0sc3RbMjBdPXswfSxwcm9kWzIwXVsyMF09e3swfX07CiAgICBjaGFyIHRlbXBbMTBdOwogICAgaW50IGZsYWc7CiAgICBydWxlIGRpY3RbMjBdPXt7MH0sezB9fTsKICAgLy8gcHJpbnRmKCJFbnRlciBuby4gb2YgcHJvZHVjdGlvbnM6Iik7CiAgICBuPTQ7CgogICAvLyBwcmludGYoIkVudGVyIHByb2R1Y3Rpb25zOlxuIik7CiAgIAogICAgIAogICAgICAgIHN0cmNweShkaWN0WzBdLmtleSwiRSIpOwogICAgICAgIHN0cmNweShkaWN0WzBdLnZhbCwiRStFIik7CgogICAgICAgIHN0cmNweShkaWN0WzFdLmtleSwiRSIpOwogICAgICAgIHN0cmNweShkaWN0WzFdLnZhbCwiRSpFIik7ICAKCiAgICAgICAgc3RyY3B5KGRpY3RbMl0ua2V5LCJFIik7CiAgICAgICAgc3RyY3B5KGRpY3RbMl0udmFsLCJhIik7ICAKCiAgICAgICAgc3RyY3B5KGRpY3RbM10ua2V5LCJFIik7CiAgICAgICAgc3RyY3B5KGRpY3RbM10udmFsLCJpIik7CgoKCgogICAgICAgICAgLy8gRGVmaW5lIGtleSBhbmQgdmFsIHBhaXJzIQogICAgCi8vICAgIGZvcihpPTA7aTxuO2krKykKLy8gICAgewovLyAgICAgICAgcHJpbnRmKCJcbiVzIixwcm9kW2ldKTsKLy8gICAgICAgIHByaW50ZigiXG4lY1x0JXMiLGRpY3RbaV0ua2V5LGRpY3RbaV0udmFsKTsKLy8gICAgfQogICAgc3RyY3B5KGlwLCJpK2kqYSIpOwogICAgcHJpbnRmKCIlZCBcbiIsc3RybGVuKGlwKSk7CiAgICAKICAgICBmb3IoaT0wLGo9MDtpPDU7aSsrKQogICAgIHsgIHByaW50ZigiJXMiLCJoZXkiKTsKICAgICAgICBzdFtqXT1pcFtpXTsKICAgICAgICBqKys7CiAgICAgICAgCiAgICAgICAgZm9yKGk9MDtpPG47aSsrKQogICAgICAgIHsgICB0ZW1wWzBdPXN0W3N0cmxlbihzdCktMV07IAogICAgICAgICAgICB0ZW1wWzFdPSdcMCc7CiAgICAgICAgICAgIGZsYWc9MTsKICAgICAgICAgICAgaWYoc3RyY21wKHN0LGRpY3RbaV0udmFsKT09MCApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIHN0WzBdPWRpY3RbaV0ua2V5WzBdOwogICAgICAgICAgICAgICAgICAgICAgICBzdFsxXT0nXDAnOwogICAgICAgICAgICAgICAgICAgICAgICBzdFsyXT0nXDAnOwogICAgICAgICAgICAgICAgICAgICAgICBmbGFnPTA7CiAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ZigiJXMgICAgICAgJXMgICAgICAgICVzIFxuIixzdCxpcCxkaWN0W2ldLnZhbCk7CiAgICAgICAgICAgIH0KCgogICAgICAgICAgICBpZihzdHJjbXAodGVtcCxkaWN0W2ldLnZhbCk9PTAmJiBmbGFnIT0wKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzdFsyXT1kaWN0W2ldLmtleVswXTsKICAgICAgICAgICAgICAgIHN0WzNdPSdcMCc7CiAgICAgICAgICAgICAgICBwcmludGYoIiVzICAgICAgICVzICAgICAgICAlcyBcbiIsc3QsaXAsZGljdFtpXS52YWwpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCgoKICAgICAgICB9CiAgICAgICAgCiAgICB9CiAgICAgICAgICAgICAgICAKCgp9CgogICAgCgo=