Growing Quine Sequence You are to write a sequence of 10 programs p1 p2 ... p10 that satisfy the following properties:


pK prints pK+1 for K from 1 to 9
p10 prints p10
When the first K programs are concatenated, the resulting program p1...pK prints p1...pK.
Each program pK must be larger in byte size than the previous program pK-1.
All programs must be in the same language.
Built-in quining functions (e.g. Q in many languages) are allowed.


Your score is the sum of the byte counts of the 10 programs. Since there are only ten programs, you must make your codes as short as possible. Good luck.
Seriously, 245 bytes:

All ten programs concatenated:

Q9ucQc8&lt;WX#dXεj0WX.Q9ucQc8&lt;WX#dXεj0WX.
Q9ucQc8&lt;WX#dXεj0WX.

Q9ucQc8&lt;WX#dXεj0WX.


Q9ucQc8&lt;WX#dXεj0WX.



Q9ucQc8&lt;WX#dXεj0WX.




Q9ucQc8&lt;WX#dXεj0WX.





Q9ucQc8&lt;WX#dXεj0WX.






Q9ucQc8&lt;WX#dXεj0WX.







Q9ucQc8&lt;WX#dXεj0WX.











There are invisible characters that become visible when executed, a strange property of byte 7F. The trailing newlines on each program are significant. In fact, Seriously automatically appends newlines to its output whether you want it to or not. This just counts the number of newlines in the output, and as soon as that number exceeds 8, it deletes the last character of output. As such, p1..pK will print p1..pK for all K>4.

Q                                  Push source code.
 9uc                               Push \n
    Qc                             Push the number of times it appears in source code.
      8&lt;                           Check if it appears more than 8 times.
        WX     0WX                 If so, run the included code.
          #dX                      Convert string to list, dequeue and discard a newline.
             εj                    Join list back into string.
                  .                Print and halt. (Invisible byte here.)