大きさ \(N\) の配列を作る. \(i\) 文字目の文字が a なら \(1\)ビット目, b なら \(2\) ビット目が \(1\) となる数を配列の \(i\) 番目に入れ, これをビット OR で合成するセグメント木に乗せる.

区間の文字の種類数はビット OR を取ったときの \(1\) となっているビットの数である.