Generate Programs in Increasing size In this challenge, you will write a program which outputs a program which is the double the length of the original program. The outputted program should output a new program a program double its length.

Examples

If my program is a:

&lt; a
&gt; aa

&lt; aa
&gt; aaaa

&lt; aaaa
&gt; aaaaaaaa


Rules


No quine built-ins
The original program must be at least one byte
The sequence should theoretically work infinitely
Your program is not allowed to read from anything (file, stdio)


Your score is the size of the original program.
CJam, 10 bytes

{"_~"+_}_~


Test it here.

Explanation

{"_~" e# Generalised quine framework, leaves the block and the string "_~"
      e# on the stack. 
+     e# Prepend the block to the string.
_     e# Duplicate the resulting array.
}_~