μ λ¬Έμ μ²μμ ν λ λ무 μ€λ κ±Έλ €μ ν¬κΈ°νκ³ μ€λ μ½ 2μκ° λ° μ λ κ±Έλ €μ νΌ λ― νλ€.
λ¬Έμ ν λ μ΄λ κ² κΈΈκ² μ½λλ₯Ό μ§ κ±΄ μ²μμ΄κ³ , κ³μ λ λ― νλ©΄μ μλΌμ λμλμ νλ©΄μ νμλ€.

λ¬΄νΌ νκΈ΄ νμμΌλ μμ΄ μμνλ€!
let input = require('fs').readFileSync('/dev/stdin').toString().trim().split("\n").map(i => i.split(" "));
const basketCount = +input[0][0];
const loop = +input[0][1];
let baskets = [];
let revRange = [];
for (let i = 0; i < basketCount; i++) {
baskets.push(i + 1);
revRange.push(i + 1);
}
for (let i = 1; i <= loop; i++) {
let from = +input[i][0];
let to = +input[i][1];
revRange = baskets.map(v => v);
baskets = reverseFn(from, to, revRange, baskets);
}
console.log(...baskets);
function reverseFn(from, to, revRange, baskets) {
revRange = revRange.splice(from - 1, to - from + 1).reverse();
for (i = 0; i < to - from + 1; i++) {
baskets[from + i - 1] = revRange[i];
};
return baskets;
}
μ λ¨Ήμλ ν¬μΈνΈ
1. λ°°μ΄μ μμ 볡μ¬.
splice λ₯Ό μ΄μ©ν΄μ νμλλ° μ²μ λ§λ λ°κ΅¬λ λ°°μ΄μ 볡μ¬ν΄ λ°μ μν€λ,
μλ μμΉμ μλ λ°κ΅¬λ ν¨μλ ν΄λΉ λ²μ λ§νΌ μ¬λΌμ Έμμλ€.
λ°°μ΄μ λ€μ ν basket ν¨μλ₯Ό map ν¨μλ₯Ό μ΄μ©ν΄ μλ‘μ΄ ν¨μλ₯Ό λ§λ€μ΄λ΄λ©΄μ reverse μ© λ°°μ΄μ λ£μ΄μ£Όκ³
κ·Έ λ€μμ spliceλ‘ κ°κ³΅μ νλ€.
2. ν¨μ for λ¬Έμμ for λ¬Έμ λ²μλ₯Ό ~ to κΉμ§λ‘ μ‘μ μ .
1 2 κ° from to μΌ λλ λ¬Έμ μμ§λ§,
3 4 μΈ κ²½μ°μλ 3~4 λΌμ μ€μ§μ μΌλ‘ forλ¬Έμ΄ λμμΌνλ λ²μλ 2 μ리 λΏμ΄λ€.
to-from+1 μ ν΄μ€μΌ λ°μ μν€λ μ«μμ κ°μκ° λλ€.
3. μΆλ ₯μ λ°°μ΄μ΄ μλλΌ λ°°μ΄ μμ μ«μλ€λ§ μΆλ ₯ν΄μ€μΌνλ€.
...basket

κ·Έλ¦¬κ³ λ°±μ€ νλΈκ° μ΄λμ λ ν΄κ²°μ΄ λμ΄, (μ€μ μ λ°κΎΈκΈ΄ νμ§λ§)
μ€λλ§μ λ°±μ€ ν΄λμ κΉν μ λ‘λ!