#include <iostream>
#include <limits.h>
using namespace std;
struct type_t {
int a;
int b;
};
int main() {
const int x(5000), y(5000), z(5000);
type_t*** a;
/* L1 Alloc */
a = new(nothrow) type_t** [x];
if( a == nullptr ) cerr << "Error at L1!" << endl;
/* L2 Alloc */
for( int i = 0; i < x; i++) {
a[i] = new(nothrow) type_t* [y];
if( a[i] == nullptr ) {
cout << "Error at L2!" << endl;
abort();
}
}
/* L3 Alloc */
for( int i = 0; i < x; i++) {
for( int j = 0; j < y; j++) {
a[i][j] = new(nothrow) type_t [z];
if( a[i][j] == nullptr ) {
cout << "Error at L3!" << endl;
abort();
}
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bGltaXRzLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKc3RydWN0IHR5cGVfdCB7CiAgICBpbnQgYTsKICAgIGludCBiOwp9OwogCmludCBtYWluKCkgewogICAgCiAgICBjb25zdCBpbnQgeCg1MDAwKSwgeSg1MDAwKSwgeig1MDAwKTsKICAgIAogICAgdHlwZV90KioqIGE7CiAgICAKICAgIC8qIEwxIEFsbG9jICovCiAgICBhID0gbmV3KG5vdGhyb3cpIHR5cGVfdCoqIFt4XTsKICAgIGlmKCBhID09IG51bGxwdHIgKSBjZXJyIDw8ICJFcnJvciBhdCBMMSEiIDw8IGVuZGw7CiAgICAKICAgIC8qIEwyIEFsbG9jICovCiAgICBmb3IoIGludCBpID0gMDsgaSA8IHg7IGkrKykgewogICAgICAgIGFbaV0gPSBuZXcobm90aHJvdykgdHlwZV90KiBbeV07CiAgICAgICAgaWYoIGFbaV0gPT0gbnVsbHB0ciApIHsKICAgICAgICAgICAgY291dCA8PCAiRXJyb3IgYXQgTDIhIiA8PCBlbmRsOwogICAgICAgICAgICBhYm9ydCgpOwogICAgICAgIH0KICAgIH0KICAgIAogICAgLyogTDMgQWxsb2MgKi8KICAgIGZvciggaW50IGkgPSAwOyBpIDwgeDsgaSsrKSB7CiAgICAgICAgZm9yKCBpbnQgaiA9IDA7IGogPCB5OyBqKyspIHsKICAgICAgICAgICAgYVtpXVtqXSA9IG5ldyhub3Rocm93KSB0eXBlX3QgW3pdOwogICAgICAgICAgICBpZiggYVtpXVtqXSA9PSBudWxscHRyICkgewogICAgICAgICAgICAgICAgY291dCA8PCAiRXJyb3IgYXQgTDMhIiA8PCBlbmRsOwogICAgICAgICAgICAgICAgYWJvcnQoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIAogICAgcmV0dXJuIDA7Cn0=