题号:NC220385
                        时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
            空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
             64bit IO Format: %lld
        
     
    题目描述
        
        
    
            
            众所周知,qcjj是一个可爱的小姐姐,而可爱的小姐姐都喜欢蝴蝶结。
 qcjj有n种不同颜色的蝴蝶结,每种颜色有A[i]个,A[i]>0。
 有一天晚上直播的时候qcjj突发奇想,要是我能够把自己的所有的蝴蝶结都变成一个颜色就好了。 
  但是qcjj很爱惜自己的蝴蝶结,不愿意扔掉旧的蝴蝶结,所以动手能力超强的她决定自己对蝴蝶结进行染色。她发现,要将不同的颜色的蝴蝶结染不同的颜色需要用的颜料不同,例如:把黄色蝴蝶结染成绿色和把白色蝴蝶结染成绿色需要的颜料不同,把黄色蝴蝶结染成绿色和把黄色蝴蝶结染成黑色用的颜料也不同。 
   现在已知道了一些颜料的价格,且每一份颜料只能染一个蝴蝶结。qcjj想知道: 
   自己最少花多少钱就可以把所有的蝴蝶结都变成一个颜色。 
   (因为有的颜色可能染不出来,所以qcjj有可能无法让每个颜色蝴蝶结颜色一样。) 
   
 
 
                            输入描述:
                                                    第一行读入一个T,表示T组数据。
对于每组数据,第一行输入一个n,表示有n种不同颜色的蝴蝶结;
第二行读入n个数字,为每个颜色蝴蝶结的个数。
第三行读入一个数字m,表示已知的颜料个数。
接下来的m行每行三个用空格隔开的数字i,j,k,表示将买一个将第i种颜色的蝴蝶结染成j种颜色的颜料需要花费k元。
                                                                            输出描述:
                                                    对于每一组数据输出一行,里面有一个整数,表示qcjj 自己最少花多少钱就可以把所有的蝴蝶结都变成一个颜色。
如果不存在可行方案,即无论花多少钱都不满足 qcjj 的意愿,请输出:“qcjj yyds” 来安慰她,不包括引号。
                                                                            
                        
                            示例1
                        
                        
                            
                                输入
                                复制
                                
                                
                                    2
2
1 1
2
1 2 1
2 1 2
2
1 1
0
                                 
                             
                            
                                                            
                                    说明
                                    
                                        
,题目保证所有输入都在int范围,保证不会有两个价格不一样但是功能一样的颜料。