"use strict";

function main(input) {
  //かかる秒数　開業からの運行開始　運行間隔
  input = input.split("\n");
  // const n = ~~input.shift()
  // const n = ~~input[0];
  input = input.slice(1, input.length - 1);
  input = input.map(v => v.split(/\s/).map(x => ~~x));

  let ans = [];
  for (let i = 0; i < input.length; i++) {
    let time = 0;
    for (let j = i; j < input.length; j++) {
      if (time < input[j][1]) {
        //到着した駅の発車時刻が到着時刻より大きい
        time = input[j][1]; // 発車時刻を待つ
      } else if (time % input[j][2] != 0) {
        //到着時に発車間隔が合わなければ、 合わない分だけ待つ
        time += input[j][2] - (time % input[j][2]);
      }
      // time += (time > input[j][1]) ? 0 : input[j][1] - (time)
      time += input[j][0];
    }
    ans.push(time);
    // ans += time + '\n';
  }
  ans.push(0);
  //   ans += "0";

  console.log(ans.join("\n"));
}

main(require("fs").readFileSync("/dev/stdin", "utf8"));
