Ubel (2026-03-05) Line-based file cutting tool. Synopsis: ./ubel {line_number} < {input.txt} > {output.txt} ./ubel 1 < ubel.c > ubel_head.c && gcc ubel_head.c -o ubel_head ./ubel -1 < ubel.c > ubel_tail.c && gcc ubel_tail.c -o ubel_tail ./ubel_head {line_count} < {input.txt} > {output.txt} ./ubel_tail {line_count} < {input.txt} > {output.txt} ruby ubel.c {line_count} < {input.txt} > {output.txt} ./ubel_head 40 < ubel.c | ./ubel_tail 12 > ubel_generate.c gcc ubel_generate.c -o ubel_generate && ./ubel_generate > ubel_classify.c ./ubel {integer_between_1_and_9999} < ubel_classify.c > output.c gcc output.c -o output && ./output cpp output.c | grep main perl ubel.c Ubel removes one line from input. A positive number removes line counted from start of file, a negative number removes line counted from end of file. By removing one line from ubel.c and compiling that, you can generate tools that function similar to head(1) or tail(1). By extracting the middle few lines from ubel.c, you can produce a generator that generates a classifier, and that classifier can detect if the line number of one line removed from its source is prime or not. Ubel also parses with Ruby (works as another file chopping tool), Perl (outputs UTF-8 scissors), and Brainfuck (outputs ASCII scissors). Layout is based on Ubel from "Sousou no Frieren". Ubel won the "Compound prize" award in IOCCC 2025. -- omoikane@uguu.org - https://uguu.org/