「福縞軒」は行列のできる人気のラーメン屋です。でも最近、お客さんの間から「待ち時間が長いのに、店に入ったら空席があるのは許せない」という声が聞こえるようになってきました。どうしてそんな不満が出るのか調べたいのですが、お店が開いているあいだは忙しくて、実際の行列の様子を調べることができません。しかし、長年の経験からお客さんが来る間隔や人数は分かっているので、それをもとに待ち時間の分析をすることにしました。
店内にはカウンターに向かって 17 の席があります。開店時間は正午で、お客さんは次のようにやってきます。
最初の 10 グループの到着時刻、人数、食事時間は次のようになります。
グループ番号 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
到着時刻(分後) | 0 | 5 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 |
人数(人) | 2 | 5 | 2 | 2 | 2 | 2 | 5 | 2 | 2 | 2 |
食事時間(分) | 19 | 39 | 25 | 36 | 22 | 42 | 19 | 39 | 25 | 36 |
また、お客さんを席に案内するときには、次のようにしています。
また、座れる場所が複数あった場合は、席の番号が最も小さくなるところに座ります。例えば、0、1、2、4、5番の席だけが空いていた場合、5 人のグループは着席できません。2 人のグループであれば 0、1 番に着席します。
時刻: 座席 行列 0: 00_______________: 5: 0011111__________: 10: 001111122________: 15: 00111112233______: 18: 00111112233______: 19: __111112233______: 20: 44111112233______: 25: 4411111223355____: 30: 4411111223355____: 66666 グループ6が到着 34: 4411111223355____: 66666 35: 4411111__3355____: 6666677 グループ7が到着 40: 4411111__3355____: 666667788 グループ8が到着 41: 4411111__3355____: 666667788 42: __11111__3355____: 666667788 43: __11111__3355____: 666667788 44: 6666677883355____: グループ6、7、8が着席 45: 666667788335599__: グループ9が到着、着席
例えば、時刻 40 では 8 番目のグループが到着しますが、着席できないので行列に加わります。4 番目のグループは時刻 41 まで食事をします。時刻 42 では、4 番目のグループの席が空きますが、連続した席数が足りないので 6 番目のグループはまだ着席できません。1 番目のグループは時刻 43 まで食事をします。時刻 44 で 1 番目のグループの席が空くので、6 番目のグループが着席し、同時に 7 番目、8 番目のグループも着席します。9 番目のグループは時刻 45 で到着し、席が空いているのでそのまま着席します。
これらの情報を基にして、0 以上 99 以下の整数 n を入力として、n 番目グループのお客さんが待つ時間(分単位)を出力するプログラムを作成してください。
複数のデータセットが与えられます。各データセットは1つの整数 n からなります。
データセットの数は 20 を超えません。
各データセットについて、n 番目のお客の分単位の待ち時間(0 以上の整数)を1行に出力してください。
5 6 7 8
0 14 9 4