QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#117180 | #6668. Trokuti | Irisu | 0 | 100ms | 11840kb | C++17 | 6.2kb | 2023-06-30 16:13:22 | 2023-06-30 16:13:24 |
Judging History
answer
#pragma GCC optimize("Ofast,unroll-loops")
#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for(int i=(a),i##end=(b);i<=i##end;++i)
#define per(i,a,b) for(int i=(a),i##end=(b);i>=i##end;--i)
//mt19937 Rnd(19260817);
mt19937 Rnd(chrono::high_resolution_clock::now().time_since_epoch().count());
template<typename T>void chkmax(T&x,const T&y){if(x<y)x=y;}
template<typename T>void chkmin(T&x,const T&y){if(y<x)x=y;}
#define pb push_back
#define ALL(x) (x).begin(),(x).end()
#define mem(x) memset((x),0,sizeof(x))
typedef double db;
typedef long long ll;
typedef vector<int>vi;
typedef pair<int,int>pii;
typedef unsigned u32;
typedef unsigned uint;
typedef unsigned long long u64;
const int n=100;
#ifdef Arraiter
const bool Irisu=1;
#else
const bool Irisu=0;
#endif
bool mp[105][105];int sf[105],fs[105];int use_q=0;
bool ans[105][105];
struct Querys{
int a,b,c,v;
};
vector<Querys>Q;
int ask(int a,int b,int c){
int v;
a=sf[a],b=sf[b],c=sf[c];
if(Irisu){
use_q++;
v=mp[a][b]+mp[b][c]+mp[a][c];
Q.pb({fs[a],fs[b],fs[c],v});
return v;
}
printf("? %d %d %d\n",a,b,c);
fflush(stdout);
scanf("%d",&v);
Q.pb({fs[a],fs[b],fs[c],v});
return v;
}
void answer(){
if(Irisu){
bool asf=1;
rep(i,1,n)rep(j,1,n)asf&=ans[fs[i]][fs[j]]==mp[i][j];
if(asf){
puts("AC");
printf("count : %d\n",use_q);
}else{
puts("WA");
}
return;
}
puts("!");
rep(i,1,n){
rep(j,1,n)putchar(ans[fs[i]][fs[j]]|48);
puts("");
}
}
const int maxn=5000;
const int m=4950;
int tid[105][105];pii dit[maxn];
struct bit{
u64 seq[78];
void reset(){
mem(seq);
}
void set(int pos){
seq[pos>>6]|=1ull<<(pos&63);
}
void flip(int pos){
seq[pos>>6]^=1ull<<(pos&63);
}
bool operator[](int pos)const{
return seq[pos>>6]>>(pos&63)&1;
}
void operator^=(const bit&o){
rep(i,0,77)seq[i]^=o.seq[i];
}
void doit_pre(const bit&o,int pos){
rep(i,0,pos>>6)seq[i]^=o.seq[i];
}
void doit_suf(const bit&o,int pos){
rep(i,pos>>6,77)seq[i]^=o.seq[i];
}
};
//typedef bitset<maxn>bit;
int rk;
bit B[maxn];bool bb[maxn];
bool ins(bit&x){
per(i,m,1)if(x[i]){
if(bb[i]){
// x^=B[i];
x.doit_pre(B[i],i);
continue;
}
rk++;
bb[i]=1;
B[i]=x;
return 1;
}
return 0;
}
void solve(){
rep(i,1,n)sf[i]=i;
shuffle(sf+1,sf+n+1,Rnd);
rep(i,1,n)fs[sf[i]]=i;
if(Irisu){
rep(i,1,n)rep(j,i+1,n)mp[i][j]=mp[j][i]=i==1;
// rep(i,1,n)rep(j,i+1,n)mp[i][j]=mp[j][i]=Rnd()%100>100;
}
{
int c=0;
rep(i,1,n)rep(j,1,i-1)tid[i][j]=tid[j][i]=++c,dit[c]={i,j};
}
static int buk[maxn];
memset(buk,-1,sizeof buk);
bit w;
auto upd=[&](int i,int v){
if(buk[i]==-1){
buk[i]=v;
w.reset(),w.set(i),ins(w);
}
};
int eq=-1;
rep(s,3,n){
vector<pii>lef;
rep(a,1,s-1)rep(b,a+1,s-1){
lef.pb({a,b});
}
shuffle(ALL(lef),Rnd);
for(auto[a,b]:lef){
w.reset();
w.set(tid[a][b]),w.set(tid[a][s]),w.set(tid[b][s]);
if(!ins(w))continue;
int v=ask(a,b,s);
if(eq==-1)eq=v;
else if(eq!=v)eq=-2;
if(v==0||v==3){
upd(tid[a][b],v>0);
upd(tid[a][s],v>0);
upd(tid[s][b],v>0);
}else{
}
if(rk==s*(s-1)/2){
// printf("#%d\n",s);
break;
}
}
if(s==n||((s>10||rk==s*(s-1)/2)&&(eq==-2||eq==1||eq==2))){
static bit a[20000];
int tot=0;
int L=s*(s-1)/2;
for(auto[x,y,z,v]:Q){
int i=tid[x][y],j=tid[x][z],k=tid[y][z];
if(v>0&&v<3){
if(v==1){
if(buk[i]==1||buk[j]==1||buk[k]==1){
if(buk[i]==-1)buk[i]=0;
if(buk[j]==-1)buk[j]=0;
if(buk[k]==-1)buk[k]=0;
}
}
if(v==2){
if(buk[i]==0||buk[j]==0||buk[k]==0){
if(buk[i]==-1)buk[i]=1;
if(buk[j]==-1)buk[j]=1;
if(buk[k]==-1)buk[k]=1;
}
}
if(buk[i]!=-1&&buk[j]!=-1&&buk[k]!=-1)continue;
tot++;
a[tot].set(i);
a[tot].set(j);
a[tot].set(k);
if(v&1)a[tot].set(L+1);
}
}
rep(i,1,L)if(buk[i]!=-1){
tot++;
a[tot].set(i);
if(buk[i])a[tot].set(L+1);
}
rep(i,1,L){
if(!a[i][i]){
rep(j,i+1,tot)if(a[j][i]){
swap(a[i],a[j]);break;
}
}
rep(j,i+1,tot)if(a[j][i]){
a[j].doit_suf(a[i],i);
// a[j]^=a[i];
}
}
per(i,L,1){
assert(a[i][i]);
buk[i]=a[i][L+1];
if(a[i][L+1]){
rep(j,1,i-1)if(a[j][i]){
a[j].flip(L+1);
}
}
}
// printf("!%d, %d\n",rk,use_q);
rep(t,s+1,n){
vector<pii>o;
int lst=-1;
rep(i,1,t-1){
if(lst==-1){
lst=i;continue;
}
int v=ask(lst,i,t);
if(v==0||v==3){
buk[tid[lst][i]]=buk[tid[i][t]]=buk[tid[lst][t]]=v>0;
lst=-1;
}else if(v%2==buk[tid[lst][i]]){
buk[tid[i][t]]=buk[tid[lst][t]]=!(v%2);
lst=-1;
}else{
o.pb({lst,i});
}
}
if(lst!=-1){
rep(i,1,t-1)if(i!=lst){
bool can=1;
for(auto[a,b]:o){
if(lst==a)can&=i!=b;
if(lst==b)can&=i!=a;
}
if(!can)continue;
assert(buk[tid[i][t]]!=-1);
int v=ask(lst,i,t);
buk[tid[lst][t]]=v-buk[tid[lst][i]]-buk[tid[i][t]];
break;
}
assert(lst!=-1);
}
reverse(ALL(o));
for(auto[a,b]:o)buk[tid[b][t]]=!buk[tid[a][t]];
}
break;
}
}
if(eq==0){
rep(i,1,m)buk[i]=0;
}else if(eq==3){
rep(i,1,m)buk[i]=1;
}
rep(i,1,n)rep(j,i+1,n)ans[i][j]=ans[j][i]=buk[tid[i][j]];
answer();
}
signed main(){
// int T;cin>>T;while(T--)solve();
solve();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 86.7677
Acceptable Answer
time: 93ms
memory: 11840kb
input:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
output:
? 42 89 43 ? 42 43 66 ? 89 43 66 ? 42 89 71 ? 43 66 71 ? 66 71 97 ? 43 66 97 ? 89 66 97 ? 42 43 97 ? 42 97 45 ? 89 71 45 ? 42 43 45 ? 89 66 45 ? 71 97 61 ? 89 45 61 ? 42 45 61 ? 66 45 61 ? 43 66 61 ? 71 97 54 ? 42 97 54 ? 66 71 54 ? 89 61 54 ? 97 45 54 ? 43 61 54 ? 43 97 94 ? 89 66 94 ? 42 89 94 ? 4...
result:
points 0.86767741940 points 0.86767741940 correct 3693 queries
Test #2:
score: 86.2258
Acceptable Answer
time: 100ms
memory: 11580kb
input:
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ...
output:
? 83 13 93 ? 83 13 34 ? 13 93 34 ? 83 93 41 ? 83 13 41 ? 83 34 41 ? 83 93 67 ? 83 34 67 ? 34 41 67 ? 13 41 67 ? 13 67 79 ? 34 41 79 ? 83 67 79 ? 83 93 79 ? 83 41 29 ? 83 34 29 ? 93 34 29 ? 41 67 29 ? 67 79 29 ? 13 41 29 ? 83 67 6 ? 13 79 6 ? 34 79 6 ? 13 41 6 ? 13 93 6 ? 34 29 6 ? 79 29 69 ? 83 93 6...
result:
points 0.86225806450 points 0.86225806450 correct 3705 queries
Test #3:
score: 99.2323
Acceptable Answer
time: 90ms
memory: 10044kb
input:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
output:
? 98 26 84 ? 98 26 50 ? 26 84 50 ? 98 26 49 ? 98 50 49 ? 84 50 49 ? 84 50 87 ? 26 50 87 ? 98 26 87 ? 26 49 87 ? 26 49 75 ? 50 49 75 ? 84 87 75 ? 98 87 75 ? 98 49 90 ? 26 75 90 ? 50 75 90 ? 49 87 90 ? 98 84 90 ? 26 50 9 ? 87 90 9 ? 26 75 9 ? 26 84 9 ? 49 90 9 ? 98 26 9 ? 98 84 24 ? 49 87 24 ? 84 90 2...
result:
points 0.99232258060 points 0.99232258060 correct 3417 queries
Test #4:
score: 96.4774
Acceptable Answer
time: 71ms
memory: 9768kb
input:
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ...
output:
? 51 9 25 ? 51 9 56 ? 9 25 56 ? 51 9 1 ? 9 25 1 ? 51 56 1 ? 25 56 32 ? 51 25 32 ? 51 9 32 ? 56 1 32 ? 51 1 7 ? 9 25 7 ? 25 32 7 ? 56 32 7 ? 51 1 67 ? 25 7 67 ? 56 7 67 ? 25 32 67 ? 9 7 67 ? 1 32 16 ? 25 1 16 ? 51 25 16 ? 51 56 16 ? 56 7 16 ? 7 67 16 ? 9 25 16 ? 56 7 84 ? 51 32 84 ? 51 9 84 ? 25 56 8...
result:
points 0.96477419350 points 0.96477419350 correct 3478 queries
Test #5:
score: 100
Accepted
time: 37ms
memory: 6364kb
input:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...
output:
? 59 77 3 ? 59 3 74 ? 77 3 74 ? 77 74 84 ? 3 74 84 ? 59 77 84 ? 59 3 67 ? 74 84 67 ? 77 84 67 ? 74 67 93 ? 77 3 93 ? 59 67 93 ? 59 84 93 ? 67 93 46 ? 74 93 46 ? 74 84 46 ? 59 74 46 ? 77 3 46 ? 74 93 51 ? 77 46 51 ? 74 67 51 ? 59 74 51 ? 84 93 51 ? 3 93 51 ? 77 51 27 ? 74 67 27 ? 84 51 27 ? 77 93 27 ...
result:
points 1.0 points 1.0 correct 2810 queries
Test #6:
score: 100
Accepted
time: 9ms
memory: 5900kb
input:
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ...
output:
? 87 76 98 ? 87 98 7 ? 87 76 7 ? 76 7 10 ? 87 76 10 ? 98 7 10 ? 87 98 28 ? 87 7 28 ? 76 10 28 ? 76 7 16 ? 98 28 16 ? 87 10 16 ? 87 10 99 ? 76 10 99 ? 87 16 99 ? 7 28 99 ? 98 7 99 ? 87 98 38 ? 76 28 38 ? 16 99 38 ? 87 10 38 ? 98 7 38 ? 7 38 57 ? 98 99 57 ? 76 7 57 ? 28 16 57 ? 87 98 57 ? 76 10 57 ? 8...
result:
points 1.0 points 1.0 correct 2571 queries
Test #7:
score: 100
Accepted
time: 8ms
memory: 5936kb
input:
0 0 0 1 1 1 2 1 1 0 2 1 0 1 1 2 0 0 2 0 0 1 1 3 0 1 0 1 1 1 2 1 1 1 0 0 1 0 0 0 0 2 0 2 0 0 0 1 1 1 3 1 1 0 1 0 1 0 2 1 0 1 0 1 1 2 2 2 2 1 2 0 2 0 1 1 1 2 1 1 2 1 1 3 1 2 0 1 0 2 0 1 1 3 1 1 1 1 1 1 2 0 0 2 0 1 1 0 0 1 2 1 0 0 2 0 2 2 0 0 1 0 1 0 0 1 0 0 0 0 2 1 3 1 0 0 2 1 1 2 2 0 1 1 1 1 1 1 1 1 ...
output:
? 70 38 61 ? 38 61 44 ? 70 38 44 ? 61 44 87 ? 70 44 87 ? 38 44 87 ? 44 87 89 ? 38 44 89 ? 70 87 89 ? 70 61 89 ? 38 61 34 ? 70 38 34 ? 70 89 34 ? 38 44 34 ? 61 87 34 ? 38 87 98 ? 61 44 98 ? 44 89 98 ? 38 34 98 ? 70 34 98 ? 61 87 45 ? 44 87 45 ? 70 34 45 ? 38 34 45 ? 44 89 45 ? 44 98 45 ? 70 38 57 ? 6...
result:
points 1.0 points 1.0 correct 3313 queries
Test #8:
score: 100
Accepted
time: 11ms
memory: 5884kb
input:
1 1 0 2 1 1 1 1 1 2 1 3 3 1 1 0 0 2 0 1 2 0 0 2 0 1 2 3 2 0 1 2 2 0 0 2 3 0 1 1 1 1 2 1 1 0 1 1 2 0 1 1 2 1 1 1 2 0 3 0 0 1 1 2 3 2 1 1 1 0 0 0 0 0 2 1 1 1 2 1 1 2 1 2 3 2 1 1 2 1 1 3 2 0 0 1 1 1 2 0 1 1 2 0 0 0 1 2 3 1 2 1 1 2 1 0 1 1 1 2 1 0 1 2 1 3 1 1 2 0 0 2 2 2 0 1 1 0 2 1 2 3 2 1 0 1 2 1 0 0 ...
output:
? 43 18 98 ? 43 98 78 ? 18 98 78 ? 18 78 89 ? 43 78 89 ? 43 98 89 ? 18 89 13 ? 43 78 13 ? 43 98 13 ? 78 89 13 ? 43 13 75 ? 78 89 75 ? 18 89 75 ? 98 89 75 ? 43 89 75 ? 18 98 40 ? 43 75 40 ? 89 75 40 ? 18 13 40 ? 78 13 40 ? 43 18 17 ? 98 78 17 ? 89 13 17 ? 75 40 17 ? 43 18 88 ? 98 78 88 ? 98 89 88 ? 1...
result:
points 1.0 points 1.0 correct 3333 queries
Test #9:
score: 100
Accepted
time: 13ms
memory: 5956kb
input:
0 1 1 0 1 1 1 0 0 1 1 1 0 0 1 3 1 0 3 3 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 2 2 2 3 2 2 1 0 2 0 1 0 2 0 1 0 1 0 0 0 2 2 2 2 2 3 2 3 2 2 1 1 1 1 1 1 0 3 2 3 1 0 3 1 1 0 0 2 2 3 2 0 0 0 1 0 2 0 2 2 0 1 0 1 0 0 0 2 2 3 2 2 2 0 0 0 1 0 2 0 2 2 0 0 2 1 1 1 1 1 1 1 1 2 1 1 2 1 1 1 1 1 1 2 2 2 3 2 3 2 3 2 2 3 ...
output:
? 31 36 13 ? 36 13 95 ? 31 36 95 ? 31 13 54 ? 36 13 54 ? 31 95 54 ? 36 54 33 ? 13 54 33 ? 31 13 33 ? 95 54 33 ? 36 13 96 ? 31 54 96 ? 13 33 96 ? 31 13 96 ? 95 33 96 ? 54 96 85 ? 13 54 85 ? 31 13 85 ? 36 54 85 ? 95 96 85 ? 36 33 85 ? 31 36 34 ? 13 95 34 ? 54 33 34 ? 96 85 34 ? 31 36 19 ? 13 95 19 ? 5...
result:
points 1.0 points 1.0 correct 3318 queries
Test #10:
score: 100
Accepted
time: 8ms
memory: 5884kb
input:
2 2 2 2 2 2 2 0 2 2 2 0 2 2 0 2 0 2 0 2 2 0 2 2 0 2 2 2 2 2 2 2 2 2 2 2 2 2 0 2 0 2 2 2 2 2 2 0 2 2 2 2 2 2 0 2 2 2 2 2 2 2 0 2 2 2 0 2 2 2 0 2 2 2 0 2 2 2 2 0 2 2 2 0 0 2 0 2 2 0 2 0 2 2 2 2 0 2 2 0 2 0 2 2 2 2 2 2 2 0 2 2 2 0 0 2 2 2 2 2 2 0 2 2 2 0 0 2 2 0 2 0 2 2 0 2 0 2 2 2 2 2 2 2 0 2 2 0 2 0 ...
output:
? 28 97 8 ? 97 8 98 ? 28 8 98 ? 8 98 21 ? 97 98 21 ? 28 98 21 ? 97 8 64 ? 97 98 64 ? 28 21 64 ? 28 8 64 ? 8 64 26 ? 28 21 26 ? 97 64 26 ? 97 98 26 ? 8 21 26 ? 98 21 10 ? 21 26 10 ? 28 97 10 ? 8 21 10 ? 28 98 10 ? 64 26 10 ? 28 26 7 ? 97 64 7 ? 28 64 7 ? 28 21 7 ? 8 64 7 ? 98 21 7 ? 97 10 7 ? 8 26 84...
result:
points 1.0 points 1.0 correct 3371 queries
Test #11:
score: 0
Wrong Answer
time: 6ms
memory: 5860kb
input:
1 0 0 2 0 1 2 1 1 1 2 0 2 1 0 3 2 0 2 1 1 0 2 1 1 3 0 1 2 1 2 1 1 1 0 3 2 0 1 2 1 2 1 1 2 2 1 1 2 1 2 2 3 1 0 2 2 2 2 2 2 3 2 1 2 2 2 1 2 3 1 2 1 2 2 1 0 0 3 3 1 0 0 2 1 2 1 2 1 2 2 1 1 2 1 2 0 2 1 0 2 2 0 2 2 1 1 2 0 1 2 2 2 2 2 2 1 2 3 3 1 0 1 2 0 1 2 1 0 1 1 3 2 1 0 1 3 3 3 2 0 2 2 1 1 1 1 2 1 2 ...
output:
? 33 88 39 ? 88 39 96 ? 33 39 96 ? 33 88 68 ? 33 39 68 ? 96 33 68 ? 33 88 84 ? 33 39 84 ? 33 96 84 ? 33 68 84 ? 33 88 23 ? 33 39 23 ? 96 68 23 ? 96 84 23 ? 96 33 23 ? 33 88 94 ? 39 96 94 ? 68 84 94 ? 23 33 94 ? 33 88 9 ? 39 96 9 ? 39 68 9 ? 84 23 9 ? 84 94 9 ? 84 33 9 ? 33 88 52 ? 39 96 52 ? 68 84 5...
result:
wrong answer the graph you report is incorrect