Original formulation is given here (you can try also your program for correctness) .
Additional rules: 1. The program should read from standard input and write to s
Well, the real winner is the one who wrote this small code you provided, but you can slightly modify it to remove the exit:
main(c){read(0,&c,1)?c-41&&main(c-40&&(c%96<27||main(c),putchar(c))):0;}
I tried and it works.