1  #define MASK(N) ((1UL << (N)) - 1)
       2  #define BITS(N) ((1UL << ((N) - 1)) + 2)
       3  
       4  #define FUNC(N) void f##N(long j) { if ((j & MASK(N)) >= BITS(N)) abort();}
       5  
       6  FUNC(3)
       7  FUNC(4)
       8  FUNC(5)
       9  FUNC(6)
      10  FUNC(7)
      11  FUNC(8)
      12  FUNC(9)
      13  FUNC(10)
      14  FUNC(11)
      15  FUNC(12)
      16  FUNC(13)
      17  FUNC(14)
      18  FUNC(15)
      19  FUNC(16)
      20  FUNC(17)
      21  FUNC(18)
      22  FUNC(19)
      23  FUNC(20)
      24  FUNC(21)
      25  FUNC(22)
      26  FUNC(23)
      27  FUNC(24)
      28  FUNC(25)
      29  FUNC(26)
      30  FUNC(27)
      31  FUNC(28)
      32  FUNC(29)
      33  FUNC(30)
      34  FUNC(31)
      35  
      36  int main ()
      37  {
      38    f3(0);
      39    f4(0);
      40    f5(0);
      41    f6(0);
      42    f7(0);
      43    f8(0);
      44    f9(0);
      45    f10(0);
      46    f11(0);
      47    f12(0);
      48    f13(0);
      49    f14(0);
      50    f15(0);
      51    f16(0);
      52    f17(0);
      53    f18(0);
      54    f19(0);
      55    f20(0);
      56    f21(0);
      57    f22(0);
      58    f23(0);
      59    f24(0);
      60    f25(0);
      61    f26(0);
      62    f27(0);
      63    f28(0);
      64    f29(0);
      65    f30(0);
      66    f31(0);
      67  
      68    exit(0);
      69  }