# [C (gcc)], <s>131</s>, <s>116</s>, <s>90</s>, <s>89</s>, 87 bytes

<!-- language-all: lang-c -->

    L(l,a,v,A){for(A=5,v=1e3;A--;v-=a)printf("%d\n"+!a*2,a=l>59|A<3&l>44?rand()%-~v:!A*v);}

[Try it online!](https://tio.run/##VY7NUoMwFIX3PMVtHZwEEodacGxDcNi3T6AuYvhpahocoHFR8dGN0OqiuzPfPd@dI2ktpbtRRupjUULa9YVq7naZd4W0ertmvTqUI3EbpIkgluT4VDUtynlCLF@US5ZTyizlAn@0yvQVmvvFi5mHMxHcE8F1lqy@8nR5q7M4fmqFKRD26bddz/LAYja40YGDUAZNQbS1JHInWgiCMVsMJw@gO2tSN/IdYcxGMi2Y@opHDMJQpZPILm2A6bLnom8Ump48q9ezBPC/cKvMsS/BL9bjUgL7v/MGXdLgDc4tEhfHLk5csnIPkXuMfmSlRd05@vkL "C (gcc) – Try It Online")

[C (gcc)]: https://gcc.gnu.org/

**Update**: Fixed a bug in the original. Fused in the helper function, reducing an additional 15 bytes.

**Update 2**: -25 bytes thanks to ErikF.

**Update 3**: -1 byte thanks to ceilingcat.

## Degolf

    L(l,a,v,A){
        for(A=5,v=1e3;A--;v-=a)
            printf("%d\n"+!a*2, // No clue how this works anymore, but it'll advance the pointer 
                                // to the string constant when a number shouldn't be printed.
            a=l>59|A<3&l>44?rand()%-~v // Random integer to print in [0, v]
            :!A*v); // If bottom layer, return remaining volume
    }