#!/usr/bin/env tclsh8.6 gets stdin line set fish [split $line ,] for {set day 1} {$day <= 80} {incr day} { set n [llength $fish] ;# the list might grow for {set i 0} {$i < $n} {incr i} { if {[lindex $fish $i] == 0} { lset fish $i 6 lappend fish 8 } else { lset fish $i [expr {[lindex $fish $i] - 1}] } } } puts [llength $fish]