Language: C++

#![allow(unused)]

use std::{cmp, collections, fmt, io, iter, ops, str};
use cmp::Ordering::{Equal, Greater, Less};
use collections::{BTreeMap, BTreeSet, BinaryHeap, HashMap, HashSet, LinkedList, VecDeque};
use io::{Read, Write};

#[cfg(feature = "debug")]
macro_rules! debug {
    ($fmt: expr) => { eprintln!($fmt) };
    ($fmt: expr, $($args: tt)*) => { eprintln!($fmt, $($args)*) };
}

#[cfg(not(feature = "debug"))]
macro_rules! debug {
    ($fmt: expr) => {};
    ($fmt: expr, $($args: tt)*) => {};
}

macro_rules! vmax {
    ($x: expr, $y: expr) => { cmp::max($x, $y) };
    ($x: expr, $($args: expr),*) => { cmp::max($x, vmax!($($args),*)) };
}

macro_rules! vmin {
    ($x: expr, $y: expr) => { cmp::min($x, $y) };
    ($x: expr, $($args: expr),*) => { cmp::min($x, vmin!($($args),*)) };
}

fn read_line() -> String {
    let mut buf = String::new();
    io::stdin().read_line(&mut buf).unwrap();
    buf.trim().to_owned()
}

fn read_word() -> String {
    const CAPACITY: usize = 16;

    let mut stdin = io::stdin();
    let mut byte: [u8; 1] = [0];

    loop {
        let mut buf = Vec::with_capacity(CAPACITY);

        loop {
            let res = stdin.read(&mut byte);

            if res.unwrap_or(0) == 0 || byte[0] <= b' ' {
                break;
            } else {
                buf.push(byte[0]);
            }
        }

        if buf.len() > 0 {
            return String::from_utf8(buf).unwrap();
        }
    }
}

fn parse_line<T: str::FromStr>() -> T {
    read_line().parse().ok().unwrap()
}

fn parse_word<T: str::FromStr>() -> T {
    read_word().parse().ok().unwrap()
}

fn parse_vec<T: str::FromStr>() -> Vec<T> {
    read_line()
        .split_whitespace()
        .map(|e| e.parse().ok().unwrap())
        .collect()
}

fn flush() {
    io::stdout().flush();
}

fn main() {
    let month = parse_word::<i32>();
    let day = parse_word::<i32>();

    let ans = month + if day < month { -1 } else { 0 };
    println!("{}", ans);
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test() {
        //
    }
}


Compiler output:
a.cc:1:2: error: invalid preprocessing directive #!
    1 | #![allow(unused)]
      |  ^
a.cc:8:2: error: invalid preprocessing directive #[
    8 | #[cfg(feature = "debug")]
      |  ^
a.cc:14:2: error: invalid preprocessing directive #[
   14 | #[cfg(not(feature = "debug"))]
      |  ^
a.cc:88:2: error: invalid preprocessing directive #[
   88 | #[cfg(test)]
      |  ^
a.cc:92:6: error: invalid preprocessing directive #[
   92 |     #[test]
      |      ^
a.cc:3:1: error: 'use' does not name a type
    3 | use std::{cmp, collections, fmt, io, iter, ops, str};
      | ^~~
a.cc:4:1: error: 'use' does not name a type
    4 | use cmp::Ordering::{Equal, Greater, Less};
      | ^~~
a.cc:5:1: error: 'use' does not name a type
    5 | use collections::{BTreeMap, BTreeSet, BinaryHeap, HashMap, HashSet, LinkedList, VecDeque};
      | ^~~
a.cc:6:1: error: 'use' does not name a type
    6 | use io::{Read, Write};
      | ^~~
a.cc:9:1: error: 'macro_rules' does not name a type
    9 | macro_rules! debug {
      | ^~~~~~~~~~~
a.cc:15:1: error: 'macro_rules' does not name a type
   15 | macro_rules! debug {
      | ^~~~~~~~~~~
a.cc:20:1: error: 'macro_rules' does not name a type
   20 | macro_rules! vmax {
      | ^~~~~~~~~~~
a.cc:25:1: error: 'macro_rules' does not name a type
   25 | macro_rules! vmin {
      | ^~~~~~~~~~~
a.cc:30:1: error: 'fn' does not name a type
   30 | fn read_line() -> String {
      | ^~
a.cc:36:1: error: 'fn' does not name a type
   36 | fn read_word() -> String {
      | ^~
a.cc:61:1: error: 'fn' does not name a type
   61 | fn parse_line<T: str::FromStr>() -> T {
      | ^~
a.cc:65:1: error: 'fn' does not name a type
   65 | fn parse_word<T: str::FromStr>() -> T {
      | ^~
a.cc:69:1: error: 'fn' does not name a type
   69 | fn parse_vec<T: str::FromStr>() -> Vec<T> {
      | ^~
a.cc:76:1: error: 'fn' does not name a type
   76 | fn flush() {
      | ^~
a.cc:80:1: error: 'fn' does not name a type
   80 | fn main() {
      | ^~
a.cc:89:1: error: 'mod' does not name a type
   89 | mod tests {
      | ^~~