#!/bin/env ruby require 'pry' numbers = File.read('./input').split(',') numbers.map!(&:to_i) runs = 30000000 runs.times do |i| next if i < numbers.size num = numbers[-1] prev_turn = numbers[..-2].reverse.find_index(num) if prev_turn == nil numbers.push(0) else new_num = (i - 1) - (numbers.size - 2 - prev_turn) numbers.push(new_num) end end puts numbers[-1]