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

public class Test{
	final static double INITIAL_BANKROLL = 20480, INITIAL_BET = 10;
	final static int MAX_SPINS = 10000, ITERATIONS = 1000000;
	static Random r;

	public static void main(String args[]) throws IOException{
		PrintWriter mOut = new PrintWriter(new FileWriter("mOut.txt"), true);
		PrintWriter sOut = new PrintWriter(new FileWriter("sOut.txt"), true);
		r = new Random();
		double mSpins[] = new double[MAX_SPINS];
		double sSpins[] = new double[MAX_SPINS];
		int i;

		for(i = 0; i < ITERATIONS; i++){
			martingaleSystem(mSpins);
			simpleSystem(sSpins);
		}
		for(i = 0; i < MAX_SPINS; i++){
			mSpins[i] /= ITERATIONS;
			sSpins[i] /= ITERATIONS;
			//if(i % 10 == 0){
				mOut.println(mSpins[i]);
				sOut.println(sSpins[i]);
			//}
		}

		mOut.close(); sOut.close();
	}

	public static void martingaleSystem(double spins[]){
		double bankroll = INITIAL_BANKROLL;
		double bet = INITIAL_BET;
		int i;

		for(i = 0; i < MAX_SPINS; i++){
			if(r.nextDouble() <= (18.0 / 38)){
				bankroll += bet;
				bet = INITIAL_BET;
			}
			else{
				bankroll -= bet;
				bet *= 2;
				if(bankroll < INITIAL_BET){
					spins[i] += bankroll;
					break;
				}
				else if(bankroll < bet){
					bet = INITIAL_BET;
				}
			}
			spins[i] += bankroll;
		}
	}

	public static void simpleSystem(double spins[]){
		double bankroll = INITIAL_BANKROLL;
		double bet = INITIAL_BET;
		int i;

		for(i = 0; i < MAX_SPINS; i++){
			if(r.nextDouble() <= (18.0 / 38))
				bankroll += bet;
			else{
				bankroll -= bet;
				if(bankroll < bet) break;
			}
			spins[i] += bankroll;
		}
	}
}