#include <stdio.h> 
#include <stdlib.h> 
 
struct  DynArray { 
    double  * data; 
    size_t  m;  // total 
    size_t  n;  // used 
} ; 
 
void  growarray( struct  DynArray * x)  { 
    size_t  newsize =  x-> m *  13  /  8  +  1 ;  // use phi aproximation 13/8 
    double  * newarr 
=  realloc ( x
-> data
,  newsize 
*  sizeof  * x
-> data
) ;      if  ( ! newarr
)  exit ( EXIT_FAILURE
) ;      fprintf ( stderr
,  "INFO: realloc'ed with %d elements.\n " ,  ( int ) newsize
) ;      x-> data =  newarr; 
    x-> m =  newsize; 
} 
 
int  main( void )  { 
    struct  DynArray numbers =  {  0  } ; 
    double  newnum; 
    while  ( scanf ( "%lf" ,  & newnum
)  ==  1  &&  newnum 
!=  - 1 )  {          if  ( numbers.n  ==  numbers.m )  growarray( & numbers) ; 
        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+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnN0cnVjdCBEeW5BcnJheSB7CiAgICBkb3VibGUgKmRhdGE7CiAgICBzaXplX3QgbTsgLy8gdG90YWwKICAgIHNpemVfdCBuOyAvLyB1c2VkCn07Cgp2b2lkIGdyb3dhcnJheShzdHJ1Y3QgRHluQXJyYXkgKngpIHsKICAgIHNpemVfdCBuZXdzaXplID0geC0+bSAqIDEzIC8gOCArIDE7IC8vIHVzZSBwaGkgYXByb3hpbWF0aW9uIDEzLzgKICAgIGRvdWJsZSAqbmV3YXJyID0gcmVhbGxvYyh4LT5kYXRhLCBuZXdzaXplICogc2l6ZW9mICp4LT5kYXRhKTsKICAgIGlmICghbmV3YXJyKSBleGl0KEVYSVRfRkFJTFVSRSk7CiAgICBmcHJpbnRmKHN0ZGVyciwgIklORk86IHJlYWxsb2MnZWQgd2l0aCAlZCBlbGVtZW50cy5cbiIsIChpbnQpbmV3c2l6ZSk7CiAgICB4LT5kYXRhID0gbmV3YXJyOwogICAgeC0+bSA9IG5ld3NpemU7Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIHN0cnVjdCBEeW5BcnJheSBudW1iZXJzID0geyAwIH07CiAgICBkb3VibGUgbmV3bnVtOwogICAgd2hpbGUgKHNjYW5mKCIlbGYiLCAmbmV3bnVtKSA9PSAxICYmIG5ld251bSAhPSAtMSkgewogICAgICAgIGlmIChudW1iZXJzLm4gPT0gbnVtYmVycy5tKSBncm93YXJyYXkoJm51bWJlcnMpOwogICAgICAgIG51bWJlcnMuZGF0YVtudW1iZXJzLm5dID0gbmV3bnVtOwogICAgICAgIG51bWJlcnMubisrOwogICAgfQoKICAgIGZvciAoaW50IGkgPSBudW1iZXJzLm4gLSAxOyBpID49IDA7IC0taSkgewogICAgICAgIHByaW50ZigiJWZcbiIsIG51bWJlcnMuZGF0YVtpXSk7CiAgICB9CgogICAgZnJlZShudW1iZXJzLmRhdGEpOwoKICAgIHJldHVybiAwOwp9Cg==