#include <bits/stdc++.h>
using namespace std;
int n;
inline bool TZ(int A, int B, bool id) {
  A -= 50;
  if (A < 25) return 0;
  int X = A - 2;
  if (A == 25) {
    if (B > 69) return 0;
    if (id == 0) {
      cout << "3:0" << '\n';
      cout << 25 << ":" << min(23, B) << " ";
      B -= min(23, B);
      cout << 25 << ":" << min(23, B) << " ";
      B -= min(23, B);
      cout << 25 << ":" << B << '\n';
      return 1;
    }
    cout << "0:3" << '\n';
    cout << min(23, B) << ":" << 25 << " ";
    B -= min(23, B);
    cout << min(23, B) << ":" << 25 << " ";
    B -= min(23, B);
    cout << B << ":" << 25 << '\n';
    return 1;
  }
  B -= X;
  if (B < 0 || B > 46) return 0;
  if (id == 0) {
    cout << "3:0" << '\n';
    cout << A << ":" << X << " ";
    cout << 25 << ":" << min(23, B) << " ";
    B -= min(23, B);
    cout << 25 << ":" << B << '\n';
    return 1;
  }
  cout << "0:3" << '\n';
  cout << X << ":" << A << " ";
  cout << min(23, B) << ":" << 25 << " ";
  B -= min(23, B);
  cout << B << ":" << 25 << '\n';
  return 1;
}
inline bool TO(int A, int B, bool id) {
  A -= 50;
  if (A < 25) return 0;
  for (int i = 0; i <= A - 25; i++) {
    int Y = max(i + 2, 25);
    int X = A - i;
    if (X == 25) {
      if (B < Y || B - Y > 69) continue;
      if (id == 0) {
        B -= Y;
        cout << "3:1" << '\n';
        cout << i << ":" << Y << " ";
        cout << 25 << ":" << min(23, B) << " ";
        B -= min(23, B);
        cout << 25 << ":" << min(23, B) << " ";
        B -= min(23, B);
        cout << 25 << ":" << B << '\n';
        return 1;
      }
      B -= Y;
      cout << "1:3" << '\n';
      cout << Y << ":" << i << " ";
      cout << min(23, B) << ":" << 25 << " ";
      B -= min(23, B);
      cout << min(23, B) << ":" << 25 << " ";
      B -= min(23, B);
      cout << B << ":" << 25 << '\n';
      return 1;
    }
    int YY = X - 2;
    if (B < Y + YY || B - Y - YY > 46) continue;
    if (id == 0) {
      B -= Y + YY;
      cout << "3:1" << '\n';
      cout << i << ":" << Y << " ";
      cout << X << ":" << YY << " ";
      cout << 25 << ":" << min(23, B) << " ";
      B -= min(23, B);
      cout << 25 << ":" << B << '\n';
      return 1;
    }
    B -= Y + YY;
    cout << "1:3" << '\n';
    cout << Y << ":" << i << " ";
    cout << YY << ":" << X << " ";
    cout << min(23, B) << ":" << 25 << " ";
    B -= min(23, B);
    cout << B << ":" << 25 << '\n';
    return 1;
  }
  return 0;
}
inline bool TT(int A, int B, bool id) {
  A = A - 50;
  B -= 25;
  if (A < 15 || B < 25) return 0;
  for (int i = 0; i <= 23; i++) {
    for (int j = 0; j <= A - i - 15; j++) {
      if (A - i - j < 15) continue;
      int X = max(j + 2, 25);
      if (B < X) continue;
      int Y = A - i - j;
      if (Y == 15) {
        if (B - X > 59) continue;
        if (id == 0) {
          B -= X;
          cout << "3:2" << '\n';
          cout << 25 << ":" << min(23, B) << " ";
          B -= min(23, B);
          cout << 25 << ":" << min(23, B) << " ";
          B -= min(23, B);
          cout << i << ":" << 25 << " ";
          cout << j << ":" << X << " ";
          cout << Y << ":" << B << '\n';
          return 1;
        }
        B -= X;
        cout << "2:3" << '\n';
        cout << min(23, B) << ":" << 25 << " ";
        B -= min(23, B);
        cout << min(23, B) << ":" << 25 << " ";
        B -= min(23, B);
        cout << 25 << ":" << i << " ";
        cout << X << ":" << j << " ";
        cout << B << ":" << Y << '\n';
        return 1;
      }
      int YY = Y - 2;
      if (B - X - YY < 0 || B - X - YY > 46) continue;
      if (id == 0) {
        B -= X + YY;
        cout << "3:2" << '\n';
        cout << 25 << ":" << min(23, B) << " ";
        B -= min(23, B);
        cout << 25 << ":" << min(23, B) << " ";
        B -= min(23, B);
        cout << i << ":" << 25 << " ";
        cout << j << ":" << X << " ";
        cout << Y << ":" << YY << '\n';
        return 1;
      }
      B -= X + YY;
      cout << "2:3" << '\n';
      cout << min(23, B) << ":" << 25 << " ";
      B -= min(23, B);
      cout << min(23, B) << ":" << 25 << " ";
      B -= min(23, B);
      cout << 25 << ":" << i << " ";
      cout << X << ":" << j << " ";
      cout << YY << ":" << Y << '\n';
      return 1;
    }
  }
  return 0;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> n;
  for (int i = 0, a, b; i < n; i++) {
    cin >> a >> b;
    if (TZ(a, b, 0)) continue;
    if (TO(a, b, 0)) continue;
    if (TT(a, b, 0)) continue;
    if (TT(b, a, 1)) continue;
    if (TO(b, a, 1)) continue;
    if (TZ(b, a, 1)) continue;
    cout << "Impossible" << '\n';
  }
  return 0;
}
