using
System;
class
GFG{
static
void
findOriginalMatrix(
int
[,] B,
int
N,
int
M)
{
int
[,] A =
new
int
[N, M];
for
(
int
i = 0; i < N; ++i)
{
for
(
int
j = 0; j < M; ++j)
{
A[i, j] = 1;
}
}
for
(
int
i = 0; i < N; ++i)
{
for
(
int
j = 0; j < M; ++j)
{
if
(B[i, j] == 0)
{
for
(
int
k = 0; k < M; ++k)
{
A[i, k] = 0;
}
for
(
int
k = 0; k < N; ++k)
{
A[k, j] = 0;
}
}
}
}
for
(
int
i = 0; i < N; ++i)
{
for
(
int
j = 0; j < M; ++j)
{
int
c = 0;
for
(
int
k = 0; k < M; ++k)
{
if
(c == 1)
break
;
c += A[i, k];
}
for
(
int
k = 0; k < N; ++k)
{
if
(c == 1)
break
;
c += A[k, j];
}
if
(c != B[i, j])
{
Console.WriteLine(
"Not Possible"
);
return
;
}
}
}
for
(
int
i = 0; i < N; ++i)
{
for
(
int
j = 0; j < M; ++j)
{
Console.Write(A[i, j] +
" "
);
}
Console.WriteLine();
}
}
static
public
void
Main()
{
int
[,] B =
new
int
[,]{ { 1, 1, 1 },
{ 1, 1, 1 } };
int
N = B.GetLength(0);
int
M = B.GetLength(1);
findOriginalMatrix(B, N, M);
}
}