/********************************************************
题意:给你一个n表示需要你找n个数字,每个数字的各个位数之
和必须相等,求最小的n个数字之和
类型:暴力
分析:因为n个数字都必须是正整数,由n<=5000, 暴力测试发现
1~100000以内可以得到5000个正解,由1~100000每个数字最大分
解次数<=10,暴力解决这道题的复杂度<10^6
*********************************************************/
#include<stdio.h>
#include<algorithm>
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
struct node{
long long sum;
int cishu;
}a[100];
int main(){
freopen("digits.in","r",stdin);
freopen("digits.out","w",stdout);
int n;
scanf("%d",&n);
long long b=0xfffffff;
for(int i=1;i<=100000;i++){
int tmp=i;
int summ=0;
while(tmp){
summ+=tmp%10;
tmp/=10;
}
a[summ].cishu++;
a[summ].sum+=i;
if(a[summ].cishu==n){
if(a[summ].sum<b)b=a[summ].sum;
}
}
cout<<b<<endl;
}