//解法一:
import java.util.Arrays;
import java.util.Scanner;
public class Main {
static Scanner sc=new Scanner(System.in);
static int n=sc.nextInt();
static int m=sc.nextInt();
static int a[]=new int[n];
public static void main(String[] args) {
for(int i=0;i
a[i]=sc.nextInt();
}
Arrays.sort(a);
for(int i=0,j=n-1;i
while(j>i+1&&a[i]+a[j]>m) j--;
if(a[i]+a[j]==m) { //for语句的控制条件和while语句限制了这里i和j必不会相等
System.out.println(a[i]+" "+a[j]);
System.exit(0);
}
}
System.out.println("No Solution");
}
}
//解法二:
import java.util.Arrays;
import java.util.Scanner;
public class Main {
static Scanner sc=new Scanner(System.in);
static int n=sc.nextInt();
static int m=sc.nextInt();
static int a[]=new int[n];
public static void main(String[] args) {
for(int i=0;i
a[i]=sc.nextInt();
}
Arrays.sort(a);
for(int i=0,j=n-1;i
while(j>i+1&&a[i]+a[j]>m) j--;
if(a[i]+a[j]==m&&i!=j) { //若for语句里i可以取到i-1,那么在if语句这里就要限制一下i!=j
//若不限制i!=j,比如N=4,M=10并且
//输入的数组是1 2 4 5时,循环到i=n-1,j=n-1时会输出5 5
//实际上是无解的
System.out.println(a[i]+" "+a[j]);
System.exit(0);
}
}
System.out.println("No Solution");
}
}