#include #include #include using namespace std; void getstr(char *s) { int i=0; char c; c=getchar(); if (c!='\n' && c!=' ') ungetc(c,stdin); while ((c=getchar())!='/') { s[i++]=c; } s[i]='\0'; } int main() { map < pair , double> accs; int A; while(scanf("%d",&A),A) { accs.clear(); char str[200]; int bnk; double am; for (int i=0;i=am) { accs[make_pair(bnk,s)]-=am; printf("ok\n"); } else { printf("insufficient funds\n"); } } } if (str[0]=='t') { char str[200]; char str2[200]; int bnk; double am; int bnk2; getstr(str); scanf("%d",&bnk); getstr(str2); scanf("%d %lf",&bnk2,&am); string s(str); string s2(str2); printf("transfer %1.2lf: ",am); if (accs.find(make_pair(bnk,s))==accs.end() || accs.find(make_pair(bnk2,s2))==accs.end() ) { printf("no such account\n"); } else if (s.compare(s2)==0) { printf("same account\n"); } else if (accs[make_pair(bnk,s)]>=am) { accs[make_pair(bnk,s)]-=am; accs[make_pair(bnk2,s2)]+=am; if (bnk==bnk2) printf("ok\n"); else printf("interbank\n"); } else { printf("insufficient funds\n"); } } } } printf("goodbye\n"); return 0; }