string str; unordered_set<string> strSet; cin >> str; for(int pos = 0; pos < str.size(); ++pos) for(int len = 1; len <= str.size() / 2; ++len) { if(str.substr(pos, len) == str.substr(pos + len, len)) { strSet.insert(str.substr(pos, len)); } } cout << strSet.size() << endl;