void f(char* s, int shift)
{
 static const char* u = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 static const char* l = "abcdefghijklmnopqrstuvwxyz";

 while (*s) {
  if (isalpha(*s)) {
   const char* a = isupper(*s) ? u : l;
   *s = a[ ((*s - a[0]) + shift) % 26 ];
  }
  s++;
 }
}