#include #include #include #include std::map vars; char* args[105]; int main(){ int n; scanf("%d ", &n); for(int i = 0; i < n; i++){ char c, v[105]; scanf("%c=%s ", &c, v); vars[c] = strdup(v); } char s[105]; memset(s, 0, sizeof s); fgets(s, 105, stdin); strtok(s, ","); char *vs = strtok(NULL, ","); for(int argc = 0 ; *vs ; argc++, vs+=2) args[argc] = vars[*vs]; char *w = strtok(s, " "); for(int argp = 0; w != NULL ; w = strtok(NULL, " ")) { char type = w[strlen(w) - 1]; if(w[0] != '%') printf(w); else if(type == 's') printf(w, args[argp++]); else if(type == 'd') printf(w, atoi(args[argp++])); else printf(w, atof(args[argp++])); putchar(' '); } return 0; }