#include <bits/stdc++.h> // Tomasz Nowak
using namespace std;     // XIII LO Szczecin, Poland

template<class T>
struct MyArray {
	int offset;
	vector<T> vec;

	MyArray(int n, int off, T &&values = T()) {
		vec.resize(n, values);
		offset = off;
	}

	T& operator[](int i) {
		i += offset;
		assert(0 <= i and i < int(vec.size()));
		return vec[i];
	}
};

int main() {
	MyArray<MyArray<int>> dp(3, 1, MyArray<int>(3, 1));

	for(int i = -1; i <= 1; ++i)
		for(int j = -1; j <= 1; ++j) {
			dp[i][j] = i * j;
			cout << i << ' ' << j << ": " << dp[i][j] << '\n';
		}
}
