#include <iostream>
#include <limits>
#include <bitset>
#include <cstring>
using namespace std;
template <class T>
T umaxof()
{
T t;
memset(&t, 0xFF, sizeof(T));
return t;
}
template <class T>
size_t bitsof(const T& umax)
{
return bitset<sizeof(T)*8>(umax).count();
}
int main()
{
struct A
{
uint32_t bf1:19;
uint32_t bf2:1;
};
cout << bitsof(umaxof<A>().bf1) << "\n";
cout << bitsof(umaxof<A>().bf2) << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bGltaXRzPgojaW5jbHVkZSA8Yml0c2V0PgojaW5jbHVkZSA8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnRlbXBsYXRlIDxjbGFzcyBUPgpUIHVtYXhvZigpCnsKICAgICAgVCB0OwogICAgICBtZW1zZXQoJnQsIDB4RkYsIHNpemVvZihUKSk7CiAgICAgIHJldHVybiB0Owp9Cgp0ZW1wbGF0ZSA8Y2xhc3MgVD4Kc2l6ZV90IGJpdHNvZihjb25zdCBUJiB1bWF4KQp7CglyZXR1cm4gYml0c2V0PHNpemVvZihUKSo4Pih1bWF4KS5jb3VudCgpOwp9CgppbnQgbWFpbigpIAp7CglzdHJ1Y3QgQQoJewoJCXVpbnQzMl90IGJmMToxOTsKCQl1aW50MzJfdCBiZjI6MTsKCX07CgoJY291dCA8PCBiaXRzb2YodW1heG9mPEE+KCkuYmYxKSA8PCAiXG4iOwoJY291dCA8PCBiaXRzb2YodW1heG9mPEE+KCkuYmYyKSA8PCAiXG4iOwoJCglyZXR1cm4gMDsKfQ==