Problem:
Toggling Cases

Write a program which converts uppercase/lowercase letters to lowercase/uppercase for a given string.

Input

A string is given in a line.

Output

Print the converted string in a line. Note that you do not need to convert any characters other than alphabetical letters.

Constraints

The length of the input string < 1200

Sample Input

fAIR, LATER, OCCASIONALLY CLOUDY.

Sample Output

Fair, later, occasionally cloudy.

Solution in JAVA (judge verdict: Wrong Answer)

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
	public static void main(String [] args) {
		Scanner scan = new Scanner(System.in);
		char c;
		String ch, charc;
		Pattern p = Pattern.compile("[a-zA-Z]");
		Matcher m;
		
		
		ch = scan.next();
		
		StringBuilder sb = new StringBuilder(ch);
		
		for( int i = 0; i < ch.length(); i++) {
			c = ch.charAt(i);
			charc = String.valueOf(c);
			m = p.matcher(charc);
			
			if(m.find()) {
				if(Character.isUpperCase(c)) {
					charc = charc.toLowerCase();
				}else {
					charc = charc.toUpperCase();
				}
				
				char cc [] = charc.toCharArray();
				sb.setCharAt(i, cc[0]);
			}
		}
		
		System.out.println(sb);
	}
}