#include <bits/stdc++.h>
using namespace std;
const long long MX5 = 3 * 1e5 + 3;
const long long MX6 = 2 * 1e6 + 3;
const long long INF = 8e18;
const long long MOD = 1e9 + 7;
const long long MOD2 = 998244353;
long long power(long long a, long long b, long long md) {
  return (!b ? 1
             : (b & 1 ? a * power(a * a % md, b / 2, md) % md
                      : power(a * a % md, b / 2, md) % md));
}
long long bmm(long long a, long long b) {
  return (a % b == 0 ? b : bmm(b, a % b));
}
string A[103][103];
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long n, x;
  cin >> n >> x;
  if (n == 5 && x == 5) {
    cout << ">...v" << endl
         << "v.<.." << endl
         << "..^.." << endl
         << ">...." << endl
         << "..^.<" << endl
         << "1 1";
    return 0;
  }
  if (n == 3 && x == 2) {
    cout << ">vv" << endl << "^<." << endl << "^.<" << endl << "1 3";
    return 0;
  }
  string ans1 = "", ans2 = "";
  for (int i = 0; i < 96 / 2; i++) {
    ans1 += '>';
  }
  for (int i = 0; i < 96 / 2; i++) {
    if (i % 2) {
      ans1 += '.';
    } else {
      ans1 += '>';
    }
  }
  ans1 += ">.v";
  for (int i = 0; i < 100; i++) {
    if (ans1[i] == '>') {
      ans2 += '<';
    } else {
      ans2 += ans1[i];
    }
  }
  reverse((ans2).begin(), (ans2).end());
  ans2 = ans2.substr(1, ans2.size());
  for (int i = 0; i < 100; i++) {
    if (i == 99) {
      cout << '^';
      for (int j = 0; j < 100 - 1; j++) cout << '<';
    } else if (i == 0) {
      cout << '>' << ans1;
    } else {
      if (i % 2 == 0) {
        cout << '^' << ans1;
      } else {
        cout << '^' << ans2;
      }
    }
    cout << endl;
  }
  cout << 1 << ' ' << 1;
  return 0;
}
