Language: C++

#define ANSWER
#include <algorithm>
#include <vector>
#include <iostream>
#include <numeric>
#include <cmath>


template <typename T> 
class mylist {
    private:
        std::vector<char> alphabets = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; 
    public:
        std::vector<T> list;
        void sort(){
            std::sort(list.begin(), list.end());
        };
        std::vector<T> sorted();
        // std::vector<size_t> argsort(){
        //     std::vector<size_t> index(list.size());
        //     std::iota(index.begin(), index.end(), 0);

        //     std::sort(index.begin(), index.end(), [&list](size_t i1, size_t i2) {
        //         return list[i1] < list[i2];
        //     });

        //     return index;
        // };
        int find(T key){
            typename std::vector<T>::iterator iter = std::find(list.begin(), list.end(), key);
            return std::distance(list.begin(), iter);
        };
        std::string toString(){
            std::string string(list.begin(), list.end());
            return string;
        }
        void fromString(std::string string){
            mylist<char> S;
            std::copy(string.begin(), string.end(), std::back_inserter(list));
        }
        void fromAlphabets(std::string string){
            std::transform(string.begin(), string.end(), string.begin(), std::tolower);
            for (size_t i = 0; i < string.size(); i++)
            {
                typename std::vector<char>::iterator iter = std::find(alphabets.begin(), alphabets.end(), string[i]);
                list.push_back(std::distance(alphabets.begin(), iter));
            }            
        }
        std::string toAlphabets(){
            std::string alp;
            for (auto &&i : list)
            {
                alp.push_back(alphabets[i - std::floor(i / alphabets.size()) * alphabets.size()]);
            }
            return alp;     
        }

        template <typename V> 
        void add(V value){
            for (auto &&i : list)
            {
                i+=value;
            }
        }
};

#include <iostream>
#include <vector>
#include <cstdarg>
#include <cmath>
#include <string>

class mystd
{
public:
    template<typename T>
    static bool Input(int number,...);
    static bool InputArray(std::vector<long long> array);
    static bool InputArrays(long long number,...);
    static bool InputMatrix(std::vector<std::vector<long long>> array);
    static long long min(std::vector<long long> array);
    static long long max(std::vector<long long> array);
    template<typename T>
    static void Print(int number,...);
    template<typename T>
    static void PrintArray(std::vector<T> array,const std::string sep);
};

template<typename T>
bool mystd::Input(int number,...){
    va_list args;
    va_start(args, number);
    for (long long i = 0; i < number; i++)
    {
        std::cin >> *(va_arg(args, T*));
    }
    return true;
}

template<typename T>
void mystd::Print(int number,...){
    va_list args;
    va_start(args, number);
    for (long long i = 0; i < number; i++)
    {
        if(i!=0){
            std::cout << " ";
        }
        std::cout << *(va_arg(args, T*));
    }
    std::cout << std::endl;;
}

template<typename T>
void mystd::PrintArray(std::vector<T> array,const std::string sep){
    for (long long i = 0; i < array.size(); i++)
    {
        if(i!=0){
            std::cout << sep;
        }
        std::cout << array[i];
    }
    std::cout << std::endl;;
}

bool mystd::InputArray(std::vector<long long> array){
    for (long long &i : array)
    {
        std::cin >> i;
    }
    return true;
}

bool mystd::InputArrays(long long number,...){
    va_list args;
    va_start(args, number);
    std::vector<std::vector<long long>*> arrays(number);
    for (auto &i : arrays)
    {
        i = va_arg(args, std::vector<long long>*);
    }
    long long length = arrays[0]->size();

    for (long long j=0;j<length;j++)
    {
        for (auto &&i : arrays)
        {
            std::cin >> (*i)[j];
        }
    }
    return true;
}


long long mystd::min(std::vector<long long> array){
    long long ans = array[0];
    for (long long &i : array)
    {
        if(i < ans){
            ans = i;
        }
    }
    return ans;
}


