// omga
#include <bits/stdc++.h>
#define vlong vector<long>
#define vint vector<int>
#define vchar vector<char>
#define vbool vector<bool>
#define vull vector<unsigned long long>
#define CININT(n) INTCIN(n);
#define INTCIN(n) int n; cin >> n;
#define INTCINVINTCIN(a, n) INTCIN(n); CINVINT(a, n);
#define CIN(n) cin >> n;
#define COUT(n) cout << n;
#define CINV(a, n) for (int i = 0; i < n; i++) {cin >> a[i];}
#define CINVINT(a, n) vint a(n); CINV(a, n);
#define COUTV(a, n) for (int i = 0; i < n; i++) {cout << a[i] << " ";}
#define ENDL cout << "\n";
#define SORT(a) sort(a.begin(), a.end())
#define TWONUMV(n, k, a) INTCIN(n); INTCIN(k); CINVINT(a, n);
#define NO cout << "NO"; return;
#define YES cout << "YES"; return;
#define IMPOSSIBLE cout << "IMPOSSIBLE"; return;
#define DEBUG(s) cout << "<d:" << s << ">";
using namespace std;
void cap_time(int& h, int& m) { // for time-related problems
while (m >= 60) {
h++;
m -= 60;
}
h %= 24;
}
//CININT(n);
//ICVK(n, k, a);
//INTCINVINTCIN(a, n);
ifstream fin("C.in");
ofstream fout("C.out");
/*//comment out to fin-fout
#define cin fin
#define cout fout
//*/
// You can do it!
void solve() {
INTCINVINTCIN(a, n);
int maxe = -0;
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
int al = a[i], ar = a[j];
long double d = (ar - al) / (long double)(j - i);
//DEBUG(d);
int e = 0;
for (int h = i; h < j; h++) {
if (abs((long double)(d * (h - i) + al) - (long double)a[h]) < 0.000001) {
e++;
}
}
maxe = max(e, maxe);
}
}
cout << n - maxe - 1;
}
int main() {
// comment out star below to switch
/*
solve();
/*/
int t;
cin >> t;
while (t--) {
solve();
ENDL;
}
//*/
}
566. Reshape the Matrix | 167. Two Sum II - Input array is sorted |
387. First Unique Character in a String | 383. Ransom Note |
242. Valid Anagram | 141. Linked List Cycle |
21. Merge Two Sorted Lists | 203. Remove Linked List Elements |
733. Flood Fill | 206. Reverse Linked List |
83. Remove Duplicates from Sorted List | 116. Populating Next Right Pointers in Each Node |
145. Binary Tree Postorder Traversal | 94. Binary Tree Inorder Traversal |
101. Symmetric Tree | 77. Combinations |
46. Permutations | 226. Invert Binary Tree |
112. Path Sum | 1556A - A Variety of Operations |
136. Single Number | 169. Majority Element |
119. Pascal's Triangle II | 409. Longest Palindrome |
1574A - Regular Bracket Sequences | 1574B - Combinatorics Homework |
1567A - Domino Disaster | 1593A - Elections |
1607A - Linear Keyboard | EQUALCOIN Equal Coins |