import java.io.*;
import java.util.*;
public class Bounty_hunter
{
static int T, a, b, ind, div, sum;
static int[] winnerwinner = new int[21];
static int[] chickendinner = new int[31];
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
static StringTokenizer st;
static StringBuilder sbl = new StringBuilder();
public static void main(String[] args) throws Exception
{
T = Integer.parseInt(br.readLine());
initWinnings();
for (int i = 0; i < T; i++)
{
st = new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
sum = (a!=0 && a<22 ? winnerwinner[a-1]:0) + (b!=0 && b<32 ? chickendinner[b-1]:0);
sbl.append(sum*10000).append("\n");
}
br.close();
bw.write(sbl.toString());
bw.close();
}
public static void initWinnings()
{
// initializing winnings for the 1st
ind = 0;
div = 1;
int[] wins = {500, 300, 200, 50, 30, 10};
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < div; j++)
{
winnerwinner[ind] = wins[i];
ind++;
}
div += 1;
}
// initializing winnings for the 2nd
ind = 0;
div = 1;
for (int i = 0; i < 5; i++)
{
int win = 512;
int deduct = win/div;
while (win != 0)
{
chickendinner[ind] = deduct;
win -= deduct;
ind++;
}
div *= 2;
}
}
}