#include<cstdio>
#include<iostream>
using namespace std;
const int maxn = 110;
const int maxm = 110;
inline int qread() {
register int x = 0, ch = getchar();
while(!isdigit(ch)) ch = getchar();
while(isdigit(ch)) x = (x << 3) + (x << 1) + (ch ^ 48), ch = getchar();
return x;
}
double res[maxn], val[maxn][maxm];
int n, m;
int gause(){
if(m != n + 1) return 0;
for(int i = 1; i < n; ++i)
for(int j = i + 1; j <= n; ++j){
double t = val[j][i] / val[i][i];
for(int k = i; k <= m; ++k)
val[j][k] -= t * val[i][k];
}
for(int i = n; i >= 1; --i){
for(int j = n; j > i; --j)
val[i][m] -= val[i][j] * res[j];
if(!val[i][m]) return 0;
res[i] = val[i][m] / val[i][i];
}
return 1;
}
int main(void) {
n = 3, m = 4;
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= m; ++j)
val[i][j] = qread();
if(gause())
for(int i = 1; i <= n; ++i)
cout << res[i] << endl;
else
cout << "NO ANSWER!" << endl;
}