## Код:
```
PROCEDURE Inc;
      PROCEDURE inc (i: INTEGER);
      BEGIN
         INC(indices[i]);
         IF indices[i] > upperBound[i] THEN
            indices[i] := lowerBound[i];
            IF i > 0 THEN
               inc(i-1)
            ELSE
               completed := TRUE
            END
         END
      END inc;
   BEGIN
      inc(rank-1)
   END Inc;
```
