#include <iostream>
#include<bits/stdc++.h>
using ll = long long int;
#define fo(i,start,end) for(int i=start;i<end;i++)
using namespace std;
 
int main() {
	// your code goes here
	int arr[] = {3,2,1,2,5};
	int k = 4;
	int n = 5;
	unordered_map<ll,ll>mp;
	//store the element and its frequency 
	fo(i,0,n){
		int complement = k - arr[i];
		if(mp.find(complement) != mp.end()){
			//element is present
			//return the pair
			auto it = mp.find(complement);
			int first = it->first;
			int second = arr[i];
			cout<<"The pairs are:{"<<first<<","<<second<<"}"<<endl;
			return 0;
		}
		mp[arr[i]] = 1;
	}
	cout<<"No valid pairs found"<<endl;
return 0;	
}