Please note the subtle, but important detail of the solution. We don't convert `value` to number instantly after `prompt`, because after `value = +value` we would not be able to tell an empty string (stop sign) from the zero (valid number). We do it later instead. ```js run demo function sumInput() { let numbers = []; while (true) { let value = prompt("A number please?", 0); // should we cancel? if (value === "" || value === null || !isFinite(value)) break; numbers.push(+value); } let sum = 0; for (let number of numbers) { sum += number; } } alert( sumInput() ); ```