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

题目描述

冥界王子和他老爹吵了一架,愤而离家出走,想要离开冥界去找自己的亲生母亲。爱管闲事的奥林匹斯十二神得知了这件事,觉得非常有意思,其中一些神决定给予支持,但需要奉上一些冥界野味。希望尽快逃出冥界,所以希望获得所有能够和全部有意愿帮助他的神明打好关系。

冥界的怪物有种,用第种怪物作为食材举行宴会可以同时满足位神明的味蕾,而需要花费时间来狩猎这种怪物。求出最少需要多长时间才能获得所有神明的支持。如果无法获得所有神明的支持,输出

输入描述:

第一行两个整数,表示有位神明愿意支持(编号),而冥界有种野味(编号)。

接下来有组数据,每组两行,对于第组数据:

第一行两个整数,分别表示狩猎第种怪物需要花费的时间为,以及爱吃第种怪物的神明有位。

第二行个整数,表示喜欢这种怪物食材的神明编号。

输出描述:

一个整数,表示最少需要多长时间才能获得所有神明的支持。如果无法获得所有神明的支持,输出
示例1

输入

复制
2 3
10 1
1
15 1
2
30 2
1 2

输出

复制
25
示例2

输入

复制
12 1
100000 1
2

输出

复制
-1
示例3

输入

复制
2 3
10 1
1
15 1
2
20 2
1 2

输出

复制
20