private void search(int depth)
	{
		if (this.finish)
		{
			return;
		}
		
		for (int i = this.numbers[depth - 1] + 1; i <= this.upperBound; i++)
		{	
			if (this.finish)
			{
				return;
			}
			
			if (this.check(depth, i))
			{
				this.numbers[depth] = i;
				
				if (depth + 1 < this.countOfNumber)
				{
					this.search(depth + 1);
				}
				else
				{
					this.finish = true;
					return;
				}
			}			
		}
	}