# 单词缩写

## 题目描述

树树发现好多计算机中的单词都是缩写，如 GDB 是全称 Gnu DeBug 的缩写。但是，有时候缩写对应的全称会不固定，如缩写 LINUX 可以理解为：

1. LINus’s UniX
2. LINUs’s miniX
3. Linux Is Not UniX

现在树树给出一个单词缩写，以及一个固定的全称（若干个单词组成，空格隔开）。全称中可能会有无效的单词，需要忽略掉，一个合法缩写要求每个有效单词中至少有一个字符出现在缩写中，所写必须按顺序出现在全称中。

对于给定的缩写和一个固定的全称，问有多少种解释方法？解释方法为所写的每个字母在全称每个有效单词中出现的位置，有一个字母位置不同，就认为是不同的解释方法。

## 输入格式

第一行输入一个 $N$，表示有 $N$ 个无效单词。

接下来 $N$ 行分别描述一个由小写字母组成的无效单词。

最后是若干个询问，先给出缩写（只有大写字母），然后给出一个全称，读入以 `LASTCASE` 结束。

## 输出格式

对于每个询问先输出缩写，如果当前缩写不合法，则输出 `is not a valid abbreviation`，否则输出 `can be formaed in i ways`（$i$表示解释方法数）。

## 样例 #1

### 样例输入 #1

```
2
and
of
ACM academy of computer makers
RADAR radio detection and ranging
LAST CASE
```

### 样例输出 #1

```
ACM can be formed in 2 ways
RADAR is not a valid abbreviation
```

## 提示

### 数据范围及约定

对于全部数据，$1 \le N \le 100$，每行字符串长度不超过 $150$，询问次数不超过 $20$，最后方案数不超过 $10^9$。