40求调
#include<bits/stdc++.h>
using namespace std;
int a[1005][1005];
int main(){
int n,m,x,y;
cin >> n >> m;
a[0][1] = 1;
a[1][0] = 1;
for(int i = 1;i <= n;i++){
for(int j = 1;j <= n;j++){
a[i][j] = 0;
}
}
for(int i = 0;i < m;i++){
cin >> x >> y;
a[x][y] = -1;
}
for(int i = 1;i <= n;i++){
if(a[i][1] == 0&&a[i-1][1] == 1){
a[i][1] = 1;
}else{
a[i][1] = 0;
}
if(a[1][i] == 0&&a[1][i-1] == 1||i == 1){
a[1][i] = 1;
}else{
a[1][i] = 0;
}
}
for(int i = 2;i <= n;i++){
for(int j = 2;j <= n;j++){
if(a[i][j] == -1){
a[i][j] = 0;
continue;
}
a[i][j] = a[i-1][j] + a[i][j-1];
}
}
//for(int i = 0;i <= n;i++){
//for(int j = 0;j <= n;j++){
//cout << a[i][j] << " ";
//}
//cout << endl;
//}
cout << a[n][n]%100003;
return 0;
}