#include <iostream>
#include <cmath>
#include <algorithm>
#include <vector>
#include <iomanip>
using namespace std;

bool fail1=0, fail2=0;

bool lsw0(int a, int b) {
  // В исходном массиве нет нулей, 
  // компаратор не может запуститься от нулевого аргумента
  if (a==0 || b==0) if (!fail1) {fail1 = 1; cout << "Fail #1" << endl;}
  // Арктангенс от положительного числа и нуля согласно стандарту
  // равен pi/2 независимо от первого аргумента
  if (atan2(a,0) < atan2(b,0)) if (!fail2) {fail2 = 1; cout << "Fail #2" << endl;}
  // Это отношение транзитивно, если арктангенс зависит только от входных данных
  return atan2(a,0) < atan2(b,0);
}

int main () {
  cout << lsw0(1,32) << ' ' << lsw0(32,1) << endl;
  #ifdef __MINGW32__
  cout << "I'm running on MinGW 32" << endl;
  #endif
  vector<int> perm;
  for (int j=1;j<250;j++) {
    perm.push_back(j);
  }
  sort(perm.begin(),perm.end(),lsw0);
}
