#include <iostream> #include <iomanip> #include <string> using namespace std; string argumenti[26]; string arg; void izpis(int preciznost, int index){ double d=0, d1=0.1; int i; for(i=0; i<(int)argumenti[index].size(), argumenti[index][i] != '.'; i++){ d=10*d+argumenti[index][i]-48; } i++;//da vzame piko for(i; i<(int)argumenti[index].size(); i++){ d+=(argumenti[index][i]-48)*d1; d1/=10; } cout<<setprecision(preciznost)<<fixed<<d; return; } int main(){ int N, st; char c; string s; bool p = true; cin>>N; for(int i=0; i<N; i++){ cin>>c; st = c-'a'; cin>>c;//da s streama pobere = cin>>argumenti[st]; } getline(cin, s);//da pobere endl char getline(cin, s); N = 0; while(s[N] != ','){ N++;//dolĹžina osnovnega stringa(do argumentov) } for(st = N; st<(int)s.size(); st++){ if(s[st] != ','){ arg.push_back(s[st]-'a'); } } st = 0;//counter za arg string for(int i=0; i<N; i++){ if(s[i] == '%'){ i++; if(s[i] == 's'){ cout<<argumenti[arg[st]]; st++; } else if(s[i] == '.'){ i++; izpis(s[i]-48, arg[st]); i++;//da pobere f st++; } else{ for(int x=0; x<(s[i]-48-(int)argumenti[arg[st]].size()); x++){ cout<<' '; } cout<<argumenti[arg[st]]; st++; i++; } } else{ cout<<s[i]; } } return 0; }