#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cmath>
using namespace std;
int main()
{
srand(time(NULL));
int width = 8;
int height = 8;
int blok[8][8];
int suma = 0;
for(int y = 0; y < height; y++) {
for(int x = 0; x < width; x++) {
int a;
cin >> a;
blok[x][y] = a;
}
}
int transformatakosinusowa[8][8];
for(int k = 0; k < height/8; k++) {
for(int l = 0; l < width/8; l++) {
float c_u, c_v;
for(int u = 0; u < 8; u++) {
for(int v = 0; v < 8; v++) {
if(u == 0) c_u = 1/sqrt(2); else c_u = 1;
if(v == 0) c_v = 1/sqrt(2); else c_v = 1;
suma = 0;
for(int x = 0; x < 8; x++) {
for(int y = 0; y < 8; y++) {
suma += blok[x][y] * cos(((2*x+1)/16)*u*M_PI) * cos(((2*y+1)/16)*v*M_PI);
}
}
transformatakosinusowa[u][v] = c_u*c_v*suma/4;
cout << u << " " << v << " " << blok[u][v] << " " << transformatakosinusowa[u][v] << "\n";
}
}
}
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGN0aW1lPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CiAgICBzcmFuZCh0aW1lKE5VTEwpKTsKICAgIGludCB3aWR0aCA9IDg7CiAgICBpbnQgaGVpZ2h0ID0gODsKICAgIGludCBibG9rWzhdWzhdOwogICAgaW50IHN1bWEgPSAwOwogICAgZm9yKGludCB5ID0gMDsgeSA8IGhlaWdodDsgeSsrKSB7CiAgICAgICAgZm9yKGludCB4ID0gMDsgeCA8IHdpZHRoOyB4KyspIHsKICAgICAgICAgICAgaW50IGE7CiAgICAgICAgICAgIGNpbiA+PiBhOwogICAgICAgICAgICBibG9rW3hdW3ldID0gYTsKICAgICAgICB9CiAgICB9CiAgICBpbnQgdHJhbnNmb3JtYXRha29zaW51c293YVs4XVs4XTsKICAgIGZvcihpbnQgayA9IDA7IGsgPCBoZWlnaHQvODsgaysrKSB7CiAgICAgICAgZm9yKGludCBsID0gMDsgbCA8IHdpZHRoLzg7IGwrKykgewogICAgICAgICAgICBmbG9hdCBjX3UsIGNfdjsKICAgICAgICAgICAgZm9yKGludCB1ID0gMDsgdSA8IDg7IHUrKykgewogICAgICAgICAgICAgICAgZm9yKGludCB2ID0gMDsgdiA8IDg7IHYrKykgewogICAgICAgICAgICAgICAgICAgIGlmKHUgPT0gMCkgY191ID0gMS9zcXJ0KDIpOyBlbHNlIGNfdSA9IDE7CiAgICAgICAgICAgICAgICAgICAgaWYodiA9PSAwKSBjX3YgPSAxL3NxcnQoMik7IGVsc2UgY192ID0gMTsKICAgICAgICAgICAgICAgICAgICBzdW1hID0gMDsKICAgICAgICAgICAgICAgICAgICBmb3IoaW50IHggPSAwOyB4IDwgODsgeCsrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvcihpbnQgeSA9IDA7IHkgPCA4OyB5KyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bWEgKz0gYmxva1t4XVt5XSAqIGNvcygoKDIqeCsxKS8xNikqdSpNX1BJKSAqIGNvcygoKDIqeSsxKS8xNikqdipNX1BJKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1hdGFrb3NpbnVzb3dhW3VdW3ZdID0gY191KmNfdipzdW1hLzQ7CiAgICAgICAgICAgICAgICAgICAgY291dCA8PCB1IDw8ICIgIiA8PCB2IDw8ICIgIiA8PCBibG9rW3VdW3ZdIDw8ICIgIiA8PCB0cmFuc2Zvcm1hdGFrb3NpbnVzb3dhW3VdW3ZdIDw8ICJcbiI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K
MTg2IDE5OCAxOTkgMTkwIDE4MiAxNzcgMTgyIDE5NwoxNzkgMTg0IDE4MyAxNzYgMTczIDE3MiAxNzUgMTg0CjE4OCAxODIgMTgwIDE3OCAxNzQgMTcyIDE3MSAxNjYKMTMyIDEzMCAxMzkgMTQ2IDE1MSAxNjkgMTkxIDIwMQoxMzEgMTM0IDEzNyAxNDAgMTM5IDEzOSAxMzkgMTM4CjE1MyAxNTcgMTYxIDE3MiAxNzcgMTQ1IDg5IDQ5CjE5MCAxNzggMTkyIDE5NiAxMjAgNDMgMzkgNDcKMTc2IDE4NCAxODcgMTEyIDQxIDM5IDQzIDQ0
186 198 199 190 182 177 182 197
179 184 183 176 173 172 175 184
188 182 180 178 174 172 171 166
132 130 139 146 151 169 191 201
131 134 137 140 139 139 139 138
153 157 161 172 177 145 89 49
190 178 192 196 120 43 39 47
176 184 187 112 41 39 43 44