#include <stdio.h>
int main()
{
long long int masked = 5;
printf ("0 bit %0x\n", masked);
printf ("4 bits %1x\n", masked);
printf ("8 bits %2x\n", masked);
printf ("12 bits %3x\n", masked);
printf ("16 bits %4x\n", masked);
printf ("20 bits %5x\n", masked);
printf ("24 bits %6x\n", masked);
printf ("28 bits %7x\n", masked);
printf ("28 bits %8x\n", masked);
printf ("0 bit with trailing zeros %0x\n", masked);
printf ("4 bits with trailing zeros %01x\n", masked);
printf ("8 bits with trailing zeros %02x\n", masked);
printf ("12 bits with trailing zeros %03x\n", masked);
printf ("16 bits with trailing zeros %04x\n", masked);
printf ("20 bits with trailing zeros %05x\n", masked);
printf ("24 bits with trailing zeros %06x\n", masked);
printf ("28 bits with trailing zeros %07x\n", masked);
printf ("32 bits with trailing zeros %08x\n", masked);
printf ("0 bit with trailing zeros %0llx\n", masked);
printf ("4 bits with trailing zeros %01llx\n", masked);
printf ("8 bits with trailing zeros %02llx\n", masked);
printf ("12 bits with trailing zeros %03llx\n", masked);
printf ("16 bits with trailing zeros %04llx\n", masked);
printf ("20 bits with trailing zeros %05llx\n", masked);
printf ("24 bits with trailing zeros %06llx\n", masked);
printf ("28 bits with trailing zeros %07llx\n", masked);
printf ("32 bits with trailing zeros %08llx\n", masked);
return 0;
}