#include "optimization.h"
#include <cassert>
#include <cstdio>
#include <vector>
int main() {
// Чтение/запись с файлами, можно убрать
assert(freopen("sum.in", "r", stdin));
assert(freopen("sum.out", "w", stdout));
// Числа
long long a = readInt<long long>(); // читает из stdin long long
long long b = readInt(); // читает int из stdin
writeInt(a + b); // автовывод типа числа; выводит в stdout
writeInt(3, '\n'); // можно сразу и перевод строки вывести
// Строки
char s[101]; // си-шная строка длины до 100 + 1 байт под признак конца строки
readWord(s); // читать строку; память сами выделили выше
writeWord(s); // вывести строку
string t = s; // сделать из си-шной строки си++ строку
writeWord(t.c_str()); // чтобы вывести си++ строку преобразуйте её к сишной
writeChar('\n'); // хотите перевод строки или один символ? вот оно
// Чтение до конца файла
std::vector<int> nums;
while (!seekEof()) // до конца файла
nums.push_back(readInt());
}
/**
Если не работает ввод, прочтите:
Попробуйте Ctrl+D = символ конца файла.
В CLion и, возможно, каких-то других средах НЕ РАБОТАЕТ
буфферизированное чтение данных из консоли,
так как там нельзя использовать символ конца файла (Ctrl+D).
Что делать? Локально у себя читать из файла, не забывать, что
в тестирующей системе нужно читать из стандартного потока.
Сам я обычно запускаю a.exe < a.in (перенаправить a.in на вход программе).
Можно так делать из консоли, можно настроить, чтобы среда так вам запускала.
*/