public int Select(int symbol, int _rank)
{
if (_rank < 1) {
return -1;
}
if (symbol == 0) {
return (int)this.xl_bitmap.Select1 (_rank);
}
long pos = symbol * ((long)this.Count);
var rank = this.xl_bitmap.Rank1 (pos - 1);
var p = this.xl_bitmap.Select1 (rank + _rank) - pos;
return (int)p;
}