/*
题意:已知每种珍珠需要几个,花费多少
买珍珠的花费为(need[x1]+need[x2]+...+10)*max(cost[x1],cost[x2],....)
10为定值
求买完所有珍珠最小的花费
*/
import java.math.*;
import java.util.*;
import java.io.*;
public class Main
{
static int min(int a,int b){return (a<b)? a:b;}
static int max(int a,int b){return (a>b)? a:b;}
static Node a[]=new Node[110];
static class Node
{
public
int c,val;
Node(){}
Node(int a,int b){c=a; val=b; return ;}
};
static int qs(int h,int t)
{
int k=h,tmp=0;
for(int i=h;i<t;i++)
{
if(a[i].val<a[t].val)
{
tmp=a[i].c;
a[i].c=a[k].c;
a[k].c=tmp;
tmp=a[i].val;
a[i].val=a[k].val;
a[k].val=tmp;
k++;
}
}
tmp=a[t].c;
a[t].c=a[k].c;
a[t].c=tmp;
tmp=a[t].val;
a[t].val=a[t].val;
a[t].val=tmp;
return k;
}
static void px(int h,int t)
{
if(h<t)
{
int mid=qs(h, t);
px(h, mid-1);
px(mid+1, t);
}
return;
}
public static void main(String args[])
{
Scanner cin=new Scanner(System.in);
int T=cin.nextInt();
int sum[]=new int[120];
int dp[]=new int [120];
while(T-->0)
{
int n=cin.nextInt();
for(int i=1;i<=n;i++)
{
a[i]=new Node();
int x,y;
x=cin.nextInt();y=cin.nextInt();
a[i].c=x;
a[i].val=y;
}
px(1,n);
sum[0]=0;
for(int i=1;i<=n;i++)
{
dp[i]=-1;
sum[i]=sum[i-1]+a[i].c;
}
dp[0]=0;
for(int i=1;i<=n;i++)
{
for(int j=0;j<i;j++)
if(dp[i]==-1)
dp[i]= dp[j]+(sum[i]-sum[j]+10)*a[i].val;
else dp[i]=min(dp[i], dp[j]+(sum[i]-sum[j]+10)*a[i].val);
}
System.out.println(dp[n]);
}
}
}