#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
double caculate(vector <double>& dvec)
{
int len = dvec.size();
int maxDiff = 0;
vector <double> dp(len, -1);
dp[0] = 0;
int begin = 0;
for (int i = 1; i < len; i++){
dp[i] = dp[i - 1] + dvec[i] - dvec[i - 1];
if (dp[i] == 180){
maxDiff = 180;
return maxDiff;
}
else if (dp[i]>180){
if (360 - dp[i] > maxDiff)maxDiff = 360 - dp[i];
while (dp[i] > 180){
if (360 - dp[i] > maxDiff)maxDiff = 360 - dp[i];
dp[i] = dp[i] - (dvec[begin + 1] - dvec[begin]);
begin++;
} if (dp[i] == 180)
{
maxDiff = 180;
return maxDiff;
}
else if (dp[i]<180){
if (dp[i]>maxDiff)maxDiff = dp[i];
}
}
else if (dp[i]<180){
if (dp[i]>maxDiff)maxDiff = dp[i];
}
}
return maxDiff;
}
int main(int argc, char* argv[]){
double n;
cin >> n;
vector<double> vec(n, -1);
for (int i = 0; i < n; ++i){
cin >> vec[i];
}
double val;
cout.setf(ios::fixed);
cout << "val=" << fixed << setprecision(8) << caculate(vec) << endl; //输出结果为a=0.20
system("pause");
return 0;
}