Join Alternate Characters From Two Strings

Write a program to input two strings in uppercase from the user.

Now form and display a new string by taking each character from the first string from left to right and of the second string from right to left.

The letters should be taken alternatively from each string.

Also note that the lengths of both the strings should be the same.

Example:
INPUT:
First string: HISTORY
Second string: SCIENCE
OUTPUT:
HEICSNTEOIRCYS

import java.io.*;
class Alternate{
    public static void main(String args[])throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("First string: ");
        String s1 = br.readLine().toUpperCase();
        System.out.print("Second string: ");
        String s2 = br.readLine().toUpperCase();
        if(s1.length() != s2.length()){
            System.out.println("Unequal lengths!");
            return;
        }
        String s3 = "";
        int p1 = 0;
        int p2 = s2.length() - 1;
        while(true){
            if(p1 == s1.length() || p2 < 0)
                break;
            s3 += s1.charAt(p1);
            s3 += s2.charAt(p2);
            p1++;
            p2--;
        }
        System.out.println(s3);
    }
}