#include <iostream>
#include <tuple>
auto foo() {
return [](int x, int y){return x+y;};
}
int main() {
auto t = std::make_tuple( foo(), 7 );
std::cout << sizeof(t) << '\n';
std::cout << std::get<0>(t)( std::get<1>(t), 8 ) << '\n';
auto f1 = [](int x, int y) { return x+y; };
auto f2 = [f1](int y){ return f1(15,y); };
std::cout << sizeof(f1) << ',' << sizeof(f2) << '\n';
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHVwbGU+CgphdXRvIGZvbygpIHsKCXJldHVybiBbXShpbnQgeCwgaW50IHkpe3JldHVybiB4K3k7fTsKfQppbnQgbWFpbigpIHsKCWF1dG8gdCA9IHN0ZDo6bWFrZV90dXBsZSggZm9vKCksIDcgKTsKCXN0ZDo6Y291dCA8PCBzaXplb2YodCkgPDwgJ1xuJzsKCXN0ZDo6Y291dCA8PCBzdGQ6OmdldDwwPih0KSggc3RkOjpnZXQ8MT4odCksIDggKSA8PCAnXG4nOwoJCglhdXRvIGYxID0gW10oaW50IHgsIGludCB5KSB7IHJldHVybiB4K3k7IH07CglhdXRvIGYyID0gW2YxXShpbnQgeSl7IHJldHVybiBmMSgxNSx5KTsgfTsKCXN0ZDo6Y291dCA8PCBzaXplb2YoZjEpIDw8ICcsJyA8PCBzaXplb2YoZjIpIDw8ICdcbic7CgkKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCXJldHVybiAwOwp9