import java.util.Arrays;
import java.util.Scanner;
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int MLong = sc.nextInt();
int section = sc.nextInt();
int[] arr= new int[MLong+1];
for(int i=0;i0;
}
for(int j=0;jint left = sc.nextInt();
int right = sc.nextInt();
for(int cell=left;cell<=right;cell++)
{
arr[cell]++;
}
}
int sum=0;
for(int each=0;each<=MLong;each++)
{
if(arr[each]==0)
{
sum++;
}
}
System.out.println(sum);
}
public static int CountOdds(int low, int high)
{
if(low%2==0)
{
return (high-low+1)/2;
}
else{
return 1+(high-low)/2;
}
}
public static double average(int[] salary) {
Arrays.sort(salary);
double avg = 0.0;
for(int i=1;i-1;i++)
{
avg+=salary[i];
}
return avg/(salary.length-2);
}
public static int lengthOfLastWord(String s)
{
int right = s.length()-1;
int s_length=0;
int high = right;
while(right>=0 && s.charAt(right)==' ')
{
right--;
high=right;
}
while(high>=0 && s.charAt(high)!=' ')
{
s_length+=1;
high--;
}
return s_length;
}
public static String addBinary(String a,String b)
{
int i = a.length() - 1;
int j = b.length() - 1;
int carry = 0;
StringBuilder builder = new StringBuilder();
//循环相加两个字符串相同长度的低位数部分
while (i >= 0 && j >= 0) {
int sum = carry;
sum += a.charAt(i--) - '0';
sum += b.charAt(j--) - '0';
carry = sum / 2;
builder.append(sum % 2);
}
// 如果 a 还没遍历完成(a串比b串长),则继续遍历添加 a 的剩余部分
while (i >= 0) {
int sum = carry + a.charAt(i--) - '0';
carry = sum / 2;
builder.append(sum % 2);
}
// 如果 b 还没遍历完成(b串比a串长),则继续遍历添加 b 的剩余部分
while (j >= 0) {
int sum = carry + b.charAt(j--) - '0';
carry = sum / 2;
builder.append(sum % 2);
}
//如果 carry 不等于0 还有个进位数没加进去,需要补充
if (carry == 1) {
builder.append(carry);
}
//反转字符串获得正常结果
return builder.reverse().toString();
}
}
注释根据自己来,想怎么写怎么写,写的自己能看懂就行,注释不参与编译运行,写什么看自己,可以写每句 或者每个方法干什么用的 等等。 // 后面跟的就是注释 。 /* 这是另一种注释方法 */