/*
  AOJ 1161
  Title:Verbal Arithmetic
  @kankichi573
*/
#include <stdio.h>
#include <string.h>
#include <limits.h>
int n;
int taiou[26];
char st[12][9];
int val[12];
int sort_alpha;
int a[10];

int compare(const void *a, const void *b)
{
    return *(int*)a - *(int*)b;
}
int r_compare(const void *a, const void *b)
{
    return *(int*)b - *(int*)a;
}

int next_perm(int a[],int n,int r)
{
  int i,j,p,min_,min_p,wk;

  if(a[n-2]<a[n-1])
    {
	wk=a[n-1];
	a[n-1]=a[n-2];
	a[n-2]=wk;
	return(-1);
    }

  for(i=n-1;i>=1;i--)
    if(a[i]>a[i-1])
      {
	p=a[i-1];
	min_=INT_MAX;
	for(j=i;j<n;j++)
	  if(a[j] > p && min_ > a[j])
	    {
	      min_=a[j];
	      min_p=j;
	    }
	wk=a[min_p];
	a[min_p]=a[i-1];
	a[i-1]=wk;
	qsort(&a[i],n-i,sizeof(int),compare);
	qsort(a+r,n-r,sizeof(int),r_compare);
        return(-1);
      }
  return(0);
}

int replace_num(char str[],int a[])
{
  int sum=0;

  //printf("%s\n",str);
  while(1)
    {
      sum += (a[taiou[*str-'A']]);
      str++;
      if(!*str)
	break;
      sum*=10;
    }
  return(sum);
}

int check_top_zero(int a[])
{
  return(1);
}


void alpha_register(char str[])
{
  char c;
  
  while(c=*str)
    {
      if(taiou[c-'A']==-1)
	{
	  taiou[c-'A']=sort_alpha;
	  sort_alpha++;
	}
      str++;
    }
}

main()
{
  int i,ans,sum;

  while(scanf("%d",&n) && n)
    {
      sort_alpha=0;
      memset(taiou,-1,sizeof(taiou));
      for(i=0;i<n;i++)
	{
	  scanf("%s",&st[i][0]);
	  alpha_register(&st[i][0]);
	}
      
      for(i=0;i<10;i++)
	a[i]=i;
      qsort(a+sort_alpha,10-sort_alpha,sizeof(int),r_compare);
      ans=0;
      do
	{
	  for(i=0;i<n;i++)
	    {
	      if(a[taiou[st[i][0]-'A']]==0 && strlen(&st[i][0])>1)
		goto NEXT;
	      val[i]=replace_num(&st[i][0],a);
	    }
	  for(i=sum=0;i<n-1;i++)
	    sum+=val[i];
	  if(sum==val[n-1])
	    {
#ifdef DEBUG      
	      for(i=0;i<sort_alpha;i++)
		printf("%d|",a[i]);
	      printf("\n");
	      for(i=0;i<n-1;i++)
		printf("%d\n",val[i]);
	      printf("--------\n");
	      printf("%d\n",val[n-1]);
	      printf("========\n");
#endif
	      ans++;
	    }
	NEXT:
	  ;
	}
      while(next_perm(a,10,sort_alpha));
      printf("%-9d\n",ans);
    }
  return(0);
}