private static void clustering(HashSet<User> users){
		clusters = new LinkedList<HashSet<User>>();
		for (User user : users){
			HashSet<User> one = new HashSet<User>();
			one.add(user);
			clusters.add(one);
		}
		
		HashSet<User> largest = new HashSet<User>();
		while(clusters.size()!=NUMCOMM){
			System.out.println(clusters.size());
			double largestDist = getJaccardBtw2Cluster(clusters.get(0), clusters.get(1));
			int one = 0;
			int two = 1;
			for (int i = 0; i < clusters.size(); i++){
				for (int j = i + 1; j < clusters.size(); j++){
					double newDist = getJaccardBtw2Cluster(clusters.get(i), clusters.get(j));
					if ( newDist > largestDist ){
						largestDist = newDist;
						one = i;
						two = j;
					}
				}
			}
			HashSet<User> newCluster = new HashSet<User>();
			for (User user : clusters.get(one))
				newCluster.add(user);
			for (User user : clusters.get(two))
				newCluster.add(user);
			clusters.remove(one);
			clusters.remove(two);
			clusters.add(newCluster);
		}
	}