사탕
시간 제한2초메모리 제한512 MB
N개의 사탕으로 만든 모든 부분집합에 대해 원소 개수가 K일 때 2^K를 더하되 공집합은 0으로 두고, 그 합을 1,000,000,007로 나눈 나머지를 구한다.
문제
영희는 서로 다른 맛의 사탕 개를 준비해 상자에 담고 포장해서 철수에게 주려고 했다. 사탕에는 맛에 따라 1번부터 번까지 번호가 붙어 있다.
생일 날 철수가 받은 꾸러미는 이미 포장이 뜯겨 있었다. 철수는 원래 사탕이 개였다는 말을 영희에게 들었으므로 사탕 몇 개가 사라졌을지도 모른다고 생각한다. 하나도 사라지지 않았을 수도 있고 전부 사라졌을 수도 있다. 즉 철수가 실제로 받은 사탕은 1번부터 번까지 가운데 어떤 부분집합이든 될 수 있다.
철수는 사탕 개()를 받으면 만족도를 만큼 느낀다. 예를 들어 1번, 3번, 4번 사탕 3개를 받았다면 만족도는 이다. 사탕을 하나도 받지 못하면 만족도는 0이다.
철수가 받았을 수 있는 모든 경우, 즉 가지 부분집합 각각의 만족도를 모두 더한 값을 구하라.
입력
첫째 줄에 서로 다른 사탕의 개수 이 주어진다. ()
출력
첫째 줄에 만족도의 총합을 1,000,000,007로 나눈 나머지를 출력한다.
힌트
인 경우를 보자. 1번 사탕만 받으면 만족도는 2, 2번 사탕만 받으면 만족도는 2, 1번과 2번을 모두 받으면 만족도는 4, 아무것도 받지 못하면 만족도는 0이다. 따라서 총합은 이다.