const std = @import("std"); pub fn main() !void { var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator); defer arena.deinit(); const allocator = arena.allocator(); const args = try std.process.argsAlloc(allocator); if (args.len != 3) return error.InvalidArguments; const part = try std.fmt.parseInt(u32, args[1], 10); const output_file_path = args[2]; var output_file = try std.fs.cwd().createFile(output_file_path, .{}); defer output_file.close(); try output_file.writer().print( \\const std = @import("std"); \\const solution = @import("solution"); \\ \\pub fn main() !void {{ \\ const data = @embedFile("input"); \\ \\ var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator); \\ defer arena.deinit(); \\ const allocator = arena.allocator(); \\ \\ const input = try solution.parse(allocator, data); \\ const output = try solution.part{}(allocator, input); \\ try std.fmt.format(std.io.getStdOut().writer(), "{{}}\n", .{{output}}); \\}} , .{part}, ); return std.process.cleanExit(); }