1 of 7

C (gcc), 131 bytes


Try it online!


p(v){ // Printing helper function
    v&&printf("%d",v); //Print v if non-zero
L(a,v,A,s){ // Called as L(minutes)
    srand(clock()); s=1000; // Init rng and lava
    for(s=5;--s;) // Loop through the layers
         A=rand()%(v+1), // Generate random number in [0, v]
         //Unfortunately, 1000 is too large for clock() to distribute nicely
         p( // Print
            a>44&a<60&s<3|a>59? // Determine whether something should be printed.
                v-=A,A // Deduct the random number from v, then return it.
    p(v);} // Print the remainder on the last line