An efficient algorithm for drilling printed circuit boards