[JSOI2013]吃货JYY
题号:NC20197
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

【故事背景】 作为JSOI的著名吃货,JYY的理想之一就是吃遍全世界的美食。要走遍全 世界当然需要不断的坐飞机了。而不同的航班上所提供的餐食是很不一样的:比 如中国的航班会提供中餐,英国的航班有奶茶和蛋糕,澳大利亚的航班有海鲜, 新加坡的航班会有冰激凌……JYY选出了一些他特别希望品尝餐食的航班,希望 制定一个花费最少的旅游计划,能够从南京出发,乘坐所有这些航班并最后回到 南京。 
【问题描述】 世界上一共有N个JYY愿意去的城市,分别从1编号到N。JYY选出了K 个他一定要乘坐的航班。除此之外,还有M个JYY没有特别的偏好,可以乘坐也可以不乘坐的航班。 
一个航班我们用一个三元组(x,y,z)来表示,意义是这趟航班连接城市x和y, 并且机票费用是z。
每个航班都是往返的,所以JYY花费z的钱,既可以选择从 x飞往y,也可以选择从y飞往x。 
南京的编号是1,现在JYY打算从南京出发,乘坐所有K个航班,并且最后回到南京,请你帮他求出最小的花费。

输入描述:

输入数据的第一行包含两个整数N和K;
接下来K行,每行三个整数x,y,z描述必须乘坐的航班的信息,数据保证在这K个航班中,不会有两个不同的航班在同一对城市之间执飞;
第K+2行包含一个整数M;
接下来M行,每行三个整数x,y,z描述可以乘坐也可以不乘坐的航班信息。
2 ≤ N ≤ 13,0 ≤ K ≤ 78,2 ≤ M ≤ 200,1 ≤ x,y ≤ N,1 ≤ z ≤ 10^4

输出描述:

输出一行一个整数,表示最少的花费。数据保证一定存在满足JYY要求的旅行方案。
示例1

输入

复制
6 3
1 2 1000
2 3 1000
4 5 500
2
1 4 300
3 5 300

输出

复制
3100