#include <iostream>
#include<vector>
using namespace std;
class Solution {
public:
vector<vector<int>> threeSum(vector<int>& nums) {
// create a vector which stores the index of the elements which forms the sum equal to zero
vector<vector<int>> res;
// Run the loop for the given equation
// create a function which stores the
for(int l=0;l<nums.size()-2;l++){
// Run the another loop for the given problems
for(int m=l+1;m<nums.size()-1;m++){
// Run another loop for the given problems
for(int n=m+1;n<nums.size();n++){
// cout<<"l: "<< l <<" m: "<< m <<" n: "<< n<<endl;
if(l!=m && l!=n && m!=n){
int sum=nums[l]+nums[m]+nums[n];
if(sum==0){
vector<int> v;
v.push_back(nums[l]);
v.push_back(nums[m]);
v.push_back(nums[n]);
res.push_back(v);
}
}
}
}
}
return res;
}
};
int main() {
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTx2ZWN0b3I+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNsYXNzIFNvbHV0aW9uIHsKcHVibGljOgogICAgdmVjdG9yPHZlY3RvcjxpbnQ+PiB0aHJlZVN1bSh2ZWN0b3I8aW50PiYgbnVtcykgewogLy8gY3JlYXRlIGEgdmVjdG9yIHdoaWNoIHN0b3JlcyB0aGUgaW5kZXggb2YgdGhlIGVsZW1lbnRzIHdoaWNoIGZvcm1zIHRoZSBzdW0gZXF1YWwgdG8gemVybwogICAgICAgIHZlY3Rvcjx2ZWN0b3I8aW50Pj4gcmVzOwogICAgICAgIAogICAgICAgIC8vIFJ1biB0aGUgbG9vcCBmb3IgdGhlIGdpdmVuIGVxdWF0aW9uIAogICAgICAgIC8vIGNyZWF0ZSBhIGZ1bmN0aW9uIHdoaWNoIHN0b3JlcyB0aGUgCiAgICAgICAgZm9yKGludCBsPTA7bDxudW1zLnNpemUoKS0yO2wrKyl7CiAgICAgICAgCS8vIFJ1biB0aGUgYW5vdGhlciBsb29wIGZvciB0aGUgZ2l2ZW4gcHJvYmxlbXMKICAgICAgICAJZm9yKGludCBtPWwrMTttPG51bXMuc2l6ZSgpLTE7bSsrKXsKICAgICAgICAJCS8vIFJ1biBhbm90aGVyIGxvb3AgZm9yIHRoZSBnaXZlbiBwcm9ibGVtcwogICAgICAgIAkJZm9yKGludCBuPW0rMTtuPG51bXMuc2l6ZSgpO24rKyl7CiAgICAgICAgCQkvLwljb3V0PDwibDogIjw8IGwgPDwiIG06ICI8PCBtIDw8IiBuOiAiPDwgbjw8ZW5kbDsKICAgICAgICAJICAgICAJaWYobCE9bSAmJiBsIT1uICYmIG0hPW4pewogICAgICAgIAkJCQlpbnQgc3VtPW51bXNbbF0rbnVtc1ttXStudW1zW25dOwogICAgICAgIAkJCQlpZihzdW09PTApewogICAgICAgIAkJCQkJdmVjdG9yPGludD4gdjsKICAgICAgICAJCQkJCXYucHVzaF9iYWNrKG51bXNbbF0pOwogICAgICAgIAkJCQkJdi5wdXNoX2JhY2sobnVtc1ttXSk7CiAgICAgICAgCQkJCQl2LnB1c2hfYmFjayhudW1zW25dKTsKICAgICAgICAJCQkJCXJlcy5wdXNoX2JhY2sodik7CiAgICAgICAgCQkJCQogICAgICAgIAkJCQl9CiAgICAgICAgCQkJCQogICAgICAgIAkJCQkKICAgICAgICAJCQl9CiAgICAgICAgCQl9CiAgICAgICAgCX0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJlczsKICAgIH0KfTsKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglyZXR1cm4gMDsKfQ==