#include <iostream>

constexpr unsigned int s2i(const char*, int = 0);

constexpr unsigned int Str2Int(const char *Line, int CurrentPos = 0)
{
    return !Line[CurrentPos] ? 5381 : (Str2Int(Line, CurrentPos + 1) * 33) ^ Line[CurrentPos];
}

int main()
{
	std::cout << Str2Int("3") << '\n';
	std::cout << s2i("3") << '\n' ;
}

constexpr unsigned int s2i(const char* Line, int CurrentPos)
{
    return !Line[CurrentPos] ? 5381 : (Str2Int(Line, CurrentPos + 1) * 33) ^ Line[CurrentPos];

}
