const std = @import("std"); const MAGIC_NUMBER = 100; pub fn main() !void { var stdin_buffer: [1024]u8 = undefined; var stdin_reader = std.fs.File.stdin().reader(&stdin_buffer); const stdin = &stdin_reader.interface; var current: i32 = 50; var task1: u32 = 0; var task2: u32 = 0; while (try stdin.takeDelimiter('\n')) |line| { var num = try std.fmt.parseInt(i32, line[1..], 10); switch (line[0]) { 'L' => { while (num > 0) : (num -= 1) { current = @mod(current - 1, MAGIC_NUMBER); if (current == 0) { task2 += 1; } } }, 'R' => { while (num > 0) : (num -= 1) { current = @mod(current + 1, MAGIC_NUMBER); if (current == 0) { task2 += 1; } } }, else => unreachable, } if (current == 0) { task1 += 1; } } std.debug.print("{d}\n", .{task1}); std.debug.print("{d}\n", .{task2}); }