题目
reverse()
ss=s.substr(开始下标,长度) 复制字符串的一段
stoll()string转long long

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n, m;
vector<ll> ans;
ll find_palin(ll n){
    if(n<10)return n;
    if(n==10)return 1;
    if(n>=11&&n<=99) return n/11*11;
    string s=to_string(n), s_half=s;
    reverse(s_half.begin(),s_half.end());
    if(s==s_half) return n;
    s_half=s.substr(0,s.size()+1>>1);
    ll m=stoll(s_half)-1;//
    s_half=to_string(m);//cout<<m<<endl;
    string ans=s_half;
    for(int i=s_half.size()-1-s.size()%2;i>=0;i--)
        ans+=s_half[i];
    return stoll(ans);
}

int main()
{
    scanf("%lld",&n);
    for(;n;n-=m){
        ans.push_back(m=find_palin(n)); 
    }
    printf("%d\n",ans.size());
    for(int i=0;i<ans.size();i++){
        printf("%lld\n",ans[i]);
    }

    return 0;
}