1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#![feature(conservative_impl_trait, inclusive_range_syntax, match_default_bindings, slice_rotate,
try_from)]
extern crate failure;
#[macro_use]
extern crate lazy_static;
extern crate regex;
extern crate time;
use std::io::{self, Read};
use failure::Error;
mod day_01;
mod day_02;
mod day_03;
mod day_04;
mod day_05;
mod day_06;
mod day_15;
mod day_16;
fn main() {
if let Err(e) = run() {
eprintln!("{}", e);
}
}
fn run() -> Result<(), Error> {
let mut input = String::new();
io::stdin().read_to_string(&mut input)?;
let solution = day_16::solve(&input)?;
println!("{}", solution);
Ok(())
}