만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

마카롱카마

시간 제한1초메모리 제한1024 MB

요약
빨간 껍질마다 파란 껍질을 하나씩 짝지어 각 마카롱 크기를 두 값 중 큰 수로 정할 때, 결과 숫자열이 회문이면서 가장 큰 값을 구합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 그리디, 문자열
정답자
아직 제출이 없습니다

문제

요정의 나라에서 마카롱 만들기 대회가 열렸다! 마카롱은 구워진 코크 두 개 사이에 원하는 필링을 넣어서 만드는 디저트이다. 룰루는 대회에 참가하기 위해 우선 마카롱에 쓸 코크들을 만들었다. 룰루는 빨간색 코크 NN개를 만들어 바닥에 두었다. ii번째 빨간색 코크의 크기는 aia_{i}이다. 또 파란색 코크도 NN개 만들었는데, ii번째 파란색 코크의 크기는 ii번째 빨간색 코크의 크기와 같다.

마카롱 만들기 대회에는 특별한 규칙이 있다. 각 마카롱의 크기는 1 이상 9 이하의 정수여야 하고, 마카롱의 총개수는 NN개여야 한다. 참가자가 받는 점수는 1번째부터 NN번째까지 마카롱의 크기를 순서대로 적었을 때 만들어지는 수이다. 예를 들어 N=4N = 4이고 (m1,m2,m3,m4)=(1,4,2,3)(m_{1}, m_{2}, m_{3}, m_{4}) = (1, 4, 2, 3)이면 점수는 1423점이다. 얻은 점수가 가장 큰 참가자가 대회에서 우승한다.

룰루는 바닥에 놓은 ii번째 빨간색 코크 위에 ii번째 파란색 코크를 올려 마카롱을 완성하려 했지만, 대회에서 이기려고 꼼수를 쓰기로 했다. 빨간색 코크의 순서는 그대로 두고, 파란색 코크는 원하는 위치의 빨간색 코크 위에 마음대로 올린다. 이렇게 NN개의 마카롱을 만든 뒤 빨간색 코크와 파란색 코크 중 크기가 더 큰 코크가 위에 오면, 요정들은 그 더 큰 코크의 크기를 해당 마카롱의 크기로 착각하게 된다.

이를 옆에서 지켜보던 요정 픽시는 꼼수를 허용하는 대신, 룰루가 얻은 점수가 팰린드롬수가 되도록 마카롱을 만들어 달라고 요청했다. 팰린드롬수는 앞에서부터 읽은 것과 뒤에서부터 읽은 것이 같은 수이다. 예를 들어 12321은 팰린드롬수이지만 3141은 아니다. 픽시의 요청을 받아들일 때 룰루가 얻을 수 있는 최대 점수를 구해 보자.

입력

첫째 줄에 룰루가 만들어 둔 빨간색 코크의 개수 NN이 주어진다. (1≤N≤400)(1 \leq N \leq 400)

둘째 줄에 룰루가 만들어 둔 빨간색 코크들의 크기를 나타내는 길이 NN의 문자열이 주어진다. ii번째 문자는 ii번째 빨간색 코크의 크기이며, 1 이상 9 이하이다.

출력

첫째 줄에 룰루가 얻을 수 있는 최대 점수를 출력한다.

예제2

  1. 예제 1

    입력
    5
    12345
    
    예상 출력
    54345
    
  2. 예제 2

    입력
    7
    1234321
    
    예상 출력
    3234323