input: Write a function to encode a given string using ROT13 cipher.
  assert rot13("hello") == "uryyb"
  assert rot13("uryyb") == "hello"
  assert rot13("HELLO") == "URYYB"
  assert rot13("URYYB") == "HELLO"
output: def rot13(s):
      def shift_char(c):
          if 'a' <= c <= 'z':
              return chr((ord(c) - ord('a') + 13) % 26 + ord('a'))
          elif 'A' <= c <= 'Z':
              return chr((ord(c) - ord('A') + 13) % 26 + ord('A'))
          else:
              return c
  
      return ''.join(shift_char(c) for c in s)