#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;
}