import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		//宣言文
		//標準入力オブジェクトを生成
		Scanner sc = new Scanner(System.in);
		//標準入力で以下の変数を初期化
		int numberN = sc.nextInt();
		int numberA = sc.nextInt();
		int numberB = sc.nextInt();
		//AとBの和変数
		int sumNumAB = 0;
		//10の位と1の位和変数
		int sumTenOne = 0;
		//処理文
		//1<= ● <= N　繰り返し　1からNまで
		for (int i = 1; i <= numberN; i++) {
			//●　選別する　10の位と1の位の値
			//合計する　合計してAとBの範囲であるもの
			//合計していく sumNumAB
			sumTenOne = digitNumberSummation(i);
			if ((numberA <= sumTenOne && sumTenOne <= numberB)) {
				sumNumAB += i;
			}
		}
		//標準出力　合計したsumNumAB
		System.out.print(sumNumAB);
	}
	//各桁を計算し、和を返す
	public static int digitNumberSummation(int i){

		int num = i;
		int sum = 0;
		while(num > 0) {
			sum += num % 10;
			num /= 10;
		}
		
		return sum;
	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		//宣言文
		//標準入力オブジェクトを生成
		Scanner sc = new Scanner(System.in);
		//標準入力で以下の変数を初期化
		int numberN = sc.nextInt();
		int numberA = sc.nextInt();
		int numberB = sc.nextInt();
		//AとBの和変数
		int sumNumAB = 0;
		//10の位と1の位和変数
		int sumTenOne = 0;
		//処理文
		//1<= ● <= N　繰り返し　1からNまで
		for (int i = 1; i <= numberN; i++) {
			//●　選別する　10の位と1の位の値
			//合計する　合計してAとBの範囲であるもの
			//合計していく sumNumAB
			sumTenOne = digitNumberSummation(i);
			if ((numberA <= sumTenOne && sumTenOne <= numberB)) {
				sumNumAB += i;
			}
		}
		//標準出力　合計したsumNumAB
		System.out.print(sumNumAB);
	}
	//各桁を計算し、和を返す
	public static int digitNumberSummation(int i){

		int num = i;
		int sum = 0;
		while(num > 0) {
			sum += num % 10;
			num /= 10;
		}
		
		return sum;
	}
} Main public static void main(String[] args) {
		//宣言文
		//標準入力オブジェクトを生成
		Scanner sc = new Scanner(System.in);
		//標準入力で以下の変数を初期化
		int numberN = sc.nextInt();
		int numberA = sc.nextInt();
		int numberB = sc.nextInt();
		//AとBの和変数
		int sumNumAB = 0;
		//10の位と1の位和変数
		int sumTenOne = 0;
		//処理文
		//1<= ● <= N　繰り返し　1からNまで
		for (int i = 1; i <= numberN; i++) {
			//●　選別する　10の位と1の位の値
			//合計する　合計してAとBの範囲であるもの
			//合計していく sumNumAB
			sumTenOne = digitNumberSummation(i);
			if ((numberA <= sumTenOne && sumTenOne <= numberB)) {
				sumNumAB += i;
			}
		}
		//標準出力　合計したsumNumAB
		System.out.print(sumNumAB);
	} main {
		//宣言文
		//標準入力オブジェクトを生成
		Scanner sc = new Scanner(System.in);
		//標準入力で以下の変数を初期化
		int numberN = sc.nextInt();
		int numberA = sc.nextInt();
		int numberB = sc.nextInt();
		//AとBの和変数
		int sumNumAB = 0;
		//10の位と1の位和変数
		int sumTenOne = 0;
		//処理文
		//1<= ● <= N　繰り返し　1からNまで
		for (int i = 1; i <= numberN; i++) {
			//●　選別する　10の位と1の位の値
			//合計する　合計してAとBの範囲であるもの
			//合計していく sumNumAB
			sumTenOne = digitNumberSummation(i);
			if ((numberA <= sumTenOne && sumTenOne <= numberB)) {
				sumNumAB += i;
			}
		}
		//標準出力　合計したsumNumAB
		System.out.print(sumNumAB);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int numberN = sc.nextInt(); numberN sc.nextInt() sc.nextInt sc int numberA = sc.nextInt(); numberA sc.nextInt() sc.nextInt sc int numberB = sc.nextInt(); numberB sc.nextInt() sc.nextInt sc int sumNumAB = 0; sumNumAB 0 int sumTenOne = 0; sumTenOne 0 for (int i = 1; i <= numberN; i++) {
			//●　選別する　10の位と1の位の値
			//合計する　合計してAとBの範囲であるもの
			//合計していく sumNumAB
			sumTenOne = digitNumberSummation(i);
			if ((numberA <= sumTenOne && sumTenOne <= numberB)) {
				sumNumAB += i;
			}
		} int i = 1; int i = 1; i 1 i <= numberN i numberN i++ i++ i {
			//●　選別する　10の位と1の位の値
			//合計する　合計してAとBの範囲であるもの
			//合計していく sumNumAB
			sumTenOne = digitNumberSummation(i);
			if ((numberA <= sumTenOne && sumTenOne <= numberB)) {
				sumNumAB += i;
			}
		} {
			//●　選別する　10の位と1の位の値
			//合計する　合計してAとBの範囲であるもの
			//合計していく sumNumAB
			sumTenOne = digitNumberSummation(i);
			if ((numberA <= sumTenOne && sumTenOne <= numberB)) {
				sumNumAB += i;
			}
		} sumTenOne = digitNumberSummation(i) sumTenOne digitNumberSummation(i) digitNumberSummation i if ((numberA <= sumTenOne && sumTenOne <= numberB)) {
				sumNumAB += i;
			} (numberA <= sumTenOne && sumTenOne <= numberB) numberA <= sumTenOne numberA sumTenOne sumTenOne <= numberB sumTenOne numberB {
				sumNumAB += i;
			} sumNumAB += i sumNumAB i System.out.print(sumNumAB) System.out.print System.out System System.out sumNumAB String[] args args //各桁を計算し、和を返す
	public static int digitNumberSummation(int i){

		int num = i;
		int sum = 0;
		while(num > 0) {
			sum += num % 10;
			num /= 10;
		}
		
		return sum;
	} digitNumberSummation {

		int num = i;
		int sum = 0;
		while(num > 0) {
			sum += num % 10;
			num /= 10;
		}
		
		return sum;
	} int num = i; num i int sum = 0; sum 0 while(num > 0) {
			sum += num % 10;
			num /= 10;
		} num > 0 num 0 {
			sum += num % 10;
			num /= 10;
		} sum += num % 10 sum num % 10 num 10 num /= 10 num 10 return sum; sum int i i public class Main {
	public static void main(String[] args) {
		//宣言文
		//標準入力オブジェクトを生成
		Scanner sc = new Scanner(System.in);
		//標準入力で以下の変数を初期化
		int numberN = sc.nextInt();
		int numberA = sc.nextInt();
		int numberB = sc.nextInt();
		//AとBの和変数
		int sumNumAB = 0;
		//10の位と1の位和変数
		int sumTenOne = 0;
		//処理文
		//1<= ● <= N　繰り返し　1からNまで
		for (int i = 1; i <= numberN; i++) {
			//●　選別する　10の位と1の位の値
			//合計する　合計してAとBの範囲であるもの
			//合計していく sumNumAB
			sumTenOne = digitNumberSummation(i);
			if ((numberA <= sumTenOne && sumTenOne <= numberB)) {
				sumNumAB += i;
			}
		}
		//標準出力　合計したsumNumAB
		System.out.print(sumNumAB);
	}
	//各桁を計算し、和を返す
	public static int digitNumberSummation(int i){

		int num = i;
		int sum = 0;
		while(num > 0) {
			sum += num % 10;
			num /= 10;
		}
		
		return sum;
	}
} public class Main {
	public static void main(String[] args) {
		//宣言文
		//標準入力オブジェクトを生成
		Scanner sc = new Scanner(System.in);
		//標準入力で以下の変数を初期化
		int numberN = sc.nextInt();
		int numberA = sc.nextInt();
		int numberB = sc.nextInt();
		//AとBの和変数
		int sumNumAB = 0;
		//10の位と1の位和変数
		int sumTenOne = 0;
		//処理文
		//1<= ● <= N　繰り返し　1からNまで
		for (int i = 1; i <= numberN; i++) {
			//●　選別する　10の位と1の位の値
			//合計する　合計してAとBの範囲であるもの
			//合計していく sumNumAB
			sumTenOne = digitNumberSummation(i);
			if ((numberA <= sumTenOne && sumTenOne <= numberB)) {
				sumNumAB += i;
			}
		}
		//標準出力　合計したsumNumAB
		System.out.print(sumNumAB);
	}
	//各桁を計算し、和を返す
	public static int digitNumberSummation(int i){

		int num = i;
		int sum = 0;
		while(num > 0) {
			sum += num % 10;
			num /= 10;
		}
		
		return sum;
	}
} Main
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		//宣言文
		//標準入力オブジェクトを生成
		Scanner sc = new Scanner(System.in);
		//標準入力で以下の変数を初期化
		int numberN = sc.nextInt();
		int numberA = sc.nextInt();
		int numberB = sc.nextInt();
		//AとBの和変数
		int sumNumAB = 0;
		//10の位と1の位和変数
		int sumTenOne = 0;
		//処理文
		//1<= ● <= N　繰り返し　1からNまで
		for (int i = 1; i <= numberN; i++) {
			//●　選別する　10の位と1の位の値
			//合計する　合計してAとBの範囲であるもの
			//合計していく sumNumAB
			sumTenOne = digitNumberSummation(i);
			if ((numberA <= sumTenOne && sumTenOne <= numberB)) {
				sumNumAB += i;
			}
		}
		//標準出力　合計したsumNumAB
		System.out.print(sumNumAB);
	}
	//各桁を計算し、和を返す
	public static int digitNumberSummation(int i){

		int num = i;
		int sum = 0;
		while(num > 0) {
			sum += num % 10;
			num /= 10;
		}
		
		return sum;
	}
}