题目描述
某天小科利用飞行器飞到了一个金银岛上,上面有许多珍贵的金属,小科虽然更喜欢各种宝石的艺术品,可是也不拒绝这样珍贵的金属。但是他只带着一个口袋,口袋至多只能装重量为w的物品。岛上金属有s个种类, 每种金属重量不同,分别为n1, n2, ... , ns,同时每个种类的金属总的价值也不同,分别为v1,v2, ..., vs。小科想一次带走价值尽可能多的金属,问他最多能带走价值多少的金属。注意到金属是可以被任意分割的,并且金属的价值和其重量成正比。
输入格式
第一行是一个整数k,表示测试数据的组数。
对于每组数据:
第1行,是一个正整数w,表示口袋承重上限,1≤w≤10000
第2行,是一个正整数s,表示金属种类,1≤s≤100
第3行,是2s个正整数,分别为n1, v1, n2, v2, ... , ns, vs,分别表示第一种,第二种,...,第s种金属的总重量和总价值(1 <= ni <= 10000, 1 <= vi <= 10000)。
输出格式
输出共k行,对应每组测试数据,输出一行,表示最多能带走价值多少的金属。输出应精确到小数点后2位。
输入输出样例
输入样例1:
2 50 4 10 100 50 30 7 34 87 100 10000 5 1 43 43 323 35 45 43 54 87 43
输出样例1:
171.93 508.00