String fileName = "input.txt"; BufferedReader reader; void setup() { reader = createReader(fileName); println(day1_1()); // answer 3371958 reader = createReader(fileName); println(day1_2()); //answer 5055050 } int day1_1() { boolean ready = false; String line; int fuel = 0; while (!ready) { try { line = reader.readLine(); } catch (IOException e) { line = null; ready = true; } if (line == null) { ready = true; } else { int tempFuel = module(int(line)); fuel += tempFuel; } } return fuel; } int day1_2() { IntList modules = new IntList(); boolean ready = false; String line; int totalFuel = 0; int moduleFuel = 0; while (!ready) { try { line = reader.readLine(); } catch (IOException e) { line = null; ready = true; } if(line != null) { //println(line); moduleFuel = module(int(line)); int tempFuel = moduleFuel; while (tempFuel > 0) { tempFuel = module(tempFuel); if (tempFuel > 0) moduleFuel += tempFuel; } modules.append(moduleFuel); } else { ready = true; } } for(int values : modules) totalFuel += values; return totalFuel; } int module(int fuel) { return floor(fuel / 3) - 2; }