#include <iostream>
#include <type_traits>
using namespace std;
template <typename T>
typename std::enable_if<sizeof(T)<16, size_t>::type Align(T*)
{
return 10;
}
template <typename T>
typename std::enable_if<sizeof(T)>=16, size_t>::type Align(T*)
{
return 20;
}
//strategy for "int" type
size_t Align(int*)
{
return 18;
}
int main() {
// your code goes here
int i;
char j;
char f[1000];
std::cout << Align(&i) << std::endl;
std::cout << Align(&j) << std::endl;
std::cout << Align(&f) << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZV90cmFpdHM+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CnR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHNpemVvZihUKTwxNiwgc2l6ZV90Pjo6dHlwZSBBbGlnbihUKikKewogIHJldHVybiAxMDsKfQoKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CnR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmPHNpemVvZihUKT49MTYsIHNpemVfdD46OnR5cGUgQWxpZ24oVCopCnsKICByZXR1cm4gMjA7Cn0KCi8vc3RyYXRlZ3kgZm9yICJpbnQiIHR5cGUKc2l6ZV90IEFsaWduKGludCopCnsKICByZXR1cm4gMTg7Cn0KCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJaW50IGk7CgljaGFyIGo7CgljaGFyIGZbMTAwMF07CgkKCXN0ZDo6Y291dCA8PCBBbGlnbigmaSkgPDwgc3RkOjplbmRsOwoJc3RkOjpjb3V0IDw8IEFsaWduKCZqKSA8PCBzdGQ6OmVuZGw7CglzdGQ6OmNvdXQgPDwgQWxpZ24oJmYpIDw8IHN0ZDo6ZW5kbDsKCXJldHVybiAwOwp9