begin
   integer array
     EQ[1 : 9];
   integer
     I;
   real
     X,
     Y;
   procedure PRINT EQ;
      for I ≔ 1 step 1 until 9 do
           OUTREAL(99, EQ[I]);
   procedure TEST(A, B, C);
      value
        A,
        B,
        C;
      real
        A,
        B,
        C;
   begin
      procedure INC(A, B, I);
         value
           A,
           B,
           I;
         real
           A,
           B;
           integer
           I;
         if A < B then
           EQ[I] ≔ EQ[I]+ 1
           else if A = B then
           EQ[I + 1] ≔ EQ[I + 1]+ 1
         else
           EQ[I + 2] ≔ EQ[I + 2]+ 1;
      INC(A, B, 1);
      INC(B, C, 4);
      INC(C, A, 7)
   end;
   for I ≔ 1 step 1 until 9 do
        EQ[I] ≔ 0;
   I ≔ 1;
   for X ≔      0·01,    0·02,    0·03,    0·04,    0·05,
     0·06,    0·07,    0·08,    0·09,    0·10,
     0·11,    0·12,    0·13,    0·14,    0·15,
     0·16,    0·17,    0·18,    0·19,    0·20,
     0·21,    0·22,    0·23,    0·24,    0·25,
     0·26,    0·27,    0·28,    0·29,    0·30,
     0·31,    0·32,    0·33,    0·34,    0·35,
     0·36,    0·37,    0·38,    0·39,    0·40,
     0·41,    0·42,    0·43,    0·44,    0·45,
     0·46,    0·47,    0·48,    0·49,    0·50,
     0·51,    0·52,    0·53,    0·54,    0·55,
     0·56,    0·57,    0·58,    0·59,    0·60,
     0·61,    0·62,    0·63,    0·64,    0·65,
     0·66,    0·67,    0·68,    0·69,    0·70,
     0·71,    0·72,    0·73,    0·74,    0·75,
     0·76,    0·77,    0·78,    0·79,    0·80,
     0·81,    0·82,    0·83,    0·84,    0·85,
     0·86,    0·87,    0·88,    0·89,    0·90,
     0·91,    0·92,    0·93,    0·94,    0·95,
     0·96,    0·97,    0·98,    0·99,    1·00
     do
      begin
         INREAL(98, Y);
         TEST(X, Y, I / 100);
         I ≔ I + 1
      end;
   PRINTEQ;
   I ≔ 1;
   for X ≔      100·01,  100·02,  100·03,  100·04,  100·05,
     100·06,  100·07,  100·08,  100·09,  100·10,
     100·11,  100·12,  100·13,  100·14,  100·15,
     100·16,  100·17,  100·18,  100·19,  100·20,
     100·21,  100·22,  100·23,  100·24,  100·25,
     100·26,  100·27,  100·28,  100·29,  100·30,
     100·31,  100·32,  100·33,  100·34,  100·35,
     100·36,  100·37,  100·38,  100·39,  100·40,
     100·41,  100·42,  100·43,  100·44,  100·45,
     100·46,  100·47,  100·48,  100·49,  100·50,
     100·51,  100·52,  100·53,  100·54,  100·55,
     100·56,  100·57,  100·58,  100·59,  100·60,
     100·61,  100·62,  100·63,  100·64,  100·65,
     100·66,  100·67,  100·68,  100·69,  100·70,
     100·71,  100·72,  100·73,  100·74,  100·75,
     100·76,  100·77,  100·78,  100·79,  100·80,
     100·81,  100·82,  100·83,  100·84,  100·85,
     100·86,  100·87,  100·88,  100·89,  100·90,
     100·91,  100·92,  100·93,  100·94,  100·95,
     100·96,  100·97,  100·98,  100·99,  101·00
     do
      begin
         INREAL(98, Y);
         TEST(X, Y, 100 + I / 100);
         I ≔ I + 1
      end;
   PRINTEQ;
   I ≔ 1;
   for X ≔      10000·01,10000·02,10000·03,10000·04,10000·05,
     10000·06,10000·07,10000·08,10000·09,10000·10,
     10000·11,10000·12,10000·13,10000·14,10000·15,
     10000·16,10000·17,10000·18,10000·19,10000·20,
     10000·21,10000·22,10000·23,10000·24,10000·25,
     10000·26,10000·27,10000·28,10000·29,10000·30,
     10000·31,10000·32,10000·33,10000·34,10000·35,
     10000·36,10000·37,10000·38,10000·39,10000·40,
     10000·41,10000·42,10000·43,10000·44,10000·45,
     10000·46,10000·47,10000·48,10000·49,10000·50,
     10000·51,10000·52,10000·53,10000·54,10000·55,
     10000·56,10000·57,10000·58,10000·59,10000·60,
     10000·61,10000·62,10000·63,10000·64,10000·65,
     10000·66,10000·67,10000·68,10000·69,10000·70,
     10000·71,10000·72,10000·73,10000·74,10000·75,
     10000·76,10000·77,10000·78,10000·79,10000·80,
     10000·81,10000·82,10000·83,10000·84,10000·85,
     10000·86,10000·87,10000·88,10000·89,10000·90,
     10000·91,10000·92,10000·93,10000·94,10000·95,
     10000·96,10000·97,10000·98,10000·99,10001·00
     do
      begin
         INREAL(98, Y);
         TEST(X, Y, 10000 + I / 100);
         I ≔ I + 1
      end;
   PRINTEQ;
   I ≔ 2;
   for X ≔      0·33333333333333333333,0·12500000000000000000,0·06666666666666666667,
     0·04166666666666666667,0·02857142857142857143,0·02083333333333333333,
     0·01587301587301587302,0·01250000000000000000,0·01010101010101010101,
     0·00833333333333333333,0·00699300699300699301,0·00595238095238095238,
     0·00512820512820512821,0·00446428571428571429,0·00392156862745098039,
     0·00347222222222222222,0·00309597523219814241,0·00277777777777777778,
     0·00250626566416040100,0·00227272727272727273,0·00207039337474120083,
     0·00189393939393939394,0·00173913043478260870,0·00160256410256410256,
     0·00148148148148148148,0·00137362637362637363,0·00127713920817369093,
     0·00119047619047619048,0·00111234705228031146,0·00104166666666666667,
     0·00097751710654936461,0·00091911764705882353,0·00086580086580086580,
     0·00081699346405228758,0·00077220077220077220,0·00073099415204678363,
     0·00069300069300069300,0·00065789473684210526,0·00062539086929330832,
     0·00059523809523809524,0·00056721497447532615,0·00054112554112554113,
     0·00051679586563307494,0·00049407114624505929,0·00047281323877068558,
     0·00045289855072463768,0·00043421623968736431,0·00041666666666666667,
     0·00040016006402561024,0·00038461538461538462,0·00036995930447650758,
     0·00035612535612535613,0·00034305317324185249,0·00033068783068783069,
     0·00031897926634768740,0·00030788177339901478,0·00029735355337496283,
     0·00028735632183908046,0·00027785495971103084,0·00026881720430107527,
     0·00026021337496747333,0·00025201612903225806,0·00024420024420024420,
     0·00023674242424242424,0·00022962112514351320,0·00022281639928698752,
     0·00021630975556997621,0·00021008403361344538,0·00020412329046744234,
     0·00019841269841269841,0·00019293845263360988,0·00018768768768768769,
     0·00018264840182648402,0·00017780938833570413,0·00017316017316017316,
     0·00016869095816464238,0·00016439256945586060,0·00016025641025641026,
     0·00015627441787779341,0·00015243902439024390,0·00014874312063067083,
     0·00014518002322880372,0·00014174344436569809,0·00013842746400885936,
     0·00013522650439486139,0·00013213530655391121,0·00012914890869172155,
     0·00012626262626262626,0·00012347203358439313,0·00012077294685990338,
     0·00011816140848398913,0·00011563367252543941,0·00011318619128466327,
     0·00011081560283687943,0·00010851871947911015,0·00010629251700680272,
     0·00010413412475268145,0·00010204081632653061,0·00010001000100010001
     do
      begin
         INREAL(98, Y);
         TEST(X, Y, 1 / ( I × I - 1 ) );
         I ≔ I + 1
      end;
   PRINTEQ;
end