/* Beautiful Codes are MUCH better than 'Shorter' ones ! user : triveni date : 21/02/2018 time : 22:45:59 */ #include using namespace std; #define pii std::pair #define vi std::vector #define sz(v) (int)(v.size()) #define mp(a,b) make_pair(a,b) #define pb(a) push_back(a) #define each(it,s) for(auto it = s.begin(); it != s.end(); ++it) #define rep(i, n) for(int i = 0; i < (n); ++i) #define all(v) v.begin(), v.end() #define scan(n) scanf("%d", &n) #define scan2(n, m) scanf("%d%d", &n, &m) #define pin(n) printf("%d\n",n) #define pis(n) printf("%d ",n) #define pll(n) printf("%lld\n", n) #define X first #define Y second typedef long long ll; ll mod = 1000000007; inline int pow_(ll a, int n, int p=mod){ int r=1;while(n){if(n&1)r=r*a%p;n>>=1;a=a*a%p;}return r;} inline int inv_(int a) {return pow_(a, mod-2, mod);} inline int add(int a, int b){a+=b;if(a>=mod)a-=mod;return a;} inline void adds(int& a, int b){a+=b;if(a>=mod)a-=mod;} inline int mul(int a, int b){return a*1ll*b%mod;} inline void muls(int& a, int b){a=a*1ll*b%mod;} inline int sub(int a, int b){a-=b;if(a<0)a+=mod;return a;} char toChar(int c){ return c + '0'; } int getInt(char endChar) { int x = 0; char ch = getchar(); while(ch >= '0' && ch <= '9') { x = x * 10 + ch - '0'; ch = getchar(); } assert(ch == endChar); return x; } int main() { int T = getInt('\n'); assert(1 <= T && T <= 10); while(T--) { int n = getInt('\n'); assert(1 <= n && n <= 100000); ll totalLoss = 0; double ansL = 0; rep(i, n) { int p = getInt(' '), q = getInt(' '), d = getInt('\n'); // scan2(p, q); // scan(d); assert(1 <= p && p <= 100); assert(1 <= q && q <= 100); assert(0 <= d && d <= 100); double newCost = p; newCost += newCost * d / 100.0; newCost -= newCost * d / 100.0; ansL += (p - newCost) * q; p *= 10000; totalLoss += p * q; p += p / 100 * d; p -= p / 100 * d; totalLoss -= p * q; } totalLoss *= 100; // totalLoss += 9999; string ans; rep(i, 6) { ans += toChar(totalLoss % 10); totalLoss /= 10; } ans += '.'; ans += toChar(totalLoss % 10); totalLoss /= 10; while(totalLoss > 0) { ans += toChar(totalLoss % 10); totalLoss /= 10; } reverse(all(ans)); // cout << ans << "\n"; printf("%.10lf\n", ansL); } return 0; }