atcoder#RELAY2B. Evergrowing Tree

Evergrowing Tree

配点 : 100100

問題

整数 NN が与えられます。下図のような、無限に伸びる完全 NN 分木を考えます。

図: N=3N = 3 の場合の無限に伸びる完全 NN 分木

図で示されているように、各頂点には重複しない正の整数の番号が付いており、どの正の整数に対してもそれを頂点番号として持つ頂点が存在します。木の根の頂点番号は 11 です。その他の頂点には、上の段にある頂点ほど小さな番号が付けられています。同じ段にある頂点には、左に位置するほど小さな番号が付けられています。

この木に関して、以下の形式の QQ 個の問いに答えてください。ii 番目の問い (1iQ)(1 \leq i \leq Q) は次の通りです。

  • 頂点 viv_iwiw_i の最近共通祖先(注釈を参照)の頂点番号を求めよ。

注釈

  • 根付き木において、頂点 vvww最近共通祖先 とは、頂点 vvww のいずれの祖先でもある頂点のうち、最も根から遠いもののことです。ここで、頂点の祖先にはその頂点自身も含まれるものとします。例えば、問題文中で図示された木において、頂点 5577 の最近共通祖先は頂点 22、頂点 881111 の最近共通祖先は頂点 11、頂点 3399 の最近共通祖先は頂点 33 です。

制約

  • 1N1091 \leq N \leq 10^9
  • 1Q1051 \leq Q \leq 10^5
  • 1vi<wi1091 \leq v_i < w_i \leq 10^9

入力

入力は以下の形式で標準入力から与えられる。

NN QQ

v1v_1 w1w_1

::

vQv_Q wQw_Q

出力

QQ 行出力せよ。ii 行目 (1iQ)(1 \leq i \leq Q) に頂点 viv_iwiw_i の最近共通祖先の頂点番号を出力すること。

3 3
5 7
8 11
3 9
2
1
3

このケースでの問いは、注釈セクションで示した例に対応します。

100000 2
1 2
3 4
1
1