Hex Artifact Content
Not logged in

Artifact 655c27d7a69723ce8a77cc3f0be67011b331fa1a:


0000: 23 69 6e 63 6c 75 64 65 20 3c 69 6f 73 74 72 65  #include <iostre
0010: 61 6d 3e 0d 0a 23 69 6e 63 6c 75 64 65 20 3c 73  am>..#include <s
0020: 73 74 72 65 61 6d 3e 0d 0a 23 69 6e 63 6c 75 64  stream>..#includ
0030: 65 20 3c 69 6f 6d 61 6e 69 70 3e 0d 0a 23 69 6e  e <iomanip>..#in
0040: 63 6c 75 64 65 20 3c 76 65 63 74 6f 72 3e 0d 0a  clude <vector>..
0050: 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67  #include <string
0060: 3e 0d 0a 23 69 6e 63 6c 75 64 65 20 3c 6d 61 70  >..#include <map
0070: 3e 0d 0a 23 69 6e 63 6c 75 64 65 20 3c 73 65 74  >..#include <set
0080: 3e 0d 0a 23 69 6e 63 6c 75 64 65 20 3c 61 6c 67  >..#include <alg
0090: 6f 72 69 74 68 6d 3e 0d 0a 23 69 6e 63 6c 75 64  orithm>..#includ
00a0: 65 20 3c 6e 75 6d 65 72 69 63 3e 0d 0a 23 69 6e  e <numeric>..#in
00b0: 63 6c 75 64 65 20 3c 69 74 65 72 61 74 6f 72 3e  clude <iterator>
00c0: 0d 0a 23 69 6e 63 6c 75 64 65 20 3c 63 6f 6d 70  ..#include <comp
00d0: 6c 65 78 3e 0d 0a 23 69 6e 63 6c 75 64 65 20 3c  lex>..#include <
00e0: 71 75 65 75 65 3e 0d 0a 23 69 6e 63 6c 75 64 65  queue>..#include
00f0: 20 3c 73 74 61 63 6b 3e 0d 0a 23 69 6e 63 6c 75   <stack>..#inclu
0100: 64 65 20 3c 63 6d 61 74 68 3e 0d 0a 23 69 6e 63  de <cmath>..#inc
0110: 6c 75 64 65 20 3c 63 61 73 73 65 72 74 3e 0d 0a  lude <cassert>..
0120: 75 73 69 6e 67 20 6e 61 6d 65 73 70 61 63 65 20  using namespace 
0130: 73 74 64 3b 0d 0a 74 79 70 65 64 65 66 20 6c 6f  std;..typedef lo
0140: 6e 67 20 6c 6f 6e 67 20 4c 4c 3b 0d 0a 0d 0a 76  ng long LL;....v
0150: 65 63 74 6f 72 3c 4c 4c 3e 20 76 4d 75 6c 28 20  ector<LL> vMul( 
0160: 63 6f 6e 73 74 20 76 65 63 74 6f 72 3c 20 76 65  const vector< ve
0170: 63 74 6f 72 3c 4c 4c 3e 20 3e 26 20 41 2c 20 63  ctor<LL> >& A, c
0180: 6f 6e 73 74 20 76 65 63 74 6f 72 3c 4c 4c 3e 26  onst vector<LL>&
0190: 20 42 20 29 0d 0a 7b 0d 0a 09 63 6f 6e 73 74 20   B )..{...const 
01a0: 69 6e 74 20 6e 20 3d 20 41 2e 73 69 7a 65 28 29  int n = A.size()
01b0: 3b 0d 0a 0d 0a 09 76 65 63 74 6f 72 3c 4c 4c 3e  ;.....vector<LL>
01c0: 20 43 28 6e 29 3b 0d 0a 09 66 6f 72 28 69 6e 74   C(n);...for(int
01d0: 20 69 3d 30 3b 20 69 3c 6e 3b 20 2b 2b 69 29 0d   i=0; i<n; ++i).
01e0: 0a 09 09 66 6f 72 28 69 6e 74 20 6a 3d 30 3b 20  ...for(int j=0; 
01f0: 6a 3c 6e 3b 20 2b 2b 6a 29 0d 0a 09 09 09 43 5b  j<n; ++j).....C[
0200: 69 5d 20 2b 3d 20 41 5b 69 5d 5b 6a 5d 20 2a 20  i] += A[i][j] * 
0210: 42 5b 6a 5d 3b 0d 0a 09 72 65 74 75 72 6e 20 43  B[j];...return C
0220: 3b 0d 0a 7d 0d 0a 0d 0a 76 65 63 74 6f 72 3c 20  ;..}....vector< 
0230: 76 65 63 74 6f 72 3c 4c 4c 3e 20 3e 20 6d 4d 75  vector<LL> > mMu
0240: 6c 28 20 63 6f 6e 73 74 20 76 65 63 74 6f 72 3c  l( const vector<
0250: 20 76 65 63 74 6f 72 3c 4c 4c 3e 20 3e 26 20 41   vector<LL> >& A
0260: 2c 20 63 6f 6e 73 74 20 76 65 63 74 6f 72 3c 20  , const vector< 
0270: 76 65 63 74 6f 72 3c 4c 4c 3e 20 3e 26 20 42 20  vector<LL> >& B 
0280: 29 0d 0a 7b 0d 0a 09 63 6f 6e 73 74 20 69 6e 74  )..{...const int
0290: 20 6e 20 3d 20 41 2e 73 69 7a 65 28 29 3b 0d 0a   n = A.size();..
02a0: 0d 0a 09 76 65 63 74 6f 72 3c 20 76 65 63 74 6f  ...vector< vecto
02b0: 72 3c 4c 4c 3e 20 3e 20 43 28 6e 2c 20 76 65 63  r<LL> > C(n, vec
02c0: 74 6f 72 3c 4c 4c 3e 28 6e 29 29 3b 0d 0a 09 66  tor<LL>(n));...f
02d0: 6f 72 28 69 6e 74 20 69 3d 30 3b 20 69 3c 6e 3b  or(int i=0; i<n;
02e0: 20 2b 2b 69 29 0d 0a 09 09 66 6f 72 28 69 6e 74   ++i)....for(int
02f0: 20 6a 3d 30 3b 20 6a 3c 6e 3b 20 2b 2b 6a 29 20   j=0; j<n; ++j) 
0300: 7b 0d 0a 09 09 09 4c 4c 20 43 69 6a 20 3d 20 30  {.....LL Cij = 0
0310: 3b 0d 0a 09 09 09 66 6f 72 28 69 6e 74 20 6b 3d  ;.....for(int k=
0320: 30 3b 20 6b 3c 6e 3b 20 2b 2b 6b 29 0d 0a 09 09  0; k<n; ++k)....
0330: 09 09 43 69 6a 20 2b 3d 20 41 5b 69 5d 5b 6b 5d  ..Cij += A[i][k]
0340: 20 2a 20 42 5b 6b 5d 5b 6a 5d 3b 0d 0a 09 09 09   * B[k][j];.....
0350: 43 5b 69 5d 5b 6a 5d 20 3d 20 43 69 6a 3b 0d 0a  C[i][j] = Cij;..
0360: 09 09 7d 0d 0a 09 72 65 74 75 72 6e 20 43 3b 0d  ..}...return C;.
0370: 0a 7d 0d 0a 0d 0a 76 65 63 74 6f 72 3c 20 76 65  .}....vector< ve
0380: 63 74 6f 72 3c 4c 4c 3e 20 3e 20 6d 50 6f 77 28  ctor<LL> > mPow(
0390: 20 76 65 63 74 6f 72 3c 20 76 65 63 74 6f 72 3c   vector< vector<
03a0: 4c 4c 3e 20 3e 20 4d 2c 20 69 6e 74 20 74 20 29  LL> > M, int t )
03b0: 0d 0a 7b 0d 0a 09 69 66 28 20 74 20 3d 3d 20 30  ..{...if( t == 0
03c0: 20 29 20 7b 0d 0a 09 09 76 65 63 74 6f 72 3c 20   ) {....vector< 
03d0: 76 65 63 74 6f 72 3c 4c 4c 3e 20 3e 20 52 28 4d  vector<LL> > R(M
03e0: 2e 73 69 7a 65 28 29 2c 20 76 65 63 74 6f 72 3c  .size(), vector<
03f0: 4c 4c 3e 28 4d 2e 73 69 7a 65 28 29 29 29 3b 0d  LL>(M.size()));.
0400: 0a 09 09 66 6f 72 28 69 6e 74 20 69 3d 30 3b 20  ...for(int i=0; 
0410: 69 3c 52 2e 73 69 7a 65 28 29 3b 20 2b 2b 69 29  i<R.size(); ++i)
0420: 20 52 5b 69 5d 5b 69 5d 20 3d 20 31 3b 0d 0a 09   R[i][i] = 1;...
0430: 09 72 65 74 75 72 6e 20 52 3b 0d 0a 09 7d 0d 0a  .return R;...}..
0440: 09 76 65 63 74 6f 72 3c 20 76 65 63 74 6f 72 3c  .vector< vector<
0450: 4c 4c 3e 20 3e 20 52 3b 0d 0a 09 66 6f 72 28 3b  LL> > R;...for(;
0460: 20 74 3b 20 74 3e 3e 3d 31 2c 20 4d 3d 6d 4d 75   t; t>>=1, M=mMu
0470: 6c 28 4d 2c 4d 29 29 0d 0a 09 09 69 66 28 20 74  l(M,M))....if( t
0480: 26 31 20 29 0d 0a 09 09 09 52 20 3d 20 28 52 2e  &1 ).....R = (R.
0490: 65 6d 70 74 79 28 29 20 3f 20 4d 20 3a 20 6d 4d  empty() ? M : mM
04a0: 75 6c 28 52 2c 4d 29 29 3b 0d 0a 09 72 65 74 75  ul(R,M));...retu
04b0: 72 6e 20 52 3b 0d 0a 7d 0d 0a 0d 0a 63 6c 61 73  rn R;..}....clas
04c0: 73 20 56 61 6c 69 64 50 6c 61 74 65 73 0d 0a 7b  s ValidPlates..{
04d0: 0d 0a 70 75 62 6c 69 63 3a 0d 0a 09 6d 61 70 3c  ..public:...map<
04e0: 70 61 69 72 3c 69 6e 74 2c 69 6e 74 3e 2c 20 4c  pair<int,int>, L
04f0: 4c 3e 20 6d 65 6d 6f 3b 0d 0a 0d 0a 09 73 74 72  L> memo;.....str
0500: 69 6e 67 20 67 65 74 50 6c 61 74 65 28 76 65 63  ing getPlate(vec
0510: 74 6f 72 20 3c 73 74 72 69 6e 67 3e 20 70 72 6f  tor <string> pro
0520: 66 61 6e 65 2c 20 69 6e 74 20 73 65 71 6e 6f 29  fane, int seqno)
0530: 20 0d 0a 09 7b 0d 0a 09 09 2f 2f 20 70 61 72 73   ...{....// pars
0540: 65 0d 0a 09 09 62 6f 6f 6c 20 70 72 6f 68 5b 31  e....bool proh[1
0550: 30 5d 5b 31 30 5d 20 3d 20 7b 7d 3b 0d 0a 09 09  0][10] = {};....
0560: 66 6f 72 28 69 6e 74 20 69 3d 30 3b 20 69 3c 70  for(int i=0; i<p
0570: 72 6f 66 61 6e 65 2e 73 69 7a 65 28 29 3b 20 2b  rofane.size(); +
0580: 2b 69 29 20 7b 0d 0a 09 09 09 73 74 72 69 6e 67  +i) {.....string
0590: 73 74 72 65 61 6d 20 73 69 6e 28 70 72 6f 66 61  stream sin(profa
05a0: 6e 65 5b 69 5d 29 3b 0d 0a 09 09 09 66 6f 72 28  ne[i]);.....for(
05b0: 69 6e 74 20 6e 3b 20 73 69 6e 3e 3e 6e 3b 20 29  int n; sin>>n; )
05c0: 0d 0a 09 09 09 09 70 72 6f 68 5b 6e 2f 31 30 5d  ......proh[n/10]
05d0: 5b 6e 25 31 30 5d 20 3d 20 74 72 75 65 3b 0d 0a  [n%10] = true;..
05e0: 09 09 7d 0d 0a 0d 0a 09 09 2f 2f 20 6d 61 74 72  ..}......// matr
05f0: 69 78 0d 0a 09 09 76 65 63 74 6f 72 3c 4c 4c 3e  ix....vector<LL>
0600: 20 4e 28 31 31 2c 20 31 29 3b 20 4e 5b 31 30 5d   N(11, 1); N[10]
0610: 20 3d 20 30 3b 0d 0a 09 09 76 65 63 74 6f 72 3c   = 0;....vector<
0620: 20 76 65 63 74 6f 72 3c 4c 4c 3e 20 3e 20 4d 28   vector<LL> > M(
0630: 31 31 2c 20 76 65 63 74 6f 72 3c 4c 4c 3e 28 31  11, vector<LL>(1
0640: 31 29 29 3b 0d 0a 09 09 66 6f 72 28 69 6e 74 20  1));....for(int 
0650: 69 3d 30 3b 20 69 3c 31 30 3b 20 2b 2b 69 29 0d  i=0; i<10; ++i).
0660: 0a 09 09 66 6f 72 28 69 6e 74 20 6a 3d 30 3b 20  ...for(int j=0; 
0670: 6a 3c 31 30 3b 20 2b 2b 6a 29 0d 0a 09 09 09 69  j<10; ++j).....i
0680: 66 28 20 21 70 72 6f 68 5b 69 5d 5b 6a 5d 20 29  f( !proh[i][j] )
0690: 0d 0a 09 09 09 09 4d 5b 69 5d 5b 6a 5d 20 3d 20  ......M[i][j] = 
06a0: 31 3b 0d 0a 09 09 66 6f 72 28 69 6e 74 20 6a 3d  1;....for(int j=
06b0: 31 3b 20 6a 3c 31 31 3b 20 2b 2b 6a 29 0d 0a 09  1; j<11; ++j)...
06c0: 09 09 4d 5b 31 30 5d 5b 6a 5d 20 3d 20 31 3b 0d  ..M[10][j] = 1;.
06d0: 0a 0d 0a 09 09 2f 2f 20 62 69 6e 61 72 79 20 73  .....// binary s
06e0: 65 61 72 63 68 2e 2e 2e 0d 0a 09 09 4c 4c 20 4c  earch.......LL L
06f0: 3d 2d 31 2c 20 52 3d 30 3b 0d 0a 09 09 66 6f 72  =-1, R=0;....for
0700: 28 4c 4c 20 61 74 70 72 65 76 3d 2d 31 3b 3b 20  (LL atprev=-1;; 
0710: 52 3d 52 2a 32 2b 31 29 0d 0a 09 09 7b 0d 0a 09  R=R*2+1)....{...
0720: 09 09 76 65 63 74 6f 72 3c 20 76 65 63 74 6f 72  ..vector< vector
0730: 3c 4c 4c 3e 20 3e 20 4d 74 20 3d 20 6d 50 6f 77  <LL> > Mt = mPow
0740: 28 4d 2c 20 20 52 29 3b 0d 0a 09 09 09 76 65 63  (M,  R);.....vec
0750: 74 6f 72 3c 4c 4c 3e 20 20 20 20 20 20 20 20 20  tor<LL>         
0760: 20 20 4e 74 20 3d 20 76 4d 75 6c 28 4d 74 2c 20    Nt = vMul(Mt, 
0770: 4e 29 3b 0d 0a 09 09 09 4c 4c 20 20 20 20 20 20  N);.....LL      
0780: 20 20 20 20 20 20 20 20 20 20 20 20 20 61 74 20               at 
0790: 3d 20 61 63 63 75 6d 75 6c 61 74 65 28 4e 74 2e  = accumulate(Nt.
07a0: 62 65 67 69 6e 28 29 2b 31 2c 20 4e 74 2e 65 6e  begin()+1, Nt.en
07b0: 64 28 29 2c 20 30 4c 4c 29 3b 0d 0a 09 09 09 69  d(), 0LL);.....i
07c0: 66 28 20 61 74 70 72 65 76 20 3d 3d 20 61 74 20  f( atprev == at 
07d0: 29 0d 0a 09 09 09 09 72 65 74 75 72 6e 20 22 22  )......return ""
07e0: 3b 0d 0a 09 09 09 61 74 70 72 65 76 20 3d 20 61  ;.....atprev = a
07f0: 74 3b 0d 0a 09 09 09 69 66 28 20 73 65 71 6e 6f  t;.....if( seqno
0800: 20 3c 3d 20 61 74 20 29 0d 0a 09 09 09 09 62 72   <= at )......br
0810: 65 61 6b 3b 0d 0a 09 09 7d 0d 0a 09 09 77 68 69  eak;....}....whi
0820: 6c 65 28 52 2d 4c 3e 31 29 0d 0a 09 09 7b 0d 0a  le(R-L>1)....{..
0830: 09 09 09 4c 4c 20 43 3d 28 4c 2b 52 29 2f 32 3b  ...LL C=(L+R)/2;
0840: 0d 0a 09 09 09 76 65 63 74 6f 72 3c 20 76 65 63  .....vector< vec
0850: 74 6f 72 3c 4c 4c 3e 20 3e 20 4d 74 20 3d 20 6d  tor<LL> > Mt = m
0860: 50 6f 77 28 4d 2c 20 43 29 3b 0d 0a 09 09 09 76  Pow(M, C);.....v
0870: 65 63 74 6f 72 3c 4c 4c 3e 20 20 20 20 20 20 20  ector<LL>       
0880: 20 20 20 20 4e 74 20 3d 20 76 4d 75 6c 28 4d 74      Nt = vMul(Mt
0890: 2c 20 4e 29 3b 0d 0a 09 09 09 28 73 65 71 6e 6f  , N);.....(seqno
08a0: 20 3c 3d 20 61 63 63 75 6d 75 6c 61 74 65 28 4e   <= accumulate(N
08b0: 74 2e 62 65 67 69 6e 28 29 2b 31 2c 20 4e 74 2e  t.begin()+1, Nt.
08c0: 65 6e 64 28 29 2c 20 30 4c 4c 29 20 3f 20 52 20  end(), 0LL) ? R 
08d0: 3a 20 4c 29 20 3d 20 43 3b 0d 0a 09 09 7d 0d 0a  : L) = C;....}..
08e0: 09 09 4c 4c 20 64 20 3d 20 52 2b 31 3b 20 2f 2f  ..LL d = R+1; //
08f0: 20 23 64 69 67 69 74 73 0d 0a 09 09 73 65 71 6e   #digits....seqn
0900: 6f 20 2d 3d 20 76 4d 75 6c 28 6d 50 6f 77 28 4d  o -= vMul(mPow(M
0910: 2c 52 29 2c 20 4e 29 5b 31 30 5d 3b 0d 0a 0d 0a  ,R), N)[10];....
0920: 09 09 73 74 72 69 6e 67 20 62 75 66 3b 0d 0a 09  ..string buf;...
0930: 09 69 6e 74 20 70 72 65 76 20 3d 20 2d 31 3b 0d  .int prev = -1;.
0940: 0a 09 09 66 6f 72 28 69 6e 74 20 69 3d 30 3b 20  ...for(int i=0; 
0950: 69 3c 28 64 3e 35 30 20 3f 20 34 37 20 3a 20 64  i<(d>50 ? 47 : d
0960: 29 3b 20 2b 2b 69 29 0d 0a 09 09 09 69 66 28 20  ); ++i).....if( 
0970: 70 72 65 76 20 3d 3d 20 2d 31 20 29 0d 0a 09 09  prev == -1 )....
0980: 09 7b 0d 0a 09 09 09 09 76 65 63 74 6f 72 3c 4c  .{......vector<L
0990: 4c 3e 20 4e 74 20 3d 20 76 4d 75 6c 28 6d 50 6f  L> Nt = vMul(mPo
09a0: 77 28 4d 2c 20 64 2d 31 2d 69 29 2c 20 4e 29 3b  w(M, d-1-i), N);
09b0: 0d 0a 09 09 09 09 4c 4c 20 6e 20 3d 20 30 3b 0d  ......LL n = 0;.
09c0: 0a 09 09 09 09 66 6f 72 28 69 6e 74 20 61 3d 31  .....for(int a=1
09d0: 3b 20 61 3c 31 30 3b 20 2b 2b 61 29 0d 0a 09 09  ; a<10; ++a)....
09e0: 09 09 7b 0d 0a 09 09 09 09 09 6e 20 2b 3d 20 4e  ..{.......n += N
09f0: 74 5b 61 5d 3b 0d 0a 09 09 09 09 09 69 66 28 20  t[a];.......if( 
0a00: 73 65 71 6e 6f 20 3c 3d 20 6e 20 29 0d 0a 09 09  seqno <= n )....
0a10: 09 09 09 09 7b 62 75 66 20 2b 3d 20 63 68 61 72  ....{buf += char
0a20: 28 27 30 27 2b 61 29 3b 20 70 72 65 76 3d 61 3b  ('0'+a); prev=a;
0a30: 20 73 65 71 6e 6f 2d 3d 6e 2d 4e 74 5b 61 5d 3b   seqno-=n-Nt[a];
0a40: 20 62 72 65 61 6b 3b 7d 0d 0a 09 09 09 09 7d 0d   break;}......}.
0a50: 0a 09 09 09 7d 0d 0a 09 09 09 65 6c 73 65 0d 0a  ....}.....else..
0a60: 09 09 09 7b 0d 0a 09 09 09 09 76 65 63 74 6f 72  ...{......vector
0a70: 3c 4c 4c 3e 20 4e 74 20 3d 20 76 4d 75 6c 28 6d  <LL> Nt = vMul(m
0a80: 50 6f 77 28 4d 2c 20 64 2d 31 2d 69 29 2c 20 4e  Pow(M, d-1-i), N
0a90: 29 3b 0d 0a 09 09 09 09 4c 4c 20 6e 20 3d 20 30  );......LL n = 0
0aa0: 3b 0d 0a 09 09 09 09 66 6f 72 28 69 6e 74 20 61  ;......for(int a
0ab0: 3d 30 3b 20 61 3c 31 30 3b 20 2b 2b 61 29 20 69  =0; a<10; ++a) i
0ac0: 66 28 20 21 70 72 6f 68 5b 70 72 65 76 5d 5b 61  f( !proh[prev][a
0ad0: 5d 20 29 0d 0a 09 09 09 09 7b 0d 0a 09 09 09 09  ] )......{......
0ae0: 09 6e 20 2b 3d 20 4e 74 5b 61 5d 3b 0d 0a 09 09  .n += Nt[a];....
0af0: 09 09 09 69 66 28 20 73 65 71 6e 6f 20 3c 3d 20  ...if( seqno <= 
0b00: 6e 20 29 0d 0a 09 09 09 09 09 09 7b 62 75 66 20  n )........{buf 
0b10: 2b 3d 20 63 68 61 72 28 27 30 27 2b 61 29 3b 20  += char('0'+a); 
0b20: 70 72 65 76 3d 61 3b 20 73 65 71 6e 6f 2d 3d 6e  prev=a; seqno-=n
0b30: 2d 4e 74 5b 61 5d 3b 20 62 72 65 61 6b 3b 7d 0d  -Nt[a]; break;}.
0b40: 0a 09 09 09 09 7d 0d 0a 09 09 09 7d 0d 0a 09 09  .....}.....}....
0b50: 72 65 74 75 72 6e 20 28 64 3e 35 30 20 3f 20 62  return (d>50 ? b
0b60: 75 66 2b 22 2e 2e 2e 22 20 3a 20 62 75 66 29 3b  uf+"..." : buf);
0b70: 0d 0a 09 7d 0d 0a 0d 0a 2f 2f 20 42 45 47 49 4e  ...}....// BEGIN
0b80: 20 43 55 54 20 48 45 52 45 0d 0a 09 70 75 62 6c   CUT HERE...publ
0b90: 69 63 3a 0d 0a 09 76 6f 69 64 20 72 75 6e 5f 74  ic:...void run_t
0ba0: 65 73 74 28 69 6e 74 20 43 61 73 65 29 20 7b 20  est(int Case) { 
0bb0: 69 66 20 28 28 43 61 73 65 20 3d 3d 20 2d 31 29  if ((Case == -1)
0bc0: 20 7c 7c 20 28 43 61 73 65 20 3d 3d 20 30 29 29   || (Case == 0))
0bd0: 20 74 65 73 74 5f 63 61 73 65 5f 30 28 29 3b 20   test_case_0(); 
0be0: 69 66 20 28 28 43 61 73 65 20 3d 3d 20 2d 31 29  if ((Case == -1)
0bf0: 20 7c 7c 20 28 43 61 73 65 20 3d 3d 20 31 29 29   || (Case == 1))
0c00: 20 74 65 73 74 5f 63 61 73 65 5f 31 28 29 3b 20   test_case_1(); 
0c10: 69 66 20 28 28 43 61 73 65 20 3d 3d 20 2d 31 29  if ((Case == -1)
0c20: 20 7c 7c 20 28 43 61 73 65 20 3d 3d 20 32 29 29   || (Case == 2))
0c30: 20 74 65 73 74 5f 63 61 73 65 5f 32 28 29 3b 20   test_case_2(); 
0c40: 69 66 20 28 28 43 61 73 65 20 3d 3d 20 2d 31 29  if ((Case == -1)
0c50: 20 7c 7c 20 28 43 61 73 65 20 3d 3d 20 33 29 29   || (Case == 3))
0c60: 20 74 65 73 74 5f 63 61 73 65 5f 33 28 29 3b 20   test_case_3(); 
0c70: 69 66 20 28 28 43 61 73 65 20 3d 3d 20 2d 31 29  if ((Case == -1)
0c80: 20 7c 7c 20 28 43 61 73 65 20 3d 3d 20 34 29 29   || (Case == 4))
0c90: 20 74 65 73 74 5f 63 61 73 65 5f 34 28 29 3b 20   test_case_4(); 
0ca0: 69 66 20 28 28 43 61 73 65 20 3d 3d 20 2d 31 29  if ((Case == -1)
0cb0: 20 7c 7c 20 28 43 61 73 65 20 3d 3d 20 35 29 29   || (Case == 5))
0cc0: 20 74 65 73 74 5f 63 61 73 65 5f 35 28 29 3b 20   test_case_5(); 
0cd0: 69 66 20 28 28 43 61 73 65 20 3d 3d 20 2d 31 29  if ((Case == -1)
0ce0: 20 7c 7c 20 28 43 61 73 65 20 3d 3d 20 36 29 29   || (Case == 6))
0cf0: 20 74 65 73 74 5f 63 61 73 65 5f 36 28 29 3b 20   test_case_6(); 
0d00: 7d 0d 0a 09 70 72 69 76 61 74 65 3a 0d 0a 09 74  }...private:...t
0d10: 65 6d 70 6c 61 74 65 20 3c 74 79 70 65 6e 61 6d  emplate <typenam
0d20: 65 20 54 3e 20 73 74 72 69 6e 67 20 70 72 69 6e  e T> string prin
0d30: 74 5f 61 72 72 61 79 28 63 6f 6e 73 74 20 76 65  t_array(const ve
0d40: 63 74 6f 72 3c 54 3e 20 26 56 29 20 7b 20 6f 73  ctor<T> &V) { os
0d50: 74 72 69 6e 67 73 74 72 65 61 6d 20 6f 73 3b 20  tringstream os; 
0d60: 6f 73 20 3c 3c 20 22 7b 20 22 3b 20 66 6f 72 20  os << "{ "; for 
0d70: 28 74 79 70 65 6e 61 6d 65 20 76 65 63 74 6f 72  (typename vector
0d80: 3c 54 3e 3a 3a 63 6f 6e 73 74 5f 69 74 65 72 61  <T>::const_itera
0d90: 74 6f 72 20 69 74 65 72 20 3d 20 56 2e 62 65 67  tor iter = V.beg
0da0: 69 6e 28 29 3b 20 69 74 65 72 20 21 3d 20 56 2e  in(); iter != V.
0db0: 65 6e 64 28 29 3b 20 2b 2b 69 74 65 72 29 20 6f  end(); ++iter) o
0dc0: 73 20 3c 3c 20 27 5c 22 27 20 3c 3c 20 2a 69 74  s << '\"' << *it
0dd0: 65 72 20 3c 3c 20 22 5c 22 2c 22 3b 20 6f 73 20  er << "\","; os 
0de0: 3c 3c 20 22 20 7d 22 3b 20 72 65 74 75 72 6e 20  << " }"; return 
0df0: 6f 73 2e 73 74 72 28 29 3b 20 7d 0d 0a 09 76 6f  os.str(); }...vo
0e00: 69 64 20 76 65 72 69 66 79 5f 63 61 73 65 28 69  id verify_case(i
0e10: 6e 74 20 43 61 73 65 2c 20 63 6f 6e 73 74 20 73  nt Case, const s
0e20: 74 72 69 6e 67 20 26 45 78 70 65 63 74 65 64 2c  tring &Expected,
0e30: 20 63 6f 6e 73 74 20 73 74 72 69 6e 67 20 26 52   const string &R
0e40: 65 63 65 69 76 65 64 29 20 7b 20 63 65 72 72 20  eceived) { cerr 
0e50: 3c 3c 20 22 54 65 73 74 20 43 61 73 65 20 23 22  << "Test Case #"
0e60: 20 3c 3c 20 43 61 73 65 20 3c 3c 20 22 2e 2e 2e   << Case << "...
0e70: 22 3b 20 69 66 20 28 45 78 70 65 63 74 65 64 20  "; if (Expected 
0e80: 3d 3d 20 52 65 63 65 69 76 65 64 29 20 63 65 72  == Received) cer
0e90: 72 20 3c 3c 20 22 50 41 53 53 45 44 22 20 3c 3c  r << "PASSED" <<
0ea0: 20 65 6e 64 6c 3b 20 65 6c 73 65 20 7b 20 63 65   endl; else { ce
0eb0: 72 72 20 3c 3c 20 22 46 41 49 4c 45 44 22 20 3c  rr << "FAILED" <
0ec0: 3c 20 65 6e 64 6c 3b 20 63 65 72 72 20 3c 3c 20  < endl; cerr << 
0ed0: 22 5c 74 45 78 70 65 63 74 65 64 3a 20 5c 22 22  "\tExpected: \""
0ee0: 20 3c 3c 20 45 78 70 65 63 74 65 64 20 3c 3c 20   << Expected << 
0ef0: 27 5c 22 27 20 3c 3c 20 65 6e 64 6c 3b 20 63 65  '\"' << endl; ce
0f00: 72 72 20 3c 3c 20 22 5c 74 52 65 63 65 69 76 65  rr << "\tReceive
0f10: 64 3a 20 5c 22 22 20 3c 3c 20 52 65 63 65 69 76  d: \"" << Receiv
0f20: 65 64 20 3c 3c 20 27 5c 22 27 20 3c 3c 20 65 6e  ed << '\"' << en
0f30: 64 6c 3b 20 7d 20 7d 0d 0a 09 76 6f 69 64 20 74  dl; } }...void t
0f40: 65 73 74 5f 63 61 73 65 5f 30 28 29 20 7b 20 76  est_case_0() { v
0f50: 65 63 74 6f 72 20 3c 73 74 72 69 6e 67 3e 20 41  ector <string> A
0f60: 72 67 30 3b 20 69 6e 74 20 41 72 67 31 20 3d 20  rg0; int Arg1 = 
0f70: 31 30 30 30 3b 20 73 74 72 69 6e 67 20 41 72 67  1000; string Arg
0f80: 32 20 3d 20 22 31 30 30 30 22 3b 20 76 65 72 69  2 = "1000"; veri
0f90: 66 79 5f 63 61 73 65 28 30 2c 20 41 72 67 32 2c  fy_case(0, Arg2,
0fa0: 20 67 65 74 50 6c 61 74 65 28 41 72 67 30 2c 20   getPlate(Arg0, 
0fb0: 41 72 67 31 29 29 3b 20 7d 0d 0a 09 76 6f 69 64  Arg1)); }...void
0fc0: 20 74 65 73 74 5f 63 61 73 65 5f 31 28 29 20 7b   test_case_1() {
0fd0: 20 73 74 72 69 6e 67 20 41 72 72 30 5b 5d 20 3d   string Arr0[] =
0fe0: 20 7b 22 31 30 22 7d 3b 20 76 65 63 74 6f 72 20   {"10"}; vector 
0ff0: 3c 73 74 72 69 6e 67 3e 20 41 72 67 30 28 41 72  <string> Arg0(Ar
1000: 72 30 2c 20 41 72 72 30 20 2b 20 28 73 69 7a 65  r0, Arr0 + (size
1010: 6f 66 28 41 72 72 30 29 20 2f 20 73 69 7a 65 6f  of(Arr0) / sizeo
1020: 66 28 41 72 72 30 5b 30 5d 29 29 29 3b 20 69 6e  f(Arr0[0]))); in
1030: 74 20 41 72 67 31 20 3d 20 31 30 3b 20 73 74 72  t Arg1 = 10; str
1040: 69 6e 67 20 41 72 67 32 20 3d 20 22 31 31 22 3b  ing Arg2 = "11";
1050: 20 76 65 72 69 66 79 5f 63 61 73 65 28 31 2c 20   verify_case(1, 
1060: 41 72 67 32 2c 20 67 65 74 50 6c 61 74 65 28 41  Arg2, getPlate(A
1070: 72 67 30 2c 20 41 72 67 31 29 29 3b 20 7d 0d 0a  rg0, Arg1)); }..
1080: 09 76 6f 69 64 20 74 65 73 74 5f 63 61 73 65 5f  .void test_case_
1090: 32 28 29 20 7b 20 73 74 72 69 6e 67 20 41 72 72  2() { string Arr
10a0: 30 5b 5d 20 3d 20 7b 22 31 30 22 7d 3b 20 76 65  0[] = {"10"}; ve
10b0: 63 74 6f 72 20 3c 73 74 72 69 6e 67 3e 20 41 72  ctor <string> Ar
10c0: 67 30 28 41 72 72 30 2c 20 41 72 72 30 20 2b 20  g0(Arr0, Arr0 + 
10d0: 28 73 69 7a 65 6f 66 28 41 72 72 30 29 20 2f 20  (sizeof(Arr0) / 
10e0: 73 69 7a 65 6f 66 28 41 72 72 30 5b 30 5d 29 29  sizeof(Arr0[0]))
10f0: 29 3b 20 69 6e 74 20 41 72 67 31 20 3d 20 32 30  ); int Arg1 = 20
1100: 30 30 30 30 30 30 30 30 3b 20 73 74 72 69 6e 67  00000000; string
1110: 20 41 72 67 32 20 3d 20 22 32 32 37 37 36 35 39   Arg2 = "2277659
1120: 38 36 39 22 3b 20 76 65 72 69 66 79 5f 63 61 73  869"; verify_cas
1130: 65 28 32 2c 20 41 72 67 32 2c 20 67 65 74 50 6c  e(2, Arg2, getPl
1140: 61 74 65 28 41 72 67 30 2c 20 41 72 67 31 29 29  ate(Arg0, Arg1))
1150: 3b 20 7d 0d 0a 09 76 6f 69 64 20 74 65 73 74 5f  ; }...void test_
1160: 63 61 73 65 5f 33 28 29 20 7b 20 73 74 72 69 6e  case_3() { strin
1170: 67 20 41 72 72 30 5b 5d 20 3d 20 7b 22 30 30 20  g Arr0[] = {"00 
1180: 30 31 20 30 32 20 30 33 20 30 34 20 30 35 20 30  01 02 03 04 05 0
1190: 36 20 30 37 20 30 38 20 30 39 20 31 31 20 31 32  6 07 08 09 11 12
11a0: 20 31 33 20 31 34 20 31 35 20 31 36 20 31 37 22   13 14 15 16 17"
11b0: 2c 0d 0a 20 22 31 38 20 31 39 20 32 32 20 32 33  ,.. "18 19 22 23
11c0: 20 32 34 20 32 35 20 32 36 20 32 37 20 32 38 20   24 25 26 27 28 
11d0: 32 39 20 33 33 20 33 34 20 33 35 20 33 36 20 33  29 33 34 35 36 3
11e0: 37 20 33 38 20 33 39 22 2c 0d 0a 20 22 34 34 20  7 38 39",.. "44 
11f0: 34 35 20 34 36 20 34 37 20 34 38 20 34 39 20 35  45 46 47 48 49 5
1200: 35 20 35 36 20 35 37 20 35 38 20 35 39 20 36 36  5 56 57 58 59 66
1210: 20 36 37 20 36 38 20 36 39 20 37 37 20 37 38 22   67 68 69 77 78"
1220: 2c 0d 0a 20 22 37 39 20 38 38 20 38 39 20 39 39  ,.. "79 88 89 99
1230: 20 39 39 20 39 39 20 39 39 20 39 39 22 7d 3b 20   99 99 99 99"}; 
1240: 76 65 63 74 6f 72 20 3c 73 74 72 69 6e 67 3e 20  vector <string> 
1250: 41 72 67 30 28 41 72 72 30 2c 20 41 72 72 30 20  Arg0(Arr0, Arr0 
1260: 2b 20 28 73 69 7a 65 6f 66 28 41 72 72 30 29 20  + (sizeof(Arr0) 
1270: 2f 20 73 69 7a 65 6f 66 28 41 72 72 30 5b 30 5d  / sizeof(Arr0[0]
1280: 29 29 29 3b 20 69 6e 74 20 41 72 67 31 20 3d 20  ))); int Arg1 = 
1290: 31 30 32 33 3b 20 73 74 72 69 6e 67 20 41 72 67  1023; string Arg
12a0: 32 20 3d 20 22 22 3b 20 76 65 72 69 66 79 5f 63  2 = ""; verify_c
12b0: 61 73 65 28 33 2c 20 41 72 67 32 2c 20 67 65 74  ase(3, Arg2, get
12c0: 50 6c 61 74 65 28 41 72 67 30 2c 20 41 72 67 31  Plate(Arg0, Arg1
12d0: 29 29 3b 20 7d 0d 0a 09 76 6f 69 64 20 74 65 73  )); }...void tes
12e0: 74 5f 63 61 73 65 5f 34 28 29 20 7b 20 73 74 72  t_case_4() { str
12f0: 69 6e 67 20 41 72 72 30 5b 5d 20 3d 20 7b 22 30  ing Arr0[] = {"0
1300: 30 20 30 31 20 30 32 20 30 33 20 30 34 20 30 35  0 01 02 03 04 05
1310: 20 30 37 20 30 38 20 30 39 22 2c 0d 0a 20 22 31   07 08 09",.. "1
1320: 30 20 31 31 20 31 32 20 31 33 20 31 34 20 31 35  0 11 12 13 14 15
1330: 20 31 37 20 31 38 20 31 39 22 2c 0d 0a 20 22 32   17 18 19",.. "2
1340: 30 20 32 31 20 32 32 20 32 34 20 32 35 20 32 36  0 21 22 24 25 26
1350: 20 32 37 20 32 38 20 32 39 22 2c 0d 0a 20 22 33   27 28 29",.. "3
1360: 30 20 33 31 20 33 32 20 33 33 20 33 34 20 33 36  0 31 32 33 34 36
1370: 20 33 37 20 33 38 20 33 39 22 2c 0d 0a 20 22 34   37 38 39",.. "4
1380: 31 20 34 33 20 34 35 20 34 36 20 34 38 22 2c 0d  1 43 45 46 48",.
1390: 0a 20 22 35 32 20 35 33 20 35 34 20 35 35 20 35  . "52 53 54 55 5
13a0: 36 20 35 38 20 35 39 22 2c 0d 0a 20 22 36 30 20  6 58 59",.. "60 
13b0: 36 31 20 36 33 20 36 34 20 36 36 20 36 37 20 36  61 63 64 66 67 6
13c0: 38 20 36 39 22 2c 0d 0a 20 22 37 30 20 37 32 20  8 69",.. "70 72 
13d0: 37 33 20 37 34 20 37 35 20 37 36 20 37 37 20 37  73 74 75 76 77 7
13e0: 38 22 2c 0d 0a 20 22 38 30 20 38 31 20 38 32 20  8",.. "80 81 82 
13f0: 38 33 20 38 34 20 38 36 20 38 37 20 38 38 20 38  83 84 86 87 88 8
1400: 39 22 2c 0d 0a 20 22 39 30 20 39 31 20 39 32 20  9",.. "90 91 92 
1410: 39 34 20 39 35 20 39 36 20 39 37 20 39 38 22 7d  94 95 96 97 98"}
1420: 3b 20 76 65 63 74 6f 72 20 3c 73 74 72 69 6e 67  ; vector <string
1430: 3e 20 41 72 67 30 28 41 72 72 30 2c 20 41 72 72  > Arg0(Arr0, Arr
1440: 30 20 2b 20 28 73 69 7a 65 6f 66 28 41 72 72 30  0 + (sizeof(Arr0
1450: 29 20 2f 20 73 69 7a 65 6f 66 28 41 72 72 30 5b  ) / sizeof(Arr0[
1460: 30 5d 29 29 29 3b 20 69 6e 74 20 41 72 67 31 20  0]))); int Arg1 
1470: 3d 20 32 30 30 30 30 30 30 30 30 30 3b 20 73 74  = 2000000000; st
1480: 72 69 6e 67 20 41 72 67 32 20 3d 20 22 37 39 39  ring Arg2 = "799
1490: 39 39 39 39 39 33 35 31 36 32 33 35 31 36 35 37  9999935162351657
14a0: 31 36 35 37 39 39 39 39 33 35 37 39 39 39 39 33  1657999935799993
14b0: 22 3b 20 76 65 72 69 66 79 5f 63 61 73 65 28 34  "; verify_case(4
14c0: 2c 20 41 72 67 32 2c 20 67 65 74 50 6c 61 74 65  , Arg2, getPlate
14d0: 28 41 72 67 30 2c 20 41 72 67 31 29 29 3b 20 7d  (Arg0, Arg1)); }
14e0: 0d 0a 09 76 6f 69 64 20 74 65 73 74 5f 63 61 73  ...void test_cas
14f0: 65 5f 35 28 29 20 7b 20 73 74 72 69 6e 67 20 41  e_5() { string A
1500: 72 72 30 5b 5d 20 3d 20 7b 22 30 30 20 30 31 20  rr0[] = {"00 01 
1510: 30 32 20 30 33 20 30 34 20 30 35 20 30 36 20 30  02 03 04 05 06 0
1520: 37 20 30 38 20 30 39 22 2c 0d 0a 20 22 31 30 20  7 08 09",.. "10 
1530: 31 31 20 31 32 20 31 33 20 31 34 20 31 36 20 31  11 12 13 14 16 1
1540: 37 20 31 39 22 2c 0d 0a 20 22 32 30 20 32 31 20  7 19",.. "20 21 
1550: 32 32 20 32 33 20 32 34 20 32 35 20 32 36 20 32  22 23 24 25 26 2
1560: 37 20 32 38 20 32 39 22 2c 0d 0a 20 22 33 30 20  7 28 29",.. "30 
1570: 33 31 20 33 32 20 33 33 20 33 34 20 33 35 20 33  31 32 33 34 35 3
1580: 36 20 33 38 20 33 39 22 2c 0d 0a 20 22 34 31 20  6 38 39",.. "41 
1590: 34 32 20 34 33 20 34 34 20 34 35 20 34 36 20 34  42 43 44 45 46 4
15a0: 39 22 2c 0d 0a 20 22 35 30 20 35 32 20 35 33 20  9",.. "50 52 53 
15b0: 35 34 20 35 35 20 35 37 20 35 38 20 35 39 22 2c  54 55 57 58 59",
15c0: 0d 0a 20 22 36 30 20 36 31 20 36 32 20 36 33 20  .. "60 61 62 63 
15d0: 36 34 20 36 35 20 36 36 20 36 37 20 36 38 20 36  64 65 66 67 68 6
15e0: 39 22 2c 0d 0a 20 22 37 30 20 37 32 20 37 33 20  9",.. "70 72 73 
15f0: 37 34 20 37 35 20 37 36 20 37 37 20 37 38 20 37  74 75 76 77 78 7
1600: 39 22 2c 0d 0a 20 22 38 30 20 38 31 20 38 32 20  9",.. "80 81 82 
1610: 38 33 20 38 34 20 38 35 20 38 36 20 38 37 20 38  83 84 85 86 87 8
1620: 38 20 38 39 22 2c 0d 0a 20 22 39 30 20 39 31 20  8 89",.. "90 91 
1630: 39 32 20 39 33 20 39 34 20 39 35 20 39 38 20 39  92 93 94 95 98 9
1640: 39 22 7d 3b 20 76 65 63 74 6f 72 20 3c 73 74 72  9"}; vector <str
1650: 69 6e 67 3e 20 41 72 67 30 28 41 72 72 30 2c 20  ing> Arg0(Arr0, 
1660: 41 72 72 30 20 2b 20 28 73 69 7a 65 6f 66 28 41  Arr0 + (sizeof(A
1670: 72 72 30 29 20 2f 20 73 69 7a 65 6f 66 28 41 72  rr0) / sizeof(Ar
1680: 72 30 5b 30 5d 29 29 29 3b 20 69 6e 74 20 41 72  r0[0]))); int Ar
1690: 67 31 20 3d 20 32 30 30 30 30 30 30 30 30 30 3b  g1 = 2000000000;
16a0: 20 73 74 72 69 6e 67 20 41 72 67 32 20 3d 20 22   string Arg2 = "
16b0: 33 37 31 35 31 35 31 35 31 35 31 35 31 35 31 35  3715151515151515
16c0: 31 35 31 35 31 35 31 35 31 35 31 35 31 35 31 35  1515151515151515
16d0: 31 35 31 35 31 35 31 35 31 35 31 35 31 35 31 2e  151515151515151.
16e0: 2e 2e 22 3b 20 76 65 72 69 66 79 5f 63 61 73 65  .."; verify_case
16f0: 28 35 2c 20 41 72 67 32 2c 20 67 65 74 50 6c 61  (5, Arg2, getPla
1700: 74 65 28 41 72 67 30 2c 20 41 72 67 31 29 29 3b  te(Arg0, Arg1));
1710: 20 7d 0d 0a 09 76 6f 69 64 20 74 65 73 74 5f 63   }...void test_c
1720: 61 73 65 5f 36 28 29 20 7b 20 73 74 72 69 6e 67  ase_6() { string
1730: 20 41 72 72 30 5b 5d 20 3d 20 7b 22 30 30 20 30   Arr0[] = {"00 0
1740: 31 20 30 32 20 30 33 20 30 34 20 30 35 20 30 36  1 02 03 04 05 06
1750: 20 30 37 20 30 38 20 30 39 22 2c 20 22 31 30 20   07 08 09", "10 
1760: 31 32 20 31 33 20 31 34 20 31 35 20 31 36 20 31  12 13 14 15 16 1
1770: 37 20 31 38 20 31 39 22 2c 20 22 32 30 20 32 31  7 18 19", "20 21
1780: 20 32 32 20 32 33 20 32 34 20 32 35 20 32 36 20   22 23 24 25 26 
1790: 32 37 20 32 38 20 32 39 22 2c 20 22 33 30 20 33  27 28 29", "30 3
17a0: 31 20 33 32 20 33 33 20 33 34 20 33 35 20 33 36  1 32 33 34 35 36
17b0: 20 33 37 20 33 38 20 33 39 22 2c 20 22 34 30 20   37 38 39", "40 
17c0: 34 31 20 34 32 20 34 33 20 34 34 20 34 35 20 34  41 42 43 44 45 4
17d0: 36 20 34 37 20 34 38 20 34 39 22 2c 20 22 35 30  6 47 48 49", "50
17e0: 20 35 31 20 35 32 20 35 33 20 35 34 20 35 35 20   51 52 53 54 55 
17f0: 35 36 20 35 37 20 35 38 20 35 39 22 2c 20 22 36  56 57 58 59", "6
1800: 30 20 36 31 20 36 32 20 36 33 20 36 34 20 36 35  0 61 62 63 64 65
1810: 20 36 36 20 36 37 20 36 38 20 36 39 22 2c 20 22   66 67 68 69", "
1820: 37 30 20 37 31 20 37 32 20 37 33 20 37 34 20 37  70 71 72 73 74 7
1830: 35 20 37 36 20 37 37 20 37 38 20 37 39 22 2c 20  5 76 77 78 79", 
1840: 22 38 30 20 38 31 20 38 32 20 38 33 20 38 34 20  "80 81 82 83 84 
1850: 38 35 20 38 36 20 38 37 20 38 38 20 38 39 22 2c  85 86 87 88 89",
1860: 20 22 39 30 20 39 31 20 39 32 20 39 33 20 39 34   "90 91 92 93 94
1870: 20 39 35 20 39 36 20 39 37 20 39 38 20 39 39 22   95 96 97 98 99"
1880: 7d 3b 0d 0a 20 76 65 63 74 6f 72 20 3c 73 74 72  };.. vector <str
1890: 69 6e 67 3e 20 41 72 67 30 28 41 72 72 30 2c 20  ing> Arg0(Arr0, 
18a0: 41 72 72 30 20 2b 20 28 73 69 7a 65 6f 66 28 41  Arr0 + (sizeof(A
18b0: 72 72 30 29 20 2f 20 73 69 7a 65 6f 66 28 41 72  rr0) / sizeof(Ar
18c0: 72 30 5b 30 5d 29 29 29 3b 20 69 6e 74 20 41 72  r0[0]))); int Ar
18d0: 67 31 20 3d 20 32 30 30 30 30 30 30 30 30 30 3b  g1 = 2000000000;
18e0: 20 73 74 72 69 6e 67 20 41 72 67 32 20 3d 20 22   string Arg2 = "
18f0: 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31  1111111111111111
1900: 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31  1111111111111111
1910: 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 2e  111111111111111.
1920: 2e 2e 22 3b 20 76 65 72 69 66 79 5f 63 61 73 65  .."; verify_case
1930: 28 36 2c 20 41 72 67 32 2c 20 67 65 74 50 6c 61  (6, Arg2, getPla
1940: 74 65 28 41 72 67 30 2c 20 41 72 67 31 29 29 3b  te(Arg0, Arg1));
1950: 20 7d 0d 0a 0d 0a 2f 2f 20 45 4e 44 20 43 55 54   }....// END CUT
1960: 20 48 45 52 45 0d 0a 7d 3b 0d 0a 2f 2f 20 42 45   HERE..};..// BE
1970: 47 49 4e 20 43 55 54 20 48 45 52 45 20 0d 0a 69  GIN CUT HERE ..i
1980: 6e 74 20 6d 61 69 6e 28 29 20 7b 20 56 61 6c 69  nt main() { Vali
1990: 64 50 6c 61 74 65 73 28 29 2e 72 75 6e 5f 74 65  dPlates().run_te
19a0: 73 74 28 2d 31 29 3b 20 7d 0d 0a 2f 2f 20 45 4e  st(-1); }..// EN
19b0: 44 20 43 55 54 20 48 45 52 45 0d 0a              D CUT HERE..