package crypto

import (
	"bytes"
	"encoding/binary"
	"encoding/hex"
	"fmt"
	"math/big"
	"sync"
)

/*
	Credit: The base for this implementation is github.com/harmony-one/vdf (last commit 2019)

	Canopy upgrades this code for (1) memory efficiency, (2) code convention + de-duplication, and (3) documentation
*/

var (
	// predefine big int constants for memory efficiency
	bigZero  = big.NewInt(0)
	bigOne   = big.NewInt(1)
	bigTwo   = big.NewInt(2)
	bigFour  = big.NewInt(4)
	big65536 = big.NewInt(65536)
	bigM     = big.NewInt(int64(8 * 3 * 5 * 7 * 11 * 13))
	m        = bigM.Int64()

	bip = NewBigIntPool()
)

// ClassGroup is a set of equivalence classes of certain algebraic objects, like ideals or binary quadratic forms
// The important equations are -> (ax^2 + bxy +cy^2) and (b^2 - 4ac = Discriminant)
// ClassGroup provides operations for class groups of quadratic imaginary fields, which form the basis for constructing Verifiable Delay Functions
// These groups enable efficient sequential computations with fast verification, leveraging their cryptographic hardness properties
// Unlike RSA-based VDFs, class groups don’t require a trusted setup
type ClassGroup struct {
	a *big.Int // a value in ax^2 + bxy + cy^2
	b *big.Int // b value in ax^2 + bxy + cy^2
	c *big.Int // c value in ax^2 + bxy + cy^2
	d *big.Int // discriminant value
}

// NewClassGroup() is a constructor for the class group object
func NewClassGroup(a, b, c *big.Int) *ClassGroup { return &ClassGroup{a: a, b: b, c: c} }

// CloneClassGroup() creates a shallow copy of the class group
func CloneClassGroup(cg *ClassGroup) *ClassGroup { return &ClassGroup{a: cg.a, b: cg.b, c: cg.c} }

// NewClassGroupFromABDiscriminant() calculates c using D = b^2 - 4ac and returns a class group object
func newClassGroup(a, b, discriminant *big.Int) *ClassGroup {
	// 4ac = b^2 - discriminant
	fourAC := bip.New().Mul(b, b)
	// subtract the discriminant
	fourAC.Sub(fourAC, discriminant)
	// c = floor(4ac / 4a)
	fourA := bip.New()
	c := floorDivision(fourAC, fourA.Mul(a, bigFour))
	// cleanup big ints for memory efficiency
	bip.Recycle(fourAC, fourA)
	// return the class group
	return NewClassGroup(a, b, c)
}

// Multiply performs multiplication of two elements from the class group
// and returns the resulting class group element
// NOTE: this function re-uses big.int instances for memory efficiency
// so the variable names won't match the commented equations
func (group *ClassGroup) Multiply(other *ClassGroup) *ClassGroup {
	// Step 0: Reduce both class groups for efficient arithmetic operations
	x := group.Reduced()
	y := other.Reduced()
	defer func() { x.Discard(); y.Discard() }()
	// variables for storing intermediate results
	a, b, c, d1, e1 := bip.New(), bip.New(), bip.New(), bip.New(), bip.New()
	defer bip.Recycle(d1, e1)
	// Step 1: Calculate intermediate value g = (b1+b2) // 2
	g := floorDivision(e1.Add(x.b, y.b), bigTwo)
	defer bip.Recycle(g)
	// Step 2: Calculate intermediate value h = b2 - b1
	h := floorDivision(d1.Sub(y.b, x.b), bigTwo)
	defer bip.Recycle(h)
	// Step 3: Calculate intermediate value w as the GCD of a2 and the (GCD of a1 and g)
	var tmp3, tmp4 *big.Int
	gcd, tmp1, tmp2 := safeGCD(y.a, g)
	y.c, tmp3, tmp4 = safeGCD(x.a, gcd)
	defer bip.Recycle(gcd, tmp1, tmp2, tmp3, tmp4)
	// Step 4:
	// Calculate intermediate value s = a1 // w
	// Calculate intermediate value t = a2 // w
	// Calculate intermediate value u = g // w
	s := floorDivision(x.a, y.c)
	t := floorDivision(y.a, y.c)
	u := floorDivision(g, y.c)
	defer bip.Recycle(s, t, u)
	// Step 5: Solve the modular equation for k and constant_factor
	// k, constant_factor = mod.solve_mod(t * u, h * u + s * c1, s * t)
	k, constFactor, solvable := solveMod(c.Mul(t, u), g.Add(g.Mul(h, u), b.Mul(s, x.c)), a.Mul(s, t))
	defer bip.Recycle(k, constFactor)
	if !solvable {
		return nil // Return nil if the modular equation is unsolvable
	}

	// Step 6: Solve for n in another modular equation
	// n, constant_factor_2 = mod.solve_mod(t * constant_factor, h - t * k, s)
	n1, step, solvable := solveMod(c.Mul(t, constFactor), g.Sub(h, g.Mul(t, k)), s)
	defer bip.Recycle(n1, step)
	if !solvable {
		return nil // Return nil if this equation is unsolvable
	}

	// Step 7: Compute intermediate value k = k_temp + constant_factor * n
	k.Add(k, c.Mul(constFactor, n1))

	// Step 8: Compute intermediate value l as (t * k - h) // s
	l := floorDivision(c.Sub(a.Mul(t, k), h), s)
	defer bip.Recycle(l)
	// Step 9:
	// Compute a = h * u
	// Compute intermediate value m as (t * u * k - h * u - s * c1) // (s * t)
	c.Mul(t, u)
	c.Mul(c, k)
	a.Mul(h, u)
	c.Sub(c, a)
	c.Sub(c, b)
	a.Mul(s, t)
	x.b = floorDivision(c, a)

	// Step 10: Compute b = (j * u + m * r) - (k * t + l * s)
	b.Mul(y.c, u)
	g.Mul(k, t)
	h.Mul(l, s)
	g.Add(g, h)
	b.Sub(b, g)

	// Step 12: Compute c = k * l - j * m
	c.Mul(k, l)
	g.Mul(y.c, x.b)
	c.Sub(c, g)

	return NewClassGroup(a, b, c).Reduced()
}

// Pow() executes an exponential function (group^n) on a class group and returns the resulting class group
func (group *ClassGroup) Pow(n int64) *ClassGroup {
	// initialize the result as the Identity element of the group (group^0)
	result := group.Identity()
	// shallow copy the current ClassGroup to avoid modifying the original pointer while performing exponentiation
	x := CloneClassGroup(group)
	// while n is greater than 0, perform exponentiation by squaring
	for n > 0 {
		// if the current bit of n is 1, multiply the result
		if n%2 == 1 {
			if result = result.Multiply(x); result == nil {
				return nil
			}
		}
		// square the base (x = x^2)
		if x = x.Square(); x == nil {
			return nil
		}
		// move to the next higher bit by dividing n by 2
		n /= 2
	}
	// return the result (group^n)
	return result
}

// BigPow() executes an exponential function (group^n) on a class group and returns the resulting class group
func (group *ClassGroup) BigPow(z *big.Int) *ClassGroup {
	// initialize the result as the Identity element of the group (group^0)
	result := group.Identity()
	// clone the current ClassGroup to avoid modifying the original while performing exponentiation
	x := CloneClassGroup(group)
	// clone the big int
	n := bip.New().Set(z)
	defer bip.Recycle(n)
	// while n is greater than zero
	for n.Sign() > 0 {
		// if the current bit of n is 1, multiply the result
		if n.Bit(0) == 1 {
			if result = result.Multiply(x); result == nil {
				return nil
			}
		}
		// square the base (x = x^2)
		if x = x.Square(); x == nil {
			return nil
		}
		// move to the next higher bit by right shifting n
		n.Rsh(n, 1)
	}
	// return the result (group^n)
	return result
}

// Square() executes a pow(2) operation on the class group
func (group *ClassGroup) Square() *ClassGroup {
	mod, _, solvable := solveMod(group.b, group.c, group.a)
	if !solvable {
		return nil
	}
	// create new a,b,c for resulting class group
	A, B, C := bip.New(), bip.New(), bip.New()

	// A = a^2
	A.Mul(group.a, group.a)

	// B = b − 2a * mod
	temp := bip.New().Mul(group.a, mod)
	defer bip.Recycle(temp)
	temp.Mul(temp, bigTwo)
	B.Sub(group.b, temp)

	// C = mod^2 − (mod − c) / a
	C.Mul(mod, mod)
	temp.Mul(group.b, mod)
	temp.Sub(temp, group.c)
	temp.Div(temp, group.a)
	C.Sub(C, temp)

	// Return the reduced class group
	return NewClassGroup(A, B, C).Reduced()
}

// Normalized() ensures that the coefficient b is always in the range -a < b <= a
// making subsequent computations, such as reductions or multiplications more straightforward
// by starting from a consistent state
func (group *ClassGroup) Normalized() *ClassGroup {
	a := bip.New().Set(group.a)
	b := bip.New().Set(group.b)
	c := bip.New().Set(group.c)
	r1 := bip.New().Neg(a)
	t := bip.New()
	defer bip.Recycle(r1, t)
	// if already normalized where -a < b <= a
	if (b.Cmp(r1) == 1) && (b.Cmp(a) < 1) {
		return group
	}

	// r = floor((a - b) / (2 * a))
	r := floorDivision(r1.Sub(a, b), t.Mul(a, bigTwo))
	defer bip.Recycle(r)
	// b = b + 2 * r * a
	t.Mul(bigTwo, r)
	t.Mul(t, a)
	b.Add(b, t)

	// c = a * r^2 + b * r + c
	t.Mul(a, r)
	t.Mul(t, r)
	r.Mul(group.b, r)
	c.Add(c, t)
	c.Add(c, r)

	return NewClassGroup(a, b, c)
}

// Reduced() transforms a given class group element into a more compact and canonical representation of the group element
// reduction ensures that (a <= c) && (b >= 0 when a == c)
// This creates smaller coefficients to optimize arithmetic operations
func (group *ClassGroup) Reduced() *ClassGroup {
	g := group.Normalized()
	a, b, c := bip.New().Set(g.a), bip.New().Set(g.b), bip.New().Set(g.c)
	tempA, tempB, tempS := bip.New(), bip.New(), bip.New()
	tempX, tempC2 := bip.New(), bip.New()
	defer bip.Recycle(tempA, tempB, tempS, tempX, tempC2)

	// this loop iteratively reduces the quadratic form represented by (a, b, c)
	// until it meets the reduction criteria:
	// 1. a <= c
	// 2. if a == c, then b >= 0
	for (a.Cmp(c) == 1) || ((a.Cmp(c) == 0) && (b.Sign() == -1)) {
		// store old values for later use
		tempA.Set(a)
		tempB.Set(b)
		// calculate the integer value of s, which minimizes b by aligning it closer to 0.
		// s = floor((c + b) / (2 * c))
		tempS.Add(c, b)
		tempS = floorDivision(tempS, tempC2.Add(c, c))
		// a = c
		a.Set(c)
		// b = -2b * s * c
		b.Neg(b)
		tempX.Mul(bigTwo, tempS)
		tempX.Mul(tempX, c)
		b.Add(b, tempX)
		// c = c * s^2 - b * s + a
		c.Mul(c, tempS)
		c.Mul(c, tempS)
		tempB.Mul(tempB, tempS)
		c.Sub(c, tempB)
		c.Add(c, tempA)
	}
	return NewClassGroup(a, b, c).Normalized()
}

// Identity() returns the element that, when combined with any other element in the group, leaves the other element unchanged
func (group *ClassGroup) Identity() *ClassGroup {
	return newClassGroup(bip.New().Set(bigOne), bip.New().Set(bigOne), group.Discriminant())
}

// The discriminant is a constant and may be calculated from a,b,c
// D = b^2-4ac
func (group *ClassGroup) Discriminant() *big.Int {
	if group.d == nil {
		// b^2
		group.d = bip.New().Mul(group.b, group.b)
		// 4*a
		fourAC := bip.New().Mul(bigFour, group.a)
		defer bip.Recycle(fourAC)
		// 4a*c
		fourAC.Mul(fourAC, group.c)
		// b^2-4ac
		group.d.Sub(group.d, fourAC)
	}
	return group.d
}

// Encode() converts the ClassGroup into bytes
func (group *ClassGroup) Encode() (bz []byte) {
	r := group.Reduced()
	bz, _ = cdc.Marshal(&ProtoClassGroup{
		A: encodeBigInt(r.a),
		B: encodeBigInt(r.b),
	})
	return
}

// Encode() converts the bytes into ClassGroup
func (group *ClassGroup) Decode(bz []byte, discriminant *big.Int) (err error) {
	classGroup := new(ProtoClassGroup)
	if err = cdc.Unmarshal(bz, classGroup); err != nil {
		return err
	}
	// convert the byte slices to big.Int values
	a := decodeBigInt(classGroup.A)
	b := decodeBigInt(classGroup.B)
	*group = *newClassGroup(a, b, discriminant)
	return
}

// Equal() compares two ClassGroups using their underlying values and returns true if they are equivalent
func (group *ClassGroup) Equal(other *ClassGroup) bool {
	// reduce both to their simplest form
	g := group.Reduced()
	o := other.Reduced()
	// compare a,b,c
	return g.a.Cmp(o.a) == 0 && g.b.Cmp(o.b) == 0 && g.c.Cmp(o.c) == 0
}

// Discard() recycles the big ints used for the class group
func (group *ClassGroup) Discard() { bip.Recycle(group.a, group.b, group.c) }

// TODO consider updating the library to be similar to big.Int like (group *ClassGroup) Multiply(x, y) where it sets to group
//
//	This design would ultimately save GC pressure because Class Groups could be explicitly reused instead of always creating a new instance

var DiscriminantCache = map[string]*big.Int{}

// NewDiscriminant generates a 2048-bit discriminant using a seed
// The discriminant % 8 == 7 and is a negated random prime p between 13 - 2^4096
func NewDiscriminant(seed []byte) *big.Int {
	if d, ok := DiscriminantCache[hex.EncodeToString(seed)]; ok {
		return bip.New().Set(d)
	}
	// define big ints
	n, negN, temp := bip.New(), bip.New(), bip.New()
	// create entropy by hashing the seed
	entropy := Hash(seed)
	// convert entropy (minus the last 2 bytes) to a big integer
	n.SetBytes(entropy[:len(entropy)-2])
	// ensure 2048 bits
	n.SetBit(n, 2047, 1)
	// ensure divisibility by m
	n.Sub(n, temp.Mod(n, bigM))
	// use the last two bytes as the index input for the residue
	// without it - n might fail to meet the modular constraint
	residueIndex := int(binary.BigEndian.Uint16(entropy[len(entropy)-2:])) % len(Residues)
	residue := Residues[residueIndex]
	// add the residue to the value
	n.Add(n, temp.SetInt64(int64(residue)))
	// save the negative value of n
	negN.Neg(n)
	// find the smallest prime >= n of the form n + m*x
	// initialize a sieve to mark non-prime candidates within the range
	sieveLen := 65536
	sieve := make([]bool, sieveLen)
	for {
		// reset the slice
		sieve = sieve[:]
		var wg sync.WaitGroup
		// parallelize the marking of multiples
		for _, v := range SieveInfo {
			wg.Add(1)
			go func(v Pair) {
				tmp := bip.New().Set(temp)
				defer wg.Done()
				// `v.p` is a prime divisor, and `v.q` is the modular inverse of m mod v.p
				// `i` calculates the starting index for marking multiples of v.p
				// it represents the smallest integer such that:
				//     m * i ≡ -n (mod v.p)
				// simplified as:
				//     i = ((-n % v.p) * v.q) % v.p
				i := (tmp.Mod(negN, tmp.SetInt64(v.p)).Int64() * v.q) % v.p

				// adjust `i` to ensure it's within the bounds of the sieve
				for i < int64(sieveLen) {
					// mark the sieve index as non-prime
					sieve[i] = true
					// move to the next multiple of v.p within the sieve range
					i += v.p
				}
			}(v)
		}
		// wait for all marking goroutines to finish
		wg.Wait()
		// check each number in the sieve range for primality.
		for i, marked := range sieve {
			// skip if pre-marked as non prime
			if marked {
				continue
			}
			// calculate the candidate number t = n + m * i
			t := temp.Add(n, temp.SetInt64(m*int64(i)))
			// if the number is not marked in the sieve and is a probable prime:
			if t.ProbablyPrime(1) {
				if len(DiscriminantCache) >= 100 {
					DiscriminantCache = make(map[string]*big.Int)
				}
				// set to cache
				DiscriminantCache[hex.EncodeToString(seed)] = bip.New().Set(n.Neg(t))
				// return the negation of the prime number (as per the discriminant's requirements)
				return n.Neg(t)
			}
		}
		// if no prime is found, increment n to move to the next range: n = n + m * (1 << 16)
		// this effectively shifts the search to the next segment of size 2^16
		n = temp.Add(n, temp.Mul(bigM, big65536))
	}
}

// encodeBigInt() encodes a big integer as a big-endian byte slice but preserves the sign using the first byte
func encodeBigInt(i *big.Int) []byte {
	x := bip.New().Set(i)
	defer bip.Recycle(x)
	buf := new(bytes.Buffer)
	if x.Sign() < 0 {
		buf.WriteByte(1) // Negative sign
		x.Neg(i)
	} else {
		buf.WriteByte(0) // Positive sign
	}
	buf.Write(x.Bytes())
	return buf.Bytes()
}

// decodeBigInt() decodes a big integer from a big-endian byte slice with a sign byte
func decodeBigInt(data []byte) *big.Int {
	sign := data[0]
	i := bip.New().SetBytes(data[1:])
	if sign == 1 {
		i.Neg(i)
	}
	return i
}

// floorDivision() executes integer division for big.Int
func floorDivision(x, y *big.Int) *big.Int {
	var r big.Int
	// ensure no divide by zero
	if y.Cmp(bigZero) == 0 {
		return bip.New()
	}
	// perform integer division: x / y
	q, tmp := bip.New().QuoRem(x, y, &r)
	defer bip.Recycle(tmp)
	// check for cases where the division result needs adjustment to ensure floor division
	// round down to the nearest integer less than or equal to the exact result
	// This adjustment is necessary when:
	// 1. The remainder (r) is positive, and the divisor (y) is negative
	// 2. The remainder (r) is negative, and the divisor (y) is positive
	if (r.Sign() == 1 && y.Sign() == -1) || (r.Sign() == -1 && y.Sign() == 1) {
		// subtract 1 from the quotient to round down, achieving floor division.
		q.Sub(q, bigOne)
	}
	return q
}

// solveMod solves the modular equation a * x ≡ b (mod m)
// - s: A particular solution (x) to the equation
// - t: The step size, such that all solutions are of the form s + k * t (where k is any integer)
// - solvable: A boolean indicating if a solution exists
func solveMod(a, b, m *big.Int) (solution, step *big.Int, solvable bool) {
	solution = bip.New()
	// ensure m is not 0
	if m.Cmp(bigZero) == 0 {
		fmt.Println("M == 0, should not happen")
		return nil, nil, false // No solution exists
	}
	// find GCD of a and m, and the coefficients d and e
	gcd, x, _ := safeGCD(a, m)
	// check if b is divisible by gcd
	remainder := solution.Mod(b, gcd)
	if remainder.Cmp(bigZero) != 0 {
		return nil, nil, false // No solution exists
	}
	// calculate the solution
	solution.Div(b, gcd)      // b / gcd
	solution.Mul(solution, x) // solution = (b / gcd) * x
	solution.Mod(solution, m) // solution = solution mod m
	// compute the step size // step = m / gcd
	return solution, bip.New().Div(m, gcd), true
}

// safeGCD() extends big.Int GCD to handle non positive inputs
func safeGCD(a, b *big.Int) (gcd, x, y *big.Int) {
	gcd, x, y = bip.New(), bip.New(), bip.New()
	// handle non-positive inputs
	absA := bip.New().Abs(a)
	absB := bip.New().Abs(b)
	defer bip.Recycle(absA, absB)
	// compute GCD
	gcd.GCD(x, y, absA, absB)
	// adjust coefficients if inputs were negative
	if a.Sign() < 0 {
		x.Neg(x)
	}
	if b.Sign() < 0 {
		y.Neg(y)
	}
	return gcd, x, y
}

type BigIntPool struct {
	mu      sync.Mutex
	free    []*big.Int
	maxSize int
}

// NewBigIntPool() constructs a big int pool
func NewBigIntPool() *BigIntPool {
	return &BigIntPool{
		mu:      sync.Mutex{},
		free:    make([]*big.Int, 0),
		maxSize: 100,
	}
}

// New() pops a bigInt from the list
func (bp *BigIntPool) New() (b *big.Int) {
	bp.mu.Lock()
	defer bp.mu.Unlock()
	// check the length of the free list
	length := len(bp.free)
	if length == 0 {
		// if none, create a new big.Int
		return new(big.Int)
	}
	// get the last index
	lastIdx := length - 1
	// get the last element
	b = bp.free[lastIdx]
	// shrink the list
	bp.free = bp.free[:lastIdx]
	return
}

// Recycle releases a big.int to the pool
func (bp *BigIntPool) Recycle(ints ...*big.Int) {
	bp.mu.Lock()
	defer bp.mu.Unlock()
	// get the size of the pool
	size := len(bp.free)
	// for each big int
	for _, b := range ints {
		// don't allow growth past the max size
		if size >= bp.maxSize {
			return
		}
		// only set non nil big ints
		if b != nil {
			// reset the big int
			b.SetInt64(0)
			// add to the list
			bp.free = append(bp.free, b)
		}
		// increment the size
		size++
	}
}

