def to_pascal_case(s):
return ''.join(current.lower() if prev.isalnum() else current.upper()
for prev, current in zip(' ' + s, s) if current.isalnum())
test_data = ['', 'a', 'foo bar', 'PRODUCT_CHANGE_IT_LATER']
for s in test_data:
print(s, to_pascal_case(s))
ZGVmIHRvX3Bhc2NhbF9jYXNlKHMpOgogICAgcmV0dXJuICcnLmpvaW4oY3VycmVudC5sb3dlcigpIGlmIHByZXYuaXNhbG51bSgpIGVsc2UgY3VycmVudC51cHBlcigpCiAgICAgICAgICAgICAgICAgICBmb3IgcHJldiwgY3VycmVudCBpbiB6aXAoJyAnICsgcywgcykgaWYgY3VycmVudC5pc2FsbnVtKCkpCiAgICAgICAgICAgICAgICAgICAKCnRlc3RfZGF0YSA9IFsnJywgJ2EnLCAnZm9vIGJhcicsICdQUk9EVUNUX0NIQU5HRV9JVF9MQVRFUiddCgpmb3IgcyBpbiB0ZXN0X2RhdGE6CglwcmludChzLCB0b19wYXNjYWxfY2FzZShzKSk=