PROGRAM MultiplicationTable(Output);
    VAR
        I, J: Integer;
        A: Array[1..10] OF ARRAY[1..10] OF Integer;
BEGIN
    FOR I := 1 TO 10 DO
        FOR J := 1 TO 10 DO
            A[I][J] := I * J;

    Write(' ':5);
    FOR J := 1 TO 10 DO
        Write(J:5);
    WriteLn;

    Write('-----');
    FOR J := 1 TO 10 DO
        Write('-----');
    WriteLn;

    FOR I := 1 TO 10 DO BEGIN
        Write(I:3, ' |');
        FOR J := 1 TO 10 DO
            Write(A[I][J]:5);
        WriteLn
    END
END.
