As the Fibonacci sequence expands to the Fibonacci n-step number sequences; We similarly expand the Padovan sequence to form these Padovan n-step number sequences.

The Fibonacci-like sequences can be defined like this:

   For n == 2:
       start:      1, 1
       Recurrence: R(n, x) = R(n, x-1) + R(n, x-2); for n == 2
   For n == N:
       start:      First N terms of R(N-1, x)
       Recurrence: R(N, x) = sum(R(N, x-1) + R(N, x-2) + ... R(N, x-N))

For this task we similarly define terms of the first 2..n-step Padovan sequences as:

   For n == 2:
       start:      1, 1, 1
       Recurrence: R(n, x) = R(n, x-2) + R(n, x-3); for n == 2
   For n == N:
       start:      First N + 1 terms of R(N-1, x)
       Recurrence: R(N, x) = sum(R(N, x-2) + R(N, x-3) + ... R(N, x-N-1))

The initial values of the sequences are:


 Padovan 



n


{\displaystyle n}

-step sequences


 



n


{\displaystyle n}

 
 Values 
 OEIS Entry


 2 
 1,1,1,2,2,3,4,5,7,9,12,16,21,28,37, ... 
 A134816: 'Padovan's spiral numbers'


 3 
 1,1,1,2,3,4,6,9,13,19,28,41,60,88,129, ... 
 A000930: 'Narayana's cows sequence'


 4 
 1,1,1,2,3,5,7,11,17,26,40,61,94,144,221, ... 
 A072465: 'A Fibonacci-like model in which each pair of rabbits dies after the birth of their 4th litter'


 5 
 1,1,1,2,3,5,8,12,19,30,47,74,116,182,286, ... 
 A060961: 'Number of compositions (ordered partitions) of n into 1's, 3's and 5's'


 6 
 1,1,1,2,3,5,8,13,20,32,51,81,129,205,326, ... 
 <not found>


 7 
 1,1,1,2,3,5,8,13,21,33,53,85,136,218,349, ... 
 A117760: 'Expansion of 1/(1 - x - x^3 - x^5 - x^7)'


 8 
 1,1,1,2,3,5,8,13,21,34,54,87,140,225,362, ... 
 <not found>




Task

 Write a function to generate the first 



t


{\displaystyle t}

 terms, of the first 2..max_n Padovan 



n


{\displaystyle n}

-step number sequences as defined above.
 Use this to print and show here at least the first t=15 values of the first 2..8 



n


{\displaystyle n}

-step sequences.
 (The OEIS column in the table above should be omitted).


BEGIN # show some valuies of the Padovan n-step number sequences  #
    # returns an array with the elements set to the elements of   #
    # the Padovan sequences from 2 to max s & elements 1 to max e #
    # max s must be >= 2                                          #
    PROC padovan sequences = ( INT max s, max e )[,]INT:
         BEGIN
            PRIO MIN = 1;
            OP   MIN = ( INT a, b )INT: IF a < b THEN a ELSE b FI;
            # sequence 2                                          #
            [ 2 : max s, 1 : max e ]INT r;
            FOR x TO max e MIN 3 DO r[ 2, x ] := 1 OD;
            FOR x FROM 4 TO max e DO r[ 2, x ] := r[ 2, x - 2 ] + r[ 2, x - 3 ] OD;
            # sequences 3 and above                               #
            FOR n FROM 3 TO max s DO
                FOR x TO max e MIN n + 1 DO r[ n, x ] := r[ n - 1, x ] OD;
                FOR x FROM n + 2 TO max e DO
                    r[ n, x ] := 0;
                    FOR p FROM x - n - 1 TO x - 2 DO r[ n, x ] +:= r[ n, p ] OD
                OD
            OD;
            r
         END # padovan sequences # ;
    # calculate and show the sequences                            #
    [,]INT r = padovan sequences( 8, 15 );
    print( ( "Padovan n-step sequences:", newline ) );
    FOR n FROM 1 LWB r TO 1 UPB r DO
        print( ( whole( n, 0 ), " |" ) );
        FOR x FROM 2 LWB r TO 2 UPB r DO print( ( " ", whole( r[ n, x ], -3 ) ) ) OD;
        print( ( newline ) )
    OD
END