#include<iostream>
#include<cstdio>
#define N 10000005
using namespace std;
long long n,m,a[N],b[N],c[N],ans1,ans2;
int main(){
scanf("%lld%lld",&n,&m);
for(long long i=1;i<=m;i++){
long long l,r,s,e;
scanf("%lld%lld%lld%lld",&l,&r,&s,&e);
if(s==e){
b[l]+=s,b[l+1]-=s,b[r+1]-=s,b[r+2]+=s;
continue;
}
long long x=(e-s)/(r-l);
if(r-l>1)
c[l]+=s,c[l+1]+=x-s,c[r+1]-=x*(r-l+1)+s;
else{
a[l]+=s,a[r]+=e-s,a[r+1]-=e;
}
}
for(long long i=1;i<=n;i++){
b[i]+=b[i-1]+c[i];
}
for(long long i=1;i<=n+5;i++){
a[i]+=a[i-1]+b[i];
ans2=max(ans2,a[i]);
ans1^=a[i];
}
cout<<ans1<<" "<<ans2;
return 0;
}