/**
* Author: Sergey Kopeliovich (Burunduk30@gmail.com)
* Date: 2012.07.22
*/
#include <cstdio>
#include <cassert>
#include <cstring>
const int mlen = (int)1e5 + 1;
const int slen = (int)2e6 + 1;
char s[mlen];
int x, vn = 1, next[slen][26], val[slen];
int main()
{
assert(freopen("incrementator.in", "r", stdin));
assert(freopen("incrementator.out", "w", stdout));
while (scanf("%s%d", s, &x) == 2)
{
int v = 0;
for (int i = 0; s[i]; i++)
{
int c = s[i] - 'a';
if (!next[v][c])
next[v][c] = vn++;
v = next[v][c];
}
printf("%d\n", val[v] += x);
}
return 0;
}