#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;
}