10
4 108 114
5 30 155
8 193 197
9 71 169
2 163 166
8 120 144
8 22 151
4 21 166
2 46 127
8 38 51
 20
9 142 172
7 132 256
8 245 315
9 496 496
3 345 362
8 13 162
5 342 470
9 16 488
9 467 482
4 471 478
10 92 224
6 228 261
9 54 167
2 402 409
5 9 10
7 225 360
3 438 483
6 252 342
3 491 493
6 296 367
 1
8 1234567890123 123456789012345

0
3
0
1
3
0
5
16
9
1
 0
0
0
0
4
6
13
7
0
0
1
2
3
0
0
2
12
9
1
4
 774752389568

import java.util.*;
public class CF855E {
//http://codeforces.com/contest/855/problem/E
	static long dp[][][]; 	//base, ind, mask
	static int b;
	static int hi[];
	static int len;
	
	public static void main(String[] args) {
		dp = new long[11][64][(int) (Math.pow(2, 10)+1)];
		for(long a[][] : dp)
			for(long b[] : a)
				Arrays.fill(b, -1);
		Scanner in = new Scanner(System.in);
		int T = in.nextInt();
		for(int runs = 1; runs <= T; runs++)
		{
			b = in.nextInt();
			long l = in.nextLong();
			long l2 = in.nextLong();
			String s = Long.toString(l, b);
			String s2 = Long.toString(l2, b);
			//System.out.println("base: "+b+" l/r:"+s+" "+s2);
			
			len = s.length();
			hi = new int[len];
			for(int i = 0; i < len; i++)
				hi[i] = Integer.valueOf(s.charAt(i)+"");
			long n1 = digit(0, len, true, false);
			
			len = s2.length();
			hi = new int[len];
			for(int i = 0; i < len; i++)
				hi[i] = Integer.valueOf(s2.charAt(i)+"");
			long n2 = digit(0, len, true, false);
			
			System.out.println(n2-n1);
		}
		
	}	
	
	static long digit(int mask, int ind, boolean bnd, boolean st)
	{
		if(ind == 0) return ((mask == 0  && st)? 1 : 0);
		if(!bnd && st && dp[b][ind][mask] != -1) return dp[b][ind][mask];
		
		if(bnd)
		{
			long res = 0;
			for(int i = 0; i <= hi[len-ind]; i++)
			{
				res += digit(m(mask,i,st), ind-1, i == hi[len-ind]?true:false, st||(i > 0) );
			}
			return res;
		}
		else
		{
			long res = 0;
			for(int i = 0; i < b; i++)
			{
				res += digit(m(mask,i,st), ind-1, false, st||(i > 0));
			}
			if(st) return dp[b][ind][mask] = res;
			else return res;
		}

	}
	
	static int m(int mask, int i, boolean st)
	{
		if(st == false && i == 0) return mask;
		int newM = (mask ^ (1 << i));
		return newM;
	}

}
