小红出勤
题号:NC311105
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}在舞萌(maimai)这款音乐游戏中,玩家前往线下游戏厅游玩一次被称为一次“出勤”。记录每次出勤时游玩的歌曲名称及对应的游玩次数,这样的统计被称为“出勤记录”。
\hspace{15pt}小红的出勤会遵循以下规则:
\hspace{23pt}\bullet\,k 首曲子是她每次出勤都要至少各玩一次的;
\hspace{23pt}\bullet\,她每次出勤的“总游玩次数”(不同歌曲或同一歌曲的重复游玩次数之和)不超过 p
\hspace{23pt}\bullet\,一次出勤中,小红可以多次游玩同一首歌。

\hspace{15pt}现在给出小红的出勤记录,其中包括她玩过的 n 首不同歌曲的名称和游玩次数。小红想知道这份出勤记录是否合法,如果合法,那么她出勤次数的最小值和最大值是多少,请你帮帮她。

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leqq T\leqq 10^5\right) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}第一行输入三个整数 n, p, k \left(1 \leqq k \leqq n \leqq 10^5;\, 1 \leqq p \leqq 2 \times 10^5\right),表示小红出勤记录中记录的歌曲数量、小红每次出勤最多游玩的歌曲数量、小红每次出勤必玩的歌曲数量。
\hspace{15pt}此后 n 行,第 i 行输入一个由小写字母组成且长度为 |s_i| 的字符串 s_i 与一个整数 a_i \left(1 \leqq \left| s_i\right| \leqq 10;\,1 \leqq a_i \leqq 2 \times 10^5 \right),表示出勤记录中第 i 首歌的名称和游玩次数。保证 s_i 两两不同。
\hspace{15pt}此后 k 行,第 i 行输入一个由小写字母组成且长度为 |t_i| 的字符串 t_i\left(1 \leqq \left| t_i\right| \leqq 10 \right),代表小红每次出勤都会玩的第 i 首歌曲的名称。保证所有的 t_i 都作为 s_i 出现过,且 t_i 两两不同。

\hspace{15pt}除此之外,保证单个测试文件的 n 之和不超过 2 \times 10^5

输出描述:

\hspace{15pt}对于每组测试数据,新起一行。如果出勤记录不合法,直接输出 -1;否则,在一行上输出两个整数,表示小红出勤次数的最小值和最大值。
示例1

输入

复制
2
3 5 2
pupa 15
quiq 12
startliner 4
pupa
quiq
3 5 1
pupa 15
quiq 12
startliner 4
startliner

输出

复制
7 12
-1

说明

\hspace{15pt}对于第一组测试数据,以下描述一次合法的过程:
\hspace{23pt}\bullet\,第一次出勤,打了 1\texttt{pupa}1\texttt{quiq}3\texttt{startliner}
\hspace{23pt}\bullet\,第二次出勤,打了 3\texttt{pupa}1\texttt{quiq}1\texttt{startliner}
\hspace{23pt}\bullet\,第三次出勤,打了 4\texttt{pupa}1\texttt{quiq}
\hspace{23pt}\bullet\,第四次出勤,打了 1\texttt{pupa}4\texttt{quiq}
\hspace{23pt}\bullet\,第五次出勤,打了 2\texttt{pupa}3\texttt{quiq}
\hspace{23pt}\bullet\,第六次出勤,打了 3\texttt{pupa}1\texttt{quiq}
\hspace{23pt}\bullet\,第七次出勤,打了 1\texttt{pupa}1\texttt{quiq},有急事,打完两首过过瘾就走了。
\hspace{15pt}我们可以证明,为了得到这份出勤记录,小红至少需要出勤 7 次。

\hspace{15pt}对于第二组测试数据,我们注意到小红每次出勤都会点 \texttt{startliner} 这首歌,且出勤记录中这首歌的游玩次数为 4,这意味着小红至多出勤过 4 次,那么小红最多打过 4 \times 5 = 20 次歌。但是,出勤记录中 \texttt{pupa}\texttt{quiq} 的游玩次数之和为 27,说明是假的出勤记录。