def calc(stone) return stone[0] + calc(stone.map{|e| e-stone[0]}) if (stone[0]!=0) k = [(stone[2]-stone[1])/2,stone[1]].min return k + calc([0,stone[1]-k,stone[2]-k*3].sort!) if 0