class Solution {
public:
vector<vector<int>> out;
int n=0;
void dfs(vector<int>& nums,int i){
int n_temp=out.size();
out.push_back({nums[i]});
for(int j=0;j<n_temp;j++){
out.push_back(out[j]);
out.back().push_back(nums[i]);
}
}
vector<vector<int>> subsets(vector<int>& nums) {
int n=nums.size();
for(int i=0;i<n;i++){
dfs(nums,i);
}
out.push_back({});
return out;
}
};