#include <iostream> 
using namespace std; 
class SingleCounter{
    static SingleCounter c;
    int value;
    SingleCounter(int n):value(n){}
    void operator=(SingleCounter&);
    SingleCounter(const SingleCounter&);
   public:
    static SingleCounter& instance(){return c;}
    int getValue(){return value;}
    void increment(){value++;};
  };
 SingleCounter SingleCounter::c(0);

 int main() 
{ 

     SingleCounter& c1 = SingleCounter::instance();
     cout << c1.getValue() << endl;
     c1.increment();
      SingleCounter& c2 = SingleCounter::instance();
     c2.increment();
     cout << c1.getValue() <<" "<<  c2.getValue()<< endl;
  }
