#include <bits/stdc++.h>
using namespace std;
int p2[30];
int n;
double l, r, dp[2000000], x[22], y[22], a[22], A, B, C, AB, AC, BC;
void tryy(double left, int k, int p) {
  A = a[k];
  B = atan2(y[k], x[k] - left);
  C = 3.141592653589 - A - B;
  AB = sqrt(y[k] * y[k] + (x[k] - left) * (x[k] - left));
  BC = AB / sin(C) * sin(A);
  if (A + B >= 3.141592653589 - 1e-7) {
    cout << r - l;
    exit(0);
  }
  if (left + BC > dp[p]) dp[p] = left + BC;
}
int main() {
  int i, j;
  p2[1] = 1;
  cin >> n >> l >> r;
  for (i = 1; i <= n; ++i) {
    cin >> x[i] >> y[i] >> a[i];
    a[i] = a[i] / 180.0 * 3.141592653589;
  }
  for (i = 2; i <= n + 2; ++i) p2[i] = p2[i - 1] * 2;
  for (i = 0; i < p2[n + 1]; ++i) dp[i] = l;
  for (i = 0; i < p2[n + 1]; ++i)
    for (j = 1; j <= n; ++j)
      if ((p2[j] & i) == 0) tryy(dp[i], j, p2[j] | i);
  if (r <= dp[p2[n + 1] - 1])
    printf("%.10lf\n", r - l);
  else
    printf("%.10lf\n", dp[p2[n + 1] - 1] - l);
  return 0;
}
