/**
 * 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;
}