using System;
class Program
{
static void Main() {
int[] arr = {3, 5, 7, 12, 18, 20, 23, 27, 30};
int size = arr.Length;
int N = 22;
int left = 0, right = size - 1, sum = 0;
int nearest = Int32.MaxValue, nearest_sum = 0;
int paira = 0, pairb = 0;
while(left < right) {
sum = arr[left] + arr[right];
if (Math.Abs(N - sum) < nearest) {
nearest = Math.Abs(N -sum);
nearest_sum = sum;
paira = arr[left];
pairb = arr[right];
}
if (sum > N)
right--;
else if (sum <= N)
left++;
}
Console.WriteLine(nearest_sum);
Console.Write("{0} {1}", paira, pairb);
}
}
/*
run:
23
3 20
*/