// Public to allow others to import
var Residues = []int{
	23,
	31,
	47,
	71,
	79,
	103,
	127,
	151,
	167,
	191,
	199,
	223,
	239,
	263,
	271,
	311,
	359,
	367,
	383,
	391,
	431,
	439,
	463,
	479,
	487,
	503,
	527,
	551,
	599,
	607,
	631,
	647,
	703,
	719,
	727,
	743,
	751,
	799,
	823,
	839,
	863,
	887,
	911,
	919,
	943,
	967,
	983,
	991,
	1007,
	1031,
	1039,
	1063,
	1087,
	1103,
	1151,
	1159,
	1207,
	1223,
	1231,
	1247,
	1271,
	1279,
	1303,
	1319,
	1327,
	1343,
	1367,
	1399,
	1423,
	1439,
	1447,
	1471,
	1487,
	1511,
	1543,
	1559,
	1567,
	1583,
	1591,
	1607,
	1663,
	1679,
	1711,
	1751,
	1759,
	1783,
	1823,
	1831,
	1847,
	1871,
	1879,
	1919,
	1927,
	1943,
	1951,
	1999,
	2039,
	2047,
	2063,
	2071,
	2087,
	2111,
	2143,
	2159,
	2183,
	2207,
	2231,
	2239,
	2263,
	2279,
	2287,
	2311,
	2351,
	2383,
	2399,
	2407,
	2423,
	2447,
	2479,
	2503,
	2543,
	2551,
	2567,
	2591,
	2599,
	2623,
	2647,
	2663,
	2671,
	2687,
	2711,
	2719,
	2759,
	2767,
	2791,
	2831,
	2839,
	2879,
	2887,
	2903,
	2911,
	2927,
	2983,
	2999,
	3007,
	3023,
	3071,
	3079,
	3103,
	3119,
	3127,
	3151,
	3167,
	3191,
	3239,
	3247,
	3271,
	3287,
	3319,
	3343,
	3359,
	3383,
	3391,
	3407,
	3431,
	3439,
	3463,
	3503,
	3511,
	3527,
	3551,
	3559,
	3583,
	3599,
	3607,
	3623,
	3631,
	3671,
	3719,
	3727,
	3743,
	3767,
	3791,
	3799,
	3823,
	3847,
	3863,
	3911,
	3919,
	3943,
	3959,
	3967,
	4007,
	4031,
	4063,
	4079,
	4087,
	4111,
	4127,
	4159,
	4183,
	4223,
	4231,
	4247,
	4271,
	4327,
	4343,
	4351,
	4391,
	4399,
	4423,
	4439,
	4447,
	4463,
	4471,
	4519,
	4559,
	4567,
	4583,
	4591,
	4607,
	4639,
	4663,
	4679,
	4687,
	4703,
	4727,
	4751,
	4759,
	4783,
	4799,
	4831,
	4847,
	4871,
	4903,
	4919,
	4943,
	4951,
	4967,
	4999,
	5023,
	5039,
	5063,
	5087,
	5111,
	5119,
	5143,
	5167,
	5183,
	5191,
	5207,
	5231,
	5263,
	5279,
	5287,
	5303,
	5311,
	5351,
	5359,
	5399,
	5407,
	5431,
	5471,
	5479,
	5503,
	5519,
	5527,
	5543,
	5567,
	5591,
	5623,
	5639,
	5647,
	5671,
	5711,
	5743,
	5767,
	5783,
	5791,
	5807,
	5839,
	5879,
	5903,
	5911,
	5927,
	5959,
	5983,
	6007,
	6023,
	6031,
	6047,
	6079,
	6103,
	6119,
	6143,
	6151,
	6191,
	6199,
	6239,
	6247,
	6263,
	6271,
	6287,
	6311,
	6319,
	6343,
	6359,
	6367,
	6407,
	6431,
	6439,
	6463,
	6511,
	6527,
	6551,
	6583,
	6599,
	6607,
	6623,
	6631,
	6647,
	6679,
	6703,
	6719,
	6751,
	6767,
	6791,
	6823,
	6847,
	6863,
	6871,
	6887,
	6911,
	6943,
	6959,
	6967,
	6983,
	6991,
	7031,
	7039,
	7079,
	7087,
	7103,
	7127,
	7151,
	7159,
	7199,
	7207,
	7223,
	7247,
	7279,
	7303,
	7327,
	7351,
	7367,
	7391,
	7439,
	7463,
	7471,
	7487,
	7519,
	7543,
	7559,
	7583,
	7591,
	7607,
	7639,
	7663,
	7687,
	7703,
	7727,
	7751,
	7759,
	7783,
	7807,
	7823,
	7831,
	7871,
	7879,
	7919,
	7927,
	7951,
	7967,
	7991,
	7999,
	8023,
	8039,
	8087,
	8111,
	8119,
	8143,
	8159,
	8167,
	8191,
	8207,
	8231,
	8263,
	8279,
	8287,
	8303,
	8311,
	8383,
	8399,
	8423,
	8431,
	8447,
	8471,
	8479,
	8527,
	8543,
	8551,
	8599,
	8623,
	8639,
	8647,
	8663,
	8711,
	8719,
	8759,
	8783,
	8791,
	8807,
	8831,
	8839,
	8863,
	8887,
	8903,
	8927,
	8951,
	8959,
	8999,
	9007,
	9047,
	9071,
	9103,
	9127,
	9143,
	9151,
	9167,
	9199,
	9223,
	9239,
	9263,
	9271,
	9287,
	9311,
	9319,
	9343,
	9367,
	9391,
	9407,
	9431,
	9439,
	9463,
	9479,
	9487,
	9511,
	9551,
	9599,
	9623,
	9631,
	9671,
	9679,
	9703,
	9719,
	9727,
	9743,
	9767,
	9791,
	9799,
	9839,
	9847,
	9871,
	9887,
	9943,
	9959,
	9967,
	9983,
	9991,
	10007,
	10039,
	10063,
	10079,
	10103,
	10111,
	10151,
	10159,
	10183,
	10207,
	10223,
	10247,
	10271,
	10279,
	10303,
	10319,
	10327,
	10343,
	10391,
	10399,
	10447,
	10463,
	10471,
	10487,
	10511,
	10519,
	10559,
	10567,
	10583,
	10607,
	10631,
	10639,
	10663,
	10679,
	10687,
	10711,
	10727,
	10783,
	10799,
	10807,
	10823,
	10831,
	10847,
	10903,
	10919,
	10943,
	10951,
	10991,
	10999,
	11023,
	11047,
	11071,
	11087,
	11111,
	11119,
	11159,
	11183,
	11191,
	11239,
	11279,
	11287,
	11303,
	11311,
	11327,
	11351,
	11359,
	11383,
	11399,
	11423,
	11447,
	11471,
	11503,
	11519,
	11527,
	11551,
	11567,
	11591,
	11623,
	11639,
	11647,
	11663,
	11719,
	11743,
	11783,
	11807,
	11831,
	11839,
	11863,
	11887,
	11903,
	11911,
	11927,
	11951,
	11959,
	11983,
	12007,
	12031,
	12071,
	12079,
	12119,
	12127,
	12143,
	12151,
	12167,
	12191,
	12223,
	12239,
	12247,
	12263,
	12319,
	12343,
	12359,
	12367,
	12391,
	12407,
	12431,
	12479,
	12487,
	12503,
	12511,
	12527,
	12559,
	12583,
	12599,
	12631,
	12647,
	12671,
	12679,
	12703,
	12743,
	12751,
	12767,
	12791,
	12799,
	12823,
	12839,
	12847,
	12863,
	12871,
	12911,
	12919,
	12959,
	12967,
	12983,
	13007,
	13031,
	13063,
	13087,
	13103,
	13127,
	13151,
	13159,
	13183,
	13199,
	13207,
	13231,
	13271,
	13303,
	13319,
	13327,
	13367,
	13399,
	13423,
	13439,
	13463,
	13471,
	13487,
	13511,
	13543,
	13567,
	13583,
	13591,
	13631,
	13639,
	13679,
	13687,
	13703,
	13711,
	13751,
	13759,
	13799,
	13807,
	13823,
	13831,
	13847,
	13879,
	13903,
	13919,
	13927,
	13943,
	13967,
	13991,
	13999,
	14023,
	14039,
	14071,
	14087,
	14111,
	14143,
	14159,
	14167,
	14191,
	14207,
	14239,
	14263,
	14279,
	14303,
	14327,
	14351,
	14359,
	14383,
	14407,
	14423,
	14431,
	14447,
	14471,
	14479,
	14503,
	14519,
	14527,
	14543,
	14551,
	14591,
	14639,
	14647,
	14671,
	14687,
	14711,
	14719,
	14743,
	14759,
	14767,
	14783,
	14831,
	14863,
	14879,
	14887,
	14951,
	14983,
	14999,
	15007,
	15023,
	15031,
	15047,
	15079,
	15143,
	15151,
	15167,
	15199,
	15247,
	15263,
	15271,
	15287,
	15311,
	15319,
	15343,
	15359,
	15383,
	15391,
	15439,
	15479,
	15487,
	15503,
	15511,
	15527,
	15551,
	15559,
	15583,
	15599,
	15607,
	15623,
	15647,
	15671,
	15679,
	15703,
	15727,
	15751,
	15767,
	15791,
	15823,
	15839,
	15863,
	15871,
	15887,
	15919,
	15943,
	15959,
	15991,
	16007,
	16031,
	16039,
	16063,
	16087,
	16103,
	16111,
	16127,
	16151,
	16183,
	16199,
	16207,
	16223,
	16231,
	16271,
	16279,
	16319,
	16327,
	16343,
	16351,
	16391,
	16399,
	16439,
	16447,
	16463,
	16487,
	16519,
	16543,
	16559,
	16567,
	16591,
	16607,
	16631,
	16663,
	16703,
	16711,
	16727,
	16759,
	16799,
	16823,
	16831,
	16847,
	16871,
	16879,
	16903,
	16927,
	16943,
	16967,
	16999,
	17023,
	17047,
	17063,
	17071,
	17111,
	17119,
	17159,
	17167,
	17183,
	17191,
	17207,
	17231,
	17239,
	17263,
	17279,
	17287,
	17327,
	17351,
	17359,
	17383,
	17399,
	17431,
	17447,
	17471,
	17503,
	17519,
	17527,
	17543,
	17551,
	17599,
	17623,
	17639,
	17663,
	17671,
	17687,
	17711,
	17767,
	17783,
	17791,
	17807,
	17839,
	17863,
	17879,
	17887,
	17903,
	17911,
	17951,
	17959,
	17999,
	18023,
	18047,
	18071,
	18079,
	18103,
	18119,
	18127,
	18143,
	18167,
	18191,
	18199,
	18223,
	18247,
	18287,
	18311,
	18367,
	18383,
	18391,
	18407,
	18439,
	18463,
	18479,
	18503,
	18511,
	18527,
	18559,
	18583,
	18607,
	18631,
	18647,
	18671,
	18679,
	18703,
	18719,
	18727,
	18743,
	18751,
	18791,
	18839,
	18847,
	18871,
	18911,
	18919,
	18943,
	18959,
	18983,
	19007,
	19031,
	19039,
	19079,
	19087,
	19111,
	19127,
	19183,
	19199,
	19207,
	19223,
	19231,
	19247,
	19303,
	19319,
	19343,
	19351,
	19367,
	19391,
	19399,
	19423,
	19447,
	19463,
	19471,
	19511,
	19519,
	19543,
	19559,
	19567,
	19583,
	19631,
	19639,
	19687,
	19703,
	19711,
	19727,
	19751,
	19759,
	19783,
	19807,
	19823,
	19847,
	19871,
	19879,
	19919,
	19927,
	19951,
	19967,
	19991,
	20023,
	20039,
	20047,
	20063,
	20071,
	20087,
	20143,
	20159,
	20183,
	20191,
	20231,
	20239,
	20263,
	20287,
	20303,
	20311,
	20327,
	20351,
	20359,
	20399,
	20407,
	20431,
	20479,
	20519,
	20543,
	20551,
	20567,
	20591,
	20599,
	20623,
	20639,
	20663,
	20687,
	20711,
	20719,
	20743,
	20759,
	20767,
	20791,
	20807,
	20831,
	20863,
	20879,
	20887,
	20903,
	20927,
	20959,
	20983,
	21023,
	21031,
	21071,
	21079,
	21103,
	21127,
	21143,
	21167,
	21191,
	21199,
	21223,
	21239,
	21247,
	21271,
	21311,
	21319,
	21367,
	21383,
	21391,
	21407,
	21431,
	21479,
	21487,
	21503,
	21551,
	21559,
	21583,
	21599,
	21607,
	21631,
	21647,
	21719,
	21727,
	21743,
	21751,
	21767,
	21799,
	21823,
	21839,
	21863,
	21871,
	21887,
	21911,
	21919,
	21943,
	21991,
	22007,
	22031,
	22039,
	22063,
	22079,
	22103,
	22111,
	22151,
	22159,
	22199,
	22207,
	22223,
	22247,
	22271,
	22279,
	22303,
	22327,
	22343,
	22367,
	22391,
	22423,
	22439,
	22447,
	22471,
	22487,
	22511,
	22543,
	22559,
	22567,
	22591,
	22639,
	22663,
	22679,
	22703,
	22727,
	22751,
	22783,
	22807,
	22823,
	22831,
	22871,
	22879,
	22903,
	22927,
	22943,
	22951,
	22991,
	22999,
	23039,
	23047,
	23063,
	23071,
	23087,
	23119,
	23143,
	23159,
	23167,
	23183,
	23207,
	23239,
	23263,
	23279,
	23311,
	23327,
	23351,
	23383,
	23399,
	23407,
	23423,
	23431,
	23447,
	23479,
	23503,
	23519,
	23567,
	23591,
	23599,
	23623,
	23663,
	23671,
	23687,
	23711,
	23719,
	23743,
	23759,
	23767,
	23783,
	23791,
	23831,
	23839,
	23879,
	23887,
	23911,
	23927,
	23951,
	23983,
	23999,
	24007,
	24023,
	24047,
	24071,
	24103,
	24119,
	24127,
	24151,
	24191,
	24223,
	24239,
	24247,
	24263,
	24287,
	24319,
	24359,
	24383,
	24391,
	24407,
	24439,
	24463,
	24487,
	24503,
	24511,
	24527,
	24551,
	24559,
	24599,
	24623,
	24631,
	24671,
	24679,
	24719,
	24727,
	24743,
	24751,
	24767,
	24799,
	24823,
	24839,
	24847,
	24863,
	24887,
	24911,
	24919,
	24943,
	24967,
	24991,
	25007,
	25031,
	25063,
	25079,
	25087,
	25111,
	25127,
	25159,
	25183,
	25199,
	25231,
	25247,
	25271,
	25279,
	25303,
	25327,
	25343,
	25351,
	25367,
	25391,
	25423,
	25439,
	25447,
	25463,
	25471,
	25511,
	25559,
	25567,
	25583,
	25591,
	25607,
	25631,
	25639,
	25679,
	25687,
	25703,
	25759,
	25783,
	25799,
	25807,
	25847,
	25871,
	25903,
	25919,
	25943,
	25951,
	25967,
	25999,
	26023,
	26063,
	26071,
	26087,
	26111,
	26119,
	26167,
	26183,
	26207,
	26231,
	26239,
	26263,
	26287,
	26303,
	26311,
	26359,
	26399,
	26407,
	26423,
	26431,
	26447,
	26471,
	26479,
	26503,
	26519,
	26527,
	26567,
	26591,
	26599,
	26623,
	26639,
	26647,
	26671,
	26687,
	26711,
	26743,
	26759,
	26783,
	26791,
	26839,
	26863,
	26879,
	26903,
	26911,
	26927,
	26951,
	26959,
	27007,
	27023,
	27031,
	27047,
	27103,
	27119,
	27127,
	27143,
	27151,
	27191,
	27199,
	27239,
	27263,
	27271,
	27311,
	27319,
	27343,
	27359,
	27367,
	27383,
	27407,
	27431,
	27439,
	27463,
	27479,
	27487,
	27527,
	27551,
	27583,
	27607,
	27623,
	27631,
	27647,
	27679,
	27719,
	27743,
	27751,
	27767,
	27791,
	27799,
	27823,
	27847,
	27871,
	27887,
	27919,
	27943,
	27959,
	27967,
	27983,
	27991,
	28031,
	28079,
	28087,
	28103,
	28111,
	28151,
	28159,
	28183,
	28199,
	28207,
	28247,
	28271,
	28279,
	28319,
	28351,
	28367,
	28423,
	28439,
	28447,
	28463,
	28471,
	28487,
	28519,
	28543,
	28559,
	28583,
	28591,
	28607,
	28631,
	28663,
	28687,
	28703,
	28711,
	28727,
	28751,
	28759,
	28783,
	28799,
	28807,
	28823,
	28871,
	28879,
	28927,
	28943,
	28967,
	28991,
	28999,
	29023,
	29039,
	29047,
	29063,
	29087,
	29111,
	29119,
	29143,
	29167,
	29191,
	29207,
	29231,
	29279,
	29287,
	29303,
	29311,
	29327,
	29383,
	29399,
	29423,
	29431,
	29479,
	29503,
	29527,
	29543,
	29551,
	29567,
	29591,
	29599,
	29639,
	29647,
	29663,
	29671,
	29719,
	29759,
	29767,
	29791,
	29807,
	29831,
	29839,
	29863,
	29879,
	29903,
	29927,
	29951,
	29959,
	29983,
	29999,
	30007,
	30031,
	30047,
	30071,
	30103,
	30119,
	30127,
	30143,
	30167,
	30223,
	30263,
	30271,
	30287,
	30311,
	30319,
	30343,
	30367,
	30383,
	30391,
	30431,
	30439,
	30463,
	30479,
	30487,
	30551,
	30559,
	30599,
	30607,
	30623,
	30631,
	30647,
	30671,
	30703,
	30727,
	30743,
	30791,
	30799,
	30839,
	30847,
	30871,
	30887,
	30911,
	30959,
	30967,
	30983,
	30991,
	31007,
	31039,
	31063,
	31079,
	31103,
	31111,
	31127,
	31151,
	31159,
	31183,
	31223,
	31231,
	31247,
	31271,
	31279,
	31303,
	31319,
	31327,
	31351,
	31391,
	31399,
	31439,
	31463,
	31487,
	31511,
	31519,
	31543,
	31567,
	31583,
	31607,
	31631,
	31639,
	31663,
	31679,
	31687,
	31711,
	31727,
	31751,
	31783,
	31799,
	31807,
	31831,
	31847,
	31879,
	31903,
	31919,
	31943,
	31951,
	31991,
	32023,
	32047,
	32063,
	32111,
	32119,
	32143,
	32159,
	32167,
	32183,
	32191,
	32231,
	32239,
	32287,
	32303,
	32311,
	32327,
	32359,
	32399,
	32407,
	32423,
	32447,
	32471,
	32479,
	32503,
	32519,
	32551,
	32567,
	32623,
	32639,
	32647,
	32663,
	32671,
	32687,
	32719,
	32743,
	32759,
	32783,
	32807,
	32831,
	32839,
	32863,
	32887,
	32911,
	32927,
	32951,
	32959,
	32983,
	32999,
	33023,
	33031,
	33071,
	33079,
	33119,
	33127,
	33151,
	33167,
	33191,
	33199,
	33223,
	33239,
	33247,
	33263,
	33287,
	33311,
	33343,
	33359,
	33367,
	33391,
	33431,
	33463,
	33479,
	33487,
	33503,
	33511,
	33559,
	33599,
	33623,
	33647,
	33679,
	33703,
	33727,
	33743,
	33751,
	33767,
	33791,
	33799,
	33823,
	33863,
	33871,
	33911,
	33919,
	33959,
	33967,
	33983,
	33991,
	34007,
	34031,
	34039,
	34063,
	34079,
	34087,
	34103,
	34127,
	34159,
	34183,
	34207,
	34231,
	34247,
	34271,
	34303,
	34319,
	34327,
	34343,
	34351,
	34367,
	34399,
	34423,
	34439,
	34471,
	34487,
	34511,
	34519,
	34543,
	34583,
	34591,
	34607,
	34631,
	34663,
	34679,
	34687,
	34703,
	34711,
	34751,
	34759,
	34799,
	34807,
	34823,
	34831,
	34847,
	34871,
	34919,
	34927,
	34943,
	34967,
	34999,
	35023,
	35039,
	35047,
	35071,
	35111,
	35143,
	35159,
	35183,
	35207,
	35239,
	35263,
	35279,
	35303,
	35311,
	35327,
	35351,
	35359,
	35383,
	35407,
	35423,
	35447,
	35471,
	35479,
	35527,
	35543,
	35551,
	35591,
	35599,
	35639,
	35647,
	35663,
	35671,
	35687,
	35719,
	35743,
	35759,
	35767,
	35807,
	35831,
	35839,
	35863,
	35879,
	35887,
	35911,
	35927,
	35951,
	35983,
	35999,
	36007,
	36031,
	36079,
	36103,
	36119,
	36143,
	36151,
	36167,
	36191,
	36199,
	36247,
	36263,
	36271,
	36287,
	36319,
	36343,
	36359,
	36367,
	36383,
	36391,
	36431,
	36479,
	36503,
	36511,
	36527,
	36551,
	36559,
	36583,
	36599,
	36607,
	36623,
	36671,
	36679,
	36703,
	36719,
	36727,
	36767,
	36791,
	36823,
	36847,
	36863,
	36871,
	36887,
	36919,
	36943,
	36983,
	36991,
	37007,
	37031,
	37039,
	37087,
	37111,
	37127,
	37151,
	37159,
	37183,
	37199,
	37207,
	37223,
	37231,
	37319,
	37327,
	37343,
	37351,
	37391,
	37399,
	37423,
	37439,
	37447,
	37463,
	37487,
	37511,
	37519,
	37559,
	37567,
	37591,
	37607,
	37663,
	37679,
	37703,
	37711,
	37727,
	37759,
	37783,
	37799,
	37823,
	37831,
	37847,
	37871,
	37879,
	37903,
	37927,
	37943,
	37951,
	37967,
	37991,
	38023,
	38039,
	38047,
	38063,
	38111,
	38119,
	38167,
	38183,
	38191,
	38231,
	38239,
	38263,
	38279,
	38287,
	38303,
	38327,
	38351,
	38359,
	38383,
	38399,
	38407,
	38431,
	38447,
	38471,
	38503,
	38527,
	38543,
	38551,
	38567,
	38639,
	38663,
	38671,
	38711,
	38719,
	38743,
	38767,
	38783,
	38791,
	38807,
	38839,
	38879,
	38887,
	38903,
	38911,
	38959,
	38999,
	39007,
	39023,
	39031,
	39047,
	39071,
	39079,
	39103,
	39119,
	39167,
	39191,
	39199,
	39223,
	39239,
	39271,
	39287,
	39311,
	39343,
	39359,
	39367,
	39383,
	39407,
	39439,
	39463,
	39503,
	39511,
	39527,
	39551,
	39583,
	39607,
	39623,
	39631,
	39647,
	39671,
	39679,
	39703,
	39719,
	39727,
	39751,
	39791,
	39799,
	39839,
	39847,
	39863,
	39887,
	39911,
	39943,
	39959,
	39967,
	39983,
	40031,
	40039,
	40063,
	40087,
	40111,
	40127,
	40151,
	40199,
	40207,
	40223,
	40231,
	40247,
	40279,
	40303,
	40319,
	40343,
	40351,
	40367,
	40399,
	40423,
	40463,
	40471,
	40487,
	40511,
	40519,
	40543,
	40559,
	40567,
	40583,
	40591,
	40631,
	40639,
	40679,
	40687,
	40727,
	40751,
	40759,
	40783,
	40823,
	40847,
	40871,
	40879,
	40903,
	40919,
	40927,
	40951,
	40967,
	40991,
	41023,
	41039,
	41047,
	41071,
	41087,
	41143,
	41159,
	41183,
	41191,
	41207,
	41231,
	41263,
	41287,
	41303,
	41311,
	41351,
	41359,
	41383,
	41399,
	41407,
	41423,
	41471,
	41479,
	41519,
	41527,
	41543,
	41551,
	41567,
	41599,
	41623,
	41647,
	41663,
	41687,
	41711,
	41719,
	41759,
	41791,
	41807,
	41831,
	41863,
	41879,
	41887,
	41903,
	41911,
	41927,
	41959,
	41983,
	41999,
	42023,
	42047,
	42071,
	42079,
	42103,
	42127,
	42143,
	42151,
	42167,
	42191,
	42199,
	42223,
	42239,
	42247,
	42271,
	42311,
	42319,
	42359,
	42391,
	42407,
	42431,
	42439,
	42463,
	42479,
	42487,
	42503,
	42527,
	42551,
	42583,
	42599,
	42607,
	42631,
	42671,
	42703,
	42719,
	42727,
	42743,
	42751,
	42767,
	42799,
	42839,
	42863,
	42871,
	42919,
	42943,
	42967,
	42983,
	43007,
	43031,
	43039,
	43063,
	43079,
	43103,
	43111,
	43151,
	43159,
	43207,
	43223,
	43231,
	43247,
	43271,
	43279,
	43319,
	43327,
	43343,
	43367,
	43391,
	43399,
	43423,
	43447,
	43471,
	43487,
	43543,
	43559,
	43567,
	43583,
	43591,
	43607,
	43639,
	43663,
	43679,
	43711,
	43727,
	43751,
	43759,
	43783,
	43807,
	43831,
	43847,
	43871,
	43903,
	43919,
	43943,
	43951,
	43991,
	43999,
	44039,
	44047,
	44063,
	44071,
	44087,
	44111,
	44119,
	44159,
	44167,
	44183,
	44207,
	44263,
	44279,
	44287,
	44311,
	44327,
	44351,
	44383,
	44399,
	44423,
	44431,
	44479,
	44503,
	44519,
	44543,
	44567,
	44591,
	44599,
	44623,
	44647,
	44663,
	44687,
	44711,
	44719,
	44743,
	44767,
	44783,
	44791,
	44831,
	44839,
	44879,
	44887,
	44903,
	44911,
	44927,
	44951,
	44959,
	44983,
	44999,
	45007,
	45047,
	45079,
	45103,
	45119,
	45127,
	45151,
	45167,
	45191,
	45223,
	45239,
	45247,
	45263,
	45271,
	45319,
	45343,
	45359,
	45391,
	45407,
	45431,
	45439,
	45503,
	45511,
	45527,
	45559,
	45583,
	45599,
	45607,
	45623,
	45631,
	45671,
	45679,
	45719,
	45743,
	45751,
	45767,
	45791,
	45823,
	45839,
	45847,
	45863,
	45887,
	45911,
	45919,
	45943,
	45959,
	45967,
	46031,
	46063,
	46087,
	46103,
	46127,
	46159,
	46183,
	46199,
	46223,
	46231,
	46247,
	46271,
	46279,
	46303,
	46327,
	46351,
	46367,
	46391,
	46399,
	46439,
	46447,
	46463,
	46471,
	46511,
	46559,
	46567,
	46583,
	46591,
	46639,
	46663,
	46679,
	46687,
	46703,
	46727,
	46751,
	46759,
	46799,
	46807,
	46831,
	46847,
	46903,
	46919,
	46927,
	46951,
	46967,
	46999,
	47023,
	47039,
	47063,
	47071,
	47087,
	47111,
	47119,
	47143,
	47167,
	47183,
	47191,
	47207,
	47231,
	47239,
	47263,
	47279,
	47287,
	47303,
	47351,
	47407,
	47423,
	47431,
	47447,
	47471,
	47479,
	47503,
	47519,
	47527,
	47543,
	47591,
	47599,
	47623,
	47639,
	47647,
	47687,
	47711,
	47743,
	47759,
	47767,
	47783,
	47791,
	47807,
	47863,
	47903,
	47911,
	47951,
	47959,
	48007,
	48023,
	48031,
	48047,
	48071,
	48079,
	48119,
	48127,
	48143,
	48151,
	48199,
	48239,
	48247,
	48263,
	48271,
	48287,
	48311,
	48319,
	48343,
	48359,
	48383,
	48407,
	48431,
	48439,
	48463,
	48479,
	48487,
	48511,
	48527,
	48551,
	48583,
	48599,
	48623,
	48647,
	48679,
	48703,
	48743,
	48751,
	48767,
	48791,
	48799,
	48823,
	48847,
	48863,
	48871,
	48887,
	48911,
	48943,
	48959,
	48967,
	48991,
	49031,
	49039,
	49079,
	49087,
	49103,
	49111,
	49151,
	49183,
	49199,
	49207,
	49223,
	49271,
	49279,
	49303,
	49319,
	49327,
	49351,
	49367,
	49391,
	49447,
	49463,
	49471,
	49487,
	49519,
	49559,
	49583,
	49591,
	49607,
	49631,
	49639,
	49663,
	49703,
	49711,
	49727,
	49759,
	49783,
	49799,
	49807,
	49823,
	49831,
	49871,
	49879,
	49919,
	49927,
	49943,
	49967,
	49991,
	49999,
	50023,
	50047,
	50087,
	50111,
	50119,
	50143,
	50159,
	50191,
	50207,
	50231,
	50263,
	50279,
	50287,
	50311,
	50327,
	50359,
	50383,
	50399,
	50423,
	50431,
	50447,
	50471,
	50503,
	50527,
	50543,
	50551,
	50591,
	50599,
	50623,
	50639,
	50647,
	50663,
	50671,
	50711,
	50719,
	50759,
	50767,
	50783,
	50807,
	50839,
	50863,
	50879,
	50887,
	50903,
	50927,
	50951,
	50959,
	50983,
	51031,
	51047,
	51071,
	51119,
	51127,
	51143,
	51151,
	51167,
	51199,
	51223,
	51239,
	51263,
	51287,
	51319,
	51343,
	51367,
	51383,
	51391,
	51407,
	51431,
	51439,
	51463,
	51479,
	51487,
	51503,
	51511,
	51551,
	51559,
	51599,
	51607,
	51631,
	51647,
	51671,
	51679,
	51703,
	51719,
	51743,
	51767,
	51791,
	51823,
	51839,
	51847,
	51871,
	51911,
	51943,
	51959,
	51967,
	51983,
	51991,
	52007,
	52079,
	52103,
	52111,
	52127,
	52159,
	52183,
	52207,
	52223,
	52231,
	52271,
	52279,
	52303,
	52319,
	52343,
	52391,
	52399,
	52439,
	52447,
	52463,
	52471,
	52487,
	52511,
	52519,
	52543,
	52567,
	52583,
	52607,
	52631,
	52639,
	52687,
	52711,
	52727,
	52751,
	52783,
	52799,
	52807,
	52823,
	52831,
	52847,
	52879,
	52903,
	52919,
	52951,
	52967,
	52991,
	52999,
	53023,
	53047,
	53063,
	53071,
	53087,
	53111,
	53143,
	53159,
	53167,
	53191,
	53231,
	53239,
	53279,
	53303,
	53311,
	53327,
	53351,
	53359,
	53399,
	53407,
	53423,
	53447,
	53479,
	53503,
	53519,
	53527,
	53551,
	53567,
	53591,
	53623,
	53639,
	53663,
	53671,
	53687,
	53719,
	53743,
	53759,
	53783,
	53791,
	53831,
	53839,
	53863,
	53887,
	53903,
	53927,
	53951,
	53959,
	53983,
	54007,
	54023,
	54031,
	54071,
	54079,
	54127,
	54143,
	54151,
	54167,
	54191,
	54199,
	54239,
	54247,
	54287,
	54311,
	54319,
	54343,
	54359,
	54367,
	54391,
	54407,
	54463,
	54479,
	54487,
	54503,
	54511,
	54559,
	54583,
	54599,
	54623,
	54631,
	54647,
	54671,
	54679,
	54727,
	54751,
	54767,
	54799,
	54823,
	54839,
	54863,
	54871,
	54911,
	54919,
	54959,
	54983,
	54991,
	55007,
	55031,
	55039,
	55063,
	55079,
	55087,
	55103,
	55127,
	55151,
	55183,
	55199,
	55207,
	55247,
	55271,
	55303,
	55327,
	55343,
	55351,
	55399,
	55423,
	55439,
	55463,
	55487,
	55511,
	55519,
	55543,
	55567,
	55591,
	55607,
	55631,
	55639,
	55663,
	55687,
	55703,
	55711,
	55751,
	55799,
	55807,
	55823,
	55831,
	55871,
	55879,
	55903,
	55919,
	55927,
	55943,
	55967,
	55999,
	56039,
	56047,
	56071,
	56087,
	56143,
	56159,
	56167,
	56183,
	56191,
	56207,
	56239,
	56263,
	56279,
	56311,
	56327,
	56351,
	56359,
	56383,
	56423,
	56431,
	56447,
	56471,
	56479,
	56503,
	56519,
	56527,
	56543,
	56591,
	56599,
	56647,
	56663,
	56671,
	56687,
	56711,
	56743,
	56759,
	56767,
	56783,
	56807,
	56831,
	56839,
	56863,
	56879,
	56887,
	56911,
	56951,
	56983,
	56999,
	57007,
	57023,
	57047,
	57103,
	57119,
	57143,
	57151,
	57191,
	57199,
	57223,
	57247,
	57263,
	57271,
	57287,
	57311,
	57319,
	57359,
	57367,
	57383,
	57391,
	57439,
	57479,
	57487,
	57503,
	57511,
	57527,
	57559,
	57583,
	57599,
	57623,
	57647,
	57671,
	57679,
	57703,
	57719,
	57727,
	57751,
	57767,
	57791,
	57823,
	57839,
	57847,
	57887,
	57919,
	57943,
	57983,
	57991,
	58007,
	58031,
	58039,
	58063,
	58087,
	58103,
	58111,
	58127,
	58151,
	58159,
	58183,
	58199,
	58207,
	58231,
	58271,
	58319,
	58327,
	58343,
	58351,
	58367,
	58391,
	58423,
	58439,
	58447,
	58463,
	58511,
	58519,
	58543,
	58559,
	58567,
	58607,
	58631,
	58679,
	58687,
	58703,
	58711,
	58727,
	58759,
	58783,
	58823,
	58831,
	58847,
	58871,
	58879,
	58943,
	58951,
	58967,
	58991,
	58999,
	59023,
	59039,
	59047,
	59063,
	59071,
	59119,
	59159,
	59167,
	59183,
	59207,
	59231,
	59239,
	59263,
	59287,
	59303,
	59327,
	59351,
	59359,
	59383,
	59399,
	59407,
	59431,
	59447,
	59471,
	59503,
	59519,
	59551,
	59567,
	59599,
	59623,
	59639,
	59663,
	59671,
	59687,
	59711,
	59743,
	59767,
	59783,
	59791,
	59831,
	59863,
	59879,
	59887,
	59903,
	59911,
	59951,
	59959,
	59999,
	60007,
	60023,
	60031,
	60079,
	60103,
	60119,
	60127,
	60143,
	60167,
	60191,
	60199,
	60223,
	60239,
	60271,
	60287,
	60311,
	60343,
	60367,
	60383,
	60391,
	60407,
	60439,
	60479,
	60503,
	60527,
	60551,
	60559,
	60583,
	60607,
	60623,
	60631,
	60647,
	60679,
	60703,
	60719,
	60727,
	60743,
	60751,
	60791,
	60799,
	60839,
	60847,
	60871,
	60887,
	60911,
	60919,
	60943,
	60959,
	60967,
	61007,
	61031,
	61063,
	61079,
	61111,
	61151,
	61183,
	61199,
	61207,
	61223,
	61231,
	61247,
	61279,
	61319,
	61343,
	61351,
	61367,
	61423,
	61447,
	61463,
	61471,
	61487,
	61511,
	61519,
	61543,
	61559,
	61583,
	61591,
	61631,
	61639,
	61679,
	61687,
	61703,
	61727,
	61751,
	61759,
	61783,
	61799,
	61807,
	61823,
	61847,
	61871,
	61879,
	61903,
	61927,
	61951,
	61967,
	61991,
	62039,
	62047,
	62063,
	62071,
	62087,
	62119,
	62143,
	62159,
	62191,
	62207,
	62239,
	62263,
	62287,
	62303,
	62311,
	62327,
	62351,
	62383,
	62399,
	62407,
	62423,
	62431,
	62471,
	62479,
	62519,
	62527,
	62551,
	62567,
	62591,
	62599,
	62639,
	62663,
	62687,
	62719,
	62743,
	62759,
	62767,
	62791,
	62807,
	62831,
	62863,
	62879,
	62903,
	62911,
	62927,
	62983,
	62999,
	63023,
	63031,
	63047,
	63071,
	63079,
	63103,
	63127,
	63143,
	63191,
	63199,
	63223,
	63247,
	63263,
	63311,
	63319,
	63359,
	63367,
	63383,
	63391,
	63407,
	63431,
	63439,
	63463,
	63487,
	63527,
	63551,
	63559,
	63599,
	63607,
	63631,
	63647,
	63671,
	63703,
	63719,
	63727,
	63743,
	63751,
	63799,
	63823,
	63839,
	63863,
	63871,
	63887,
	63911,
	63919,
	63967,
	63983,
	63991,
	64007,
	64039,
	64063,
	64079,
	64087,
	64111,
	64151,
	64159,
	64199,
	64223,
	64231,
	64247,
	64271,
	64279,
	64303,
	64319,
	64327,
	64343,
	64367,
	64391,
	64399,
	64423,
	64439,
	64447,
	64487,
	64511,
	64543,
	64567,
	64583,
	64591,
	64607,
	64639,
	64663,
	64679,
	64703,
	64711,
	64751,
	64759,
	64783,
	64807,
	64847,
	64871,
	64879,
	64903,
	64919,
	64927,
	64943,
	64951,
	64991,
	65047,
	65063,
	65071,
	65111,
	65119,
	65159,
	65167,
	65183,
	65207,
	65231,
	65239,
	65279,
	65287,
	65311,
	65327,
	65383,
	65399,
	65407,
	65423,
	65431,
	65447,
	65479,
	65503,
	65519,
	65543,
	65551,
	65567,
	65591,
	65599,
	65623,
	65647,
	65671,
	65687,
	65711,
	65719,
	65743,
	65759,
	65783,
	65831,
	65839,
	65887,
	65903,
	65911,
	65927,
	65951,
	65959,
	65983,
	65999,
	66007,
	66023,
	66047,
	66071,
	66103,
	66119,
	66127,
	66151,
	66167,
	66191,
	66223,
	66239,
	66247,
	66263,
	66271,
	66343,
	66359,
	66383,
	66431,
	66439,
	66463,
	66487,
	66503,
	66511,
	66527,
	66551,
	66559,
	66607,
	66623,
	66631,
	66679,
	66719,
	66727,
	66743,
	66751,
	66767,
	66791,
	66799,
	66823,
	66839,
	66863,
	66887,
	66919,
	66943,
	66959,
	66967,
	66991,
	67007,
	67031,
	67063,
	67079,
	67087,
	67103,
	67127,
	67159,
	67183,
	67231,
	67247,
	67271,
	67279,
	67303,
	67343,
	67351,
	67367,
	67391,
	67399,
	67423,
	67439,
	67447,
	67471,
	67511,
	67519,
	67559,
	67567,
	67583,
	67591,
	67607,
	67631,
	67663,
	67679,
	67687,
	67703,
	67751,
	67759,
	67783,
	67799,
	67807,
	67831,
	67871,
	67919,
	67927,
	67943,
	67967,
	67999,
	68023,
	68039,
	68063,
	68071,
	68087,
	68111,
	68119,
	68143,
	68183,
	68191,
	68207,
	68231,
	68239,
	68279,
	68287,
	68303,
	68311,
	68351,
	68359,
	68399,
	68407,
	68423,
	68447,
	68479,
	68503,
	68527,
	68543,
	68567,
	68591,
	68599,
	68623,
	68639,
	68647,
	68671,
	68687,
	68711,
	68743,
	68759,
	68767,
	68791,
	68807,
	68839,
	68863,
	68879,
	68903,
	68911,
	68927,
	68951,
	68983,
	69007,
	69023,
	69031,
	69071,
	69079,
	69103,
	69119,
	69127,
	69143,
	69151,
	69191,
	69239,
	69247,
	69263,
	69271,
	69287,
	69319,
	69343,
	69359,
	69367,
	69383,
	69431,
	69439,
	69463,
	69479,
	69527,
	69551,
	69583,
	69599,
	69607,
	69623,
	69631,
	69647,
	69679,
	69703,
	69743,
	69767,
	69791,
	69799,
	69847,
	69863,
	69871,
	69887,
	69911,
	69919,
	69943,
	69959,
	69967,
	69983,
	69991,
	70039,
	70079,
	70087,
	70111,
	70127,
	70151,
	70159,
	70183,
	70199,
	70207,
	70223,
	70247,
	70271,
	70303,
	70319,
	70327,
	70351,
	70391,
	70423,
	70439,
	70463,
	70471,
	70487,
	70519,
	70559,
	70583,
	70591,
	70607,
	70639,
	70663,
	70687,
	70703,
	70711,
	70727,
	70751,
	70783,
	70799,
	70823,
	70831,
	70871,
	70879,
	70919,
	70927,
	70943,
	70951,
	70991,
	70999,
	71023,
	71039,
	71047,
	71063,
	71087,
	71111,
	71119,
	71143,
	71167,
	71191,
	71207,
	71231,
	71263,
	71287,
	71303,
	71311,
	71327,
	71359,
	71399,
	71431,
	71447,
	71471,
	71479,
	71503,
	71527,
	71543,
	71551,
	71567,
	71623,
	71639,
	71647,
	71663,
	71671,
	71711,
	71719,
	71759,
	71767,
	71783,
	71791,
	71807,
	71831,
	71839,
	71879,
	71887,
	71927,
	71959,
	71983,
	71999,
	72031,
	72047,
	72071,
	72103,
	72119,
	72143,
	72151,
	72167,
	72199,
	72223,
	72239,
	72263,
	72271,
	72287,
	72311,
	72343,
	72367,
	72383,
	72407,
	72431,
	72439,
	72463,
	72487,
	72503,
	72511,
	72551,
	72559,
	72599,
	72607,
	72623,
	72647,
	72671,
	72679,
	72703,
	72719,
	72727,
	72767,
	72791,
	72799,
	72823,
	72847,
	72871,
	72887,
	72911,
	72959,
	72967,
	72983,
	72991,
	73039,
	73063,
	73079,
	73103,
	73111,
	73127,
	73159,
	73207,
	73223,
	73231,
	73247,
	73279,
	73303,
	73319,
	73327,
	73343,
	73351,
	73391,
	73399,
	73439,
	73471,
	73487,
	73511,
	73519,
	73543,
	73559,
	73583,
	73607,
	73631,
	73639,
	73663,
	73679,
	73687,
	73727,
	73751,
	73783,
	73807,
	73823,
	73831,
	73847,
	73903,
	73919,
	73943,
	73951,
	73967,
	73991,
	73999,
	74023,
	74047,
	74071,
	74111,
	74119,
	74143,
	74159,
	74167,
	74183,
	74231,
	74279,
	74287,
	74303,
	74311,
	74351,
	74359,
	74383,
	74407,
	74423,
	74447,
	74471,
	74479,
	74519,
	74527,
	74551,
	74567,
	74623,
	74639,
	74647,
	74663,
	74671,
	74687,
	74719,
	74743,
	74759,
	74783,
	74791,
	74807,
	74831,
	74839,
	74863,
	74887,
	74903,
	74911,
	74927,
	74951,
	74959,
	74983,
	74999,
	75007,
	75071,
	75079,
	75143,
	75151,
	75167,
	75191,
	75199,
	75223,
	75239,
	75247,
	75263,
	75287,
	75311,
	75319,
	75343,
	75359,
	75367,
	75391,
	75407,
	75431,
	75463,
	75479,
	75487,
	75503,
	75511,
	75527,
	75583,
	75599,
	75623,
	75631,
	75671,
	75679,
	75703,
	75727,
	75743,
	75767,
	75791,
	75799,
	75839,
	75847,
	75863,
	75871,
	75919,
	75967,
	75983,
	75991,
	76007,
	76031,
	76039,
	76079,
	76103,
	76127,
	76151,
	76159,
	76183,
	76199,
	76207,
	76231,
	76247,
	76303,
	76319,
	76327,
	76343,
	76367,
	76399,
	76423,
	76463,
	76471,
	76487,
	76511,
	76519,
	76543,
	76567,
	76591,
	76607,
	76631,
	76639,
	76663,
	76679,
	76711,
	76751,
	76759,
	76799,
	76807,
	76823,
	76831,
	76847,
	76871,
	76903,
	76919,
	76927,
	76943,
	76991,
	77023,
	77039,
	77047,
	77071,
	77087,
	77111,
	77159,
	77167,
	77183,
	77191,
	77239,
	77263,
	77279,
	77303,
	77327,
	77351,
	77359,
	77383,
	77423,
	77431,
	77447,
	77471,
	77479,
	77503,
	77527,
	77543,
	77551,
	77591,
	77599,
	77639,
	77647,
	77663,
	77687,
	77711,
	77719,
	77743,
	77767,
	77783,
	77807,
	77839,
	77863,
	77879,
	77887,
	77911,
	77927,
	77951,
	77983,
	77999,
	78007,
	78031,
	78047,
	78079,
	78103,
	78119,
	78151,
	78167,
	78191,
	78223,
	78263,
	78271,
	78311,
	78319,
	78343,
	78359,
	78367,
	78383,
	78391,
	78431,
	78439,
	78479,
	78487,
	78503,
	78511,
	78527,
	78583,
	78599,
	78607,
	78623,
	78647,
	78671,
	78679,
	78703,
	78719,
	78751,
	78791,
	78823,
	78839,
	78847,
	78863,
	78887,
	78919,
	78943,
	78959,
	78983,
	79007,
	79031,
	79039,
	79063,
	79087,
	79103,
	79111,
	79127,
	79151,
	79159,
	79199,
	79207,
	79223,
	79231,
	79271,
	79279,
	79319,
	79327,
	79351,
	79367,
	79399,
	79423,
	79439,
	79447,
	79463,
	79487,
	79511,
	79543,
	79559,
	79567,
	79591,
	79631,
	79663,
	79679,
	79687,
	79711,
	79727,
	79759,
	79799,
	79823,
	79831,
	79847,
	79879,
	79903,
	79927,
	79943,
	79951,
	79967,
	79991,
	79999,
	80023,
	80039,
	80063,
	80071,
	80111,
	80159,
	80167,
	80183,
	80191,
	80207,
	80231,
	80239,
	80263,
	80279,
	80287,
	80303,
	80351,
	80359,
	80383,
	80407,
	80447,
	80471,
	80503,
	80519,
	80527,
	80543,
	80551,
	80567,
	80599,
	80623,
	80671,
	80687,
	80711,
	80719,
	80767,
	80783,
	80791,
	80807,
	80831,
	80863,
	80879,
	80887,
	80903,
	80911,
	80959,
	80999,
	81007,
	81023,
	81031,
	81047,
	81071,
	81079,
	81119,
	81127,
	81143,
	81167,
	81199,
	81223,
	81239,
	81247,
	81271,
	81287,
	81311,
	81343,
	81359,
	81383,
	81391,
	81407,
	81439,
	81463,
	81479,
	81503,
	81511,
	81527,
	81551,
	81559,
	81583,
	81607,
	81623,
	81647,
	81671,
	81703,
	81727,
	81743,
	81751,
	81791,
	81799,
	81839,
	81847,
	81863,
	81871,
	81911,
	81919,
	81943,
	81959,
	81967,
	82007,
	82031,
	82039,
	82063,
	82079,
	82087,
	82111,
	82127,
	82151,
	82183,
	82207,
	82223,
	82231,
	82279,
	82319,
	82343,
	82351,
	82367,
	82391,
	82399,
	82447,
	82463,
	82471,
	82487,
	82519,
	82543,
	82559,
	82567,
	82583,
	82591,
	82631,
	82639,
	82679,
	82703,
	82711,
	82727,
	82751,
	82759,
	82783,
	82799,
	82807,
	82847,
	82871,
	82879,
	82903,
	82919,
	82967,
	82991,
	83023,
	83047,
	83063,
	83071,
	83087,
	83119,
	83143,
	83159,
	83183,
	83191,
	83207,
	83231,
	83263,
	83287,
	83311,
	83327,
	83351,
	83359,
	83383,
	83399,
	83407,
	83423,
	83431,
	83471,
	83519,
	83527,
	83543,
	83591,
	83599,
	83623,
	83639,
	83647,
	83663,
	83687,
	83711,
	83719,
	83767,
	83791,
	83807,
	83879,
	83887,
	83903,
	83911,
	83927,
	83959,
	83983,
	83999,
	84023,
	84031,
	84047,
	84079,
	84103,
	84127,
	84143,
	84151,
	84167,
	84191,
	84199,
	84223,
	84239,
	84247,
	84263,
	84311,
	84319,
	84367,
	84391,
	84407,
	84431,
	84439,
	84463,
	84479,
	84503,
	84527,
	84551,
	84559,
	84583,
	84599,
	84607,
	84631,
	84647,
	84671,
	84703,
	84719,
	84727,
	84743,
	84751,
	84767,
	84823,
	84839,
	84863,
	84871,
	84911,
	84919,
	84943,
	84967,
	84983,
	84991,
	85031,
	85039,
	85079,
	85087,
	85103,
	85159,
	85199,
	85207,
	85223,
	85231,
	85247,
	85271,
	85279,
	85303,
	85343,
	85367,
	85391,
	85399,
	85439,
	85447,
	85471,
	85487,
	85511,
	85543,
	85559,
	85567,
	85583,
	85607,
	85639,
	85663,
	85703,
	85711,
	85727,
	85751,
	85759,
	85783,
	85807,
	85823,
	85831,
	85847,
	85871,
	85879,
	85903,
	85919,
	85927,
	85951,
	85991,
	85999,
	86039,
	86063,
	86071,
	86087,
	86111,
	86143,
	86159,
	86167,
	86183,
	86231,
	86239,
	86263,
	86279,
	86287,
	86311,
	86327,
	86351,
	86399,
	86407,
	86423,
	86431,
	86447,
	86479,
	86503,
	86519,
	86543,
	86551,
	86591,
	86599,
	86623,
	86663,
	86687,
	86711,
	86719,
	86743,
	86759,
	86767,
	86783,
	86791,
	86831,
	86839,
	86887,
	86903,
	86927,
	86951,
	86959,
	87007,
	87023,
	87047,
	87071,
	87079,
	87103,
	87119,
	87127,
	87151,
	87167,
	87223,
	87239,
	87247,
	87271,
	87287,
	87319,
	87343,
	87359,
	87383,
	87391,
	87407,
	87431,
	87463,
	87487,
	87511,
	87551,
	87559,
	87583,
	87599,
	87623,
	87631,
	87671,
	87679,
	87719,
	87727,
	87743,
	87751,
	87767,
	87799,
	87823,
	87839,
	87847,
	87863,
	87887,
	87911,
	87943,
	87959,
	87991,
	88007,
	88031,
	88063,
	88079,
	88087,
	88103,
	88111,
	88159,
	88183,
	88199,
	88223,
	88247,
	88271,
	88279,
	88303,
	88327,
	88343,
	88351,
	88367,
	88391,
	88399,
	88423,
	88447,
	88463,
	88471,
	88511,
	88519,
	88559,
	88567,
	88591,
	88607,
	88631,
	88639,
	88663,
	88679,
	88687,
	88703,
	88727,
	88783,
	88799,
	88807,
	88831,
	88871,
	88903,
	88919,
	88927,
	88943,
	88951,
	88967,
	88999,
	89039,
	89071,
	89087,
	89119,
	89143,
	89183,
	89191,
	89207,
	89231,
	89239,
	89263,
	89279,
	89303,
	89311,
	89351,
	89359,
	89399,
	89407,
	89423,
	89431,
	89447,
	89471,
	89503,
	89519,
	89527,
	89543,
	89567,
	89591,
	89599,
	89623,
	89647,
	89671,
	89711,
	89743,
	89759,
	89767,
	89783,
	89807,
	89839,
	89863,
	89879,
	89911,
	89927,
	89951,
	89959,
	89983,
	90007,
	90023,
	90031,
	90047,
	90071,
	90119,
	90127,
	90143,
	90151,
	90191,
	90199,
	90239,
	90247,
	90263,
	90271,
	90287,
	90319,
	90359,
	90367,
	90383,
	90407,
	90439,
	90463,
	90479,
	90487,
	90511,
	90527,
	90551,
	90583,
	90599,
	90631,
	90647,
	90679,
	90703,
	90719,
	90743,
	90751,
	90767,
	90791,
	90799,
	90823,
	90847,
	90863,
	90887,
	90911,
	90919,
	90943,
	90967,
	90983,
	90991,
	91031,
	91079,
	91087,
	91103,
	91111,
	91127,
	91151,
	91159,
	91183,
	91199,
	91207,
	91271,
	91279,
	91303,
	91319,
	91327,
	91367,
	91391,
	91423,
	91439,
	91447,
	91463,
	91471,
	91519,
	91543,
	91583,
	91591,
	91607,
	91631,
	91639,
	91687,
	91703,
	91711,
	91727,
	91759,
	91783,
	91799,
	91807,
	91823,
	91831,
	91879,
	91919,
	91943,
	91951,
	91967,
	91991,
	91999,
	92023,
	92039,
	92047,
	92063,
	92087,
	92111,
	92119,
	92143,
	92159,
	92167,
	92207,
	92231,
	92263,
	92303,
	92311,
	92327,
	92359,
	92383,
	92399,
	92423,
	92431,
	92447,
	92471,
	92479,
	92503,
	92527,
	92551,
	92567,
	92591,
	92623,
	92639,
	92647,
	92663,
	92671,
	92711,
	92759,
	92767,
	92783,
	92791,
	92831,
	92839,
	92863,
	92879,
	92887,
	92903,
	92927,
	92951,
	92959,
	92999,
	93007,
	93031,
	93047,
	93103,
	93127,
	93143,
	93151,
	93167,
	93199,
	93239,
	93263,
	93271,
	93287,
	93311,
	93319,
	93343,
	93367,
	93383,
	93391,
	93407,
	93439,
	93463,
	93479,
	93487,
	93503,
	93551,
	93559,
	93607,
	93623,
	93631,
	93647,
	93671,
	93679,
	93703,
	93719,
	93727,
	93767,
	93791,
	93799,
	93823,
	93839,
	93871,
	93887,
	93911,
	93943,
	93959,
	93967,
	93983,
	93991,
	94007,
	94063,
	94079,
	94103,
	94111,
	94151,
	94183,
	94207,
	94223,
	94231,
	94247,
	94271,
	94279,
	94319,
	94327,
	94343,
	94351,
	94399,
	94439,
	94447,
	94463,
	94487,
	94511,
	94519,
	94543,
	94559,
	94583,
	94607,
	94631,
	94639,
	94663,
	94687,
	94711,
	94727,
	94751,
	94799,
	94807,
	94823,
	94847,
	94879,
	94903,
	94943,
	94951,
	94967,
	94999,
	95023,
	95047,
	95063,
	95071,
	95087,
	95111,
	95119,
	95143,
	95159,
	95167,
	95191,
	95231,
	95239,
	95279,
	95287,
	95311,
	95327,
	95351,
	95383,
	95399,
	95423,
	95471,
	95479,
	95503,
	95519,
	95527,
	95551,
	95567,
	95591,
	95639,
	95647,
	95663,
	95671,
	95687,
	95743,
	95759,
	95783,
	95791,
	95807,
	95831,
	95839,
	95863,
	95903,
	95911,
	95951,
	95959,
	95983,
	95999,
	96007,
	96023,
	96071,
	96079,
	96119,
	96127,
	96143,
	96167,
	96191,
	96199,
	96223,
	96247,
	96263,
	96287,
	96311,
	96319,
	96359,
	96367,
	96391,
	96407,
	96431,
	96463,
	96479,
	96487,
	96511,
	96527,
	96559,
	96583,
	96599,
	96623,
	96631,
	96647,
	96671,
	96703,
	96727,
	96743,
	96751,
	96791,
	96799,
	96823,
	96839,
	96847,
	96871,
	96911,
	96919,
	96959,
	96983,
	96991,
	97007,
	97039,
	97063,
	97079,
	97087,
	97103,
	97127,
	97151,
	97159,
	97183,
	97199,
	97231,
	97247,
	97271,
	97303,
	97319,
	97327,
	97343,
	97351,
	97367,
	97399,
	97423,
	97439,
	97463,
	97511,
	97519,
	97543,
	97567,
	97583,
	97607,
	97631,
	97639,
	97663,
	97679,
	97687,
	97703,
	97711,
	97751,
	97759,
	97807,
	97831,
	97847,
	97871,
	97879,
	97919,
	97927,
	97943,
	97967,
	97991,
	98023,
	98039,
	98047,
	98071,
	98143,
	98159,
	98167,
	98183,
	98191,
	98207,
	98239,
	98279,
	98303,
	98311,
	98327,
	98359,
	98383,
	98407,
	98431,
	98447,
	98471,
	98479,
	98503,
	98519,
	98543,
	98551,
	98591,
	98599,
	98639,
	98647,
	98663,
	98671,
	98687,
	98711,
	98719,
	98743,
	98759,
	98767,
	98783,
	98807,
	98831,
	98863,
	98887,
	98911,
	98927,
	98951,
	98983,
	98999,
	99007,
	99023,
	99031,
	99079,
	99103,
	99119,
	99167,
	99191,
	99199,
	99223,
	99247,
	99263,
	99271,
	99287,
	99311,
	99343,
	99367,
	99383,
	99391,
	99431,
	99439,
	99479,
	99487,
	99503,
	99511,
	99527,
	99551,
	99559,
	99599,
	99607,
	99623,
	99647,
	99679,
	99703,
	99719,
	99727,
	99751,
	99767,
	99791,
	99823,
	99839,
	99863,
	99871,
	99887,
	99919,
	99943,
	99959,
	99991,
	100007,
	100031,
	100039,
	100063,
	100103,
	100127,
	100151,
	100159,
	100183,
	100207,
	100223,
	100231,
	100271,
	100279,
	100319,
	100327,
	100343,
	100351,
	100367,
	100391,
	100423,
	100439,
	100447,
	100487,
	100511,
	100519,
	100543,
	100559,
	100567,
	100591,
	100631,
	100663,
	100679,
	100687,
	100703,
	100759,
	100783,
	100799,
	100823,
	100831,
	100847,
	100871,
	100879,
	100927,
	100943,
	100951,
	100967,
	100999,
	101039,
	101047,
	101063,
	101071,
	101111,
	101119,
	101159,
	101183,
	101191,
	101207,
	101239,
	101263,
	101279,
	101287,
	101303,
	101327,
	101351,
	101359,
	101383,
	101399,
	101407,
	101447,
	101471,
	101503,
	101527,
	101551,
	101567,
	101599,
	101623,
	101639,
	101663,
	101671,
	101687,
	101711,
	101719,
	101743,
	101767,
	101791,
	101807,
	101831,
	101839,
	101863,
	101879,
	101887,
	101903,
	101911,
	101951,
	101999,
	102007,
	102023,
	102031,
	102071,
	102079,
	102103,
	102119,
	102127,
	102143,
	102191,
	102199,
	102239,
	102247,
	102287,
	102343,
	102359,
	102367,
	102383,
	102391,
	102407,
	102439,
	102463,
	102503,
	102511,
	102527,
	102551,
	102559,
	102607,
	102623,
	102631,
	102647,
	102671,
	102679,
	102703,
	102719,
	102727,
	102743,
	102799,
	102847,
	102863,
	102871,
	102887,
	102911,
	102919,
	102943,
	102959,
	102967,
	102983,
	103007,
	103031,
	103039,
	103063,
	103079,
	103087,
	103111,
	103127,
	103151,
	103183,
	103199,
	103223,
	103231,
	103247,
	103303,
	103319,
	103343,
	103351,
	103391,
	103399,
	103423,
	103447,
	103463,
	103471,
	103487,
	103511,
	103559,
	103567,
	103583,
	103591,
	103639,
	103679,
	103687,
	103703,
	103711,
	103751,
	103759,
	103783,
	103799,
	103823,
	103847,
	103871,
	103879,
	103903,
	103919,
	103927,
	103951,
	103967,
	103991,
	104023,
	104047,
	104063,
	104087,
	104119,
	104183,
	104191,
	104207,
	104231,
	104239,
	104263,
	104287,
	104303,
	104311,
	104327,
	104359,
	104383,
	104399,
	104407,
	104431,
	104471,
	104479,
	104519,
	104527,
	104543,
	104551,
	104567,
	104591,
	104623,
	104639,
	104647,
	104711,
	104719,
	104743,
	104759,
	104791,
	104807,
	104831,
	104879,
	104887,
	104903,
	104911,
	104927,
	104959,
	104983,
	104999,
	105023,
	105031,
	105047,
	105071,
	105103,
	105143,
	105151,
	105167,
	105191,
	105199,
	105223,
	105239,
	105247,
	105263,
	105271,
	105311,
	105319,
	105359,
	105367,
	105383,
	105407,
	105431,
	105439,
	105463,
	105487,
	105503,
	105527,
	105551,
	105559,
	105583,
	105607,
	105631,
	105647,
	105671,
	105719,
	105727,
	105751,
	105767,
	105799,
	105823,
	105839,
	105863,
	105871,
	105887,
	105943,
	105967,
	105983,
	105991,
	106031,
	106039,
	106063,
	106079,
	106087,
	106103,
	106111,
	106151,
	106159,
	106199,
	106207,
	106231,
	106247,
	106279,
	106303,
	106319,
	106343,
	106367,
	106391,
	106399,
	106423,
	106439,
	106471,
	106487,
	106511,
	106543,
	106559,
	106567,
	106583,
	106591,
	106607,
	106663,
	106679,
	106703,
	106727,
	106751,
	106759,
	106783,
	106807,
	106823,
	106831,
	106871,
	106879,
	106903,
	106919,
	106927,
	106943,
	106991,
	106999,
	107039,
	107047,
	107071,
	107087,
	107111,
	107119,
	107143,
	107167,
	107183,
	107207,
	107231,
	107279,
	107287,
	107311,
	107351,
	107383,
	107399,
	107407,
	107423,
	107431,
	107447,
	107479,
	107519,
	107543,
	107551,
	107567,
	107599,
	107623,
	107647,
	107663,
	107671,
	107687,
	107711,
	107719,
	107743,
	107759,
	107791,
	107831,
	107839,
	107879,
	107903,
	107911,
	107927,
	107951,
	107959,
	107983,
	107999,
	108007,
	108023,
	108047,
	108071,
	108079,
	108103,
	108127,
	108151,
	108167,
	108191,
	108223,
	108239,
	108247,
	108263,
	108271,
	108287,
	108319,
	108343,
	108359,
	108391,
	108431,
	108439,
	108463,
	108487,
	108503,
	108527,
	108551,
	108583,
	108599,
	108607,
	108623,
	108631,
	108671,
	108679,
	108727,
	108743,
	108751,
	108767,
	108791,
	108799,
	108839,
	108847,
	108863,
	108887,
	108919,
	108943,
	108959,
	108967,
	108991,
	109007,
	109063,
	109079,
	109103,
	109111,
	109127,
	109159,
	109183,
	109199,
	109223,
	109231,
	109247,
	109271,
	109279,
	109303,
	109327,
	109367,
	109391,
	109399,
	109423,
	109463,
	109471,
	109511,
	109519,
	109559,
	109567,
	109583,
	109591,
	109607,
	109631,
	109639,
	109663,
	109679,
	109687,
	109727,
	109751,
	109783,
	109799,
	109807,
	109831,
	109847,
	109871,
	109903,
	109919,
	109927,
	109943,
	109951,
	109999,
	110023,
	110039,
	110063,
	110087,
	110111,
	110119,
	110167,
	110183,
	110191,
	110207,
	110239,
	110263,
	110287,
	110303,
	110311,
	110351,
	110359,
	110399,
	110423,
	110431,
	110447,
	110471,
	110479,
	110503,
	110519,
	110527,
	110543,
	110567,
	110599,
	110623,
	110639,
	110647,
	110687,
	110711,
	110743,
	110767,
	110783,
	110791,
	110807,
	110839,
	110863,
	110879,
	110911,
	110927,
	110951,
	110959,
	110983,
	111031,
	111047,
	111071,
	111079,
	111103,
	111119,
	111127,
	111143,
	111151,
	111191,
	111239,
	111247,
	111263,
	111271,
	111311,
	111343,
	111359,
	111367,
	111383,
	111407,
	111431,
	111439,
	111479,
	111487,
	111511,
	111583,
	111599,
	111607,
	111623,
	111647,
	111679,
	111703,
	111719,
	111743,
	111751,
	111767,
	111791,
	111799,
	111823,
	111847,
	111863,
	111871,
	111887,
	111911,
	111919,
	111959,
	111967,
	111983,
	112031,
	112039,
	112087,
	112103,
	112111,
	112127,
	112159,
	112183,
	112199,
	112207,
	112223,
	112247,
	112271,
	112279,
	112303,
	112319,
	112327,
	112351,
	112367,
	112391,
	112423,
	112439,
	112447,
	112471,
	112487,
	112543,
	112559,
	112583,
	112591,
	112631,
	112639,
	112663,
	112687,
	112703,
	112711,
	112727,
	112751,
	112759,
	112799,
	112807,
	112823,
	112831,
	112919,
	112927,
	112943,
	112951,
	112967,
	112991,
	112999,
	113023,
	113039,
	113063,
	113111,
	113119,
	113143,
	113159,
	113167,
	113207,
	113231,
	113263,
	113279,
	113287,
	113303,
	113327,
	113359,
	113383,
	113423,
	113431,
	113447,
	113471,
	113479,
	113527,
	113543,
	113551,
	113567,
	113591,
	113599,
	113623,
	113639,
	113647,
	113671,
	113719,
	113759,
	113767,
	113783,
	113791,
	113807,
	113831,
	113863,
	113879,
	113887,
	113903,
	113951,
	113959,
	113983,
	113999,
	114007,
	114031,
	114047,
	114071,
	114119,
	114143,
	114151,
	114167,
	114199,
	114223,
	114239,
	114263,
	114271,
	114287,
	114311,
	114319,
	114343,
	114383,
	114391,
	114407,
	114431,
	114463,
	114479,
	114487,
	114503,
	114511,
	114551,
	114559,
	114599,
	114607,
	114623,
	114671,
	114679,
	114703,
	114727,
	114743,
	114767,
	114791,
	114799,
	114823,
	114839,
	114847,
	114871,
	114887,
	114911,
	114943,
	114967,
	114991,
	115007,
	115039,
	115079,
	115103,
	115111,
	115127,
	115151,
	115183,
	115207,
	115223,
	115231,
	115279,
	115303,
	115319,
	115327,
	115343,
	115351,
	115391,
	115399,
	115439,
	115447,
	115463,
	115471,
	115487,
	115519,
	115543,
	115559,
	115567,
	115607,
	115631,
	115639,
	115663,
	115679,
	115711,
	115727,
	115751,
	115783,
	115799,
	115807,
	115823,
	115831,
	115847,
	115879,
	115903,
	115919,
	115943,
	115967,
	115991,
	116023,
	116047,
	116063,
	116071,
	116087,
	116111,
	116119,
	116143,
	116159,
	116167,
	116183,
	116191,
	116231,
	116239,
	116279,
	116287,
	116327,
	116351,
	116359,
	116383,
	116399,
	116407,
	116423,
	116447,
	116471,
	116503,
	116527,
	116551,
	116591,
	116639,
	116647,
	116663,
	116671,
	116687,
	116719,
	116759,
	116783,
	116791,
	116807,
	116839,
	116863,
	116887,
	116903,
	116911,
	116927,
	116951,
	116959,
	116983,
	116999,
	117023,
	117031,
	117071,
	117079,
	117119,
	117127,
	117151,
	117167,
	117191,
	117199,
	117223,
	117239,
	117263,
	117287,
	117311,
	117319,
	117343,
	117367,
	117391,
	117407,
	117431,
	117463,
	117479,
	117487,
	117503,
	117511,
	117527,
	117583,
	117599,
	117631,
	117647,
	117671,
	117679,
	117703,
	117727,
	117743,
	117751,
	117791,
	117823,
	117839,
	117847,
	117863,
	117911,
	117919,
	117959,
	117967,
	117983,
	117991,
	118007,
	118031,
	118039,
	118087,
	118103,
	118127,
	118159,
	118199,
	118207,
	118231,
	118247,
	118271,
	118303,
	118319,
	118343,
	118351,
	118367,
	118399,
	118423,
	118439,
	118463,
	118471,
	118487,
	118511,
	118519,
	118543,
	118567,
	118583,
	118607,
	118631,
	118639,
	118663,
	118687,
	118711,
	118751,
	118759,
	118799,
	118823,
	118831,
	118847,
	118871,
	118879,
	118903,
	118919,
	118927,
	118967,
	118991,
	118999,
	119023,
	119039,
	119047,
	119071,
	119087,
	119111,
	119143,
	119159,
	119167,
	119183,
	119191,
	119239,
	119263,
	119279,
	119303,
	119311,
	119351,
	119359,
	119407,
	119423,
	119447,
	119479,
	119503,
	119519,
	119527,
	119543,
	119551,
	119591,
	119599,
	119663,
	119671,
	119687,
	119711,
	119719,
	119759,
	119767,
	119783,
	119807,
	119831,
	119839,
	119863,
	119879,
	119887,
	119927,
	119983,
	120007,
	120023,
	120031,
	120047,
	120079,
	120103,
	120119,
}

