#include <bits/stdc++.h>
using namespace std;
void solve() {
  long long int a, b;
  cin >> a >> b;
  vector<vector<pair<long long int, long long int>>> d;
  d.push_back({{25, 0}, {25, 0}, {25, 0}});
  d.push_back({{25, 0}, {25, 0}, {26, 24}});
  d.push_back({{0, 25}, {25, 0}, {25, 0}, {26, 24}});
  d.push_back({{24, 26}, {25, 0}, {25, 0}, {25, 0}});
  d.push_back({{0, 25}, {25, 0}, {25, 0}, {25, 0}});
  d.push_back({{0, 25}, {0, 25}, {25, 0}, {25, 0}, {15, 0}});
  d.push_back({{24, 26}, {0, 25}, {25, 0}, {25, 0}, {15, 0}});
  d.push_back({{0, 25}, {0, 25}, {25, 0}, {25, 0}, {16, 14}});
  for (long long int i = 6; i >= 0; i--) {
    vector<pair<long long int, long long int>> r;
    for (auto p : d[i]) {
      r.push_back({p.second, p.first});
    }
    d.push_back(r);
  }
  for (auto v : d) {
    long long int za = 0, zb = 0;
    long long int ad = 0;
    for (auto &p : v) {
      za += p.first;
      zb += p.second;
      if (p.first == p.second + 2) {
        ad = 1;
        za -= p.first;
        zb -= p.second;
      } else if (p.second == p.first + 2) {
        ad = 2;
        za -= p.first;
        zb -= p.second;
      }
    }
    if ((za > a) || (zb > b)) continue;
    if (ad == 1) {
      for (auto &p : v) {
        if (b - zb < a - za - 2) {
          if (p.first == 0) {
            long long int temp = min(p.second - 2, a - za - 2 - (b - zb));
            za += temp;
            p.first += temp;
          }
        } else {
          if (p.second == 0) {
            long long int temp = min(p.first - 2, b - zb - (a - za - 2));
            zb += temp;
            p.second += temp;
          }
        }
      }
      if (za <= a && zb <= b) {
        if (!(a - za - 2 == b - zb)) continue;
        for (auto &p : v) {
          pair<long long int, long long int> p1 = {16, 14}, p2 = {26, 24};
          if ((p == p1) || (p == p2)) {
            za += p.first;
            zb += p.second;
            if (za <= a && zb <= b) {
              p.first += a - za;
              p.second += b - zb;
              za = a;
              zb = b;
            }
          }
        }
      }
    } else if (ad == 2) {
      for (auto &p : v) {
        if (a - za < b - zb - 2) {
          if (p.second == 0) {
            long long int temp = min(p.first - 2, b - zb - 2 - (a - za));
            zb += temp;
            p.second += temp;
          }
        } else {
          if (p.first == 0) {
            long long int temp = min(p.second - 2, a - za - (b - zb - 2));
            za += temp;
            p.first += temp;
          }
        }
      }
      if (za <= a && zb <= b) {
        if (!(b - zb - 2 == a - za)) continue;
        for (auto &p : v) {
          pair<long long int, long long int> p1 = {14, 16}, p2 = {24, 26};
          if ((p == p1) || (p == p2)) {
            za += p.first;
            zb += p.second;
            if (za <= a && zb <= b) {
              p.first += a - za;
              p.second += b - zb;
              za = a;
              zb = b;
            }
          }
        }
      }
    } else {
      for (auto &p : v) {
        if (za < a) {
          if (p.first == 0) {
            long long int temp = min(a - za, p.second - 2);
            p.first += temp;
            za += temp;
          }
        }
        if (zb < b) {
          if (p.second == 0) {
            long long int temp = min(b - zb, p.first - 2);
            p.second += temp;
            zb += temp;
          }
        }
      }
    }
    if (za == a && zb == b) {
      cout << '\n';
      long long int score[2] = {0};
      for (auto p : v) score[p.first > p.second]++;
      cout << score[1] << ":" << score[0] << '\n';
      assert(max(score[0], score[1]) == 3);
      score[0] = 0;
      score[1] = 0;
      for (auto p : v) {
        cout << p.first << ":" << p.second << " ";
        score[0] += p.first;
        score[1] += p.second;
      }
      assert((score[0] == a) && (score[1] == b));
      cout << '\n';
      return;
    }
  }
  cout << "\nImpossible\n";
  return;
}
signed main() {
  ios::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  long long int t;
  cin >> t;
  while (t--) {
    solve();
  }
  return 0;
}
