# non-strict sub c{$n=pop;@_=2..$n;for($k=2;$k<=sqrt($n);($k)=@_){@_=grep!/^0/,(map{($_%$k)?$_:0}@_),$k}@_} # strict w/ less named vars sub c{pop;@_=2..$_;for(my$k=2;$k<=sqrt;($k)=@_){@_=grep!/^0/,(map{$_%$k?$_:0}@_),$k}@_}