public static int findPath(Node node, boolean existed) {
		if(node.visited) {
			return -1;
		}
		if(!node.inGrouped) {
			return 0;
		}
		node.visited = true;
		if(existed) {
			for(Node nextNode : node.neigh) {
				int result = findPath(nextNode, !existed);
				
				if(result != -1) {
					nextNode.inGrouped = true;
					node.neigh.remove(nextNode);
					node.disNeigh.add(nextNode);
					nextNode.neigh.remove(node);
					nextNode.disNeigh.add(node);
					return result+1;
				}
			}
		}else {
			for(Node nextNode : node.disNeigh) {
				int result = findPath(nextNode, !existed);
				if(result != -1) {
					nextNode.inGrouped = true;
					node.disNeigh.remove(nextNode);
					node.neigh.add(nextNode);
					nextNode.disNeigh.remove(node);
					nextNode.neigh.add(node);
					return result+1;
				}
			}
		}
		return -1;
		
		
		
	}