description: Monocarp wrote down two numbers on a whiteboard. Both numbers follow a specific format: a positive integer x with p zeros appended to its end.
  
  Now Monocarp asks you to compare these two numbers. Can you help him?
  
  Input
  
  The first line contains a single integer t (1 ≤ t ≤ 10^4) — the number of testcases.
  
  The first line of each testcase contains two integers x_1 and p_1 (1 ≤ x_1 ≤ 10^6; 0 ≤ p_1 ≤ 10^6) — the description of the first number.
  
  The second line of each testcase contains two integers x_2 and p_2 (1 ≤ x_2 ≤ 10^6; 0 ≤ p_2 ≤ 10^6) — the description of the second number.
  
  Output
  
  For each testcase print the result of the comparison of the given two numbers. If the first number is smaller than the second one, print '<'. If the first number is greater than the second one, print '>'. If they are equal, print '='.
  
  Example
  
  Input
  
  
  5
  2 1
  19 0
  10 2
  100 1
  1999 0
  2 3
  1 0
  1 0
  99 0
  1 2
  
  
  Output
  
  
  &gt;
  =
  &lt;
  =
  &lt;
  
  Note
  
  The comparisons in the example are: 20 > 19, 1000 = 1000, 1999 < 2000, 1 = 1, 99 < 100.
solution: import java.io.BufferedReader;
  import java.io.IOException;
  import java.io.InputStreamReader;
  import java.io.PrintWriter;
  import java.util.*;
  
  
  public class Main {
      static int i, j, k, n, m, t, y, x, sum = 0;
      static long mod =  998244353;
      static FastScanner fs = new FastScanner();
      static PrintWriter out = new PrintWriter(System.out);
      static String str;
      static long ans;
  
  
  
      public static void main(String[] args) {
  
          t = fs.nextInt();
  
          while(t-- >0) {
  
             long x = fs.nextLong();
             long a = fs.nextLong();
  
             long y = fs.nextLong();
             long b = fs.nextLong();
  
             long p = Long.toString(x).length() + a ;
             long q = Long.toString(y).length() + b ;
  
  
             if(p>q)
                 out.println('>');
             else if (q>p)
                 out.println('<');
  
             else{
  
                 while(x<1000000000)
                     x*=10;
  
                 while(y<1000000000)
                     y*=10;
  
                 if(x>y)
                     out.println('>');
                 else if (y>x)
                     out.println('<');
                 else
                     out.println('=');
             }
          }
          out.close();
      }
  
      static long find(long l, long r, long n, long k, long target){
          long m = (l+r)/2;
  
          long temp = m*(k-1);
  
          if(target - temp>0 && target - temp<n)
              return m;
  
          else if(temp>=target)
              return find(l,m-1,n,k,target);
          else
              return find(m+1,r,n,k,target);
      }
  
  
     /*static long nck(int n , int k){
          long a = fact[n];
          long b = modInv(fact[k]);
          b*= modInv(fact[n-k]);
          b%=mod;
  
          return (a*b)%mod;
      }
  
     static void populateFact(){
          fact[0]=1;
  
          fact[1] = 1;
  
          for(i=2;i<300005;i++){
              fact[i]=i*fact[i-1];
              fact[i]%=mod;
          }
      }
      */
  
  
      static long gcd(long a, long b)
      {
          if (b == 0)
              return a;
          return gcd(b, a % b);
      }
  
      static long exp(long base, long pow) {
          if (pow==0) return 1;
          long half=exp(base, pow/2);
          if (pow%2==0) return mul(half, half);
          return mul(half, mul(half, base));
      }
  
      static long mul(long a, long b) {
          return ((a%mod)*(b%mod))%mod;
      }
  
      static long add(long a, long b) {
          return ((a%mod)+(b%mod))%mod;
      }
  
      static long modInv(long x) {
          return exp(x, mod-2);
      }
  
      static void ruffleSort(int[] a) {
          //ruffle
          int n = a.length;
          Random r = new Random();
          for (int i = 0; i < a.length; i++) {
              int oi = r.nextInt(n), temp = a[i];
              a[i] = a[oi];
              a[oi] = temp;
          }
  
          //then sort
          Arrays.sort(a);
      }
  
      static void ruffleSort(long[] a) {
          //ruffle
          int n = a.length;
          Random r = new Random();
          for (int i = 0; i < a.length; i++) {
              int oi = r.nextInt(n);
              long temp = a[i];
              a[i] = a[oi];
              a[oi] = temp;
          }
  
          Arrays.sort(a);
      }
  
      static class FastScanner {
          BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
          StringTokenizer st = new StringTokenizer("");
  
          String next() {
              while (!st.hasMoreTokens())
                  try {
                      st = new StringTokenizer(br.readLine());
                  } catch (IOException e) {
                      e.printStackTrace();
                  }
              return st.nextToken();
          }
  
          int nextInt() {
              return Integer.parseInt(next());
          }
  
          int[] readArray(int n) {
              int[] a=new int[n];
              for (int i=0; i<n; i++) a[i]=nextInt();
              return a;
          }
  
          long nextLong() {
              return Long.parseLong(next());
          }
      }
  
      static class Pair implements Comparable<Pair>{
          public int x, y;
  
          Pair(int x, int y){
              this.x = x;
              this.y = y;
          }
  
          @Override
          public int compareTo(Pair o) {
  
              if(x==o.x)
                  return Integer.compare(y,o.y);
  
              return Integer.compare(x,o.x);
          }
  
  
      }
  
  
  }