public static long task34(String method,int d, double aprox) throws Exception{
		System.out.println("Task "+ (aprox==0 ? "3" : "4" ) + " initiated using Method " + method + " and d=" + d + " and error of " + aprox*100 + "%");
		String path_file = Main.FilesPath +"dataReduction" + "_Method:" + method +  "_D:"+ d;
		
		DataBuff Buff = new DataBuff(path_file);
		
		ArrayList<Tweet> Querry = new ArrayList<Tweet>();
		Tweet querryMin = new Tweet();
		Tweet tweetMin = new Tweet();
		double angle = Math.PI/2+aprox*Math.PI/2;
		
		for(int line=0;line<Main.QuerrySize;line++){
			Querry.add(Buff.getNextTweet());
		}
		
		Tweet tweet = Buff.getOptimisticTweet(angle-aprox*Math.PI/2);
		querryMin = Querry.get(0);
		tweetMin = tweet;
		
		long startTime = System.currentTimeMillis();
		while(tweet != null){
			for(Tweet querry : Querry){
				double aux = Tools.angleAlphabet(querry, tweet);
				if(aux<angle){
					angle = aux;
					querryMin = querry;
					tweetMin = tweet;
				}
			}
			tweet = Buff.getOptimisticTweet(angle-aprox*Math.PI/2);
		}
		long endTime   = System.currentTimeMillis();
		long totalTime = endTime - startTime;

		if(aprox==0) Main.task3angles[Arrays.asList(Main.D).indexOf(d)][Arrays.asList(Main.Methods).indexOf(method)] = angle;
		else Main.task4angles[Arrays.asList(Main.D).indexOf(d)][Arrays.asList(Main.Methods).indexOf(method)] = angle;
		
		System.out.println("Minimum Angle: " + angle);
		System.out.println("Querry at line " + querryMin.index + ": " + querryMin + "\n" + "Tweet at line " + tweetMin.index + ": " + tweetMin);
		System.out.println("Total Running Time: " + totalTime + "ms");
		System.out.println("--------------------");
		return totalTime;
	}