#![allow(unused)]

struct Piece {
    size: (usize, usize),
    passages: Vec<Passage>,
}

struct Passage {
    orientation: Orientation,
    size: PassageSize,
    side: Direction,
    position: usize,
    ptype: Option<PassageType>,
}

struct PassageSize {
    height: usize,
    width: usize,
}

enum PassageType {
    Entrance,
    Exit,
}

enum Direction {
    North,
    East,
    South,
    West,
}

enum Orientation {
    Horizontal,
    Vertical,
}

fn main() {
    println!("hello world")
}
