# your code goes here
def getMatrixMinor(m,i,j):
return [row[:j] + row[j+1:] for row in (m[:i]+m[i+1:])]
def Deternminant(m):
#base case for 2x2 matrix
if len(m) == 2:
return m[0][0]*m[1][1]-m[0][1]*m[1][0]
determinant = 0
for c in range(len(m)):
determinant += ((-1)**c)*m[0][c]*Deternminant(getMatrixMinor(m,0,c))
return determinant
n, m = map(int, input().split())
l = [[int(i) for i in input().split()] for j in range(n)]
det = Deternminant(l)
if n!=m or det == 0:
print('Inverse of a matrix is not possible')
else:
print('Inverse of a matrix is possible')
IyB5b3VyIGNvZGUgZ29lcyBoZXJlCmRlZiBnZXRNYXRyaXhNaW5vcihtLGksaik6CiAgICByZXR1cm4gW3Jvd1s6al0gKyByb3dbaisxOl0gZm9yIHJvdyBpbiAobVs6aV0rbVtpKzE6XSldCgpkZWYgRGV0ZXJubWluYW50KG0pOgogICAgI2Jhc2UgY2FzZSBmb3IgMngyIG1hdHJpeAogICAgaWYgbGVuKG0pID09IDI6CiAgICAgICAgcmV0dXJuIG1bMF1bMF0qbVsxXVsxXS1tWzBdWzFdKm1bMV1bMF0KCiAgICBkZXRlcm1pbmFudCA9IDAKICAgIGZvciBjIGluIHJhbmdlKGxlbihtKSk6CiAgICAgICAgZGV0ZXJtaW5hbnQgKz0gKCgtMSkqKmMpKm1bMF1bY10qRGV0ZXJubWluYW50KGdldE1hdHJpeE1pbm9yKG0sMCxjKSkKICAgIHJldHVybiBkZXRlcm1pbmFudAoKbiwgbSA9IG1hcChpbnQsIGlucHV0KCkuc3BsaXQoKSkKbCA9IFtbaW50KGkpIGZvciBpIGluIGlucHV0KCkuc3BsaXQoKV0gZm9yIGogaW4gcmFuZ2UobildCmRldCA9IERldGVybm1pbmFudChsKQppZiBuIT1tIG9yIGRldCA9PSAwOgoJcHJpbnQoJ0ludmVyc2Ugb2YgYSBtYXRyaXggaXMgbm90IHBvc3NpYmxlJykKZWxzZToKCXByaW50KCdJbnZlcnNlIG9mIGEgbWF0cml4IGlzIHBvc3NpYmxlJyk=