same as above: you should investigate faster implementations using binary operators