#include <bits/stdc++.h>
using namespace std;
pair<int, int> wyniki[5];
bool proba(int a, int b, int ile) {
  for (int i = 0; i < 5; i++) wyniki[i].first = wyniki[i].second = 0;
  if (ile == 0) {
    wyniki[0].first = 25;
    wyniki[1].first = 25;
    wyniki[2].first = 25;
    a -= 75;
    if (a < 0) return false;
    wyniki[0].second = min(23, b);
    b -= wyniki[0].second;
    if (a > 0) {
      if (a > b || wyniki[0].second != 23) return false;
      wyniki[0].first += a;
      wyniki[0].second += a;
      b -= a;
    }
    wyniki[1].second = min(23, b);
    b -= wyniki[1].second;
    wyniki[2].second = min(23, b);
    b -= wyniki[2].second;
    if (b > 0) return false;
    return true;
  } else if (ile == 1) {
    wyniki[0].first = 25;
    wyniki[1].first = 25;
    wyniki[2].second = 25;
    wyniki[3].first = 25;
    a -= 75;
    b -= 25;
    if (a < 0) return false;
    if (b < 0) return false;
    if (b - 69 > a - 23) {
      wyniki[0].second = min(23, b);
      b -= wyniki[0].second;
      wyniki[1].second = min(23, b);
      b -= wyniki[1].second;
      wyniki[3].second = min(23, b);
      b -= wyniki[3].second;
      if (b > 0) {
        if (b > a) return false;
        wyniki[0].first += b;
        wyniki[0].second += b;
        a -= b;
      }
      wyniki[2].first = min(23, a);
      a -= wyniki[2].first;
      if (a > 0) return false;
    } else {
      wyniki[2].first = min(23, a);
      a -= wyniki[2].first;
      if (a > 0) {
        if (a > b) return false;
        wyniki[2].first += a;
        wyniki[2].second += a;
        b -= a;
      }
      wyniki[0].second = min(23, b);
      b -= wyniki[0].second;
      wyniki[1].second = min(23, b);
      b -= wyniki[1].second;
      wyniki[3].second = min(23, b);
      b -= wyniki[3].second;
      if (b > 0) return false;
    }
    return true;
  } else {
    wyniki[0].first = 25;
    wyniki[1].first = 25;
    wyniki[2].second = 25;
    wyniki[3].second = 25;
    wyniki[4].first = 15;
    a -= 65;
    b -= 50;
    if (a < 0) return false;
    if (b < 0) return false;
    if (b - 59 > a - 46) {
      wyniki[0].second = min(23, b);
      b -= wyniki[0].second;
      wyniki[1].second = min(23, b);
      b -= wyniki[1].second;
      wyniki[4].second = min(13, b);
      b -= wyniki[4].second;
      if (b > 0) {
        if (b > a) return false;
        wyniki[0].first += b;
        wyniki[0].second += b;
        a -= b;
      }
      wyniki[2].first = min(23, a);
      a -= wyniki[2].first;
      wyniki[3].first = min(23, a);
      a -= wyniki[3].first;
      if (a > 0) return false;
    } else {
      wyniki[2].first = min(23, a);
      a -= wyniki[2].first;
      wyniki[3].first = min(23, a);
      a -= wyniki[3].first;
      if (a > 0) {
        if (a > b) return false;
        wyniki[2].first += a;
        wyniki[2].second += a;
        b -= a;
      }
      wyniki[0].second = min(23, b);
      b -= wyniki[0].second;
      wyniki[1].second = min(23, b);
      b -= wyniki[1].second;
      wyniki[4].second = min(13, b);
      b -= wyniki[4].second;
      if (b > 0) return false;
    }
    return true;
  }
}
void solve() {
  int a, b;
  cin >> a >> b;
  if (proba(a, b, 0)) {
    cout << "3:0"
         << "\n";
    for (int i = 0; i < 3; i++)
      cout << wyniki[i].first << ":" << wyniki[i].second << " ";
    return;
  }
  if (proba(a, b, 1)) {
    cout << "3:1"
         << "\n";
    for (int i = 0; i < 4; i++)
      cout << wyniki[i].first << ":" << wyniki[i].second << " ";
    return;
  }
  if (proba(a, b, 2)) {
    cout << "3:2"
         << "\n";
    for (int i = 0; i < 5; i++)
      cout << wyniki[i].first << ":" << wyniki[i].second << " ";
    return;
  }
  if (proba(b, a, 2)) {
    cout << "2:3"
         << "\n";
    for (int i = 0; i < 5; i++)
      cout << wyniki[i].second << ":" << wyniki[i].first << " ";
    return;
  }
  if (proba(b, a, 1)) {
    cout << "1:3"
         << "\n";
    for (int i = 0; i < 4; i++)
      cout << wyniki[i].second << ":" << wyniki[i].first << " ";
    return;
  }
  if (proba(b, a, 0)) {
    cout << "0:3"
         << "\n";
    for (int i = 0; i < 3; i++)
      cout << wyniki[i].second << ":" << wyniki[i].first << " ";
    return;
  }
  cout << "Impossible";
}
int main() {
  int t;
  cin >> t;
  while (t--) {
    solve();
    cout << "\n";
  }
  return 0;
}
