#include<bits/stdc++.h>
#include <cmath>
#define ll long long
#define pb push_back //v.pb();
#define fr(a,b) for(int i = a; i < b; i++)//for normal
#define frl(a,b) for(long long i = a; i < b; i++)//for normal long long
#define repi(i,a,b) for(int i = a; i < b; i++) //for cambiando el iterador
#define repl(i,a,b) for(long long i = a; i < b; i++) //for cambiando el iterador
#define mod 1000000007// nose
#define inf (1LL<<60) // un numero muy grande
#define all(x) (x).begin(), (x).end() //solo reduce el typeo xd
#define aprDouble(x) cout << fixed << setprecision(13) << x //redondea con la cantidad de digitos que quieras
#define triplet pair<ll,pair<ll,ll>> //pares organizamos, par(ll, par(ll, ll))
#define goog(ktnio) cout << "Case #" << tno <<": " //imprime "Case#i : x"
#define fast_io ios_base::sync_with_stdio(false);cin.tie(NULL)//mas rapido cin y cout
#define readi(x) int x; cin >> x
#define readl(x) long long x; cin >> x
#define reads(x) string x; cin >> x
#define readd(x) double x; cin >> x
#define papucasos(x) long long x; cin >> x; while(x--)
#define papu(x) cout<<x<<"\n"
#define mamu(x) cout<<x
#define papusalto(x) cout<<x<<" "
#define readlin(input) string input;getline(cin, input)
#define vl vector<ll>
#define vs vector<string>
#define vc vector<char>
#define M_PI 3.14159265358979323846
#define print(v) for(auto x : v){papusalto(x);}
#define pares(v) for(auto x : v){papu(x.first<<" "<<x.second);}
using namespace std;
ll power(ll k, ll x) {
ll result = 1;
ll base = k;
while (x > 0) {
if (x & 1) {
result *= base;
}
base *= base;
x >>= 1;
}
return result;
}
void init_code(){
fast_io;
#ifndef ONLINE_JUDGE
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#endif
}
int main() {
init_code();
readd(a);readd(b);
vector<pair<double,double>> v;
std::vector<double> vp(300001,-1);
repl(i,0,b){
readd(p);readd(q);
v.pb({p,q});
vp[p]=q;
}
std::vector<double> v1;
repl(i,0,300001){
if(vp[i]!=-1)v1.pb((vp[i]/tan(a*(M_PI / 180.0))));
}
double s=0;double f=0;double px=0;double xd=1;
repl(i,0,300001){
if(vp[i]!=double(-1) and f!=0){
s+=min(i-px,v1[xd]);
xd++;
}
if(vp[i]!=-1){f++;px=i;}
}
s+=v1[v1.size()-1];
aprDouble(s);
return 0;
}
ICAgI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KICAgI2luY2x1ZGUgPGNtYXRoPgogICAjZGVmaW5lIGxsIGxvbmcgbG9uZyAKICAgI2RlZmluZSBwYiBwdXNoX2JhY2sgLy92LnBiKCk7CiAgICNkZWZpbmUgZnIoYSxiKSBmb3IoaW50IGkgPSBhOyBpIDwgYjsgaSsrKS8vZm9yIG5vcm1hbAogICAjZGVmaW5lIGZybChhLGIpIGZvcihsb25nIGxvbmcgaSA9IGE7IGkgPCBiOyBpKyspLy9mb3Igbm9ybWFsIGxvbmcgbG9uZwogICAjZGVmaW5lIHJlcGkoaSxhLGIpIGZvcihpbnQgaSA9IGE7IGkgPCBiOyBpKyspIC8vZm9yIGNhbWJpYW5kbyBlbCBpdGVyYWRvcgogICAjZGVmaW5lIHJlcGwoaSxhLGIpIGZvcihsb25nIGxvbmcgaSA9IGE7IGkgPCBiOyBpKyspIC8vZm9yIGNhbWJpYW5kbyBlbCBpdGVyYWRvcgogICAjZGVmaW5lIG1vZCAxMDAwMDAwMDA3Ly8gbm9zZQogICAjZGVmaW5lIGluZiAoMUxMPDw2MCkgLy8gdW4gbnVtZXJvIG11eSBncmFuZGUKICAgI2RlZmluZSBhbGwoeCkgKHgpLmJlZ2luKCksICh4KS5lbmQoKSAvL3NvbG8gcmVkdWNlIGVsIHR5cGVvIHhkCiAgICNkZWZpbmUgYXByRG91YmxlKHgpIGNvdXQgPDwgZml4ZWQgPDwgc2V0cHJlY2lzaW9uKDEzKSA8PCB4IC8vcmVkb25kZWEgY29uIGxhIGNhbnRpZGFkIGRlIGRpZ2l0b3MgcXVlIHF1aWVyYXMKICAgI2RlZmluZSB0cmlwbGV0IHBhaXI8bGwscGFpcjxsbCxsbD4+IC8vcGFyZXMgb3JnYW5pemFtb3MsIHBhcihsbCwgcGFyKGxsLCBsbCkpCiAgICNkZWZpbmUgZ29vZyhrdG5pbykgY291dCA8PCAiQ2FzZSAjIiA8PCB0bm8gPDwiOiAiIC8vaW1wcmltZSAiQ2FzZSNpIDogeCIKICAgI2RlZmluZSBmYXN0X2lvIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpO2Npbi50aWUoTlVMTCkvL21hcyByYXBpZG8gY2luIHkgY291dAogICAjZGVmaW5lIHJlYWRpKHgpIGludCB4OyBjaW4gPj4geAogICAjZGVmaW5lIHJlYWRsKHgpIGxvbmcgbG9uZyB4OyBjaW4gPj4geCAKICAgI2RlZmluZSByZWFkcyh4KSBzdHJpbmcgeDsgY2luID4+IHggCiAgICNkZWZpbmUgcmVhZGQoeCkgZG91YmxlIHg7IGNpbiA+PiB4IAogICAjZGVmaW5lIHBhcHVjYXNvcyh4KSBsb25nIGxvbmcgeDsgY2luID4+IHg7IHdoaWxlKHgtLSkKICAgI2RlZmluZSBwYXB1KHgpIGNvdXQ8PHg8PCJcbiIKICAgI2RlZmluZSBtYW11KHgpIGNvdXQ8PHgKICAgI2RlZmluZSBwYXB1c2FsdG8oeCkgY291dDw8eDw8IiAiCiAgICNkZWZpbmUgcmVhZGxpbihpbnB1dCkgc3RyaW5nIGlucHV0O2dldGxpbmUoY2luLCBpbnB1dCkKICAgI2RlZmluZSB2bCB2ZWN0b3I8bGw+CiAgICNkZWZpbmUgdnMgdmVjdG9yPHN0cmluZz4KICAgI2RlZmluZSB2YyB2ZWN0b3I8Y2hhcj4KICAgICNkZWZpbmUgTV9QSSAzLjE0MTU5MjY1MzU4OTc5MzIzODQ2CiAgICNkZWZpbmUgcHJpbnQodikgZm9yKGF1dG8geCA6IHYpe3BhcHVzYWx0byh4KTt9CiAgICNkZWZpbmUgcGFyZXModikgZm9yKGF1dG8geCA6IHYpe3BhcHUoeC5maXJzdDw8IiAiPDx4LnNlY29uZCk7fQogICB1c2luZyBuYW1lc3BhY2Ugc3RkOwoKICAgbGwgcG93ZXIobGwgaywgbGwgeCkgewogICAgbGwgcmVzdWx0ID0gMTsKICAgIGxsIGJhc2UgPSBrOwogICAgd2hpbGUgKHggPiAwKSB7CiAgICAgICAgaWYgKHggJiAxKSB7CiAgICAgICAgICAgIHJlc3VsdCAqPSBiYXNlOwogICAgICAgIH0KICAgICAgICBiYXNlICo9IGJhc2U7CiAgICAgICAgeCA+Pj0gMTsKICAgIH0KCiAgICByZXR1cm4gcmVzdWx0OwogIH0KICAgICB2b2lkIGluaXRfY29kZSgpewogICAgICAgICBmYXN0X2lvOwogICAgICAgICAjaWZuZGVmIE9OTElORV9KVURHRQogICAgICAgICBmcmVvcGVuKCJpbi50eHQiLCAiciIsIHN0ZGluKTsKICAgICAgICAgZnJlb3Blbigib3V0LnR4dCIsICJ3Iiwgc3Rkb3V0KTsKICAgICAgICAgI2VuZGlmIAogICAgIH0KICAgICBpbnQgbWFpbigpIHsKICAgICAgaW5pdF9jb2RlKCk7CiAgICAgIHJlYWRkKGEpO3JlYWRkKGIpOwogICAgICB2ZWN0b3I8cGFpcjxkb3VibGUsZG91YmxlPj4gdjsKICAgICAgc3RkOjp2ZWN0b3I8ZG91YmxlPiB2cCgzMDAwMDEsLTEpOwogICAgICByZXBsKGksMCxiKXsKICAgICAgICByZWFkZChwKTtyZWFkZChxKTsKICAgICAgICB2LnBiKHtwLHF9KTsKICAgICAgICB2cFtwXT1xOwogICAgICB9CiAgICAgIHN0ZDo6dmVjdG9yPGRvdWJsZT4gdjE7CiAgICAgIHJlcGwoaSwwLDMwMDAwMSl7CiAgICAgICAgaWYodnBbaV0hPS0xKXYxLnBiKCh2cFtpXS90YW4oYSooTV9QSSAvIDE4MC4wKSkpKTsKICAgICAgfQogICAgICBkb3VibGUgcz0wO2RvdWJsZSBmPTA7ZG91YmxlIHB4PTA7ZG91YmxlIHhkPTE7CiAgICAgIHJlcGwoaSwwLDMwMDAwMSl7CiAgICAgICAgaWYodnBbaV0hPWRvdWJsZSgtMSkgYW5kIGYhPTApewogICAgICAgICAgICBzKz1taW4oaS1weCx2MVt4ZF0pOwogICAgICAgICAgICB4ZCsrOwogICAgICAgIH0KICAgICAgICBpZih2cFtpXSE9LTEpe2YrKztweD1pO30KICAgICAgfQogICAgICBzKz12MVt2MS5zaXplKCktMV07CiAgICAgIGFwckRvdWJsZShzKTsKICAgICAgcmV0dXJuIDA7CiAgICAgfSA=