# HackerEarth XOR subsequences problem solution

In this HackerEarth XOR subsequences problem solution You are given an array A consisting of N integers. Your task is to find the longest subsequence S, such that XOR of any two elements in S is non-zero.

You are required to print the size of S(L) and the array of indices that are chosen for S. In case of multiple such arrays, choose the lexicographically smallest array.

## HackerEarth XOR subsequences problem solution.

`#include<bits/stdc++.h>using namespace std;#define FIO ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0)#define mod 1000000007#define endl "\n"#define test ll t; cin>>t; while(t--)typedef long long int ll;int main() {    FIO;    test    {        ll n; cin>>n;        vector<ll>a(n);        map<ll,ll>mp;        vector<ll>ans;        for(int i=0;i<n;i++){           cin>>a[i];           mp[a[i]]++;           if(mp[a[i]]==1) ans.push_back(i+1);        }        cout<<ans.size()<<endl;        for(auto it:ans) cout<<it<<" ";        cout<<endl;    }    return 0;}`

### Second solution

`t = int(input())while t > 0:    t -= 1    n = int(input())    s = set()    ans = []    i = 0    for x in map(int, input().split()):        i += 1        if x not in s:            s.add(x)            ans += [i]    print(len(ans))    print(*ans)`