#include<bits/stdc++.h>
using namespace std;
unsigned long long n,m;
unsigned long long a[10005],a1,a2;
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
bool o;
unsigned long long x,y;cin>>o>>x>>y;
if(o==0){
for(int j=x;j<=y;j++){
if(a[j]==2){//种下树苗
a2++;
a[j]=1;
}
else if(a[j]==0){//大树
a[j]=1;//大树被砍掉
}
}
}
else{
for(int j=x;j<=y;j++){
if(a[j]!=0&&a[j]!=2){
a[j]=2;
}
}
}
}
for(int i=1;i<=n;i++){
if(a[i]==2){
a1++;
}
}
cout<<a1<<endl<<a2;
return 0;
}