Please tell me why the singleton code below works? Every time When Singleton::instance() is called, an INSTANCE will be created, so are two INSTANCE supposed to be created in the following code?
#include <bits/stdc++.h>
using namespace std;
class Singleton
{
    private:
       Singleton() = default;
    public:
       static Singleton& instance()
       {
          static Singleton INSTANCE;
          return INSTANCE;
       }
};
int main()
{
    Singleton &s1 = Singleton::instance();
    Singleton &s2 = Singleton::instance();
    return 0;
}
 
     
     
     
    