やっぱりわからない
rule(int l,int r,int h){      rule(0,8,3)から初めて 
int m=(l+r)/2;           rule(0,4,2) 
if(h>0){ rule(0,2,1)
rule(l,m,h-1); rule(0,1,0)
mark(m,h); mark(1,1)
rule(m,r,h=1);} rule(1,2,0)
}という定規の目盛をつける問題なのですが・・mark(2,2)
rule(2,4,1)
というような感じで動くんですが、mark(2,2)のあたりから分かり
  ません。   お・た・す・け〜〜〜