#include <iostream>
class Test
{
struct Impl
{
int a;
int operator[](int b)
{ return a * b; }
};
public:
auto operator[](int a)
{ return Impl{a}; }
};
int main() {
Test data;
std::cout << data[7][6] << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgVGVzdAp7CnN0cnVjdCBJbXBsCnsKaW50IGE7CmludCBvcGVyYXRvcltdKGludCBiKQp7IHJldHVybiBhICogYjsgfQp9OwpwdWJsaWM6CmF1dG8gb3BlcmF0b3JbXShpbnQgYSkKeyByZXR1cm4gSW1wbHthfTsgfQp9OwoKaW50IG1haW4oKSB7CglUZXN0IGRhdGE7CiAgICBzdGQ6OmNvdXQgPDwgZGF0YVs3XVs2XSA8PCBzdGQ6OmVuZGw7CglyZXR1cm4gMDsKfQ==