fork download
  1. #include <string>
  2. #include <type_traits>
  3. #include <iostream>
  4.  
  5. template<int N> struct tag {};
  6.  
  7. template<typename T, int N>
  8. struct loophole_t
  9. {
  10. friend auto loophole(tag<N>) { return T{}; };
  11. };
  12.  
  13. #define BA(c) auto loophole(tag< (c) >);
  14. #define Cb(c) BA(c) BA(c+1) BA(c+2) BA(c+3) BA(c+4)
  15. #define KA(c) Cb(c) Cb(c+5) Cb(c+10) Cb(c+15) Cb(c+20)
  16. #define ZDES(c) KA(c) KA(c+20) KA(c+40) KA(c+60) KA(c+80)
  17. #define BACbKAZDES ZDES(0) ZDES(80) ZDES(160) ZDES(240) ZDES(300)
  18.  
  19. BACbKAZDES
  20.  
  21. template<int I>
  22. struct wrp
  23. {
  24. int a;
  25. };
  26. int main(void)
  27. {
  28. sizeof(loophole_t<wrp<67>, 0>);
  29. sizeof(loophole_t<wrp<66>, 1>);
  30. sizeof(loophole_t<wrp<68>, 2>);
  31. sizeof(loophole_t<wrp<99>, 3>);
  32. sizeof(loophole_t<wrp<76>, 4>);
  33. sizeof(loophole_t<wrp<66>, 5>);
  34. sizeof(loophole_t<wrp<33>, 6>);
  35. sizeof(loophole_t<wrp<73>, 7>);
  36. sizeof(loophole_t<wrp<66>, 8>);
  37. sizeof(loophole_t<wrp<68>, 9>);
  38. sizeof(loophole_t<wrp<85>, 10>);
  39. sizeof(loophole_t<wrp<70>, 11>);
  40. sizeof(loophole_t<wrp<79>, 12>);
  41. sizeof(loophole_t<wrp<99>, 13>);
  42. sizeof(loophole_t<wrp<76>, 14>);
  43. sizeof(loophole_t<wrp<66>, 15>);
  44. sizeof(loophole_t<wrp<33>, 16>);
  45. sizeof(loophole_t<wrp<109>, 17>);
  46. sizeof(loophole_t<wrp<112>, 18>);
  47. sizeof(loophole_t<wrp<119>, 19>);
  48. sizeof(loophole_t<wrp<102>, 20>);
  49.  
  50. std::string nactenbka;
  51. #define L(c, i) if(std::is_same< wrp< (c) >, decltype( loophole(tag< (i) >{}) )>::value) nactenbka.push_back((char)( c-1 ) );
  52. #define O(c, i) L(c, i) L(c+1, i) L(c+2, i) L(c+3, i) L(c+4, i)
  53. #define V(c, i) O(c, i) O(c+5, i) O(c+10,i) O(c+15,i) O(c+20,i)
  54. #define E(c, i) V(c, i) V(c+20,i) V(c+40,i) V(c+60,i) V(c+80,i)
  55. #define LOVE(c, i) E(c, i) V(c+80, i) V(c+100, i)
  56.  
  57. #define FORE(i) LOVE(0, i)
  58. #define VER(i) FORE(i) FORE(i+1) FORE(i+2) FORE(i+3) FORE(i+4)
  59. #define FOREVER VER(0) VER(5) VER(10) VER(15) FORE(20)
  60. FOREVER
  61.  
  62. std::cout << nactenbka << std::endl;
  63. return 0;
  64.  
  65. }
Success #stdin #stdout 0.01s 5660KB
stdin
Standard input is empty
stdout
BACbbKA HACTTENbbKA loveee