#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
template < class S, class T> inline S chmin( S & a, T b) {
if ( a> b) {
a= b;
}
return a;
}
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
class Solution{
public :
vector< vector< int >> minimumAbsDifference( vector< int > & arr) {
int i;
int mi = 1073709056 ;
int N = arr.size ( ) ;
vector< vector< int >> res;
sort( arr.begin ( ) , arr.end ( ) ) ;
mi = 1073709056 ;
for ( i= ( 1 ) ; i< ( N) ; i++ ) {
chmin( mi, arr[ i] - arr[ i- 1 ] ) ;
}
for ( i= ( 1 ) ; i< ( N) ; i++ ) {
if ( arr[ i] - arr[ i- 1 ] == mi) {
res.push_back ( vector< int > ( { arr[ i- 1 ] , arr[ i] } ) ) ;
}
}
return res;
}
}
;
// cLay varsion 20190921-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// class Solution {
// public:
// vector<vector<int>> minimumAbsDifference(vector<int>& arr) {
// int mi = int_inf, N = arr.size();
// vector<vector<int>> res;
// sort(arr.begin(), arr.end());
// mi = int_inf;
// rep(i,1,N) mi <?= arr[i] - arr[i-1];
// rep(i,1,N) if(arr[i] - arr[i-1] == mi) res.push_back( vector<int>({arr[i-1], arr[i]}) );
// return res;
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnRlbXBsYXRlPGNsYXNzIFMsIGNsYXNzIFQ+IGlubGluZSBTIGNobWluKFMgJmEsIFQgYil7CiAgaWYoYT5iKXsKICAgIGE9YjsKICB9CiAgcmV0dXJuIGE7Cn0KI2RlZmluZSBtYWluIGR1bW15X21haW4KaW50IG1haW4oKXsKICByZXR1cm4gMDsKfQojdW5kZWYgbWFpbgpjbGFzcyBTb2x1dGlvbnsKICBwdWJsaWM6CiAgdmVjdG9yPHZlY3RvcjxpbnQ+PiBtaW5pbXVtQWJzRGlmZmVyZW5jZSh2ZWN0b3I8aW50PiYgYXJyKXsKICAgIGludCBpOwogICAgaW50IG1pID0gMTA3MzcwOTA1NjsKICAgIGludCBOID0gYXJyLnNpemUoKTsKICAgIHZlY3Rvcjx2ZWN0b3I8aW50Pj4gcmVzOwogICAgc29ydChhcnIuYmVnaW4oKSwgYXJyLmVuZCgpKTsKICAgIG1pID0gMTA3MzcwOTA1NjsKICAgIGZvcihpPSgxKTtpPChOKTtpKyspewogICAgICBjaG1pbihtaSwgYXJyW2ldIC0gYXJyW2ktMV0pOwogICAgfQogICAgZm9yKGk9KDEpO2k8KE4pO2krKyl7CiAgICAgIGlmKGFycltpXSAtIGFycltpLTFdID09IG1pKXsKICAgICAgICByZXMucHVzaF9iYWNrKCB2ZWN0b3I8aW50Pih7YXJyW2ktMV0sIGFycltpXX0pICk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiByZXM7CiAgfQp9CjsKLy8gY0xheSB2YXJzaW9uIDIwMTkwOTIxLTEKCi8vIC0tLSBvcmlnaW5hbCBjb2RlIC0tLQovLyAjZGVmaW5lIG1haW4gZHVtbXlfbWFpbgovLyB7fQovLyAjdW5kZWYgbWFpbgovLyAKLy8gY2xhc3MgU29sdXRpb24gewovLyBwdWJsaWM6Ci8vICAgdmVjdG9yPHZlY3RvcjxpbnQ+PiBtaW5pbXVtQWJzRGlmZmVyZW5jZSh2ZWN0b3I8aW50PiYgYXJyKSB7Ci8vICAgICBpbnQgbWkgPSBpbnRfaW5mLCBOID0gYXJyLnNpemUoKTsKLy8gICAgIHZlY3Rvcjx2ZWN0b3I8aW50Pj4gcmVzOwovLyAgICAgc29ydChhcnIuYmVnaW4oKSwgYXJyLmVuZCgpKTsKLy8gICAgIG1pID0gaW50X2luZjsKLy8gICAgIHJlcChpLDEsTikgbWkgPD89IGFycltpXSAtIGFycltpLTFdOwovLyAgICAgcmVwKGksMSxOKSBpZihhcnJbaV0gLSBhcnJbaS0xXSA9PSBtaSkgcmVzLnB1c2hfYmFjayggdmVjdG9yPGludD4oe2FycltpLTFdLCBhcnJbaV19KSApOwovLyAgICAgcmV0dXJuIHJlczsKLy8gICB9Ci8vIH07Cg==