#include <iostream> #include <string.h> #include <stdlib.h> using namespace std; struct { char value[101],name[101]; } s[10]; int main() { int n; char l[101],names[11][101]; int nr=0; cin >>n; for(int i=0; i<n; i++) { char a[100]; cin.get(); cin.get(a,100); int j; for(j=0; j<strlen(a) && a[j]!='='; j++) s[i].name[j]=a[j]; s[i].name[j]=NULL; strcpy(s[i].value,a+j+1); } cin.get(); cin.getline(l,100); int n1=strlen(l); for(int i=0; i<n1; i++) { int j=0; while(l[i]!=',' && i<n1) { names[nr][j]=l[i]; i++; j++; } names[nr][j]=NULL; nr++; } n1=strlen(names[0]); int k=1; for(int i=0; i<n1; i++) { if(names[0][i]!='%' ) cout<<names[0][i]; else { i++; if(names[0][i]=='s') { int j; for(j=0;j<n && strcmp(s[j].name,names[k]);j++); cout<<s[j].value; } else if(names[0][i]=='.') { i++; int j,aux=0,i1=0,x=0; for(j=0;j<n && strcmp(s[j].name,names[k]);j++); while(names[0][i]<='9' && names[0][i]>='0' ){ aux=(aux*10)+(names[0][i]-'0'); i++; } while(s[j].value[i1]<='9' && s[j].value[i1]>='0' ){ cout<<s[j].value[i1]; i1++; } if(i1<strlen(s[j].value)) cout<<'.'; i1++; for( x=i1;x<aux+i1-1 && x<strlen(s[j].value);x++) cout<<s[j].value[x]; if(x<strlen(s[j].value)-1 && x-i1==aux-1 ) { if(s[j].value[x+1]>='5') cout<<s[j].value[x]-'0'+1; else cout<<s[j].value[x]; } }else { int aux=0; while(names[0][i]<='9' && names[0][i]>='0' ){ aux=(aux*10)+(names[0][i]-'0'); i++; } int j; for(j=0;j<n && strcmp(s[j].name,names[k]);j++); for(int i1=0;i1<aux-strlen(s[j].value);i1++) cout<<" "; cout<<s[j].value; } k++; } } }