#include <stdio.h> 
#include <stdlib.h> 
 
struct  DynArray { 
    double  * data; 
    size_t  m;  // total 
    size_t  n;  // used 
} ; 
 
int  main( void )  { 
    struct  DynArray numbers =  {  0  } ; 
    double  newnum; 
    while  ( scanf ( "%lf" ,  & newnum
)  ==  1  &&  newnum 
!=  - 1 )  {          if  ( numbers.n  ==  numbers.m )  { 
            size_t  newsize =  numbers.n  *  13  /  8  +  1 ;  // use phi aproximation 13/8 
            double  * newarr 
=  realloc ( numbers.
data ,  newsize 
*  sizeof  * numbers.
data ) ;              fprintf ( stderr
,  "INFO: realloc'ed with %d elements.\n " ,  ( int ) newsize
) ;              if  ( ! newarr
)  exit ( EXIT_FAILURE
) ;              numbers.data  =  newarr; 
            numbers.m  =  newsize; 
        } 
        numbers.data [ numbers.n ]  =  newnum; 
        numbers.n ++; 
    } 
 
    for  ( int  i =  numbers.n  -  1 ;  i >=  0 ;  -- i)  { 
        printf ( "%f\n " ,  numbers.
data [ i
] ) ;      } 
 
 
    return  0 ; 
} 
 
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnN0cnVjdCBEeW5BcnJheSB7CiAgICBkb3VibGUgKmRhdGE7CiAgICBzaXplX3QgbTsgLy8gdG90YWwKICAgIHNpemVfdCBuOyAvLyB1c2VkCn07CgppbnQgbWFpbih2b2lkKSB7CiAgICBzdHJ1Y3QgRHluQXJyYXkgbnVtYmVycyA9IHsgMCB9OwogICAgZG91YmxlIG5ld251bTsKICAgIHdoaWxlIChzY2FuZigiJWxmIiwgJm5ld251bSkgPT0gMSAmJiBuZXdudW0gIT0gLTEpIHsKICAgICAgICBpZiAobnVtYmVycy5uID09IG51bWJlcnMubSkgewogICAgICAgICAgICBzaXplX3QgbmV3c2l6ZSA9IG51bWJlcnMubiAqIDEzIC8gOCArIDE7IC8vIHVzZSBwaGkgYXByb3hpbWF0aW9uIDEzLzgKICAgICAgICAgICAgZG91YmxlICpuZXdhcnIgPSByZWFsbG9jKG51bWJlcnMuZGF0YSwgbmV3c2l6ZSAqIHNpemVvZiAqbnVtYmVycy5kYXRhKTsKICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJJTkZPOiByZWFsbG9jJ2VkIHdpdGggJWQgZWxlbWVudHMuXG4iLCAoaW50KW5ld3NpemUpOwogICAgICAgICAgICBpZiAoIW5ld2FycikgZXhpdChFWElUX0ZBSUxVUkUpOwogICAgICAgICAgICBudW1iZXJzLmRhdGEgPSBuZXdhcnI7CiAgICAgICAgICAgIG51bWJlcnMubSA9IG5ld3NpemU7CiAgICAgICAgfQogICAgICAgIG51bWJlcnMuZGF0YVtudW1iZXJzLm5dID0gbmV3bnVtOwogICAgICAgIG51bWJlcnMubisrOwogICAgfQoKICAgIGZvciAoaW50IGkgPSBudW1iZXJzLm4gLSAxOyBpID49IDA7IC0taSkgewogICAgICAgIHByaW50ZigiJWZcbiIsIG51bWJlcnMuZGF0YVtpXSk7CiAgICB9CgogICAgZnJlZShudW1iZXJzLmRhdGEpOwoKICAgIHJldHVybiAwOwp9Cg==