# JavaScript, <s>81 77</s> 74 bytes <!-- begin snippet: js hide: false console: false babel: false --> <!-- language: lang-js --> var t,i=(i||[3,1,1]),a=i.pop() clearTimeout(t) t=setTimeout(_=>alert(a),9) <!-- end snippet --> Pretty lame JS solution. Consumes the values from the `[3,1,1]` array from the right (`pop()`). Registers a timeout to display the current value in the future. If a timeout was already registered, cancel it. Relies on the dirty nature of `var`, which hoists variable declarations. ## Two times: <!-- begin snippet: js hide: true console: false babel: false --> <!-- language: lang-js --> var t,i=(i||[3,1,1]),a=i.pop() clearTimeout(t) t=setTimeout(_=>alert(a),9) var t,i=(i||[3,1,1]),a=i.pop() clearTimeout(t) t=setTimeout(_=>alert(a),9) <!-- end snippet --> ## Three times: <!-- begin snippet: js hide: true console: false babel: false --> <!-- language: lang-js --> var t,i=(i||[3,1,1]),a=i.pop() clearTimeout(t) t=setTimeout(_=>alert(a),9) var t,i=(i||[3,1,1]),a=i.pop() clearTimeout(t) t=setTimeout(_=>alert(a),9) var t,i=(i||[3,1,1]),a=i.pop() clearTimeout(t) t=setTimeout(_=>alert(a),9) <!-- end snippet -->