begin;
    comment 
    			ALGOL PRAKTIKUM, DR. KARL NICKEL, 1964,
    			PAGE 215 (AUFGABE 40)
    
    		``TEILSUMMEN-FORMEL NACH EULER.
    		  BEARBEITUNG NACH HERRN ULRICH ARNOLD.
    		  OPTIMUM''
    	
    ;
    integer K, N, U, T, L;
    integer array B[1 : 30], S[0 : 200];
    B[1] := 1;
    for K := 2 step 2 until K + 200 - B[K - 1] do
      begin;
        B[K] := B[K - 1] + K ÷ 2;
        B[K + 1] := B[K] + K + 1;
    end ;
    for N := 1 step 1 until 200 do
      begin;
        S[0] := N;
        U := -1;
        T := 0;
        L := N - 1;
        for K := 2 step 1 until K + L do
          begin;
            T := S[L] + T TIMES U;
            L := N - B[K];
            U := -U;
        end ;
        S[N] := ABS(T);
        VPRINT(N, S[N]);
    end ;
end ;