4279 - 연습 2.6. 비트 합치기

Time Limit: 1s Memory Limit: 128MB

Submissions: 307 Solved: 81
Description

2개의 정수 x, y가 주어졌을 때, 이를 비트(bit)수준에서 섞어서 하나의 변수로 만들어 봅시다. 규칙은 다음과 같습니다.

1. 합쳐지는 2개의 변수는 32비트의 정수임

2. 변수 x의 p번째 bit부터 p+n-1번째 bit를 변수 y의 가장 오른쪽부터 n개의 bit로 바꿔치기 함

(본 문제의 위치 index는 zero-base를 따릅니다. 즉, 32bit의 경우 0번째 bit부터 31번째 bit까지 존재합니다.)

Input

* Line 1 : 단일 정수 x

* Line 2 : 단일 정수 y

* Line 3 : 단일 정수 p (바꾸는 시작 bit 지점)

* Line 4 : 단일 정수 n (바꾸는 bit 수)

Output

* Line 1 : 32 비트 (x, y 변수의 bit를 합친 결과물)

Sample Input
1023
1
2
3
Sample Output
11000111110000000000000000000000