public void findMinimumVertexCover()
	{
		for(int i=1;i<=leftVertices;i++)
		{

			if(Pair[i]!=0)	//Vertices part of matching
			{
				ArrayList<Integer> adjacencyList = biGraph.getOutEdges(i);
				for(int n : adjacencyList)
				{
					if(rightFreeVertices.contains(n))
					{
						leftVertexCoverVertices.add(i);
						break;
					}
					else // In both cases we are adding because any one side can be added to vertex cover list
					{
						leftVertexCoverVertices.add(i);
					}
				}
				//System.out.println("Left  : "+(i)+"  "+(Pair[i]-leftVertices));
			}
		}
		System.out.println();
		for(int j=leftVertices+1;j<Pair.length;j++)
		{
			if(Pair[j]!=0)
			{
				ArrayList<Integer> adjacencyList = biGraph.getOutEdges(j);
				for(int n : adjacencyList)
				{
					if(leftFreeVertices.contains(n)) {
						rightVertexCoverVertices.add(j);
						break;
					}
				}
				//if(!rightVertexCoverVertices.contains(j))
				//rightVertexCoverVertices.add(j);
				//System.out.println("Right : "+(j-leftVertices)+"  "+Pair[j]);
			}
		}
	}