#include <bits/stdc++.h>
struct elevator {
  long s;
  long f;
  long t;
};
int main(void) {
  long n, m, i, j, rtotal, resultado;
  scanf("%ld  %ld", &n, &m);
  rtotal = 2 * (m - 1);
  struct elevator ve[n];
  for (i = 0; i < n; i++) scanf("%ld %ld %ld", &ve[i].s, &ve[i].f, &ve[i].t);
  for (i = 0; i < n; i++) {
    if (ve[i].s == ve[i].f)
      printf("%ld", ve[i].t);
    else if (ve[i].f > ve[i].s) {
      for (j = 0;; j++)
        if ((j * rtotal + (ve[i].s - 1)) >= ve[i].t) break;
      resultado = (j * rtotal + (ve[i].s - 1) + (ve[i].f - ve[i].s));
      printf("%ld", resultado);
    } else {
      for (j = 1;; j++)
        if ((j * (m - 1) + (j - 1) * (m - 1) + (m - ve[i].s)) >= ve[i].t) break;
      resultado = (j * (m - 1) + (j - 1) * (m - 1) + (m - ve[i].s) +
                   (ve[i].s - ve[i].f));
      printf("%ld", resultado);
    }
    printf("\n");
  }
  return 0;
}
