public boolean next(){
		int len = start.length - 1;
		itr[len]++;
		if(itr[len] >= roff[len])
		{
			int j = len - 1;
			while (j >= 0) {
				itr[j]++;
				fpos += fjump[j + 1];
				if (itr[j] < roff[j]) {
					break;
				} else if (j == 0) {
					break;
				} else {
					fpos -= itr[j] * fjump[j + 1];
					itr[j] = 0;
				}
				j--;
			}
			if(itr[0] >= roff[0]) return false;
			itr[len]=0;
		}
		return true;
	}