For this Question: Harry wants to rescue Fleur's sister Gabrielle in the underwater task. For that he needs to get ahead of all the people in the two magical queues. 
Our small Tono and Solo are busy casting spells alternatively to remove people from the two magical queues. But since they are highly competitive, both of them wish to be the last person to remove people from the queue.

We can consider the removal of people as game played between Tono and Solo with the following rules:
<li> The turn goes alternatively. Tono starts the game.
<li> In each turn, the player first chooses a queue, then removes 3*X people from the queue, and then adds X people to the other queue (X > 0).
<li> The player who is unable to make a move loses.
<li> Both the players play with the most optimal strategy.

Since this game can take a lot of time to complete, Harry can declare the last person to remove people from the queue directly. Can you please help Harry accomplish the task, and save Gabrielle by being on time?The first line of the input contains an integer T denoting the number of test cases.
The next T lines contains two integers L1 and L2, denoting the initial number of people standing in the two queues.

Constraints
1 <= T <= 100
1 <= L1, L2 <= 200000For each test case, output "Tono" (without quotes) if Tono wins the game, else output "Solo" (without quotes) in a new line.Sample Input
2
0 1
0 2

Sample Output
Solo
Solo

Explanation
For both test cases, since Tono cannot make any move in the first turn itself, she loses.

Sample Input
1
1 4

Sample Output
Tono

Explanation
Tono removes 3 people from second queue, and adds 1 in the first queue. The queues now have 2 and 1 people respectively. Since Solo cannot make a move now, she loses., I have written this Solution Code: import java.util.*;
import java.io.*;
import java.text.*;

public class Main{


    void pre() throws Exception{}
    void solve(int TC) throws Exception {
        pn(win(ni(), ni())?"Tono":"Solo");
    }
    boolean win(int l1, int l2){
        if(l1%2 == 0)return Math.abs(l1-l2) > 2;
        else return Math.abs(l1-l2) > 1;
    }

    void hold(boolean b)throws Exception{if(!b)throw new Exception("Hold right there, Sparky!");}
    void exit(boolean b){if(!b)System.exit(0);}
    static void dbg(Object... o){System.err.println(Arrays.deepToString(o));}
    final long IINF = (long)1e17;
    final int INF = (int)1e9+2;
    DecimalFormat df = new DecimalFormat("0.00000000000000");
    double PI = 3.141592653589793238462643383279502884197169399, eps = 1e-9;
    static boolean multipleTC = true, memory = true, fileIO = false;
    FastReader in;PrintWriter out;
    void run() throws Exception{
        long ct = System.currentTimeMillis();
        if (fileIO) {
            in = new FastReader("");
            out = new PrintWriter("");
        } else {
            in = new FastReader();
            out = new PrintWriter(System.out);
        }

        int T = multipleTC? ni():1;
        pre();
        for (int t = 1; t <= T; t++) solve(t);
        out.flush();
        out.close();
        System.err.println(System.currentTimeMillis() - ct);
    }
    public static void main(String[] args) throws Exception{
        if(memory)new Thread(null, new Runnable() {public void run(){try{new Main().run();}catch(Exception e){e.printStackTrace();System.exit(1);}}}, "1", 1 << 28).start();
        else new Main().run();
    }
    int[][] make(int n, int e, int[] from, int[] to, boolean f){
        int[][] g = new int[n][];int[]cnt = new int[n];
        for(int i = 0; i< e; i++){
            cnt[from[i]]++;
            if(f)cnt[to[i]]++;
        }
        for(int i = 0; i< n; i++)g[i] = new int[cnt[i]];
        for(int i = 0; i< e; i++){
            g[from[i]][--cnt[from[i]]] = to[i];
            if(f)g[to[i]][--cnt[to[i]]] = from[i];
        }
        return g;
    }
    int[][][] makeS(int n, int e, int[] from, int[] to, boolean f){
        int[][][] g = new int[n][][];int[]cnt = new int[n];
        for(int i = 0; i< e; i++){
            cnt[from[i]]++;
            if(f)cnt[to[i]]++;
        }
        for(int i = 0; i< n; i++)g[i] = new int[cnt[i]][];
        for(int i = 0; i< e; i++){
            g[from[i]][--cnt[from[i]]] = new int[]{to[i], i, 1};
            if(f)g[to[i]][--cnt[to[i]]] = new int[]{from[i], i, -1};
        }
        return g;
    }
    int[][] make(int n, int[] par, boolean f){
        int[][] g = new int[n][];
        int[] cnt = new int[n];
        for(int x:par)cnt[x]++;
        if(f)for(int i = 1; i< n; i++)cnt[i]++;
        for(int i = 0; i< n; i++)g[i] = new int[cnt[i]];
        for(int i = 1; i< n-1; i++){
            g[par[i]][--cnt[par[i]]] = i;
            if(f)g[i][--cnt[i]] = par[i];
        }
        return g;
    }
    int find(int[] set, int u){return set[u] = (set[u] == u?u:find(set, set[u]));}
    int digit(long s){int ans = 0;while(s>0){s/=10;ans++;}return ans;}
    long gcd(long a, long b){return (b==0)?a:gcd(b,a%b);}
    int gcd(int a, int b){return (b==0)?a:gcd(b,a%b);}
    int bit(long n){return (n==0)?0:(1+bit(n&(n-1)));}
    void p(Object... o){for(Object oo:o)out.print(oo+" ");}
    void pn(Object... o){
        if(o.length == 0)out.println("");
        for(int i = 0; i< o.length; i++){
            out.print(o[i]);
            out.print((i+1 == o.length?"\n":" "));
        }
    }
    void pni(Object... o){for(Object oo:o)out.print(oo+" ");out.println();out.flush();}
    String n()throws Exception{return in.next();}
    String nln()throws Exception{return in.nextLine();}
    int ni()throws Exception{return Integer.parseInt(in.next());}
    long nl()throws Exception{return Long.parseLong(in.next());}
    double nd()throws Exception{return Double.parseDouble(in.next());}
    class FastReader{
        BufferedReader br;
        StringTokenizer st;
        public FastReader(){
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        public FastReader(String s) throws Exception{
            br = new BufferedReader(new FileReader(s));
        }

        String next() throws Exception{
            while (st == null || !st.hasMoreElements()){
                try{
                    st = new StringTokenizer(br.readLine());
                }catch (IOException  e){
                    throw new Exception(e.toString());
                }
            }
            return st.nextToken();
        }

        String nextLine() throws Exception{
            String str;
            try{
                str = br.readLine();
            }catch (IOException e){
                throw new Exception(e.toString());
            }
            return str;
        }
    }
}, In this Programming Language: Java, Now tell me if this Code is compilable or not?