type Pair struct {
	p int64
	q int64
}

// Public to allow others to import
var SieveInfo = []Pair{
	{17, 8},
	{19, 10},
	{23, 5},
	{29, 15},
	{31, 6},
	{37, 35},
	{41, 4},
	{43, 41},
	{47, 43},
	{53, 41},
	{59, 44},
	{61, 50},
	{67, 6},
	{71, 65},
	{73, 48},
	{79, 2},
	{83, 35},
	{89, 86},
	{97, 20},
	{101, 88},
	{103, 89},
	{107, 60},
	{109, 55},
	{113, 1},
	{127, 75},
	{131, 56},
	{137, 85},
	{139, 29},
	{149, 86},
	{151, 149},
	{157, 21},
	{163, 74},
	{167, 32},
	{173, 3},
	{179, 114},
	{181, 82},
	{191, 10},
	{193, 60},
	{197, 130},
	{199, 144},
	{211, 128},
	{223, 139},
	{227, 135},
	{229, 205},
	{233, 192},
	{239, 170},
	{241, 26},
	{251, 175},
	{257, 28},
	{263, 100},
	{269, 234},
	{271, 89},
	{277, 65},
	{281, 131},
	{283, 241},
	{293, 205},
	{307, 37},
	{311, 290},
	{313, 213},
	{317, 124},
	{331, 10},
	{337, 189},
	{347, 6},
	{349, 60},
	{353, 293},
	{359, 307},
	{367, 205},
	{373, 80},
	{379, 346},
	{383, 89},
	{389, 24},
	{397, 65},
	{401, 225},
	{409, 198},
	{419, 63},
	{421, 184},
	{431, 147},
	{433, 254},
	{439, 119},
	{443, 324},
	{449, 36},
	{457, 354},
	{461, 211},
	{463, 333},
	{467, 37},
	{479, 312},
	{487, 219},
	{491, 101},
	{499, 140},
	{503, 140},
	{509, 127},
	{521, 106},
	{523, 483},
	{541, 511},
	{547, 455},
	{557, 293},
	{563, 549},
	{569, 28},
	{571, 242},
	{577, 172},
	{587, 172},
	{593, 87},
	{599, 526},
	{601, 308},
	{607, 561},
	{613, 197},
	{617, 405},
	{619, 528},
	{631, 107},
	{641, 603},
	{643, 457},
	{647, 102},
	{653, 102},
	{659, 554},
	{661, 69},
	{673, 64},
	{677, 114},
	{683, 520},
	{691, 297},
	{701, 442},
	{709, 396},
	{719, 153},
	{727, 141},
	{733, 486},
	{739, 307},
	{743, 595},
	{751, 582},
	{757, 676},
	{761, 316},
	{769, 350},
	{773, 147},
	{787, 668},
	{797, 639},
	{809, 98},
	{811, 573},
	{821, 320},
	{823, 758},
	{827, 472},
	{829, 39},
	{839, 751},
	{853, 223},
	{857, 655},
	{859, 362},
	{863, 773},
	{877, 756},
	{881, 739},
	{883, 138},
	{887, 123},
	{907, 836},
	{911, 490},
	{919, 878},
	{929, 313},
	{937, 606},
	{941, 175},
	{947, 286},
	{953, 295},
	{967, 260},
	{971, 612},
	{977, 613},
	{983, 907},
	{991, 569},
	{997, 970},
	{1009, 556},
	{1013, 223},
	{1019, 877},
	{1021, 77},
	{1031, 364},
	{1033, 704},
	{1039, 18},
	{1049, 497},
	{1051, 79},
	{1061, 846},
	{1063, 1},
	{1069, 30},
	{1087, 251},
	{1091, 486},
	{1093, 467},
	{1097, 365},
	{1103, 134},
	{1109, 290},
	{1117, 184},
	{1123, 493},
	{1129, 524},
	{1151, 534},
	{1153, 704},
	{1163, 1033},
	{1171, 19},
	{1181, 701},
	{1187, 917},
	{1193, 790},
	{1201, 1141},
	{1213, 1066},
	{1217, 580},
	{1223, 823},
	{1229, 729},
	{1231, 1029},
	{1237, 661},
	{1249, 133},
	{1259, 1237},
	{1277, 1168},
	{1279, 1098},
	{1283, 732},
	{1289, 1167},
	{1291, 453},
	{1297, 787},
	{1301, 459},
	{1303, 518},
	{1307, 917},
	{1319, 29},
	{1321, 450},
	{1327, 1302},
	{1361, 58},
	{1367, 800},
	{1373, 353},
	{1381, 358},
	{1399, 512},
	{1409, 897},
	{1423, 651},
	{1427, 957},
	{1429, 1412},
	{1433, 1052},
	{1439, 1163},
	{1447, 457},
	{1451, 700},
	{1453, 91},
	{1459, 112},
	{1471, 126},
	{1481, 1155},
	{1483, 494},
	{1487, 432},
	{1489, 880},
	{1493, 797},
	{1499, 757},
	{1511, 1175},
	{1523, 201},
	{1531, 1097},
	{1543, 877},
	{1549, 876},
	{1553, 1092},
	{1559, 81},
	{1567, 282},
	{1571, 1009},
	{1579, 667},
	{1583, 1002},
	{1597, 287},
	{1601, 676},
	{1607, 865},
	{1609, 316},
	{1613, 1164},
	{1619, 892},
	{1621, 1455},
	{1627, 357},
	{1637, 1198},
	{1657, 729},
	{1663, 1113},
	{1667, 1476},
	{1669, 452},
	{1693, 1591},
	{1697, 1119},
	{1699, 1215},
	{1709, 143},
	{1721, 890},
	{1723, 1185},
	{1733, 1583},
	{1741, 1354},
	{1747, 413},
	{1753, 932},
	{1759, 1250},
	{1777, 1025},
	{1783, 1204},
	{1787, 1202},
	{1789, 1253},
	{1801, 1317},
	{1811, 1686},
	{1823, 267},
	{1831, 744},
	{1847, 341},
	{1861, 1676},
	{1867, 322},
	{1871, 1040},
	{1873, 1080},
	{1877, 1173},
	{1879, 1202},
	{1889, 1463},
	{1901, 213},
	{1907, 454},
	{1913, 1563},
	{1931, 131},
	{1933, 515},
	{1949, 19},
	{1951, 95},
	{1973, 525},
	{1979, 1120},
	{1987, 170},
	{1993, 1635},
	{1997, 446},
	{1999, 1788},
	{2003, 1569},
	{2011, 1903},
	{2017, 567},
	{2027, 1977},
	{2029, 888},
	{2039, 1487},
	{2053, 1474},
	{2063, 1244},
	{2069, 1806},
	{2081, 18},
	{2083, 3},
	{2087, 746},
	{2089, 836},
	{2099, 2077},
	{2111, 1030},
	{2113, 678},
	{2129, 796},
	{2131, 405},
	{2137, 415},
	{2141, 411},
	{2143, 1856},
	{2153, 1658},
	{2161, 41},
	{2179, 1038},
	{2203, 78},
	{2207, 2125},
	{2213, 863},
	{2221, 203},
	{2237, 551},
	{2239, 1524},
	{2243, 1999},
	{2251, 529},
	{2267, 585},
	{2269, 2004},
	{2273, 254},
	{2281, 180},
	{2287, 1394},
	{2293, 1699},
	{2297, 1315},
	{2309, 2087},
	{2311, 1911},
	{2333, 1898},
	{2339, 805},
	{2341, 228},
	{2347, 2175},
	{2351, 365},
	{2357, 298},
	{2371, 74},
	{2377, 350},
	{2381, 2134},
	{2383, 2071},
	{2389, 2036},
	{2393, 779},
	{2399, 2272},
	{2411, 1127},
	{2417, 937},
	{2423, 534},
	{2437, 455},
	{2441, 621},
	{2447, 530},
	{2459, 1372},
	{2467, 2370},
	{2473, 124},
	{2477, 427},
	{2503, 730},
	{2521, 1093},
	{2531, 642},
	{2539, 271},
	{2543, 1851},
	{2549, 1568},
	{2551, 1796},
	{2557, 130},
	{2579, 210},
	{2591, 1756},
	{2593, 1161},
	{2609, 1846},
	{2617, 869},
	{2621, 2192},
	{2633, 2509},
	{2647, 1230},
	{2657, 608},
	{2659, 406},
	{2663, 2364},
	{2671, 1104},
	{2677, 1032},
	{2683, 1143},
	{2687, 1041},
	{2689, 2610},
	{2693, 574},
	{2699, 2606},
	{2707, 2057},
	{2711, 1469},
	{2713, 1128},
	{2719, 1264},
	{2729, 2667},
	{2731, 931},
	{2741, 1093},
	{2749, 2384},
	{2753, 1537},
	{2767, 2303},
	{2777, 2730},
	{2789, 1763},
	{2791, 2478},
	{2797, 1204},
	{2801, 2246},
	{2803, 2289},
	{2819, 866},
	{2833, 2126},
	{2837, 2558},
	{2843, 219},
	{2851, 445},
	{2857, 1882},
	{2861, 1158},
	{2879, 1858},
	{2887, 583},
	{2897, 1016},
	{2903, 1040},
	{2909, 2051},
	{2917, 396},
	{2927, 1865},
	{2939, 1264},
	{2953, 2042},
	{2957, 2229},
	{2963, 2913},
	{2969, 155},
	{2971, 253},
	{2999, 2268},
	{3001, 1463},
	{3011, 1609},
	{3019, 467},
	{3023, 2596},
	{3037, 297},
	{3041, 2},
	{3049, 1208},
	{3061, 1136},
	{3067, 2208},
	{3079, 1579},
	{3083, 527},
	{3089, 44},
	{3109, 2485},
	{3119, 2957},
	{3121, 1905},
	{3137, 2454},
	{3163, 1496},
	{3167, 2116},
	{3169, 787},
	{3181, 2690},
	{3187, 2686},
	{3191, 1388},
	{3203, 2349},
	{3209, 2309},
	{3217, 1666},
	{3221, 1175},
	{3229, 539},
	{3251, 292},
	{3253, 3226},
	{3257, 921},
	{3259, 1992},
	{3271, 339},
	{3299, 1287},
	{3301, 1324},
	{3307, 610},
	{3313, 1116},
	{3319, 2531},
	{3323, 412},
	{3329, 2545},
	{3331, 2237},
	{3343, 2214},
	{3347, 3338},
	{3359, 2302},
	{3361, 188},
	{3371, 30},
	{3373, 2014},
	{3389, 2772},
	{3391, 1510},
	{3407, 806},
	{3413, 349},
	{3433, 1177},
	{3449, 342},
	{3457, 1849},
	{3461, 208},
	{3463, 2847},
	{3467, 150},
	{3469, 1993},
	{3491, 2005},
	{3499, 1513},
	{3511, 2998},
	{3517, 3225},
	{3527, 2427},
	{3529, 3450},
	{3533, 1766},
	{3539, 670},
	{3541, 168},
	{3547, 2100},
	{3557, 2596},
	{3559, 3322},
	{3571, 643},
	{3581, 1453},
	{3583, 1181},
	{3593, 2810},
	{3607, 732},
	{3613, 811},
	{3617, 1077},
	{3623, 2467},
	{3631, 2005},
	{3637, 2939},
	{3643, 3459},
	{3659, 817},
	{3671, 933},
	{3673, 2705},
	{3677, 2364},
	{3691, 318},
	{3697, 910},
	{3701, 2585},
	{3709, 2142},
	{3719, 2010},
	{3727, 492},
	{3733, 1636},
	{3739, 3335},
	{3761, 2610},
	{3767, 1768},
	{3769, 3406},
	{3779, 1361},
	{3793, 607},
	{3797, 738},
	{3803, 1957},
	{3821, 2310},
	{3823, 1199},
	{3833, 727},
	{3847, 896},
	{3851, 469},
	{3853, 3005},
	{3863, 2642},
	{3877, 3009},
	{3881, 2418},
	{3889, 1568},
	{3907, 627},
	{3911, 1877},
	{3917, 2937},
	{3919, 3106},
	{3923, 2152},
	{3929, 578},
	{3931, 429},
	{3943, 3734},
	{3947, 2509},
	{3967, 1669},
	{3989, 3466},
	{4001, 3512},
	{4003, 3069},
	{4007, 1024},
	{4013, 2928},
	{4019, 259},
	{4021, 954},
	{4027, 2352},
	{4049, 4046},
	{4051, 2761},
	{4057, 569},
	{4073, 1155},
	{4079, 3207},
	{4091, 1569},
	{4093, 3000},
	{4099, 3738},
	{4111, 1346},
	{4127, 2106},
	{4129, 2168},
	{4133, 4023},
	{4139, 4046},
	{4153, 1428},
	{4157, 48},
	{4159, 4015},
	{4177, 1604},
	{4201, 1792},
	{4211, 3954},
	{4217, 1896},
	{4219, 2014},
	{4229, 2424},
	{4231, 1529},
	{4241, 2816},
	{4243, 2028},
	{4253, 78},
	{4259, 3891},
	{4261, 3731},
	{4271, 3701},
	{4273, 2720},
	{4283, 3693},
	{4289, 1685},
	{4297, 285},
	{4327, 1466},
	{4337, 3813},
	{4339, 1148},
	{4349, 3088},
	{4357, 857},
	{4363, 2713},
	{4373, 3562},
	{4391, 3669},
	{4397, 4193},
	{4409, 4278},
	{4421, 1732},
	{4423, 4056},
	{4441, 417},
	{4447, 436},
	{4451, 1796},
	{4457, 2605},
	{4463, 4381},
	{4481, 1995},
	{4483, 1874},
	{4493, 630},
	{4507, 2907},
	{4513, 73},
	{4517, 2525},
	{4519, 3884},
	{4523, 981},
	{4547, 333},
	{4549, 2309},
	{4561, 1335},
	{4567, 1561},
	{4583, 424},
	{4591, 274},
	{4597, 2360},
	{4603, 2968},
	{4621, 1955},
	{4637, 577},
	{4639, 2620},
	{4643, 3688},
	{4649, 1153},
	{4651, 4299},
	{4657, 2435},
	{4663, 2832},
	{4673, 919},
	{4679, 790},
	{4691, 4475},
	{4703, 717},
	{4721, 2116},
	{4723, 4626},
	{4729, 1113},
	{4733, 588},
	{4751, 4041},
	{4759, 1542},
	{4783, 4195},
	{4787, 3679},
	{4789, 3225},
	{4793, 3217},
	{4799, 1026},
	{4801, 2729},
	{4813, 4273},
	{4817, 3364},
	{4831, 1630},
	{4861, 2581},
	{4871, 1710},
	{4877, 3345},
	{4889, 4817},
	{4903, 2101},
	{4909, 4012},
	{4919, 4521},
	{4931, 236},
	{4933, 511},
	{4937, 602},
	{4943, 2714},
	{4951, 340},
	{4957, 3352},
	{4967, 659},
	{4969, 3721},
	{4973, 4319},
	{4987, 1443},
	{4993, 1647},
	{4999, 4756},
	{5003, 1355},
	{5009, 887},
	{5011, 4837},
	{5021, 693},
	{5023, 3151},
	{5039, 4440},
	{5051, 1917},
	{5059, 4290},
	{5077, 4128},
	{5081, 2521},
	{5087, 990},
	{5099, 1164},
	{5101, 507},
	{5107, 2493},
	{5113, 144},
	{5119, 58},
	{5147, 3750},
	{5153, 1487},
	{5167, 1317},
	{5171, 1198},
	{5179, 3000},
	{5189, 3249},
	{5197, 150},
	{5209, 1814},
	{5227, 207},
	{5231, 786},
	{5233, 1883},
	{5237, 3639},
	{5261, 3128},
	{5273, 4677},
	{5279, 5047},
	{5281, 3598},
	{5297, 3133},
	{5303, 978},
	{5309, 5138},
	{5323, 4198},
	{5333, 2426},
	{5347, 1654},
	{5351, 4840},
	{5381, 4511},
	{5387, 1600},
	{5393, 1233},
	{5399, 1219},
	{5407, 1470},
	{5413, 2183},
	{5417, 2468},
	{5419, 4644},
	{5431, 2375},
	{5437, 548},
	{5441, 2330},
	{5443, 3129},
	{5449, 3400},
	{5471, 3052},
	{5477, 4818},
	{5479, 4627},
	{5483, 3435},
	{5501, 2287},
	{5503, 1495},
	{5507, 4788},
	{5519, 3865},
	{5521, 1263},
	{5527, 2756},
	{5531, 5315},
	{5557, 388},
	{5563, 4554},
	{5569, 4582},
	{5573, 5369},
	{5581, 1759},
	{5591, 4169},
	{5623, 1786},
	{5639, 3335},
	{5641, 2812},
	{5647, 1665},
	{5651, 39},
	{5653, 4070},
	{5657, 5533},
	{5659, 751},
	{5669, 3340},
	{5683, 3284},
	{5689, 4317},
	{5693, 4950},
	{5701, 2429},
	{5711, 3203},
	{5717, 363},
	{5737, 1607},
	{5741, 5025},
	{5743, 975},
	{5749, 236},
	{5779, 3209},
	{5783, 5359},
	{5791, 2544},
	{5801, 989},
	{5807, 2476},
	{5813, 1390},
	{5821, 3963},
	{5827, 2990},
	{5839, 5596},
	{5843, 561},
	{5849, 95},
	{5851, 5566},
	{5857, 3355},
	{5861, 3555},
	{5867, 5523},
	{5869, 3108},
	{5879, 3289},
	{5881, 2303},
	{5897, 3806},
	{5903, 4049},
	{5923, 760},
	{5927, 739},
	{5939, 359},
	{5953, 4622},
	{5981, 945},
	{5987, 3734},
	{6007, 901},
	{6011, 5470},
	{6029, 2215},
	{6037, 2074},
	{6043, 2997},
	{6047, 1497},
	{6053, 2814},
	{6067, 5883},
	{6073, 3884},
	{6079, 4909},
	{6089, 3481},
	{6091, 756},
	{6101, 5462},
	{6113, 677},
	{6121, 3143},
	{6131, 3117},
	{6133, 862},
	{6143, 1047},
	{6151, 1805},
	{6163, 4214},
	{6173, 4578},
	{6197, 1254},
	{6199, 2857},
	{6203, 1302},
	{6211, 4531},
	{6217, 4704},
	{6221, 2866},
	{6229, 4817},
	{6247, 1611},
	{6257, 5301},
	{6263, 4127},
	{6269, 3324},
	{6271, 155},
	{6277, 3003},
	{6287, 3874},
	{6299, 5352},
	{6301, 2137},
	{6311, 2991},
	{6317, 521},
	{6323, 5951},
	{6329, 773},
	{6337, 1142},
	{6343, 703},
	{6353, 3604},
	{6359, 6232},
	{6361, 5681},
	{6367, 6158},
	{6373, 692},
	{6379, 2325},
	{6389, 2443},
	{6397, 4428},
	{6421, 991},
	{6427, 3773},
	{6449, 5684},
	{6451, 6343},
	{6469, 5623},
	{6473, 4073},
	{6481, 6086},
	{6491, 4357},
	{6521, 5496},
	{6529, 480},
	{6547, 619},
	{6551, 3216},
	{6553, 2502},
	{6563, 499},
	{6569, 822},
	{6571, 3100},
	{6577, 3774},
	{6581, 3045},
	{6599, 1958},
	{6607, 4377},
	{6619, 3120},
	{6637, 2121},
	{6653, 4708},
	{6659, 2039},
	{6661, 6631},
	{6673, 5561},
	{6679, 1637},
	{6689, 6096},
	{6691, 1031},
	{6701, 2893},
	{6703, 4908},
	{6709, 3459},
	{6719, 188},
	{6733, 5009},
	{6737, 2181},
	{6761, 2078},
	{6763, 2996},
	{6779, 2306},
	{6781, 5084},
	{6791, 4460},
	{6793, 2709},
	{6803, 2393},
	{6823, 504},
	{6827, 3685},
	{6829, 485},
	{6833, 825},
	{6841, 4572},
	{6857, 4590},
	{6863, 2157},
	{6869, 314},
	{6871, 1879},
	{6883, 2836},
	{6899, 4635},
	{6907, 5007},
	{6911, 5533},
	{6917, 4758},
	{6947, 2334},
	{6949, 3791},
	{6959, 3198},
	{6961, 3623},
	{6967, 2437},
	{6971, 5104},
	{6977, 5444},
	{6983, 1239},
	{6991, 5327},
	{6997, 5067},
	{7001, 6544},
	{7013, 5250},
	{7019, 2598},
	{7027, 1584},
	{7039, 5853},
	{7043, 6699},
	{7057, 1589},
	{7069, 1067},
	{7079, 4222},
	{7103, 6270},
	{7109, 1930},
	{7121, 7083},
	{7127, 2099},
	{7129, 4199},
	{7151, 2639},
	{7159, 5445},
	{7177, 1193},
	{7187, 5344},
	{7193, 2320},
	{7207, 721},
	{7211, 2391},
	{7213, 3507},
	{7219, 208},
	{7229, 5949},
	{7237, 7135},
	{7243, 611},
	{7247, 5204},
	{7253, 2727},
	{7283, 3384},
	{7297, 3655},
	{7307, 3674},
	{7309, 4002},
	{7321, 6926},
	{7331, 7074},
	{7333, 3895},
	{7349, 681},
	{7351, 5616},
	{7369, 6674},
	{7393, 4322},
	{7411, 24},
	{7417, 3478},
	{7433, 1640},
	{7451, 4525},
	{7457, 4716},
	{7459, 1586},
	{7477, 1762},
	{7481, 6193},
	{7487, 6962},
	{7489, 3618},
	{7499, 5128},
	{7507, 4692},
	{7517, 6973},
	{7523, 91},
	{7529, 2123},
	{7537, 6531},
	{7541, 408},
	{7547, 5099},
	{7549, 5423},
	{7559, 6449},
	{7561, 3754},
	{7573, 5528},
	{7577, 6003},
	{7583, 747},
	{7589, 5942},
	{7591, 3858},
	{7603, 5548},
	{7607, 4353},
	{7621, 491},
	{7639, 6764},
	{7643, 2154},
	{7649, 598},
	{7669, 6283},
	{7673, 3341},
	{7681, 3146},
	{7687, 6421},
	{7691, 5708},
	{7699, 691},
	{7703, 1613},
	{7717, 1356},
	{7723, 2372},
	{7727, 5155},
	{7741, 259},
	{7753, 6097},
	{7757, 3383},
	{7759, 5289},
	{7789, 6428},
	{7793, 1735},
	{7817, 633},
	{7823, 3631},
	{7829, 2321},
	{7841, 7384},
	{7853, 5769},
	{7867, 398},
	{7873, 5688},
	{7877, 5560},
	{7879, 5725},
	{7883, 1379},
	{7901, 4524},
	{7907, 2072},
	{7919, 7658},
	{7927, 7255},
	{7933, 7249},
	{7937, 1729},
	{7949, 1491},
	{7951, 3199},
	{7963, 5580},
	{7993, 5080},
	{8009, 7475},
	{8011, 178},
	{8017, 772},
	{8039, 1020},
	{8053, 6168},
	{8059, 6995},
	{8069, 6076},
	{8081, 6391},
	{8087, 1283},
	{8089, 1225},
	{8093, 7344},
	{8101, 3403},
	{8111, 8090},
	{8117, 5178},
	{8123, 2411},
	{8147, 2786},
	{8161, 6351},
	{8167, 1380},
	{8171, 4799},
	{8179, 4174},
	{8191, 2420},
	{8209, 1522},
	{8219, 4438},
	{8221, 1778},
	{8231, 6228},
	{8233, 2798},
	{8237, 235},
	{8243, 6564},
	{8263, 5621},
	{8269, 1149},
	{8273, 6685},
	{8287, 1897},
	{8291, 8166},
	{8293, 1323},
	{8297, 1824},
	{8311, 1675},
	{8317, 8125},
	{8329, 1927},
	{8353, 3982},
	{8363, 5657},
	{8369, 6281},
	{8377, 1518},
	{8387, 388},
	{8389, 160},
	{8419, 7728},
	{8423, 7898},
	{8429, 3122},
	{8431, 4167},
	{8443, 6220},
	{8447, 3416},
	{8461, 2971},
	{8467, 2949},
	{8501, 392},
	{8513, 2278},
	{8521, 2775},
	{8527, 4976},
	{8537, 3446},
	{8539, 7096},
	{8543, 1072},
	{8563, 5145},
	{8573, 2187},
	{8581, 7968},
	{8597, 7116},
	{8599, 5140},
	{8609, 3838},
	{8623, 7606},
	{8627, 8509},
	{8629, 5673},
	{8641, 7700},
	{8647, 1392},
	{8663, 6747},
	{8669, 327},
	{8677, 4888},
	{8681, 1983},
	{8689, 5005},
	{8693, 8149},
	{8699, 3159},
	{8707, 4520},
	{8713, 2700},
	{8719, 4933},
	{8731, 508},
	{8737, 4289},
	{8741, 6961},
	{8747, 4800},
	{8753, 777},
	{8761, 7098},
	{8779, 709},
	{8783, 4682},
	{8803, 8631},
	{8807, 8383},
	{8819, 5643},
	{8821, 4102},
	{8831, 480},
	{8837, 1594},
	{8839, 7959},
	{8849, 2009},
	{8861, 3498},
	{8863, 1850},
	{8867, 4919},
	{8887, 4245},
	{8893, 6687},
	{8923, 6119},
	{8929, 4724},
	{8933, 1672},
	{8941, 7945},
	{8951, 4734},
	{8963, 2723},
	{8969, 1194},
	{8971, 8068},
	{8999, 4567},
	{9001, 3291},
	{9007, 5742},
	{9011, 3717},
	{9013, 8506},
	{9029, 79},
	{9041, 7367},
	{9043, 5858},
	{9049, 6487},
	{9059, 77},
	{9067, 4725},
	{9091, 8739},
	{9103, 9057},
	{9109, 3113},
	{9127, 6940},
	{9133, 499},
	{9137, 5459},
	{9151, 4532},
	{9157, 6000},
	{9161, 6815},
	{9173, 2001},
	{9181, 7984},
	{9187, 9147},
	{9199, 1933},
	{9203, 4745},
	{9209, 8135},
	{9221, 112},
	{9227, 4750},
	{9239, 7107},
	{9241, 4265},
	{9257, 2220},
	{9277, 2353},
	{9281, 5189},
	{9283, 6709},
	{9293, 2185},
	{9311, 4943},
	{9319, 4537},
	{9323, 6800},
	{9337, 7671},
	{9341, 4546},
	{9343, 5917},
	{9349, 7594},
	{9371, 8331},
	{9377, 1490},
	{9391, 598},
	{9397, 5594},
	{9403, 9332},
	{9413, 7404},
	{9419, 2376},
	{9421, 2094},
	{9431, 5572},
	{9433, 5835},
	{9437, 1146},
	{9439, 4652},
	{9461, 1854},
	{9463, 803},
	{9467, 1989},
	{9473, 5620},
	{9479, 180},
	{9491, 4427},
	{9497, 6879},
	{9511, 6050},
	{9521, 5171},
	{9533, 2270},
	{9539, 6199},
	{9547, 1885},
	{9551, 6702},
	{9587, 5328},
	{9601, 4153},
	{9613, 7238},
	{9619, 3602},
	{9623, 8158},
	{9629, 8001},
	{9631, 36},
	{9643, 3453},
	{9649, 960},
	{9661, 7195},
	{9677, 3911},
	{9679, 8580},
	{9689, 5994},
	{9697, 2290},
	{9719, 9321},
	{9721, 8070},
	{9733, 6638},
	{9739, 5729},
	{9743, 7958},
	{9749, 6932},
	{9767, 8243},
	{9769, 7901},
	{9781, 210},
	{9787, 2871},
	{9791, 7917},
	{9803, 7297},
	{9811, 1894},
	{9817, 5947},
	{9829, 4557},
	{9833, 2199},
	{9839, 3342},
	{9851, 8679},
	{9857, 2679},
	{9859, 9168},
	{9871, 6989},
	{9883, 3223},
	{9887, 7643},
	{9901, 4080},
	{9907, 521},
	{9923, 2975},
	{9929, 6936},
	{9931, 8852},
	{9941, 3974},
	{9949, 965},
	{9967, 9600},
	{9973, 9681},
	{10007, 278},
	{10009, 9175},
	{10037, 5731},
	{10039, 4356},
	{10061, 8565},
	{10067, 6520},
	{10069, 6670},
	{10079, 4370},
	{10091, 1360},
	{10093, 3415},
	{10099, 8917},
	{10103, 2055},
	{10111, 7967},
	{10133, 611},
	{10139, 1251},
	{10141, 3490},
	{10151, 10145},
	{10159, 5017},
	{10163, 5707},
	{10169, 9684},
	{10177, 1102},
	{10181, 5026},
	{10193, 803},
	{10211, 1723},
	{10223, 10219},
	{10243, 7587},
	{10247, 8341},
	{10253, 10144},
	{10259, 1727},
	{10267, 263},
	{10271, 1256},
	{10273, 3050},
	{10289, 126},
	{10301, 9006},
	{10303, 6350},
	{10313, 10157},
	{10321, 8764},
	{10331, 2218},
	{10333, 9184},
	{10337, 6620},
	{10343, 4439},
	{10357, 9673},
	{10369, 8003},
	{10391, 25},
	{10399, 10174},
	{10427, 5649},
	{10429, 699},
	{10433, 2896},
	{10453, 6774},
	{10457, 5788},
	{10459, 10426},
	{10463, 1407},
	{10477, 10434},
	{10487, 6242},
	{10499, 3047},
	{10501, 1285},
	{10513, 2050},
	{10529, 3863},
	{10531, 1265},
	{10559, 6730},
	{10567, 4678},
	{10589, 2568},
	{10597, 2222},
	{10601, 6160},
	{10607, 496},
	{10613, 3545},
	{10627, 6090},
	{10631, 6812},
	{10639, 4712},
	{10651, 9132},
	{10657, 792},
	{10663, 777},
	{10667, 3051},
	{10687, 909},
	{10691, 5980},
	{10709, 3239},
	{10711, 5861},
	{10723, 8521},
	{10729, 1389},
	{10733, 9032},
	{10739, 2945},
	{10753, 7715},
	{10771, 3575},
	{10781, 691},
	{10789, 292},
	{10799, 8868},
	{10831, 3319},
	{10837, 5282},
	{10847, 6673},
	{10853, 1988},
	{10859, 971},
	{10861, 4736},
	{10867, 7400},
	{10883, 2567},
	{10889, 2842},
	{10891, 8228},
	{10903, 4781},
	{10909, 6311},
	{10937, 2164},
	{10939, 2774},
	{10949, 7654},
	{10957, 2396},
	{10973, 7491},
	{10979, 203},
	{10987, 5978},
	{10993, 9227},
	{11003, 1639},
	{11027, 3176},
	{11047, 3511},
	{11057, 5855},
	{11059, 4318},
	{11069, 3370},
	{11071, 7905},
	{11083, 4024},
	{11087, 7164},
	{11093, 8260},
	{11113, 424},
	{11117, 10368},
	{11119, 1981},
	{11131, 681},
	{11149, 8967},
	{11159, 4894},
	{11161, 4248},
	{11171, 6773},
	{11173, 8993},
	{11177, 4266},
	{11197, 7717},
	{11213, 9884},
	{11239, 5730},
	{11243, 2753},
	{11251, 5454},
	{11257, 8360},
	{11261, 1408},
	{11273, 3208},
	{11279, 417},
	{11287, 9383},
	{11299, 9288},
	{11311, 3048},
	{11317, 6997},
	{11321, 5323},
	{11329, 10634},
	{11351, 9031},
	{11353, 9756},
	{11369, 11247},
	{11383, 1978},
	{11393, 9650},
	{11399, 4316},
	{11411, 4422},
	{11423, 64},
	{11437, 6717},
	{11443, 7447},
	{11447, 6619},
	{11467, 6411},
	{11471, 10960},
	{11483, 4934},
	{11489, 8921},
	{11491, 8004},
	{11497, 2382},
	{11503, 5182},
	{11519, 9068},
	{11527, 4366},
	{11549, 11327},
	{11551, 5109},
	{11579, 1313},
	{11587, 5390},
	{11593, 6372},
	{11597, 10387},
	{11617, 5285},
	{11621, 4158},
	{11633, 9156},
	{11657, 1829},
	{11677, 9366},
	{11681, 10160},
	{11689, 8508},
	{11699, 228},
	{11701, 11321},
	{11717, 8329},
	{11719, 4},
	{11731, 5089},
	{11743, 9748},
	{11777, 436},
	{11779, 10318},
	{11783, 9483},
	{11789, 904},
	{11801, 3462},
	{11807, 3784},
	{11813, 11534},
	{11821, 10020},
	{11827, 9826},
	{11831, 5288},
	{11833, 747},
	{11839, 8082},
	{11863, 1457},
	{11867, 8978},
	{11887, 6438},
	{11897, 6383},
	{11903, 2326},
	{11909, 9955},
	{11923, 8748},
	{11927, 11043},
	{11933, 8051},
	{11939, 507},
	{11941, 11756},
	{11953, 11406},
	{11959, 11079},
	{11969, 8935},
	{11971, 9606},
	{11981, 8464},
	{11987, 3692},
	{12007, 1681},
	{12011, 10810},
	{12037, 10737},
	{12041, 5024},
	{12043, 10761},
	{12049, 7783},
	{12071, 7795},
	{12073, 6274},
	{12097, 3316},
	{12101, 10483},
	{12107, 548},
	{12109, 10973},
	{12113, 6920},
	{12119, 3160},
	{12143, 1548},
	{12149, 3893},
	{12157, 5391},
	{12161, 5803},
	{12163, 8353},
	{12197, 4503},
	{12203, 9181},
	{12211, 7615},
	{12227, 7467},
	{12239, 3607},
	{12241, 9734},
	{12251, 7489},
	{12253, 9899},
	{12263, 4871},
	{12269, 9925},
	{12277, 2145},
	{12281, 9455},
	{12289, 11486},
	{12301, 12135},
	{12323, 7794},
	{12329, 1124},
	{12343, 9013},
	{12347, 4913},
	{12373, 6399},
	{12377, 6826},
	{12379, 3201},
	{12391, 10073},
	{12401, 11926},
	{12409, 10718},
	{12413, 3241},
	{12421, 4771},
	{12433, 1704},
	{12437, 9139},
	{12451, 2130},
	{12457, 1660},
	{12473, 1967},
	{12479, 9724},
	{12487, 1112},
	{12491, 6887},
	{12497, 10263},
	{12503, 11324},
	{12511, 2259},
	{12517, 7939},
	{12527, 12437},
	{12539, 69},
	{12541, 2136},
	{12547, 6175},
	{12553, 8091},
	{12569, 2841},
	{12577, 7820},
	{12583, 1558},
	{12589, 12565},
	{12601, 7490},
	{12611, 9813},
	{12613, 2680},
	{12619, 7877},
	{12637, 2675},
	{12641, 5388},
	{12647, 8829},
	{12653, 8107},
	{12659, 10857},
	{12671, 9385},
	{12689, 11019},
	{12697, 3861},
	{12703, 1649},
	{12713, 4202},
	{12721, 5833},
	{12739, 11388},
	{12743, 11134},
	{12757, 5810},
	{12763, 6062},
	{12781, 4539},
	{12791, 133},
	{12799, 7024},
	{12809, 6427},
	{12821, 271},
	{12823, 5213},
	{12829, 2872},
	{12841, 12161},
	{12853, 12772},
	{12889, 7244},
	{12893, 6947},
	{12899, 10818},
	{12907, 3451},
	{12911, 7254},
	{12917, 12279},
	{12919, 8032},
	{12923, 3074},
	{12941, 3066},
	{12953, 11476},
	{12959, 26},
	{12967, 8694},
	{12973, 11673},
	{12979, 12575},
	{12983, 4288},
	{13001, 6022},
	{13003, 3565},
	{13007, 1102},
	{13009, 8754},
	{13033, 10106},
	{13037, 8551},
	{13043, 692},
	{13049, 1320},
	{13063, 10126},
	{13093, 1147},
	{13099, 12194},
	{13103, 1906},
	{13109, 429},
	{13121, 2119},
	{13127, 1899},
	{13147, 9189},
	{13151, 10358},
	{13159, 5368},
	{13163, 2158},
	{13171, 5490},
	{13177, 7706},
	{13183, 9442},
	{13187, 9397},
	{13217, 6365},
	{13219, 8410},
	{13229, 2336},
	{13241, 6530},
	{13249, 3105},
	{13259, 6974},
	{13267, 2646},
	{13291, 10081},
	{13297, 8002},
	{13309, 4083},
	{13313, 703},
	{13327, 1280},
	{13331, 12291},
	{13337, 1533},
	{13339, 9086},
	{13367, 1680},
	{13381, 12385},
	{13397, 8399},
	{13399, 9843},
	{13411, 3567},
	{13417, 2056},
	{13421, 7202},
	{13441, 11937},
	{13451, 9526},
	{13457, 10191},
	{13463, 2456},
	{13469, 4612},
	{13477, 12937},
	{13487, 13188},
	{13499, 13371},
	{13513, 2365},
	{13523, 6459},
	{13537, 8187},
	{13553, 3058},
	{13567, 8771},
	{13577, 12981},
	{13591, 4382},
	{13597, 8950},
	{13613, 1664},
	{13619, 3245},
	{13627, 2922},
	{13633, 8147},
	{13649, 5894},
	{13669, 1913},
	{13679, 8008},
	{13681, 2337},
	{13687, 7659},
	{13691, 9737},
	{13693, 5276},
	{13697, 12220},
	{13709, 4927},
	{13711, 8434},
	{13721, 13497},
	{13723, 9959},
	{13729, 6276},
	{13751, 4168},
	{13757, 2399},
	{13759, 12884},
	{13763, 13572},
	{13781, 11842},
	{13789, 3817},
	{13799, 5142},
	{13807, 1533},
	{13829, 8493},
	{13831, 7209},
	{13841, 9218},
	{13859, 12260},
	{13873, 8332},
	{13877, 9199},
	{13879, 12109},
	{13883, 3552},
	{13901, 9376},
	{13903, 2027},
	{13907, 10049},
	{13913, 11298},
	{13921, 5521},
	{13931, 3645},
	{13933, 6482},
	{13963, 10454},
	{13967, 5146},
	{13997, 11376},
	{13999, 10997},
	{14009, 12935},
	{14011, 11131},
	{14029, 13764},
	{14033, 2942},
	{14051, 8842},
	{14057, 3329},
	{14071, 5830},
	{14081, 10883},
	{14083, 2820},
	{14087, 13254},
	{14107, 8042},
	{14143, 12588},
	{14149, 12652},
	{14153, 12624},
	{14159, 3211},
	{14173, 10190},
	{14177, 10453},
	{14197, 6324},
	{14207, 8442},
	{14221, 12168},
	{14243, 8240},
	{14249, 13484},
	{14251, 8275},
	{14281, 11185},
	{14293, 11133},
	{14303, 11011},
	{14321, 11512},
	{14323, 7547},
	{14327, 13809},
	{14341, 5838},
	{14347, 11418},
	{14369, 11875},
	{14387, 7162},
	{14389, 12191},
	{14401, 10833},
	{14407, 12538},
	{14411, 12207},
	{14419, 12789},
	{14423, 2415},
	{14431, 4451},
	{14437, 9301},
	{14447, 12568},
	{14449, 12812},
	{14461, 4630},
	{14479, 9566},
	{14489, 12640},
	{14503, 825},
	{14519, 6063},
	{14533, 1941},
	{14537, 3007},
	{14543, 13869},
	{14549, 4008},
	{14551, 98},
	{14557, 14410},
	{14561, 7501},
	{14563, 5884},
	{14591, 14320},
	{14593, 134},
	{14621, 8883},
	{14627, 8845},
	{14629, 469},
	{14633, 7848},
	{14639, 14566},
	{14653, 10418},
	{14657, 14570},
	{14669, 13625},
	{14683, 1664},
	{14699, 1285},
	{14713, 1017},
	{14717, 9550},
	{14723, 3561},
	{14731, 5375},
	{14737, 3068},
	{14741, 12932},
	{14747, 13956},
	{14753, 1457},
	{14759, 3524},
	{14767, 14179},
	{14771, 8513},
	{14779, 7867},
	{14783, 2047},
	{14797, 10139},
	{14813, 7434},
	{14821, 1251},
	{14827, 9119},
	{14831, 3073},
	{14843, 10841},
	{14851, 5671},
	{14867, 8099},
	{14869, 5334},
	{14879, 3077},
	{14887, 8970},
	{14891, 8121},
	{14897, 6549},
	{14923, 588},
	{14929, 12477},
	{14939, 5037},
	{14947, 577},
	{14951, 4935},
	{14957, 10154},
	{14969, 6793},
	{14983, 11764},
	{15013, 2815},
	{15017, 8447},
	{15031, 822},
	{15053, 10547},
	{15061, 4461},
	{15073, 1072},
	{15077, 4286},
	{15083, 10730},
	{15091, 6230},
	{15101, 13806},
	{15107, 10735},
	{15121, 10574},
	{15131, 12832},
	{15137, 10934},
	{15139, 3098},
	{15149, 7306},
	{15161, 5932},
	{15173, 3037},
	{15187, 298},
	{15193, 8290},
	{15199, 8250},
	{15217, 3776},
	{15227, 2469},
	{15233, 987},
	{15241, 1020},
	{15259, 2650},
	{15263, 12055},
	{15269, 15006},
	{15271, 7807},
	{15277, 9949},
	{15287, 10840},
	{15289, 13343},
	{15299, 5892},
	{15307, 7778},
	{15313, 1548},
	{15319, 13549},
	{15329, 13480},
	{15331, 10158},
	{15349, 12023},
	{15359, 10710},
	{15361, 12614},
	{15373, 11621},
	{15377, 600},
	{15383, 10905},
	{15391, 11620},
	{15401, 11057},
	{15413, 760},
	{15427, 5743},
	{15439, 11866},
	{15443, 10369},
	{15451, 5329},
	{15461, 15448},
	{15467, 5351},
	{15473, 11761},
	{15493, 8415},
	{15497, 9553},
	{15511, 5156},
	{15527, 10762},
	{15541, 13639},
	{15551, 1389},
	{15559, 4544},
	{15569, 6692},
	{15581, 13451},
	{15583, 13714},
	{15601, 10333},
	{15607, 9092},
	{15619, 14103},
	{15629, 15594},
	{15641, 14120},
	{15643, 3945},
	{15647, 294},
	{15649, 7951},
	{15661, 14464},
	{15667, 14018},
	{15671, 1932},
	{15679, 7931},
	{15683, 14964},
	{15727, 15415},
	{15731, 6929},
	{15733, 9677},
	{15737, 15282},
	{15739, 13095},
	{15749, 15226},
	{15761, 14496},
	{15767, 12850},
	{15773, 6214},
	{15787, 2707},
	{15791, 4108},
	{15797, 15143},
	{15803, 6064},
	{15809, 14139},
	{15817, 5426},
	{15823, 2465},
	{15859, 14795},
	{15877, 13623},
	{15881, 13591},
	{15887, 13662},
	{15889, 7565},
	{15901, 4821},
	{15907, 8941},
	{15913, 9589},
	{15919, 13698},
	{15923, 2865},
	{15937, 659},
	{15959, 5357},
	{15971, 13321},
	{15973, 8197},
	{15991, 1194},
	{16001, 12303},
	{16007, 1660},
	{16033, 15027},
	{16057, 2637},
	{16061, 14443},
	{16063, 6129},
	{16067, 21},
	{16069, 13502},
	{16073, 3177},
	{16087, 15800},
	{16091, 11042},
	{16097, 4584},
	{16103, 1345},
	{16111, 13081},
	{16127, 9744},
	{16139, 3394},
	{16141, 6861},
	{16183, 10653},
	{16187, 10419},
	{16189, 1360},
	{16193, 2586},
	{16217, 5169},
	{16223, 10366},
	{16229, 2428},
	{16231, 6125},
	{16249, 14473},
	{16253, 5916},
	{16267, 12426},
	{16273, 9367},
	{16301, 4774},
	{16319, 2201},
	{16333, 14011},
	{16339, 634},
	{16349, 9469},
	{16361, 9981},
	{16363, 7919},
	{16369, 14678},
	{16381, 5212},
	{16411, 8398},
	{16417, 10306},
	{16421, 14291},
	{16427, 842},
	{16433, 1508},
	{16447, 6706},
	{16451, 14313},
	{16453, 13062},
	{16477, 8640},
	{16481, 10614},
	{16487, 5498},
	{16493, 2395},
	{16519, 5699},
	{16529, 4281},
	{16547, 15957},
	{16553, 13078},
	{16561, 6750},
	{16567, 9403},
	{16573, 16452},
	{16603, 12613},
	{16607, 12141},
	{16619, 8044},
	{16631, 256},
	{16633, 2047},
	{16649, 13726},
	{16651, 7739},
	{16657, 123},
	{16661, 2466},
	{16673, 13939},
	{16691, 1149},
	{16693, 10601},
	{16699, 13827},
	{16703, 10923},
	{16729, 15803},
	{16741, 2266},
	{16747, 4026},
	{16759, 14538},
	{16763, 9229},
	{16787, 3594},
	{16811, 1913},
	{16823, 14598},
	{16829, 6704},
	{16831, 4670},
	{16843, 630},
	{16871, 5771},
	{16879, 16244},
	{16883, 862},
	{16889, 6517},
	{16901, 14962},
	{16903, 10232},
	{16921, 12137},
	{16927, 10233},
	{16931, 13868},
	{16937, 11219},
	{16943, 12671},
	{16963, 13039},
	{16979, 14138},
	{16981, 11018},
	{16987, 11839},
	{16993, 1599},
	{17011, 14483},
	{17021, 1312},
	{17027, 8102},
	{17029, 4884},
	{17033, 14274},
	{17041, 7201},
	{17047, 7155},
	{17053, 14799},
	{17077, 14755},
	{17093, 3353},
	{17099, 15297},
	{17107, 8761},
	{17117, 8132},
	{17123, 8264},
	{17137, 3619},
	{17159, 7354},
	{17167, 9109},
	{17183, 16009},
	{17189, 13802},
	{17191, 8239},
	{17203, 4115},
	{17207, 5910},
	{17209, 12543},
	{17231, 3467},
	{17239, 12750},
	{17257, 10954},
	{17291, 14802},
	{17293, 6594},
	{17299, 11023},
	{17317, 7264},
	{17321, 15031},
	{17327, 10746},
	{17333, 7729},
	{17341, 15288},
	{17351, 13302},
	{17359, 162},
	{17377, 1899},
	{17383, 902},
	{17387, 15308},
	{17389, 5630},
	{17393, 9363},
	{17401, 6849},
	{17417, 9362},
	{17419, 16929},
	{17431, 13195},
	{17443, 2395},
	{17449, 13973},
	{17467, 9591},
	{17471, 3812},
	{17477, 1843},
	{17483, 4508},
	{17489, 10138},
	{17491, 13022},
	{17497, 14812},
	{17509, 10514},
	{17519, 9976},
	{17539, 3484},
	{17551, 17038},
	{17569, 13525},
	{17573, 10838},
	{17579, 10177},
	{17581, 12707},
	{17597, 10786},
	{17599, 12313},
	{17609, 6443},
	{17623, 87},
	{17627, 8951},
	{17657, 4111},
	{17659, 17568},
	{17669, 11981},
	{17681, 8649},
	{17683, 6226},
	{17707, 2081},
	{17713, 2233},
	{17729, 13536},
	{17737, 10355},
	{17747, 12806},
	{17749, 17396},
	{17761, 16714},
	{17783, 10439},
	{17789, 16985},
	{17791, 8100},
	{17807, 7895},
	{17827, 17785},
	{17837, 10648},
	{17839, 3802},
	{17851, 15323},
	{17863, 11634},
	{17881, 7681},
	{17891, 8220},
	{17903, 1549},
	{17909, 6186},
	{17911, 8763},
	{17921, 15122},
	{17923, 12631},
	{17929, 15844},
	{17939, 14794},
	{17957, 4136},
	{17959, 1872},
	{17971, 2428},
	{17977, 17122},
	{17981, 1871},
	{17987, 15405},
	{17989, 5986},
	{18013, 12429},
	{18041, 4824},
	{18043, 7975},
	{18047, 10237},
	{18049, 786},
	{18059, 17112},
	{18061, 63},
	{18077, 14385},
	{18089, 13847},
	{18097, 1363},
	{18119, 13069},
	{18121, 16564},
	{18127, 10053},
	{18131, 1067},
	{18133, 3871},
	{18143, 3781},
	{18149, 5036},
	{18169, 15203},
	{18181, 9163},
	{18191, 1225},
	{18199, 5515},
	{18211, 6572},
	{18217, 14093},
	{18223, 7827},
	{18229, 8324},
	{18233, 2930},
	{18251, 15952},
	{18253, 13014},
	{18257, 13899},
	{18269, 9997},
	{18287, 16822},
	{18289, 3263},
	{18301, 16500},
	{18307, 2499},
	{18311, 13727},
	{18313, 717},
	{18329, 14342},
	{18341, 406},
	{18353, 17397},
	{18367, 4076},
	{18371, 16167},
	{18379, 12262},
	{18397, 17715},
	{18401, 5196},
	{18413, 5433},
	{18427, 9842},
	{18433, 15748},
	{18439, 5293},
	{18443, 5253},
	{18451, 11746},
	{18457, 5926},
	{18461, 14425},
	{18481, 14216},
	{18493, 11818},
	{18503, 6869},
	{18517, 6121},
	{18521, 6081},
	{18523, 3413},
	{18539, 991},
	{18541, 18050},
	{18553, 782},
	{18583, 3192},
	{18587, 1844},
	{18593, 3025},
	{18617, 17279},
	{18637, 16829},
	{18661, 14196},
	{18671, 3850},
	{18679, 17827},
	{18691, 2712},
	{18701, 15173},
	{18713, 2465},
	{18719, 8995},
	{18731, 17382},
	{18743, 17219},
	{18749, 445},
	{18757, 8730},
	{18773, 138},
	{18787, 9490},
	{18793, 8452},
	{18797, 3015},
	{18803, 6708},
	{18839, 4517},
	{18859, 2710},
	{18869, 6970},
	{18899, 13018},
	{18911, 10814},
	{18913, 15459},
	{18917, 13466},
	{18919, 8039},
	{18947, 7331},
	{18959, 682},
	{18973, 4183},
	{18979, 945},
	{19001, 18482},
	{19009, 8063},
	{19013, 12068},
	{19031, 5141},
	{19037, 17336},
	{19051, 13936},
	{19069, 17642},
	{19073, 10134},
	{19079, 12351},
	{19081, 972},
	{19087, 1490},
	{19121, 3279},
	{19139, 19034},
	{19141, 9360},
	{19157, 17962},
	{19163, 1323},
	{19181, 17996},
	{19183, 2586},
	{19207, 9635},
	{19211, 13682},
	{19213, 8305},
	{19219, 15376},
	{19231, 17862},
	{19237, 8300},
	{19249, 13203},
	{19259, 8052},
	{19267, 3015},
	{19273, 14444},
	{19289, 12723},
	{19301, 11977},
	{19309, 3879},
	{19319, 3918},
	{19333, 12490},
	{19373, 13090},
	{19379, 17298},
	{19381, 15615},
	{19387, 1465},
	{19391, 5955},
	{19403, 3433},
	{19417, 8077},
	{19421, 18551},
	{19423, 13659},
	{19427, 13339},
	{19429, 3282},
	{19433, 10500},
	{19441, 9866},
	{19447, 741},
	{19457, 16698},
	{19463, 5981},
	{19469, 6472},
	{19471, 2193},
	{19477, 2469},
	{19483, 9935},
	{19489, 18235},
	{19501, 7471},
	{19507, 12504},
	{19531, 8980},
	{19541, 3556},
	{19543, 3025},
	{19553, 14745},
	{19559, 7347},
	{19571, 14740},
	{19577, 1996},
	{19583, 9911},
	{19597, 9258},
	{19603, 4082},
	{19609, 16643},
	{19661, 19232},
	{19681, 14156},
	{19687, 6316},
	{19697, 16963},
	{19699, 10545},
	{19709, 17755},
	{19717, 15086},
	{19727, 2637},
	{19739, 7247},
	{19751, 19029},
	{19753, 14488},
	{19759, 12403},
	{19763, 14316},
	{19777, 15043},
	{19793, 4723},
	{19801, 14361},
	{19813, 13097},
	{19819, 11520},
	{19841, 3898},
	{19843, 2784},
	{19853, 12740},
	{19861, 15843},
	{19867, 3744},
	{19889, 8072},
	{19891, 12464},
	{19913, 5428},
	{19919, 19163},
	{19927, 10892},
	{19937, 8207},
	{19949, 18310},
	{19961, 1748},
	{19963, 2043},
	{19973, 18344},
	{19979, 14700},
	{19991, 6319},
	{19993, 3579},
	{19997, 12317},
	{20011, 17417},
	{20021, 16684},
	{20023, 14461},
	{20029, 15949},
	{20047, 9776},
	{20051, 539},
	{20063, 15786},
	{20071, 15414},
	{20089, 7036},
	{20101, 1034},
	{20107, 9052},
	{20113, 2415},
	{20117, 795},
	{20123, 14034},
	{20129, 6802},
	{20143, 19679},
	{20147, 8540},
	{20149, 807},
	{20161, 18469},
	{20173, 9647},
	{20177, 19513},
	{20183, 5799},
	{20201, 5785},
	{20219, 11261},
	{20231, 8901},
	{20233, 18539},
	{20249, 14752},
	{20261, 19070},
	{20269, 1723},
	{20287, 18932},
	{20297, 1380},
	{20323, 18322},
	{20327, 19389},
	{20333, 10448},
	{20341, 2672},
	{20347, 11335},
	{20353, 7039},
	{20357, 8024},
	{20359, 19288},
	{20369, 107},
	{20389, 17967},
	{20393, 975},
	{20399, 15223},
	{20407, 18412},
	{20411, 7665},
	{20431, 16711},
	{20441, 5527},
	{20443, 3971},
	{20477, 12449},
	{20479, 989},
	{20483, 11318},
	{20507, 5804},
	{20509, 4243},
	{20521, 7011},
	{20533, 527},
	{20543, 15548},
	{20549, 2130},
	{20551, 15023},
	{20563, 11102},
	{20593, 12944},
	{20599, 3279},
	{20611, 10259},
	{20627, 15626},
	{20639, 14165},
	{20641, 11506},
	{20663, 11242},
	{20681, 19393},
	{20693, 19212},
	{20707, 427},
	{20717, 322},
	{20719, 4540},
	{20731, 9656},
	{20743, 15727},
	{20747, 566},
	{20749, 3961},
	{20753, 10301},
	{20759, 5164},
	{20771, 12635},
	{20773, 10598},
	{20789, 5997},
	{20807, 14193},
	{20809, 15354},
	{20849, 18355},
	{20857, 11093},
	{20873, 1978},
	{20879, 5319},
	{20887, 8725},
	{20897, 14531},
	{20899, 3713},
	{20903, 20686},
	{20921, 8541},
	{20929, 3964},
	{20939, 16515},
	{20947, 2399},
	{20959, 12905},
	{20963, 4798},
	{20981, 695},
	{20983, 12576},
	{21001, 15567},
	{21011, 8562},
	{21013, 1379},
	{21017, 16945},
	{21019, 7094},
	{21023, 2365},
	{21031, 5100},
	{21059, 17914},
	{21061, 12992},
	{21067, 9400},
	{21089, 18166},
	{21101, 4662},
	{21107, 1356},
	{21121, 5106},
	{21139, 9732},
	{21143, 5758},
	{21149, 6291},
	{21157, 14666},
	{21163, 4132},
	{21169, 7520},
	{21179, 7416},
	{21187, 6321},
	{21191, 18003},
	{21193, 12072},
	{21211, 2336},
	{21221, 16624},
	{21227, 16335},
	{21247, 4609},
	{21269, 19989},
	{21277, 14069},
	{21283, 4283},
	{21313, 1239},
	{21317, 9382},
	{21319, 5353},
	{21323, 4923},
	{21341, 3713},
	{21347, 17387},
	{21377, 15719},
	{21379, 19368},
	{21383, 12595},
	{21391, 13842},
	{21397, 19364},
	{21401, 1981},
	{21407, 18580},
	{21419, 4269},
	{21433, 19767},
	{21467, 3202},
	{21481, 18734},
	{21487, 13419},
	{21491, 19750},
	{21493, 7444},
	{21499, 14902},
	{21503, 3579},
	{21517, 10380},
	{21521, 6636},
	{21523, 7234},
	{21529, 15154},
	{21557, 5159},
	{21559, 19348},
	{21563, 8662},
	{21569, 8603},
	{21577, 21219},
	{21587, 287},
	{21589, 649},
	{21599, 5524},
	{21601, 8200},
	{21611, 17982},
	{21613, 2865},
	{21617, 282},
	{21647, 1142},
	{21649, 8707},
	{21661, 21650},
	{21673, 9639},
	{21683, 10898},
	{21701, 11255},
	{21713, 16786},
	{21727, 13634},
	{21737, 12835},
	{21739, 16632},
	{21751, 10620},
	{21757, 20494},
	{21767, 1518},
	{21773, 7947},
	{21787, 20778},
	{21799, 21654},
	{21803, 11089},
	{21817, 5174},
	{21821, 12320},
	{21839, 9927},
	{21841, 7942},
	{21851, 5237},
	{21859, 3556},
	{21863, 12703},
	{21871, 18151},
	{21881, 16059},
	{21893, 8975},
	{21911, 6116},
	{21929, 7235},
	{21937, 18483},
	{21943, 12976},
	{21961, 21895},
	{21977, 21627},
	{21991, 13703},
	{21997, 4942},
	{22003, 1988},
	{22013, 14390},
	{22027, 21513},
	{22031, 17176},
	{22037, 2522},
	{22039, 1923},
	{22051, 7363},
	{22063, 15758},
	{22067, 1087},
	{22073, 12169},
	{22079, 7676},
	{22091, 7369},
	{22093, 11757},
	{22109, 5163},
	{22111, 17312},
	{22123, 10795},
	{22129, 3926},
	{22133, 3413},
	{22147, 12736},
	{22153, 978},
	{22157, 610},
	{22159, 5254},
	{22171, 8732},
	{22189, 17935},
	{22193, 4298},
	{22229, 17538},
	{22247, 13864},
	{22259, 11441},
	{22271, 1522},
	{22273, 6991},
	{22277, 21466},
	{22279, 16166},
	{22283, 18323},
	{22291, 15304},
	{22303, 1848},
	{22307, 9879},
	{22343, 20437},
	{22349, 7608},
	{22367, 17000},
	{22369, 14181},
	{22381, 15036},
	{22391, 19358},
	{22397, 21962},
	{22409, 15363},
	{22433, 13488},
	{22441, 21701},
	{22447, 14624},
	{22453, 21504},
	{22469, 5696},
	{22481, 711},
	{22483, 1672},
	{22501, 10531},
	{22511, 4282},
	{22531, 1491},
	{22541, 6016},
	{22543, 18488},
	{22549, 20794},
	{22567, 12583},
	{22571, 12129},
	{22573, 2654},
	{22613, 6356},
	{22619, 16891},
	{22621, 15717},
	{22637, 3744},
	{22639, 6182},
	{22643, 7716},
	{22651, 7767},
	{22669, 17553},
	{22679, 22362},
	{22691, 5597},
	{22697, 4967},
	{22699, 17820},
	{22709, 18257},
	{22717, 11322},
	{22721, 4600},
	{22727, 13482},
	{22739, 6781},
	{22741, 670},
	{22751, 3964},
	{22769, 15951},
	{22777, 8519},
	{22783, 727},
	{22787, 15168},
	{22807, 16499},
	{22811, 16451},
	{22817, 6019},
	{22853, 13341},
	{22859, 7205},
	{22861, 16272},
	{22871, 22629},
	{22877, 11257},
	{22901, 3687},
	{22907, 808},
	{22921, 10968},
	{22937, 22228},
	{22943, 4873},
	{22961, 13755},
	{22963, 18431},
	{22973, 12057},
	{22993, 5678},
	{23003, 12067},
	{23011, 8741},
	{23017, 32},
	{23021, 7386},
	{23027, 5229},
	{23029, 18775},
	{23039, 22763},
	{23041, 15606},
	{23053, 22355},
	{23057, 21469},
	{23059, 411},
	{23063, 9230},
	{23071, 6701},
	{23081, 4719},
	{23087, 12773},
	{23099, 7996},
	{23117, 6433},
	{23131, 1808},
	{23143, 17616},
	{23159, 11036},
	{23167, 10094},
	{23173, 1868},
	{23189, 1894},
	{23197, 14597},
	{23201, 15753},
	{23203, 4878},
	{23209, 9033},
	{23227, 9250},
	{23251, 9529},
	{23269, 10300},
	{23279, 10349},
	{23291, 21823},
	{23293, 9929},
	{23297, 141},
	{23311, 16831},
	{23321, 5467},
	{23327, 415},
	{23333, 3971},
	{23339, 13908},
	{23357, 21410},
	{23369, 17632},
	{23371, 10372},
	{23399, 16106},
	{23417, 6458},
	{23431, 10621},
	{23447, 21147},
	{23459, 6527},
	{23473, 2326},
	{23497, 21018},
	{23509, 21327},
	{23531, 16171},
	{23537, 17660},
	{23539, 1854},
	{23549, 19097},
	{23557, 2845},
	{23561, 20752},
	{23563, 3353},
	{23567, 10025},
	{23581, 20483},
	{23593, 6109},
	{23599, 3898},
	{23603, 3846},
	{23609, 14063},
	{23623, 919},
	{23627, 857},
	{23629, 3661},
	{23633, 1366},
	{23663, 18524},
	{23669, 20282},
	{23671, 18226},
	{23677, 4326},
	{23687, 15140},
	{23689, 11894},
	{23719, 6548},
	{23741, 17768},
	{23743, 3177},
	{23747, 22924},
	{23753, 6451},
	{23761, 5222},
	{23767, 2164},
	{23773, 21462},
	{23789, 17533},
	{23801, 23246},
	{23813, 23655},
	{23819, 488},
	{23827, 12869},
	{23831, 6890},
	{23833, 13052},
	{23857, 200},
	{23869, 19126},
	{23873, 14640},
	{23879, 10902},
	{23887, 13844},
	{23893, 4122},
	{23899, 5774},
	{23909, 5655},
	{23911, 14135},
	{23917, 15289},
	{23929, 20453},
	{23957, 2646},
	{23971, 19810},
	{23977, 6836},
	{23981, 15504},
	{23993, 9752},
	{24001, 9183},
	{24007, 17511},
	{24019, 20176},
	{24023, 14414},
	{24029, 18262},
	{24043, 3037},
	{24049, 14237},
	{24061, 13136},
	{24071, 12394},
	{24077, 23441},
	{24083, 8327},
	{24091, 16612},
	{24097, 20664},
	{24103, 15072},
	{24107, 14987},
	{24109, 23485},
	{24113, 13655},
	{24121, 19446},
	{24133, 2524},
	{24137, 5041},
	{24151, 4602},
	{24169, 3467},
	{24179, 19312},
	{24181, 17743},
	{24197, 5259},
	{24203, 5733},
	{24223, 7839},
	{24229, 14041},
	{24239, 7531},
	{24247, 19963},
	{24251, 4722},
	{24281, 17214},
	{24317, 21877},
	{24329, 7881},
	{24337, 21429},
	{24359, 2385},
	{24371, 15044},
	{24373, 18814},
	{24379, 18116},
	{24391, 3868},
	{24407, 10553},
	{24413, 16154},
	{24419, 10868},
	{24421, 18651},
	{24439, 106},
	{24443, 18341},
	{24469, 20389},
	{24473, 16646},
	{24481, 9171},
	{24499, 19331},
	{24509, 12775},
	{24517, 2765},
	{24527, 11732},
	{24533, 20841},
	{24547, 3032},
	{24551, 22231},
	{24571, 10610},
	{24593, 15966},
	{24611, 21978},
	{24623, 11773},
	{24631, 12912},
	{24659, 9817},
	{24671, 18692},
	{24677, 8790},
	{24683, 10877},
	{24691, 21811},
	{24697, 7288},
	{24709, 101},
	{24733, 3921},
	{24749, 1700},
	{24763, 382},
	{24767, 20},
	{24781, 12217},
	{24793, 1367},
	{24799, 14873},
	{24809, 12572},
	{24821, 9972},
	{24841, 3077},
	{24847, 3007},
	{24851, 4243},
	{24859, 12885},
	{24877, 11479},
	{24889, 3073},
	{24907, 8874},
	{24917, 17986},
	{24919, 24106},
	{24923, 6526},
	{24943, 13853},
	{24953, 23379},
	{24967, 14869},
	{24971, 22524},
	{24977, 12727},
	{24979, 9254},
	{24989, 14548},
	{25013, 4082},
	{25031, 19990},
	{25033, 3781},
	{25037, 10519},
	{25057, 22088},
	{25073, 1850},
	{25087, 5041},
	{25097, 16223},
	{25111, 20865},
	{25117, 15755},
	{25121, 23431},
	{25127, 8078},
	{25147, 16069},
	{25153, 1613},
	{25163, 12270},
	{25169, 5513},
	{25171, 7751},
	{25183, 2942},
	{25189, 7174},
	{25219, 14684},
	{25229, 4581},
	{25237, 1989},
	{25243, 24775},
	{25247, 22039},
	{25253, 4878},
	{25261, 3394},
	{25301, 13021},
	{25303, 11601},
	{25307, 19500},
	{25309, 7638},
	{25321, 5236},
	{25339, 20171},
	{25343, 15763},
	{25349, 20658},
	{25357, 14031},
	{25367, 3619},
	{25373, 5763},
	{25391, 4703},
	{25409, 8307},
	{25411, 16126},
	{25423, 24558},
	{25439, 17561},
	{25447, 16731},
	{25453, 14969},
	{25457, 23780},
	{25463, 10394},
	{25469, 11647},
	{25471, 23327},
	{25523, 2680},
	{25537, 15572},
	{25541, 1586},
	{25561, 153},
	{25577, 23100},
	{25579, 8863},
	{25583, 16679},
	{25589, 16789},
	{25601, 3802},
	{25603, 574},
	{25609, 9174},
	{25621, 19977},
	{25633, 20414},
	{25639, 23445},
	{25643, 3871},
	{25657, 24001},
	{25667, 3290},
	{25673, 14205},
	{25679, 24807},
	{25693, 22374},
	{25703, 10569},
	{25717, 3594},
	{25733, 17593},
	{25741, 9193},
	{25747, 22857},
	{25759, 22757},
	{25763, 80},
	{25771, 21555},
	{25793, 14426},
	{25799, 10026},
	{25801, 4562},
	{25819, 20940},
	{25841, 13286},
	{25847, 8955},
	{25849, 7504},
	{25867, 24514},
	{25873, 19106},
	{25889, 9395},
	{25903, 6209},
	{25913, 9704},
	{25919, 10953},
	{25931, 21732},
	{25933, 2505},
	{25939, 9506},
	{25943, 24948},
	{25951, 25011},
	{25969, 6553},
	{25981, 19505},
	{25997, 12117},
	{25999, 8554},
	{26003, 4315},
	{26017, 530},
	{26021, 21424},
	{26029, 22703},
	{26041, 22945},
	{26053, 981},
	{26083, 2982},
	{26099, 16726},
	{26107, 5259},
	{26111, 25000},
	{26113, 5},
	{26119, 7054},
	{26141, 9066},
	{26153, 25470},
	{26161, 20777},
	{26171, 3318},
	{26177, 25394},
	{26183, 13539},
	{26189, 11453},
	{26203, 2001},
	{26209, 3812},
	{26227, 6174},
	{26237, 15479},
	{26249, 15924},
	{26251, 10234},
	{26261, 22225},
	{26263, 7371},
	{26267, 2396},
	{26293, 12705},
	{26297, 8198},
	{26309, 21966},
	{26317, 24763},
	{26321, 4540},
	{26339, 17485},
	{26347, 7413},
	{26357, 357},
	{26371, 13890},
	{26387, 21123},
	{26393, 24860},
	{26399, 5222},
	{26407, 1824},
	{26417, 13883},
	{26423, 14455},
	{26431, 20800},
	{26437, 25589},
	{26449, 9105},
	{26459, 15080},
	{26479, 5326},
	{26489, 18610},
	{26497, 6628},
	{26501, 20469},
	{26513, 22086},
	{26539, 4662},
	{26557, 23397},
	{26561, 4661},
	{26573, 5717},
	{26591, 8113},
	{26597, 10829},
	{26627, 13202},
	{26633, 8191},
	{26641, 24831},
	{26647, 18851},
	{26669, 18510},
	{26681, 22114},
	{26683, 20084},
	{26687, 2341},
	{26693, 17796},
	{26699, 2094},
	{26701, 26314},
	{26711, 26375},
	{26713, 15243},
	{26717, 11038},
	{26723, 15113},
	{26729, 9326},
	{26731, 9620},
	{26737, 16464},
	{26759, 17296},
	{26777, 20305},
	{26783, 7401},
	{26801, 15627},
	{26813, 6224},
	{26821, 817},
	{26833, 21048},
	{26839, 8455},
	{26849, 24281},
	{26861, 13475},
	{26863, 2199},
	{26879, 6579},
	{26881, 6955},
	{26891, 2872},
	{26893, 26025},
	{26903, 6601},
	{26921, 25594},
	{26927, 15032},
	{26947, 15604},
	{26951, 6392},
	{26953, 17911},
	{26959, 19912},
	{26981, 9546},
	{26987, 4942},
	{26993, 17605},
	{27011, 16080},
	{27017, 15062},
	{27031, 26862},
	{27043, 20409},
	{27059, 17990},
	{27061, 18883},
	{27067, 20757},
	{27073, 26970},
	{27077, 1584},
	{27091, 8667},
	{27103, 3058},
	{27107, 10055},
	{27109, 21993},
	{27127, 10627},
	{27143, 14876},
	{27179, 16142},
	{27191, 7291},
	{27197, 27185},
	{27211, 12049},
	{27239, 23484},
	{27241, 3211},
	{27253, 20901},
	{27259, 8492},
	{27271, 2009},
	{27277, 5229},
	{27281, 24083},
	{27283, 5763},
	{27299, 11168},
	{27329, 10409},
	{27337, 14676},
	{27361, 18696},
	{27367, 23598},
	{27397, 21838},
	{27407, 6648},
	{27409, 25043},
	{27427, 12457},
	{27431, 22948},
	{27437, 8293},
	{27449, 12100},
	{27457, 14905},
	{27479, 1263},
	{27481, 3706},
	{27487, 608},
	{27509, 8705},
	{27527, 12617},
	{27529, 13382},
	{27539, 10826},
	{27541, 14238},
	{27551, 7938},
	{27581, 9097},
	{27583, 14713},
	{27611, 9431},
	{27617, 27122},
	{27631, 22186},
	{27647, 24355},
	{27653, 16668},
	{27673, 17256},
	{27689, 18070},
	{27691, 11238},
	{27697, 25937},
	{27701, 6729},
	{27733, 4923},
	{27737, 251},
	{27739, 18867},
	{27743, 3897},
	{27749, 18622},
	{27751, 20314},
	{27763, 13658},
	{27767, 21132},
	{27773, 17212},
	{27779, 14306},
	{27791, 1927},
	{27793, 13999},
	{27799, 24226},
	{27803, 26695},
	{27809, 18315},
	{27817, 10015},
	{27823, 21901},
	{27827, 19885},
	{27847, 14303},
	{27851, 7621},
	{27883, 6224},
	{27893, 15503},
	{27901, 10494},
	{27917, 11980},
	{27919, 7317},
	{27941, 9774},
	{27943, 10969},
	{27947, 20920},
	{27953, 20884},
	{27961, 24525},
	{27967, 4111},
	{27983, 14945},
	{27997, 21645},
	{28001, 8746},
	{28019, 22519},
	{28027, 27093},
	{28031, 23982},
	{28051, 5163},
	{28057, 13577},
	{28069, 24258},
	{28081, 20787},
	{28087, 20010},
	{28097, 13587},
	{28099, 19168},
	{28109, 27681},
	{28111, 10917},
	{28123, 14397},
	{28151, 3105},
	{28163, 16265},
	{28181, 17234},
	{28183, 15934},
	{28201, 27750},
	{28211, 3633},
	{28219, 23112},
	{28229, 529},
	{28277, 6174},
	{28279, 13118},
	{28283, 14526},
	{28289, 27505},
	{28297, 23672},
	{28307, 1762},
	{28309, 6592},
	{28319, 20511},
	{28349, 1834},
	{28351, 26616},
	{28387, 23329},
	{28393, 516},
	{28403, 15070},
	{28409, 24216},
	{28411, 5655},
	{28429, 9318},
	{28433, 16215},
	{28439, 21365},
	{28447, 3329},
	{28463, 16225},
	{28477, 1334},
	{28493, 9802},
	{28499, 954},
	{28513, 8209},
	{28517, 9702},
	{28537, 6169},
	{28541, 4538},
	{28547, 11901},
	{28549, 27696},
	{28559, 18973},
	{28571, 19235},
	{28573, 3074},
	{28579, 7647},
	{28591, 26927},
	{28597, 454},
	{28603, 2270},
	{28607, 8368},
	{28619, 12337},
	{28621, 3245},
	{28627, 24184},
	{28631, 10995},
	{28643, 20491},
	{28649, 14060},
	{28657, 14125},
	{28661, 20763},
	{28663, 4723},
	{28669, 20280},
	{28687, 23160},
	{28697, 11383},
	{28703, 22068},
	{28711, 20902},
	{28723, 1390},
	{28729, 11411},
	{28751, 25632},
	{28753, 24019},
	{28759, 27045},
	{28771, 22081},
	{28789, 5237},
	{28793, 6209},
	{28807, 2220},
	{28813, 7878},
	{28817, 25105},
	{28837, 2532},
	{28843, 28193},
	{28859, 21176},
	{28867, 24877},
	{28871, 6732},
	{28879, 8261},
	{28901, 8262},
	{28909, 17504},
	{28921, 14128},
	{28927, 18181},
	{28933, 12073},
	{28949, 10491},
	{28961, 20908},
	{28979, 19556},
	{29009, 19569},
	{29017, 15375},
	{29021, 5774},
	{29023, 16003},
	{29027, 13667},
	{29033, 22561},
	{29059, 3479},
	{29063, 13983},
	{29077, 12807},
	{29101, 12021},
	{29123, 24122},
	{29129, 5100},
	{29131, 2568},
	{29137, 6648},
	{29147, 17305},
	{29153, 25887},
	{29167, 24917},
	{29173, 28756},
	{29179, 6729},
	{29191, 24955},
	{29201, 20527},
	{29207, 24212},
	{29209, 10522},
	{29221, 18376},
	{29231, 27228},
	{29243, 26354},
	{29251, 18709},
	{29269, 9798},
	{29287, 27799},
	{29297, 2548},
	{29303, 16294},
	{29311, 15746},
	{29327, 11274},
	{29333, 16655},
	{29339, 9394},
	{29347, 29014},
	{29363, 13702},
	{29383, 17405},
	{29387, 1154},
	{29389, 23784},
	{29399, 17064},
	{29401, 6579},
	{29411, 26382},
	{29423, 24297},
	{29429, 6990},
	{29437, 17759},
	{29443, 13455},
	{29453, 13310},
	{29473, 6601},
	{29483, 27071},
	{29501, 14151},
	{29527, 13927},
	{29531, 13863},
	{29537, 24729},
	{29567, 910},
	{29569, 8643},
	{29573, 28845},
	{29581, 19814},
	{29587, 551},
	{29599, 12104},
	{29611, 17756},
	{29629, 5597},
	{29633, 17373},
	{29641, 20402},
	{29663, 5678},
	{29669, 27676},
	{29671, 26551},
	{29683, 21749},
	{29717, 2065},
	{29723, 18710},
	{29741, 19733},
	{29753, 15333},
	{29759, 12546},
	{29761, 26193},
	{29789, 19128},
	{29803, 4628},
	{29819, 4275},
	{29833, 2688},
	{29837, 13102},
	{29851, 3377},
	{29863, 16675},
	{29867, 8841},
	{29873, 18409},
	{29879, 22805},
	{29881, 5164},
	{29917, 22173},
	{29921, 7343},
	{29927, 26513},
	{29947, 9832},
	{29959, 25001},
	{29983, 25039},
	{29989, 19566},
	{30011, 6713},
	{30013, 8386},
	{30029, 22522},
	{30047, 6628},
	{30059, 8033},
	{30071, 25487},
	{30089, 14917},
	{30091, 17142},
	{30097, 25268},
	{30103, 12268},
	{30109, 23344},
	{30113, 5170},
	{30119, 21574},
	{30133, 18504},
	{30137, 9365},
	{30139, 7673},
	{30161, 5353},
	{30169, 28921},
	{30181, 22236},
	{30187, 26678},
	{30197, 28434},
	{30203, 23176},
	{30211, 6134},
	{30223, 1840},
	{30241, 10785},
	{30253, 11294},
	{30259, 19523},
	{30269, 13963},
	{30271, 25969},
	{30293, 3945},
	{30307, 29842},
	{30313, 18236},
	{30319, 25362},
	{30323, 13635},
	{30341, 20707},
	{30347, 4284},
	{30367, 9439},
	{30389, 18390},
	{30391, 17237},
	{30403, 29323},
	{30427, 27802},
	{30431, 9467},
	{30449, 27415},
	{30467, 2353},
	{30469, 642},
	{30491, 6333},
	{30493, 14308},
	{30497, 25289},
	{30509, 12245},
	{30517, 6094},
	{30529, 933},
	{30539, 30524},
	{30553, 20578},
	{30557, 1696},
	{30559, 621},
	{30577, 17790},
	{30593, 22184},
	{30631, 8040},
	{30637, 20656},
	{30643, 2187},
	{30649, 18481},
	{30661, 28195},
	{30671, 21185},
	{30677, 27844},
	{30689, 18127},
	{30697, 1024},
	{30703, 25947},
	{30707, 28201},
	{30713, 15705},
	{30727, 28644},
	{30757, 29033},
	{30763, 12706},
	{30773, 16950},
	{30781, 16159},
	{30803, 28960},
	{30809, 26508},
	{30817, 18453},
	{30829, 17527},
	{30839, 26865},
	{30841, 14080},
	{30851, 4312},
	{30853, 20703},
	{30859, 24596},
	{30869, 19914},
	{30871, 1349},
	{30881, 8319},
	{30893, 19948},
	{30911, 18201},
	{30931, 10050},
	{30937, 20781},
	{30941, 8907},
	{30949, 21831},
	{30971, 28988},
	{30977, 1611},
	{30983, 1845},
	{31013, 20862},
	{31019, 9715},
	{31033, 905},
	{31039, 9344},
	{31051, 25630},
	{31063, 13404},
	{31069, 23840},
	{31079, 6955},
	{31081, 25647},
	{31091, 17018},
	{31121, 6083},
	{31123, 5517},
	{31139, 358},
	{31147, 28491},
	{31151, 27865},
	{31153, 5888},
	{31159, 6672},
	{31177, 14277},
	{31181, 6671},
	{31183, 11244},
	{31189, 8322},
	{31193, 19908},
	{31219, 6295},
	{31223, 12870},
	{31231, 21863},
	{31237, 21435},
	{31247, 7080},
	{31249, 4108},
	{31253, 13218},
	{31259, 10727},
	{31267, 8891},
	{31271, 9947},
	{31277, 18015},
	{31307, 20808},
	{31319, 20525},
	{31321, 3160},
	{31327, 11177},
	{31333, 4623},
	{31337, 14152},
	{31357, 22927},
	{31379, 11834},
	{31387, 20464},
	{31391, 24881},
	{31393, 15875},
	{31397, 10525},
	{31469, 17566},
	{31477, 2072},
	{31481, 7317},
	{31489, 26034},
	{31511, 16697},
	{31513, 2619},
	{31517, 1277},
	{31531, 7095},
	{31541, 16642},
	{31543, 5040},
	{31547, 6691},
	{31567, 4924},
	{31573, 10052},
	{31583, 14312},
	{31601, 12396},
	{31607, 9435},
	{31627, 29404},
	{31643, 14924},
	{31649, 9525},
	{31657, 30689},
	{31663, 15371},
	{31667, 15258},
	{31687, 6019},
	{31699, 660},
	{31721, 25404},
	{31723, 21881},
	{31727, 12989},
	{31729, 14758},
	{31741, 24622},
	{31751, 8482},
	{31769, 4864},
	{31771, 16766},
	{31793, 26135},
	{31799, 22555},
	{31817, 13447},
	{31847, 21151},
	{31849, 11823},
	{31859, 16439},
	{31873, 15863},
	{31883, 30485},
	{31891, 20748},
	{31907, 11963},
	{31957, 3636},
	{31963, 525},
	{31973, 25181},
	{31981, 25543},
	{31991, 20339},
	{32003, 515},
	{32009, 10113},
	{32027, 31173},
	{32029, 20641},
	{32051, 8322},
	{32057, 23252},
	{32059, 6016},
	{32063, 23306},
	{32069, 15370},
	{32077, 30984},
	{32083, 15014},
	{32089, 8482},
	{32099, 19994},
	{32117, 3451},
	{32119, 4824},
	{32141, 7647},
	{32143, 2278},
	{32159, 3984},
	{32173, 19821},
	{32183, 16738},
	{32189, 21473},
	{32191, 24754},
	{32203, 3553},
	{32213, 31774},
	{32233, 25316},
	{32237, 22980},
	{32251, 27136},
	{32257, 17414},
	{32261, 20277},
	{32297, 260},
	{32299, 20452},
	{32303, 27837},
	{32309, 24813},
	{32321, 26498},
	{32323, 15869},
	{32327, 10425},
	{32341, 18658},
	{32353, 26897},
	{32359, 8319},
	{32363, 18238},
	{32369, 3048},
	{32371, 27431},
	{32377, 21910},
	{32381, 29313},
	{32401, 25312},
	{32411, 20946},
	{32413, 20066},
	{32423, 2449},
	{32429, 22605},
	{32441, 7054},
	{32443, 16803},
	{32467, 30412},
	{32479, 5527},
	{32491, 30811},
	{32497, 23095},
	{32503, 26007},
	{32507, 29984},
	{32531, 452},
	{32533, 1355},
	{32537, 15214},
	{32561, 119},
	{32563, 14035},
	{32569, 27903},
	{32573, 15566},
	{32579, 11896},
	{32587, 26097},
	{32603, 31206},
	{32609, 27112},
	{32611, 1930},
	{32621, 13953},
	{32633, 1495},
	{32647, 2679},
	{32653, 8406},
	{32687, 31995},
	{32693, 20849},
	{32707, 4432},
	{32713, 5758},
	{32717, 4496},
	{32719, 23578},
	{32749, 7037},
	{32771, 4875},
	{32779, 20232},
	{32783, 10107},
	{32789, 13979},
	{32797, 19098},
	{32801, 6182},
	{32803, 22331},
	{32831, 18118},
	{32833, 18604},
	{32839, 30685},
	{32843, 7878},
	{32869, 7621},
	{32887, 13442},
	{32909, 13011},
	{32911, 2556},
	{32917, 31335},
	{32933, 3565},
	{32939, 14989},
	{32941, 2945},
	{32957, 12760},
	{32969, 5937},
	{32971, 17004},
	{32983, 14562},
	{32987, 16619},
	{32993, 24188},
	{32999, 26472},
	{33013, 14567},
	{33023, 3550},
	{33029, 16721},
	{33037, 4749},
	{33049, 29899},
	{33053, 20121},
	{33071, 24825},
	{33073, 10480},
	{33083, 20131},
	{33091, 4008},
	{33107, 27660},
	{33113, 30495},
	{33119, 25311},
	{33149, 23140},
	{33151, 11947},
	{33161, 6548},
	{33179, 8005},
	{33181, 8469},
	{33191, 8303},
	{33199, 33144},
	{33203, 18247},
	{33211, 19782},
	{33223, 26915},
	{33247, 8906},
	{33287, 1091},
	{33289, 12025},
	{33301, 28427},
	{33311, 19714},
	{33317, 14497},
	{33329, 4670},
	{33331, 5036},
	{33343, 2896},
	{33347, 30992},
	{33349, 17094},
	{33353, 29150},
	{33359, 17163},
	{33377, 24943},
	{33391, 26911},
	{33403, 11594},
	{33409, 20212},
	{33413, 26482},
	{33427, 6433},
	{33457, 27387},
	{33461, 24140},
	{33469, 6523},
	{33479, 28429},
	{33487, 9539},
	{33493, 19162},
	{33503, 20738},
	{33521, 10872},
	{33529, 6116},
	{33533, 280},
	{33547, 22375},
	{33563, 8386},
	{33569, 31532},
	{33577, 11485},
	{33581, 10036},
	{33587, 16116},
	{33589, 22955},
	{33599, 23966},
	{33601, 31251},
	{33613, 2676},
	{33617, 16525},
	{33619, 17224},
	{33623, 17890},
	{33629, 23979},
	{33637, 32054},
	{33641, 31277},
	{33647, 1607},
	{33679, 26053},
	{33703, 16395},
	{33713, 7371},
	{33721, 28196},
	{33739, 11050},
	{33749, 9803},
	{33751, 22447},
	{33757, 29774},
	{33767, 567},
	{33769, 21678},
	{33773, 10505},
	{33791, 15002},
	{33797, 7413},
	{33809, 3724},
	{33811, 30205},
	{33827, 31945},
	{33829, 31703},
	{33851, 12002},
	{33857, 14343},
	{33863, 31820},
	{33871, 2123},
	{33889, 12648},
	{33893, 14707},
	{33911, 12650},
	{33923, 33215},
	{33931, 22143},
	{33937, 30899},
	{33941, 7804},
	{33961, 29177},
	{33967, 921},
	{33997, 5804},
	{34019, 21054},
	{34031, 21364},
	{34033, 17584},
	{34039, 23033},
	{34057, 11377},
	{34061, 5824},
	{34123, 16480},
	{34127, 13767},
	{34129, 22591},
	{34141, 2643},
	{34147, 4286},
	{34157, 8891},
	{34159, 9396},
	{34171, 4685},
	{34183, 3208},
	{34211, 7174},
	{34213, 5253},
	{34217, 9539},
	{34231, 6044},
	{34253, 21399},
	{34259, 11072},
	{34261, 3816},
	{34267, 32235},
	{34273, 7813},
	{34283, 26341},
	{34297, 17042},
	{34301, 21148},
	{34303, 13260},
	{34313, 21008},
	{34319, 4903},
	{34327, 28022},
	{34337, 6348},
	{34351, 31185},
	{34361, 8261},
	{34367, 21623},
	{34369, 501},
	{34381, 18358},
	{34403, 19422},
	{34421, 20156},
	{34429, 12454},
	{34439, 24806},
	{34457, 16456},
	{34469, 24819},
	{34471, 29090},
	{34483, 20581},
	{34487, 11535},
	{34499, 17043},
	{34501, 20559},
	{34511, 6737},
	{34513, 5799},
	{34519, 15116},
	{34537, 13642},
	{34543, 26466},
	{34549, 21057},
	{34583, 8209},
	{34589, 20206},
	{34591, 1477},
	{34603, 19581},
	{34607, 31558},
	{34613, 29162},
	{34631, 22398},
	{34649, 29985},
	{34651, 5997},
	{34667, 30314},
	{34673, 18873},
	{34679, 34610},
	{34687, 9465},
	{34693, 12397},
	{34703, 32852},
	{34721, 24442},
	{34729, 6890},
	{34739, 10186},
	{34747, 34561},
	{34757, 1443},
	{34759, 34250},
	{34763, 30391},
	{34781, 20888},
	{34807, 10680},
	{34819, 14743},
	{34841, 31975},
	{34843, 22223},
	{34847, 15624},
	{34849, 4442},
	{34871, 7504},
	{34877, 13364},
	{34883, 24049},
	{34897, 432},
	{34913, 30060},
	{34919, 25675},
	{34939, 19820},
	{34949, 23384},
	{34961, 27894},
	{34963, 29844},
	{34981, 28638},
	{35023, 2797},
	{35027, 12223},
	{35051, 31126},
	{35053, 13226},
	{35059, 9556},
	{35069, 22133},
	{35081, 4544},
	{35083, 34748},
	{35089, 20983},
	{35099, 8889},
	{35107, 19768},
	{35111, 8643},
	{35117, 33172},
	{35129, 34366},
	{35141, 18717},
	{35149, 26760},
	{35153, 5052},
	{35159, 1335},
	{35171, 13243},
	{35201, 34556},
	{35221, 10186},
	{35227, 27437},
	{35251, 35013},
	{35257, 27839},
	{35267, 15689},
	{35279, 247},
	{35281, 12089},
	{35291, 12160},
	{35311, 15230},
	{35317, 24270},
	{35323, 14907},
	{35327, 12063},
	{35339, 25366},
	{35353, 19043},
	{35363, 7246},
	{35381, 23157},
	{35393, 20856},
	{35401, 3607},
	{35407, 13234},
	{35419, 8628},
	{35423, 34666},
	{35437, 775},
	{35447, 7288},
	{35449, 21517},
	{35461, 6642},
	{35491, 5646},
	{35507, 22358},
	{35509, 21110},
	{35521, 28672},
	{35527, 23110},
	{35531, 5889},
	{35533, 770},
	{35537, 22013},
	{35543, 13763},
	{35569, 29194},
	{35573, 20660},
	{35591, 23730},
	{35593, 20239},
	{35597, 22388},
	{35603, 25399},
	{35617, 26700},
	{35671, 8864},
	{35677, 1600},
	{35729, 27850},
	{35731, 6291},
	{35747, 29080},
	{35753, 16032},
	{35759, 23792},
	{35771, 22367},
	{35797, 6755},
	{35801, 22806},
	{35803, 17041},
	{35809, 10932},
	{35831, 32982},
	{35837, 6321},
	{35839, 8605},
	{35851, 15445},
	{35863, 10137},
	{35869, 25409},
	{35879, 27492},
	{35897, 24818},
	{35899, 10036},
	{35911, 5085},
	{35923, 10459},
	{35933, 15664},
	{35951, 18906},
	{35963, 23105},
	{35969, 29151},
	{35977, 5549},
	{35983, 18942},
	{35993, 12472},
	{35999, 34345},
	{36007, 13782},
	{36011, 32698},
	{36013, 2975},
	{36017, 13459},
	{36037, 32433},
	{36061, 17742},
	{36067, 3374},
	{36073, 8872},
	{36083, 7754},
	{36097, 25978},
	{36107, 29445},
	{36109, 20132},
	{36131, 23314},
	{36137, 27872},
	{36151, 9525},
	{36161, 9344},
	{36187, 32089},
	{36191, 25287},
	{36209, 33216},
	{36217, 12786},
	{36229, 7640},
	{36241, 17378},
	{36251, 7638},
	{36263, 32445},
	{36269, 26260},
	{36277, 286},
	{36293, 14842},
	{36299, 10172},
	{36307, 8293},
	{36313, 19415},
	{36319, 27297},
	{36341, 8138},
	{36343, 15283},
	{36353, 25126},
	{36373, 31311},
	{36383, 11544},
	{36389, 26565},
	{36433, 16895},
	{36451, 32964},
	{36457, 12288},
	{36467, 8791},
	{36469, 17746},
	{36473, 22877},
	{36479, 23032},
	{36493, 2723},
	{36497, 13055},
	{36523, 27381},
	{36527, 3861},
	{36529, 29690},
	{36541, 8560},
	{36551, 21668},
	{36559, 30107},
	{36563, 22139},
	{36571, 3370},
	{36583, 4822},
	{36587, 14668},
	{36599, 32029},
	{36607, 11854},
	{36629, 1711},
	{36637, 15112},
	{36643, 8216},
	{36653, 35055},
	{36671, 10932},
	{36677, 30835},
	{36683, 16788},
	{36691, 27353},
	{36697, 161},
	{36709, 36529},
	{36713, 17196},
	{36721, 33199},
	{36739, 9757},
	{36749, 28590},
	{36761, 35610},
	{36767, 2711},
	{36779, 25775},
	{36781, 2039},
	{36787, 24830},
	{36791, 2110},
	{36793, 7101},
	{36809, 3319},
	{36821, 14977},
	{36833, 3748},
	{36847, 22349},
	{36857, 10680},
	{36871, 15424},
	{36877, 7143},
	{36887, 15470},
	{36899, 29361},
	{36901, 866},
	{36913, 5981},
	{36919, 2078},
	{36923, 16197},
	{36929, 15578},
	{36931, 32033},
	{36943, 8191},
	{36947, 16178},
	{36973, 35004},
	{36979, 10929},
	{36997, 3692},
	{37003, 21050},
	{37013, 34327},
	{37019, 30455},
	{37021, 18954},
	{37039, 6636},
	{37049, 4451},
	{37057, 36146},
	{37061, 9484},
	{37087, 36166},
	{37097, 25870},
	{37117, 10675},
	{37123, 19709},
	{37139, 798},
	{37159, 12597},
	{37171, 11112},
	{37181, 4426},
	{37189, 18988},
	{37199, 29321},
	{37201, 6875},
	{37217, 18369},
	{37223, 2700},
	{37243, 8797},
	{37253, 28930},
	{37273, 31099},
	{37277, 17449},
	{37307, 26473},
	{37309, 12154},
	{37313, 8009},
	{37321, 7531},
	{37337, 9439},
	{37339, 11110},
	{37357, 8990},
	{37361, 26711},
	{37363, 10505},
	{37369, 9467},
	{37379, 31498},
	{37397, 35251},
	{37409, 5877},
	{37423, 12522},
	{37441, 28202},
	{37447, 8198},
	{37463, 36363},
	{37483, 23083},
	{37489, 36088},
	{37493, 35334},
	{37501, 20998},
	{37507, 36969},
	{37511, 21675},
	{37517, 25507},
	{37529, 16281},
	{37537, 14077},
	{37547, 25443},
	{37549, 11632},
	{37561, 7692},
	{37567, 23161},
	{37571, 30211},
	{37573, 26526},
	{37579, 17601},
	{37589, 22672},
	{37591, 9266},
	{37607, 20393},
	{37619, 20050},
	{37633, 18053},
	{37643, 31555},
	{37649, 23404},
	{37657, 30035},
	{37663, 19563},
	{37691, 32642},
	{37693, 27891},
	{37699, 21461},
	{37717, 22076},
	{37747, 34943},
	{37781, 29257},
	{37783, 20267},
	{37799, 36742},
	{37811, 10913},
	{37813, 33155},
	{37831, 26899},
	{37847, 31450},
	{37853, 8106},
	{37861, 7205},
	{37871, 26196},
	{37879, 24534},
	{37889, 4022},
	{37897, 30340},
	{37907, 17280},
	{37951, 10113},
	{37957, 25250},
	{37963, 25199},
	{37967, 36746},
	{37987, 36038},
	{37991, 36792},
	{37993, 17125},
	{37997, 29857},
	{38011, 8705},
	{38039, 25993},
	{38047, 32199},
	{38053, 22113},
	{38069, 33382},
	{38083, 19648},
	{38113, 11544},
	{38119, 34362},
	{38149, 8426},
	{38153, 1786},
	{38167, 3437},
	{38177, 3511},
	{38183, 31569},
	{38189, 25590},
	{38197, 35102},
	{38201, 12886},
	{38219, 5212},
	{38231, 7425},
	{38237, 23208},
	{38239, 35769},
	{38261, 19385},
	{38273, 20909},
	{38281, 36598},
	{38287, 5169},
	{38299, 34046},
	{38303, 21375},
	{38317, 37509},
	{38321, 28163},
	{38327, 37171},
	{38329, 24567},
	{38333, 33445},
	{38351, 21624},
	{38371, 15189},
	{38377, 38277},
	{38393, 16372},
	{38431, 18073},
	{38447, 14127},
	{38449, 25681},
	{38453, 26443},
	{38459, 4630},
	{38461, 9394},
	{38501, 23199},
	{38543, 678},
	{38557, 12861},
	{38561, 31113},
	{38567, 5926},
	{38569, 22409},
	{38593, 13540},
	{38603, 197},
	{38609, 4137},
	{38611, 26200},
	{38629, 13433},
	{38639, 7566},
	{38651, 7912},
	{38653, 24431},
	{38669, 32981},
	{38671, 24792},
	{38677, 35234},
	{38693, 20462},
	{38699, 30484},
	{38707, 12128},
	{38711, 37876},
	{38713, 26538},
	{38723, 26619},
	{38729, 4382},
	{38737, 10425},
	{38747, 17121},
	{38749, 12236},
	{38767, 9339},
	{38783, 32530},
	{38791, 21730},
	{38803, 5134},
	{38821, 11072},
	{38833, 28366},
	{38839, 27833},
	{38851, 8354},
	{38861, 31258},
	{38867, 36161},
	{38873, 7839},
	{38891, 5630},
	{38903, 31387},
	{38917, 8860},
	{38921, 1542},
	{38923, 19537},
	{38933, 25334},
	{38953, 16974},
	{38959, 10872},
	{38971, 24887},
	{38977, 25948},
	{38993, 2098},
	{39019, 23070},
	{39023, 11524},
	{39041, 6344},
	{39043, 27086},
	{39047, 16961},
	{39079, 18245},
	{39089, 29649},
	{39097, 10600},
	{39103, 779},
	{39107, 35642},
	{39113, 15077},
	{39119, 2775},
	{39133, 29152},
	{39139, 3591},
	{39157, 19985},
	{39161, 12623},
	{39163, 31512},
	{39181, 9609},
	{39191, 19357},
	{39199, 14620},
	{39209, 27429},
	{39217, 29242},
	{39227, 13140},
	{39229, 37665},
	{39233, 10420},
	{39239, 24853},
	{39241, 33282},
	{39251, 29915},
	{39293, 22899},
	{39301, 9874},
	{39313, 18584},
	{39317, 29166},
	{39323, 38738},
	{39341, 11050},
	{39343, 19060},
	{39359, 944},
	{39367, 22501},
	{39371, 9318},
	{39373, 15092},
	{39383, 11709},
	{39397, 37661},
	{39409, 19590},
	{39419, 37155},
	{39439, 6081},
	{39443, 21164},
	{39451, 38357},
	{39461, 13449},
	{39499, 28523},
	{39503, 13560},
	{39509, 30382},
	{39511, 15660},
	{39521, 8554},
	{39541, 15267},
	{39551, 11593},
	{39563, 39093},
	{39569, 15822},
	{39581, 17879},
	{39607, 3171},
	{39619, 9097},
	{39623, 1647},
	{39631, 7235},
	{39659, 23039},
	{39667, 17937},
	{39671, 24548},
	{39679, 33707},
	{39703, 4202},
	{39709, 25273},
	{39719, 14642},
	{39727, 39177},
	{39733, 21700},
	{39749, 28184},
	{39761, 22707},
	{39769, 13452},
	{39779, 18340},
	{39791, 16513},
	{39799, 22239},
	{39821, 22244},
	{39827, 23248},
	{39829, 2391},
	{39839, 16517},
	{39841, 37572},
	{39847, 14177},
	{39857, 20110},
	{39863, 38812},
	{39869, 3575},
	{39877, 8481},
	{39883, 21254},
	{39887, 869},
	{39901, 18276},
	{39929, 5156},
	{39937, 32053},
	{39953, 1990},
	{39971, 5986},
	{39979, 33862},
	{39983, 37411},
	{39989, 29273},
	{40009, 18929},
	{40013, 494},
	{40031, 28170},
	{40037, 31140},
	{40039, 26693},
	{40063, 35418},
	{40087, 23313},
	{40093, 17651},
	{40099, 16538},
	{40111, 23351},
	{40123, 3545},
	{40127, 11377},
	{40129, 25400},
	{40151, 8199},
	{40153, 27124},
	{40163, 32544},
	{40169, 35083},
	{40177, 11535},
	{40189, 9800},
	{40193, 12522},
	{40213, 27506},
	{40231, 28927},
	{40237, 13140},
	{40241, 36971},
	{40253, 30174},
	{40277, 22716},
	{40283, 29784},
	{40289, 36999},
	{40343, 29647},
	{40351, 24176},
	{40357, 2334},
	{40361, 38936},
	{40387, 27623},
	{40423, 36342},
	{40427, 29737},
	{40429, 29447},
	{40433, 10254},
	{40459, 33056},
	{40471, 313},
	{40483, 16114},
	{40487, 12288},
	{40493, 35815},
	{40499, 35705},
	{40507, 30214},
	{40519, 12886},
	{40529, 1630},
	{40531, 35358},
	{40543, 38313},
	{40559, 4741},
	{40577, 40174},
	{40583, 15147},
	{40591, 6802},
	{40597, 7823},
	{40609, 29071},
	{40627, 38989},
	{40637, 32378},
	{40639, 22140},
	{40693, 33485},
	{40697, 1466},
	{40699, 20648},
	{40709, 3935},
	{40739, 2137},
	{40751, 12189},
	{40759, 35846},
	{40763, 24112},
	{40771, 34264},
	{40787, 30613},
	{40801, 3342},
	{40813, 34970},
	{40819, 31719},
	{40823, 2798},
	{40829, 23321},
	{40841, 28587},
	{40847, 2767},
	{40849, 32181},
	{40853, 40786},
	{40867, 9702},
	{40879, 22965},
	{40883, 38151},
	{40897, 17625},
	{40903, 23003},
	{40927, 32960},
	{40933, 7716},
	{40939, 13449},
	{40949, 931},
	{40961, 10748},
	{40973, 17288},
	{40993, 40018},
	{41011, 12178},
	{41017, 12063},
	{41023, 24177},
	{41039, 7011},
	{41047, 35517},
	{41051, 3113},
	{41057, 1561},
	{41077, 2786},
	{41081, 18495},
	{41113, 4649},
	{41117, 16289},
	{41131, 4612},
	{41141, 3089},
	{41143, 32427},
	{41149, 38193},
	{41161, 33389},
	{41177, 21681},
	{41179, 22825},
	{41183, 1177},
	{41189, 7767},
	{41201, 14680},
	{41203, 22863},
	{41213, 16607},
	{41221, 10727},
	{41227, 18107},
	{41231, 38900},
	{41233, 13560},
	{41243, 26044},
	{41257, 5910},
	{41263, 14013},
	{41269, 10723},
	{41281, 9691},
	{41299, 26811},
	{41333, 36847},
	{41341, 805},
	{41351, 9105},
	{41357, 26713},
	{41381, 22578},
	{41387, 33296},
	{41389, 12160},
	{41399, 30605},
	{41411, 19895},
	{41413, 38256},
	{41443, 23700},
	{41453, 31322},
	{41467, 13987},
	{41479, 19697},
	{41491, 6186},
	{41507, 19004},
	{41513, 7459},
	{41519, 21859},
	{41521, 18541},
	{41539, 7131},
	{41543, 7039},
	{41549, 22321},
	{41579, 30385},
	{41593, 15382},
	{41597, 33974},
	{41603, 7444},
	{41609, 35925},
	{41611, 12855},
	{41617, 8955},
	{41621, 8863},
	{41627, 26877},
	{41641, 3702},
	{41647, 8535},
	{41651, 4490},
	{41659, 9066},
	{41669, 9814},
	{41681, 34713},
	{41687, 37806},
	{41719, 19936},
	{41729, 32110},
	{41737, 13609},
	{41759, 24989},
	{41761, 7676},
	{41771, 13433},
	{41777, 32389},
	{41801, 22661},
	{41809, 26171},
	{41813, 23198},
	{41843, 30394},
	{41849, 5822},
	{41851, 25012},
	{41863, 34040},
	{41879, 41712},
	{41887, 35658},
	{41893, 36565},
	{41897, 21223},
	{41903, 10114},
	{41911, 9326},
	{41927, 12013},
	{41941, 32660},
	{41947, 37951},
	{41953, 20293},
	{41957, 28358},
	{41959, 1188},
	{41969, 33259},
	{41981, 34858},
	{41983, 29566},
	{41999, 20853},
	{42013, 39188},
	{42017, 2437},
	{42019, 9774},
	{42023, 38816},
	{42043, 18919},
	{42061, 7416},
	{42071, 7036},
	{42073, 27076},
	{42083, 23043},
	{42089, 15358},
	{42101, 16662},
	{42131, 25965},
	{42139, 27651},
	{42157, 17431},
	{42169, 1710},
	{42179, 2971},
	{42181, 36218},
	{42187, 8161},
	{42193, 18428},
	{42197, 35813},
	{42209, 27082},
	{42221, 12112},
	{42223, 38129},
	{42227, 5033},
	{42239, 4642},
	{42257, 15242},
	{42281, 15276},
	{42283, 23589},
	{42293, 6226},
	{42299, 23643},
	{42307, 39122},
	{42323, 38776},
	{42331, 31177},
	{42337, 10125},
	{42349, 24161},
	{42359, 35631},
	{42373, 20348},
	{42379, 459},
	{42391, 34842},
	{42397, 33625},
	{42403, 11329},
	{42407, 12786},
	{42409, 364},
	{42433, 42102},
	{42437, 21009},
	{42443, 471},
	{42451, 5693},
	{42457, 2307},
	{42461, 33984},
	{42463, 37667},
	{42467, 20589},
	{42473, 33599},
	{42487, 37527},
	{42491, 31026},
	{42499, 9546},
	{42509, 22497},
	{42533, 27889},
	{42557, 31612},
	{42569, 32161},
	{42571, 39179},
	{42577, 10310},
	{42589, 12002},
	{42611, 29794},
	{42641, 22520},
	{42643, 41043},
	{42649, 15960},
	{42667, 41032},
	{42677, 19124},
	{42683, 16677},
	{42689, 25940},
	{42697, 38235},
	{42701, 20952},
	{42703, 23674},
	{42709, 31321},
	{42719, 26417},
	{42727, 2311},
	{42737, 14177},
	{42743, 3442},
	{42751, 8915},
	{42767, 5076},
	{42773, 26679},
	{42787, 8790},
	{42793, 9627},
	{42797, 8874},
	{42821, 32561},
	{42829, 12797},
	{42839, 10785},
	{42841, 20072},
	{42853, 6708},
	{42859, 41739},
	{42863, 35995},
	{42899, 9193},
	{42901, 3064},
	{42923, 12397},
	{42929, 25271},
	{42937, 746},
	{42943, 1070},
	{42953, 42432},
	{42961, 26008},
	{42967, 13055},
	{42979, 4158},
	{42989, 32328},
	{43003, 27943},
	{43013, 3453},
	{43019, 3331},
	{43037, 35924},
	{43049, 27922},
	{43051, 8655},
	{43063, 22626},
	{43067, 17481},
	{43093, 22631},
	{43103, 10662},
	{43117, 32430},
	{43133, 38624},
	{43151, 39332},
	{43159, 26531},
	{43177, 19384},
	{43189, 6821},
	{43201, 7207},
	{43207, 14466},
	{43223, 1883},
	{43237, 27337},
	{43261, 1361},
	{43271, 10522},
	{43283, 783},
	{43291, 32749},
	{43313, 11244},
	{43319, 15796},
	{43321, 22028},
	{43331, 24064},
	{43391, 12025},
	{43397, 38002},
	{43399, 15276},
	{43403, 21381},
	{43411, 29327},
	{43427, 16369},
	{43441, 694},
	{43451, 12454},
	{43457, 32172},
	{43481, 19923},
	{43487, 22061},
	{43499, 4020},
	{43517, 31673},
	{43541, 6749},
	{43543, 40278},
	{43573, 7256},
	{43577, 41577},
	{43579, 37303},
	{43591, 9395},
	{43597, 17286},
	{43607, 30791},
	{43609, 27472},
	{43613, 4024},
	{43627, 17810},
	{43633, 19580},
	{43649, 43137},
	{43651, 36946},
	{43661, 8774},
	{43669, 29233},
	{43691, 26359},
	{43711, 40250},
	{43717, 13534},
	{43721, 20164},
	{43753, 20814},
	{43759, 9064},
	{43777, 40864},
	{43781, 2325},
	{43783, 9970},
	{43787, 40476},
	{43789, 30057},
	{43793, 32237},
	{43801, 15796},
	{43853, 16707},
	{43867, 14928},
	{43889, 27853},
	{43891, 34606},
	{43913, 257},
	{43933, 39355},
	{43943, 24698},
	{43951, 6443},
	{43961, 512},
	{43963, 9462},
	{43969, 35781},
	{43973, 22771},
	{43987, 13299},
	{43991, 29023},
	{43997, 5211},
	{44017, 16683},
	{44021, 9506},
	{44027, 24776},
	{44029, 23580},
	{44041, 23978},
	{44053, 17458},
	{44059, 32212},
	{44071, 3863},
	{44087, 43506},
	{44089, 29360},
	{44101, 7247},
	{44111, 23065},
	{44119, 19981},
	{44123, 20237},
	{44129, 35632},
	{44131, 2215},
	{44159, 8691},
	{44171, 1055},
	{44179, 28460},
	{44189, 43163},
	{44201, 25066},
	{44203, 20730},
	{44207, 21543},
	{44221, 5588},
	{44249, 18268},
	{44257, 5146},
	{44263, 23964},
	{44267, 29068},
	{44269, 10618},
	{44273, 14545},
	{44279, 30832},
	{44281, 14642},
	{44293, 30341},
	{44351, 24564},
	{44357, 31664},
	{44371, 6970},
	{44381, 44122},
	{44383, 24295},
	{44389, 16722},
	{44417, 11007},
	{44449, 28312},
	{44453, 40783},
	{44483, 31334},
	{44491, 3122},
	{44497, 11175},
	{44501, 9254},
	{44507, 33494},
	{44519, 27708},
	{44531, 39322},
	{44533, 35933},
	{44537, 42137},
	{44543, 31799},
	{44549, 7466},
	{44563, 39374},
	{44579, 1136},
	{44587, 32990},
	{44617, 36968},
	{44621, 32637},
	{44623, 33877},
	{44633, 5701},
	{44641, 25152},
	{44647, 20122},
	{44651, 15965},
	{44657, 15840},
	{44683, 20598},
	{44687, 33250},
	{44699, 30343},
	{44701, 35881},
	{44711, 32044},
	{44729, 37457},
	{44741, 27540},
	{44753, 44389},
	{44771, 28084},
	{44773, 35411},
	{44777, 31181},
	{44789, 44286},
	{44797, 31814},
	{44809, 12650},
	{44819, 19410},
	{44839, 39479},
	{44843, 11294},
	{44851, 37424},
	{44867, 42819},
	{44879, 15782},
	{44887, 13459},
	{44893, 27209},
	{44909, 42969},
	{44917, 15835},
	{44927, 8519},
	{44939, 35983},
	{44953, 35486},
	{44959, 26335},
	{44963, 17478},
	{44971, 32133},
	{44983, 9704},
	{44987, 19294},
	{45007, 35976},
	{45013, 24089},
	{45053, 44349},
	{45061, 36260},
	{45077, 32223},
	{45083, 20317},
	{45119, 24160},
	{45121, 7347},
	{45127, 38867},
	{45131, 29978},
	{45137, 20790},
	{45139, 40397},
	{45161, 27009},
	{45179, 10494},
	{45181, 13247},
	{45191, 6384},
	{45197, 29103},
	{45233, 40030},
	{45247, 45163},
	{45259, 43805},
	{45263, 36880},
	{45281, 43818},
	{45289, 41832},
	{45293, 24450},
	{45307, 18179},
	{45317, 20805},
	{45319, 28221},
	{45329, 6125},
	{45337, 11703},
	{45341, 1819},
	{45343, 38591},
	{45361, 18715},
	{45377, 17546},
	{45389, 20303},
	{45403, 22971},
	{45413, 20840},
	{45427, 43777},
	{45433, 40676},
	{45439, 40552},
	{45481, 4316},
	{45491, 34080},
	{45497, 4366},
	{45503, 23211},
	{45523, 13345},
	{45533, 1108},
	{45541, 3753},
	{45553, 13843},
	{45557, 20187},
	{45569, 6294},
	{45587, 27430},
	{45589, 1917},
	{45599, 8200},
	{45613, 28739},
	{45631, 18815},
	{45641, 27980},
	{45659, 34142},
	{45667, 41271},
	{45673, 100},
	{45677, 35116},
	{45691, 30776},
	{45697, 29463},
	{45707, 32114},
	{45737, 44506},
	{45751, 10409},
	{45757, 33410},
	{45763, 16707},
	{45767, 33002},
	{45779, 32814},
	{45817, 42219},
	{45821, 465},
	{45823, 27189},
	{45827, 32473},
	{45833, 6129},
	{45841, 38376},
	{45853, 41533},
	{45863, 2502},
	{45869, 5671},
	{45887, 35839},
	{45893, 26241},
	{45943, 16199},
	{45949, 28051},
	{45953, 42733},
	{45959, 9183},
	{45971, 36644},
	{45979, 33432},
	{45989, 3940},
	{46021, 37952},
	{46027, 13364},
	{46049, 32490},
	{46051, 26556},
	{46061, 32908},
	{46073, 40129},
	{46091, 29925},
	{46093, 6064},
	{46099, 27210},
	{46103, 43690},
	{46133, 38453},
	{46141, 25928},
	{46147, 31747},
	{46153, 35880},
	{46171, 8083},
	{46181, 28980},
	{46183, 38660},
	{46187, 41541},
	{46199, 21323},
	{46219, 38547},
	{46229, 45248},
	{46237, 40181},
	{46261, 5892},
	{46271, 10327},
	{46273, 37545},
	{46279, 29651},
	{46301, 26095},
	{46307, 1032},
	{46309, 9118},
	{46327, 13104},
	{46337, 35878},
	{46349, 41013},
	{46351, 6517},
	{46381, 42419},
	{46399, 30006},
	{46411, 3164},
	{46439, 18743},
	{46441, 12155},
	{46447, 17546},
	{46451, 28813},
	{46457, 37224},
	{46471, 11687},
	{46477, 7331},
	{46489, 25478},
	{46499, 1603},
	{46507, 12760},
	{46511, 18326},
	{46523, 41648},
	{46549, 4422},
	{46559, 419},
	{46567, 937},
	{46573, 24319},
	{46589, 24377},
	{46591, 7342},
	{46601, 22563},
	{46619, 28526},
	{46633, 23768},
	{46639, 44931},
	{46643, 16174},
	{46649, 10917},
	{46663, 40740},
	{46679, 26814},
	{46681, 10026},
	{46687, 35360},
	{46691, 41929},
	{46703, 27369},
	{46723, 17991},
	{46727, 21464},
	{46747, 20905},
	{46751, 9033},
	{46757, 20999},
	{46769, 34680},
	{46771, 41409},
	{46807, 10855},
	{46811, 12435},
	{46817, 45136},
	{46819, 320},
	{46829, 10234},
	{46831, 15146},
	{46853, 28943},
	{46861, 1287},
	{46867, 9675},
	{46877, 36741},
	{46889, 3900},
	{46901, 4318},
	{46919, 6375},
	{46933, 16677},
	{46957, 16648},
	{46993, 24374},
	{46997, 34065},
	{47017, 21014},
	{47041, 28290},
	{47051, 38915},
	{47057, 10627},
	{47059, 1732},
	{47087, 28262},
	{47093, 39065},
	{47111, 7220},
	{47119, 12396},
	{47123, 44586},
	{47129, 30380},
	{47137, 12356},
	{47143, 25900},
	{47147, 10612},
	{47149, 44233},
	{47161, 31189},
	{47189, 8427},
	{47207, 23901},
	{47221, 10826},
	{47237, 4415},
	{47251, 47168},
	{47269, 23143},
	{47279, 6849},
	{47287, 18194},
	{47293, 2017},
	{47297, 1184},
	{47303, 2108},
	{47309, 8732},
	{47317, 29633},
	{47339, 1963},
	{47351, 29253},
	{47353, 43483},
	{47363, 9279},
	{47381, 24479},
	{47387, 32963},
	{47389, 35984},
	{47407, 40736},
	{47417, 29893},
	{47419, 3498},
	{47431, 6811},
	{47441, 41548},
	{47459, 42979},
	{47491, 13011},
	{47497, 14206},
	{47501, 45990},
	{47507, 40640},
	{47513, 373},
	{47521, 23499},
	{47527, 28352},
	{47533, 24108},
	{47543, 41160},
	{47563, 32284},
	{47569, 45126},
	{47581, 34295},
	{47591, 1208},
	{47599, 24743},
	{47609, 15660},
	{47623, 36440},
	{47629, 21416},
	{47639, 5521},
	{47653, 35975},
	{47657, 12286},
	{47659, 25655},
	{47681, 11511},
	{47699, 20419},
	{47701, 37336},
	{47711, 11411},
	{47713, 4871},
	{47717, 36732},
	{47737, 41413},
	{47741, 32439},
	{47743, 41826},
	{47777, 22531},
	{47779, 34884},
	{47791, 33026},
	{47797, 4913},
	{47807, 33088},
	{47809, 42488},
	{47819, 33703},
	{47837, 9250},
	{47843, 29686},
	{47857, 35780},
	{47869, 46104},
	{47881, 29130},
	{47903, 2709},
	{47911, 8603},
	{47917, 17850},
	{47933, 40097},
	{47939, 4574},
	{47947, 44529},
	{47951, 28474},
	{47963, 10834},
	{47969, 27567},
	{47977, 42436},
	{47981, 34088},
	{48017, 29120},
	{48023, 29198},
	{48029, 3539},
	{48049, 28829},
	{48073, 9230},
	{48079, 38153},
	{48091, 36236},
	{48109, 20190},
	{48119, 24805},
	{48121, 22017},
	{48131, 10670},
	{48157, 14668},
	{48163, 46404},
	{48179, 1324},
	{48187, 416},
	{48193, 35829},
	{48197, 18179},
	{48221, 39413},
	{48239, 31469},
	{48247, 25263},
	{48259, 9972},
	{48271, 20434},
	{48281, 30129},
	{48299, 14355},
	{48311, 8707},
	{48313, 22935},
	{48337, 42851},
	{48341, 24154},
	{48353, 44675},
	{48371, 37349},
	{48383, 33767},
	{48397, 47038},
	{48407, 31714},
	{48409, 20195},
	{48413, 41224},
	{48437, 41738},
	{48449, 7805},
	{48463, 29288},
	{48473, 1688},
	{48479, 45622},
	{48481, 18743},
	{48487, 3446},
	{48491, 25767},
	{48497, 42686},
	{48523, 18878},
	{48527, 21903},
	{48533, 5884},
	{48539, 39108},
	{48541, 34599},
	{48563, 14220},
	{48571, 35142},
	{48589, 26459},
	{48593, 45722},
	{48611, 37680},
	{48619, 1158},
	{48623, 44378},
	{48647, 32989},
	{48649, 5472},
	{48661, 5906},
	{48673, 24905},
	{48677, 15880},
	{48679, 37462},
	{48731, 27355},
	{48733, 29439},
	{48751, 8072},
	{48757, 17481},
	{48761, 33059},
	{48767, 624},
	{48779, 37742},
	{48781, 22587},
	{48787, 10510},
	{48799, 18298},
	{48809, 744},
	{48817, 12455},
	{48821, 48341},
	{48823, 9752},
	{48847, 30213},
	{48857, 45004},
	{48859, 14977},
	{48869, 48369},
	{48871, 35237},
	{48883, 5784},
	{48889, 43692},
	{48907, 10829},
	{48947, 22606},
	{48953, 12268},
	{48973, 41815},
	{48989, 38504},
	{48991, 9580},
	{49003, 47556},
	{49009, 39197},
	{49019, 11288},
	{49031, 35434},
	{49033, 10394},
	{49037, 17810},
	{49043, 18868},
	{49057, 17221},
	{49069, 33142},
	{49081, 23633},
	{49103, 13814},
	{49109, 19514},
	{49117, 40672},
	{49121, 12104},
	{49123, 14842},
	{49139, 2234},
	{49157, 3023},
	{49169, 36607},
	{49171, 11752},
	{49177, 12989},
	{49193, 40291},
	{49199, 3146},
	{49201, 20201},
	{49207, 15590},
	{49211, 33868},
	{49223, 620},
	{49253, 38495},
	{49261, 33439},
	{49277, 19374},
	{49279, 21481},
	{49297, 44687},
	{49307, 38584},
	{49331, 18279},
	{49333, 44488},
	{49339, 46916},
	{49363, 19550},
	{49367, 40579},
	{49369, 46439},
	{49391, 36681},
	{49393, 10569},
	{49409, 31751},
	{49411, 27457},
	{49417, 40797},
	{49429, 42471},
	{49433, 45821},
	{49451, 34873},
	{49459, 45449},
	{49463, 14360},
	{49477, 38993},
	{49481, 26429},
	{49499, 4080},
	{49523, 13759},
	{49529, 18815},
	{49531, 6593},
	{49537, 19369},
	{49547, 15112},
	{49549, 3717},
	{49559, 18715},
	{49597, 18129},
	{49603, 46949},
	{49613, 12706},
	{49627, 11038},
	{49633, 47560},
	{49639, 29721},
	{49663, 25548},
	{49667, 17431},
	{49669, 24715},
	{49681, 26602},
	{49697, 37437},
	{49711, 23328},
	{49727, 30393},
	{49739, 32373},
	{49741, 36796},
	{49747, 25626},
	{49757, 43969},
	{49783, 24068},
	{49787, 10112},
	{49789, 18806},
	{49801, 16517},
	{49807, 25433},
	{49811, 43437},
	{49823, 49256},
	{49831, 23683},
	{49843, 20487},
	{49853, 46036},
	{49871, 47201},
	{49877, 28230},
	{49891, 27325},
	{49919, 7780},
	{49921, 18801},
	{49927, 21953},
	{49937, 28688},
	{49939, 2287},
	{49943, 1128},
	{49957, 14817},
	{49991, 41871},
	{49993, 42611},
	{49999, 32434},
	{50021, 3306},
	{50023, 46472},
	{50033, 5641},
	{50047, 34755},
	{50051, 29196},
	{50053, 23636},
	{50069, 5490},
	{50077, 11901},
	{50087, 26510},
	{50093, 26891},
	{50101, 25951},
	{50111, 20195},
	{50119, 5024},
	{50123, 12073},
	{50129, 30511},
	{50131, 40177},
	{50147, 39592},
	{50153, 22439},
	{50159, 4410},
	{50177, 8725},
	{50207, 36003},
	{50221, 8052},
	{50227, 13881},
	{50231, 1827},
	{50261, 9548},
	{50263, 33489},
	{50273, 10389},
	{50287, 24171},
	{50291, 34762},
	{50311, 39693},
	{50321, 45880},
	{50329, 34169},
	{50333, 21891},
	{50341, 27232},
	{50359, 21499},
	{50363, 13288},
	{50377, 15470},
	{50383, 4829},
	{50387, 7264},
	{50411, 20190},
	{50417, 7155},
	{50423, 40228},
	{50441, 6332},
	{50459, 3403},
	{50461, 28658},
	{50497, 11118},
	{50503, 40460},
	{50513, 15283},
	{50527, 13232},
	{50539, 48360},
	{50543, 25075},
	{50549, 43669},
	{50551, 4633},
	{50581, 24330},
	{50587, 45869},
	{50591, 26706},
	{50593, 14667},
	{50599, 15384},
	{50627, 44624},
	{50647, 36133},
	{50651, 4853},
	{50671, 15578},
	{50683, 17288},
	{50707, 48308},
	{50723, 34412},
	{50741, 667},
	{50753, 48160},
	{50767, 13447},
	{50773, 25802},
	{50777, 39468},
	{50789, 50726},
	{50821, 37138},
	{50833, 50081},
	{50839, 24802},
	{50849, 20434},
	{50857, 50064},
	{50867, 5453},
	{50873, 25658},
	{50891, 44633},
	{50893, 43251},
	{50909, 242},
	{50923, 45960},
	{50929, 47245},
	{50951, 8063},
	{50957, 25736},
	{50969, 27458},
	{50971, 9127},
	{50989, 18648},
	{50993, 49916},
	{51001, 25067},
	{51031, 25069},
	{51043, 41632},
	{51047, 28395},
	{51059, 6861},
	{51061, 50678},
	{51071, 33643},
	{51109, 49633},
	{51131, 49645},
	{51133, 21030},
	{51137, 41638},
	{51151, 50729},
	{51157, 30658},
	{51169, 10765},
	{51193, 48390},
	{51197, 14912},
	{51199, 5388},
	{51203, 9929},
	{51217, 2476},
	{51229, 22830},
	{51239, 1792},
	{51241, 44074},
	{51257, 26630},
	{51263, 23691},
	{51283, 46746},
	{51287, 6036},
	{51307, 21099},
	{51329, 22678},
	{51341, 47964},
	{51343, 41492},
	{51347, 9762},
	{51349, 56},
	{51361, 7029},
	{51383, 48129},
	{51407, 24949},
	{51413, 17430},
	{51419, 31309},
	{51421, 20419},
	{51427, 33684},
	{51431, 43334},
	{51437, 31785},
	{51439, 2330},
	{51449, 48841},
	{51461, 46431},
	{51473, 2101},
	{51479, 29417},
	{51481, 7354},
	{51487, 12609},
	{51503, 33269},
	{51511, 32046},
	{51517, 19294},
	{51521, 34467},
	{51539, 8985},
	{51551, 3008},
	{51563, 51208},
	{51577, 40107},
	{51581, 15467},
	{51593, 7827},
	{51599, 7681},
	{51607, 37849},
	{51613, 4934},
	{51631, 6692},
	{51637, 29037},
	{51647, 39409},
	{51659, 40280},
	{51673, 23446},
	{51679, 7865},
	{51683, 16476},
	{51691, 38742},
	{51713, 13063},
	{51719, 44176},
	{51721, 27746},
	{51749, 15445},
	{51767, 17625},
	{51769, 26665},
	{51787, 35834},
	{51797, 42460},
	{51803, 5957},
	{51817, 36463},
	{51827, 8300},
	{51829, 38527},
	{51839, 14708},
	{51853, 33344},
	{51859, 2893},
	{51869, 10610},
	{51871, 5894},
	{51893, 17178},
	{51899, 37460},
	{51907, 21968},
	{51913, 8204},
	{51929, 11582},
	{51941, 1513},
	{51949, 26109},
	{51971, 18115},
	{51973, 17741},
	{51977, 49228},
	{51991, 38837},
	{52009, 21489},
	{52021, 19410},
	{52027, 50709},
	{52051, 29496},
	{52057, 37828},
	{52067, 45009},
	{52069, 43595},
	{52081, 4370},
	{52103, 15699},
	{52121, 4356},
	{52127, 30558},
	{52147, 37125},
	{52153, 12410},
	{52163, 47166},
	{52177, 16961},
	{52181, 40356},
	{52183, 41441},
	{52189, 51516},
	{52201, 7509},
	{52223, 49281},
	{52237, 1873},
	{52249, 1388},
	{52253, 32331},
	{52259, 28166},
	{52267, 14497},
	{52289, 13804},
	{52291, 14535},
	{52301, 42800},
	{52313, 29938},
	{52321, 22841},
	{52361, 21481},
	{52363, 15664},
	{52369, 39687},
	{52379, 4736},
	{52387, 3383},
	{52391, 35664},
	{52433, 23721},
	{52453, 48664},
	{52457, 40407},
	{52489, 36422},
	{52501, 33960},
	{52511, 41044},
	{52517, 28570},
	{52529, 2375},
	{52541, 49400},
	{52543, 30074},
	{52553, 45983},
	{52561, 42899},
	{52567, 34667},
	{52571, 888},
	{52579, 35342},
	{52583, 13900},
	{52609, 46964},
	{52627, 14702},
	{52631, 46974},
	{52639, 34725},
	{52667, 48211},
	{52673, 4781},
	{52691, 31315},
	{52697, 2530},
	{52709, 38795},
	{52711, 21471},
	{52721, 52545},
	{52727, 51084},
	{52733, 493},
	{52747, 13102},
	{52757, 18107},
	{52769, 2544},
	{52783, 28524},
	{52807, 6549},
	{52813, 41295},
	{52817, 21953},
	{52837, 25014},
	{52859, 40582},
	{52861, 36358},
	{52879, 49569},
	{52883, 17651},
	{52889, 3448},
	{52901, 39116},
	{52903, 46875},
	{52919, 50329},
	{52937, 41570},
	{52951, 12100},
	{52957, 32689},
	{52963, 47907},
	{52967, 38088},
	{52973, 50981},
	{52981, 47873},
	{52999, 35439},
	{53003, 14567},
	{53017, 29098},
	{53047, 39859},
	{53051, 3758},
	{53069, 39166},
	{53077, 17121},
	{53087, 36159},
	{53089, 40763},
	{53093, 7975},
	{53101, 2148},
	{53113, 8712},
	{53117, 16108},
	{53129, 5109},
	{53147, 1503},
	{53149, 37172},
	{53161, 44026},
	{53171, 10300},
	{53173, 27181},
	{53189, 12049},
	{53197, 9879},
	{53201, 4712},
	{53231, 22835},
	{53233, 51116},
	{53239, 7411},
	{53267, 5391},
	{53269, 44919},
	{53279, 39973},
	{53281, 8516},
	{53299, 10268},
	{53309, 10372},
	{53323, 9399},
	{53327, 40318},
	{53353, 38386},
	{53359, 3643},
	{53377, 41720},
	{53381, 13607},
	{53401, 10349},
	{53407, 42317},
	{53411, 34144},
	{53419, 50849},
	{53437, 15689},
	{53441, 1530},
	{53453, 44768},
	{53479, 1995},
	{53503, 45429},
	{53507, 6324},
	{53527, 34498},
	{53549, 843},
	{53551, 3838},
	{53569, 44396},
	{53591, 33804},
	{53593, 47821},
	{53597, 9400},
	{53609, 27702},
	{53611, 33165},
	{53617, 33391},
	{53623, 479},
	{53629, 49080},
	{53633, 48964},
	{53639, 18541},
	{53653, 42327},
	{53657, 42189},
	{53681, 7275},
	{53693, 28609},
	{53699, 32590},
	{53717, 20905},
	{53719, 13542},
	{53731, 20303},
	{53759, 8647},
	{53773, 47525},
	{53777, 38469},
	{53783, 1161},
	{53791, 52165},
	{53813, 13029},
	{53819, 26211},
	{53831, 39118},
	{53849, 41490},
	{53857, 15624},
	{53861, 2107},
	{53881, 17924},
	{53887, 40867},
	{53891, 48287},
	{53897, 43993},
	{53899, 29714},
	{53917, 17769},
	{53923, 49745},
	{53927, 19384},
	{53939, 53212},
	{53951, 26216},
	{53959, 32631},
	{53987, 46453},
	{53993, 28634},
	{54001, 31127},
	{54011, 21416},
	{54013, 13635},
	{54037, 25906},
	{54049, 31889},
	{54059, 27570},
	{54083, 46903},
	{54091, 16008},
	{54101, 14331},
	{54121, 23789},
	{54133, 20317},
	{54139, 39203},
	{54151, 30118},
	{54163, 46287},
	{54167, 51938},
	{54181, 50960},
	{54193, 30274},
	{54217, 21903},
	{54251, 537},
	{54269, 3294},
	{54277, 31118},
	{54287, 42020},
	{54293, 3328},
	{54311, 24926},
	{54319, 33934},
	{54323, 11945},
	{54331, 31765},
	{54347, 35307},
	{54361, 25578},
	{54367, 34279},
	{54371, 40298},
	{54377, 50143},
	{54401, 19981},
	{54403, 28394},
	{54409, 26829},
	{54413, 11163},
	{54419, 82},
	{54421, 49446},
	{54437, 9928},
	{54443, 22414},
	{54449, 10621},
	{54469, 41088},
	{54493, 33844},
	{54497, 37133},
	{54499, 31787},
	{54503, 23446},
	{54517, 36484},
	{54521, 23402},
	{54539, 14793},
	{54541, 43616},
	{54547, 47062},
	{54559, 4597},
	{54563, 32711},
	{54577, 47674},
	{54581, 35778},
	{54583, 33859},
	{54601, 9927},
	{54617, 50528},
	{54623, 21806},
	{54629, 3425},
	{54631, 35406},
	{54647, 5285},
	{54667, 14835},
	{54673, 11098},
	{54679, 36180},
	{54709, 32579},
	{54713, 10432},
	{54721, 34658},
	{54727, 2468},
	{54751, 29139},
	{54767, 45346},
	{54773, 30826},
	{54779, 44847},
	{54787, 33586},
	{54799, 49617},
	{54829, 19176},
	{54833, 25245},
	{54851, 8324},
	{54869, 52718},
	{54877, 47799},
	{54881, 50531},
	{54907, 11609},
	{54917, 46444},
	{54919, 47970},
	{54941, 26848},
	{54949, 39419},
	{54959, 22017},
	{54973, 16788},
	{54979, 211},
	{54983, 37769},
	{55001, 35861},
	{55009, 6627},
	{55021, 34051},
	{55049, 29436},
	{55051, 17777},
	{55057, 12617},
	{55061, 30207},
	{55073, 11601},
	{55079, 5833},
	{55103, 45393},
	{55109, 23770},
	{55117, 52413},
	{55127, 21853},
	{55147, 20805},
	{55163, 33732},
	{55171, 28398},
	{55201, 3198},
	{55207, 30948},
	{55213, 47860},
	{55217, 46284},
	{55219, 1922},
	{55229, 8980},
	{55243, 44285},
	{55249, 18357},
	{55259, 51478},
	{55291, 48897},
	{55313, 18393},
	{55331, 14643},
	{55333, 11536},
	{55337, 28805},
	{55339, 2866},
	{55343, 14132},
	{55351, 52959},
	{55373, 20598},
	{55381, 18340},
	{55399, 20164},
	{55411, 13963},
	{55439, 4265},
	{55441, 21323},
	{55457, 47427},
	{55469, 24424},
	{55487, 37960},
	{55501, 36954},
	{55511, 55090},
	{55529, 23757},
	{55541, 35575},
	{55547, 26875},
	{55579, 3045},
	{55589, 36361},
	{55603, 50906},
	{55609, 5366},
	{55619, 22587},
	{55621, 29477},
	{55631, 49985},
	{55633, 42972},
	{55639, 6022},
	{55661, 49442},
	{55663, 30414},
	{55667, 37388},
	{55673, 50159},
	{55681, 31706},
	{55691, 4557},
	{55697, 48912},
	{55711, 44009},
	{55717, 34504},
	{55721, 13118},
	{55733, 8984},
	{55763, 24183},
	{55787, 48169},
	{55793, 42018},
	{55799, 34840},
	{55807, 26880},
	{55813, 3384},
	{55817, 1230},
	{55819, 46665},
	{55823, 17266},
	{55829, 7739},
	{55837, 34913},
	{55843, 2814},
	{55849, 31333},
	{55871, 14758},
	{55889, 30276},
	{55897, 38999},
	{55901, 29886},
	{55903, 27306},
	{55921, 29217},
	{55927, 29452},
	{55931, 54529},
	{55933, 55357},
	{55949, 9656},
	{55967, 42929},
	{55987, 12117},
	{55997, 55301},
	{56003, 20147},
	{56009, 45840},
	{56039, 14724},
	{56041, 24409},
	{56053, 13702},
	{56081, 18245},
	{56087, 51986},
	{56093, 4447},
	{56099, 38530},
	{56101, 31749},
	{56113, 48500},
	{56123, 12509},
	{56131, 19808},
	{56149, 1127},
	{56167, 15214},
	{56171, 5438},
	{56179, 49267},
	{56197, 45861},
	{56207, 40474},
	{56209, 21259},
	{56237, 10481},
	{56239, 50359},
	{56249, 2487},
	{56263, 17196},
	{56267, 19129},
	{56269, 45931},
	{56299, 45379},
	{56311, 27044},
	{56333, 20730},
	{56359, 45174},
	{56369, 23328},
	{56377, 1768},
	{56383, 48325},
	{56393, 39146},
	{56401, 15607},
	{56417, 31058},
	{56431, 28060},
	{56437, 46226},
	{56443, 11415},
	{56453, 16770},
	{56467, 40539},
	{56473, 42831},
	{56477, 9623},
	{56479, 5323},
	{56489, 18073},
	{56501, 32013},
	{56503, 43517},
	{56509, 53748},
	{56519, 25578},
	{56527, 8},
	{56531, 29531},
	{56533, 45898},
	{56543, 32966},
	{56569, 52364},
	{56591, 52374},
	{56597, 38366},
	{56599, 24898},
	{56611, 22692},
	{56629, 29932},
	{56633, 24433},
	{56659, 8538},
	{56663, 3261},
	{56671, 38653},
	{56681, 36560},
	{56687, 51183},
	{56701, 46193},
	{56711, 32826},
	{56713, 28509},
	{56731, 41726},
	{56737, 21334},
	{56747, 9258},
	{56767, 20764},
	{56773, 46263},
	{56779, 37371},
	{56783, 18584},
	{56807, 28875},
	{56809, 23302},
	{56813, 1496},
	{56821, 10359},
	{56827, 50051},
	{56843, 55827},
	{56857, 43588},
	{56873, 37377},
	{56891, 14317},
	{56893, 47327},
	{56897, 1538},
	{56909, 56611},
	{56911, 497},
	{56921, 48770},
	{56923, 40855},
	{56929, 2991},
	{56941, 31428},
	{56951, 39906},
	{56957, 17557},
	{56963, 3136},
	{56983, 23621},
	{56989, 27845},
	{56993, 44459},
	{56999, 7346},
	{57037, 36575},
	{57041, 19697},
	{57047, 17542},
	{57059, 713},
	{57073, 28804},
	{57077, 46161},
	{57089, 23683},
	{57097, 29512},
	{57107, 46171},
	{57119, 41941},
	{57131, 24879},
	{57139, 32071},
	{57143, 20814},
	{57149, 9178},
	{57163, 8534},
	{57173, 17041},
	{57179, 9854},
	{57191, 7565},
	{57193, 56804},
	{57203, 48123},
	{57221, 1038},
	{57223, 34239},
	{57241, 11036},
	{57251, 18068},
	{57259, 39975},
	{57269, 35057},
	{57271, 49704},
	{57283, 29611},
	{57287, 32610},
	{57301, 47197},
	{57329, 9121},
	{57331, 29968},
	{57347, 4830},
	{57349, 54948},
	{57367, 16456},
	{57373, 6459},
	{57383, 6570},
	{57389, 4974},
	{57397, 35143},
	{57413, 2028},
	{57427, 31418},
	{57457, 11732},
	{57467, 3003},
	{57487, 16835},
	{57493, 45701},
	{57503, 25828},
	{57527, 47114},
	{57529, 14172},
	{57557, 11992},
	{57559, 13590},
	{57571, 15370},
	{57587, 25906},
	{57593, 31061},
	{57601, 54263},
	{57637, 16116},
	{57641, 5278},
	{57649, 1877},
	{57653, 18048},
	{57667, 10061},
	{57679, 34823},
	{57689, 27044},
	{57697, 51898},
	{57709, 19895},
	{57713, 33086},
	{57719, 23238},
	{57727, 39627},
	{57731, 57322},
	{57737, 24171},
	{57751, 34428},
	{57773, 51445},
	{57781, 27851},
	{57787, 22436},
	{57791, 35645},
	{57793, 13983},
	{57803, 21372},
	{57809, 15319},
	{57829, 35939},
	{57839, 23633},
	{57847, 6365},
	{57853, 31076},
	{57859, 45885},
	{57881, 1368},
	{57899, 27851},
	{57901, 33751},
	{57917, 36715},
	{57923, 17713},
	{57943, 43642},
	{57947, 10380},
	{57973, 8264},
	{57977, 28905},
	{57991, 36367},
	{58013, 16480},
	{58027, 30355},
	{58031, 3618},
	{58043, 12705},
	{58049, 32142},
	{58057, 41608},
	{58061, 35159},
	{58067, 39464},
	{58073, 24068},
	{58099, 35686},
	{58109, 26225},
	{58111, 28489},
	{58129, 25121},
	{58147, 39712},
	{58151, 198},
	{58153, 15232},
	{58169, 3153},
	{58171, 42204},
	{58189, 54939},
	{58193, 19060},
	{58199, 34885},
	{58207, 17104},
	{58211, 21046},
	{58217, 43797},
	{58229, 5454},
	{58231, 42742},
	{58237, 20589},
	{58243, 34122},
	{58271, 46594},
	{58309, 12471},
	{58313, 15371},
	{58321, 5651},
	{58337, 47384},
	{58363, 49060},
	{58367, 32700},
	{58369, 26216},
	{58379, 47561},
	{58391, 13382},
	{58393, 35887},
	{58403, 3507},
	{58411, 31933},
	{58417, 33404},
	{58427, 44670},
	{58439, 35204},
	{58441, 55463},
	{58451, 17746},
	{58453, 56216},
	{58477, 50701},
	{58481, 4537},
	{58511, 54677},
	{58537, 21543},
	{58543, 2219},
	{58549, 42294},
	{58567, 56586},
	{58573, 12270},
	{58579, 42184},
	{58601, 24802},
	{58603, 50257},
	{58613, 10795},
	{58631, 30013},
	{58657, 34889},
	{58661, 7862},
	{58679, 14128},
	{58687, 14255},
	{58693, 53691},
	{58699, 26848},
	{58711, 51247},
	{58727, 8613},
	{58733, 30473},
	{58741, 28079},
	{58757, 6020},
	{58763, 52488},
	{58771, 34948},
	{58787, 4364},
	{58789, 40588},
	{58831, 53350},
	{58889, 28489},
	{58897, 36032},
	{58901, 57910},
	{58907, 52393},
	{58909, 2124},
	{58913, 46663},
	{58921, 36082},
	{58937, 3595},
	{58943, 19762},
	{58963, 9863},
	{58967, 4289},
	{58979, 6629},
	{58991, 27840},
	{58997, 29443},
	{59009, 25069},
	{59011, 1547},
	{59021, 28488},
	{59023, 5834},
	{59029, 8674},
	{59051, 56037},
	{59053, 17798},
	{59063, 31131},
	{59069, 54688},
	{59077, 34106},
	{59083, 51554},
	{59093, 13658},
	{59107, 11257},
	{59113, 11704},
	{59119, 18565},
	{59123, 50447},
	{59141, 32209},
	{59149, 56909},
	{59159, 54727},
	{59167, 57875},
	{59183, 37757},
	{59197, 35772},
	{59207, 14125},
	{59209, 58061},
	{59219, 12217},
	{59221, 35822},
	{59233, 55043},
	{59239, 6530},
	{59243, 57829},
	{59263, 41380},
	{59273, 38599},
	{59281, 23096},
	{59333, 18159},
	{59341, 17043},
	{59351, 55877},
	{59357, 7979},
	{59359, 51611},
	{59369, 4167},
	{59377, 43859},
	{59387, 24046},
	{59393, 12867},
	{59399, 23499},
	{59407, 20424},
	{59417, 46896},
	{59419, 33232},
	{59441, 38459},
	{59443, 50146},
	{59447, 10619},
	{59453, 34232},
	{59467, 21009},
	{59471, 47910},
	{59473, 12310},
	{59497, 31228},
	{59509, 59455},
	{59513, 39766},
	{59539, 17656},
	{59557, 13202},
	{59561, 13070},
	{59567, 34979},
	{59581, 50563},
	{59611, 25026},
	{59617, 45823},
	{59621, 13649},
	{59627, 54463},
	{59629, 9477},
	{59651, 948},
	{59659, 56014},
	{59663, 20063},
	{59669, 57151},
	{59671, 26154},
	{59693, 56196},
	{59699, 40764},
	{59707, 40002},
	{59723, 56090},
	{59729, 28060},
	{59743, 6502},
	{59747, 48962},
	{59753, 22675},
	{59771, 24715},
	{59779, 2021},
	{59791, 37675},
	{59797, 7162},
	{59809, 48014},
	{59833, 54166},
	{59863, 50291},
	{59879, 2812},
	{59887, 28905},
	{59921, 17459},
	{59929, 4346},
	{59951, 59676},
	{59957, 38128},
	{59971, 32007},
	{59981, 28472},
	{59999, 40819},
	{60013, 35114},
	{60017, 32800},
	{60029, 18396},
	{60037, 16967},
	{60041, 58461},
	{60077, 58310},
	{60083, 43103},
	{60089, 1036},
	{60091, 41676},
	{60101, 35914},
	{60103, 27256},
	{60107, 24938},
	{60127, 35448},
	{60133, 9473},
	{60139, 31592},
	{60149, 28047},
	{60161, 22337},
	{60167, 3655},
	{60169, 276},
	{60209, 4647},
	{60217, 38163},
	{60223, 57452},
	{60251, 33280},
	{60257, 9635},
	{60259, 13475},
	{60271, 6427},
	{60289, 23826},
	{60293, 19537},
	{60317, 36730},
	{60331, 49979},
	{60337, 44327},
	{60343, 21216},
	{60353, 12050},
	{60373, 10898},
	{60383, 28509},
	{60397, 3674},
	{60413, 19938},
	{60427, 3540},
	{60443, 44267},
	{60449, 33954},
	{60457, 40127},
	{60493, 5239},
	{60497, 50045},
	{60509, 35106},
	{60521, 57961},
	{60527, 35059},
	{60539, 9163},
	{60589, 46673},
	{60601, 26940},
	{60607, 20110},
	{60611, 55},
	{60617, 1578},
	{60623, 28804},
	{60631, 56012},
	{60637, 48394},
	{60647, 48094},
	{60649, 11790},
	{60659, 22937},
	{60661, 757},
	{60679, 21419},
	{60689, 1592},
	{60703, 12792},
	{60719, 20685},
	{60727, 47571},
	{60733, 36142},
	{60737, 40596},
	{60757, 41449},
	{60761, 7931},
	{60763, 52595},
	{60773, 22971},
	{60779, 43323},
	{60793, 9911},
	{60811, 16721},
	{60821, 55666},
	{60859, 19385},
	{60869, 37808},
	{60887, 4307},
	{60889, 33309},
	{60899, 24062},
	{60901, 48337},
	{60913, 46381},
	{60917, 16100},
	{60919, 56132},
	{60923, 24108},
	{60937, 22061},
	{60943, 39996},
	{60953, 1331},
	{60961, 4567},
	{61001, 41845},
	{61007, 48928},
	{61027, 46922},
	{61031, 7951},
	{61043, 25802},
	{61051, 4528},
	{61057, 28875},
	{61091, 52114},
	{61099, 31608},
	{61121, 18175},
	{61129, 32280},
	{61141, 54269},
	{61151, 57816},
	{61153, 56705},
	{61169, 46580},
	{61211, 59004},
	{61223, 23768},
	{61231, 31609},
	{61253, 9935},
	{61261, 27570},
	{61283, 10598},
	{61291, 20588},
	{61297, 2106},
	{61331, 18988},
	{61333, 56780},
	{61339, 21989},
	{61343, 4327},
	{61357, 6552},
	{61363, 55076},
	{61379, 32039},
	{61381, 51600},
	{61403, 27181},
	{61409, 7807},
	{61417, 24689},
	{61441, 46648},
	{61463, 24905},
	{61469, 8398},
	{61471, 50340},
	{61483, 58869},
	{61487, 10492},
	{61493, 14397},
	{61507, 50179},
	{61511, 60430},
	{61519, 35482},
	{61543, 51272},
	{61547, 48654},
	{61553, 2082},
	{61559, 308},
	{61561, 60023},
	{61583, 38919},
	{61603, 4212},
	{61609, 4037},
	{61613, 12517},
	{61627, 41904},
	{61631, 8768},
	{61637, 2990},
	{61643, 8197},
	{61651, 30748},
	{61657, 41909},
	{61667, 2360},
	{61673, 13669},
	{61681, 24524},
	{61687, 44379},
	{61703, 26420},
	{61717, 58011},
	{61723, 10448},
	{61729, 47582},
	{61751, 34016},
	{61757, 9844},
	{61781, 1059},
	{61813, 1957},
	{61819, 13021},
	{61837, 4750},
	{61843, 10839},
	{61861, 14306},
	{61871, 26665},
	{61879, 7501},
	{61909, 39526},
	{61927, 41644},
	{61933, 4745},
	{61949, 17004},
	{61961, 37923},
	{61967, 45736},
	{61979, 53404},
	{61981, 16439},
	{61987, 53543},
	{61991, 35201},
	{62003, 33331},
	{62011, 34025},
	{62017, 40357},
	{62039, 4091},
	{62047, 36332},
	{62053, 19880},
	{62057, 44888},
	{62071, 27702},
	{62081, 599},
	{62099, 14238},
	{62119, 890},
	{62129, 23167},
	{62131, 15},
	{62137, 31248},
	{62141, 31608},
	{62143, 31161},
	{62171, 61420},
	{62189, 54346},
	{62191, 42915},
	{62201, 43041},
	{62207, 1666},
	{62213, 16803},
	{62219, 25951},
	{62233, 53541},
	{62273, 55421},
	{62297, 46493},
	{62299, 11255},
	{62303, 24374},
	{62311, 45799},
	{62323, 30473},
	{62327, 47247},
	{62347, 6829},
	{62351, 35530},
	{62383, 36267},
	{62401, 37278},
	{62417, 39100},
	{62423, 6274},
	{62459, 27923},
	{62467, 42912},
	{62473, 16738},
	{62477, 55459},
	{62483, 45012},
	{62497, 42917},
	{62501, 47151},
	{62507, 44792},
	{62533, 34402},
	{62539, 60155},
	{62549, 45850},
	{62563, 49528},
	{62581, 58423},
	{62591, 47172},
	{62597, 4725},
	{62603, 14266},
	{62617, 34492},
	{62627, 12845},
	{62633, 44291},
	{62639, 36420},
	{62653, 59379},
	{62659, 25905},
	{62683, 466},
	{62687, 49837},
	{62701, 32039},
	{62723, 24319},
	{62731, 57294},
	{62743, 58101},
	{62753, 44752},
	{62761, 54547},
	{62773, 57486},
	{62791, 52801},
	{62801, 56443},
	{62819, 11077},
	{62827, 20878},
	{62851, 24377},
	{62861, 18975},
	{62869, 43028},
	{62873, 62236},
	{62897, 25263},
	{62903, 36297},
	{62921, 56928},
	{62927, 428},
	{62929, 54605},
	{62939, 9149},
	{62969, 12912},
	{62971, 52858},
	{62981, 27631},
	{62983, 55366},
	{62987, 8640},
	{62989, 35559},
	{63029, 34805},
	{63031, 36883},
	{63059, 16159},
	{63067, 56366},
	{63073, 43678},
	{63079, 41297},
	{63097, 37719},
	{63103, 4220},
	{63113, 22626},
	{63127, 13883},
	{63131, 32285},
	{63149, 32474},
	{63179, 28308},
	{63197, 17839},
	{63199, 9050},
	{63211, 331},
	{63241, 21859},
	{63247, 21681},
	{63277, 1131},
	{63281, 54725},
	{63299, 51759},
	{63311, 37342},
	{63313, 31131},
	{63317, 49563},
	{63331, 38229},
	{63337, 42608},
	{63347, 11727},
	{63353, 40180},
	{63361, 57094},
	{63367, 43372},
	{63377, 43057},
	{63389, 16766},
	{63391, 10876},
	{63397, 36980},
	{63409, 26706},
	{63419, 11753},
	{63421, 35258},
	{63439, 22520},
	{63443, 34422},
	{63463, 47863},
	{63467, 46748},
	{63473, 38227},
	{63487, 36097},
	{63493, 53515},
	{63499, 60000},
	{63521, 35578},
	{63527, 34512},
	{63533, 23443},
	{63541, 21804},
	{63559, 59263},
	{63577, 26510},
	{63587, 11962},
	{63589, 30371},
	{63599, 43840},
	{63601, 34818},
	{63607, 5855},
	{63611, 3108},
	{63617, 14621},
	{63629, 29479},
	{63647, 15375},
	{63649, 16697},
	{63659, 29477},
	{63667, 44754},
	{63671, 43279},
	{63689, 32020},
	{63691, 3324},
	{63697, 19624},
	{63703, 28634},
	{63709, 33356},
	{63719, 46087},
	{63727, 19490},
	{63737, 9109},
	{63743, 61744},
	{63761, 12654},
	{63773, 19709},
	{63781, 26474},
	{63793, 59854},
	{63799, 25006},
	{63803, 3895},
	{63809, 33164},
	{63823, 10134},
	{63839, 54911},
	{63841, 41072},
	{63853, 42145},
	{63857, 44340},
	{63863, 932},
	{63901, 51931},
	{63907, 46838},
	{63913, 17890},
	{63929, 29139},
	{63949, 57758},
	{63977, 15982},
	{63997, 49733},
	{64007, 8684},
	{64013, 21254},
	{64019, 27789},
	{64033, 4682},
	{64037, 13598},
	{64063, 17084},
	{64067, 48406},
	{64081, 47244},
	{64091, 59027},
	{64109, 32007},
	{64123, 797},
	{64151, 56679},
	{64153, 14945},
	{64157, 9842},
	{64171, 53096},
	{64187, 661},
	{64189, 1609},
	{64217, 32850},
	{64223, 19415},
	{64231, 29436},
	{64237, 56786},
	{64271, 28213},
	{64279, 62824},
	{64283, 24089},
	{64301, 10545},
	{64303, 62886},
	{64319, 26602},
	{64327, 15882},
	{64333, 8785},
	{64373, 7097},
	{64381, 42352},
	{64399, 49238},
	{64403, 24520},
	{64433, 20267},
	{64439, 27746},
	{64451, 21628},
	{64453, 21164},
	{64483, 26891},
	{64489, 6545},
	{64499, 30317},
	{64513, 22376},
	{64553, 41328},
	{64567, 9362},
	{64577, 3810},
	{64579, 23215},
	{64591, 36957},
	{64601, 38119},
	{64609, 490},
	{64613, 63797},
	{64621, 51225},
	{64627, 54403},
	{64633, 20416},
	{64661, 25655},
	{64663, 9363},
	{64667, 18367},
	{64679, 39803},
	{64693, 51295},
	{64709, 48403},
	{64717, 1480},
	{64747, 40662},
	{64763, 42255},
	{64781, 61426},
	{64783, 31061},
	{64793, 40446},
	{64811, 22720},
	{64817, 35229},
	{64849, 11246},
	{64853, 11102},
	{64871, 43317},
	{64877, 12869},
	{64879, 56929},
	{64891, 54340},
	{64901, 62642},
	{64919, 61158},
	{64921, 2010},
	{64927, 49499},
	{64937, 12070},
	{64951, 26327},
	{64969, 20613},
	{64997, 40424},
	{65003, 3189},
	{65011, 36970},
	{65027, 41141},
	{65029, 16182},
	{65033, 23964},
	{65053, 53985},
	{65063, 50153},
	{65071, 30276},
	{65089, 1469},
	{65099, 24811},
	{65101, 43476},
	{65111, 57267},
	{65119, 22661},
	{65123, 42620},
	{65129, 212},
	{65141, 64891},
	{65147, 45252},
	{65167, 64395},
	{65171, 18419},
	{65173, 34422},
	{65179, 33328},
	{65183, 58255},
	{65203, 10060},
	{65213, 51425},
	{65239, 5171},
	{65257, 34512},
	{65267, 54268},
	{65269, 55364},
	{65287, 35229},
	{65293, 56141},
	{65309, 49439},
	{65323, 16278},
	{65327, 15324},
	{65353, 11242},
	{65357, 5978},
	{65371, 63297},
	{65381, 16078},
	{65393, 62444},
	{65407, 52936},
	{65413, 58466},
	{65419, 32209},
	{65423, 22196},
	{65437, 8099},
	{65447, 52162},
	{65449, 65030},
	{65479, 23375},
	{65497, 39350},
	{65519, 53607},
	{65521, 59564},
}
