#include <iostream>
using namespace std;
struct point {
int state;
int manh;
int done;
};
int const n = 1;
int const m = 1;
point pole[n][m] = {{1, 2, 3}};
void print(int point::* member) {
for (int j = 0; j < n; j++)
cout << "--";
cout << '-' << endl;
for (int i = 0; i < m; i++) {
cout << '|';
for (int j = 0; j < n; j++)
cout << pole[i][j].*member << '|';
cout << endl;
for (int j = 0; j < n; j++)
cout <<"--";
cout << '-' << endl;
}
}
int main() {
print(&point::state);
print(&point::manh);
print(&point::done);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKc3RydWN0IHBvaW50IHsKICAgIGludCBzdGF0ZTsKICAgIGludCBtYW5oOwogICAgaW50IGRvbmU7Cn07CiAKaW50IGNvbnN0IG4gPSAxOwppbnQgY29uc3QgbSA9IDE7CnBvaW50IHBvbGVbbl1bbV0gPSB7ezEsIDIsIDN9fTsKCgoKdm9pZCBwcmludChpbnQgcG9pbnQ6OiogbWVtYmVyKSB7CiAgICBmb3IgKGludCBqID0gMDsgaiA8IG47IGorKykKICAgICAgICBjb3V0IDw8ICItLSI7CiAgICBjb3V0IDw8ICctJyA8PCBlbmRsOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtOyBpKyspIHsKICAgICAgICBjb3V0IDw8ICd8JzsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IG47IGorKykKICAgICAgICAgICAgY291dCA8PCBwb2xlW2ldW2pdLiptZW1iZXIgPDwgJ3wnOwogICAgICAgIGNvdXQgPDwgZW5kbDsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IG47IGorKykKICAgICAgICAgICAgY291dCA8PCItLSI7CiAgICAgICAgY291dCA8PCAnLScgPDwgZW5kbDsKICAgIH0KfQoKaW50IG1haW4oKSB7CglwcmludCgmcG9pbnQ6OnN0YXRlKTsKCXByaW50KCZwb2ludDo6bWFuaCk7CglwcmludCgmcG9pbnQ6OmRvbmUpOwp9