#include <iostream>
#include <type_traits>
template<class T>
void wiegross(T&&) {
typedef typename std::remove_reference<T&&>::type Tnoref;
std::cout << sizeof(Tnoref) << std::endl;
}
int main() {
int i = 23;
double d = 42;
int* p = &i;
wiegross([&]{return *p*i+d;});
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZV90cmFpdHM+Cgp0ZW1wbGF0ZTxjbGFzcyBUPgp2b2lkIHdpZWdyb3NzKFQmJikgewogICAgdHlwZWRlZiB0eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8VCYmPjo6dHlwZSBUbm9yZWY7CiAgICBzdGQ6OmNvdXQgPDwgc2l6ZW9mKFRub3JlZikgPDwgc3RkOjplbmRsOwp9CgppbnQgbWFpbigpIHsKICAgIGludCBpID0gMjM7CiAgICBkb3VibGUgZCA9IDQyOwogICAgaW50KiBwID0gJmk7CiAgICB3aWVncm9zcyhbJl17cmV0dXJuICpwKmkrZDt9KTsKfQo=