#include #include #include using namespace std; using pii = pair; using vp = vector; int main() { int p, q; cin >> p >> q; if (p == 1) { cout << "Impossible" << endl; return 0; } cout << "Possible" << endl; int k = (2 * q / p) / 2; int x = 0, y = 0; vp ans(1, {x, y}); for (int i = 0; i < k; i++) { for (int j = 0; j < k - i; j++) { ans.emplace_back(x, --y); } for (int j = 0; j < k - i; j++) { ans.emplace_back(++x, y); } for (int j = 0; j < k - i; j++) { ans.emplace_back(x, ++y); } for (int j = 0; j < i + 1; j++) { ans.emplace_back(x, ++y); } for (int j = 0; j < i + 1; j++) { ans.emplace_back(++x, y); } for (int j = 0; j < i + 1; j++) { ans.emplace_back(x, --y); } } cout << (int)ans.size() - 1 << endl; for (auto [x, y] : ans) { cout << x << " " << y << endl; } return 0; }