#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
class CustomStack{
public :
int arr[ 1000 ] ;
int sz;
int mx;
CustomStack( int maxSize) {
mx = maxSize;
sz = 0 ;
}
void push( int x) {
if ( sz < mx) {
arr[ sz++ ] = x;
}
}
int pop( ) {
if ( sz== 0 ) {
return - 1 ;
}
return arr[ -- sz] ;
}
void increment( int k, int val) {
int i;
for ( i= ( 0 ) ; i< ( k) ; i++ ) {
arr[ i] + = val;
}
}
}
;
// cLay varsion 20200325-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// class CustomStack {
// public:
// int arr[1000], sz, mx;
// CustomStack(int maxSize) {
// mx = maxSize;
// sz = 0;
// }
//
// void push(int x) {
// if(sz < mx) arr[sz++] = x;
// }
//
// int pop() {
// if(sz==0) return -1;
// return arr[--sz];
// }
//
// void increment(int k, int val) {
// rep(i,k) arr[i] += val;
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbWFpbiBkdW1teV9tYWluCmludCBtYWluKCl7CiAgcmV0dXJuIDA7Cn0KI3VuZGVmIG1haW4KY2xhc3MgQ3VzdG9tU3RhY2t7CiAgcHVibGljOgogIGludCBhcnJbMTAwMF07CiAgaW50IHN6OwogIGludCBteDsKICBDdXN0b21TdGFjayhpbnQgbWF4U2l6ZSl7CiAgICBteCA9IG1heFNpemU7CiAgICBzeiA9IDA7CiAgfQogIHZvaWQgcHVzaChpbnQgeCl7CiAgICBpZihzeiA8IG14KXsKICAgICAgYXJyW3N6KytdID0geDsKICAgIH0KICB9CiAgaW50IHBvcCgpewogICAgaWYoc3o9PTApewogICAgICByZXR1cm4gLTE7CiAgICB9CiAgICByZXR1cm4gYXJyWy0tc3pdOwogIH0KICB2b2lkIGluY3JlbWVudChpbnQgaywgaW50IHZhbCl7CiAgICBpbnQgaTsKICAgIGZvcihpPSgwKTtpPChrKTtpKyspewogICAgICBhcnJbaV0gKz0gdmFsOwogICAgfQogIH0KfQo7Ci8vIGNMYXkgdmFyc2lvbiAyMDIwMDMyNS0xCgovLyAtLS0gb3JpZ2luYWwgY29kZSAtLS0KLy8gI2RlZmluZSBtYWluIGR1bW15X21haW4KLy8ge30KLy8gI3VuZGVmIG1haW4KLy8gCi8vIGNsYXNzIEN1c3RvbVN0YWNrIHsKLy8gcHVibGljOgovLyAgIGludCBhcnJbMTAwMF0sIHN6LCBteDsKLy8gICBDdXN0b21TdGFjayhpbnQgbWF4U2l6ZSkgewovLyAgICAgbXggPSBtYXhTaXplOwovLyAgICAgc3ogPSAwOwovLyAgIH0KLy8gCi8vICAgdm9pZCBwdXNoKGludCB4KSB7Ci8vICAgICBpZihzeiA8IG14KSBhcnJbc3orK10gPSB4OwovLyAgIH0KLy8gCi8vICAgaW50IHBvcCgpIHsKLy8gICAgIGlmKHN6PT0wKSByZXR1cm4gLTE7Ci8vICAgICByZXR1cm4gYXJyWy0tc3pdOwovLyAgIH0KLy8gCi8vICAgdm9pZCBpbmNyZW1lbnQoaW50IGssIGludCB2YWwpIHsKLy8gICAgIHJlcChpLGspIGFycltpXSArPSB2YWw7Ci8vICAgfQovLyB9Owo=