func (b *BitSet) AnyMany(indexes ...int) bool {
	for _, idx := range indexes {
		x, y := b.getIndex(idx)
		if (b.data[x] & b.getMask(y)) != 0 {
			return true
		}
	}
	return false
}
AnyMany returns true if at least 1 bit from indexes is true
package set
type BitSet struct {
	data []uint64
}
func NewBitSet(size int) *BitSet {
	b := &BitSet{
		data: make([]uint64, size/8+1),
	}
	return b
}
func (b *BitSet) Clone() *BitSet {
	t := &BitSet{}
	t.data = append(t.data, b.data...)
	return t
}
func (b *BitSet) Set(i int) {
	x, y := b.getIndex(i)
	b.data[x] |= b.getMask(y)
}
func (b *BitSet) SetMany(indexes ...int) {
	for _, idx := range indexes {
		x, y := b.getIndex(idx)
		b.data[x] |= b.getMask(y)
	}
}
func (b *BitSet) SetRange(i, j int) {
	for idx := i; idx <= j; idx++ {
		x, y := b.getIndex(idx)
		b.data[x] |= b.getMask(y)
	}
}
func (b *BitSet) Unset(i int) {
	x, y := b.getIndex(i)
	b.data[x] &^= b.getMask(y)
}
func (b *BitSet) UnsetMany(indexes ...int) {
	for _, idx := range indexes {
		x, y := b.getIndex(idx)
		b.data[x] &^= b.getMask(y)
	}
}
func (b *BitSet) UnsetRange(i, j int) {
	for idx := i; idx <= j; idx++ {
		x, y := b.getIndex(idx)
		b.data[x] &^= b.getMask(y)
	}
}
func (b *BitSet) Get(i int) bool {
	x, y := b.getIndex(i)
	return (b.data[x] & b.getMask(y)) != 0
}
func (b *BitSet) GetMany(indexes ...int) []bool {
	res := make([]bool, len(indexes))
	for i, idx := range indexes {
		x, y := b.getIndex(idx)
		res[i] = (b.data[x] & b.getMask(y)) != 0
	}
	return res
}
func (b *BitSet) GetRange(i, j int) []bool {
	res := make([]bool, j-i+1)
	for idx := i; idx <= j; idx++ {
		x, y := b.getIndex(idx)
		res[idx-i] = (b.data[x] & b.getMask(y)) != 0
	}
	return res
}
func (b *BitSet) Toggle(i int) {
	x, y := b.getIndex(i)
	b.data[x] ^= b.getMask(y)
}
func (b *BitSet) ToggleMany(indexes ...int) {
	for _, idx := range indexes {
		x, y := b.getIndex(idx)
		b.data[x] ^= b.getMask(y)
	}
}
func (b *BitSet) ToggleRange(i, j int) {
	for idx := i; idx <= j; idx++ {
		x, y := b.getIndex(idx)
		b.data[x] ^= b.getMask(y)
	}
}
func (b *BitSet) Count() int {
	res := 0
	for _, v := range b.data {
		res += getBits(v)
	}
	return res
}
func (b *BitSet) Any() bool {
	return b.Count() > 0
}