import java.util.*;
import java.io.*;

public class AnalysePair {

    private static double kappa(int n,int k,double p){
	double kappa = (k*(k-1)*Math.log(1.0/(1.0 - p)))/(2.0 *(logFactorial(n) - logFactorial(k) - logFactorial(n-k)));;
	return kappa;
    }

    private static double logFactorial(int n){
	double fac = 0;
	for (int a = 2; a <= n; a++)
	    fac += Math.log(a);
	return fac;
    }

    private static void show(long[]x){
	int n = x.length;
	for (int i=0;i<n;i++) System.out.print(x[i] + " ");
	System.out.println();
    }
    private static long average(long[]x){
	int n = x.length;
	long sum = 0;
	for (int i=0;i<n;i++) sum = sum + x[i];
	return sum/n;
    }

    private static double average(double[]x){
	int n = x.length;
	double sum = 0;
	for (int i=0;i<n;i++) sum = sum + x[i];
	return sum/n;
    }

    private static double geometricMean(long[]x){
	int n = x.length;
	double logSum = 0.0;
	for (int i=0;i<n;i++) logSum = logSum + Math.log((double)x[i]);
	return Math.exp(logSum/(double)n);
    }

    private static long median(long[]x){
	int n = x.length;
	Arrays.sort(x);
	return x[n/2];
    }

    private static long min(long[]x){
	int n = x.length;
	long min = x[0];
	for (int i=1;i<n;i++) min = Math.min(min,x[i]);
	return min;
    }
    
    private static long max(long[]x){
	int n = x.length;
	long max = x[0];
	for (int i=1;i<n;i++) max = Math.max(max,x[i]);
	return max;
    }

    private static void stats(String alg1,String alg2,int n,int p,int lwb,int upb) throws IOException {
	String fname1    = "";
	String fname2    = "";
	long time1, time2;
	double[] timeRatio = new double[upb-lwb+1];
	int count = 0;

	for (int i=lwb;i<=upb;i++){
	    if (i < 10)
		fname1 = "../randomResultsJava/"+ alg1 +"-"+ n +"-"+ p +"-0"+ i +".txt";
	    else
		fname1 = "../randomResultsJava/"+ alg1 +"-"+ n +"-"+ p +"-"+ i +".txt";
	     if (i < 10)
		fname2 = "../randomResultsJava/"+ alg2 +"-"+ n +"-"+ p +"-0"+ i +".txt";
	    else
		fname2 = "../randomResultsJava/"+ alg2 +"-"+ n +"-"+ p +"-"+ i +".txt";
	    Scanner sc1 = new Scanner(new File(fname1));
	    Scanner sc2 = new Scanner(new File(fname2));
	    sc1.nextLong(); sc2.nextLong(); // size
	    sc1.nextLong(); sc2.nextLong(); // nds
	    time1 = sc1.nextLong();
	    time2 = sc2.nextLong();
	    //System.out.format("%.2f  ",((float)p)/100.0);
	    System.out.print(time1 +" "+ time2 +" ");
	    System.out.format("%.2f  ",((float)time1)/((float)time2));
	    System.out.println();
	    timeRatio[count++] = ((float)time1)/((float)time2);
	    sc1.close(); sc2.close();
	}	
	//System.out.format("%d  %.2f  %.2f",n,((float)p)/100.0,average(timeRatio));
	//System.out.println();
    }

    public static void main(String[] args) throws IOException {
	String alg1    = args[0];
	String alg2    = args[1];
	int n          = Integer.parseInt(args[2]); // vertices in a graph
	int pLo        = Integer.parseInt(args[3]); // edge probability
	int pHi        = Integer.parseInt(args[4]); // edge probability
	int pInc       = Integer.parseInt(args[5]); // increment for p
	int lwb        = Integer.parseInt(args[6]); // index of 1st results file
	int upb        = Integer.parseInt(args[7]); // index of last results file
     
	for (int p=pLo;p<=pHi;p=p+pInc)
	    stats(alg1,alg2,n,p,lwb,upb);
    }
}