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;
}
}
}