#include <bits/stdc++.h>
using namespace std;
const long long maxn = 200 + 7;
long long t, n, k, aa[maxn];
string ss[maxn][11];
string get(long long i, long long j, long long k) {
  long long tmp = j - i * 9 - k, now = -1;
  string s, t = "";
  if (tmp) {
    if (tmp < 8)
      s += (tmp + '0');
    else {
      tmp -= 8;
      if (tmp % 9 > 0) s += (tmp % 9 + '0');
      for (int i = (0); i <= (tmp / 9 - 1); i++) s += '9';
      s += '8';
    }
  }
  for (int j = (0); j <= (i - 1); j++) s += '9';
  s += (k + '0');
  return s;
}
void check(string &a, string b) {
  if (!((int)(a).size()))
    a = b;
  else if (((int)(a).size()) > ((int)(b).size()))
    a = b;
  else if (a.size() == b.size())
    if (a > b) a = b;
}
long long calc(long long i, long long j, long long k, long long l) {
  if (k + l > 9) {
    long long p = 9 - k;
    long long sum = (p + 1) * j + (1 + p) * p / 2;
    return calc(0, j - i * 9 - k + 1, 0, l - p - 1) + sum;
  } else
    return (l + 1) * l / 2 + (l + 1) * j;
}
int main() {
  scanf("%lld", &t);
  for (int i = (0); i <= (17); i++)
    for (int k = (0); k <= (9); k++)
      for (int j = (k + 9 * i); j <= (150); j++)
        for (int p = (0); p <= (9); p++) {
          long long now = calc(i, j, k, p);
          if (now <= 150) check(ss[now][p], get(i, j, k));
        }
  while (t--) {
    scanf("%lld %lld", &n, &k);
    if (ss[n][k].size() == 0)
      puts("-1");
    else {
      cout << ss[n][k] << '\n';
    }
  }
  return 0;
}
