#include <iostream>
#include <string>
using namespace std;
void printSubset(int arr[] , int idx , string set , int sos, int tar ,int N){
if(idx == N){
if(sos == tar)
cout<<set<<endl;
return;
}
printSubset(arr,idx+1,set+to_string(arr[idx])+"-", sos+arr[idx], tar,N );
printSubset(arr,idx+1, set, sos, tar,N);
}
int main() {
int arr[] = {10,20,30,40,50};
int sum = 70;
int N = sizeof(arr)/sizeof(arr[0]);
printSubset(arr, 0 , "",0, sum,N);
}