#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

int main (int argc, char *argv[]) {

    int n, k, *arr, arrayIndex;

    FILE *fp;

    if (NULL == (fp = fopen (argv[1], "r"))) {
        printf ("Error opening file\n");
        exit (1);
    }

    /* Read the values of n and k */
    fscanf (fp, "%d", &n);
    fscanf (fp, "%d", &k);

    /* Create an array of size n and read in the elements */
    arr = (int *)(malloc (n * sizeof(int)));

    for (arrayIndex = 0; arrayIndex < n; arrayIndex++) {
        fscanf (fp, "%d", &arr[arrayIndex]);
    }

    /* Print the array elements */
    /*for (arrayIndex = 0; arrayIndex < n; arrayIndex++)
        printf ("%d ", arr[arrayIndex]);
    printf ("\n");*/

    /* WRITE YOUR CODE STARTING FROM HERE. 
       YOU MAY WRITE SEPARATE FUNCTIONS AS WELL */

    int i, j, pairExists = 0;
    for (i = 0; i < n; i++) {
        for (j = i + 1; j < n; j++) {
            if (arr[i] + arr[j] == k) {
                printf ("%d %d\n", arr[i], arr[j]);
                pairExists = 1;
            }
        }
    }

    if (pairExists == 0) {
        printf ("No such pair exists\n");
    }
    
    

    free (arr);
    fclose (fp);
    return 0;
}
