#include <stdio.h>
#include <string.h>
using namespace std;

unsigned short S[300][1 << 16];
char A[300];

int main()
{
	int n, i;
	char type;
	scanf("%d\n", &n);

	while(n--) 
	{
		gets(A);
		int len = strlen(A);

		unsigned short hash = 0, p_pow = 0;
		if (A[0] == '+') 
		{
			for(i = 1, len--; i < len; i++) 
			{
				hash += (A[i] - 'a') << p_pow;
				p_pow += 2;
				S[i][hash]++;
			}
		} 
		else 
		{
			for(i = 1; i < len; i++) 
			{
				hash += (A[i] - 'a') << p_pow;
				p_pow += 2;
			}
			printf("%d\n", (int)S[len - 1][hash]);
		}
	}
}