#include <iostream>
using namespace std;
int main ( )
{
int n, m, sum, k;
while ( cin >> n && n) {
cin >> m;
sum = n * 5 + 6 * m;
for ( int i= 1 ; i< n; i++ ) {
cin >> k;
sum + = ( m- k) > 0 ? ( m- k) * 4 : ( k- m) * 6 ;
m = k;
}
cout << sum << endl;
}
return 0 ;
}
#include <iostream>
using namespace std;
int main ( )
{
int k, n, m, y, p[ 10000 ] , b[ 10000 ] ;
cin >> n;
for ( k= 1 ; k<= 2 * n; k++ )
{
p[ k] = k;
printf ( "%d " , p[ k] ) ;
}
for ( m= 1 ; m<= 20000 ; m++ )
{
y= 0 ;
for ( k= 1 ; k<= n; k++ )
{
b[ 2 * k] = p[ k] ;
b[ 2 * k- 1 ] = p[ k+ n] ;
}
for ( k= 1 ; k<= 2 * n; k++ )
p[ k] = b[ k] ;
printf ( "\n%d " , m) ;
for ( k= 1 ; k<= 2 * n; k++ )
printf ( "%d " , p[ k] ) ;
for ( k= 1 ; k<= 2 * n; k++ )
if ( p[ k] != k)
y= 1 ;
if ( y== 0 )
{
printf ( "\nm=%d\n" , m) ; break ;
}
}
return 0 ;
}
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int main ( )
{
int i, n, s;
long t;
cin >> n;
t = time ( NULL ) % 1000 ;
srand ( t) ;
for ( t= 0 , i= 1 ; i<= n; i++ )
t= t+ rand ( ) % 61 + 20 ;
s= t/ 10 ;
printf ( "%d \n" , s) ;
return 0 ;
}
#include <iostream>
#include <string.h>
using namespace std;
typedef struct node
{
char ch[ 1000 ] ;
int data;
int pri;
struct node * next;
} node;
int main ( )
{
char c[ 50 ] ;
node * head = NULL ;
while ( scanf ( "%s" , c) != EOF )
{
if ( ! strcmp ( c, "GET" ) )
{
if ( head== NULL )
cout << "EMPTY QUEUE!" << endl;
else
{
printf ( "%s %d\n" , head- > ch, head- > data) ;
node * n;
n = head;
head = head- > next;
free ( n) ;
}
}
else
{
node * t;
t = ( node * ) malloc ( sizeof ( node) ) ;
scanf ( "%s%d%d" , t- > ch, & ( t- > data) , & ( t- > pri) ) ;
t- > next = NULL ;
if ( head == NULL )
{
head = t;
}
else
{
node * tt;
tt = head;
while ( tt- > next!= NULL && tt- > next- > pri <= t- > pri)
tt = tt- > next;
if ( head- > pri> t- > pri)
{
t- > next= head;
head = t;
}
else
{
t- > next= tt- > next;
tt- > next= t;
}
}
}
}
return 0 ;
}
#include <iostream>
#include <string.h>
using namespace std;
int N, M, ans;
int L[ 200 ] ;
int R[ 200 ] ;
int num[ 200 ] ;
int main ( )
{
int N, M, i, j;
while ( scanf ( "%d%d" , & N, & M) != EOF )
{
char ch;
for ( i= 1 ; i<= N; i++ )
{
num[ i] = 0 ;
L[ i] = R[ i] = 0 ;
for ( j= 1 ; j<= M; j++ )
{
scanf ( " %c" , & ch) ;
if ( ch == 'W' )
{
num[ i] ++ ;
if ( L[ i] == 0 )
{
L[ i] = j;
}
R[ i] = j;
}
}
}
int start = 1 ;
int ans = 0 ;
int row = 0 ;
for ( i= 1 ; i<= N; i++ )
{
if ( num[ i] != 0 )
{
row = i;
}
}
if ( num[ 1 ] != 0 )
{
ans + = ( R[ 1 ] - start) ;
start = R[ 1 ] ;
}
for ( i= 2 ; i<= row; i++ )
{
if ( i% 2 == 0 )
{
if ( R[ i] != 0 )
{
if ( R[ i] > start)
{
ans + = R[ i] - start;
ans + = R[ i] - L[ i] ;
}
else
{
ans + = start - L[ i] ;
}
start = L[ i] ;
}
}
else
{
if ( R[ i] != 0 )
{
if ( L[ i] > start)
{
ans + = R[ i] - start;
}
else
{
ans + = start - L[ i] ;
ans + = R[ i] - L[ i] ;
}
start = L[ i] ;
}
}
}
ans + = row;
ans-- ;
cout << ans << endl;
}
return 0 ;
}
#include <iostream>
#include <string.h>
using namespace std;
int order[ 100 ] ;
char a[ 10 ] , b[ 10 ] ;
int main ( )
{
int n, i;
cin >> n;
while ( n-- ) {
int num;
memset ( order, 0 , sizeof ( order) ) ;
cin >> num;
for ( i= 0 ; i< num; i++ )
{
scanf ( "%s" , a) ;
if ( a[ 0 ] == 'L' )
{
order[ i] -- ;
}
if ( a[ 0 ] == 'R' )
{
order[ i] ++ ;
}
if ( a[ 0 ] == 'S' )
{
int f;
scanf ( "%s" , b) ;
scanf ( "%d" , & f) ;
order[ i] = order[ f- 1 ] ;
}
}
int result = 0 ;
for ( i= 0 ; i< num; i++ ) {
result + = order[ i] ;
}
cout << result << endl;
}
return 0 ;
}