long long mystd::max(std::vector<long long> array){
    long long ans = array[0];
    for (long long &i : array)
    {
        if(i > ans){
            ans = i;
        }
    }
    return ans;
}

// #include <algorithm>
// #include <vector>
// #include <iostream>
// #include <numeric>
// #include <string>
 
// class mystring {
//     public:
//         std::string str;
//         void sort(); 
//         std::string sorted();
//         std::string argsort();
//         int find(std::string key){
//             typename std::string::iterator iter = std::find(string.begin(), string.end(), key);
//             return std::distance(string.begin(), iter);
//         };
// };

#ifndef ANSWER
#include "../../library/mystd.hpp"
#include "../../library/mylist.hpp"
#endif

#include <algorithm>
typedef long long ll;
typedef long double ld;
void Main(){
    ll N;
    mystd::Input<int>(1,&N);
    std::string S_string;
    mystd::Input<std::string>(1,&S_string);
    
    mylist<int> S;
    S.fromAlphabets(S_string);
    S.add(N);

    std::cout << S.toAlphabets() << std::endl;
}

int main(int argc, char const *argv[])
{
    Main();
    return 0;
}

Compiler output:
a.cc: In member function 'void mylist<T>::fromAlphabets(std::string)':
a.cc:42:27: error: no matching function for call to 'transform(std::__cxx11::basic_string<char>::iterator, std::__cxx11::basic_string<char>::iterator, std::__cxx11::basic_string<char>::iterator, <unresolved overloaded function type>)'
   42 |             std::transform(string.begin(), string.end(), string.begin(), std::tolower);
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14/algorithm:61,
                 from a.cc:2:
/usr/include/c++/14/bits/stl_algo.h:4209:5: note: candidate: 'template<class _IIter, class _OIter, class _UnaryOperation> _OIter std::transform(_IIter, _IIter, _OIter, _UnaryOperation)'
 4209 |     transform(_InputIterator __first, _InputIterator __last,
      |     ^~~~~~~~~
/usr/include/c++/14/bits/stl_algo.h:4209:5: note:   template argument deduction/substitution failed:
a.cc:42:27: note:   couldn't deduce template parameter '_UnaryOperation'
   42 |             std::transform(string.begin(), string.end(), string.begin(), std::tolower);
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_algo.h:4247:5: note: candidate: 'template<class _IIter1, class _IIter2, class _OIter, class _BinaryOperation> _OIter std::transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation)'
 4247 |     transform(_InputIterator1 __first1, _InputIterator1 __last1,
      |     ^~~~~~~~~
/usr/include/c++/14/bits/stl_algo.h:4247:5: note:   candidate expects 5 arguments, 4 provided
In file included from /usr/include/c++/14/algorithm:86:
/usr/include/c++/14/pstl/glue_algorithm_defs.h:156:1: note: candidate: 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _UnaryOperation> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> std::transform(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _UnaryOperation)'
  156 | transform(_ExecutionPolicy&& __exec, _ForwardIterator1 __first, _ForwardIterator1 __last, _ForwardIterator2 __result,
      | ^~~~~~~~~
/usr/include/c++/14/pstl/glue_algorithm_defs.h:156:1: note:   candidate expects 5 arguments, 4 provided
/usr/include/c++/14/pstl/glue_algorithm_defs.h:162:1: note: candidate: 'template<class _ExecutionPolicy, class _ForwardIterator1, class _ForwardIterator2, class _ForwardIterator, class _BinaryOperation> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, _ForwardIterator2> std::transform(_ExecutionPolicy&&, _ForwardIterator1, _ForwardIterator1, _ForwardIterator2, _ForwardIterator, _BinaryOperation)'
  162 | transform(_ExecutionPolicy&& __exec, _ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator2 __first2,
      | ^~~~~~~~~
/usr/include/c++/14/pstl/glue_algorithm_defs.h:162:1: note:   candidate expects 6 arguments, 4 provided