From f499c56d14214cd68b263fc8dea675f30792f796 Mon Sep 17 00:00:00 2001 From: dasha Date: Tue, 5 Dec 2023 15:31:10 +0400 Subject: [PATCH] lw5 --- app/build.gradle.kts | 15 +- app/src/main/AndroidManifest.xml | 5 +- .../myapplication/MainComposeActivity.kt | 3 - .../api/LocalDateTimeSerializer.kt | 26 + .../myapplication/api/MyServerService.kt | 141 + .../myapplication/api/cinema/CinemaRemote.kt | 29 + .../api/cinema/CinemaRemoteMediator.kt | 121 + .../api/cinema/RestCinemaRepository.kt | 88 + .../myapplication/api/order/OrderRemote.kt | 18 + .../api/order/OrderRemoteMediator.kt | 106 + .../api/order/RestOrderRepository.kt | 72 + .../RestOrderSessionRepository.kt | 39 + .../api/session/CinemaWithSessionsRemote.kt | 71 + .../api/session/RestSessionRepository.kt | 51 + .../api/session/SessionFromCartRemote.kt | 20 + .../api/session/SessionFromCinemaRemote.kt | 34 + .../api/session/SessionFromOrderRemote.kt | 22 + .../api/session/SessionRemote.kt | 34 + .../api/session/SessionWithCinemaRemote.kt | 26 + .../api/user/RestUserRepository.kt | 57 + .../myapplication/api/user/UserRemote.kt | 12 + .../usersession/RestUserSessionRepository.kt | 62 + .../example/myapplication/composeui/Cart.kt | 17 +- .../myapplication/database/AppContainer.kt | 118 +- .../myapplication/database/AppDatabase.kt | 28 +- .../composeui/AppViewModelProvider.kt | 24 +- .../entities/composeui/CartViewModel.kt | 26 +- .../database/entities/composeui/CinemaList.kt | 13 +- .../entities/composeui/CinemaListViewModel.kt | 24 +- .../database/entities/composeui/CinemaView.kt | 11 +- .../entities/composeui/CinemaViewModel.kt | 48 +- .../database/entities/composeui/OrderList.kt | 12 +- .../entities/composeui/OrderListViewModel.kt | 14 +- .../entities/composeui/OrderViewModel.kt | 7 +- .../entities/composeui/SessionList.kt | 9 +- .../composeui/edit/CinemaEditViewModel.kt | 2 - .../composeui/edit/SessionEditViewModel.kt | 2 - .../database/entities/dao/CinemaDao.kt | 12 +- .../database/entities/dao/OrderDao.kt | 11 +- .../entities/dao/OrderSessionCrossRefDao.kt | 10 +- .../database/entities/dao/SessionDao.kt | 17 +- .../database/entities/dao/UserDao.kt | 7 +- .../entities/dao/UserSessionCrossRefDao.kt | 6 +- .../database/entities/model/Cinema.kt | 2 +- .../entities/model/SessionFromCinema.kt | 14 +- .../entities/model/SessionFromOrder.kt | 4 +- .../entities/repository/CinemaRepository.kt | 6 +- .../repository/OfflineCinemaRepository.kt | 37 +- .../repository/OfflineOrderRepository.kt | 23 +- .../OfflineOrderSessionRepository.kt | 4 + .../repository/OfflineSessionRepository.kt | 8 +- .../repository/OfflineUserRepository.kt | 7 +- .../OfflineUserSessionRepository.kt | 2 + .../entities/repository/OrderRepository.kt | 7 +- .../entities/repository/SessionRepository.kt | 2 +- .../entities/repository/UserRepository.kt | 2 +- .../database/remotekeys/dao/RemoteKeysDao.kt | 20 + .../database/remotekeys/model/RemoteKeys.kt | 30 + .../repository/OfflineRemoteKeyRepository.kt | 16 + .../repository/RemoteKeyRepository.kt | 10 + .../main/res/xml/network_security_config.xml | 6 + build.gradle.kts | 1 + server/.gitignore | 42 + server/.~data.json | 70088 ++++++++++++++++ server/data.json | 70088 ++++++++++++++++ server/package-lock.json | 1335 + server/package.json | 12 + server/readme.md | 26 + 68 files changed, 143060 insertions(+), 202 deletions(-) create mode 100644 app/src/main/java/com/example/myapplication/api/LocalDateTimeSerializer.kt create mode 100644 app/src/main/java/com/example/myapplication/api/MyServerService.kt create mode 100644 app/src/main/java/com/example/myapplication/api/cinema/CinemaRemote.kt create mode 100644 app/src/main/java/com/example/myapplication/api/cinema/CinemaRemoteMediator.kt create mode 100644 app/src/main/java/com/example/myapplication/api/cinema/RestCinemaRepository.kt create mode 100644 app/src/main/java/com/example/myapplication/api/order/OrderRemote.kt create mode 100644 app/src/main/java/com/example/myapplication/api/order/OrderRemoteMediator.kt create mode 100644 app/src/main/java/com/example/myapplication/api/order/RestOrderRepository.kt create mode 100644 app/src/main/java/com/example/myapplication/api/ordersession/RestOrderSessionRepository.kt create mode 100644 app/src/main/java/com/example/myapplication/api/session/CinemaWithSessionsRemote.kt create mode 100644 app/src/main/java/com/example/myapplication/api/session/RestSessionRepository.kt create mode 100644 app/src/main/java/com/example/myapplication/api/session/SessionFromCartRemote.kt create mode 100644 app/src/main/java/com/example/myapplication/api/session/SessionFromCinemaRemote.kt create mode 100644 app/src/main/java/com/example/myapplication/api/session/SessionFromOrderRemote.kt create mode 100644 app/src/main/java/com/example/myapplication/api/session/SessionRemote.kt create mode 100644 app/src/main/java/com/example/myapplication/api/session/SessionWithCinemaRemote.kt create mode 100644 app/src/main/java/com/example/myapplication/api/user/RestUserRepository.kt create mode 100644 app/src/main/java/com/example/myapplication/api/user/UserRemote.kt create mode 100644 app/src/main/java/com/example/myapplication/api/usersession/RestUserSessionRepository.kt create mode 100644 app/src/main/java/com/example/myapplication/database/remotekeys/dao/RemoteKeysDao.kt create mode 100644 app/src/main/java/com/example/myapplication/database/remotekeys/model/RemoteKeys.kt create mode 100644 app/src/main/java/com/example/myapplication/database/remotekeys/repository/OfflineRemoteKeyRepository.kt create mode 100644 app/src/main/java/com/example/myapplication/database/remotekeys/repository/RemoteKeyRepository.kt create mode 100644 app/src/main/res/xml/network_security_config.xml create mode 100644 server/.gitignore create mode 100644 server/.~data.json create mode 100644 server/data.json create mode 100644 server/package-lock.json create mode 100644 server/package.json create mode 100644 server/readme.md diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 45a4f09..add4282 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -2,6 +2,7 @@ plugins { id("com.android.application") id("org.jetbrains.kotlin.android") id("com.google.devtools.ksp") + id("org.jetbrains.kotlin.plugin.serialization") } android { @@ -57,11 +58,6 @@ dependencies { implementation("io.github.vanpra.compose-material-dialogs:datetime:0.8.1-rc") coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.1.6") - // Pagination - val paging_version = "3.2.0-rc01" - implementation("androidx.paging:paging-runtime:$paging_version") - implementation("androidx.paging:paging-compose:$paging_version") - // Core implementation("androidx.core:core-ktx:1.9.0") implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.2") @@ -74,6 +70,7 @@ dependencies { implementation("androidx.compose.ui:ui-graphics") implementation("androidx.compose.ui:ui-tooling-preview") implementation("androidx.compose.material3:material3:1.1.2") + implementation("androidx.compose.material:material:1.4.3") // Room val room_version = "2.5.2" @@ -83,6 +80,14 @@ dependencies { implementation("androidx.room:room-ktx:$room_version") implementation("androidx.room:room-paging:$room_version") + // retrofit + val retrofitVersion = "2.9.0" + implementation("com.squareup.retrofit2:retrofit:$retrofitVersion") + implementation("com.squareup.okhttp3:logging-interceptor:4.11.0") + implementation("androidx.paging:paging-compose:3.2.1") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1") + implementation("com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:1.0.0") + // Tests testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.1.5") diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 084d36d..470eb82 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,6 +2,8 @@ + + + tools:targetApi="31" + android:networkSecurityConfig="@xml/network_security_config"> { + override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("LocalDateTime", PrimitiveKind.STRING) + + override fun serialize(encoder: Encoder, value: LocalDateTime) { + val dateFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm") + encoder.encodeString(dateFormatter.format(value).toString()) + } + + override fun deserialize(decoder: Decoder): LocalDateTime { + val dateFormatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm") + return LocalDateTime.parse(decoder.decodeString(), dateFormatter) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/api/MyServerService.kt b/app/src/main/java/com/example/myapplication/api/MyServerService.kt new file mode 100644 index 0000000..4b2f897 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/MyServerService.kt @@ -0,0 +1,141 @@ +package com.example.myapplication.api + +import com.example.myapplication.api.cinema.CinemaRemote +import com.example.myapplication.api.order.OrderRemote +import com.example.myapplication.api.session.SessionFromCinemaRemote +import com.example.myapplication.api.session.SessionRemote +import com.example.myapplication.api.session.SessionWithCinemaRemote +import com.example.myapplication.api.user.UserRemote +import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory +import kotlinx.serialization.json.Json +import kotlinx.serialization.modules.SerializersModule +import kotlinx.serialization.modules.contextual +import okhttp3.MediaType.Companion.toMediaType +import okhttp3.OkHttpClient +import okhttp3.logging.HttpLoggingInterceptor +import retrofit2.Retrofit +import retrofit2.http.Body +import retrofit2.http.DELETE +import retrofit2.http.GET +import retrofit2.http.POST +import retrofit2.http.PUT +import retrofit2.http.Path +import retrofit2.http.Query + +interface MyServerService { + @GET("orders") + suspend fun getOrders(): List + + @GET("users") + suspend fun getUsers(): List + + @GET("cinemas") + suspend fun getCinemas( + @Query("_page") page: Int, + @Query("_limit") limit: Int, + ): List + + @GET("cinemas/{id}") + suspend fun getCinema( + @Path("id") id: Int, + ): CinemaRemote + + @POST("cinemas") + suspend fun createCinema( + @Body cinema: CinemaRemote, + ): CinemaRemote + + @PUT("cinemas/{id}") + suspend fun updateCinema( + @Path("id") id: Int, + @Body cinema: CinemaRemote, + ): CinemaRemote + + @DELETE("cinemas/{id}") + suspend fun deleteCinema( + @Path("id") id: Int, + ) + + @GET("cinemas/{cinemaId}/sessions") + suspend fun getSessionsForCinema( + @Path("cinemaId") cinemaId: Int + ): List + + @GET("sessions/{id}?_expand=cinema") + suspend fun getSession( + @Path("id") id: Int, + ): SessionWithCinemaRemote + + @POST("sessions") + suspend fun createSession( + @Body session: SessionRemote, + ): SessionRemote + + @PUT("sessions/{id}") + suspend fun updateSession( + @Path("id") id: Int, + @Body session: SessionRemote, + ): SessionRemote + + @DELETE("sessions/{id}") + suspend fun deleteSession( + @Path("id") id: Int, + ): SessionFromCinemaRemote + + @GET("users/{id}") + suspend fun getUserCart( + @Path("id") id: Int, + ): UserRemote + + @PUT("users/{id}") + suspend fun updateUserCart( + @Path("id") id: Int, + @Body userRemote: UserRemote, + ): UserRemote + + @GET("orders") + suspend fun getOrders( + @Query("_page") page: Int, + @Query("_limit") limit: Int, + ): List + + @GET("orders/{id}") + suspend fun getOrder( + @Path("id") id: Int, + ): OrderRemote + + @POST("orders") + suspend fun createOrder( + @Body cinema: OrderRemote, + ): OrderRemote + + @PUT("orders/{id}") + suspend fun updateOrder( + @Path("id") id: Int, + @Body orderRemote: OrderRemote, + ): OrderRemote + + companion object { + private const val BASE_URL = "http://192.168.154.166:8079/" + + @Volatile + private var INSTANCE: MyServerService? = null + + fun getInstance(): MyServerService { + return INSTANCE ?: synchronized(this) { + val logger = HttpLoggingInterceptor() + logger.level = HttpLoggingInterceptor.Level.BASIC + val client = OkHttpClient.Builder().addInterceptor(logger).build() + val json = Json { + ignoreUnknownKeys = true + serializersModule = SerializersModule { + contextual(LocalDateTimeSerializer) + } + } // Создаем экземпляр Json с ignoreUnknownKeys = true + return Retrofit.Builder().baseUrl(BASE_URL).client(client) + .addConverterFactory(json.asConverterFactory("application/json".toMediaType())) // Применяем конфигурацию Json + .build().create(MyServerService::class.java).also { INSTANCE = it } + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/api/cinema/CinemaRemote.kt b/app/src/main/java/com/example/myapplication/api/cinema/CinemaRemote.kt new file mode 100644 index 0000000..f722793 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/cinema/CinemaRemote.kt @@ -0,0 +1,29 @@ +package com.example.myapplication.api.cinema + +import com.example.myapplication.database.entities.model.Cinema +import kotlinx.serialization.Serializable + +@Serializable +data class CinemaRemote( + val id: Int = 0, + val name: String = "", + val description: String = "", + val image: ByteArray? = null, + val year: Long = 0 +) + +fun CinemaRemote.toCinema(): Cinema = Cinema( + id, + name, + description, + image, + year +) + +fun Cinema.toCinemaRemote(): CinemaRemote = CinemaRemote( + uid, + name, + description, + image, + year +) \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/api/cinema/CinemaRemoteMediator.kt b/app/src/main/java/com/example/myapplication/api/cinema/CinemaRemoteMediator.kt new file mode 100644 index 0000000..6731b5b --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/cinema/CinemaRemoteMediator.kt @@ -0,0 +1,121 @@ +package com.example.myapplication.api.cinema + +import androidx.paging.ExperimentalPagingApi +import androidx.paging.LoadType +import androidx.paging.PagingState +import androidx.paging.RemoteMediator +import androidx.room.withTransaction +import com.example.myapplication.api.MyServerService +import com.example.myapplication.api.session.toSession +import com.example.myapplication.database.AppDatabase +import com.example.myapplication.database.entities.model.Cinema +import com.example.myapplication.database.entities.repository.OfflineCinemaRepository +import com.example.myapplication.database.entities.repository.OfflineSessionRepository +import com.example.myapplication.database.remotekeys.model.RemoteKeyType +import com.example.myapplication.database.remotekeys.model.RemoteKeys +import com.example.myapplication.database.remotekeys.repository.OfflineRemoteKeyRepository +import retrofit2.HttpException +import java.io.IOException + +@OptIn(ExperimentalPagingApi::class) +class CinemaRemoteMediator( + private val service: MyServerService, + private val dbCinemaRepository: OfflineCinemaRepository, + private val dbSessionRepository: OfflineSessionRepository, + private val dbRemoteKeyRepository: OfflineRemoteKeyRepository, + private val database: AppDatabase +) : RemoteMediator() { + + override suspend fun initialize(): InitializeAction { + return InitializeAction.LAUNCH_INITIAL_REFRESH + } + + override suspend fun load( + loadType: LoadType, + state: PagingState + ): MediatorResult { + val page = when (loadType) { + LoadType.REFRESH -> { + val remoteKeys = getRemoteKeyClosestToCurrentPosition(state) + remoteKeys?.nextKey?.minus(1) ?: 1 + } + + LoadType.PREPEND -> { + val remoteKeys = getRemoteKeyForFirstItem(state) + remoteKeys?.prevKey + ?: return MediatorResult.Success(endOfPaginationReached = remoteKeys != null) + } + + LoadType.APPEND -> { + val remoteKeys = getRemoteKeyForLastItem(state) + remoteKeys?.nextKey + ?: return MediatorResult.Success(endOfPaginationReached = remoteKeys != null) + } + } + + try { + val cinemas = service.getCinemas(page, state.config.pageSize).map { it.toCinema() } + val cinemasWithSessions = cinemas.map { cinema -> + service.getSessionsForCinema(cinema.uid).map { + service.getSession(it.id).toSession() + } + } + val endOfPaginationReached = cinemas.isEmpty() + database.withTransaction { + if (loadType == LoadType.REFRESH) { + dbRemoteKeyRepository.deleteRemoteKey(RemoteKeyType.CINEMA) + dbSessionRepository.clearSessions() + dbCinemaRepository.clearCinemas() + } + val prevKey = if (page == 1) null else page - 1 + val nextKey = if (endOfPaginationReached) null else page + 1 + val keys = cinemas.map { + RemoteKeys( + entityId = it.uid, + type = RemoteKeyType.CINEMA, + prevKey = prevKey, + nextKey = nextKey + ) + } + dbRemoteKeyRepository.createRemoteKeys(keys) + dbCinemaRepository.insertCinemas(cinemas) + cinemasWithSessions.forEach { + try { + dbSessionRepository.insertSessions(it) + } catch (_: Exception) { + } + } + } + return MediatorResult.Success(endOfPaginationReached = endOfPaginationReached) + } catch (exception: IOException) { + return MediatorResult.Error(exception) + } catch (exception: HttpException) { + return MediatorResult.Error(exception) + } + } + + private suspend fun getRemoteKeyForLastItem(state: PagingState): RemoteKeys? { + return state.pages.lastOrNull { it.data.isNotEmpty() }?.data?.lastOrNull() + ?.let { cinema -> + dbRemoteKeyRepository.getAllRemoteKeys(cinema.uid, RemoteKeyType.CINEMA) + } + } + + private suspend fun getRemoteKeyForFirstItem(state: PagingState): RemoteKeys? { + return state.pages.firstOrNull { it.data.isNotEmpty() }?.data?.firstOrNull() + ?.let { cinema -> + dbRemoteKeyRepository.getAllRemoteKeys(cinema.uid, RemoteKeyType.CINEMA) + } + } + + private suspend fun getRemoteKeyClosestToCurrentPosition( + state: PagingState + ): RemoteKeys? { + return state.anchorPosition?.let { position -> + state.closestItemToPosition(position)?.uid?.let { cinemaUid -> + dbRemoteKeyRepository.getAllRemoteKeys(cinemaUid, RemoteKeyType.CINEMA) + } + } + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/api/cinema/RestCinemaRepository.kt b/app/src/main/java/com/example/myapplication/api/cinema/RestCinemaRepository.kt new file mode 100644 index 0000000..19128ee --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/cinema/RestCinemaRepository.kt @@ -0,0 +1,88 @@ +package com.example.myapplication.api.cinema + +import android.util.Log +import androidx.paging.ExperimentalPagingApi +import androidx.paging.Pager +import androidx.paging.PagingConfig +import androidx.paging.PagingData +import com.example.myapplication.api.MyServerService +import com.example.myapplication.database.AppContainer +import com.example.myapplication.database.AppDatabase +import com.example.myapplication.database.entities.model.Cinema +import com.example.myapplication.database.entities.model.CinemaWithSessions +import com.example.myapplication.database.entities.model.SessionFromCinema +import com.example.myapplication.database.entities.repository.CinemaRepository +import com.example.myapplication.database.entities.repository.OfflineCinemaRepository +import com.example.myapplication.database.entities.repository.OfflineSessionRepository +import com.example.myapplication.database.remotekeys.repository.OfflineRemoteKeyRepository +import kotlinx.coroutines.flow.Flow + +class RestCinemaRepository( + private val service: MyServerService, + private val dbCinemaRepository: OfflineCinemaRepository, + private val dbSessionRepository: OfflineSessionRepository, + private val dbRemoteKeyRepository: OfflineRemoteKeyRepository, + private val database: AppDatabase +) : CinemaRepository { + override fun getAllCinemas(): Flow> { + Log.d(RestCinemaRepository::class.simpleName, "Get cinemas") + + val pagingSourceFactory = { dbCinemaRepository.getAllCinemasPagingSource() } + + @OptIn(ExperimentalPagingApi::class) + return Pager( + config = PagingConfig( + pageSize = AppContainer.LIMIT, + enablePlaceholders = false + ), + remoteMediator = CinemaRemoteMediator( + service, + dbCinemaRepository, + dbSessionRepository, + dbRemoteKeyRepository, + database, + ), + pagingSourceFactory = pagingSourceFactory + ).flow + } + + override suspend fun getCinema(uid: Int): CinemaWithSessions { + val cinema = service.getCinema(uid).toCinema() + + val sessions = service.getSessionsForCinema(uid).map { x -> + SessionFromCinema( + x.id, + x.dateTime, + x.price, + x.maxCount - service.getOrders().flatMap { order -> + order.sessions.filter { session -> session.id == x.id } + }.sumOf { session -> session.count }, + uid + ) + } + return CinemaWithSessions(cinema, sessions) + } + + override suspend fun insertCinema(cinema: Cinema) { + service.createCinema(cinema.toCinemaRemote()).toCinema() + } + + override suspend fun updateCinema(cinema: Cinema) { + service.updateCinema(cinema.uid, cinema.toCinemaRemote()).toCinema() + } + + override suspend fun deleteCinema(cinema: Cinema) { + val cart = service.getUsers() + cart.forEach { userRemote -> + userRemote.sessions = userRemote.sessions.filter { x -> x.cinemaId != cinema.uid } + service.updateUserCart(userRemote.id, userRemote) + } + val orders = service.getOrders() + orders.forEach { orderRemote -> + orderRemote.sessions = orderRemote.sessions.filter { x -> x.cinemaId != cinema.uid } + service.updateOrder(orderRemote.id, orderRemote) + } + service.deleteCinema(cinema.uid) + dbCinemaRepository.deleteCinema(cinema) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/api/order/OrderRemote.kt b/app/src/main/java/com/example/myapplication/api/order/OrderRemote.kt new file mode 100644 index 0000000..daa79d7 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/order/OrderRemote.kt @@ -0,0 +1,18 @@ +package com.example.myapplication.api.order + +import com.example.myapplication.api.session.SessionFromOrderRemote +import com.example.myapplication.database.entities.model.Order +import kotlinx.serialization.Serializable + +@Serializable +data class OrderRemote( + val id: Int = 0, val userId: Int = 0, var sessions: List = emptyList() +) + +fun OrderRemote.toOrder(): Order = Order( + id, userId +) + +fun Order.toOrderRemote(): OrderRemote = OrderRemote( + uid, userId!!, sessions = emptyList() +) \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/api/order/OrderRemoteMediator.kt b/app/src/main/java/com/example/myapplication/api/order/OrderRemoteMediator.kt new file mode 100644 index 0000000..a5599db --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/order/OrderRemoteMediator.kt @@ -0,0 +1,106 @@ +package com.example.myapplication.api.order + +import androidx.paging.ExperimentalPagingApi +import androidx.paging.LoadType +import androidx.paging.PagingState +import androidx.paging.RemoteMediator +import androidx.room.withTransaction +import com.example.myapplication.api.MyServerService +import com.example.myapplication.database.AppDatabase +import com.example.myapplication.database.entities.model.Order +import com.example.myapplication.database.entities.repository.OfflineOrderRepository +import com.example.myapplication.database.remotekeys.model.RemoteKeyType +import com.example.myapplication.database.remotekeys.model.RemoteKeys +import com.example.myapplication.database.remotekeys.repository.OfflineRemoteKeyRepository +import retrofit2.HttpException +import java.io.IOException + +@OptIn(ExperimentalPagingApi::class) +class OrderRemoteMediator( + private val service: MyServerService, + private val dbOrderRepository: OfflineOrderRepository, + private val dbRemoteKeyRepository: OfflineRemoteKeyRepository, + private val database: AppDatabase +) : RemoteMediator() { + + override suspend fun initialize(): InitializeAction { + return InitializeAction.LAUNCH_INITIAL_REFRESH + } + + override suspend fun load( + loadType: LoadType, + state: PagingState + ): MediatorResult { + val page = when (loadType) { + LoadType.REFRESH -> { + val remoteKeys = getRemoteKeyClosestToCurrentPosition(state) + remoteKeys?.nextKey?.minus(1) ?: 1 + } + + LoadType.PREPEND -> { + val remoteKeys = getRemoteKeyForFirstItem(state) + remoteKeys?.prevKey + ?: return MediatorResult.Success(endOfPaginationReached = remoteKeys != null) + } + + LoadType.APPEND -> { + val remoteKeys = getRemoteKeyForLastItem(state) + remoteKeys?.nextKey + ?: return MediatorResult.Success(endOfPaginationReached = remoteKeys != null) + } + } + + try { + val orders = service.getOrders(page, state.config.pageSize).map { it.toOrder() } + val endOfPaginationReached = orders.isEmpty() + database.withTransaction { + if (loadType == LoadType.REFRESH) { + dbRemoteKeyRepository.deleteRemoteKey(RemoteKeyType.ORDER) + dbOrderRepository.clearOrders() + } + val prevKey = if (page == 1) null else page - 1 + val nextKey = if (endOfPaginationReached) null else page + 1 + val keys = orders.map { + RemoteKeys( + entityId = it.uid, + type = RemoteKeyType.ORDER, + prevKey = prevKey, + nextKey = nextKey + ) + } + dbRemoteKeyRepository.createRemoteKeys(keys) + dbOrderRepository.insertOrders(orders) + } + return MediatorResult.Success(endOfPaginationReached = endOfPaginationReached) + } catch (exception: IOException) { + return MediatorResult.Error(exception) + } catch (exception: HttpException) { + return MediatorResult.Error(exception) + } + } + + private suspend fun getRemoteKeyForLastItem(state: PagingState): RemoteKeys? { + return state.pages.lastOrNull { it.data.isNotEmpty() }?.data?.lastOrNull() + ?.let { order -> + dbRemoteKeyRepository.getAllRemoteKeys(order.uid, RemoteKeyType.ORDER) + } + } + + private suspend fun getRemoteKeyForFirstItem(state: PagingState): RemoteKeys? { + return state.pages.firstOrNull { it.data.isNotEmpty() }?.data?.firstOrNull() + ?.let { order -> + dbRemoteKeyRepository.getAllRemoteKeys(order.uid, RemoteKeyType.ORDER) + } + } + + private suspend fun getRemoteKeyClosestToCurrentPosition( + state: PagingState + ): RemoteKeys? { + return state.anchorPosition?.let { position -> + state.closestItemToPosition(position)?.uid?.let { orderUid -> + dbRemoteKeyRepository.getAllRemoteKeys(orderUid, RemoteKeyType.ORDER) + } + } + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/api/order/RestOrderRepository.kt b/app/src/main/java/com/example/myapplication/api/order/RestOrderRepository.kt new file mode 100644 index 0000000..7e3e847 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/order/RestOrderRepository.kt @@ -0,0 +1,72 @@ +package com.example.myapplication.api.order + +import android.util.Log +import androidx.paging.ExperimentalPagingApi +import androidx.paging.Pager +import androidx.paging.PagingConfig +import androidx.paging.PagingData +import com.example.myapplication.api.MyServerService +import com.example.myapplication.api.cinema.toCinemaRemote +import com.example.myapplication.api.session.toSessionFromOrder +import com.example.myapplication.database.AppContainer +import com.example.myapplication.database.AppDatabase +import com.example.myapplication.database.entities.model.Order +import com.example.myapplication.database.entities.model.OrderSessionCrossRef +import com.example.myapplication.database.entities.model.SessionFromOrder +import com.example.myapplication.database.entities.repository.OfflineCinemaRepository +import com.example.myapplication.database.entities.repository.OfflineOrderRepository +import com.example.myapplication.database.entities.repository.OfflineOrderSessionRepository +import com.example.myapplication.database.entities.repository.OrderRepository +import com.example.myapplication.database.remotekeys.repository.OfflineRemoteKeyRepository +import kotlinx.coroutines.flow.Flow + +class RestOrderRepository( + private val service: MyServerService, + private val dbOrderRepository: OfflineOrderRepository, + private val dbCinemaRepository: OfflineCinemaRepository, + private val dbOrderSessionRepository: OfflineOrderSessionRepository, + private val dbRemoteKeyRepository: OfflineRemoteKeyRepository, + private val database: AppDatabase +) : OrderRepository { + override fun getAllOrders(userId: Int?): Flow> { + Log.d(RestOrderRepository::class.simpleName, "Get orders") + + val pagingSourceFactory = { dbOrderRepository.getAllOrdersPagingSource(userId) } + + @OptIn(ExperimentalPagingApi::class) + return Pager( + config = PagingConfig( + pageSize = AppContainer.LIMIT, + enablePlaceholders = false + ), + remoteMediator = OrderRemoteMediator( + service, + dbOrderRepository, + dbRemoteKeyRepository, + database, + ), + pagingSourceFactory = pagingSourceFactory + ).flow + } + + override suspend fun getOrder(uid: Int): List { + val order = service.getOrder(uid) + + dbOrderSessionRepository.deleteOrderSessions(uid) + order.sessions.map { + dbOrderSessionRepository.insertOrderSession( + OrderSessionCrossRef( + uid, + it.id, + it.frozenPrice, + it.count + ) + ) + } + return order.sessions.map { x -> x.toSessionFromOrder(dbCinemaRepository.getCinema(x.cinemaId).cinema.toCinemaRemote()) } + } + + override suspend fun insertOrder(order: Order): Long { + return dbOrderRepository.insertOrder(service.createOrder(order.toOrderRemote()).toOrder()) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/api/ordersession/RestOrderSessionRepository.kt b/app/src/main/java/com/example/myapplication/api/ordersession/RestOrderSessionRepository.kt new file mode 100644 index 0000000..400d28e --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/ordersession/RestOrderSessionRepository.kt @@ -0,0 +1,39 @@ +package com.example.myapplication.api.ordersession + +import com.example.myapplication.api.MyServerService +import com.example.myapplication.api.session.SessionFromOrderRemote +import com.example.myapplication.api.session.toSession +import com.example.myapplication.database.entities.model.OrderSessionCrossRef +import com.example.myapplication.database.entities.repository.OfflineOrderSessionRepository +import com.example.myapplication.database.entities.repository.OrderSessionRepository + +class RestOrderSessionRepository( + private val service: MyServerService, + private val dbOrderSessionRepository: OfflineOrderSessionRepository +) : OrderSessionRepository { + override suspend fun insertOrderSession(orderSessionCrossRef: OrderSessionCrossRef) { + var orderRemote = service.getOrder(orderSessionCrossRef.orderId) + val session = service.getSession(orderSessionCrossRef.sessionId).toSession() + + val sessionFromOrder = SessionFromOrderRemote( + session.uid, + session.dateTime, + session.price, + orderSessionCrossRef.count, + session.cinemaId + ) + + val updatedSessions = orderRemote.sessions.toMutableList() + updatedSessions.add(sessionFromOrder) + + orderRemote = orderRemote.copy(sessions = updatedSessions) + service.updateOrder(orderSessionCrossRef.orderId, orderRemote) + dbOrderSessionRepository.insertOrderSession(orderSessionCrossRef) + } + + override suspend fun updateOrderSession(orderSessionCrossRef: OrderSessionCrossRef) { + } + + override suspend fun deleteOrderSession(orderSessionCrossRef: OrderSessionCrossRef) { + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/api/session/CinemaWithSessionsRemote.kt b/app/src/main/java/com/example/myapplication/api/session/CinemaWithSessionsRemote.kt new file mode 100644 index 0000000..beb8ccc --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/session/CinemaWithSessionsRemote.kt @@ -0,0 +1,71 @@ +package com.example.myapplication.api.session + +import com.example.myapplication.api.cinema.CinemaRemote +import com.example.myapplication.api.cinema.toCinema +import com.example.myapplication.api.session.SessionFromCinemaRemote +import com.example.myapplication.api.session.toSessionFromCinema +import com.example.myapplication.database.entities.model.Cinema +import com.example.myapplication.database.entities.model.CinemaWithSessions +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +/* +@Serializable +data class CinemaWithSessionsRemote( + val id: Int = 0, + val name: String = "", + val description: String = "", + val image: ByteArray? = null, + val year: Long = 0, + @SerialName("sessions") + val sessions: List, +) { + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as CinemaWithSessionsRemote + + if (id != other.id) return false + if (name != other.name) return false + if (description != other.description) return false + if (image != null) { + if (other.image == null) return false + if (!image.contentEquals(other.image)) return false + } else if (other.image != null) return false + if (year != other.year) return false + if (sessions != other.sessions) return false + + return true + } + + override fun hashCode(): Int { + var result = id + result = 31 * result + name.hashCode() + result = 31 * result + description.hashCode() + result = 31 * result + (image?.contentHashCode() ?: 0) + result = 31 * result + year.hashCode() + result = 31 * result + sessions.hashCode() + return result + } +} + +fun CinemaWithSessionsRemote.toCinemaWithSessions(): CinemaWithSessions = CinemaWithSessions( + Cinema( + id, + name, + description, + image, + year + ), + sessions.map { x -> x.toSessionFromCinema() } +) + +fun Cinema.toCinemaWithSessionsRemote(): CinemaWithSessionsRemote = CinemaWithSessionsRemote( + uid, + name, + description, + image, + year, + sessions = emptyList() +)*/ diff --git a/app/src/main/java/com/example/myapplication/api/session/RestSessionRepository.kt b/app/src/main/java/com/example/myapplication/api/session/RestSessionRepository.kt new file mode 100644 index 0000000..2707838 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/session/RestSessionRepository.kt @@ -0,0 +1,51 @@ +package com.example.myapplication.api.session + +import com.example.myapplication.api.MyServerService +import com.example.myapplication.database.entities.model.Session +import com.example.myapplication.database.entities.repository.OfflineOrderSessionRepository +import com.example.myapplication.database.entities.repository.OfflineSessionRepository +import com.example.myapplication.database.entities.repository.OfflineUserSessionRepository +import com.example.myapplication.database.entities.repository.SessionRepository + +class RestSessionRepository( + private val service: MyServerService, + private val dbSessionRepository: OfflineSessionRepository, + private val dbUserSessionRepository: OfflineUserSessionRepository, + private val dbOrderSessionRepository: OfflineOrderSessionRepository, +) : SessionRepository { + override suspend fun getSession(uid: Int): Session { + return service.getSession(uid).toSession() + } + + override suspend fun insertSession(session: Session) { + dbSessionRepository.insertSession( + service.createSession(session.toSessionRemote()).toSession() + ) + } + + override suspend fun updateSession(session: Session) { + dbSessionRepository.updateSession( + service.updateSession( + session.uid, + session.toSessionRemote() + ).toSession() + ) + } + + override suspend fun deleteSession(session: Session) { + val cart = service.getUsers() + cart.forEach { userRemote -> + userRemote.sessions = userRemote.sessions.filter { x -> x.id != session.uid } + service.updateUserCart(userRemote.id, userRemote) + } + val orders = service.getOrders() + orders.forEach { orderRemote -> + orderRemote.sessions = orderRemote.sessions.filter { x -> x.id != session.uid } + service.updateOrder(orderRemote.id, orderRemote) + } + service.deleteSession(session.uid) + dbUserSessionRepository.deleteSessionsByUid(session.uid) + dbOrderSessionRepository.deleteSessionsByUid(session.uid) + dbSessionRepository.deleteSession(session) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/api/session/SessionFromCartRemote.kt b/app/src/main/java/com/example/myapplication/api/session/SessionFromCartRemote.kt new file mode 100644 index 0000000..e8e80de --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/session/SessionFromCartRemote.kt @@ -0,0 +1,20 @@ +package com.example.myapplication.api.session + +import com.example.myapplication.api.cinema.CinemaRemote +import com.example.myapplication.api.cinema.toCinema +import com.example.myapplication.database.entities.model.SessionFromCart +import kotlinx.serialization.Contextual +import kotlinx.serialization.Serializable +import org.threeten.bp.LocalDateTime + +@Serializable +class SessionFromCartRemote( + val id: Int = 0, + var count: Int = 0, + var cinemaId: Int = 0, +) + +fun SessionFromCartRemote.toSessionFromCart(cinema: CinemaRemote, dateTime: LocalDateTime, price: Double, availableCount: Int): SessionFromCart = + SessionFromCart( + id, dateTime, price, availableCount, count, cinema.id, cinema.toCinema() + ) \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/api/session/SessionFromCinemaRemote.kt b/app/src/main/java/com/example/myapplication/api/session/SessionFromCinemaRemote.kt new file mode 100644 index 0000000..9efe362 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/session/SessionFromCinemaRemote.kt @@ -0,0 +1,34 @@ +package com.example.myapplication.api.session + +import com.example.myapplication.database.entities.model.Session +import com.example.myapplication.database.entities.model.SessionFromCinema +import kotlinx.serialization.Contextual +import kotlinx.serialization.Serializable +import org.threeten.bp.LocalDateTime + +@Serializable +class SessionFromCinemaRemote( + val id: Int = 0, + @Contextual + val dateTime: LocalDateTime = LocalDateTime.MIN, + val price: Double = 0.0, + val maxCount: Int = 0, + val availableCount: Int = 0, + val cinemaId: Int = 0, +) + +fun SessionFromCinemaRemote.toSessionFromCinema(): SessionFromCinema = SessionFromCinema( + id, + dateTime, + price, + availableCount, + cinemaId +) + +fun SessionFromCinema.toSessionFromCinemaRemote(): SessionFromCinemaRemote = SessionFromCinemaRemote( + uid, + dateTime, + price, + availableCount, + cinemaId +) \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/api/session/SessionFromOrderRemote.kt b/app/src/main/java/com/example/myapplication/api/session/SessionFromOrderRemote.kt new file mode 100644 index 0000000..58aa612 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/session/SessionFromOrderRemote.kt @@ -0,0 +1,22 @@ +package com.example.myapplication.api.session + +import com.example.myapplication.api.cinema.CinemaRemote +import com.example.myapplication.api.cinema.toCinema +import com.example.myapplication.database.entities.model.SessionFromOrder +import kotlinx.serialization.Contextual +import kotlinx.serialization.Serializable +import org.threeten.bp.LocalDateTime + +@Serializable +class SessionFromOrderRemote( + val id: Int = 0, + @Contextual val dateTime: LocalDateTime = LocalDateTime.MIN, + val frozenPrice: Double = 0.0, + val count: Int = 0, + val cinemaId: Int = 0, +) + +fun SessionFromOrderRemote.toSessionFromOrder(cinema: CinemaRemote): SessionFromOrder = + SessionFromOrder( + id, dateTime, frozenPrice, count, cinemaId, cinema.toCinema() + ) \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/api/session/SessionRemote.kt b/app/src/main/java/com/example/myapplication/api/session/SessionRemote.kt new file mode 100644 index 0000000..f0f88b6 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/session/SessionRemote.kt @@ -0,0 +1,34 @@ +package com.example.myapplication.api.session + +import com.example.myapplication.api.cinema.CinemaRemote +import com.example.myapplication.api.cinema.toCinema +import com.example.myapplication.database.entities.model.Session +import kotlinx.serialization.Contextual +import kotlinx.serialization.Serializable +import org.threeten.bp.LocalDateTime + +@Serializable +data class SessionRemote( + val id: Int = 0, + @Contextual + val dateTime: LocalDateTime, + val price: Double, + val maxCount: Int, + val cinemaId: Int = 0 +) + +fun SessionRemote.toSession(): Session = Session( + id, + dateTime, + price, + maxCount, + cinemaId +) + +fun Session.toSessionRemote(): SessionRemote = SessionRemote( + uid, + dateTime, + price, + maxCount, + cinemaId +) \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/api/session/SessionWithCinemaRemote.kt b/app/src/main/java/com/example/myapplication/api/session/SessionWithCinemaRemote.kt new file mode 100644 index 0000000..29ab4ff --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/session/SessionWithCinemaRemote.kt @@ -0,0 +1,26 @@ +package com.example.myapplication.api.session + +import com.example.myapplication.api.cinema.CinemaRemote +import com.example.myapplication.database.entities.model.Session +import kotlinx.serialization.Contextual +import kotlinx.serialization.Serializable +import org.threeten.bp.LocalDateTime + +@Serializable +data class SessionWithCinemaRemote( + val id: Int = 0, + @Contextual + val dateTime: LocalDateTime, + val price: Double, + val maxCount: Int, + val cinemaId: Int = 0, + val cinema: CinemaRemote, +) + +fun SessionWithCinemaRemote.toSession(): Session = Session( + id, + dateTime, + price, + maxCount, + cinemaId +) \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/api/user/RestUserRepository.kt b/app/src/main/java/com/example/myapplication/api/user/RestUserRepository.kt new file mode 100644 index 0000000..8c07918 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/user/RestUserRepository.kt @@ -0,0 +1,57 @@ +package com.example.myapplication.api.user + +import android.util.Log +import com.example.myapplication.api.MyServerService +import com.example.myapplication.api.session.toSessionFromCart +import com.example.myapplication.database.entities.model.SessionFromCart +import com.example.myapplication.database.entities.model.User +import com.example.myapplication.database.entities.model.UserSessionCrossRef +import com.example.myapplication.database.entities.repository.OfflineUserRepository +import com.example.myapplication.database.entities.repository.OfflineUserSessionRepository +import com.example.myapplication.database.entities.repository.UserRepository +import kotlinx.coroutines.flow.Flow + +class RestUserRepository( + private val service: MyServerService, + private val dbUserRepository: OfflineUserRepository, + private val dbUserSessionRepository: OfflineUserSessionRepository, +) : UserRepository { + override fun getAllUsers(): Flow> { + Log.d(RestUserRepository::class.simpleName, "Get users") + return dbUserRepository.getAllUsers() + } + + override suspend fun getCartByUser(userId: Int): List { + val cart = service.getUserCart(userId) + dbUserSessionRepository.deleteUserSessions(userId) + cart.sessions.map { sessionFromCartRemote -> + dbUserSessionRepository.insertUserSession( + UserSessionCrossRef( + userId, + sessionFromCartRemote.id, + sessionFromCartRemote.count + ) + ) + } + + return cart.sessions.map { + val session = service.getSession(it.id) + it.toSessionFromCart( + session.cinema, + session.dateTime, + session.price, + session.maxCount - service.getOrders().flatMap { order -> + order.sessions.filter { session -> session.id == it.id } + }.sumOf { session -> session.count }) + } + } + + override suspend fun insertUser(user: User) { + } + + override suspend fun updateUser(user: User) { + } + + override suspend fun deleteUser(user: User) { + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/api/user/UserRemote.kt b/app/src/main/java/com/example/myapplication/api/user/UserRemote.kt new file mode 100644 index 0000000..b2da29b --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/user/UserRemote.kt @@ -0,0 +1,12 @@ +package com.example.myapplication.api.user + +import com.example.myapplication.api.session.SessionFromCartRemote +import kotlinx.serialization.Serializable + +@Serializable +data class UserRemote( + val id: Int = 0, + val login: String = "", + val password: String = "", + var sessions: List = emptyList() +) \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/api/usersession/RestUserSessionRepository.kt b/app/src/main/java/com/example/myapplication/api/usersession/RestUserSessionRepository.kt new file mode 100644 index 0000000..bb107a8 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/api/usersession/RestUserSessionRepository.kt @@ -0,0 +1,62 @@ +package com.example.myapplication.api.usersession + +import com.example.myapplication.api.MyServerService +import com.example.myapplication.api.session.SessionFromCartRemote +import com.example.myapplication.api.session.toSession +import com.example.myapplication.database.entities.model.UserSessionCrossRef +import com.example.myapplication.database.entities.repository.OfflineUserSessionRepository +import com.example.myapplication.database.entities.repository.UserSessionRepository + +class RestUserSessionRepository( + private val service: MyServerService, + private val dbUserSessionRepository: OfflineUserSessionRepository +) : UserSessionRepository { + override suspend fun insertUserSession(userSessionCrossRef: UserSessionCrossRef) { + var cartSessions = service.getUserCart(userSessionCrossRef.userId) + cartSessions.sessions.forEach { session -> + if (session.id == userSessionCrossRef.sessionId) + return + } + val session = service.getSession(userSessionCrossRef.sessionId).toSession() + + val sessionFromCart = SessionFromCartRemote( + session.uid, + userSessionCrossRef.count, + session.cinemaId, + ) + + val updatedSessions = cartSessions.sessions.toMutableList() + updatedSessions.add(sessionFromCart) + + cartSessions = cartSessions.copy(sessions = updatedSessions) + service.updateUserCart(userSessionCrossRef.userId, cartSessions) + dbUserSessionRepository.insertUserSession(userSessionCrossRef) + } + + override suspend fun updateUserSession(userSessionCrossRef: UserSessionCrossRef) { + val userRemote = service.getUserCart(userSessionCrossRef.userId) + if (userSessionCrossRef.count <= 0) { + userRemote.sessions = + userRemote.sessions.filter { x -> x.id != userSessionCrossRef.sessionId } + } else + userRemote.sessions.forEach { + if (it.id == userSessionCrossRef.sessionId) { + it.count = userSessionCrossRef.count + } + } + service.updateUserCart(userSessionCrossRef.userId, userRemote) + dbUserSessionRepository.updateUserSession(userSessionCrossRef) + } + + override suspend fun deleteUserSession(userSessionCrossRef: UserSessionCrossRef) { + updateUserSession(userSessionCrossRef) + dbUserSessionRepository.deleteUserSession(userSessionCrossRef) + } + + override suspend fun deleteUserSessions(userId: Int) { + val userRemote = service.getUserCart(userId) + userRemote.sessions = emptyList() + service.updateUserCart(userId, userRemote) + dbUserSessionRepository.deleteUserSessions(userId) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/composeui/Cart.kt b/app/src/main/java/com/example/myapplication/composeui/Cart.kt index 5a6a3f9..ff14d79 100644 --- a/app/src/main/java/com/example/myapplication/composeui/Cart.kt +++ b/app/src/main/java/com/example/myapplication/composeui/Cart.kt @@ -34,7 +34,7 @@ import androidx.compose.material3.SwipeToDismiss import androidx.compose.material3.Text import androidx.compose.material3.rememberDismissState import androidx.compose.runtime.Composable -import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -58,6 +58,7 @@ import com.example.myapplication.database.entities.composeui.CartViewModel import com.example.myapplication.database.entities.model.Session import com.example.myapplication.database.entities.model.SessionFromCart import com.example.myapplication.ui.theme.PmudemoTheme +import kotlinx.coroutines.delay import kotlinx.coroutines.launch import org.threeten.bp.format.DateTimeFormatter @@ -66,7 +67,11 @@ fun Cart( viewModel: CartViewModel = viewModel(factory = AppViewModelProvider.Factory) ) { val coroutineScope = rememberCoroutineScope() - val cartUiState by viewModel.cartUiState.collectAsState() + val cartUiState = viewModel.cartUiState + + LaunchedEffect(Unit) { + viewModel.refreshState() + } Cart( cartUiState = cartUiState, @@ -276,7 +281,13 @@ private fun SessionListItem( ) IconButton( - onClick = { onChangeCount(session, 1, ++currentCount) } + onClick = { + onChangeCount( + session, + 1, + if (currentCount != session.availableCount) ++currentCount else currentCount + ) + } ) { Icon( imageVector = Icons.Default.Add, diff --git a/app/src/main/java/com/example/myapplication/database/AppContainer.kt b/app/src/main/java/com/example/myapplication/database/AppContainer.kt index eb053a3..14737df 100644 --- a/app/src/main/java/com/example/myapplication/database/AppContainer.kt +++ b/app/src/main/java/com/example/myapplication/database/AppContainer.kt @@ -1,49 +1,101 @@ package com.example.myapplication.database import android.content.Context -import com.example.myapplication.database.entities.repository.CinemaRepository +import com.example.myapplication.api.MyServerService +import com.example.myapplication.api.cinema.RestCinemaRepository +import com.example.myapplication.api.order.RestOrderRepository +import com.example.myapplication.api.ordersession.RestOrderSessionRepository +import com.example.myapplication.api.session.RestSessionRepository +import com.example.myapplication.api.user.RestUserRepository +import com.example.myapplication.api.usersession.RestUserSessionRepository import com.example.myapplication.database.entities.repository.OfflineCinemaRepository import com.example.myapplication.database.entities.repository.OfflineOrderRepository import com.example.myapplication.database.entities.repository.OfflineOrderSessionRepository import com.example.myapplication.database.entities.repository.OfflineSessionRepository import com.example.myapplication.database.entities.repository.OfflineUserRepository import com.example.myapplication.database.entities.repository.OfflineUserSessionRepository -import com.example.myapplication.database.entities.repository.OrderRepository -import com.example.myapplication.database.entities.repository.OrderSessionRepository -import com.example.myapplication.database.entities.repository.SessionRepository -import com.example.myapplication.database.entities.repository.UserRepository -import com.example.myapplication.database.entities.repository.UserSessionRepository +import com.example.myapplication.database.remotekeys.repository.OfflineRemoteKeyRepository interface AppContainer { - val cinemaRepository: CinemaRepository - val orderRepository: OrderRepository - val orderSessionRepository: OrderSessionRepository - val sessionRepository: SessionRepository - val userRepository: UserRepository - val userSessionRepository: UserSessionRepository -} - -class AppDataContainer(private val context: Context) : AppContainer { - override val cinemaRepository: CinemaRepository by lazy { - OfflineCinemaRepository(AppDatabase.getInstance(context).cinemaDao()) - } - override val orderRepository: OrderRepository by lazy { - OfflineOrderRepository(AppDatabase.getInstance(context).orderDao()) - } - override val orderSessionRepository: OrderSessionRepository by lazy { - OfflineOrderSessionRepository(AppDatabase.getInstance(context).orderSessionCrossRefDao()) - } - override val sessionRepository: SessionRepository by lazy { - OfflineSessionRepository(AppDatabase.getInstance(context).sessionDao()) - } - override val userRepository: UserRepository by lazy { - OfflineUserRepository(AppDatabase.getInstance(context).userDao()) - } - override val userSessionRepository: UserSessionRepository by lazy { - OfflineUserSessionRepository(AppDatabase.getInstance(context).userSessionCrossRefDao()) - } + val cinemaRestRepository: RestCinemaRepository + val sessionRestRepository: RestSessionRepository + val userRestRepository: RestUserRepository + val orderRestRepository: RestOrderRepository + val orderSessionRestRepository: RestOrderSessionRepository + val userSessionRestRepository: RestUserSessionRepository companion object { const val TIMEOUT = 5000L + const val LIMIT = 10 + } +} + +class AppDataContainer(private val context: Context) : AppContainer { + private val cinemaRepository: OfflineCinemaRepository by lazy { + OfflineCinemaRepository(AppDatabase.getInstance(context).cinemaDao()) + } + private val orderRepository: OfflineOrderRepository by lazy { + OfflineOrderRepository(AppDatabase.getInstance(context).orderDao()) + } + private val orderSessionRepository: OfflineOrderSessionRepository by lazy { + OfflineOrderSessionRepository(AppDatabase.getInstance(context).orderSessionCrossRefDao()) + } + private val sessionRepository: OfflineSessionRepository by lazy { + OfflineSessionRepository(AppDatabase.getInstance(context).sessionDao()) + } + private val userRepository: OfflineUserRepository by lazy { + OfflineUserRepository(AppDatabase.getInstance(context).userDao()) + } + private val userSessionRepository: OfflineUserSessionRepository by lazy { + OfflineUserSessionRepository(AppDatabase.getInstance(context).userSessionCrossRefDao()) + } + private val remoteKeyRepository: OfflineRemoteKeyRepository by lazy { + OfflineRemoteKeyRepository(AppDatabase.getInstance(context).remoteKeysDao()) + } + override val cinemaRestRepository: RestCinemaRepository by lazy { + RestCinemaRepository( + MyServerService.getInstance(), + cinemaRepository, + sessionRepository, + remoteKeyRepository, + AppDatabase.getInstance(context) + ) + } + override val sessionRestRepository: RestSessionRepository by lazy { + RestSessionRepository( + MyServerService.getInstance(), + sessionRepository, + userSessionRepository, + orderSessionRepository, + ) + } + override val userRestRepository: RestUserRepository by lazy { + RestUserRepository( + MyServerService.getInstance(), + userRepository, + userSessionRepository, + ) + } + override val orderRestRepository: RestOrderRepository by lazy { + RestOrderRepository( + MyServerService.getInstance(), + orderRepository, + cinemaRepository, + orderSessionRepository, + remoteKeyRepository, + AppDatabase.getInstance(context) + ) + } + override val userSessionRestRepository: RestUserSessionRepository by lazy { + RestUserSessionRepository( + MyServerService.getInstance(), + userSessionRepository, + ) + } + override val orderSessionRestRepository: RestOrderSessionRepository by lazy { + RestOrderSessionRepository( + MyServerService.getInstance(), + orderSessionRepository, + ) } } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/AppDatabase.kt b/app/src/main/java/com/example/myapplication/database/AppDatabase.kt index a7d437e..799a408 100644 --- a/app/src/main/java/com/example/myapplication/database/AppDatabase.kt +++ b/app/src/main/java/com/example/myapplication/database/AppDatabase.kt @@ -20,6 +20,8 @@ import com.example.myapplication.database.entities.model.OrderSessionCrossRef import com.example.myapplication.database.entities.model.Session import com.example.myapplication.database.entities.model.User import com.example.myapplication.database.entities.model.UserSessionCrossRef +import com.example.myapplication.database.remotekeys.dao.RemoteKeysDao +import com.example.myapplication.database.remotekeys.model.RemoteKeys import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -27,8 +29,15 @@ import org.threeten.bp.LocalDateTime import java.io.ByteArrayOutputStream @Database( - entities = [Cinema::class, Session::class, Order::class, - OrderSessionCrossRef::class, User::class, UserSessionCrossRef::class], + entities = [ + Cinema::class, + Session::class, + Order::class, + OrderSessionCrossRef::class, + User::class, + UserSessionCrossRef::class, + RemoteKeys::class + ], version = 1, exportSchema = false ) @@ -40,6 +49,7 @@ abstract class AppDatabase : RoomDatabase() { abstract fun orderSessionCrossRefDao(): OrderSessionCrossRefDao abstract fun userDao(): UserDao abstract fun userSessionCrossRefDao(): UserSessionCrossRefDao + abstract fun remoteKeysDao(): RemoteKeysDao companion object { private const val DB_NAME: String = "pmy-db" @@ -51,11 +61,9 @@ abstract class AppDatabase : RoomDatabase() { INSTANCE?.let { database -> // Users val userDao = database.userDao() - val user1 = User(1, "Login", "password") - val user2 = User(2, "Login123", "password123") + val user1 = User(1, "login", "password") userDao.insert(user1) - userDao.insert(user2) - // Cinemas + /*// Cinemas val cinemaDao = database.cinemaDao() val cinema1 = Cinema(1, "a", "Desc1", createColoredImage(android.graphics.Color.BLUE), 2023) @@ -128,7 +136,7 @@ abstract class AppDatabase : RoomDatabase() { val userSessionCrossRef1 = UserSessionCrossRef(1, 1, 5) val userSessionCrossRef2 = UserSessionCrossRef(1, 3, 15) userSessionCrossRefDao.insert(userSessionCrossRef1) - userSessionCrossRefDao.insert(userSessionCrossRef2) + userSessionCrossRefDao.insert(userSessionCrossRef2)*/ } } @@ -165,15 +173,15 @@ abstract class AppDatabase : RoomDatabase() { return stream.toByteArray() } - fun getRandomColorInt(): Int { + private fun getRandomColorInt(): Int { val red = (0..255).random() val green = (0..255).random() val blue = (0..255).random() return (0xFF shl 24) or (red shl 16) or (green shl 8) or blue } - fun generateCinemaName(index: Int): String { - val base = 'a'.toInt() + private fun generateCinemaName(index: Int): String { + val base = 'a'.code val alphabetSize = 26 val sb = StringBuilder() var remainder = index diff --git a/app/src/main/java/com/example/myapplication/database/entities/composeui/AppViewModelProvider.kt b/app/src/main/java/com/example/myapplication/database/entities/composeui/AppViewModelProvider.kt index 43e487e..a23ba62 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/composeui/AppViewModelProvider.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/composeui/AppViewModelProvider.kt @@ -12,49 +12,49 @@ import com.example.myapplication.database.entities.composeui.edit.SessionEditVie object AppViewModelProvider { val Factory = viewModelFactory { initializer { - CinemaListViewModel(cinemaApplication().container.cinemaRepository) + CinemaListViewModel(cinemaApplication().container.cinemaRestRepository) } initializer { CinemaEditViewModel( this.createSavedStateHandle(), - cinemaApplication().container.cinemaRepository + cinemaApplication().container.cinemaRestRepository ) } initializer { CinemaViewModel( this.createSavedStateHandle(), - cinemaApplication().container.cinemaRepository, + cinemaApplication().container.cinemaRestRepository, ) } initializer { SessionListViewModel( - cinemaApplication().container.sessionRepository, - cinemaApplication().container.userSessionRepository, + cinemaApplication().container.sessionRestRepository, + cinemaApplication().container.userSessionRestRepository, ) } initializer { SessionEditViewModel( this.createSavedStateHandle(), - cinemaApplication().container.sessionRepository, + cinemaApplication().container.sessionRestRepository, ) } initializer { CartViewModel( - cinemaApplication().container.userSessionRepository, - cinemaApplication().container.orderRepository, - cinemaApplication().container.orderSessionRepository, - cinemaApplication().container.userRepository, + cinemaApplication().container.userSessionRestRepository, + cinemaApplication().container.orderRestRepository, + cinemaApplication().container.orderSessionRestRepository, + cinemaApplication().container.userRestRepository, ) } initializer { OrderListViewModel( - cinemaApplication().container.orderRepository, + cinemaApplication().container.orderRestRepository, ) } initializer { OrderViewModel( this.createSavedStateHandle(), - cinemaApplication().container.orderRepository, + cinemaApplication().container.orderRestRepository, ) } } diff --git a/app/src/main/java/com/example/myapplication/database/entities/composeui/CartViewModel.kt b/app/src/main/java/com/example/myapplication/database/entities/composeui/CartViewModel.kt index 06f353c..41eab0c 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/composeui/CartViewModel.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/composeui/CartViewModel.kt @@ -1,8 +1,9 @@ package com.example.myapplication.database.entities.composeui +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.setValue import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope -import com.example.myapplication.database.AppDataContainer import com.example.myapplication.database.entities.model.Order import com.example.myapplication.database.entities.model.OrderSessionCrossRef import com.example.myapplication.database.entities.model.Session @@ -12,10 +13,7 @@ import com.example.myapplication.database.entities.repository.OrderRepository import com.example.myapplication.database.entities.repository.OrderSessionRepository import com.example.myapplication.database.entities.repository.UserRepository import com.example.myapplication.database.entities.repository.UserSessionRepository -import kotlinx.coroutines.flow.SharingStarted -import kotlinx.coroutines.flow.StateFlow -import kotlinx.coroutines.flow.map -import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.delay class CartViewModel( private val userSessionRepository: UserSessionRepository, @@ -24,14 +22,13 @@ class CartViewModel( private val userRepository: UserRepository, ) : ViewModel() { private val userUid: Int = 1 + var cartUiState by mutableStateOf(CartUiState()) + private set - val cartUiState: StateFlow = userRepository.getCartByUser(userUid).map { - CartUiState(it) - }.stateIn( - scope = viewModelScope, - started = SharingStarted.WhileSubscribed(stopTimeoutMillis = AppDataContainer.TIMEOUT), - initialValue = CartUiState() - ) + suspend fun refreshState() { + val cart = userRepository.getCartByUser(userUid) + cartUiState = CartUiState(cart) + } suspend fun addToOrder(userId: Int, sessions: List) { if (sessions.isEmpty()) @@ -48,10 +45,12 @@ class CartViewModel( ) } userSessionRepository.deleteUserSessions(userId) + refreshState() } suspend fun removeFromCart(user: Int, session: Session, count: Int = 1) { userSessionRepository.deleteUserSession(UserSessionCrossRef(user, session.uid, count)) + refreshState() } suspend fun updateFromCart(userId: Int, session: Session, count: Int, availableCount: Int) @@ -63,6 +62,7 @@ class CartViewModel( if (count > availableCount) return false userSessionRepository.updateUserSession(UserSessionCrossRef(userId, session.uid, count)) + refreshState() return true } } diff --git a/app/src/main/java/com/example/myapplication/database/entities/composeui/CinemaList.kt b/app/src/main/java/com/example/myapplication/database/entities/composeui/CinemaList.kt index 98c0934..818e049 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/composeui/CinemaList.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/composeui/CinemaList.kt @@ -46,17 +46,7 @@ fun CinemaList( viewModel: CinemaListViewModel = viewModel(factory = AppViewModelProvider.Factory) ) { val coroutineScope = rememberCoroutineScope() - - val cinemaPagingItems = viewModel.cinemaPagerState.cinemaPagingData.collectAsLazyPagingItems() - - fun findCinemas() { - coroutineScope.launch { - viewModel.findCinemas() - } - } - LaunchedEffect(1) { - findCinemas() - } + val cinemaPagingItems = viewModel.cinemaListUiState.collectAsLazyPagingItems() Scaffold( topBar = {}, @@ -132,7 +122,6 @@ private fun CinemaList( } } } - } } diff --git a/app/src/main/java/com/example/myapplication/database/entities/composeui/CinemaListViewModel.kt b/app/src/main/java/com/example/myapplication/database/entities/composeui/CinemaListViewModel.kt index e96a051..943c90c 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/composeui/CinemaListViewModel.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/composeui/CinemaListViewModel.kt @@ -15,29 +15,9 @@ import kotlinx.coroutines.flow.emptyFlow class CinemaListViewModel( private val cinemaRepository: CinemaRepository ) : ViewModel() { - private val pagingConfig = PagingConfig( - pageSize = 4, - prefetchDistance = 4 - ) - - var cinemaPagerState by mutableStateOf(CinemaPagerState()) - private set - - fun findCinemas() { - val pager = Pager( - config = pagingConfig, - pagingSourceFactory = { - cinemaRepository.getAllCinemasPaged() - } - ) - cinemaPagerState = CinemaPagerState(pager.flow) - } + val cinemaListUiState: Flow> = cinemaRepository.getAllCinemas() suspend fun deleteCinema(cinema: Cinema) { cinemaRepository.deleteCinema(cinema) } -} - -data class CinemaPagerState( - val cinemaPagingData: Flow> = emptyFlow() -) \ No newline at end of file +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/entities/composeui/CinemaView.kt b/app/src/main/java/com/example/myapplication/database/entities/composeui/CinemaView.kt index 3413289..839c71d 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/composeui/CinemaView.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/composeui/CinemaView.kt @@ -19,8 +19,7 @@ import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable -import androidx.compose.runtime.collectAsState -import androidx.compose.runtime.getValue +import androidx.compose.runtime.LaunchedEffect import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.asImageBitmap @@ -38,7 +37,11 @@ fun CinemaView( navController: NavController, viewModel: CinemaViewModel = viewModel(factory = AppViewModelProvider.Factory), ) { - val cinemaUiState by viewModel.cinemaUiState.collectAsState() + val cinemaUiState = viewModel.cinemaUiState + + LaunchedEffect(Unit) { + viewModel.refreshState() + } Column( modifier = Modifier @@ -131,7 +134,7 @@ fun CinemaView( } } if (cinemaUiState.cinemaWithSessions != null) { - SessionList(cinemaUiState.cinemaWithSessions!!, navController) + SessionList(viewModel, navController) } } } diff --git a/app/src/main/java/com/example/myapplication/database/entities/composeui/CinemaViewModel.kt b/app/src/main/java/com/example/myapplication/database/entities/composeui/CinemaViewModel.kt index 5407560..29e52fb 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/composeui/CinemaViewModel.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/composeui/CinemaViewModel.kt @@ -1,31 +1,45 @@ package com.example.myapplication.database.entities.composeui +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.setValue import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope -import com.example.myapplication.database.AppDataContainer import com.example.myapplication.database.entities.model.CinemaWithSessions import com.example.myapplication.database.entities.repository.CinemaRepository -import kotlinx.coroutines.flow.SharingStarted -import kotlinx.coroutines.flow.StateFlow -import kotlinx.coroutines.flow.map -import kotlinx.coroutines.flow.stateIn class CinemaViewModel( - savedStateHandle: SavedStateHandle, - private val cinemaRepository: CinemaRepository + savedStateHandle: SavedStateHandle, private val cinemaRepository: CinemaRepository ) : ViewModel() { private val cinemaUid: Int = checkNotNull(savedStateHandle["id"]) - val cinemaUiState: StateFlow = cinemaRepository.getCinema( - cinemaUid - ).map { - CinemaUiState(it) - }.stateIn( - scope = viewModelScope, - started = SharingStarted.WhileSubscribed(stopTimeoutMillis = AppDataContainer.TIMEOUT), - initialValue = CinemaUiState() - ) + var cinemaUiState by mutableStateOf(CinemaUiState()) + private set + + suspend fun refreshState() { + if (cinemaUid > 0) { + cinemaUiState = CinemaUiState(cinemaRepository.getCinema(cinemaUid)) + } + } + +// init { +// viewModelScope.launch { +// if (cinemaUid > 0) { +// cinemaUiState = CinemaUiState(cinemaRepository.getCinema(cinemaUid)) +// } +// } +// } + +// val cinemaUiState: mutableStateOf(CinemaUiState()) = cinemaRepository.getCinema( +// cinemaUid +// ).map +// { +// CinemaUiState(it) +// }.stateIn( +// scope = viewModelScope, +// started = SharingStarted.WhileSubscribed(stopTimeoutMillis = AppDataContainer.TIMEOUT), +// initialValue = CinemaUiState() +// ) } data class CinemaUiState(val cinemaWithSessions: CinemaWithSessions? = null) \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/entities/composeui/OrderList.kt b/app/src/main/java/com/example/myapplication/database/entities/composeui/OrderList.kt index c0c4ef4..c259d2a 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/composeui/OrderList.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/composeui/OrderList.kt @@ -25,6 +25,9 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.NavController +import androidx.paging.compose.collectAsLazyPagingItems +import androidx.paging.compose.itemContentType +import androidx.paging.compose.itemKey import com.example.myapplication.composeui.navigation.Screen import com.example.myapplication.ui.theme.PmudemoTheme @@ -35,14 +38,17 @@ fun OrderList( viewModel: OrderListViewModel = viewModel(factory = AppViewModelProvider.Factory) ) { val coroutineScope = rememberCoroutineScope() - val ordersUiState by viewModel.orderListUiState.collectAsState() + val ordersUiState = viewModel.orderListUiState.collectAsLazyPagingItems() LazyColumn( modifier = Modifier .fillMaxSize() .padding(all = 10.dp) ) { - items(ordersUiState.orderList) { order -> - val orderId = Screen.OrderView.route.replace("{id}", order.uid.toString()) + items(count = ordersUiState.itemCount, + key = ordersUiState.itemKey(), + contentType = ordersUiState.itemContentType()) { index -> + val order = ordersUiState[index] + val orderId = Screen.OrderView.route.replace("{id}", order!!.uid.toString()) Box( modifier = Modifier .fillMaxWidth() diff --git a/app/src/main/java/com/example/myapplication/database/entities/composeui/OrderListViewModel.kt b/app/src/main/java/com/example/myapplication/database/entities/composeui/OrderListViewModel.kt index a67bdec..4a7bd9c 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/composeui/OrderListViewModel.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/composeui/OrderListViewModel.kt @@ -1,25 +1,25 @@ package com.example.myapplication.database.entities.composeui +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.setValue import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import androidx.paging.PagingData import com.example.myapplication.database.AppDataContainer import com.example.myapplication.database.entities.model.Order import com.example.myapplication.database.entities.repository.OrderRepository +import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn +import kotlinx.coroutines.launch class OrderListViewModel( private val orderRepository: OrderRepository ) : ViewModel() { - val orderListUiState: StateFlow = orderRepository.getAllOrders(1).map { - OrderListUiState(it) - }.stateIn( - scope = viewModelScope, - started = SharingStarted.WhileSubscribed(stopTimeoutMillis = AppDataContainer.TIMEOUT), - initialValue = OrderListUiState() - ) + val orderListUiState: Flow> = orderRepository.getAllOrders(1) } data class OrderListUiState(val orderList: List = listOf()) \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/entities/composeui/OrderViewModel.kt b/app/src/main/java/com/example/myapplication/database/entities/composeui/OrderViewModel.kt index b863d92..6429dcf 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/composeui/OrderViewModel.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/composeui/OrderViewModel.kt @@ -3,11 +3,13 @@ package com.example.myapplication.database.entities.composeui import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import com.example.myapplication.database.AppContainer import com.example.myapplication.database.AppDataContainer import com.example.myapplication.database.entities.model.SessionFromOrder import com.example.myapplication.database.entities.repository.OrderRepository import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn @@ -16,11 +18,12 @@ class OrderViewModel( private val orderRepository: OrderRepository ) : ViewModel() { private val orderUid: Int = checkNotNull(savedStateHandle["id"]) - val orderUiState: StateFlow = orderRepository.getOrder(orderUid).map { + + val orderUiState: StateFlow = flow{emit(orderRepository.getOrder(orderUid))} .map { OrderUiState(it) }.stateIn( scope = viewModelScope, - started = SharingStarted.WhileSubscribed(stopTimeoutMillis = AppDataContainer.TIMEOUT), + started = SharingStarted.WhileSubscribed(stopTimeoutMillis = AppContainer.TIMEOUT), initialValue = OrderUiState() ) } diff --git a/app/src/main/java/com/example/myapplication/database/entities/composeui/SessionList.kt b/app/src/main/java/com/example/myapplication/database/entities/composeui/SessionList.kt index 10ff825..61a67dc 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/composeui/SessionList.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/composeui/SessionList.kt @@ -33,17 +33,18 @@ import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation.NavController import com.example.myapplication.R import com.example.myapplication.composeui.navigation.Screen -import com.example.myapplication.database.entities.model.CinemaWithSessions import kotlinx.coroutines.launch import org.threeten.bp.format.DateTimeFormatter @Composable fun SessionList( - cinemaWithSessions: CinemaWithSessions, + cinemaWithSessionsViewModel: CinemaViewModel, navController: NavController, viewModel: SessionListViewModel = viewModel(factory = AppViewModelProvider.Factory) ) { val coroutineScope = rememberCoroutineScope() + val cinemaWithSessions = cinemaWithSessionsViewModel.cinemaUiState.cinemaWithSessions!! + LazyColumn { if (cinemaWithSessions.sessions.isEmpty()) { item { @@ -107,7 +108,8 @@ fun SessionList( IconButton( onClick = { coroutineScope.launch { - viewModel.addSessionInCart(sessionId = session.uid) + if (session.availableCount != 0) + viewModel.addSessionInCart(sessionId = session.uid) } }, ) { @@ -122,6 +124,7 @@ fun SessionList( onClick = { coroutineScope.launch { viewModel.deleteSession(session = session) + cinemaWithSessionsViewModel.refreshState() } }, ) { diff --git a/app/src/main/java/com/example/myapplication/database/entities/composeui/edit/CinemaEditViewModel.kt b/app/src/main/java/com/example/myapplication/database/entities/composeui/edit/CinemaEditViewModel.kt index 0a4a872..a3e36a8 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/composeui/edit/CinemaEditViewModel.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/composeui/edit/CinemaEditViewModel.kt @@ -27,8 +27,6 @@ class CinemaEditViewModel( viewModelScope.launch { if (cinemaUid > 0) { cinemaUiState = cinemaRepository.getCinema(cinemaUid) - .filterNotNull() - .first() .toUiState(true) } } diff --git a/app/src/main/java/com/example/myapplication/database/entities/composeui/edit/SessionEditViewModel.kt b/app/src/main/java/com/example/myapplication/database/entities/composeui/edit/SessionEditViewModel.kt index a93a444..486e8ef 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/composeui/edit/SessionEditViewModel.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/composeui/edit/SessionEditViewModel.kt @@ -27,8 +27,6 @@ class SessionEditViewModel( viewModelScope.launch { if (sessionUid > 0) { sessionUiState = sessionRepository.getSession(sessionUid) - .filterNotNull() - .first() .toUiState(true) } } diff --git a/app/src/main/java/com/example/myapplication/database/entities/dao/CinemaDao.kt b/app/src/main/java/com/example/myapplication/database/entities/dao/CinemaDao.kt index 74c4d32..c6e31d2 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/dao/CinemaDao.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/dao/CinemaDao.kt @@ -13,13 +13,10 @@ import kotlinx.coroutines.flow.Flow @Dao interface CinemaDao { @Query("select * from cinemas order by name") - fun getAll(): Flow> - - @Query("select * from cinemas order by name") - fun getAllCinemasPaged(): PagingSource + fun getAll(): PagingSource @Query( - "SELECT c.*, s.uid as session_uid, s.date_time, s.price, s.max_count-IFNULL(SUM(os.count), 0) as available_count " + + "SELECT c.*, s.uid as session_uid, s.date_time, s.price, s.max_count-IFNULL(SUM(os.count), 0) as available_count, c.uid as cinema_id " + "FROM cinemas AS c " + "LEFT JOIN sessions AS s ON s.cinema_id = c.uid " + "LEFT JOIN orders_sessions AS os ON os.session_id = s.uid " + @@ -29,11 +26,14 @@ interface CinemaDao { fun getByUid(cinemaId: Int?): Flow>> @Insert - suspend fun insert(cinema: Cinema) + suspend fun insert(vararg cinema: Cinema) @Update suspend fun update(cinema: Cinema) @Delete suspend fun delete(cinema: Cinema) + + @Query("DELETE FROM cinemas") + suspend fun deleteAll() } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/entities/dao/OrderDao.kt b/app/src/main/java/com/example/myapplication/database/entities/dao/OrderDao.kt index d718553..4472a28 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/dao/OrderDao.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/dao/OrderDao.kt @@ -1,5 +1,6 @@ package com.example.myapplication.database.entities.dao +import androidx.paging.PagingSource import androidx.room.Dao import androidx.room.Delete import androidx.room.Insert @@ -7,12 +8,11 @@ import androidx.room.Query import androidx.room.Update import com.example.myapplication.database.entities.model.Order import com.example.myapplication.database.entities.model.SessionFromOrder -import kotlinx.coroutines.flow.Flow @Dao interface OrderDao { @Query("select * from orders where user_id = :userId") - fun getAll(userId: Int?): Flow> + fun getAll(userId: Int?): PagingSource @Query( "SELECT o.*, s.*, os.count, os.frozen_price " + @@ -21,14 +21,17 @@ interface OrderDao { "JOIN sessions AS s ON s.uid = os.session_id " + "WHERE o.uid = :orderId" ) - fun getByUid(orderId: Int?): Flow> + fun getByUid(orderId: Int?): List @Insert - suspend fun insert(order: Order): Long + suspend fun insert(vararg order: Order): List @Update suspend fun update(order: Order) @Delete suspend fun delete(order: Order) + + @Query("DELETE FROM orders") + suspend fun deleteAll() } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/entities/dao/OrderSessionCrossRefDao.kt b/app/src/main/java/com/example/myapplication/database/entities/dao/OrderSessionCrossRefDao.kt index b2783a0..a64780d 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/dao/OrderSessionCrossRefDao.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/dao/OrderSessionCrossRefDao.kt @@ -3,12 +3,14 @@ package com.example.myapplication.database.entities.dao import androidx.room.Dao import androidx.room.Delete import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query import androidx.room.Update import com.example.myapplication.database.entities.model.OrderSessionCrossRef @Dao interface OrderSessionCrossRefDao { - @Insert + @Insert(onConflict = OnConflictStrategy.REPLACE) suspend fun insert(orderSessionCrossRef: OrderSessionCrossRef) @Update @@ -16,4 +18,10 @@ interface OrderSessionCrossRefDao { @Delete suspend fun delete(orderSessionCrossRef: OrderSessionCrossRef) + + @Query("DELETE FROM orders_sessions where orders_sessions.order_id = :orderId") + suspend fun deleteByOrderUid(orderId: Int) + + @Query("DELETE FROM orders_sessions where orders_sessions.session_id = :sessionId") + suspend fun deleteBySessionUid(sessionId: Int) } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/entities/dao/SessionDao.kt b/app/src/main/java/com/example/myapplication/database/entities/dao/SessionDao.kt index 55b3f55..040ed3e 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/dao/SessionDao.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/dao/SessionDao.kt @@ -6,19 +6,30 @@ import androidx.room.Insert import androidx.room.Query import androidx.room.Update import com.example.myapplication.database.entities.model.Session -import kotlinx.coroutines.flow.Flow @Dao interface SessionDao { @Query("select * from sessions where sessions.uid = :uid") - fun getByUid(uid: Int): Flow + suspend fun getByUid(uid: Int): Session @Insert - suspend fun insert(session: Session) + suspend fun insert(vararg session: Session) @Update suspend fun update(session: Session) @Delete suspend fun delete(session: Session) + + @Query("DELETE FROM sessions") + suspend fun deleteAll() + + @Query( + "SELECT s.max_count-IFNULL(SUM(os.count), 0) as available_count " + + "FROM sessions AS s " + + "LEFT JOIN orders_sessions AS os ON os.session_id = s.uid " + + "WHERE s.uid = :sessionId " + + "GROUP BY s.uid" + ) + suspend fun getAvailableCountOfSession(sessionId: Int): Int } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/entities/dao/UserDao.kt b/app/src/main/java/com/example/myapplication/database/entities/dao/UserDao.kt index 5f973bc..c563b00 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/dao/UserDao.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/dao/UserDao.kt @@ -22,14 +22,17 @@ interface UserDao { "where users_sessions.user_id = :userId " + "GROUP BY users_sessions.session_id " ) - fun getCartByUid(userId: Int): Flow> + suspend fun getCartByUid(userId: Int): List @Insert - suspend fun insert(user: User) + suspend fun insert(vararg user: User) @Update suspend fun update(user: User) @Delete suspend fun delete(user: User) + + @Query("DELETE FROM users") + suspend fun deleteAll() } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/entities/dao/UserSessionCrossRefDao.kt b/app/src/main/java/com/example/myapplication/database/entities/dao/UserSessionCrossRefDao.kt index 7ec39e5..328e7b3 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/dao/UserSessionCrossRefDao.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/dao/UserSessionCrossRefDao.kt @@ -3,13 +3,14 @@ package com.example.myapplication.database.entities.dao import androidx.room.Dao import androidx.room.Delete import androidx.room.Insert +import androidx.room.OnConflictStrategy import androidx.room.Query import androidx.room.Update import com.example.myapplication.database.entities.model.UserSessionCrossRef @Dao interface UserSessionCrossRefDao { - @Insert + @Insert(onConflict = OnConflictStrategy.REPLACE) suspend fun insert(userSessionCrossRef: UserSessionCrossRef) @Update @@ -20,4 +21,7 @@ interface UserSessionCrossRefDao { @Query("DELETE FROM users_sessions where users_sessions.user_id = :userId") suspend fun deleteByUserUid(userId: Int) + + @Query("DELETE FROM users_sessions where users_sessions.session_id = :sessionId") + suspend fun deleteBySessionUid(sessionId: Int) } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/entities/model/Cinema.kt b/app/src/main/java/com/example/myapplication/database/entities/model/Cinema.kt index d1c8fae..68ad6c6 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/model/Cinema.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/model/Cinema.kt @@ -43,7 +43,7 @@ data class Cinema( if (name != other.name) return false if (description != other.description) return false if (year != other.year) return false - return true + return image.contentEquals(other.image) } override fun hashCode(): Int { diff --git a/app/src/main/java/com/example/myapplication/database/entities/model/SessionFromCinema.kt b/app/src/main/java/com/example/myapplication/database/entities/model/SessionFromCinema.kt index 8098e98..9b00b74 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/model/SessionFromCinema.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/model/SessionFromCinema.kt @@ -12,6 +12,8 @@ data class SessionFromCinema( val price: Double, @ColumnInfo(name = "available_count") val availableCount: Int, + @ColumnInfo(name = "cinema_id") + val cinemaId: Int, ) { override fun equals(other: Any?): Boolean { if (this === other) return true @@ -22,6 +24,7 @@ data class SessionFromCinema( if (dateFormatter.format(dateTime) != dateFormatter.format(other.dateTime)) return false if (price != other.price) return false if (availableCount != other.availableCount) return false + if (cinemaId != other.cinemaId) return false return true } @@ -30,6 +33,15 @@ data class SessionFromCinema( result = 31 * result + dateTime.hashCode() result = 31 * result + price.hashCode() result = 31 * result + availableCount.hashCode() + result = 31 * result + cinemaId.hashCode() return result } -} \ No newline at end of file +} + +fun SessionFromCinema.toSession(): Session = Session ( + uid, + dateTime, + price, + availableCount, + cinemaId +) \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/entities/model/SessionFromOrder.kt b/app/src/main/java/com/example/myapplication/database/entities/model/SessionFromOrder.kt index 0a13e21..3579769 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/model/SessionFromOrder.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/model/SessionFromOrder.kt @@ -6,14 +6,14 @@ import org.threeten.bp.LocalDateTime data class SessionFromOrder( @ColumnInfo(name = "uid") - val uid: Int?, + val uid: Int = 0, @ColumnInfo(name = "date_time") val dateTime: LocalDateTime, @ColumnInfo(name = "frozen_price") val frozenPrice: Double, val count: Int, @ColumnInfo(name = "cinema_id") - val cinemaId: Int?, + val cinemaId: Int = 0, @Relation( parentColumn = "cinema_id", entity = Cinema::class, diff --git a/app/src/main/java/com/example/myapplication/database/entities/repository/CinemaRepository.kt b/app/src/main/java/com/example/myapplication/database/entities/repository/CinemaRepository.kt index f2a11e9..ddd684e 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/repository/CinemaRepository.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/repository/CinemaRepository.kt @@ -1,14 +1,14 @@ package com.example.myapplication.database.entities.repository +import androidx.paging.PagingData import androidx.paging.PagingSource import com.example.myapplication.database.entities.model.Cinema import com.example.myapplication.database.entities.model.CinemaWithSessions import kotlinx.coroutines.flow.Flow interface CinemaRepository { - fun getAllCinemas(): Flow> - fun getAllCinemasPaged(): PagingSource - fun getCinema(uid: Int): Flow + fun getAllCinemas(): Flow> + suspend fun getCinema(uid: Int): CinemaWithSessions suspend fun insertCinema(cinema: Cinema) suspend fun updateCinema(cinema: Cinema) suspend fun deleteCinema(cinema: Cinema) diff --git a/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineCinemaRepository.kt b/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineCinemaRepository.kt index 3e1311d..73ef97c 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineCinemaRepository.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineCinemaRepository.kt @@ -1,28 +1,38 @@ package com.example.myapplication.database.entities.repository +import androidx.paging.Pager +import androidx.paging.PagingConfig +import androidx.paging.PagingData import androidx.paging.PagingSource +import com.example.myapplication.database.AppContainer import com.example.myapplication.database.entities.dao.CinemaDao import com.example.myapplication.database.entities.model.Cinema import com.example.myapplication.database.entities.model.CinemaWithSessions import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.flow +import kotlinx.coroutines.flow.first +import kotlinx.coroutines.flow.map class OfflineCinemaRepository(private val cinemaDao: CinemaDao) : CinemaRepository { - override fun getAllCinemas(): Flow> = cinemaDao.getAll() + override fun getAllCinemas(): Flow> = Pager( + config = PagingConfig( + pageSize = AppContainer.LIMIT, + enablePlaceholders = false + ), + pagingSourceFactory = cinemaDao::getAll + ).flow - override fun getAllCinemasPaged(): PagingSource = cinemaDao.getAllCinemasPaged() - - override fun getCinema(uid: Int): Flow { - return flow { - cinemaDao.getByUid(uid).collect { - emit(it.firstNotNullOf { + override suspend fun getCinema(uid: Int): CinemaWithSessions { + val item = cinemaDao.getByUid(uid) + .map { map -> + map.firstNotNullOf { CinemaWithSessions( cinema = it.key, sessions = it.value ) - }) + } } - } + .first() + return item } override suspend fun insertCinema(cinema: Cinema) = cinemaDao.insert(cinema) @@ -30,4 +40,11 @@ class OfflineCinemaRepository(private val cinemaDao: CinemaDao) : CinemaReposito override suspend fun updateCinema(cinema: Cinema) = cinemaDao.update(cinema) override suspend fun deleteCinema(cinema: Cinema) = cinemaDao.delete(cinema) + + fun getAllCinemasPagingSource(): PagingSource = cinemaDao.getAll() + + suspend fun insertCinemas(cinemas: List) = + cinemaDao.insert(*cinemas.toTypedArray()) + + suspend fun clearCinemas() = cinemaDao.deleteAll() } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineOrderRepository.kt b/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineOrderRepository.kt index 5efb9a0..6aa2c25 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineOrderRepository.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineOrderRepository.kt @@ -1,18 +1,31 @@ package com.example.myapplication.database.entities.repository +import androidx.paging.Pager +import androidx.paging.PagingConfig +import androidx.paging.PagingData +import androidx.paging.PagingSource +import com.example.myapplication.database.AppContainer import com.example.myapplication.database.entities.dao.OrderDao import com.example.myapplication.database.entities.model.Order import com.example.myapplication.database.entities.model.SessionFromOrder import kotlinx.coroutines.flow.Flow class OfflineOrderRepository(private val orderDao: OrderDao) : OrderRepository { - override fun getAllOrders(userId: Int?): Flow> = orderDao.getAll(userId) + override fun getAllOrders(userId: Int?): Flow> = Pager( + config = PagingConfig( + pageSize = AppContainer.LIMIT, + enablePlaceholders = false + ), + pagingSourceFactory = { orderDao.getAll(userId) } + ).flow - override fun getOrder(orderId: Int?): Flow> = orderDao.getByUid(orderId) + override suspend fun getOrder(uid: Int): List = orderDao.getByUid(uid) - override suspend fun insertOrder(order: Order): Long = orderDao.insert(order) + override suspend fun insertOrder(order: Order): Long = orderDao.insert(order).first() - override suspend fun updateOrder(order: Order) = orderDao.update(order) + fun getAllOrdersPagingSource(userId: Int?): PagingSource = orderDao.getAll(userId) - override suspend fun deleteOrder(order: Order) = orderDao.delete(order) + suspend fun clearOrders() = orderDao.deleteAll() + + suspend fun insertOrders(orders: List) = orderDao.insert(*orders.toTypedArray()) } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineOrderSessionRepository.kt b/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineOrderSessionRepository.kt index 8bdfcb9..a2c86d9 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineOrderSessionRepository.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineOrderSessionRepository.kt @@ -13,4 +13,8 @@ class OfflineOrderSessionRepository(private val orderSessionDao: OrderSessionCro override suspend fun deleteOrderSession(orderSessionCrossRef: OrderSessionCrossRef) = orderSessionDao.delete(orderSessionCrossRef) + + suspend fun deleteOrderSessions(userId: Int) = orderSessionDao.deleteByOrderUid(userId) + + suspend fun deleteSessionsByUid(sessionId: Int) = orderSessionDao.deleteBySessionUid(sessionId) } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineSessionRepository.kt b/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineSessionRepository.kt index ffdf4b1..612ff7b 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineSessionRepository.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineSessionRepository.kt @@ -2,14 +2,18 @@ package com.example.myapplication.database.entities.repository import com.example.myapplication.database.entities.dao.SessionDao import com.example.myapplication.database.entities.model.Session -import kotlinx.coroutines.flow.Flow class OfflineSessionRepository(private val sessionDao: SessionDao) : SessionRepository { - override fun getSession(uid: Int): Flow = sessionDao.getByUid(uid) + override suspend fun getSession(uid: Int): Session = sessionDao.getByUid(uid) override suspend fun insertSession(session: Session) = sessionDao.insert(session) override suspend fun updateSession(session: Session) = sessionDao.update(session) override suspend fun deleteSession(session: Session) = sessionDao.delete(session) + + suspend fun insertSessions(sessions: List) = + sessionDao.insert(*sessions.toTypedArray()) + + suspend fun clearSessions() = sessionDao.deleteAll() } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineUserRepository.kt b/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineUserRepository.kt index c3539a6..16f02ed 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineUserRepository.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineUserRepository.kt @@ -8,7 +8,7 @@ import kotlinx.coroutines.flow.Flow class OfflineUserRepository(private val userDao: UserDao) : UserRepository { override fun getAllUsers(): Flow> = userDao.getAll() - override fun getCartByUser(userId: Int): Flow> = + override suspend fun getCartByUser(userId: Int): List = userDao.getCartByUid(userId) override suspend fun insertUser(user: User) = userDao.insert(user) @@ -16,4 +16,9 @@ class OfflineUserRepository(private val userDao: UserDao) : UserRepository { override suspend fun updateUser(user: User) = userDao.update(user) override suspend fun deleteUser(user: User) = userDao.delete(user) + + suspend fun insertUsers(users: List) = + userDao.insert(*users.toTypedArray()) + + suspend fun clearUsers() = userDao.deleteAll() } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineUserSessionRepository.kt b/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineUserSessionRepository.kt index d104805..0a4fba4 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineUserSessionRepository.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/repository/OfflineUserSessionRepository.kt @@ -15,4 +15,6 @@ class OfflineUserSessionRepository(private val userSessionDao: UserSessionCrossR userSessionDao.delete(userSessionCrossRef) override suspend fun deleteUserSessions(userId: Int) = userSessionDao.deleteByUserUid(userId) + + suspend fun deleteSessionsByUid(sessionId: Int) = userSessionDao.deleteBySessionUid(sessionId) } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/entities/repository/OrderRepository.kt b/app/src/main/java/com/example/myapplication/database/entities/repository/OrderRepository.kt index 0568a8a..09c2a67 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/repository/OrderRepository.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/repository/OrderRepository.kt @@ -1,13 +1,12 @@ package com.example.myapplication.database.entities.repository +import androidx.paging.PagingData import com.example.myapplication.database.entities.model.Order import com.example.myapplication.database.entities.model.SessionFromOrder import kotlinx.coroutines.flow.Flow interface OrderRepository { - fun getAllOrders(userId: Int?): Flow> - fun getOrder(orderId: Int?): Flow> + fun getAllOrders(userId: Int?): Flow> + suspend fun getOrder(uid: Int): List suspend fun insertOrder(order: Order): Long - suspend fun updateOrder(order: Order) - suspend fun deleteOrder(order: Order) } \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/entities/repository/SessionRepository.kt b/app/src/main/java/com/example/myapplication/database/entities/repository/SessionRepository.kt index 4ccd6fd..146c926 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/repository/SessionRepository.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/repository/SessionRepository.kt @@ -4,7 +4,7 @@ import com.example.myapplication.database.entities.model.Session import kotlinx.coroutines.flow.Flow interface SessionRepository { - fun getSession(uid: Int): Flow + suspend fun getSession(uid: Int): Session suspend fun insertSession(session: Session) suspend fun updateSession(session: Session) suspend fun deleteSession(session: Session) diff --git a/app/src/main/java/com/example/myapplication/database/entities/repository/UserRepository.kt b/app/src/main/java/com/example/myapplication/database/entities/repository/UserRepository.kt index caeb716..e12de3c 100644 --- a/app/src/main/java/com/example/myapplication/database/entities/repository/UserRepository.kt +++ b/app/src/main/java/com/example/myapplication/database/entities/repository/UserRepository.kt @@ -6,7 +6,7 @@ import kotlinx.coroutines.flow.Flow interface UserRepository { fun getAllUsers(): Flow> - fun getCartByUser(userId: Int): Flow> + suspend fun getCartByUser(userId: Int): List suspend fun insertUser(user: User) suspend fun updateUser(user: User) suspend fun deleteUser(user: User) diff --git a/app/src/main/java/com/example/myapplication/database/remotekeys/dao/RemoteKeysDao.kt b/app/src/main/java/com/example/myapplication/database/remotekeys/dao/RemoteKeysDao.kt new file mode 100644 index 0000000..ff93909 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/database/remotekeys/dao/RemoteKeysDao.kt @@ -0,0 +1,20 @@ +package com.example.myapplication.database.remotekeys.dao + +import androidx.room.Dao +import androidx.room.Insert +import androidx.room.OnConflictStrategy +import androidx.room.Query +import com.example.myapplication.database.remotekeys.model.RemoteKeyType +import com.example.myapplication.database.remotekeys.model.RemoteKeys + +@Dao +interface RemoteKeysDao { + @Query("SELECT * FROM remote_keys WHERE entityId = :entityId AND type = :type") + suspend fun getRemoteKeys(entityId: Int, type: RemoteKeyType): RemoteKeys? + + @Insert(onConflict = OnConflictStrategy.REPLACE) + suspend fun insertAll(remoteKey: List) + + @Query("DELETE FROM remote_keys WHERE type = :type") + suspend fun clearRemoteKeys(type: RemoteKeyType) +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/remotekeys/model/RemoteKeys.kt b/app/src/main/java/com/example/myapplication/database/remotekeys/model/RemoteKeys.kt new file mode 100644 index 0000000..27be18a --- /dev/null +++ b/app/src/main/java/com/example/myapplication/database/remotekeys/model/RemoteKeys.kt @@ -0,0 +1,30 @@ +package com.example.myapplication.database.remotekeys.model + +import androidx.room.Entity +import androidx.room.PrimaryKey +import androidx.room.TypeConverter +import androidx.room.TypeConverters +import com.example.myapplication.database.entities.model.Cinema +import com.example.myapplication.database.entities.model.Order +import com.example.myapplication.database.entities.model.Session + +enum class RemoteKeyType(private val type: String) { + CINEMA(Cinema::class.simpleName ?: "Cinema"), + ORDER(Order::class.simpleName ?: "Order"), + SESSION(Session::class.simpleName ?: "Session"); + + @TypeConverter + fun toRemoteKeyType(value: String) = RemoteKeyType.values().first { it.type == value } + + @TypeConverter + fun fromRemoteKeyType(value: RemoteKeyType) = value.type +} + +@Entity(tableName = "remote_keys") +data class RemoteKeys( + @PrimaryKey val entityId: Int, + @TypeConverters(RemoteKeyType::class) + val type: RemoteKeyType, + val prevKey: Int?, + val nextKey: Int? +) diff --git a/app/src/main/java/com/example/myapplication/database/remotekeys/repository/OfflineRemoteKeyRepository.kt b/app/src/main/java/com/example/myapplication/database/remotekeys/repository/OfflineRemoteKeyRepository.kt new file mode 100644 index 0000000..66387df --- /dev/null +++ b/app/src/main/java/com/example/myapplication/database/remotekeys/repository/OfflineRemoteKeyRepository.kt @@ -0,0 +1,16 @@ +package com.example.myapplication.database.remotekeys.repository + +import com.example.myapplication.database.remotekeys.dao.RemoteKeysDao +import com.example.myapplication.database.remotekeys.model.RemoteKeyType +import com.example.myapplication.database.remotekeys.model.RemoteKeys + +class OfflineRemoteKeyRepository(private val remoteKeysDao: RemoteKeysDao) : RemoteKeyRepository { + override suspend fun getAllRemoteKeys(id: Int, type: RemoteKeyType) = + remoteKeysDao.getRemoteKeys(id, type) + + override suspend fun createRemoteKeys(remoteKeys: List) = + remoteKeysDao.insertAll(remoteKeys) + + override suspend fun deleteRemoteKey(type: RemoteKeyType) = + remoteKeysDao.clearRemoteKeys(type) +} \ No newline at end of file diff --git a/app/src/main/java/com/example/myapplication/database/remotekeys/repository/RemoteKeyRepository.kt b/app/src/main/java/com/example/myapplication/database/remotekeys/repository/RemoteKeyRepository.kt new file mode 100644 index 0000000..ea47662 --- /dev/null +++ b/app/src/main/java/com/example/myapplication/database/remotekeys/repository/RemoteKeyRepository.kt @@ -0,0 +1,10 @@ +package com.example.myapplication.database.remotekeys.repository + +import com.example.myapplication.database.remotekeys.model.RemoteKeyType +import com.example.myapplication.database.remotekeys.model.RemoteKeys + +interface RemoteKeyRepository { + suspend fun getAllRemoteKeys(id: Int, type: RemoteKeyType): RemoteKeys? + suspend fun createRemoteKeys(remoteKeys: List) + suspend fun deleteRemoteKey(type: RemoteKeyType) +} \ No newline at end of file diff --git a/app/src/main/res/xml/network_security_config.xml b/app/src/main/res/xml/network_security_config.xml new file mode 100644 index 0000000..9e9f9ce --- /dev/null +++ b/app/src/main/res/xml/network_security_config.xml @@ -0,0 +1,6 @@ + + + + 192.168.154.166 + + \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 3b1b951..279adfa 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,4 +3,5 @@ plugins { id("com.android.application") version "8.1.2" apply false id("org.jetbrains.kotlin.android") version "1.8.20" apply false id("com.google.devtools.ksp") version "1.8.20-1.0.11" apply false + id("org.jetbrains.kotlin.plugin.serialization") version "1.8.20" apply false } \ No newline at end of file diff --git a/server/.gitignore b/server/.gitignore new file mode 100644 index 0000000..1b06270 --- /dev/null +++ b/server/.gitignore @@ -0,0 +1,42 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db \ No newline at end of file diff --git a/server/.~data.json b/server/.~data.json new file mode 100644 index 0000000..d14c850 --- /dev/null +++ b/server/.~data.json @@ -0,0 +1,70088 @@ +{ + "users": [ + { + "id": 1, + "login": "login", + "password": "password", + "sessions": [ + { + "id": 5, + "count": 6, + "cinemaId": 2 + } + ] + } + ], + "orders": [ + { + "id": 2, + "userId": 1, + "sessions": [ + { + "id": 1, + "dateTime": "20.12.2022 02:15", + "frozenPrice": 150, + "count": 3, + "cinemaId": 3 + } + ] + }, + { + "id": 3, + "userId": 1, + "sessions": [ + { + "id": 1, + "dateTime": "20.12.2022 02:15", + "frozenPrice": 150, + "count": 3, + "cinemaId": 3 + }, + { + "id": 5, + "dateTime": "04.04.2004 00:00", + "frozenPrice": 1234, + "count": 1, + "cinemaId": 2 + } + ] + }, + { + "id": 4, + "userId": 1, + "sessions": [ + { + "id": 1, + "dateTime": "20.12.2022 02:15", + "frozenPrice": 150, + "count": 1, + "cinemaId": 3 + }, + { + "id": 5, + "dateTime": "04.04.2004 00:00", + "frozenPrice": 1234, + "count": 1, + "cinemaId": 2 + } + ] + }, + { + "id": 5, + "userId": 1 + }, + { + "id": 6, + "userId": 1, + "sessions": [ + { + "id": 5, + "dateTime": "04.04.2004 00:00", + "frozenPrice": 1234, + "count": 5, + "cinemaId": 2 + }, + { + "id": 2, + "dateTime": "22.03.2021 03:15", + "frozenPrice": 100, + "count": 5, + "cinemaId": 3 + } + ] + } + ], + "sessions": [ + { + "dateTime": "20.12.2022 02:15", + "price": 150, + "maxCount": 15, + "cinemaId": 3, + "id": 1 + }, + { + "dateTime": "22.03.2021 03:15", + "price": 100, + "maxCount": 5, + "cinemaId": 3, + "id": 2 + }, + { + "dateTime": "04.04.2004 00:00", + "price": 1234, + "maxCount": 15, + "cinemaId": 2, + "id": 5 + } + ], + "cinemas": [ + { + "name": "кино", + "description": "кино", + "image": [ + -1, + -40, + -1, + -32, + 0, + 16, + 74, + 70, + 73, + 70, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + -1, + -30, + 2, + 40, + 73, + 67, + 67, + 95, + 80, + 82, + 79, + 70, + 73, + 76, + 69, + 0, + 1, + 1, + 0, + 0, + 2, + 24, + 0, + 0, + 0, + 0, + 4, + 48, + 0, + 0, + 109, + 110, + 116, + 114, + 82, + 71, + 66, + 32, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 97, + 99, + 115, + 112, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + -10, + -42, + 0, + 1, + 0, + 0, + 0, + 0, + -45, + 45, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 100, + 101, + 115, + 99, + 0, + 0, + 0, + -16, + 0, + 0, + 0, + 116, + 114, + 88, + 89, + 90, + 0, + 0, + 1, + 100, + 0, + 0, + 0, + 20, + 103, + 88, + 89, + 90, + 0, + 0, + 1, + 120, + 0, + 0, + 0, + 20, + 98, + 88, + 89, + 90, + 0, + 0, + 1, + -116, + 0, + 0, + 0, + 20, + 114, + 84, + 82, + 67, + 0, + 0, + 1, + -96, + 0, + 0, + 0, + 40, + 103, + 84, + 82, + 67, + 0, + 0, + 1, + -96, + 0, + 0, + 0, + 40, + 98, + 84, + 82, + 67, + 0, + 0, + 1, + -96, + 0, + 0, + 0, + 40, + 119, + 116, + 112, + 116, + 0, + 0, + 1, + -56, + 0, + 0, + 0, + 20, + 99, + 112, + 114, + 116, + 0, + 0, + 1, + -36, + 0, + 0, + 0, + 60, + 109, + 108, + 117, + 99, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 12, + 101, + 110, + 85, + 83, + 0, + 0, + 0, + 88, + 0, + 0, + 0, + 28, + 0, + 115, + 0, + 82, + 0, + 71, + 0, + 66, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 111, + -94, + 0, + 0, + 56, + -11, + 0, + 0, + 3, + -112, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + -103, + 0, + 0, + -73, + -123, + 0, + 0, + 24, + -38, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 36, + -96, + 0, + 0, + 15, + -124, + 0, + 0, + -74, + -49, + 112, + 97, + 114, + 97, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 2, + 102, + 102, + 0, + 0, + -14, + -89, + 0, + 0, + 13, + 89, + 0, + 0, + 19, + -48, + 0, + 0, + 10, + 91, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + -10, + -42, + 0, + 1, + 0, + 0, + 0, + 0, + -45, + 45, + 109, + 108, + 117, + 99, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 12, + 101, + 110, + 85, + 83, + 0, + 0, + 0, + 32, + 0, + 0, + 0, + 28, + 0, + 71, + 0, + 111, + 0, + 111, + 0, + 103, + 0, + 108, + 0, + 101, + 0, + 32, + 0, + 73, + 0, + 110, + 0, + 99, + 0, + 46, + 0, + 32, + 0, + 50, + 0, + 48, + 0, + 49, + 0, + 54, + -1, + -37, + 0, + 67, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -37, + 0, + 67, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -64, + 0, + 17, + 8, + 0, + -56, + 0, + -106, + 3, + 1, + 34, + 0, + 2, + 17, + 1, + 3, + 17, + 1, + -1, + -60, + 0, + 30, + 0, + 0, + 2, + 2, + 3, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 7, + 8, + 6, + 9, + 0, + 5, + 10, + 4, + 3, + 2, + 1, + -1, + -60, + 0, + 40, + 16, + 0, + 2, + 3, + 1, + 1, + 1, + 0, + 1, + 5, + 1, + 1, + 1, + 1, + 0, + 3, + 0, + 5, + 6, + 3, + 4, + 7, + 2, + 8, + 1, + 21, + 0, + 9, + 20, + 22, + 23, + 19, + 18, + 17, + 36, + 24, + 37, + 39, + -1, + -60, + 0, + 28, + 1, + 0, + 2, + 3, + 0, + 3, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 6, + 3, + 4, + 7, + 0, + 2, + 8, + 1, + -1, + -60, + 0, + 50, + 17, + 0, + 2, + 2, + 2, + 2, + 1, + 3, + 3, + 2, + 6, + 1, + 4, + 3, + 0, + 0, + 0, + 1, + 2, + 3, + 17, + 4, + 18, + 5, + 33, + 19, + 0, + 34, + 49, + 6, + 20, + 65, + 50, + 81, + 7, + 35, + 51, + 66, + 97, + 113, + -127, + 21, + 36, + 82, + -95, + 22, + -111, + -47, + -1, + -38, + 0, + 12, + 3, + 1, + 0, + 2, + 17, + 3, + 17, + 0, + 63, + 0, + 14, + -36, + -86, + -126, + -37, + -107, + -125, + -83, + -83, + 104, + -71, + -30, + -40, + 19, + -123, + 95, + 72, + -99, + 30, + -17, + -47, + -4, + -47, + -100, + -28, + -108, + -102, + -124, + -40, + 70, + 80, + 101, + -44, + -52, + 27, + -90, + 62, + -107, + -93, + -109, + -60, + 101, + -104, + -124, + 71, + 90, + 72, + 89, + -2, + -88, + -89, + 94, + -24, + -44, + -9, + 113, + -102, + 110, + 104, + 28, + -31, + -80, + -93, + -114, + 85, + 112, + 106, + 38, + -94, + -47, + -23, + -108, + -89, + -58, + -73, + 108, + -27, + 54, + -42, + -89, + -96, + 47, + -70, + 40, + 89, + -28, + -55, + 36, + -91, + -115, + 59, + 68, + 52, + -18, + -32, + -110, + -121, + -15, + 116, + 113, + -109, + 24, + -88, + -58, + 88, + -81, + -46, + 18, + 33, + 82, + -29, + 89, + 110, + 72, + -108, + 11, + 109, + -119, + -2, + 42, + -17, + -10, + 7, + -8, + 50, + 12, + -104, + 59, + -97, + -120, + -12, + -30, + 91, + 3, + 50, + -119, + 102, + 117, + -123, + -19, + 17, + -93, + 12, + -118, + -80, + -65, + -95, + -100, + -125, + -48, + 8, + 1, + -114, + 23, + 92, + -55, + -107, + -60, + 43, + 118, + 109, + 1, + 62, + -114, + 49, + 101, + -9, + -97, + -117, + -118, + 123, + -8, + -26, + 34, + -122, + 33, + 117, + -96, + 104, + -75, + -21, + 55, + 106, + -53, + 0, + 51, + -34, + 79, + -81, + 32, + 38, + 40, + 109, + -63, + -36, + -43, + -78, + 28, + 15, + 65, + 96, + 86, + -29, + -13, + -30, + 16, + 43, + -47, + 94, + -51, + -81, + 37, + -24, + -127, + 122, + -46, + 112, + -46, + -95, + -101, + -76, + 79, + -91, + -103, + -74, + -74, + -51, + 50, + -67, + -80, + 117, + -12, + -117, + 87, + -125, + -25, + 25, + -63, + 53, + 33, + -71, + -40, + 43, + -93, + -56, + 85, + 22, + -97, + 3, + -54, + -97, + 37, + -12, + 103, + 23, + -49, + -15, + -68, + 126, + 6, + 44, + 83, + 98, + -3, + -52, + -80, + -55, + 51, + 12, + -116, + -123, + 19, + 101, + 125, + -76, + -80, + -28, + 72, + -24, + 39, + -47, + 126, + -30, + 44, + -55, + 97, + 104, + -93, + 43, + 19, + 33, + -124, + -78, + -77, + 65, + 6, + -121, + -94, + -6, + -113, + 59, + -114, + -101, + 59, + 35, + 38, + 113, + 58, + -29, + -57, + 58, + -62, + -118, + -79, + 92, + 24, + -14, + 74, + -110, + 69, + 26, + -72, + 79, + 35, + -92, + 114, + 66, + -109, + 111, + 38, + -51, + 27, + -121, + 10, + 85, + 94, + 66, + -53, + 125, + -41, + 28, + -11, + 85, + 70, + 101, + -117, + -114, + 53, + -41, + 111, + -78, + 50, + 24, + -114, + -111, + -88, + 90, + -4, + -42, + -17, + 18, + -111, + 53, + -27, + 6, + 18, + 71, + -103, + 87, + -118, + 53, + 86, + -49, + -112, + -17, + -11, + 90, + -107, + 58, + 37, + 7, + -117, + 56, + 124, + -70, + 109, + -59, + 56, + -105, + -24, + 55, + -105, + 3, + -101, + 18, + 107, + 35, + 4, + 111, + 78, + -31, + 103, + 91, + 29, + -107, + -36, + 79, + -10, + -82, + 126, + 56, + -7, + 93, + 23, + 61, + 111, + 0, + -82, + -45, + 105, + 50, + -59, + 125, + 21, + -11, + -111, + 80, + -123, + -46, + 59, + 115, + 102, + 82, + 107, + -47, + -119, + -23, + -53, + -123, + 24, + 42, + 78, + -26, + -84, + 52, + 43, + 58, + 63, + -48, + -122, + -104, + -1, + 0, + -89, + -29, + -49, + 110, + -31, + -15, + -45, + -91, + -85, + -83, + -98, + -40, + 88, + -108, + -46, + 64, + 122, + 115, + 82, + -53, + -34, + 108, + 101, + -93, + -123, + -7, + -116, + 38, + -123, + -102, + -109, + -73, + 102, + -63, + 57, + -44, + -116, + -104, + -71, + -128, + -62, + -65, + 1, + -26, + 102, + 21, + -74, + -101, + -25, + 109, + -117, + 113, + 40, + 49, + 79, + -77, + -82, + -123, + 64, + -47, + 84, + -37, + 58, + -128, + -108, + 38, + -106, + 44, + -88, + 66, + 18, + -90, + -97, + 67, + -13, + -77, + 68, + -27, + 74, + -84, + -60, + -78, + -74, + -53, + -104, + -40, + 76, + -74, + -70, + -65, + -49, + -95, + 62, + -89, + -36, + -98, + -77, + 43, + -122, + -118, + 54, + -102, + 51, + -62, + 23, + -103, + 24, + -43, + -60, + -72, + 91, + -41, + 93, + 81, + -46, + -99, + -13, + -117, + 55, + 18, + 90, + 23, + 119, + 42, + 95, + 98, + 114, + 102, + 48, + -116, + -94, + -32, + 43, + 61, + -83, + -96, + -81, + 127, + 14, + 126, + -126, + 60, + 86, + 103, + 33, + -54, + 54, + 92, + -123, + -72, + -18, + 127, + -22, + 86, + 104, + -2, + -29, + 33, + -111, + -68, + -50, + 48, + -96, + -48, + 121, + 66, + -80, + -117, + 13, + 74, + -80, + 117, + -110, + -62, + -122, + 99, + -79, + 86, + 94, + -1, + 0, + 83, + 125, + 66, + -103, + -65, + 97, + -114, + -63, + 91, + -17, + 48, + -8, + -26, + -116, + -76, + 81, + 108, + -86, + 35, + 92, + -121, + -40, + -107, + 36, + 19, + 51, + -128, + -70, + -107, + 33, + -127, + 8, + 40, + 54, + -37, + -36, + -115, + 31, + -45, + 10, + -39, + -38, + 83, + 90, + 51, + 22, + 108, + -57, + -108, + -85, + -111, + -8, + 119, + 57, + 63, + 112, + 17, + -36, + 126, + -26, + 56, + 50, + -40, + -118, + 82, + 105, + 96, + 11, + -94, + 121, + -115, + 50, + 25, + 52, + 77, + 22, + -69, + -125, + 23, + -47, + 87, + 29, + 14, + 40, + 97, + 45, + 112, + -111, + -61, + -109, + -103, + 124, + -76, + 86, + 86, + 77, + -4, + -72, + -104, + -31, + 90, + 34, + -17, + -95, + 6, + 59, + 122, + -78, + -88, + 47, + 57, + -59, + -83, + -64, + 33, + -123, + 19, + -49, + 90, + -125, + -32, + 39, + -59, + 60, + 41, + 21, + 93, + 41, + -92, + 114, + -90, + -97, + 30, + -109, + 80, + 59, + -67, + 33, + -32, + -72, + 15, + 74, + 67, + -127, + -66, + -101, + -49, + 85, + 19, + 87, + -29, + 69, + 82, + 73, + -51, + 62, + -101, + 54, + -14, + -82, + -4, + 120, + -15, + 109, + 102, + -87, + -29, + 44, + 104, + 107, + 118, + 107, + -80, + 23, + 71, + 77, + -54, + 26, + 95, + 124, + -47, + 61, + -10, + -15, + 11, + 89, + -89, + -107, + 8, + -7, + -67, + 79, + -16, + 57, + -78, + 92, + -30, + -101, + 3, + -29, + -9, + -78, + -7, + -51, + 77, + 101, + -29, + 66, + 36, + -48, + -67, + 100, + 88, + -21, + -94, + 61, + 46, + 64, + -26, + 121, + -88, + -41, + 73, + 102, + -92, + -98, + 32, + -125, + -94, + 96, + -58, + -9, + -100, + 60, + -72, + -78, + 83, + 72, + 40, + -17, + -27, + 1, + -75, + 66, + -30, + 94, + -98, + -33, + -13, + 98, + -52, + -85, + -116, + 14, + 38, + -111, + -40, + -78, + 116, + -1, + 0, + 78, + 48, + 25, + -112, + 124, + -24, + 25, + 11, + -102, + -90, + -75, + -26, + -19, + 49, + 77, + 17, + 60, + 42, + -18, + 102, + -5, + 74, + 6, + 69, + -117, + 74, + 76, + -61, + 15, + -6, + 53, + -76, + 114, + -10, + -94, + -94, + -30, + 55, + 111, + -64, + -30, + -102, + 92, + -106, + -49, + -111, + -110, + 24, + -95, + 27, + -53, + 36, + -14, + -94, + -120, + -42, + 12, + 89, + 15, + -111, + 100, + 120, + -89, + 80, + -86, + 101, + 37, + -55, + -48, + 44, + 108, + -44, + -5, + -128, + 89, + 31, + 63, + 62, + 40, + -79, + -101, + 26, + 53, + 50, + -51, + 40, + 11, + 20, + 112, + -60, + -25, + 99, + 46, + 76, + 86, + -116, + -111, + -51, + 9, + 59, + 8, + -56, + 82, + -123, + -18, + 80, + -92, + -82, + -91, + -86, + -47, + -11, + 31, + -36, + 39, + 39, + 49, + -117, + -25, + -7, + 70, + -111, + 27, + -17, + -103, + 111, + -20, + -75, + 51, + -57, + -20, + -87, + -47, + -21, + 26, + -38, + -45, + -111, + -106, + 44, + 102, + -81, + 73, + -113, + 122, + -118, + -17, + -6, + -99, + -50, + -108, + 13, + -119, + 75, + -122, + -43, + -92, + 124, + -8, + 14, + -55, + -108, + -40, + 52, + 65, + 10, + -61, + 8, + 77, + 113, + 98, + -30, + 9, + 18, + 40, + -86, + 72, + -102, + 109, + 87, + 43, + -15, + -105, + -96, + 20, + -42, + 43, + 102, + 29, + 106, + 94, + -119, + -33, + 85, + 111, + 106, + 76, + 42, + -6, + 38, + 97, + 82, + 120, + -3, + 1, + -112, + -121, + 39, + -98, + 42, + -23, + 11, + 101, + -75, + 10, + -44, + -105, + 59, + 46, + -32, + 36, + -21, + 61, + -79, + 64, + 87, + -7, + -103, + 64, + -83, + -124, + -86, + 26, + -45, + 66, + 122, + -96, + -32, + -70, + 40, + 123, + 43, + 127, + 83, + -64, + -6, + -98, + 80, + -112, + 120, + 51, + 22, + 53, + -7, + 72, + 70, + 9, + 125, + 75, + -51, + 85, + -13, + 60, + -77, + 95, + -38, + -78, + -124, + 6, + 12, + -77, + 80, + 100, + -101, + -74, + -52, + -121, + 63, + 58, + -88, + -69, + 84, + -56, + 118, + -127, + 12, + 2, + 93, + -61, + 72, + -69, + -12, + -89, + -97, + 93, + 116, + -89, + -128, + 57, + 60, + 38, + 14, + -74, + 60, + -85, + 6, + -63, + 17, + 9, + -62, + -16, + 108, + 4, + -58, + -47, + -34, + 104, + -67, + -23, + -113, + 76, + -7, + 51, + -44, + 7, + 26, + 69, + -91, + 84, + -126, + -119, + -75, + 72, + 115, + 6, + 106, + 78, + 73, + -123, + -10, + -68, + -78, + -42, + -48, + -73, + -87, + 51, + -79, + 45, + 122, + -112, + 100, + 67, + 50, + 112, + -108, + -93, + 84, + -101, + 74, + 26, + -47, + -85, + 76, + 85, + -110, + 86, + 101, + 118, + 53, + -17, + -84, + -80, + -45, + -95, + -60, + -1, + 0, + 16, + 115, + -71, + -68, + -50, + 50, + 9, + -72, + 101, + -109, + 11, + 51, + 59, + 58, + 15, + -68, + -97, + 33, + 35, + -5, + 108, + 44, + 100, + 85, + 76, + -120, + -27, + 92, + 117, + -119, + -33, + -111, + 97, + 20, + -72, + 24, + -116, + -104, + 83, + 72, + -123, + 50, + 3, + -115, + 100, + 71, + 3, + -53, + 125, + 23, + -117, + -60, + -30, + -27, + 101, + 98, + -14, + 82, + -29, + 101, + 66, + -80, + -27, + -49, + -117, + 12, + 109, + 42, + 79, + -109, + 32, + 96, + 86, + 104, + 30, + 89, + 39, + 88, + 113, + 81, + -54, + 100, + 76, + -113, + -109, + 16, + 114, + -56, + 99, + 80, + -54, + -54, + -113, + 126, + -13, + 120, + -34, + -20, + 97, + 77, + 15, + 121, + -46, + 115, + -31, + -56, + 119, + -113, + -74, + -73, + -118, + 113, + -47, + 83, + 52, + 122, + -51, + 29, + -68, + -43, + -48, + -53, + -41, + -48, + -4, + -2, + -119, + -87, + -25, + -10, + -114, + -80, + 52, + 103, + -70, + 114, + 118, + 105, + -108, + 11, + 60, + 122, + -81, + -37, + 90, + -118, + -35, + -111, + 63, + 83, + 1, + -115, + -45, + 65, + -125, + 95, + 83, + 78, + 75, + 118, + 127, + 102, + 69, + -116, + -36, + -41, + -125, + 90, + 21, + -18, + -21, + -125, + -26, + 78, + -42, + 34, + -47, + 51, + -106, + 20, + -77, + -49, + -105, + 49, + -75, + -75, + 109, + -119, + 8, + -74, + -103, + -87, + 89, + -107, + -51, + -112, + 78, + 124, + -14, + -82, + -58, + -112, + -35, + -126, + 86, + -46, + 15, + -99, + -21, + 79, + 93, + -48, + 114, + 54, + -27, + -20, + -74, + -10, + 51, + -88, + 36, + 48, + -85, + 9, + -6, + -67, + -43, + 82, + -2, + -31, + 104, + -34, + -119, + -52, + -29, + 27, + -100, + -6, + 48, + -121, + -98, + 44, + -25, + -108, + 78, + -57, + -84, + -81, + 122, + 75, + 28, + 86, + 81, + -88, + -83, + -72, + 50, + -65, + 33, + 16, + -17, + 59, + -104, + 101, + -108, + 75, + 11, + 42, + 42, + -21, + -18, + 20, + -47, + 11, + -47, + 100, + 83, + 17, + -109, + 100, + -96, + -82, + 41, + 100, + 76, + 58, + 74, + -28, + -5, + 11, + -71, + 102, + 3, + 45, + -122, + -49, + -37, + 61, + -65, + -46, + 122, + 126, + 62, + 87, + 43, + -60, + -12, + 53, + 116, + 45, + 3, + -50, + -117, + -6, + -95, + 102, + 77, + 57, + -99, + -112, + -34, + 100, + 89, + 111, + 17, + -47, + -100, + 115, + -14, + 47, + 12, + 52, + -98, + -59, + -50, + 50, + 9, + 19, + 84, + 116, + -92, + -56, + -40, + 25, + -19, + 104, + 116, + 79, + 43, + -13, + -15, + -78, + -47, + 6, + -81, + -8, + 3, + -49, + 41, + -108, + 5, + 127, + -110, + -49, + -61, + -58, + -26, + -79, + 39, + -64, + -62, + -56, + -110, + 56, + 103, + -115, + 39, + -128, + 40, + 73, + -30, + 121, + -79, + -34, + 41, + 100, + 69, + 37, + -106, + 109, + 11, + -84, + -109, + 15, + 47, + -13, + 20, + -77, + 9, + 118, + 32, + -6, + -30, + 97, + 101, + 102, + -3, + 33, + -101, + -115, + -107, + -101, + -120, + -109, + 73, + 17, + 120, + -78, + -29, + 44, + 96, + 8, + -109, + -59, + 52, + 126, + -22, + 87, + -115, + -40, + 41, + 84, + 26, + 43, + 70, + 89, + 84, + -96, + 3, + 80, + -68, + 122, + 83, + 33, + 127, + -13, + 7, + -70, + 54, + -1, + 0, + 60, + -83, + -120, + -18, + -8, + -121, + 23, + -106, + 58, + -81, + 89, + 38, + 41, + 88, + -57, + 1, + -25, + 69, + 120, + -5, + 54, + -90, + 53, + -100, + 69, + 2, + 9, + 93, + -102, + 6, + -125, + -114, + -39, + 105, + 24, + 113, + 38, + 9, + -110, + -49, + 18, + -94, + 20, + 101, + -11, + -40, + -76, + 119, + 96, + 115, + 124, + 116, + 99, + 101, + 82, + -123, + 94, + 95, + 57, + 117, + 100, + -55, + 64, + 100, + -121, + -114, + -76, + -23, + -95, + 124, + 58, + -56, + -46, + -66, + 0, + -11, + 118, + 107, + -99, + 114, + 48, + 117, + 6, + 60, + 40, + 66, + -32, + 17, + -85, + 43, + -99, + -125, + 63, + 78, + 118, + 14, + 72, + 41, + 17, + -108, + 127, + -34, + -103, + -94, + -123, + -118, + -97, + -26, + -117, + 102, + -3, + 108, + 61, + -79, + -82, + -74, + 90, + -11, + 67, + -99, + -41, + -54, + 33, + 114, + -74, + -75, + -106, + 64, + 89, + -87, + -92, + 51, + 21, + -42, + -87, + 7, + -6, + 105, + 111, + 46, + -117, + 63, + 85, + -7, + -35, + 114, + 12, + 26, + 21, + -103, + -95, + 42, + 10, + -107, + -74, + 17, + -71, + -44, + -73, + -97, + -105, + 75, + 45, + 125, + 30, + 58, + 7, + 61, + 117, + 53, + 84, + 75, + 117, + 8, + 1, + 54, + 71, + 73, + -100, + -44, + 29, + 29, + -13, + 98, + -123, + 105, + -122, + -104, + -107, + -122, + 60, + -28, + 5, + 125, + 49, + -72, + 101, + 114, + -49, + -83, + -18, + 26, + -125, + 88, + -29, + -6, + 85, + 99, + -17, + 77, + 38, + -24, + -110, + 101, + 123, + -7, + 75, + -65, + -109, + 16, + -81, + -7, + 80, + 61, + -104, + 86, + -69, + 83, + -126, + 13, + 43, + 83, + -59, + -26, + 127, + -30, + -116, + -104, + 124, + -41, + 43, + -98, + 19, + 27, + 24, + 105, + 6, + 110, + 41, + 89, + 84, + -57, + -106, + -39, + 18, + 100, + 60, + 126, + 88, + -74, + -16, + -100, + 89, + 33, + 88, + 91, + -60, + -59, + -28, + -115, + -117, + -22, + -56, + -60, + 2, + -70, + -121, + -45, + -4, + 86, + 68, + -4, + 55, + 22, + 103, + -24, + -116, + 108, + 64, + -7, + 69, + 76, + -79, + -123, + -15, + -29, + -17, + 82, + 38, + -37, + -101, + 102, + 110, + -69, + -78, + 77, + -111, + -14, + -35, + -27, + -12, + 49, + -100, + -23, + 113, + -111, + -128, + -72, + -122, + -5, + -39, + -10, + 86, + -82, + 69, + -38, + -6, + -16, + 101, + 122, + 31, + 102, + 108, + 83, + 94, + 97, + -98, + -89, + 42, + 66, + -44, + -110, + 86, + 107, + -128, + 38, + -25, + -57, + 78, + -43, + -8, + 92, + 62, + 111, + -16, + -84, + -111, + -63, + -12, + -48, + -109, + 46, + 23, + -113, + -42, + -80, + -56, + -24, + -67, + 28, + -11, + 34, + 46, + 96, + -39, + -104, + -54, + -41, + 106, + 90, + 71, + -13, + -51, + 7, + -83, + 42, + 118, + 48, + 119, + -36, + 78, + -128, + 75, + 5, + 83, + 65, + -31, + -96, + 97, + 104, + -109, + 28, + -119, + 38, + -119, + 113, + -8, + -68, + -34, + -122, + 19, + -119, + 86, + -89, + 106, + -51, + 7, + -22, + 28, + -109, + 90, + 18, + 89, + -54, + -118, + -16, + 7, + 11, + -94, + -105, + -90, + 109, + 79, + 82, + 14, + -82, + -62, + 37, + -125, + -70, + -71, + 10, + -92, + 22, + -82, + -98, + 82, + -93, + 84, + 52, + -16, + -82, + -11, + 102, + 70, + 36, + 113, + 52, + -105, + -65, + -18, + 32, + -23, + 112, + -41, + -121, + -61, + 123, + 47, + 1, + 123, + 49, + 92, + -116, + 125, + -14, + -39, + -8, + -74, + -110, + -36, + 44, + -46, + -110, + 107, + -105, + 64, + 86, + -16, + -48, + 66, + 91, + -112, + 27, + 112, + 18, + -113, + 114, + 21, + 23, + -93, + 23, + 29, + 58, + -72, + -117, + 0, + 64, + 112, + 60, + -20, + 37, + -84, + -42, + 106, + -127, + -98, + 75, + 84, + 116, + 114, + 34, + -116, + -114, + 103, + 15, + 91, + -69, + 85, + 21, + 72, + -2, + 72, + -1, + 0, + 33, + 89, + 59, + -128, + -63, + 43, + 0, + 42, + 126, + 20, + 62, + 111, + -57, + -3, + 51, + 3, + -53, + 7, + 37, + -51, + -7, + -78, + 115, + 97, + -53, + 89, + 68, + -112, + -26, + 74, + -14, + 120, + -40, + -29, + -78, + 3, + 44, + 108, + -74, + 98, + 101, + -112, + -54, + -72, + -20, + -85, + 41, + 27, + 18, + 69, + 32, + 108, + -117, + -110, + -28, + -91, + 105, + 112, + -72, + -44, + -114, + 24, + -126, + 24, + -111, + 114, + -96, + -96, + -15, + -86, + -107, + -14, + -54, + 36, + 32, + 9, + 30, + -9, + 83, + 45, + -5, + -103, + 125, + -90, + -57, + -87, + -122, + -105, + -24, + 5, + -76, + 29, + -42, + -82, + -85, + -111, + 81, + 118, + 77, + -125, + 27, + -86, + -72, + 24, + 57, + -67, + -59, + 116, + 105, + 49, + -89, + -44, + -52, + 41, + 13, + -44, + 105, + -24, + 84, + 0, + -30, + 23, + 120, + 4, + -86, + -27, + 79, + -13, + 71, + -34, + 81, + 45, + -51, + -1, + 0, + 51, + 86, + -125, + -109, + 92, + -51, + -28, + -52, + -69, + -32, + -4, + -93, + 111, + -61, + -125, + -68, + -18, + 36, + 64, + -118, + 69, + 28, + -8, + -42, + 48, + 38, + 88, + 16, + 96, + 1, + -108, + -44, + 56, + -97, + -118, + 76, + 52, + -53, + 52, + -112, + 34, + 30, + 18, + 3, + -44, + -8, + -28, + -60, + -91, + 87, + 24, + -33, + -101, + 24, + -105, + -28, + 59, + 20, + 81, + -119, + 18, + -58, + 116, + -110, + -49, + 92, + 46, + -43, + -79, + -14, + -96, + -75, + -11, + 88, + -62, + -64, + -47, + -51, + 3, + -23, + -54, + -11, + 61, + 11, + -65, + 35, + -1, + 0, + -43, + -1, + 0, + -93, + 126, + -80, + -46, + -123, + -87, + -108, + -1, + 0, + 102, + -85, + -97, + -77, + -1, + 0, + -57, + -53, + 95, + 22, + -123, + -86, + -75, + 5, + -2, + 61, + 116, + 117, + 38, + 115, + -89, + 29, + 4, + -36, + 119, + 103, + -8, + 64, + 79, + 83, + 42, + -77, + 108, + -128, + 57, + -81, + -24, + -12, + 85, + -87, + 76, + -68, + 68, + 17, + 66, + -85, + 45, + 54, + 73, + -120, + -73, + -55, + -42, + 56, + 11, + -42, + 35, + -43, + 122, + -60, + 72, + 24, + -75, + 23, + -39, + 88, + -99, + -57, + 75, + 94, + 90, + -12, + -106, + -83, + -103, + 27, + -15, + 107, + -19, + -14, + 49, + 67, + 24, + -56, + 102, + -27, + 117, + 118, + 109, + 35, + 44, + -53, + -111, + 1, + -109, + 9, + 9, + -60, + -103, + -54, + -8, + -106, + 82, + 99, + 81, + 18, + -94, + 34, + -68, + 82, + 56, + 116, + 17, + -84, + 64, + 70, + -84, + 10, + -123, + 96, + -125, + 85, + 80, + -92, + 12, + 31, + 79, + 59, + -50, + -55, + -101, + 34, + -59, + 50, + 121, + 11, + 7, + -22, + -9, + -112, + -80, + 37, + -126, + -23, + 101, + -100, + -73, + 76, + 122, + -90, + -17, + 107, + -11, + -70, + -125, + 52, + 18, + -72, + -98, + -61, + -63, + -53, + 51, + -90, + -50, + -46, + 9, + -88, + 37, + 67, + 84, + -125, + -45, + 14, + -76, + 44, + -107, + -75, + -48, + 3, + 85, + -62, + 9, + 2, + -88, + 24, + -95, + -13, + 22, + -94, + 62, + 82, + -60, + -52, + 113, + -79, + 119, + 98, + 96, + -53, + 4, + -7, + 96, + -8, + 98, + -56, + 101, + -127, + -27, + -95, + 5, + -42, + -13, + -126, + 39, + 55, + -118, + -128, + 23, + -90, + -97, + 56, + -62, + 30, + -61, + 80, + 123, + -123, + 66, + 127, + 93, + 52, + 28, + -121, + 84, + 47, + -112, + -83, + 56, + 112, + 36, + -124, + 56, + 26, + 92, + 21, + -7, + -14, + -107, + 76, + -73, + 19, + 42, + 97, + -83, + -63, + 11, + -85, + 80, + -117, + 47, + 36, + -87, + -30, + 13, + 24, + -65, + 33, + 28, + -79, + 55, + -36, + -8, + 105, + 27, + 32, + 41, + 118, + 64, + 45, + 48, + 122, + 51, + 39, + 84, + 46, + -54, + 74, + -31, + 115, + -22, + 99, + 126, + 20, + -29, + -5, + 77, + -13, + -115, + -89, + -126, + 84, + -88, + -96, + -75, + -43, + 43, + -33, + -39, + 110, + 83, + -104, + -12, + -105, + -57, + 119, + 61, + -104, + -59, + -125, + -72, + 79, + -30, + -3, + 104, + 118, + 91, + -96, + -118, + 34, + 120, + -20, + 46, + -103, + -38, + -6, + -3, + 105, + -29, + -82, + 118, + 0, + -125, + -89, + 26, + -50, + -47, + 60, + -11, + 104, + 6, + 112, + 61, + 77, + 104, + -28, + 10, + -105, + -89, + -100, + -72, + -12, + -11, + -42, + 7, + 113, + -21, + 18, + -24, + -62, + 73, + -55, + 61, + 91, + 72, + -118, + -119, + 93, + -80, + 58, + -87, + -115, + -73, + 99, + -118, + -121, + -110, + -113, + 31, + 33, + -105, + 38, + 56, + -23, + -124, + -117, + -10, + -51, + 8, + -110, + 70, + 10, + -87, + -31, + 120, + -99, + -124, + -120, + 7, + -80, + -122, + 66, + -56, + -31, + -118, + -80, + 103, + 96, + 61, + 83, + -28, + -15, + -101, + 25, + -94, + -57, + -57, + 67, + -42, + -91, + -40, + -95, + -76, + 1, + -127, + 98, + 92, + 19, + -27, + 83, + 102, + -64, + 3, + 82, + 47, + -37, + 68, + -6, + 36, + -58, + 3, + 56, + 105, + -79, + 69, + 100, + 69, + -25, + -22, + -51, + -42, + -90, + 101, + 57, + 77, + -76, + 125, + 126, + -81, + 21, + 50, + 4, + 29, + 28, + -2, + 54, + -79, + -89, + -40, + 38, + -79, + 56, + 75, + 87, + 70, + -76, + -70, + -115, + -5, + 13, + 49, + -56, + -11, + 110, + 124, + -91, + 45, + 107, + -123, + 25, + 108, + -34, + -98, + -59, + 123, + 25, + -6, + 125, + -80, + -99, + -39, + -81, + -54, + -75, + 87, + -38, + -31, + -31, + -117, + -112, + -27, + -41, + -38, + 87, + 23, + 126, + 16, + -69, + -72, + -123, + -97, + -8, + -74, + -104, + -61, + -14, + 86, + 1, + -90, + -14, + 119, + -107, + -109, + -58, + -24, + -48, + 38, + -113, + -10, + -99, + -23, + -83, + 53, + -77, + -119, + -102, + -17, + 16, + -38, + 41, + 39, + -45, + 93, + -44, + -26, + -98, + 126, + -119, + -32, + 47, + 9, + 38, + 44, + 79, + -105, + -99, + -52, + -63, + -112, + -64, + -103, + 99, + -115, + -103, + -112, + 49, + 99, + -18, + 66, + -86, + -64, + -85, + -118, + 97, + 68, + 10, + 52, + 21, + 65, + -44, + 12, + -102, + 14, + 94, + 41, + 90, + 56, + -95, + -64, + 100, + -116, + -22, + -92, + -78, + 6, + -21, + 91, + -38, + -40, + 29, + -127, + -80, + -42, + 44, + 16, + 67, + 29, + -121, + -87, + -98, + 110, + -42, + -100, + -43, + -27, + 100, + -20, + -70, + 9, + 61, + 10, + -106, + 94, + -17, + -99, + 118, + 62, + 51, + 36, + -107, + 60, + -125, + -48, + 54, + -125, + 110, + -69, + 69, + 0, + -10, + -105, + 117, + -53, + 87, + -55, + -28, + 25, + 126, + -127, + -36, + 11, + 11, + -21, + -59, + -2, + -83, + 51, + 38, + -36, + 40, + 88, + -69, + 121, + -88, + -84, + 29, + -48, + -126, + 100, + -118, + -84, + -76, + 78, + 49, + -53, + -68, + 19, + -19, + 63, + 28, + 1, + -22, + -46, + 55, + 111, + 89, + -50, + 15, + 111, + -24, + -125, + -90, + -36, + 127, + -40, + 2, + 104, + 76, + 97, + 64, + 51, + 86, + 68, + 68, + -96, + 14, + -22, + -113, + 47, + -122, + -60, + 125, + 26, + -90, + -94, + -39, + -87, + -6, + 15, + -19, + -112, + 101, + 68, + -3, + 98, + 126, + -50, + 2, + 15, + -49, + 117, + 86, + -61, + -91, + -18, + 68, + -40, + -61, + 104, + -11, + 46, + -85, + 2, + 80, + -56, + -4, + -65, + -91, + -25, + 38, + 111, + 30, + -48, + -13, + -47, + 56, + -13, + 58, + 101, + 15, + -53, + -81, + 94, + 93, + 18, + 110, + -106, + 106, + 103, + -48, + 37, + -122, + 21, + 53, + -12, + -32, + 83, + -41, + -121, + -41, + 97, + -20, + -21, + 77, + 57, + -103, + -43, + -41, + 28, + -28, + 91, + -85, + -1, + 0, + 110, + -50, + -106, + 24, + 40, + -34, + 118, + -79, + 105, + 51, + -91, + 2, + 121, + -11, + -96, + 60, + 35, + 73, + -60, + 110, + 48, + -58, + -70, + 63, + 121, + 42, + 11, + 43, + 15, + -97, + -24, + -101, + -118, + 61, + 84, + 52, + 102, + 103, + 19, + -38, + 9, + -79, + 0, + 109, + 103, + -106, + -62, + -76, + -13, + 39, + 86, + -14, + -95, + 122, + -70, + 118, + -109, + 125, + -45, + 63, + -2, + -17, + 69, + -122, + -59, + -91, + -42, + 77, + 116, + -93, + -91, + 63, + 71, + -81, + 30, + -104, + -77, + 96, + -68, + 64, + -85, + 98, + 73, + 28, + -71, + 42, + -55, + -4, + -76, + -106, + 88, + -106, + 82, + -127, + 45, + -85, + 84, + -57, + 100, + 42, + 40, + 7, + 117, + 52, + -37, + 91, + 34, + -100, + -57, + -56, + -57, + -28, + 34, + -112, + -126, + -71, + -120, + -47, + -30, + -70, + -74, + -50, + -15, + 69, + 39, + -120, + 62, + -32, + 11, + 5, + -89, + 87, + 7, + -65, + 108, + 77, + 68, + 5, + 53, + 94, + -69, + -17, + -78, + 60, + 120, + -20, + -13, + 79, + -112, + 13, + -20, + -38, + 22, + 47, + -89, + 106, + -24, + -120, + 46, + -26, + 86, + -45, + 125, + 30, + 21, + 88, + 110, + 99, + 75, + 117, + -117, + 82, + 25, + -95, + -108, + -123, + -29, + 30, + 95, + -125, + 74, + 115, + 101, + 20, + -116, + -23, + 81, + -127, + 32, + -107, + 54, + 121, + 111, + -23, + 109, + 12, + -82, + 10, + -126, + 26, + -66, + 44, + 127, + 55, + -12, + -19, + -95, + 126, + -21, + -2, + 120, + -48, + -97, + -38, + -126, + 44, + 122, + 77, + 75, + 61, + -43, + 117, + 6, + -59, + -30, + 36, + -36, + -12, + 121, + 116, + -36, + -9, + -54, + -100, + -78, + 103, + -123, + 115, + 53, + 5, + 54, + -11, + 85, + -9, + -100, + -83, + 89, + -87, + 92, + 6, + -31, + -103, + -48, + 34, + 107, + 72, + -94, + 124, + -56, + 94, + -106, + 26, + 104, + 30, + 7, + -45, + 115, + 69, + 75, + 74, + -49, + -75, + -128, + 67, + -9, + 67, + -5, + 117, + -65, + 13, + 86, + -27, + 122, + 60, + -5, + 69, + 121, + 109, + 110, + -45, + 73, + -93, + -42, + 9, + 71, + -50, + -63, + 19, + -78, + 84, + -4, + -36, + -3, + 21, + 67, + 34, + -39, + 83, + -21, + 29, + 36, + 40, + 90, + 22, + 127, + 55, + 90, + 31, + -99, + 94, + 22, + 81, + -103, + 122, + 78, + -111, + -27, + -78, + -41, + 52, + 29, + -119, + 124, + -90, + 85, + -82, + -58, + 23, + 111, + 48, + 99, + -52, + -51, + -38, + -110, + 42, + -98, + 124, + 106, + -112, + 125, + 84, + -58, + 29, + -84, + 41, + 103, + 26, + 3, + 27, + 20, + -71, + -125, + -106, + -77, + 83, + 39, + 87, + -98, + 28, + -33, + 44, + -91, + -118, + -121, + 77, + 4, + 115, + -83, + 23, + 35, + 82, + -24, + -65, + -30, + 43, + 50, + 39, + 54, + -72, + 9, + 44, + -50, + -69, + 4, + -113, + 14, + 102, + 86, + -85, + 81, + -30, + -32, + -58, + -117, + 11, + -100, + -15, + 24, + -30, + -118, + 121, + -78, + 115, + -62, + 40, + -80, + -45, + 100, + -51, + 48, + -98, + -127, + -8, + -9, + 54, + -96, + -9, + 65, + -107, + 64, + -24, + -43, + -20, + -28, + -112, + 102, + 112, + -91, + -29, + 121, + 101, + -114, + 56, + 113, + 119, + 118, + 1, + -107, + 35, + -113, + 28, + -57, + 100, + 124, + -17, + -96, + 36, + 88, + -74, + 82, + 79, + 95, + 27, + 12, + 57, + -17, + -57, + 69, + 73, + 45, + 47, + 101, + 91, + -54, + 118, + -31, + -65, + 52, + 0, + 16, + 111, + -126, + -112, + 109, + -8, + -91, + -53, + 90, + -119, + -77, + 21, + 57, + -74, + 78, + 59, + 89, + 118, + 124, + 94, + -77, + 22, + 97, + -93, + 40, + -35, + -48, + 54, + 37, + -95, + 4, + -60, + -125, + -77, + -2, + 63, + -116, + 34, + 6, + 122, + -89, + 105, + -67, + 33, + 66, + -118, + 105, + 116, + -52, + -93, + -30, + -21, + 46, + 119, + -22, + 109, + -128, + 14, + -41, + 5, + -28, + -100, + 61, + -73, + -42, + -80, + 4, + 70, + 2, + -39, + -106, + -101, + -7, + -83, + 105, + 2, + -3, + 89, + -93, + -79, + 103, + 62, + -112, + 123, + 89, + -75, + 117, + -65, + 63, + 111, + -64, + 51, + -75, + -93, + -39, + -9, + 104, + 55, + -20, + 32, + 86, + 50, + -63, + -78, + 49, + -71, + -104, + 9, + -3, + 86, + -50, + 121, + -26, + -78, + 80, + -55, + 61, + 69, + -127, + -7, + -15, + -42, + 21, + 28, + -63, + 59, + -55, + -104, + -58, + 83, + -23, + 63, + 79, + 28, + 93, + -59, + -27, + -82, + -41, + -121, + -64, + 61, + -109, + 9, + 3, + 18, + -16, + -35, + 87, + -47, + -6, + -92, + -83, + 35, + -112, + -75, + 76, + -14, + -79, + 37, + 22, + 13, + 82, + -98, + 72, + -76, + 79, + -122, + 117, + -105, + 21, + -90, + -83, + 22, + -99, + -25, + 119, + 34, + -38, + 54, + 63, + 98, + -38, + -50, + -29, + 103, + -3, + -80, + 112, + 127, + 49, + 121, + -128, + -86, + -38, + 35, + 46, + -60, + -92, + -63, + -96, + -109, + 93, + -125, + -118, + 97, + 117, + -89, + 81, + -30, + -51, + -67, + -47, + 94, + 32, + -49, + 85, + 127, + 90, + 6, + 87, + 101, + 17, + -111, + -76, + -51, + 33, + -128, + 57, + 17, + 34, + -77, + -46, + -58, + -56, + 55, + -80, + 36, + -83, + -43, + 121, + 91, + 21, + -12, + 56, + -25, + -41, + -76, + -26, + 110, + 37, + 95, + -2, + -109, + 44, + 94, + 36, + -106, + 41, + 56, + -7, + -84, + 26, + -14, + -77, + 75, + 16, + 97, + 24, + 82, + 8, + 37, + 80, + -126, + -52, + 69, + 0, + 16, + 22, + 10, + 0, + 11, + 124, + -60, + -48, + -57, + -54, + 99, + 19, + 60, + -112, + -50, + 57, + 24, + 66, + -90, + -82, + 99, + -46, + 39, + 8, + -14, + -110, + -92, + 29, + 9, + -40, + 0, + 7, + 100, + 59, + 80, + 85, + 62, + -109, + 87, + -84, + -72, + -98, + 124, + 55, + 93, + 83, + 35, + 46, + -66, + -37, + -67, + -125, + -64, + 115, + 48, + 2, + -107, + -107, + -12, + 7, + 21, + -83, + -89, + 84, + 37, + -89, + -110, + -36, + 51, + -12, + -108, + -78, + -39, + -93, + 113, + -83, + 51, + 37, + 127, + -41, + -26, + 105, + -92, + -73, + 105, + -114, + -116, + 79, + 0, + -115, + -51, + -107, + 11, + 99, + 106, + -60, + -40, + 110, + -21, + 46, + 76, + -125, + -51, + -23, + -72, + 77, + 126, + -63, + -47, + -11, + 105, + -35, + 52, + -52, + -61, + 99, + -52, + -76, + 20, + -111, + -76, + 105, + 49, + -96, + 49, + -87, + 108, + 25, + 120, + -19, + -79, + -31, + -85, + 77, + -90, + -36, + -20, + -22, + -115, + 93, + 105, + -77, + 80, + -99, + -66, + -110, + -118, + -83, + -23, + 116, + -42, + -11, + 37, + 111, + 71, + 36, + -106, + -121, + 56, + 127, + -53, + -59, + 63, + -9, + -85, + -88, + 103, + 5, + -79, + -10, + 71, + 12, + -14, + -90, + -21, + -83, + 2, + -87, + -75, + 34, + -20, + 120, + -93, + -72, + 108, + -29, + 71, + -56, + 66, + 121, + -79, + 111, + -47, + 95, + 116, + 10, + -97, + -22, + 123, + 78, + 88, + -97, + 95, + 60, + 85, + 100, + 60, + 83, + -50, + -113, + -124, + -51, + 2, + 15, + -124, + -42, + -118, + -69, + 80, + 117, + -6, + 34, + -11, + 27, + 98, + -65, + -96, + 25, + 61, + 105, + -70, + -112, + 114, + -20, + 123, + 51, + -96, + 67, + -48, + -82, + -66, + -101, + -6, + -45, + -87, + 104, + 126, + -124, + 83, + -55, + -75, + -43, + -15, + 85, + 108, + 97, + 90, + 67, + 55, + -97, + -12, + -19, + 87, + 36, + -49, + 94, + -103, + -37, + 5, + -12, + -122, + -50, + 9, + -81, + 30, + 17, + -10, + -29, + 30, + -85, + 6, + -59, + 58, + 30, + 80, + 13, + 57, + -102, + -62, + -12, + 99, + 38, + -96, + 49, + -112, + -52, + -23, + 59, + 72, + -107, + -60, + -59, + -68, + 121, + 104, + 46, + 38, + 15, + 23, + 46, + 86, + 55, + 31, + -107, + -116, + -50, + -78, + -84, + 48, + -92, + 99, + 33, + 21, + 104, + -56, + -14, + -53, + 14, + 49, + 116, + 118, + 117, + 0, + -8, + -101, + 89, + 24, + -21, + -95, + -39, + -104, + -87, + -120, + -114, + 70, + 103, + 42, + -80, + 100, + -26, + -30, + -50, + -111, + 60, + 109, + -111, + 51, + -69, + 66, + -51, + 46, + -23, + 28, + 112, + -57, + 44, + -22, + -91, + 80, + 89, + 34, + 68, + -39, + 69, + -97, + 37, + -88, + 90, + -125, + -20, + -103, + 30, + 66, + 51, + 34, + -12, + 91, + -11, + -121, + -90, + -84, + -59, + 19, + 71, + -117, + 16, + 70, + -50, + 115, + -38, + 58, + 38, + -114, + -54, + -95, + -24, + -127, + -103, + 115, + 9, + -37, + -1, + 0, + 78, + -90, + 40, + 85, + 115, + -48, + 51, + 16, + 107, + -6, + 91, + -27, + 26, + 78, + -104, + 22, + -99, + -87, + 104, + -51, + -112, + -23, + 84, + 81, + -104, + -85, + 103, + -87, + -28, + 106, + -44, + 59, + -24, + 125, + -95, + 116, + -13, + -49, + -82, + 125, + 1, + -120, + -67, + 111, + 110, + -64, + 45, + 47, + -106, + -46, + 53, + -60, + 70, + 21, + -119, + 93, + -40, + 24, + -104, + -76, + 45, + 51, + -84, + -31, + -128, + -124, + -118, + -117, + -26, + -83, + -82, + -79, + -9, + 5, + 99, + -92, + 59, + -78, + 9, + 122, + 20, + 17, + -84, + 2, + -101, + -13, + -65, + -30, + -57, + 115, + -94, + 99, + -19, + -58, + -85, + 76, + 69, + 75, + 49, + 117, + 50, + -78, + -90, + 11, + 125, + 20, + -122, + -4, + -77, + -30, + -64, + 45, + -104, + -84, + 106, + -5, + -121, + -116, + 118, + 3, + 4, + -77, + -94, + -85, + -19, + 74, + -117, + 108, + 36, + -107, + -120, + -27, + 41, + -81, + 5, + 33, + 103, + 6, + -17, + -93, + -26, + 60, + 70, + 75, + 86, + 45, + -101, + -23, + -6, + -87, + -3, + 101, + -36, + 122, + 105, + -97, + 68, + 102, + -53, + 107, + -70, + 87, + 101, + 105, + 82, + -113, + -62, + 87, + -57, + -43, + -85, + 124, + -88, + -107, + -26, + -118, + -94, + -43, + -117, + 19, + -118, + -24, + 32, + -31, + 12, + -42, + 101, + -22, + -24, + 43, + -13, + 16, + -77, + -36, + 37, + 33, + 117, + 38, + -75, + 8, + -22, + -80, + 85, + 75, + 59, + -59, + -95, + -36, + -79, + -12, + 92, + -28, + 83, + 42, + -38, + -22, + -76, + 107, + 95, + 78, + 102, + -65, + 87, + -52, + -8, + -36, + -105, + 19, + -107, + -57, + -14, + 94, + 24, + -90, + -29, + -19, + 102, + 70, + -16, + 120, + 100, + 92, + -95, + 28, + -56, + -80, + -85, + -86, + 70, + 99, + 102, + -42, + 72, + -68, + 72, + -22, + 20, + -110, + 11, + 70, + 72, + -48, + 62, + -110, + -61, + -113, + 39, + 27, + -111, + -117, + -108, + -29, + -9, + 72, + -13, + 124, + 71, + 10, + 84, + -14, + -119, + -106, + 76, + 85, + -106, + 41, + -98, + 74, + 62, + 84, + 120, + -48, + -70, + 75, + -26, + -110, + 57, + 73, + 82, + -115, + 76, + 7, + -90, + -76, + -99, + 3, + -7, + -77, + 99, + 61, + -74, + -56, + 100, + 44, + 37, + -72, + -51, + -41, + 17, + -50, + -44, + 105, + -14, + 109, + 83, + 77, + 89, + -76, + -36, + 124, + 5, + 87, + 76, + -6, + -57, + 66, + -7, + -79, + -3, + 64, + -84, + -96, + -19, + -38, + 77, + -90, + -88, + 8, + 120, + -2, + -17, + 85, + 52, + 18, + 32, + -103, + -79, + -80, + -92, + -124, + -82, + 10, + -17, + -78, + -37, + -46, + 4, + 47, + -73, + 45, + -101, + 100, + 8, + 87, + -123, + -53, + -93, + 97, + 7, + 98, + 9, + -29, + -108, + -64, + 74, + 108, + 50, + -109, + 11, + 105, + -80, + 59, + 28, + -68, + -85, + 83, + 56, + -85, + 31, + 100, + 127, + -112, + 70, + -76, + -93, + -86, + 94, + 38, + 94, + -103, + -66, + -37, + 68, + 40, + 23, + -108, + 65, + 13, + 121, + 42, + 16, + 6, + 36, + 5, + 36, + 59, + -5, + -58, + -126, + -65, + 43, + 107, + -80, + -4, + -15, + -118, + -55, + 123, + -49, + 74, + 97, + -13, + -15, + -6, + 19, + 60, + 97, + -31, + 74, + 46, + 88, + 20, + -76, + -86, + -62, + 1, + -88, + -43, + -90, + -77, + -31, + -20, + 39, + -89, + 89, + -73, + -96, + -99, + 38, + 105, + -95, + 105, + 60, + -36, + -35, + 3, + -29, + -9, + -113, + -84, + -110, + 31, + 116, + 80, + -79, + -107, + -31, + 41, + -15, + 105, + 28, + 101, + 26, + 95, + 9, + -51, + 86, + -27, + -85, + 81, + 43, + 18, + 39, + 57, + -102, + -80, + -59, + 124, + -117, + 29, + -21, + 11, + 37, + -59, + -66, + 44, + 20, + -83, + 123, + -97, + -110, + -55, + 61, + 42, + 32, + 21, + -30, + 101, + -112, + 24, + 65, + -86, + 20, + -14, + 110, + 119, + -113, + -125, + -113, + -28, + -14, + -14, + -79, + -110, + 86, + -51, + -126, + 117, + -72, + -14, + 46, + 83, + 50, + 74, + -91, + 103, + 15, + -26, + 7, + 97, + 33, + 97, + -29, + 103, + -73, + 55, + 27, + -128, + -89, + -65, + 90, + -34, + 6, + 115, + 102, + -15, + -40, + 120, + -63, + 113, + -58, + 36, + -56, + -1, + 0, + -51, + -128, + 44, + 81, + -59, + 36, + 76, + 12, + 5, + 74, + 48, + 10, + 19, + 93, + 101, + 81, + -19, + 83, + -70, + -99, + -86, + -124, + 106, + -74, + 43, + -93, + -116, + 105, + -5, + -96, + 87, + -33, + 51, + -55, + -41, + 15, + -44, + 7, + -96, + 125, + 64, + 103, + -80, + -5, + 25, + 110, + 87, + 8, + 90, + -43, + -93, + -23, + 94, + -14, + -86, + 29, + 54, + -99, + 39, + -121, + 58, + -107, + 50, + -27, + 25, + -64, + 108, + 108, + -53, + 11, + -56, + 65, + -85, + -38, + -26, + 127, + -79, + -127, + 5, + -98, + 88, + 16, + 84, + 11, + 83, + -103, + 50, + -104, + -26, + 91, + 106, + -92, + -32, + 101, + 92, + -97, + -40, + 47, + -45, + -84, + -96, + -58, + -38, + -42, + 6, + -104, + -87, + 44, + 41, + -121, + 24, + -78, + 30, + 111, + -85, + 48, + -71, + 116, + 92, + -71, + -125, + 60, + 37, + 45, + 20, + 72, + 9, + 13, + 115, + -51, + 18, + 52, + 81, + -4, + 101, + 58, + -76, + 126, + -122, + 22, + -51, + 85, + 26, + 69, + 41, + -98, + 65, + 50, + -25, + -32, + -34, + -126, + 87, + -52, + 90, + 85, + 57, + 45, + 101, + -116, + 51, + 12, + 73, + -11, + -18, + -2, + 61, + -110, + 86, + -11, + -8, + 8, + -63, + 115, + -114, + -52, + 32, + -106, + 88, + -53, + 35, + -106, + -3, + -85, + 52, + 25, + 115, + -8, + 111, + -103, + 57, + 13, + -110, + 86, + -96, + -5, + 53, + 80, + 11, + -43, + 70, + -96, + 98, + -53, + -55, + 82, + 25, + 106, + -58, + -55, + -15, + -43, + 63, + -106, + 87, + -63, + -20, + 54, + -107, + 86, + 8, + -57, + 127, + -95, + -28, + -50, + -52, + 59, + -107, + 118, + 48, + -1, + 0, + 0, + -70, + 64, + 66, + 32, + 118, + -27, + -80, + 32, + -72, + -16, + -100, + 53, + 102, + 97, + 24, + 11, + -63, + -37, + 84, + -53, + -46, + 21, + -64, + -122, + 108, + -100, + 88, + -46, + 71, + -58, + -110, + 60, + -120, + 97, + 16, + -92, + 73, + -115, + -116, + -31, + -30, + 103, + 79, + 28, + -117, + 18, + 42, + -90, + 66, + 58, + 74, + -63, + -92, + 71, + 102, + 87, + -75, + 38, + 54, + -41, + -48, + 111, + 118, + 23, + -35, + 54, + 71, + -103, + -89, + -118, + 114, + -49, + 44, + -118, + -46, + -95, + 89, + 99, + 87, + 102, + -115, + 88, + -112, + -15, + 83, + -94, + -128, + -84, + 6, + -64, + 88, + 13, + -23, + -112, + 117, + 4, + -111, + 10, + -53, + 5, + -88, + -84, + -79, + 55, + -86, + -126, + -87, + -35, + 51, + 13, + 68, + -63, + 63, + 54, + -27, + 93, + -122, + 35, + -86, + -25, + -40, + -37, + 17, + 2, + -50, + 74, + 11, + -124, + -62, + -126, + 22, + 102, + 22, + 127, + -84, + -94, + 30, + -127, + 80, + -84, + 24, + -125, + 0, + -114, + -111, + -92, + 12, + 32, + -47, + -123, + 8, + 91, + -92, + -72, + -26, + 101, + 27, + -19, + -45, + -92, + 92, + 18, + -20, + 28, + -55, + -68, + -61, + 21, + 102, + 27, + -1, + 0, + 41, + 103, + -28, + 116, + -95, + -20, + 2, + 0, + -107, + 65, + -46, + -5, + -49, + -104, + 86, + 40, + 14, + 99, + 32, + 30, + 18, + -8, + -24, + -83, + 46, + -99, + -39, + 26, + 86, + -21, + -92, + 15, + -111, + 49, + 2, + -39, + 67, + -62, + 68, + -37, + 101, + -95, + 3, + 55, + -25, + -19, + 102, + -87, + 53, + -41, + 112, + 91, + 35, + -63, + -71, + 56, + -52, + 44, + 104, + -10, + 20, + -35, + -112, + -60, + 35, + 84, + -94, + -26, + -62, + 106, + -79, + -80, + 71, + 92, + 12, + 50, + -79, + 85, + -74, + -7, + 8, + -3, + 44, + 81, + 37, + 112, + 0, + 52, + -88, + 93, + -59, + 55, + 41, + 99, + -36, + 49, + 19, + -50, + -42, + -48, + 108, + 51, + 50, + -127, + 97, + -36, + 120, + 83, + -52, + 100, + 89, + 92, + -107, + -88, + -35, + -50, + -116, + 122, + 19, + 35, + -48, + 25, + -26, + 20, + -46, + -93, + 101, + -23, + 85, + 36, + 92, + 101, + -78, + -4, + 74, + -98, + -49, + 90, + -110, + 86, + -33, + 93, + -38, + -82, + -127, + -99, + -24, + -107, + 66, + 62, + 70, + -62, + 60, + 56, + -78, + -7, + -78, + 27, + -35, + 100, + 78, + 80, + -37, + -12, + 121, + -58, + 57, + 107, + -60, + -126, + 92, + -6, + 123, + -120, + 94, + 99, + 46, + 30, + 57, + 39, + 50, + -107, + 57, + 18, + -26, + -84, + -46, + 24, + 86, + 25, + -93, + 0, + 71, + 72, + -70, + 32, + 67, + -76, + 115, + -59, + -107, + -76, + -127, + -125, + 74, + -124, + 6, + -115, + -94, + 80, + -36, + -33, + 50, + -8, + 56, + 25, + -39, + -77, + -90, + -122, + 51, + -113, + -10, + -46, + 44, + 106, + -26, + 120, + 73, + 81, + 42, + -126, + -56, + -92, + -20, + -86, + 119, + -120, + -127, + -92, + -115, + 91, + 16, + 3, + 122, + 79, + -115, + -7, + -21, + -120, + -113, + -67, + 73, + 68, + -32, + 44, + -63, + 47, + 53, + 80, + -51, + -57, + -52, + -90, + 114, + -64, + 112, + 58, + 14, + -87, + 3, + -88, + 116, + 68, + 122, + -60, + 68, + 44, + 89, + 71, + 89, + 37, + 71, + -95, + 42, + -58, + 83, + 90, + 53, + 109, + 24, + 34, + -24, + -111, + 68, + 45, + -42, + 37, + 25, + -70, + 97, + -17, + 74, + 82, + 67, + -66, + -86, + -39, + -15, + 121, + 107, + -2, + 86, + -28, + 28, + -74, + 25, + -77, + -51, + 64, + -50, + 48, + 28, + 95, + 110, + 117, + -65, + 63, + -30, + -107, + -19, + -59, + -1, + 0, + 42, + 1, + -63, + 86, + 88, + 1, + -113, + 8, + 32, + 65, + -80, + 81, + 19, + -12, + 39, + 27, + -40, + -128, + 106, + -73, + -116, + 20, + -103, + -37, + -96, + -50, + -48, + 49, + 19, + -76, + 5, + 66, + 119, + 83, + -62, + -109, + -14, + 106, + 79, + 75, + -79, + 8, + -40, + -12, + -108, + -1, + 0, + -107, + -23, + 114, + -68, + 101, + -91, + -34, + -25, + 16, + 39, + 18, + -35, + -17, + -25, + -81, + -114, + -108, + 114, + 28, + -124, + 109, + 18, + 74, + -38, + 5, + 4, + -44, + -56, + -46, + 52, + -86, + 43, + -58, + 48, + -51, + 13, + 126, + 92, + 71, + -28, + 46, + 32, + 68, + -77, + 50, + 88, + -45, + -24, + 25, + -98, + -116, + 52, + 56, + -51, + 7, + -108, + -11, + 38, + 104, + 20, + 48, + -14, + 104, + -95, + 43, + 26, + -94, + -66, + 18, + 16, + -39, + -114, + 5, + -97, + 97, + 73, + -70, + -117, + -17, + 116, + -91, + -98, + -71, + -86, + -67, + 49, + -23, + 122, + -64, + -23, + -59, + -56, + -48, + -119, + -99, + 106, + -97, + 17, + -42, + -109, + 26, + -116, + -97, + 30, + -91, + -35, + 21, + 27, + -27, + -71, + 63, + -94, + -71, + 72, + 101, + 19, + 67, + 36, + -111, + 38, + 14, + 24, + 105, + -95, + -123, + 29, + -50, + 68, + -79, + 100, + -56, + -109, + 66, + 1, + -112, + -68, + -82, + -15, + -86, + 100, + 43, + -86, + -126, + -56, + 33, + 96, + -95, + -63, + 1, + 101, + 62, + -83, + -63, + -104, + 36, + 106, + -79, + 72, + -39, + 83, + 68, + -111, + -54, + -20, + -96, + 44, + 45, + 20, + 50, + -119, + 72, + 8, + 18, + 53, + -74, + 120, + -118, + 51, + 117, + 39, + -111, + 108, + -81, + -62, + -7, + -114, + 86, + 30, + -50, + 101, + 21, + 87, + 68, + -13, + 113, + -51, + -62, + 112, + 56, + -31, + 34, + 18, + -83, + 28, + 58, + 53, + 6, + -100, + -74, + 45, + -66, + 114, + 62, + -85, + 114, + -31, + 50, + -70, + 13, + -26, + 55, + 46, + -122, + -54, + 60, + -32, + -26, + -117, + -3, + 103, + -62, + -86, + -113, + -103, + -103, + 119, + -94, + 12, + -59, + -17, + 22, + -85, + 100, + -90, + 126, + -128, + -24, + 117, + -122, + 86, + 15, + 6, + -110, + -2, + -93, + 17, + -68, + -16, + -105, + -62, + 2, + 82, + 62, + 87, + 20, + -96, + 116, + 45, + -49, + -92, + -39, + 24, + 44, + 12, + -6, + -66, + 46, + 106, + 76, + 85, + -31, + -94, + 9, + 61, + 104, + 12, + 87, + 77, + -35, + -71, + -35, + -126, + -26, + 15, + 16, + -5, + 70, + 1, + -74, + -30, + 102, + -83, + 54, + 126, + -106, + 113, + 62, + -90, + -58, + -64, + -57, + -113, + 17, + -8, + 12, + 60, + -71, + 32, + -35, + 36, + -97, + 34, + 5, + 121, + -117, + -119, + 73, + 42, + -27, + 20, + 11, + -116, + 123, + 0, + 35, + 96, + -88, + -95, + -83, + -82, + -22, + 114, + 24, + -71, + 50, + 102, + -28, + -53, + 7, + 33, + 42, + 67, + 52, + -83, + 44, + 98, + 41, + 74, + 71, + 82, + 21, + 123, + 69, + 39, + -12, + -110, + 108, + 17, + -47, + 22, + 65, + 34, + -67, + 90, + -54, + 62, + 73, + -73, + 17, + -12, + 66, + 85, + -99, + 19, + 125, + 92, + -46, + 116, + -75, + -117, + -60, + -51, + 91, + 107, + -12, + -54, + -15, + -113, + 77, + 117, + 14, + -86, + -54, + 116, + 34, + 107, + 31, + -33, + 42, + 99, + -71, + -124, + 94, + 104, + 95, + -59, + -87, + -26, + 119, + -79, + -105, + -91, + 111, + -20, + -75, + -28, + -96, + -44, + -42, + 56, + 17, + -51, + 69, + 87, + 58, + 7, + -101, + -40, + 58, + -39, + 69, + 97, + 35, + -77, + -6, + -76, + 78, + -58, + 37, + -3, + 63, + 14, + -114, + -87, + 53, + 118, + 29, + -65, + 5, + -48, + -16, + 12, + -53, + 74, + 106, + -46, + 91, + 13, + -94, + -25, + -99, + -22, + 2, + 24, + 8, + 105, + 103, + -10, + 53, + 76, + 64, + 61, + 112, + 2, + 5, + 122, + 0, + -24, + 20, + -126, + 68, + 95, + 11, + -114, + -122, + -40, + 69, + -125, + 7, + -112, + -26, + 110, + 88, + 19, + 126, + 27, + 93, + -62, + -35, + -95, + 97, + -39, + 53, + -105, + -43, + 79, + 66, + 40, + 12, + 95, + 57, + -83, + 105, + -39, + -54, + -5, + 9, + 36, + 92, + -35, + -125, + -121, + 17, + 57, + -10, + 12, + 30, + 115, + 29, + 56, + -58, + 36, + -46, + 35, + 24, + 92, + -12, + 89, + -76, + -57, + 29, + 25, + 80, + 38, + 87, + 68, + 12, + 103, + 30, + 7, + -67, + 31, + 121, + 54, + -65, + 117, + -15, + 107, + -85, + 20, + -13, + -19, + -51, + 2, + -81, + -105, + 118, + 66, + -35, + 103, + -13, + -82, + 30, + 33, + -80, + -59, + 107, + 80, + 1, + -24, + 49, + -49, + -50, + -53, + -94, + -116, + 40, + 106, + 54, + 52, + 62, + 104, + 41, + -103, + -100, + 25, + -124, + -62, + 69, + -79, + 80, + -3, + -42, + -6, + -11, + -78, + -118, + 14, + -8, + -26, + 89, + -111, + -108, + 8, + -106, + -67, + 1, + 77, + -67, + 109, + -116, + 112, + 90, + 62, + -73, + -27, + 83, + -59, + -61, + 52, + -125, + 119, + 119, + -50, + 39, + -18, + 20, + 16, + -82, + -118, + -14, + 68, + 11, + 91, + 45, + -126, + -111, + 40, + 4, + 22, + 5, + -101, + -31, + 42, + -101, + 47, + -31, + 50, + 90, + 126, + 113, + 113, + -120, + -118, + 52, + -117, + -115, + 64, + 113, + 74, + -99, + -110, + 86, + -114, + 41, + 92, + 41, + -46, + -120, + 67, + 45, + -112, + 74, + -80, + 81, + -7, + -69, + -12, + -69, + -91, + 8, + -51, + 1, + -19, + -104, + -93, + 55, + 62, + 125, + -12, + -106, + 58, + 81, + -97, + 5, + 55, + -90, + 10, + 16, + -115, + -126, + -85, + -15, + -88, + 105, + -24, + -5, + 24, + 10, + -39, + 70, + 108, + 74, + -87, + -17, + 41, + -85, + 104, + 44, + 10, + -4, + 55, + 104, + 82, + -69, + 42, + -41, + 40, + -13, + -102, + 46, + -106, + 28, + 60, + -88, + -54, + -29, + 120, + 102, + 60, + -29, + 88, + 18, + -45, + 71, + -102, + 123, + -121, + -49, + 48, + -40, + 125, + -54, + -14, + -121, + 76, + -102, + 124, + -6, + 127, + 67, + 96, + -102, + -126, + -82, + 109, + -23, + 109, + -52, + 30, + 109, + 76, + 24, + 52, + 60, + -89, + 91, + -116, + -86, + 46, + -77, + -82, + -21, + -31, + -17, + -52, + -18, + 99, + 71, + -96, + 9, + 101, + -16, + -71, + -52, + -60, + -35, + 95, + -76, + -74, + 70, + -106, + -68, + -97, + 87, + -35, + 11, + -52, + -61, + -104, + -81, + -17, + 82, + -113, + -37, + -110, + -117, + -65, + -80, + -85, + 113, + -24, + -16, + 45, + 24, + -25, + -97, + 22, + -121, + 107, + -107, + -105, + 17, + -14, + -61, + -76, + 44, + 10, + -84, + -71, + -104, + -25, + 99, + -81, + -6, + -64, + -102, + -106, + 56, + -3, + 123, + -21, + 43, + 63, + 1, + -33, + 41, + -79, + -19, + -102, + -125, + -110, + -69, + -50, + 125, + -84, + 5, + 28, + -78, + 16, + -50, + 93, + 74, + -112, + -12, + -16, + -64, + -62, + -25, + 73, + 6, + -29, + -9, + 72, + -46, + -75, + 53, + -5, + -117, + 124, + -34, + 120, + -8, + -32, + 85, + 61, + -29, + 115, + 114, + -63, + 116, + -5, + 9, + -73, + 54, + 58, + -49, + 26, + 39, + -91, + 85, + 108, + 40, + -24, + -22, + 48, + 82, + -13, + -59, + 118, + 83, + 27, + 105, + 29, + -57, + 75, + -94, + -102, + 50, + 77, + 36, + 27, + 77, + -52, + -55, + -106, + 90, + 45, + -126, + 87, + 94, + 93, + -18, + -81, + -3, + 73, + 103, + 17, + 4, + -115, + 36, + 113, + 28, + -48, + 13, + -93, + 58, + -110, + 67, + 16, + -66, + -21, + 7, + 107, + -108, + -18, + -121, + -80, + 72, + 81, + -16, + 125, + 63, + 4, + -5, + -122, + 103, + -110, + 53, + 50, + 65, + 53, + -85, + 86, + -95, + 74, + -80, + 113, + -83, + 16, + 22, + -111, + 116, + 99, + 125, + 11, + 0, + -125, + -16, + -25, + -7, + -83, + -67, + 39, + -34, + -66, + -100, + -45, + 13, + -38, + -45, + -112, + 45, + -18, + 27, + 66, + -111, + -108, + -84, + 49, + 109, + 80, + -14, + -82, + 96, + 75, + 36, + 77, + 93, + 107, + 61, + 117, + 93, + -23, + 99, + 68, + 4, + 111, + 82, + -40, + 50, + -67, + 26, + 103, + 127, + -82, + -69, + 12, + -7, + -51, + 2, + -21, + -6, + 99, + 105, + 113, + -22, + 65, + 27, + 8, + -23, + 88, + -42, + -122, + -52, + -63, + -116, + 92, + 20, + -44, + 1, + 10, + 89, + -11, + 17, + -93, + 109, + -39, + 122, + -29, + -120, + 54, + 23, + -100, + -23, + -60, + 18, + -10, + 124, + -111, + 79, + -75, + 92, + 112, + 90, + -8, + -84, + -60, + 125, + -84, + 89, + 113, + -59, + -55, + 34, + 66, + -54, + -19, + -102, + -96, + -62, + -85, + 55, + -63, + 45, + -52, + 121, + 84, + 95, + -86, + 78, + -71, + -29, + -63, + 25, + -76, + 6, + 124, + -55, + -13, + 91, + -47, + 87, + -127, + 82, + -95, + -95, + 99, + 66, + 65, + -5, + 35, + -56, + -43, + -58, + -90, + -20, + 86, + 88, + 79, + 48, + -23, + 124, + 0, + -13, + 46, + -95, + -25, + 124, + 85, + -54, + 69, + 38, + -64, + -105, + -3, + 14, + 124, + -66, + -68, + -30, + -44, + 84, + 5, + 121, + 12, + -82, + -48, + -79, + -101, + 62, + -71, + 98, + 91, + -118, + 58, + -30, + 123, + 10, + 15, + -97, + 124, + -56, + -19, + -86, + 103, + -92, + 115, + -11, + -26, + 93, + 30, + -117, + -125, + -7, + 115, + -43, + -117, + 88, + 43, + 95, + -106, + -68, + -71, + -29, + 53, + 44, + 58, + 123, + -46, + -118, + -44, + -76, + -44, + -27, + 67, + 126, + 111, + -80, + -29, + -83, + -72, + -68, + -25, + 25, + 124, + -39, + 126, + 89, + -74, + 84, + -56, + 112, + 87, + 115, + -55, + 61, + -112, + 58, + -23, + -109, + 61, + -80, + -60, + -71, + 96, + 19, + -14, + 115, + 46, + -106, + -94, + -119, + -108, + -111, + -12, + 6, + 104, + -66, + -96, + -81, + -90, + -32, + 98, + -27, + 99, + -32, + -57, + 20, + 34, + 50, + 36, + -57, + 109, + -90, + 101, + 2, + 49, + -78, + 2, + -31, + -28, + 102, + 0, + 48, + -43, + 71, + -114, + 36, + 50, + 43, + -93, + 19, + -78, + -88, + 3, + 13, + -26, + 121, + 120, + -14, + -71, + -48, + -20, + -78, + -90, + 52, + 83, + -92, + 110, + -22, + 35, + -109, + -12, + 57, + -75, + -116, + -87, + 34, + -98, + -103, + 25, + -104, + -125, + -42, + -28, + -112, + 67, + 122, + 72, + 83, + -52, + -28, + -31, + -12, + -108, + 122, + -93, + 116, + 44, + 55, + 48, + 40, + -50, + -109, + 84, + 55, + -6, + -69, + -63, + 12, + -116, + 74, + -102, + 57, + 16, + -104, + -126, + -110, + -39, + 56, + 90, + 37, + 35, + -95, + 58, + -76, + 34, + 51, + 46, + 60, + -25, + -71, + -52, + 51, + 14, + -40, + -91, + 73, + 19, + -78, + -4, + 100, + -45, + 115, + 71, + 4, + 66, + 99, + 69, + 22, + 88, + 55, + 99, + -121, + -3, + 23, + -25, + 126, + -4, + -25, + -127, + -95, + 102, + -18, + 57, + 35, + -43, + -63, + 126, + -92, + -62, + -83, + 102, + -55, + -103, + 80, + -80, + 34, + -91, + -49, + 84, + 50, + -35, + -43, + 91, + 70, + -115, + 37, + 80, + 93, + -75, + -116, + -22, + -120, + 65, + 7, + 82, + -77, + 65, + -87, + -61, + 115, + 27, + 64, + 80, + 41, + -122, + 22, + 81, + -76, + -56, + 123, + -27, + -13, + 36, + 2, + 60, + 41, + 35, + -12, + -79, + -116, + 127, + -90, + -62, + -7, + -125, + 2, + -90, + -122, + 95, + 29, + -27, + -105, + -26, + 46, + -96, + 99, + 112, + -33, + -76, + 12, + -23, + -29, + 4, + -37, + 43, + 0, + 69, + 92, + -113, + 49, + 29, + 98, + 77, + -43, + -115, + 26, + -18, + -125, + -25, + -36, + -87, + 5, + -27, + -123, + -61, + -122, + -93, + -107, + -79, + -19, + 118, + -46, + 62, + 124, + -97, + -117, + -98, + 79, + -49, + 76, + 100, + -63, + 116, + -42, + 55, + -46, + -2, + 80, + -2, + -95, + -96, + 96, + -2, + 124, + -57, + -3, + -36, + -34, + -109, + -58, + -95, + -75, + -34, + -36, + 24, + -55, + -73, + -92, + -32, + 29, + 67, + -101, + 124, + 8, + -102, + 123, + 124, + 94, + -41, + -20, + 2, + 7, + -117, + 99, + -62, + -117, + -123, + 85, + 102, + 18, + -20, + -58, + -61, + -102, + 51, + -22, + 87, + -46, + -112, + 59, + 108, + -53, + 95, + -2, + -28, + -76, + -121, + -14, + 15, + -70, + -12, + -72, + -36, + 54, + -59, + 76, + -123, + 108, + 120, + -108, + 73, + 60, + -77, + 64, + -29, + 103, + 18, + 71, + 8, + -119, + 12, + -110, + 41, + -82, + -102, + 37, + 45, + -96, + 0, + 80, + 85, + 22, + -29, + -85, + -4, + -17, + 45, + -113, + 52, + -40, + 113, + 62, + 84, + -76, + -80, + 66, + -19, + 26, + -115, + 52, + -79, + 35, + -112, + -78, + 32, + 99, + -19, + 119, + -42, + -24, + -110, + -59, + -37, + -12, + -4, + -8, + 125, + -5, + -25, + 39, + -9, + 2, + 66, + 53, + 93, + -120, + 44, + -87, + -27, + 82, + 115, + 18, + -58, + -94, + 94, + -95, + -119, + -18, + 94, + -121, + -48, + -82, + -22, + -102, + 93, + 34, + 107, + -60, + -110, + -119, + -6, + -78, + -57, + -99, + -48, + -123, + -48, + -56, + -66, + -87, + -66, + 83, + 95, + -76, + -51, + 15, + 10, + 11, + 24, + -45, + -62, + -46, + 12, + -59, + 88, + -61, + -112, + 30, + -113, + 0, + -38, + 83, + -42, + -127, + -77, + -26, + -18, + -114, + -86, + -125, + 43, + -74, + -44, + 52, + 115, + 50, + 75, + 113, + 28, + -94, + -47, + 124, + 28, + 2, + 109, + 27, + 52, + 18, + 14, + 71, + 81, + 46, + -84, + 29, + 61, + 122, + -72, + 113, + 20, + 14, + 59, + -42, + -107, + -114, + -45, + 38, + -120, + 80, + -56, + -85, + -100, + -109, + 34, + 40, + -75, + 106, + 1, + -82, + 44, + 65, + -46, + 75, + -73, + -97, + 125, + 44, + -28, + -52, + -109, + -101, + -18, + 31, + -70, + 59, + -44, + -55, + 79, + -99, + 125, + -48, + 84, + -102, + -53, + 96, + -34, + 90, + -87, + -92, + -46, + -48, + -48, + 45, + -47, + 64, + 43, + -118, + 78, + 45, + 95, + 18, + -75, + -110, + -75, + -103, + 28, + -36, + 87, + -127, + -106, + -43, + -53, + -42, + 38, + -53, + 87, + 74, + -75, + 85, + 72, + 74, + -87, + 86, + -63, + 11, + -116, + -90, + -24, + 3, + -44, + -81, + 15, + -54, + 27, + -31, + 112, + 22, + 118, + 18, + 90, + 19, + -34, + 51, + 119, + 107, + 97, + 84, + 63, + 71, + -66, + 75, + 53, + 8, + -75, + -109, + -112, + 89, + 123, + 94, + 87, + -126, + 5, + -79, + 118, + -93, + 104, + 16, + 76, + -55, + -119, + 88, + 103, + -92, + 64, + -57, + 117, + 43, + -25, + -87, + 76, + -93, + 117, + -23, + -109, + -40, + -44, + -12, + -42, + 122, + 62, + 125, + -2, + 45, + 96, + 101, + -63, + -56, + 112, + -36, + -74, + 60, + 75, + -10, + -70, + -25, + -63, + -56, + -38, + 49, + -57, + 100, + -16, + -57, + -106, + -124, + -108, + -110, + 66, + -93, + -49, + 20, + -119, + -69, + 42, + -54, + -6, + -97, + 105, + -91, + 45, + -72, + 127, + 10, + -7, + -88, + 50, + 120, + -52, + -98, + 61, + -14, + 4, + -39, + 11, + 14, + 20, + -72, + -62, + 38, + 125, + -63, + 38, + 108, + 82, + -88, + 101, + -126, + 34, + -52, + -79, + 5, + 102, + 31, + -39, + -78, + -110, + 70, + -44, + -70, + 13, + 53, + 83, + 34, + -54, + 82, + 51, + 50, + 111, + 57, + -8, + 44, + -92, + -43, + 105, + 94, + -88, + -64, + -29, + -54, + -30, + -6, + -59, + -74, + -5, + 76, + -71, + 54, + 14, + -20, + -122, + 57, + -37, + -4, + 93, + 106, + 75, + 113, + 106, + 114, + -22, + 122, + 59, + -57, + 29, + 48, + -78, + -111, + 117, + 20, + 94, + 56, + -122, + -1, + 0, + 32, + -78, + 102, + 94, + -4, + 49, + -128, + -24, + 85, + 99, + -23, + 0, + -49, + -13, + -98, + 95, + -68, + 57, + -103, + -8, + -120, + -24, + 24, + 122, + -104, + -128, + 25, + -66, + 1, + -95, + -98, + 91, + 118, + -112, + -105, + 103, + 89, + 27, + 57, + -70, + -65, + 68, + -46, + -55, + 107, + 43, + -54, + -64, + 79, + -127, + -110, + 41, + 12, + 15, + 45, + 85, + 105, + 120, + 109, + 105, + -58, + -109, + -103, + 49, + -114, + 101, + -23, + 38, + 103, + 44, + -9, + 4, + -51, + -83, + 71, + 82, + 87, + 72, + -79, + 50, + -95, + 2, + 34, + 53, + -100, + 23, + -81, + -111, + 77, + -111, + -35, + -21, + 10, + -62, + 28, + -41, + 36, + 118, + -12, + 37, + -28, + 21, + 20, + 93, + 8, + -30, + -98, + 25, + -115, + 101, + -28, + -39, + -77, + -14, + -22, + -55, + -50, + 121, + 12, + 63, + 115, + 107, + 121, + 51, + 126, + -122, + -117, + -96, + 53, + 52, + 96, + 2, + 42, + 36, + -88, + 22, + 50, + -120, + -35, + 40, + -15, + -85, + 84, + 38, + 67, + 126, + 50, + 100, + 64, + -49, + -18, + 100, + -61, + -75, + -45, + 76, + -25, + 29, + -84, + 64, + 15, + 20, + 76, + -92, + -112, + 24, + 6, + -114, + -91, + 87, + -110, + -53, + -76, + -12, + 21, + 100, + 69, + -107, + 27, + -117, + -113, + -108, + -125, + -110, + -75, + 53, + 27, + -90, + -53, + 48, + 44, + 115, + -36, + 86, + 64, + 120, + 51, + 67, + -53, + 56, + -53, + -29, + 98, + 88, + 27, + 41, + 82, + 41, + 88, + -29, + -32, + -84, + -79, + -60, + -2, + 50, + -59, + -98, + 19, + 0, + -125, + -56, + 116, + 51, + 48, + -115, + -35, + -10, + 102, + 98, + -7, + -64, + 102, + 43, + -61, + -105, + -120, + -6, + -86, + -30, + -26, + 49, + -109, + -60, + -26, + 68, + 7, + 39, + -111, + 116, + -106, + 72, + -9, + 17, + -128, + 29, + 103, + -14, + 105, + -40, + -115, + 118, + 65, + -80, + 79, + 69, + -3, + -93, + 107, + -47, + 21, + 41, + -99, + -45, + 42, + -89, + 41, + 112, + 33, + -91, + 81, + -126, + 83, + 98, + 3, + -36, + 85, + 127, + 109, + 75, + 48, + 94, + 10, + 76, + -53, + 50, + 81, + -81, + 121, + 3, + -107, + -15, + -100, + 82, + 115, + 77, + 11, + -4, + 54, + -39, + -110, + -116, + -71, + 14, + -96, + -51, + -61, + -111, + -92, + -15, + -91, + -12, + 80, + -28, + 65, + -2, + 124, + -112, + -6, + -36, + 88, + -123, + -74, + -21, + 54, + -110, + -90, + -77, + 83, + -117, + 115, + -52, + -62, + 112, + -53, + -104, + -64, + -119, + -91, + 115, + -15, + 101, + 53, + -71, + -97, + -66, + 51, + 32, + 92, + 124, + 56, + 56, + -88, + -123, + 108, + -34, + 2, + -33, + 4, + -40, + 23, + 2, + -107, + 86, + 69, + 81, + -91, + -101, + 35, + 17, + 3, + 12, + 12, + 85, + 52, + -51, + -70, + -128, + 112, + 90, + 51, + -57, + 58, + 7, + 53, + -102, + 20, + -123, + -53, + 82, + 75, + 25, + 82, + -5, + 125, + 97, + 79, + 77, + -87, + 26, + 85, + 101, + -36, + -15, + -84, + 42, + -94, + -16, + -93, + 100, + 12, + 112, + 46, + -65, + 36, + -128, + 48, + -76, + -4, + -117, + -75, + 59, + 12, + -106, + 70, + -107, + 106, + -127, + -118, + -120, + -101, + -4, + -107, + -77, + 16, + -58, + 93, + 84, + -55, + -96, + -115, + 121, + 37, + 69, + 18, + -107, + 64, + -88, + -70, + -5, + -7, + -49, + -70, + 99, + 77, + -38, + 72, + -106, + 97, + 73, + -49, + -103, + -44, + 10, + 33, + 16, + -80, + -60, + -115, + 7, + 23, + 14, + 104, + 34, + 101, + -92, + -127, + -117, + 81, + -118, + 8, + 106, + 85, + -46, + 27, + -41, + 43, + -114, + -80, + 54, + -24, + -38, + -107, + 63, + 65, + 56, + -36, + 38, + -57, + -32, + -16, + 95, + -111, + -60, + 101, + -102, + 126, + 87, + 14, + 31, + -68, + -96, + -88, + -8, + -78, + -96, + -102, + 4, + 73, + 81, + -116, + -122, + 86, + 105, + 127, + -103, + 42, + 55, + -10, + 1, + -70, + -70, + 49, + 98, + -103, + 18, + 121, + 51, + 115, + 112, + -30, + -56, + 105, + 96, + -113, + -114, + -54, + 105, + 33, + -39, + -117, + 46, + 68, + 82, + -76, + 108, + -59, + 122, + 52, + -79, + -58, + -91, + 84, + -123, + 22, + -59, + -128, + 109, + -85, + -45, + -93, + -80, + -7, + -44, + -30, + -42, + -115, + 104, + -54, + -16, + -75, + 3, + 89, + 21, + 7, + -96, + -44, + -43, + -76, + 28, + 42, + 72, + 32, + 92, + -12, + 47, + 123, + 26, + 110, + 101, + -51, + 0, + -55, + 38, + 7, + -4, + 40, + 63, + 55, + 74, + 71, + 42, + -23, + -3, + -83, + 106, + -48, + 45, + 22, + 26, + 51, + 48, + 118, + -19, + 121, + -106, + -69, + -19, + -59, + -73, + -73, + -54, + 44, + 119, + -104, + 73, + 7, + -61, + 89, + 44, + -6, + 102, + -4, + 112, + -64, + -106, + -6, + -20, + -46, + 16, + 67, + 56, + -42, + 15, + -3, + -6, + 57, + 25, + 44, + -46, + 81, + 121, + -41, + 52, + -84, + 108, + 107, + -19, + 120, + 50, + 97, + -17, + -61, + 89, + 50, + -75, + -78, + -123, + -64, + -24, + 42, + -90, + 42, + 59, + -45, + -5, + -89, + -28, + -102, + -64, + 103, + -54, + 47, + -111, + -114, + 102, + 32, + 108, + -39, + 117, + 65, + 69, + 119, + 1, + -8, + 25, + 103, + 64, + 76, + 41, + -115, + -37, + 82, + -10, + -95, + -109, + -75, + 118, + -92, + 45, + -41, + -98, + -77, + -23, + -15, + -89, + 10, + 26, + 82, + 13, + -46, + 124, + -86, + 44, + -50, + -104, + 79, + 15, + 111, + 91, + 105, + 68, + 76, + -57, + -87, + 46, + 124, + 16, + -106, + 121, + -48, + 113, + 98, + -49, + -47, + 12, + 104, + 110, + 96, + -8, + 121, + -26, + -67, + -97, + 74, + 109, + 87, + -77, + -100, + 124, + 3, + -8, + -97, + 80, + 35, + -90, + 46, + -36, + -27, + -91, + -33, + -69, + 42, + -103, + -66, + 46, + -84, + 69, + -125, + 27, + -79, + -90, + -102, + 58, + -58, + -101, + 33, + -41, + -87, + -100, + -36, + -40, + 58, + 16, + 57, + 48, + 123, + 102, + 106, + -17, + 121, + 45, + -126, + 82, + 122, + -80, + -121, + -36, + -22, + -64, + 6, + 26, + 64, + 11, + -30, + 113, + -100, + -89, + 23, + -11, + -100, + 82, + -16, + -40, + -7, + 26, + -29, + -61, + -27, + 88, + -88, + -52, + -39, + 24, + -31, + -79, + -93, + -108, + 40, + 105, + 41, + -47, + 95, + 43, + -54, + -19, + 35, + 37, + 32, + 120, + -125, + 41, + -119, + 28, + 36, + 115, + 121, + 24, + -39, + 60, + 16, + 25, + -46, + 69, + 38, + 54, + 66, + -74, + 46, + 86, + -46, + 24, + 87, + 28, + 23, + 105, + 17, + -125, + 19, + 81, + -53, + -4, + -126, + -88, + -38, + -71, + 102, + 101, + 98, + -81, + -71, + 95, + 69, + -5, + -40, + 74, + 57, + 23, + 5, + 106, + -70, + -5, + -5, + 24, + 119, + 6, + 2, + 62, + 122, + -1, + 0, + -32, + -104, + 11, + 2, + 97, + -50, + 3, + -118, + -2, + -103, + 80, + -125, + 90, + 6, + -60, + 121, + -83, + -121, + 69, + -50, + 123, + 23, + -15, + 73, + 52, + -31, + -53, + 80, + -111, + 110, + -55, + -110, + 44, + 107, + -78, + -80, + 22, + 25, + -100, + -62, + 46, + -34, + 116, + -57, + 73, + -108, + 54, + -84, + -5, + -78, + 56, + 98, + 26, + -8, + 60, + 127, + 64, + -13, + 6, + 76, + -53, + -109, + 33, + -7, + -31, + 53, + 121, + -36, + 96, + -124, + -73, + 98, + 3, + -111, + -116, + 23, + -35, + 5, + -104, + 4, + -126, + 82, + -7, + -126, + 42, + -59, + -37, + 115, + -28, + 4, + 101, + -11, + -82, + 10, + -77, + -67, + 27, + -51, + 10, + 53, + -51, + 66, + -128, + -74, + 45, + 15, + 60, + 59, + 4, + 106, + 89, + -68, + -3, + -125, + -55, + 62, + -88, + 81, + 0, + 120, + 113, + -57, + -118, + 62, + 123, + 109, + 94, + 53, + -55, + 93, + 73, + 106, + -114, + -125, + 21, + -32, + 102, + 52, + -40, + -47, + -79, + -61, + 3, + 19, + -79, + 18, + -52, + -107, + 82, + -122, + -69, + -38, + 114, + -87, + 84, + 58, + -92, + 89, + -43, + -3, + 83, + -106, + -6, + 2, + 30, + 121, + -110, + -1, + 0, + -33, + -100, + -85, + 47, + 94, + 40, + -116, + -41, + 78, + -10, + 2, + -31, + 66, + -6, + -69, + -34, + 49, + 113, + 25, + -80, + 69, + -60, + -105, + -52, + -88, + 38, + 44, + -21, + -15, + -88, + 44, + 20, + 47, + 15, + 50, + 84, + 80, + -41, + 82, + 30, + -114, + 54, + -73, + 89, + -102, + -28, + -30, + 19, + 111, + 9, + 113, + 35, + -100, + -78, + -93, + -3, + 21, + 52, + 7, + -14, + 91, + 77, + 41, + -17, + 95, + 52, + 29, + 7, + 103, + -29, + 113, + 115, + 115, + -14, + 57, + 121, + -7, + 31, + -5, + 76, + 88, + -71, + 28, + 124, + 125, + 99, + 44, + -50, + -54, + 82, + 60, + -20, + -115, + 102, + 5, + -65, + -107, + -110, + -39, + 26, + 29, + 52, + 62, + 28, + 120, + -108, + -55, + -35, + 46, + 81, + -50, + -26, + -32, + 113, + -17, + -59, + -73, + 27, + -1, + 0, + 120, + -77, + 113, + 42, + -15, + -52, + -38, + -92, + 73, + -82, + -40, + 49, + -87, + -124, + -22, + 26, + 88, + -124, + 42, + -18, + -14, + 23, + 27, + 72, + -19, + -85, + 53, + -65, + -82, + 107, + -40, + 17, + -51, + -57, + -82, + -23, + -62, + -68, + -13, + -95, + -50, + -35, + -16, + -87, + -29, + 15, + -124, + 13, + 15, + 116, + -1, + 0, + 89, + -72, + 74, + -85, + -117, + 99, + 41, + -49, + -79, + -99, + 97, + 5, + 105, + -68, + -3, + 51, + -85, + -67, + 18, + -96, + -66, + 88, + 67, + -51, + -62, + 110, + 112, + -33, + -83, + 98, + -21, + 44, + 72, + -59, + 111, + -50, + -97, + -13, + 63, + 78, + -57, + -78, + -121, + -126, + 15, + -24, + 71, + -107, + -68, + -83, + 116, + -83, + -81, + -119, + -11, + -59, + 4, + 103, + -44, + 68, + 116, + -108, + -2, + -76, + -84, + -45, + 120, + -5, + -39, + -90, + -116, + -62, + -73, + -32, + 20, + 25, + 18, + 66, + 21, + 97, + 63, + 106, + -23, + -74, + 42, + -70, + -120, + 113, + -5, + -67, + -105, + 116, + 87, + -114, + -23, + -9, + -62, + 12, + 49, + -33, + 97, + -49, + -42, + 89, + -50, + -3, + 59, + 60, + 92, + -57, + 32, + 113, + -13, + 121, + 24, + -31, + -101, + 42, + 73, + -111, + 48, + 120, + -7, + 50, + 113, + -107, + 93, + -108, + 40, + -114, + 88, + -16, + -91, + 91, + -44, + 2, + -54, + 28, + -107, + 110, + -113, + 127, + 44, + -104, + 57, + 56, + -13, + -31, + -30, + -68, + -26, + 36, + -112, + 65, + 18, + -78, + -49, + 50, + 69, + 40, + -10, + -95, + -9, + 35, + 78, + -92, + 2, + 73, + -44, + -127, + 69, + 72, + 35, + -28, + 15, + 94, + 108, + -113, + -49, + -86, + 122, + -74, + 8, + -85, + 116, + 127, + 6, + 58, + 100, + 98, + 49, + -71, + 108, + 105, + -111, + -87, + -6, + -81, + 120, + 84, + 95, + -55, + 30, + 52, + -65, + -79, + -104, + -127, + 9, + 17, + 67, + 23, + -45, + -78, + 60, + -9, + 63, + -69, + -102, + 32, + 53, + -63, + -16, + -86, + -84, + -106, + -29, + 63, + 30, + 111, + -15, + -15, + -105, + -111, + 107, + 20, + -40, + -117, + 7, + -75, + 84, + -65, + -72, + -71, + 86, + 46, + 7, + -11, + -121, + -17, + -5, + 122, + -55, + -99, + -78, + 109, + 8, + 121, + 90, + -54, + -6, + 84, + 52, + -18, + 24, + -64, + 112, + -35, + 108, + 35, + 102, + 92, + -59, + -4, + 93, + 67, + -105, + -122, + 22, + 67, + 0, + 114, + -102, + 94, + 91, + -8, + 47, + 71, + 45, + -1, + 0, + -6, + 37, + 99, + -100, + 122, + 4, + 99, + -98, + -110, + -21, + -96, + 107, + -117, + -127, + -76, + 24, + -82, + 9, + 3, + -10, + -5, + -112, + 118, + 87, + -103, + -6, + 69, + -1, + 0, + -47, + 91, + -15, + -98, + 23, + -4, + 87, + -57, + 105, + -51, + 25, + 3, + -123, + 60, + 44, + -82, + 22, + -27, + -87, + -25, + 101, + 14, + -67, + 105, + 67, + 28, + -4, + -41, + -103, + -25, + -10, + 119, + -80, + 108, + -81, + 20, + -87, + -107, + 30, + -50, + -40, + 101, + -90, + -62, + -89, + 48, + -60, + -5, + -89, + -114, + -39, + 20, + 92, + -20, + -75, + -126, + -90, + -67, + -121, + -54, + -104, + 30, + 127, + -18, + 93, + 87, + -52, + 82, + 36, + -123, + 56, + -64, + -127, + -119, + 87, + 97, + -23, + 108, + 36, + 44, + -38, + -87, + 50, + -5, + 30, + -72, + -34, + -71, + -110, + 36, + -43, + 95, + -97, + 84, + 11, + -93, + -24, + 68, + -125, + -126, + -56, + 42, + -87, + 104, + 33, + -13, + -106, + -13, + 90, + 93, + 108, + 84, + -107, + -58, + -18, + -87, + 104, + -52, + -118, + -93, + 46, + 55, + 94, + -12, + -9, + 43, + -84, + -97, + 76, + 40, + 42, + -78, + 24, + 35, + -57, + 18, + 48, + -40, + 48, + -103, + -34, + 37, + -106, + -83, + -120, + 93, + 75, + -93, + 50, + 50, + -81, + -71, + -74, + 20, + -84, + -115, + 46, + 93, + -12, + -42, + 114, + 77, + -11, + -82, + 108, + 80, + 100, + 72, + 19, + -55, + -111, + 81, + 104, + 41, + 81, + 22, + 70, + 4, + -71, + -19, + -29, + 40, + -98, + 48, + 99, + 53, + -40, + 94, + -75, + 32, + 23, + 61, + -17, + -83, + -7, + -65, + 47, + -114, + 28, + -73, + -51, + -6, + -64, + 31, + 73, + 1, + 93, + -61, + -27, + -42, + -76, + -67, + -89, + 63, + 36, + 115, + 76, + -82, + -89, + -89, + 103, + 77, + -81, + 52, + -42, + 52, + -14, + 12, + -87, + -57, + 74, + 12, + 2, + -77, + -22, + -3, + -11, + -99, + 69, + 77, + -64, + -51, + -115, + 114, + -112, + -123, + 109, + 7, + 104, + 37, + -77, + -103, + 87, + 121, + -46, + 125, + 44, + -7, + -86, + 31, + -118, + -2, + -36, + -6, + 120, + -16, + 65, + 52, + 66, + 114, + -7, + -33, + 100, + -46, + -11, + -2, + -89, + 81, + -11, + 45, + 7, + -61, + 42, + -103, + 50, + 54, + 75, + 85, + -33, + -49, + -65, + 107, + -78, + -3, + 86, + -87, + -71, + 122, + 117, + -97, + 45, + 60, + 47, + 57, + 85, + 83, + -33, + 124, + -20, + -85, + -92, + -56, + 39, + -90, + 77, + 6, + -47, + -99, + 125, + -110, + -14, + -61, + 9, + 117, + -13, + -119, + 109, + 39, + -73, + 59, + -67, + 100, + -35, + 75, + 87, + -93, + -26, + -100, + -62, + -34, + 110, + -23, + -127, + 84, + 39, + -105, + -37, + -48, + -9, + -79, + -15, + 57, + 53, + -124, + -109, + 52, + 101, + 103, + 82, + 93, + -13, + 70, + 79, + 34, + -107, + 70, + 86, + 16, + -127, + -98, + -38, + 57, + 19, + -99, + 19, + -45, + 18, + 95, + -45, + 43, + -98, + 21, + 4, + 127, + 84, + -77, + 63, + -22, + 56, + -46, + 120, + 76, + -56, + 35, + 54, + -43, + -73, + -26, + 43, + 94, + -98, + -48, + -81, + -99, + -39, + 113, + -76, + -106, + -68, + -60, + -71, + -96, + 95, + 117, + 125, + 92, + 74, + 46, + 5, + -87, + -13, + 116, + 117, + -58, + 44, + -32, + 59, + -42, + 119, + 3, + -112, + -37, + 53, + -127, + 73, + 79, + -49, + -55, + 57, + 114, + 30, + 101, + -103, + 55, + 47, + -79, + 50, + -76, + -124, + 113, + -48, + -67, + 15, + 69, + 19, + -47, + -76, + -64, + -13, + -105, + -55, + -104, + 78, + -30, + 110, + 66, + 24, + -124, + 107, + 30, + -19, + 8, + 12, + -123, + -76, + 93, + 116, + 11, + -78, + 0, + 58, + -79, + -77, + 37, + 83, + 31, + 104, + 4, + -110, + 61, + 108, + -16, + 41, + -125, + -114, + -102, + 71, + -107, + -28, + -95, + 51, + 48, + 113, + -4, + -46, + -92, + -39, + 1, + -44, + -19, + -79, + -40, + -94, + -80, + 109, + -128, + 80, + 75, + 89, + -65, + 82, + -4, + -37, + -40, + 17, + -17, + 8, + -111, + -25, + 52, + 60, + 97, + -18, + 82, + 90, + 0, + 36, + -81, + 47, + -28, + -6, + 70, + -128, + -37, + -29, + -19, + 22, + -62, + -8, + -118, + 11, + -29, + 50, + -26, + -6, + -52, + 95, + -15, + -58, + -83, + -17, + -67, + 59, + 124, + 98, + 21, + -42, + 57, + -91, + 81, + 3, + -71, + 103, + 4, + 6, + 87, + 64, + -124, + -61, + -5, + 10, + 31, + -85, + -24, + -117, + -52, + 124, + 56, + -5, + -82, + 32, + -21, + -25, + -3, + -65, + 28, + 101, + -59, + 124, + -69, + -70, + 33, + -53, + -76, + -79, + -24, + -118, + 126, + 86, + 5, + -98, + -21, + -27, + 81, + 56, + 60, + -22, + 13, + 105, + -12, + 56, + 70, + -128, + -69, + -78, + 111, + -95, + -20, + 0, + -12, + 86, + -74, + 125, + -64, + -101, + -125, + 17, + -109, + 122, + 61, + 12, + 91, + 77, + -44, + 124, + -23, + -2, + 96, + -33, + 103, + 16, + 30, + -100, + 16, + -113, + -47, + -19, + -17, + -33, + 94, + -11, + -3, + -75, + -68, + -20, + -125, + 13, + 84, + -49, + 69, + 121, + 24, + 86, + 100, + -116, + 121, + 52, + -70, + 82, + 10, + 22, + -83, + -25, + -122, + -94, + 21, + 26, + -11, + 43, + 98, + 42, + -97, + -12, + 56, + -72, + 115, + -57, + -121, + 109, + 61, + -46, + -22, + 101, + 70, + 11, + 2, + -104, + -105, + 104, + 70, + 1, + -62, + -11, + -98, + 54, + 9, + -37, + 96, + -47, + 51, + 86, + -68, + -46, + -32, + 117, + -49, + 84, + -10, + 15, + -19, + 107, + -22, + -26, + 67, + 35, + 61, + 29, + -80, + -8, + -23, + -65, + -77, + 108, + -14, + 37, + 1, + 35, + -85, + -65, + -117, + 91, + 84, + 88, + 87, + 101, + -29, + -14, + -115, + -90, + 49, + 77, + 9, + -23, + 89, + -34, + 28, + -104, + -4, + -8, + 42, + -14, + -110, + 83, + -18, + -127, + -123, + 110, + 10, + 10, + 46, + 94, + -126, + -49, + -126, + 48, + 6, + -8, + -73, + -37, + -50, + 122, + -40, + -19, + -84, + -55, + -103, + -101, + 4, + 8, + 29, + 44, + 4, + -119, + -103, + -46, + -56, + -43, + 17, + 85, + -104, + 42, + 1, + -95, + -109, + -92, + -91, + -44, + -124, + -43, + 88, + 72, + -83, + 46, + -40, + 126, + 31, + 29, + -121, + -109, + -99, + 35, + -61, + 4, + -80, + 71, + 52, + -45, + 50, + -95, + 54, + 4, + -79, + 74, + 12, + 106, + -23, + 39, + 68, + 20, + 45, + 33, + -40, + -42, + -37, + 45, + 89, + 66, + 61, + 56, + -34, + -39, + -102, + -100, + 102, + -93, + -73, + -6, + 43, + 60, + 56, + 53, + 79, + 67, + -42, + -14, + -105, + 80, + -35, + 39, + -91, + 94, + -4, + -110, + -86, + -114, + 97, + -27, + -111, + 111, + 86, + 74, + -63, + -26, + 108, + -19, + -45, + -47, + 87, + 66, + -82, + 114, + -111, + 97, + 88, + 49, + -10, + -60, + -35, + 103, + -47, + 20, + 74, + 99, + -6, + 30, + -86, + -92, + -14, + 35, + 8, + 93, + 36, + 60, + 59, + -79, + -78, + 119, + 125, + 29, + -37, + 95, + -96, + -51, + -112, + -76, + -87, + 83, + -14, + -65, + -106, + 53, + 121, + 118, + 27, + -113, + 26, + 86, + -104, + 105, + 104, + -19, + -3, + 69, + -109, + -69, + 84, + 61, + 42, + -104, + -36, + -77, + -113, + -85, + 117, + -90, + -82, + -3, + -93, + -88, + 104, + 6, + 10, + -80, + 3, + 103, + 85, + 4, + -113, + -102, + 93, + 46, + -52, + 101, + -127, + 117, + -89, + 26, + 45, + -109, + -96, + 32, + 87, + 78, + 55, + -27, + 79, + 29, + 51, + 108, + -111, + -84, + 120, + -99, + 91, + -80, + -125, + 126, + 125, + 99, + -20, + -41, + -85, + -4, + -35, + -18, + 79, + -124, + 37, + -50, + -84, + -21, + 21, + -40, + 102, + 86, + 92, + -13, + -87, + -128, + 94, + -108, + 113, + 90, + 112, + -12, + 51, + -41, + 24, + -50, + -59, + 98, + -98, + 122, + -46, + -40, + -98, + 55, + 41, + 95, + -45, + -43, + -20, + -21, + 104, + 91, + 66, + -30, + -16, + 88, + -10, + -104, + -7, + 47, + -38, + 109, + 35, + 65, + -13, + -90, + 17, + -75, + -126, + -41, + -3, + 121, + -24, + 127, + 72, + 31, + -72, + -61, + -9, + -49, + -55, + -25, + 61, + 7, + -111, + -23, + -22, + 106, + 75, + 106, + 102, + 89, + 52, + 69, + 60, + -68, + -125, + 118, + -55, + -124, + -89, + -81, + -76, + -85, + -46, + 31, + 70, + 48, + 54, + -110, + -122, + 90, + 29, + -105, + 59, + -22, + -84, + -51, + -105, + 87, + 86, + -81, + 103, + 44, + 44, + -52, + -92, + 41, + 98, + -49, + -111, + -111, + 38, + 79, + -112, + -97, + 28, + 83, + -120, + 34, + 107, + 5, + 98, + -119, + -93, + -115, + -125, + -115, + -128, + 2, + 82, + -90, + 88, + -38, + 70, + 102, + 5, + 3, + 85, + -113, + 97, + -71, + -56, + 113, + 56, + 75, + 46, + 60, + -124, + -107, + -102, + 92, + 89, + 9, + 86, + 82, + 70, + -56, + -18, + -113, + 125, + -77, + 42, + 123, + 85, + -111, + 85, + -88, + 16, + 9, + 55, + -18, + 110, + -93, + -75, + 73, + -109, + 21, + 82, + -14, + -11, + 87, + 0, + 9, + 116, + 70, + -124, + -76, + -107, + -40, + 108, + -65, + 52, + -126, + -79, + 114, + 121, + 91, + 104, + 126, + 98, + -21, + 34, + 111, + -55, + -81, + -11, + 76, + 5, + 33, + -118, + 25, + -44, + -55, + 44, + -75, + -69, + -85, + -42, + 85, + 13, + 3, + -21, + -12, + 111, + 117, + 88, + 15, + 20, + -106, + 90, + 82, + 30, + -72, + 127, + -3, + -59, + -117, + -22, + -128, + -67, + 11, + -23, + -73, + 50, + -103, + 120, + 124, + -44, + 99, + -62, + 54, + 90, + -48, + -92, + 50, + -113, + 76, + -39, + 65, + 19, + 2, + -39, + 115, + -123, + 47, + -102, + -101, + -81, + 40, + -115, + 1, + -78, + 19, + -26, + -15, + 125, + 65, + -24, + 86, + -42, + -86, + -33, + 56, + 104, + 35, + 122, + 7, + -83, + 90, + -66, + -37, + 23, + 54, + -61, + -3, + 46, + -20, + 113, + -51, + -87, + -13, + 72, + -14, + -8, + -7, + 17, + -38, + -65, + 112, + 45, + -125, + 51, + -98, + -1, + 0, + -53, + 94, + 126, + -39, + 23, + 26, + 118, + -33, + 56, + 105, + -91, + -77, + -79, + 106, + 107, + 16, + 19, + -94, + 39, + 86, + -15, + 118, + 15, + 119, + 107, + -93, + -26, + 34, + -121, + -29, + 11, + -13, + -79, + -98, + -107, + -54, + 125, + 63, + -69, + 109, + -14, + -24, + 22, + 111, + -104, + 103, + -51, + 68, + -110, + -44, + 116, + 118, + 117, + 26, + -14, + -10, + 71, + -84, + 81, + 54, + -35, + -25, + 8, + -43, + 61, + 94, + -25, + 6, + -1, + 0, + -97, + -28, + -125, + 113, + 12, + -5, + 61, + 126, + -54, + -68, + -3, + -74, + 102, + 86, + 116, + 117, + -52, + -44, + -42, + -13, + 116, + -59, + -57, + -59, + 63, + 75, + -3, + -6, + -76, + 75, + 80, + 102, + -73, + 84, + -95, + 39, + -2, + 103, + 32, + 121, + 42, + 97, + -83, + 41, + -47, + 15, + -22, + -3, + -48, + 59, + 86, + 85, + -15, + 43, + -21, + 37, + -61, + -1, + 0, + -96, + -26, + 98, + -74, + 52, + -36, + -112, + -117, + 35, + 11, + 33, + -29, + -127, + 98, + -108, + -28, + 23, + -108, + -124, + -59, + -118, + 38, + 113, + -92, + -77, + 91, + 41, + -110, + 87, + 85, + -48, + -60, + -19, + 55, + 68, + 43, + 15, + -16, + -21, + -113, + -55, + -29, + 121, + 88, + -78, + 82, + 120, + 68, + 89, + 48, + 103, + -62, + -82, + 78, + 68, + 109, + 26, + -61, + 12, + 119, + 49, + -72, + -62, + 50, + 7, + 29, + 44, + 101, + -9, + 84, + 125, + 80, + 18, + 46, + 95, + -24, + -109, + 102, + 116, + 111, + -38, + 83, + -64, + 75, + -127, + 4, + -82, + 54, + -82, + 88, + 46, + -5, + 124, + 85, + 78, + -2, + -114, + 37, + -96, + -93, + 1, + -55, + -74, + -81, + 81, + -82, + 81, + -94, + -56, + 112, + 104, + -6, + 2, + 65, + 112, + 116, + 123, + -2, + 71, + 80, + -112, + 5, + -15, + -51, + 97, + -11, + 84, + 28, + -59, + -115, + -120, + -119, + -20, + 126, + 60, + -99, + 64, + -93, + 106, + 79, + -121, + 24, + -98, + 13, + 7, + 16, + 80, + 3, + 106, + -54, + -10, + -120, + -119, + -36, + -108, + 23, + 35, + 109, + 116, + -124, + 21, + 20, + -61, + 75, + -61, + -111, + -12, + -45, + -38, + 48, + 70, + 40, + 0, + 12, + -94, + -43, + 81, + -46, + -56, + 59, + -119, + 86, + -78, + -2, + 127, + -75, + -97, + -104, + -48, + 117, + 73, + -124, + 9, + -74, + 100, + 114, + -100, + 63, + 108, + 102, + 22, + 28, + -46, + -41, + -119, + 125, + -31, + 100, + 38, + 76, + -96, + 32, + 55, + 118, + 124, + -20, + -78, + 44, + -54, + -77, + 99, + -69, + 34, + -46, + -104, + 127, + -91, + -77, + -28, + -4, + -74, + 5, + 16, + 31, + -11, + 100, + 89, + -43, + -99, + -76, + -108, + -59, + 61, + 118, + 48, + 58, + -116, + -1, + 0, + 71, + 22, + 55, + 8, + -51, + -60, + -66, + -90, + 11, + 15, + -71, + -81, + 43, + 46, + -17, + 21, + -109, + -26, + 109, + 40, + -82, + 87, + -70, + 102, + -3, + -126, + 105, + -50, + -24, + 67, + 123, + 72, + -54, + 0, + 58, + -101, + -46, + 84, + -39, + -100, + 2, + 1, + -96, + 73, + -64, + 19, + 39, + -42, + -103, + 65, + -28, + 109, + 97, + 52, + 79, + -107, + 66, + 49, + -127, + 3, + -95, + -4, + -17, + 42, + -99, + 97, + -94, + 115, + 74, + -117, + 10, + -9, + -128, + 24, + 82, + -98, + -8, + -2, + 84, + -7, + 72, + 98, + -27, + 56, + -114, + 55, + 33, + 49, + 62, + -39, + -121, + 18, + -110, + 65, + -114, + -27, + 11, + -29, + -54, + 113, + -91, + -124, + -60, + -27, + 85, + -46, + -47, + 36, + 41, + -20, + 6, + -11, + 5, + -113, + 100, + 122, + -43, + 56, + 25, + 100, + -64, + -28, + 57, + 8, + 103, + -105, + -18, + 34, + 110, + 89, + -42, + 105, + -108, + 49, + 92, + -120, + 31, + 34, + 12, + -128, + -63, + 122, + 110, + -70, + -96, + -3, + -109, + 69, + 65, + -10, + -111, + 36, + -10, + 89, + -119, + 67, + 107, + 28, + 20, + 79, + 49, + -91, + -94, + -109, + -107, + 63, + 48, + 41, + 99, + -117, + 67, + -22, + -77, + 119, + 98, + -97, + -55, + 40, + 64, + 34, + 117, + 98, + 108, + 102, + 40, + -111, + 26, + -89, + 4, + -15, + 46, + 79, + -14, + 24, + -56, + 93, + 47, + -47, + -62, + -124, + 72, + -40, + -93, + 40, + 110, + -26, + -71, + -6, + 23, + -7, + -113, + 105, + -86, + -106, + -107, + -92, + -45, + 2, + -65, + 76, + -53, + 69, + -36, + -8, + -70, + -3, + -34, + 72, + -44, + 34, + 80, + -101, + 37, + 45, + 4, + -14, + -30, + 89, + 10, + 10, + -36, + 45, + 56, + -88, + -79, + -41, + -76, + -88, + -66, + 112, + -95, + -22, + -126, + 43, + 25, + 17, + 45, + -6, + 117, + 10, + -33, + -68, + 108, + 42, + -62, + -7, + -127, + 83, + 61, + 94, + -3, + -13, + -98, + -98, + 49, + -1, + 0, + -44, + 12, + 92, + 35, + -87, + -43, + -13, + -114, + 38, + -36, + -64, + -68, + -76, + 89, + -111, + -17, + 31, + -82, + -17, + 72, + 119, + -51, + -31, + 117, + 86, + 14, + 7, + 42, + -25, + -9, + 10, + -75, + -82, + -97, + 114, + -66, + 120, + 115, + 83, + -46, + 102, + -128, + 1, + 52, + 104, + 85, + 56, + 31, + -72, + -67, + -15, + 77, + -13, + -107, + -70, + 118, + 126, + -33, + -79, + -61, + 106, + -34, + 123, + -24, + 93, + 48, + 99, + 14, + 65, + -42, + -105, + 6, + -109, + -110, + 86, + -53, + 1, + 3, + -85, + 94, + -43, + -84, + 98, + 105, + -114, + -19, + 121, + -97, + -46, + 60, + -20, + -35, + -43, + 88, + 114, + 102, + -84, + -120, + -64, + 54, + -107, + -27, + -48, + 100, + -28, + -105, + -24, + -62, + -58, + -49, + -123, + 79, + 56, + 21, + -100, + -125, + 112, + -114, + -108, + -43, + 48, + 32, + -59, + -54, + -6, + 83, + 30, + 12, + -91, + -57, + -51, + 60, + 121, + -58, + 50, + 8, + 36, + 98, + -98, + 124, + 65, + 12, + -86, + 25, + -112, + -85, + 121, + 34, + -119, + -43, + 36, + 0, + -122, + -40, + 53, + 93, + -117, + 102, + -50, + 105, + -96, + -6, + -114, + 105, + -15, + -4, + -8, + -53, + -102, + -110, + -72, + 50, + -86, + 43, + 50, + 100, + 25, + 16, + -78, + -105, + -39, + 76, + 110, + -23, + -70, + -77, + 116, + 84, + -47, + -82, + -3, + 61, + 104, + 73, + 102, + -123, + -115, + -45, + 116, + -93, + -63, + -5, + 47, + -67, + -18, + -15, + -108, + 104, + -44, + 88, + 66, + -104, + 47, + 69, + 71, + -18, + -84, + -46, + -23, + 115, + 108, + 17, + -102, + 58, + -71, + 101, + -74, + 126, + -93, + -60, + 93, + -94, + -87, + -106, + -83, + 93, + 40, + -35, + 45, + 7, + 69, + 55, + 107, + 63, + 118, + 94, + 20, + -44, + -49, + -11, + 92, + -42, + 118, + -55, + -94, + 58, + 126, + 83, + -34, + -67, + -115, + -98, + 43, + 39, + 101, + 25, + 46, + 72, + 119, + 64, + 20, + 17, + 49, + -38, + -61, + 66, + -64, + -105, + 60, + 91, + 38, + -74, + -93, + 118, + 118, + 13, + -104, + 0, + 22, + -16, + 76, + -90, + 47, + 104, + -102, + 29, + 105, + 23, + -93, + 110, + 13, + 78, + -48, + 101, + 44, + 115, + -101, + 63, + 89, + 67, + 81, + 15, + -63, + -67, + -122, + -61, + 93, + 120, + -101, + -12, + -98, + -115, + -7, + -88, + 51, + 35, + 121, + -39, + -75, + -9, + 76, + 107, + -53, + -91, + -45, + -64, + 17, + -43, + -44, + -79, + -84, + -56, + 119, + -47, + -52, + -100, + 20, + -46, + 25, + 104, + 84, + 81, + -39, + 19, + -103, + 80, + 27, + 24, + -39, + 72, + -94, + 39, + -4, + -48, + -60, + -25, + 99, + -55, + -19, + 43, + -32, + 68, + 92, + -72, + 70, + 106, + 31, + 93, + 86, + -61, + -23, + -78, + 60, + -44, + -108, + -98, + -56, + -100, + -18, + -46, + 109, + 23, + -98, + -11, + 67, + -51, + -29, + 103, + 43, + -87, + 98, + 89, + 110, + -83, + 45, + -43, + -59, + 25, + -89, + 94, + -89, + -93, + 14, + 47, + -37, + 21, + 60, + -23, + -104, + -19, + 119, + 28, + -67, + -80, + 98, + 90, + -68, + 13, + 37, + -70, + 49, + 75, + -105, + 97, + -72, + 60, + 42, + -46, + -92, + 36, + -73, + -34, + -26, + -27, + 23, + 64, + 63, + 65, + -25, + -14, + 113, + 125, + 89, + -55, + -26, + -14, + -80, + 109, + -103, + -113, + -107, + -113, + -117, + -56, + -30, + -59, + 35, + -49, + 39, + -122, + 121, + 12, + 49, + 79, + -113, + 42, + 105, + -113, + 30, + 20, + 113, + -90, + 27, + -78, + 100, + 0, + 99, + 91, + 38, + 114, + -46, + 34, + -80, + 63, + -85, + -50, + 25, + -6, + 111, + 27, + 22, + 25, + 33, + -106, + 25, + -50, + 68, + -104, + -19, + 36, + 107, + 26, + -87, + 86, + 46, + 76, + -118, + 127, + -102, + -45, + -112, + -13, + -58, + 4, + 74, + 78, + -22, + 89, + 85, + 74, + -73, + -81, + 69, + -1, + 0, + 94, + -128, + 85, + 104, + 55, + -91, + 88, + 109, + -72, + 81, + -90, + -30, + 89, + -54, + -53, + 94, + 74, + 93, + 18, + -18, + -47, + -76, + 58, + 42, + 33, + -37, + -37, + 79, + -115, + 31, + -112, + -103, + -56, + -45, + 25, + -18, + 117, + -110, + 61, + -29, + 57, + -29, + 83, + -99, + 109, + 108, + -42, + -103, + 94, + 60, + -23, + 66, + -67, + -43, + 95, + -70, + -111, + -20, + -111, + -11, + 91, + -102, + -89, + -20, + -41, + -51, + -43, + -10, + 33, + -20, + 90, + -108, + 47, + -84, + 30, + 116, + 82, + -70, + -82, + 32, + -72, + -116, + 115, + 2, + -117, + 49, + -121, + 107, + 15, + -108, + 8, + 112, + -23, + 20, + -85, + -110, + 102, + -93, + -97, + 101, + -6, + 49, + 52, + -84, + -4, + -7, + -4, + -45, + 104, + -2, + -105, + -25, + 111, + 34, + -115, + 106, + -83, + -91, + -39, + -38, + -25, + 79, + -65, + -92, + 22, + 7, + -77, + -38, + 31, + 75, + -9, + -30, + -116, + -1, + 0, + 55, + -3, + -65, + -121, + -20, + 104, + -36, + 8, + 4, + 13, + 10, + 88, + 97, + -35, + -24, + 110, + 15, + -108, + 51, + -125, + 65, + 90, + 16, + -14, + 16, + 127, + 75, + 13, + 96, + -42, + 44, + -89, + -52, + 19, + 77, + 81, + -43, + -35, + 94, + -36, + -26, + 58, + -121, + -105, + 124, + -56, + 73, + -65, + -27, + -27, + 36, + 46, + -74, + 34, + -37, + 127, + 35, + 6, + -10, + 110, + -40, + 29, + 54, + -80, + 102, + 49, + -9, + 17, + 52, + 118, + 28, + 88, + -34, + -115, + 47, + 122, + 110, + 78, + -88, + 34, + -85, + 120, + 26, + -35, + -71, + 107, + 43, + -65, + 45, + -10, + 105, + 70, + 85, + -4, + -5, + 69, + 99, + -7, + -3, + -108, + 48, + -118, + -86, + -25, + 14, + -3, + -32, + 101, + 71, + 69, + 17, + 101, + 110, + 49, + -34, + 85, + -51, + -90, + -106, + -48, + -95, + -66, + -91, + -103, + -38, + 50, + -111, + -61, + 18, + 19, + -109, + 36, + 67, + -40, + -59, + -125, + -85, + -48, + 42, + -54, + 35, + 40, + -60, + 5, + -89, + 125, + -68, + -111, + -10, + 11, + 21, + 3, + -57, + -25, + 60, + -100, + -122, + -106, + 74, + -113, + 101, + -114, + 40, + -60, + 104, + -50, + -65, + 4, + 40, + 36, + 34, + -97, + -23, + -117, + 54, + -76, + 14, + -42, + 8, + -42, + -114, + -54, + -105, + -102, + 63, + 107, + -49, + 53, + -33, + -96, + -57, + -46, + -101, + 11, + -20, + 94, + 123, + 101, + -112, + 35, + 74, + -62, + -74, + 89, + -66, + -73, + 88, + -49, + -50, + -79, + 86, + 2, + 49, + 124, + 30, + -117, + 9, + 49, + -106, + -106, + 11, + 78, + 105, + -95, + 42, + -100, + 79, + -78, + 92, + -28, + 115, + 10, + 57, + -15, + 122, + -83, + 27, + -39, + -93, + 93, + -92, + -102, + 97, + -92, + 35, + -97, + -93, + -56, + 111, + 88, + -46, + 78, + 48, + -84, + -35, + -95, + -80, + -43, + -50, + -124, + -22, + 24, + -22, + 89, + -79, + 54, + -38, + -61, + 91, + -49, + 114, + -39, + 24, + -122, + -36, + 39, + 105, + -36, + 45, + 95, + -5, + 81, + 121, + 98, + 21, + -90, + -115, + 99, + 102, + -70, + 52, + -54, + 111, + -49, + -91, + 96, + 26, + 0, + 45, + 34, + 39, + -101, + 111, + -33, + -70, + 34, + -84, + 121, + -6, + 7, + -109, + -121, + -54, + -68, + -52, + -22, + 66, + -125, + 84, + -79, + -119, + 10, + -82, + -70, + -87, + 86, + 40, + -124, + 23, + 82, + 10, + -67, + -47, + -40, + 48, + 33, + 126, + 1, + 56, + 50, + -47, + 98, + -115, + 64, + 50, + 82, + -128, + 94, + 64, + -69, + 59, + 123, + 109, + -114, + -42, + 64, + 39, + -12, + -117, + -24, + 87, + -25, + -80, + -89, + -8, + -111, + 56, + 58, + -34, + -63, + -86, + 100, + 78, + -71, + -2, + 101, + -114, + -36, + -42, + 10, + 109, + -102, + 97, + 12, + -41, + 37, + -55, + 6, + 101, + 11, + -122, + 50, + 28, + -39, + -13, + 45, + -52, + 49, + 75, + 0, + 26, + 22, + 90, + 10, + -100, + 125, + 8, + -36, + -67, + 121, + -23, + -85, + 87, + 95, + 96, + -8, + 60, + 117, + -110, + -19, + -110, + 51, + 11, + -50, + 84, + 51, + -122, + 52, + -9, + 29, + -102, + -121, + 61, + -44, + -125, + -104, + -69, + 126, + -21, + -59, + 53, + 77, + 85, + 5, + 105, + 106, + -86, + 46, + 111, + 67, + 90, + -42, + -13, + 31, + 74, + 41, + -95, + 90, + 83, + -40, + -44, + 60, + -29, + -23, + 109, + -115, + 126, + -40, + -5, + -3, + 90, + 24, + -14, + 49, + -8, + 51, + 39, + -107, + -107, + -125, + -36, + 83, + -87, + 2, + 9, + 87, + 99, + -21, + 112, + -83, + 100, + -53, + 103, + -18, + 63, + 29, + 92, + 104, + 86, + -77, + 31, + 55, + 122, + 43, + 58, + 108, + -14, + 123, + 110, + 57, + -107, + -85, + -17, + 95, + -73, + -19, + 10, + 11, + 109, + -7, + 26, + 29, + -20, + 107, + -53, + -52, + -108, + -68, + -20, + -1, + 0, + -72, + -77, + 29, + 41, + -105, + 84, + 50, + 3, + 105, + 40, + -110, + 56, + -78, + -117, + 43, + -34, + -81, + 121, + 81, + 109, + 43, + 22, + -48, + 52, + -1, + 0, + 55, + -17, + 98, + 94, + 45, + 81, + -53, + 75, + 104, + 67, + -35, + 12, + -123, + 22, + -115, + -49, + -25, + -86, + -13, + 74, + 78, + 126, + -36, + 108, + 88, + 11, + 105, + -106, + -54, + -85, + -10, + 29, + -98, + -33, + -11, + 35, + 57, + -99, + 36, + -105, + -94, + -34, + 27, + -121, + 46, + -23, + -31, + -8, + 83, + 114, + 94, + -40, + 55, + -95, + 121, + -49, + 54, + -66, + 106, + 127, + -46, + -68, + -14, + 85, + 59, + 68, + 4, + 37, + 99, + 54, + -119, + 113, + -103, + 125, + -57, + 49, + -72, + 67, + -50, + 87, + -122, + -4, + 60, + 67, + -102, + -54, + -111, + -8, + 87, + -55, + -71, + 98, + 108, + -81, + 12, + 126, + 39, + 86, + 86, + -120, + 42, + -92, + -35, + -60, + -24, + -74, + -20, + -94, + 37, + 101, + -87, + 25, + 52, + -115, + 90, + 93, + -83, + 12, + 31, + 70, + 113, + -15, + -89, + -43, + -71, + -79, + 88, + 39, + 21, + 101, + -9, + -110, + -89, + -50, + 36, + 43, + 29, + -119, + 17, + -118, + -104, + -111, + -51, + -99, + 91, + -78, + 75, + 40, + 80, + 85, + -114, + -17, + -49, + 89, + -64, + -84, + -21, + -49, + 96, + -67, + 52, + -112, + -77, + -107, + 33, + -68, + 107, + -113, + 124, + -25, + -13, + 93, + -117, + 7, + -66, + 57, + 3, + 27, + -23, + -31, + 67, + 64, + 25, + -109, + -84, + 36, + -100, + 87, + -42, + -87, + -68, + -86, + -106, + -29, + 47, + -54, + 117, + 13, + 25, + 123, + 71, + 71, + 74, + 104, + 123, + -47, + 24, + 90, + -125, + -29, + -6, + 100, + -113, + -50, + 58, + 60, + 100, + 11, + -71, + 62, + 97, + -49, + -103, + -101, + -104, + -77, + -52, + 117, + -21, + -59, + -8, + -30, + 7, + 69, + -76, + 93, + 112, + 8, + 69, + -13, + 44, + -85, + -51, + 53, + 83, + 117, + -71, + 109, + -28, + 121, + -36, + -119, + -113, + -71, + -127, + -12, + 90, + -117, + 41, + -39, + -86, + -55, + 69, + 113, + -82, + 76, + 76, + 98, + -116, + -86, + -24, + -20, + -24, + -128, + 13, + -44, + 69, + 123, + -44, + 94, + 30, + 22, + -24, + -17, + -62, + 109, + 87, + 0, + -52, + -12, + 33, + 102, + 94, + 51, + -68, + 119, + -2, + 43, + 24, + -122, + -128, + -105, + -106, + 102, + -61, + 119, + -67, + -5, + -46, + -22, + -23, + -61, + 85, + -69, + 11, + -22, + -6, + -62, + -48, + 108, + 2, + 123, + -48, + -15, + -19, + -3, + 108, + -17, + 124, + -27, + 24, + -126, + -127, + -77, + -59, + 55, + -50, + -24, + -122, + -25, + 33, + -68, + -101, + -97, + 104, + 34, + -15, + -82, + 51, + -20, + -15, + 48, + -83, + -114, + -12, + -94, + 47, + 105, + 70, + -66, + -71, + 110, + -31, + 112, + -118, + 79, + -56, + -38, + -58, + -44, + -67, + -105, + -66, + 25, + -44, + -48, + -43, + 6, + -118, + -45, + 115, + -20, + 25, + -66, + -71, + -46, + 118, + -102, + -42, + 65, + -52, + -52, + -117, + -103, + -7, + -98, + -78, + -76, + 58, + -122, + 118, + -120, + -30, + -21, + -96, + -27, + 122, + 93, + 127, + 71, + -6, + 15, + -48, + 57, + -82, + 33, + -105, + -65, + 79, + 38, + 120, + -82, + -113, + -97, + -114, + 124, + -98, + -42, + 101, + -108, + -17, + 106, + 109, + 36, + 70, + -115, + -115, + 53, + 42, + -112, + -78, + 90, + -108, + -19, + -118, + -83, + -83, + 81, + -37, + 29, + 91, + -20, + 50, + 84, + 45, + 50, + -115, + 40, + 5, + 97, + 82, + 69, + 76, + -128, + 21, + -74, + 112, + 76, + 116, + 67, + 15, + 109, + -102, + 107, + -65, + 87, + -80, + -71, + -92, + 112, + 123, + 41, + -62, + 25, + 19, + -121, + 35, + -126, + 68, + -44, + 89, + 18, + -122, + 121, + 114, + 5, + -89, + 23, + 26, + 77, + 100, + 52, + 100, + -84, + -57, + 71, + 57, + -85, + -94, + -19, + 60, + -76, + 73, + -56, + 14, + -73, + 37, + -3, + -88, + 110, + -93, + -52, + 116, + -10, + 77, + -113, + -77, + 54, + -76, + 26, + -41, + -97, + -12, + 117, + -70, + -69, + -74, + 55, + 112, + 62, + -120, + -68, + 23, + -40, + 28, + 39, + -7, + 43, + 98, + -115, + -48, + -86, + -98, + 86, + -59, + 75, + -73, + -25, + -87, + -52, + 83, + 23, + 91, + -49, + 94, + -118, + -116, + -112, + 94, + 127, + -57, + -34, + -121, + 0, + 44, + -14, + -7, + -103, + 119, + -25, + 45, + 124, + -114, + -92, + -116, + -51, + -25, + 103, + -9, + 32, + -116, + 42, + -93, + 16, + 2, + -96, + 35, + -96, + -31, + -7, + -62, + -117, + 70, + 107, + -22, + 33, + -22, + 109, + 15, + 44, + 2, + -44, + -100, + -11, + 61, + -82, + -106, + -9, + -74, + 98, + -71, + -17, + -103, + 109, + -72, + 101, + -43, + -128, + 64, + -39, + -124, + 42, + 98, + 121, + 6, + 47, + -97, + 56, + -15, + -72, + -22, + -63, + 54, + -20, + -32, + -30, + 59, + 50, + -41, + -7, + 115, + -65, + -96, + -54, + -23, + -39, + -106, + 75, + 89, + -45, + 35, + 93, + -29, + 15, + 29, + -110, + 71, + 38, + -70, + -75, + 116, + -34, + 96, + -11, + -98, + -85, + 31, + -91, + 63, + -94, + 102, + -40, + 109, + 39, + -70, + -2, + -124, + -50, + 23, + -125, + 74, + -112, + -3, + -119, + -27, + 25, + -2, + -23, + 74, + 28, + -51, + -43, + -86, + 50, + -61, + -107, + 45, + -80, + -24, + -100, + -6, + 59, + -49, + -91, + -53, + -28, + 110, + -14, + -48, + 59, + -87, + 37, + 57, + -25, + 47, + 8, + -2, + 55, + 60, + 13, + -61, + -4, + -1, + 0, + 45, + -87, + -95, + 51, + -88, + 104, + -82, + -20, + -18, + 51, + -24, + -51, + 57, + 10, + -17, + -78, + 0, + -15, + 5, + -123, + -119, + 47, + -18, + 22, + -94, + -57, + -69, + 86, + 8, + 118, + 102, + -10, + -125, + -79, + 20, + -87, + 32, + -68, + -90, + 30, + 61, + 32, + 49, + -94, + 35, + -54, + -15, + 101, + -56, + -50, + -70, + 106, + -60, + 56, + 46, + 21, + 92, + -99, + 73, + -82, + -69, + 0, + 2, + -91, + -49, + 106, + 61, + 29, + 53, + -17, + 57, + -29, + -2, + -122, + -75, + -103, + 49, + -17, + -72, + 8, + -35, + -109, + 49, + -50, + -39, + 29, + 52, + 12, + -93, + -16, + 11, + 75, + -70, + -25, + 124, + 117, + -109, + 30, + 102, + -48, + 54, + 107, + 33, + 109, + -38, + 82, + 92, + -45, + 93, + -18, + 122, + 107, + -6, + 64, + -55, + 24, + 84, + 28, + 89, + -75, + -83, + 23, + 84, + 61, + 84, + -27, + -73, + 20, + 125, + 12, + 41, + 54, + 83, + 116, + 4, + 99, + -68, + -27, + -31, + 96, + -92, + -32, + -86, + -11, + -29, + 63, + 45, + 74, + 107, + -99, + -87, + 108, + 88, + 13, + 13, + 115, + -54, + -98, + 125, + 81, + -55, + 90, + 67, + -79, + 11, + 107, + 99, + 68, + -8, + -78, + -10, + -80, + -87, + 37, + 6, + -102, + 46, + -126, + -115, + -26, + -58, + 59, + 64, + 44, + -2, + 73, + -120, + -113, + -50, + 82, + -85, + -112, + 109, + 61, + 11, + -36, + 89, + -11, + 31, + -82, + 127, + -24, + 61, + 27, + -8, + -39, + -74, + -116, + -23, + -25, + 79, + 94, + 106, + 114, + 121, + -48, + 118, + -95, + -117, + -21, + -89, + -109, + 19, + 42, + -110, + -56, + 118, + 39, + 10, + -76, + 9, + 15, + -46, + 28, + 68, + -25, + -6, + -42, + -39, + -102, + 111, + 26, + 37, + 81, + 26, + 16, + -89, + 97, + -115, + -18, + 68, + -4, + -16, + 44, + -50, + -112, + -14, + -27, + 89, + 24, + -72, + 112, + 100, + 87, + -45, + 76, + -53, + -31, + -16, + -57, + -89, + 114, + -61, + 126, + 102, + 105, + -62, + 108, + -25, + -110, + 88, + -34, + -90, + -46, + 88, + 51, + 103, + 12, + 81, + 111, + 73, + 78, + -50, + -98, + -78, + -68, + -7, + 24, + 49, + 70, + 119, + -113, + 68, + -81, + 98, + 103, + 42, + 41, + 106, + -71, + 91, + -99, + 5, + 61, + 17, + -123, + 90, + -42, + -128, + 71, + 38, + -95, + -84, + 106, + -6, + -40, + 85, + -15, + -89, + -11, + 89, + 98, + 59, + -103, + -68, + 85, + -96, + 51, + 14, + 63, + -34, + 37, + 63, + -22, + -126, + 64, + -95, + -40, + 110, + -102, + -58, + 73, + -115, + -117, + 20, + 20, + -92, + 22, + 10, + 7, + -112, + -126, + 77, + 18, + 16, + 19, + 124, + 92, + -100, + -127, + -128, + -32, + -86, + -91, + -53, + 19, + -78, + -22, + -64, + 6, + -102, + 64, + -86, + -6, + -47, + 109, + -87, + 111, + 125, + -75, + -38, + -88, + 1, + -22, + -52, + -77, + -33, + 59, + 121, + -81, + 26, + 90, + 28, + -23, + -111, + -7, + 103, + 36, + -13, + 79, + -94, + 111, + -1, + 0, + 8, + -116, + 52, + 115, + 47, + 59, + -30, + 35, + 52, + 70, + -71, + 102, + -29, + -86, + -121, + 83, + -82, + 8, + -50, + -114, + 8, + -86, + -12, + -81, + 82, + -127, + -126, + -3, + 16, + -5, + 71, + 82, + -89, + -56, + -59, + -6, + 52, + 94, + 126, + 49, + -113, + -120, + 52, + -74, + 96, + -26, + -117, + -9, + -35, + 87, + 17, + -85, + -29, + 105, + 91, + -48, + 92, + -15, + -117, + -91, + -90, + 45, + -67, + -16, + 11, + 67, + 33, + 10, + -118, + -26, + 30, + 23, + 116, + 65, + -127, + 84, + 57, + -95, + 67, + 88, + 97, + -99, + -96, + 123, + 50, + -7, + -81, + -60, + -85, + 105, + 8, + -15, + -31, + 102, + -65, + -83, + -4, + -56, + -101, + 84, + 104, + -96, + 15, + -50, + -41, + -19, + -55, + -43, + -35, + 2, + -22, + 82, + 78, + -97, + -58, + 30, + 21, + -115, + -89, + -84, + -99, + 92, + 106, + -11, + 44, + -69, + -74, + -60, + -19, + 98, + -19, + 28, + -111, + 91, + 67, + 17, + 24, + -10, + 11, + -33, + 21, + -127, + -86, + -86, + -39, + -52, + -120, + -44, + 119, + -45, + -17, + 19, + -44, + -64, + -90, + -44, + 96, + 17, + 77, + -49, + -106, + -35, + 57, + 111, + 35, + -60, + -103, + -75, + 45, + 43, + 62, + 106, + -49, + 117, + 71, + 58, + -67, + -3, + -33, + -60, + -93, + 110, + 121, + 118, + -125, + -80, + 43, + -81, + -86, + -96, + -23, + -21, + 14, + 11, + 22, + -67, + 77, + 85, + 106, + 93, + 30, + -128, + 115, + 113, + -25, + 96, + -76, + -4, + -32, + -28, + -58, + -29, + 30, + 60, + 120, + 46, + -11, + -59, + 72, + -75, + -63, + -116, + -64, + -100, + 52, + -36, + -19, + 84, + 59, + 110, + 100, + -62, + -123, + 71, + 44, + -12, + 78, + -119, + 76, + -19, + 4, + -77, + 124, + -50, + -58, + 25, + -36, + 108, + -45, + 23, + -76, + -72, + 50, + -111, + -74, + 2, + 85, + -110, + 25, + 82, + 83, + 25, + 78, + -22, + 57, + 10, + 85, + -101, + -96, + -84, + 6, + -83, + 37, + 10, + 60, + 50, + 73, + -59, + -3, + 72, + -111, + -101, + 113, + 42, + -53, + 11, + 3, + 101, + 4, + 115, + 33, + 75, + 83, + 99, + -6, + 108, + 118, + 64, + 58, + -37, + 81, + 77, + -83, + -98, + 112, + -4, + -114, + 86, + -82, + -123, + -109, + -6, + 55, + 46, + 100, + 120, + 75, + -69, + 67, + -24, + 60, + -21, + 70, + -17, + 25, + 106, + -108, + -120, + 61, + 3, + 67, + 23, + -25, + -6, + 15, + 12, + -43, + 29, + 114, + 55, + 1, + 10, + 90, + 53, + 25, + -55, + 99, + 101, + -22, + -84, + 28, + 124, + -51, + 123, + 8, + 26, + -45, + -98, + 20, + 67, + 93, + 48, + 9, + -87, + 53, + 83, + 55, + 115, + 99, + -119, + 102, + 127, + 102, + -108, + 13, + -34, + -54, + 79, + 92, + 15, + 112, + 65, + 15, + 18, + -60, + 44, + -67, + 34, + 84, + 67, + 16, + 7, + 19, + 20, + 4, + -124, + 6, + -97, + -102, + 19, + 47, + -100, + 14, + 23, + -94, + 43, + 92, + -124, + -5, + 64, + -27, + -119, + -82, + -114, + 37, + 36, + -96, + 98, + -5, + 64, + -88, + -77, + 118, + 104, + -103, + 124, + -92, + -15, + 50, + 35, + -21, + -90, + 100, + -92, + 74, + -121, + 45, + 58, + -2, + 65, + -94, + 99, + -117, + -59, + -66, + -97, + 94, + -83, + 121, + 91, + -31, + -34, + 3, + 49, + 58, + -111, + 7, + 120, + -14, + -23, + -49, + -56, + -38, + 102, + 2, + -102, + 75, + 36, + 24, + -80, + 42, + -40, + -55, + 30, + -113, + 93, + -128, + 28, + 19, + -34, + -24, + -72, + -79, + 12, + 66, + -42, + -102, + 125, + 51, + 10, + 25, + 58, + -11, + 104, + -23, + -61, + 49, + 26, + -108, + -48, + 8, + -38, + -98, + -84, + -95, + -19, + -35, + 39, + 127, + -69, + 82, + -114, + 96, + 84, + 103, + -124, + -119, + 6, + 122, + -60, + 123, + -18, + -87, + 65, + 124, + 23, + -100, + -104, + -1, + 0, + -97, + -53, + 29, + 61, + 106, + -42, + -121, + 89, + -22, + -111, + 101, + 44, + -113, + -124, + 64, + 0, + 68, + 82, + -86, + 43, + -96, + 62, + 104, + 87, + 103, + -78, + 15, + -8, + -66, + -67, + 106, + 56, + -61, + -35, + 33, + 4, + 41, + 102, + 86, + 52, + 59, + 63, + -92, + 89, + -4, + 126, + 13, + 117, + -35, + 30, + -70, + -12, + -31, + 111, + 90, + 94, + 123, + -67, + 7, + 89, + -12, + 91, + 56, + -19, + 20, + 11, + 107, + -126, + 74, + -126, + -54, + 106, + -58, + -109, + 70, + 13, + 16, + -27, + -38, + 25, + 81, + 20, + -4, + 121, + 87, + -5, + 14, + -48, + -56, + 29, + 122, + -58, + -107, + 39, + -8, + 80, + 17, + 77, + 115, + -67, + 17, + 68, + 1, + 27, + 65, + 3, + 86, + -66, + -54, + -33, + 43, + -62, + -11, + 56, + -114, + 107, + 124, + 41, + -75, + 53, + 121, + -45, + 64, + -128, + -48, + -30, + 32, + 71, + 74, + 95, + -111, + 53, + 39, + 117, + -106, + 113, + 95, + 9, + 37, + -118, + -50, + 30, + -112, + 118, + -2, + -55, + -86, + -45, + 110, + -91, + -62, + -44, + -82, + -45, + 87, + -57, + -29, + -76, + -82, + -78, + -52, + -13, + -101, + -54, + 98, + -53, + 34, + -71, + -47, + -50, + 75, + 17, + 8, + 41, + -55, + 22, + 71, + -33, + -38, + 69, + -26, + -36, + -77, + -52, + 98, + 77, + -67, + 102, + 76, + 78, + 96, + -19, + -23, + 90, + 63, + -37, + -117, + -50, + 36, + -97, + 120, + -47, + -107, + -75, + -83, + -17, + -41, + -89, + -35, + -102, + 70, + 53, + -116, + 24, + -121, + -34, + -103, + 21, + -78, + -72, + -104, + -35, + 77, + -85, + 125, + 88, + 64, + 26, + 93, + -126, + -90, + -79, + -52, + 100, + 111, + -85, + -24, + -124, + -52, + -101, + -42, + -44, + 95, + 30, + -84, + -23, + 110, + -6, + 124, + 81, + 9, + 109, + -94, + -123, + 121, + 80, + 11, + 59, + -94, + 11, + 27, + 125, + 69, + -25, + 85, + 43, + -121, + -107, + -95, + -66, + 68, + 42, + -7, + -75, + -57, + -117, + -91, + -77, + -105, + -60, + -13, + -57, + -28, + 14, + -91, + -89, + 14, + -110, + -103, + 66, + 11, + -71, + -45, + 35, + 33, + -10, + 62, + -23, + 101, + -55, + 46, + 63, + 41, + 44, + -82, + 87, + -109, + -124, + -98, + 89, + 68, + 112, + 44, + 75, + 48, + 10, + -18, + -116, + -87, + 28, + 38, + -93, + 12, + -54, + 123, + 20, + 20, + -82, + -60, + -71, + 70, + 93, + -83, + -119, + 44, + 113, + -32, + 16, + -14, + -47, + 70, + 11, + -66, + -2, + 50, + -18, + 23, + 91, + 46, + 8, + -111, + -42, + -59, + 117, + 76, + 88, + -123, + 8, + 28, + 48, + 69, + -44, + 15, + 93, + 27, + -77, + -29, + -34, + 106, + -59, + 52, + -87, + -77, + -95, + -18, + 89, + -93, + -89, + 38, + -118, + -33, + 114, + -33, + 24, + 24, + -74, + 125, + 13, + 85, + -65, + 15, + 67, + -91, + -46, + -121, + -16, + 60, + -69, + -98, + 45, + -119, + -38, + 108, + -94, + 66, + 41, + 18, + -74, + 72, + -22, + 74, + -13, + -79, + 101, + 71, + -64, + -82, + -31, + 45, + 100, + -44, + 0, + 81, + 96, + 85, + 70, + 80, + 6, + 109, + -77, + -51, + 87, + 118, + -19, + 90, + -69, + 98, + -114, + 92, + -81, + -70, + 108, + 116, + 82, + 77, + 89, + 119, + 78, + -57, + -85, + 60, + -25, + -87, + 10, + -71, + 91, + 13, + -41, + -109, + 8, + -103, + -16, + 87, + -10, + 98, + -70, + 18, + -8, + -42, + -84, + 127, + 57, + 79, + 87, + 93, + 57, + -54, + 74, + -68, + 21, + 111, + -14, + -45, + -115, + -27, + -117, + 57, + 69, + -6, + -55, + -100, + 122, + 38, + 10, + -107, + -42, + -58, + -102, + -6, + -55, + -17, + 109, + -119, + 83, + -18, + -83, + -28, + -9, + 46, + 18, + 21, + -34, + 40, + 91, + -8, + -92, + -87, + 117, + 105, + 61, + 91, + 58, + -39, + 116, + 114, + -12, + 12, + -27, + -92, + -26, + -56, + -77, + 74, + -106, + -19, + 108, + -60, + -10, + 15, + 78, + -44, + 44, + -14, + -8, + -60, + 53, + -42, + -122, + 119, + -94, + -80, + -71, + -84, + 54, + -20, + -50, + -114, + 11, + 122, + 65, + -34, + -19, + 35, + 8, + -13, + 116, + -70, + 74, + 63, + -101, + -11, + -61, + 122, + -73, + -99, + -77, + 42, + -91, + 4, + 32, + 49, + -89, + 103, + -70, + -66, + 23, + 14, + -87, + -25, + -62, + 76, + 96, + -79, + -115, + 24, + -96, + 39, + 74, + -57, + -37, + -3, + 41, + -97, + 127, + -88, + -23, + 105, + 98, + -77, + -110, + 78, + -59, + 74, + 101, + 77, + 101, + 90, + 16, + -126, + -9, + 24, + -106, + -112, + -21, + 36, + -105, + 10, + -65, + -90, + -82, + -15, + 88, + -4, + -81, + -1, + 0, + 57, + -33, + 11, + 19, + 27, + 27, + -23, + -2, + 67, + 10, + 9, + 51, + -78, + 112, + -15, + 96, + 101, + -98, + 44, + 126, + 53, + 32, + -113, + -18, + 15, + -99, + 7, + -112, + -55, + 44, + 100, + 43, + 67, + 47, + -111, + 53, + -47, + 13, + 79, + 44, + 8, + -33, + 84, + 79, + 26, + -15, + -120, + -110, + 76, + -7, + 25, + -16, + -53, + 33, + -115, + 114, + 37, + 125, + -44, + -53, + -108, + -45, + -106, + 74, + -116, + -5, + 69, + -112, + -95, + 92, + -48, + -91, + 39, + 82, + -86, + -38, + 109, + 19, + 113, + -60, + 49, + -59, + -64, + 33, + 127, + 113, + -33, + 8, + -15, + -14, + 70, + 61, + 20, + 30, + 26, + -89, + -22, + -1, + 0, + 75, + -51, + -25, + 79, + 69, + 81, + -114, + 97, + -36, + 88, + -119, + 83, + -106, + -109, + -53, + -104, + -8, + -36, + -69, + 17, + -51, + -109, + 43, + -118, + -46, + 96, + -83, + -99, + -27, + -55, + -47, + -84, + -85, + -106, + -5, + 100, + -89, + -32, + -2, + -20, + -114, + -69, + 28, + -21, + 1, + -6, + 62, + -111, + -55, + -8, + -15, + 79, + -97, + -70, + -10, + 30, + 91, + -89, + -87, + 103, + -118, + -51, + 13, + 119, + -31, + 108, + 74, + 71, + -46, + 49, + 37, + 76, + 71, + 75, + -50, + 125, + 40, + 44, + -86, + 125, + -5, + 25, + 15, + -104, + -12, + -123, + -9, + -36, + -77, + -69, + 41, + -17, + -78, + -98, + -105, + 57, + 103, + 111, + 12, + -23, + 118, + 60, + -104, + 21, + -84, + -47, + 85, + -119, + -97, + -27, + 38, + 67, + -1, + 0, + 15, + -36, + 19, + 57, + 95, + 65, + -93, + -90, + -82, + 75, + -91, + -21, + 91, + -2, + -8, + 93, + -128, + 83, + -63, + 40, + 125, + 63, + -116, + -8, + -38, + -40, + -9, + -93, + -121, + -99, + -46, + 50, + -90, + -29, + 107, + -117, + -102, + -113, + -104, + -11, + -73, + 49, + 57, + -9, + -53, + -39, + 80, + -5, + -39, + 59, + 64, + 84, + -52, + -121, + -50, + 73, + 10, + 21, + -51, + -37, + 72, + -37, + -50, + 94, + 16, + 93, + 120, + -115, + 49, + 127, + -127, + 6, + -21, + 110, + 85, + -86, + -62, + 34, + -107, + 28, + 73, + -76, + 102, + -99, + -111, + 103, + -62, + -118, + -69, + -79, + -18, + -119, + 8, + -93, + 49, + 116, + 18, + 85, + 78, + -100, + -61, + 46, + 48, + -24, + -82, + -58, + -20, + -96, + -84, + 110, + 2, + -25, + -30, + -33, + -58, + 22, + -87, + 77, + 127, + 65, + -20, + -103, + 37, + 0, + -71, + -71, + 82, + -93, + -51, + -91, + -19, + 121, + 28, + -7, + -29, + -126, + -63, + -113, + 1, + -102, + 70, + 43, + 63, + -112, + -7, + -56, + -119, + -112, + 15, + 104, + 101, + 42, + 118, + -9, + -20, + -48, + -105, + 23, + 16, + 45, + -29, + 10, + 117, + -12, + -81, + -61, + 125, + 43, + -113, + -53, + 99, + 46, + 102, + 92, + -19, + 10, + -101, + 93, + 20, + -94, + 52, + -96, + 17, + -85, + -44, + -128, + -78, + -95, + 11, + -96, + -108, + 68, + -47, + -105, + 0, + 6, + 102, + -78, + 108, + 63, + 80, + -33, + 21, + 25, + 116, + 109, + 13, + 16, + 68, + -98, + -81, + 65, + -63, + 22, + -40, + 62, + 89, + -55, + -43, + 20, + -9, + 86, + -121, + 77, + -87, + -56, + -108, + -58, + 92, + 75, + 55, + 29, + 126, + 45, + -82, + 48, + 111, + -68, + -7, + -15, + 125, + 7, + -106, + -48, + 112, + -115, + -13, + -29, + 74, + 24, + -3, + -63, + -120, + -114, + -87, + 54, + -126, + -8, + -36, + -82, + -98, + 55, + 56, + -57, + -108, + 115, + -12, + 62, + -49, + -99, + -57, + 60, + -25, + -18, + -44, + 18, + 87, + -58, + 101, + -41, + 22, + 29, + -13, + 66, + -121, + -21, + 97, + 91, + 34, + -105, + -114, + -61, + 81, + 120, + 121, + -53, + -19, + 67, + -94, + -46, + -89, + 18, + 123, + 29, + -93, + -59, + -127, + -107, + -6, + -120, + -115, + -41, + 11, + -10, + -72, + -22, + -88, + 115, + 75, + -59, + 102, + 55, + -4, + 86, + 9, + 62, + 113, + 107, + 63, + 66, + -101, + -98, + -26, + 100, + 98, + -53, + 18, + 72, + -65, + -121, + 97, + 33, + 39, + -32, + -101, + 42, + 88, + 93, + -33, + 101, + -119, + -80, + 9, + -81, + -128, + -49, + 31, + -45, + 92, + 12, + 40, + -79, + -76, + -78, + -85, + 40, + -94, + -94, + 69, + 32, + 118, + 62, + 54, + 80, + 126, + 7, + -20, + 0, + 53, + 93, + 1, + -21, + -96, + 95, + 9, + -29, + 96, + 53, + 47, + 24, + -32, + -85, + 79, + -118, + -81, + -63, + -22, + 105, + -34, + 92, + -23, + 91, + 69, + -29, + -66, + 20, + -86, + 81, + 46, + 43, + 81, + 91, + 86, + 108, + 127, + -6, + 57, + -111, + 81, + -83, + -79, + -102, + 90, + 123, + -120, + -25, + -119, + -53, + 127, + 35, + 76, + 103, + 57, + -85, + -60, + -66, + -79, + -55, + -21, + 3, + 80, + 116, + 111, + -2, + -79, + -110, + -26, + -81, + -44, + 26, + -86, + -1, + 0, + -105, + 61, + -13, + -18, + 44, + -77, + 49, + -43, + -24, + 95, + -110, + -111, + -68, + -97, + -84, + -35, + 25, + 112, + -110, + -5, + -128, + 82, + -102, + -100, + -50, + -34, + 83, + 104, + -108, + 18, + -34, + 121, + 113, + -43, + 92, + 41, + -35, + 9, + 39, + 88, + 91, + -29, + -99, + -5, + 72, + -47, + -39, + -26, + -70, + 92, + 90, + 99, + -15, + -3, + 30, + -68, + -102, + 53, + -85, + -43, + -118, + -12, + 67, + -29, + -125, + 73, + 104, + -126, + -4, + -15, + 111, + -6, + -27, + 82, + 39, + -58, + 37, + 97, + 38, + 30, + 93, + 82, + -100, + -12, + -99, + -118, + -93, + 101, + 5, + -113, + 22, + 42, + 96, + 100, + 24, + -106, + 17, + -59, + -120, + 31, + 79, + 57, + -68, + -71, + -87, + 113, + 14, + 91, + -78, + -85, + -120, + 18, + -62, + 89, + 86, + -72, + -1, + 0, + 63, + -71, + 108, + 43, + -117, + -78, + -21, + 121, + -19, + -4, + -53, + -103, + 124, + -113, + 71, + -61, + 54, + 92, + -77, + -34, + -98, + -114, + 49, + 111, + 71, + -59, + -53, + 122, + -61, + -40, + -29, + 17, + 66, + 73, + -44, + -85, + -83, + -61, + -43, + -6, + -12, + -74, + -54, + -45, + -21, + -47, + -97, + 30, + 70, + -114, + -93, + 9, + 110, + -19, + 100, + 115, + 121, + -51, + -87, + -58, + -61, + 54, + 122, + -50, + -108, + -53, + 12, + -43, + -61, + -45, + 9, + 98, + -96, + 6, + -81, + -89, + -127, + 27, + -6, + -117, + 38, + 73, + 48, + -29, + 79, + 35, + 24, + 101, + 88, + -27, + 83, + -19, + -43, + 92, + 69, + 44, + -114, + 83, + 86, + -111, + 64, + 84, + -40, + 107, + 65, + -114, + -22, + -14, + -86, + -69, + 49, + -11, + -100, + 125, + 7, + -58, + -49, + -115, + -11, + 7, + 39, + -107, + 60, + 108, + 6, + -65, + 110, + -64, + -105, + -42, + 70, + -97, + 50, + 36, + -116, + 48, + 122, + 37, + -59, + 7, + 46, + -122, + -128, + 14, + 20, + -107, + 8, + 61, + 56, + 28, + 57, + 103, + -10, + -103, + -35, + -43, + 84, + -12, + -36, + -72, + 86, + 66, + -86, + 107, + 36, + -55, + 109, + -28, + 58, + -64, + 96, + -5, + 102, + -96, + 2, + 83, + -30, + -40, + -78, + -13, + 111, + -120, + 96, + -82, + 0, + -123, + 101, + -65, + 55, + -60, + 61, + 2, + -73, + 99, + -49, + -56, + -65, + -25, + -85, + 26, + -123, + -75, + 20, + -101, + 58, + -46, + -19, + 97, + -6, + 26, + -29, + 27, + -90, + 88, + -60, + 51, + -52, + 124, + -52, + -36, + -30, + -94, + -123, + 64, + -22, + 41, + -119, + -4, + -40, + 21, + -11, + 98, + -53, + 81, + -40, + -16, + -68, + -69, + 76, + 114, + 120, + -95, + -89, + 105, + 119, + 1, + 102, + 4, + -66, + 101, + 47, + -122, + -37, + 83, + -76, + 126, + -44, + 10, + 20, + -48, + -117, + 99, + -1, + 0, + 126, + -35, + 100, + 79, + -65, + -125, + 86, + -29, + 93, + -35, + -78, + -10, + 10, + 47, + -39, + 118, + 39, + -88, + -64, + -76, + -58, + 100, + -17, + 73, + 95, + -13, + -123, + 12, + -94, + -5, + -83, + 3, + 14, + -54, + 90, + 96, + -115, + 119, + 49, + 65, + -45, + 46, + 12, + 97, + -52, + -78, + -1, + 0, + 42, + -7, + -1, + 0, + 41, + -85, + 86, + -58, + 91, + -94, + -42, + 61, + -105, + 100, + -123, + 86, + -42, + -36, + 29, + -67, + 96, + 98, + -107, + 71, + 115, + 76, + 86, + 86, + 60, + -49, + -24, + 54, + -62, + -40, + 122, + -82, + 120, + 42, + -26, + 47, + 21, + -46, + -73, + -118, + -108, + -13, + -22, + -88, + -92, + -75, + -90, + 8, + -59, + -82, + -24, + -102, + 109, + 99, + -103, + -126, + -5, + -101, + 35, + 86, + -69, + -109, + 42, + 91, + 90, + -23, + 111, + 123, + -24, + -31, + 89, + -104, + 116, + -62, + -74, + -78, + 86, + -85, + 107, + 64, + -56, + -30, + -3, + -31, + -34, + 93, + 83, + 53, + -106, + 42, + 88, + 90, + -62, + -109, + 54, + 69, + 78, + -16, + -46, + -7, + 86, + -7, + 14, + 60, + -121, + 12, + 113, + -51, + -100, + -86, + -3, + -56, + -79, + -119, + 20, + -22, + 117, + -38, + -42, + -123, + -46, + -87, + 96, + 80, + -74, + -95, + -83, + 80, + -37, + 42, + -119, + 1, + 59, + 100, + -110, + -76, + 24, + 114, + 52, + 68, + -86, + -68, + -102, + 72, + -75, + 82, + 107, + 125, + 26, + 37, + -104, + 46, + -70, + -83, + -80, + 0, + 21, + 21, + -74, + -106, + -74, + 65, + -123, + 114, + -95, + -97, + 72, + -68, + 123, + 78, + -37, + 52, + 69, + 122, + 58, + -114, + 18, + -30, + 63, + 25, + -42, + -11, + 39, + -70, + -38, + 3, + -24, + -83, + 51, + 80, + -55, + -77, + -15, + 85, + -77, + 32, + -56, + 116, + 117, + -118, + -102, + -18, + -29, + -74, + -17, + 41, + -119, + 57, + -90, + -61, + 14, + 51, + 75, + 4, + 83, + 45, + 107, + 112, + -17, + 126, + -47, + -57, + 40, + 41, + 20, + -12, + 127, + -103, + -13, + 28, + -118, + 35, + -24, + 21, + -113, + -110, + 101, + -98, + -122, + 112, + -63, + -72, + -50, + -79, + 92, + -60, + 59, + -106, + 74, + -56, + -41, + -102, + 92, + -55, + 53, + -33, + 23, + 24, + -20, + 51, + -1, + 0, + -37, + -66, + 109, + -82, + -53, + -89, + 4, + -34, + 87, + 80, + -12, + -36, + -16, + -117, + -88, + 13, + 5, + -110, + 117, + 58, + -95, + 113, + 29, + 43, + 3, + -95, + -42, + 6, + 109, + -79, + 16, + -95, + 22, + 91, + -102, + -74, + 43, + -86, + 64, + -120, + -1, + 0, + -4, + 122, + 15, + -110, + -97, + 66, + -13, + -4, + 89, + 91, + -32, + 48, + -50, + 107, + -76, + 48, + -19, + 35, + 125, + 51, + -27, + -122, + 44, + -32, + -118, + 102, + -108, + 73, + -68, + 23, + -96, + 9, + -22, + 123, + 69, + 119, + 42, + 76, + -87, + -69, + -81, + -96, + 23, + 115, + -30, + 43, + -113, + -118, + -100, + 84, + 42, + -15, + -24, + -107, + -80, + -124, + 93, + 97, + 65, + -47, + -69, + -44, + -67, + 56, + 66, + -116, + -109, + 117, + 114, + 35, + -24, + -20, + 101, + 79, + 66, + 101, + 90, + 32, + -32, + -92, + 110, + -115, + -1, + 0, + 63, + -93, + -23, + -25, + -40, + 5, + 16, + 64, + 59, + -87, + 67, + -80, + -93, + -67, + 41, + 99, + -37, + 10, + 38, + 84, + -73, + -26, + 38, + 97, + -70, + 35, + 41, + 92, + -77, + 72, + -24, + -63, + -111, + 10, + 106, + -40, + -110, + -125, + 19, + 50, + 118, + -106, + 35, + -46, + -101, + -30, + 38, + -127, + -104, + 83, + 71, + 124, + -102, + 102, + 49, + 75, + 27, + 92, + -47, + -60, + -111, + -20, + -125, + 85, + 36, + 50, + -93, + 5, + 5, + -119, + 98, + 78, + -92, + 127, + 81, + 74, + -79, + 44, + -69, + 49, + 109, + -77, + -120, + -96, + 83, + -105, + -119, + -110, + -116, + -48, + 73, + 52, + -113, + 14, + -17, + -69, + 37, + -93, + 108, + 24, + -86, + -87, + 27, + 20, + 58, + -4, + 48, + 106, + 61, + -98, + -67, + 3, + 125, + 53, + -23, + -113, + 67, + 32, + -106, + 25, + -97, + -88, + 121, + -25, + 88, + -14, + -26, + 84, + -123, + -67, + 57, + -95, + -77, + 81, + -67, + -85, + 97, + -24, + 106, + 87, + 18, + -38, + 60, + 117, + -106, + 43, + 35, + 118, + 96, + -114, + 39, + -23, + -81, + 65, + 58, + 71, + -86, + 13, + -52, + -46, + -12, + -61, + -54, + -38, + 56, + 6, + 51, + 41, + -41, + 88, + 5, + 50, + -74, + -118, + -99, + -77, + 77, + -57, + 27, + 16, + 42, + -73, + -71, + 110, + 121, + -101, + 53, + -27, + -87, + -71, + 39, + -18, + 41, + -98, + -84, + 74, + 33, + -100, + -112, + -19, + 52, + 19, + -98, + -81, + -106, + 35, + 79, + -125, + -117, + -127, + 75, + 54, + 82, + -14, + -109, + -77, + -10, + -13, + -92, + 43, + -52, + 117, + 73, + 113, + -85, + 84, + -115, + -101, + 96, + -85, + -127, + -6, + 3, + 67, + 124, + 76, + 15, + -76, + 16, + 69, + 82, + 122, + -55, + 88, + -100, + -29, + 29, + -104, + 102, + 96, + 127, + 122, + -56, + -123, + 81, + -40, + 62, + 87, + -23, + -79, + 119, + -76, + -67, + -41, + 87, + -85, + -124, + 44, + 99, + 108, + 108, + -21, + -110, + -96, + -39, + 112, + -37, + -62, + 1, + -62, + -103, + -27, + -47, + 20, + -111, + 23, + -23, + -42, + 74, + -45, + 64, + -12, + 24, + 55, + -98, + -67, + 6, + -54, + -44, + -4, + -45, + -88, + 46, + 90, + -40, + 7, + 46, + 13, + -55, + 110, + 63, + 122, + 49, + 123, + -30, + 47, + 88, + -71, + 67, + -46, + -115, + 122, + 74, + 121, + -20, + -29, + -43, + -87, + 25, + -3, + -6, + 58, + 95, + 122, + -27, + 76, + -72, + -74, + 62, + -41, + -45, + 106, + -1, + 0, + -50, + -75, + -8, + 3, + 125, + 117, + -56, + 1, + -78, + -27, + -56, + -54, + 77, + -33, + 3, + -68, + 72, + -25, + -83, + -6, + 107, + 90, + -70, + -69, + -95, + -74, + 53, + 37, + -3, + -53, + 94, + -36, + 53, + 96, + -69, + 26, + -34, + -115, + -87, + -7, + -59, + -75, + 118, + 2, + 72, + -125, + -54, + -79, + -89, + -12, + 117, + -73, + 98, + 77, + -22, + 30, + -66, + 89, + -117, + 123, + 74, + -33, + 123, + 116, + -124, + 38, + -61, + 91, + 17, + -54, + -78, + 76, + -104, + -54, + -52, + -118, + 50, + -99, + -100, + -57, + -78, + -44, + -111, + -52, + -79, + 16, + 118, + -80, + 21, + -103, + -119, + -8, + 2, + -123, + 88, + -93, + -22, + -73, + -100, + 115, + -5, + 104, + 84, + 60, + -6, + -106, + -92, + -19, + -79, + -91, + -3, + 15, + 109, + 54, + -28, + 26, + -89, + -6, + 83, + -65, + -86, + 49, + 71, + -115, + -23, + 108, + 32, + 54, + 114, + 46, + -32, + 16, + 54, + -64, + -127, + -21, + 84, + 78, + 58, + 125, + -96, + -33, + -43, + 103, + -84, + 103, + -44, + 89, + 6, + 108, + -49, + 127, + 69, + 4, + 118, + -5, + 76, + -116, + 62, + 111, + -46, + -84, + 96, + 48, + -97, + 99, + 49, + 104, + 76, + -2, + 117, + -38, + 73, + 61, + 32, + 89, + -43, + -18, + 122, + -104, + 40, + -3, + 70, + 95, + 65, + -32, + 1, + -35, + 18, + -5, + -117, + -100, + 101, + -38, + -90, + -61, + 88, + 47, + -94, + 51, + 38, + -53, + -86, + -84, + -39, + -114, + 107, + 20, + -18, + 26, + -126, + 56, + 115, + 55, + 54, + 109, + -79, + 53, + 115, + -116, + -120, + 69, + -7, + 112, + 124, + -109, + 113, + 126, + 83, + -98, + -117, + -119, + -23, + -107, + 47, + 63, + -57, + -121, + 51, + -24, + 72, + -70, + 70, + 13, + -5, + 120, + 61, + -127, + -91, + 14, + -99, + -30, + -11, + -106, + 55, + 8, + 112, + 43, + 26, + -114, + -75, + -104, + -89, + -89, + 60, + 40, + -78, + -53, + 119, + 124, + -123, + 1, + 119, + 110, + -46, + -56, + -89, + 51, + 103, + -42, + -33, + -9, + 85, + -20, + -88, + -79, + -43, + 67, + 58, + -117, + 55, + -101, + -50, + 105, + 78, + 117, + 20, + -39, + -103, + -104, + 121, + -16, + -13, + -121, + -83, + 46, + 74, + -65, + -17, + 60, + 7, + 105, + -12, + -94, + -51, + 28, + -63, + -113, + -56, + 94, + -106, + -20, + 106, + -77, + 59, + -38, + 55, + -59, + -110, + -37, + 85, + 95, + -93, + -125, + -127, + -117, + -49, + 65, + 97, + 49, + -40, + -87, + 88, + 72, + -99, + 48, + 70, + 81, + -125, + 112, + 50, + -93, + -62, + -23, + 9, + -43, + -81, + -105, + -126, + -71, + -38, + -61, + -62, + -56, + 54, + -113, + 37, + -97, + -55, + 113, + -48, + -58, + 113, + -15, + -30, + -54, + -60, + -105, + -87, + -30, + 86, + -112, + -50, + 22, + 84, + 88, + -40, + 67, + -96, + 116, + 105, + 98, + 102, + 87, + 116, + 118, + -42, + 68, + 86, + 80, + -54, + -56, + -83, + -24, + -1, + 0, + 13, + -127, + -61, + -14, + -17, + 43, + -27, + 79, + 54, + 31, + 35, + -113, + -87, + -122, + 86, + 68, + -16, + 9, + 35, + 38, + 65, + -9, + 46, + 89, + 100, + 16, + -52, + 17, + -94, + 87, + -116, + 56, + -114, + 66, + -82, + -24, + -24, + 72, + 84, + 19, + 33, + 40, + 117, + 39, + 123, + 84, + 23, + -102, + -57, + 90, + 93, + 0, + -23, + 65, + 10, + 40, + -116, + 1, + -97, + 100, + 83, + -80, + 24, + -18, + -99, + 13, + -96, + 83, + 54, + 94, + -47, + 83, + -101, + 84, + 33, + 95, + 60, + -115, + 85, + -104, + -85, + -118, + -29, + 80, + 115, + -106, + 70, + -46, + 109, + 77, + 87, + -124, + -52, + 12, + 107, + 93, + -36, + 94, + -76, + 42, + -5, + 9, + 98, + 1, + 37, + -5, + 102, + -11, + 117, + -71, + -32, + 98, + -72, + 54, + 27, + -73, + -107, + 121, + -122, + 123, + -36, + -109, + 21, + 8, + -104, + -32, + -112, + 120, + 95, + -109, + 125, + -1, + 0, + -28, + 66, + -125, + 44, + -44, + -32, + 119, + 67, + -22, + -41, + -30, + 67, + -65, + 38, + -83, + -56, + -32, + -78, + -120, + -108, + -58, + -78, + -53, + 52, + 40, + 26, + 21, + 109, + 61, + 100, + 72, + -5, + 50, + -83, + -79, + 21, + 56, + -68, + 22, + -53, + -89, + 105, + -97, + -5, + 96, + 86, + 50, + 20, + -43, + -64, + 84, + 94, + 82, + -66, + -127, + 99, + -7, + 40, + -111, + 70, + 37, + -91, + 88, + -96, + 67, + -118, + -116, + 125, + -119, + -83, + 91, + -96, + -84, + -43, + 25, + 46, + -47, + -83, + 51, + 25, + -91, + 13, + -117, + 13, + 124, + 117, + -49, + -38, + 44, + 50, + 59, + -113, + -70, + -50, + -4, + 77, + -58, + 123, + -41, + -18, + 125, + -89, + 41, + 63, + -90, + -99, + -43, + -106, + -39, + -66, + -35, + 50, + 116, + 108, + -3, + -56, + 77, + 97, + 40, + 3, + -121, + -50, + 11, + 3, + 26, + 96, + 93, + 121, + 71, + 94, + -84, + 82, + 46, + -1, + 0, + 17, + 7, + 2, + -25, + -81, + 26, + -128, + -66, + -17, + -101, + -4, + 17, + 67, + -82, + -123, + -110, + 8, + -3, + -1, + 0, + 63, + -17, + -47, + -84, + 99, + 82, + -80, + 44, + 2, + -80, + 0, + -98, + -55, + 20, + -57, + -79, + 125, + 30, + -65, + -28, + -4, + -97, + -114, + -113, + -82, + -3, + 40, + -74, + 121, + 111, + -56, + -83, + 73, + 54, + -19, + -49, + 41, + 118, + 6, + -36, + -3, + -91, + 56, + -47, + 91, + -89, + 68, + -117, + -7, + -126, + 100, + -93, + 86, + 67, + -110, + 76, + -112, + -126, + -4, + 38, + -44, + 83, + -75, + 43, + 27, + 91, + -74, + -62, + -61, + -104, + 85, + 48, + 98, + -111, + 39, + 45, + -91, + -7, + -89, + -71, + -50, + 2, + 121, + 82, + -75, + 27, + 9, + -5, + 82, + 110, + -86, + -24, + -53, + -69, + 76, + 26, + 1, + 21, + 40, + -87, + 30, + -18, + 100, + -117, + -46, + 104, + 8, + -77, + 60, + -92, + 8, + -92, + -27, + -24, + 79, + 37, + -36, + 95, + 62, + -63, + -43, + 6, + 69, + -1, + 0, + -12, + -76, + 33, + 21, + -125, + 104, + 54, + 110, + 36, + -116, + -18, + -99, + -128, + 13, + -44, + 17, + -19, + -39, + -102, + 16, + -19, + 44, + -124, + 108, + 1, + 125, + 42, + -125, + 121, + -121, + -52, + 30, + 39, + -35, + -86, + 24, + -55, + -103, + -62, + -70, + -83, + -65, + -30, + -84, + 55, + -107, + 29, + 51, + 48, + 110, + -108, + 53, + -111, + 69, + 8, + -11, + 90, + 109, + 49, + 16, + 28, + 63, + 9, + 24, + -67, + 75, + 2, + -77, + -120, + 9, + -8, + -31, + -4, + 9, + 127, + -81, + 58, + -27, + 111, + -124, + -10, + 62, + -82, + -66, + -18, + 117, + 25, + -101, + -12, + -66, + 47, + -87, + -80, + -4, + -46, + -78, + -29, + 25, + 77, + -31, + -106, + -17, + 49, + -19, + -94, + -21, + -97, + -49, + 87, + 16, + -50, + -18, + 93, + -70, + -69, + 36, + -43, + 37, + -88, + 41, + -81, + -97, + -54, + 12, + -101, + -28, + 125, + -63, + -6, + 57, + 69, + -56, + -19, + -115, + 75, + -65, + -96, + -94, + -36, + -47, + 8, + 43, + -80, + 13, + 19, + 16, + 37, + -60, + 18, + -81, + 25, + -62, + 39, + 37, + -121, + 39, + 41, + -64, + -28, + 99, + 7, + -5, + 96, + 50, + 50, + -106, + 114, + -85, + -18, + -111, + 34, + -106, + 104, + -11, + 44, + 87, + -35, + 117, + 9, + -14, + 50, + 53, + -58, + -126, + -125, + 6, + 7, + -45, + 75, + -21, + 15, + 45, + 16, + 18, + -105, + 71, + -125, + 25, + -61, + 31, + -127, + 27, + -29, + -58, + -60, + 11, + -80, + -127, + 95, + 118, + 0, + 3, + -77, + -106, + -39, + 84, + -40, + 29, + 42, + 100, + 34, + -63, + -65, + -2, + -28, + 123, + -66, + -99, + 91, + 122, + -60, + 112, + 35, + 47, + 120, + 31, + 63, + 11, + 7, + 97, + 75, + 21, + -95, + 98, + -2, + -127, + -82, + -48, + -110, + -9, + 51, + 3, + 15, + 6, + 16, + 117, + 34, + -56, + -83, + 42, + 15, + 25, + -33, + -97, + 64, + 123, + 28, + -122, + 64, + -29, + -89, + 64, + 94, + 20, + -90, + -37, + -122, + -54, + -121, + -48, + -77, + 60, + -121, + 64, + 57, + -94, + 26, + 53, + -10, + 80, + -98, + -39, + -14, + -10, + -71, + -103, + -109, + -53, + 6, + 86, + 102, + -41, + 100, + 98, + -54, + 54, + 15, + 85, + 86, + 74, + -45, + -54, + 23, + 5, + -92, + 47, + -77, + 45, + -18, + 121, + -18, + 89, + -104, + 32, + 35, + -109, + -50, + -12, + -115, + -94, + -94, + 46, + -98, + 95, + 124, + 105, + 67, + -21, + 77, + -44, + -109, + -79, + 79, + 56, + -75, + -25, + 68, + -110, + 28, + 25, + -76, + -116, + -12, + -82, + -122, + 120, + -126, + 100, + 97, + 7, + 10, + -83, + -23, + -92, + -51, + 68, + -90, + 86, + 41, + -119, + -88, + 86, + -117, + -92, + -26, + -66, + 104, + 17, + -59, + 29, + -58, + -90, + 60, + -113, + -97, + -32, + -102, + -2, + -113, + -111, + -46, + 65, + 47, + 13, + -104, + -50, + 100, + 11, + -25, + -22, + -25, + -45, + -116, + 99, + -110, + -63, + 119, + -64, + 34, + 40, + -21, + -125, + -22, + 127, + 118, + -54, + -13, + 52, + 33, + -44, + -77, + -83, + -115, + -101, + 123, + -35, + 45, + -7, + 33, + 84, + 93, + -83, + -67, + -116, + -36, + -9, + 106, + 104, + -109, + 87, + -59, + 101, + 48, + 96, + -30, + -22, + -7, + -68, + -67, + -88, + 123, + -79, + -27, + 124, + 76, + -113, + -96, + 60, + -23, + -102, + 107, + 26, + -74, + -112, + -16, + -58, + -62, + 39, + 78, + -46, + -13, + 29, + -105, + -18, + 77, + 86, + -26, + -110, + 28, + 57, + -94, + 20, + 32, + -96, + -16, + -55, + -90, + -59, + 104, + -121, + 17, + -56, + 114, + -14, + 96, + 112, + -111, + 56, + -114, + 1, + 20, + -77, + 62, + 97, + -122, + 27, + -110, + 85, + 89, + -13, + 68, + 49, + -79, + 17, + -70, + 99, + 66, + 33, + 76, + 51, + 20, + -123, + -98, + 121, + 75, + 20, + 69, + -58, + -44, + -72, + 71, + -26, + -8, + 108, + 81, + -53, + -26, + 56, + 73, + -53, + 72, + 33, + -117, + 16, + 74, + -6, + -61, + 26, + 67, + 12, + 49, + -69, + 32, + 13, + -76, + -52, + -46, + -76, + -110, + 50, + -79, + 72, + -48, + -117, + 111, + 38, + -12, + 3, + -49, + -58, + 122, + 75, + 71, + 85, + 39, + -105, + -20, + 59, + 81, + 61, + 86, + -126, + 82, + 97, + -112, + -109, + 91, + 22, + -87, + 111, + 48, + 41, + -87, + 47, + -23, + 122, + 97, + -96, + 16, + 122, + -37, + 65, + 99, + -49, + -110, + -76, + 61, + 25, + -99, + -38, + -92, + -83, + 9, + -7, + 93, + -14, + 22, + 38, + 23, + -93, + 33, + 24, + 56, + -2, + 102, + -112, + 98, + 58, + -101, + 1, + -90, + -127, + 71, + -87, + 66, + 125, + -71, + -124, + -23, + -58, + 61, + 75, + -91, + -7, + -3, + -105, + 83, + 60, + 52, + -88, + 86, + 39, + -107, + -113, + 56, + -12, + -29, + -45, + 91, + -42, + 68, + 5, + 55, + 50, + 112, + 4, + -17, + 47, + -35, + -11, + -2, + 84, + -78, + 124, + 47, + 57, + 58, + -114, + 90, + -119, + 46, + -122, + 30, + 0, + 75, + 55, + 26, + 54, + -82, + -70, + 107, + -102, + -31, + 85, + -21, + -44, + 43, + -105, + -27, + -35, + 93, + 7, + 122, + 7, + 97, + 115, + 20, + 76, + 64, + 124, + 15, + -93, + -10, + -49, + -34, + 115, + 14, + -122, + -58, + 91, + 63, + 114, + -24, + 49, + 13, + 43, + -90, + 82, + 121, + -80, + -124, + -114, + -111, + -50, + -23, + -121, + 92, + 20, + -11, + 4, + -58, + -55, + 59, + -31, + -15, + -41, + 35, + -48, + 1, + -51, + 38, + 118, + 39, + 66, + -48, + -112, + -69, + 94, + 124, + 88, + -68, + -13, + -82, + 0, + -12, + -121, + -101, + 25, + -49, + -84, + 86, + -11, + 59, + 79, + 50, + 53, + -88, + -90, + 79, + -25, + -110, + -86, + -70, + -116, + -63, + -55, + -119, + 88, + -69, + 76, + -30, + -71, + -85, + -5, + -65, + -99, + -15, + -30, + 121, + -52, + 78, + -13, + -75, + -68, + 81, + 56, + -126, + -109, + -88, + -45, + 66, + 23, + -107, + 86, + 103, + 75, + 18, + -62, + -84, + -5, + -106, + 112, + -103, + 103, + 80, + 111, + -29, + -92, + -109, + 35, + -114, + -114, + 65, + 18, + -111, + -29, + -90, + -80, + -56, + -23, + 36, + 96, + 6, + 36, + 49, + 14, + 119, + -7, + 63, + -36, + 65, + -70, + 55, + 126, + -93, + -53, + -116, + 98, + -26, + -24, + -46, + -80, + 96, + -56, + 75, + 123, + 93, + 26, + 57, + 21, + 74, + 40, + 100, + -76, + 1, + 13, + -83, + 118, + 20, + -83, + 10, + -95, + -23, + 126, + 99, + -13, + -64, + -107, + 57, + -115, + -69, + -20, + 56, + -31, + 127, + 76, + 1, + 114, + 59, + 17, + 97, + -6, + -42, + 122, + -109, + -79, + 32, + 104, + 25, + -39, + -93, + -11, + 109, + 93, + -121, + 6, + 96, + 73, + -56, + -12, + 109, + 116, + 93, + 84, + -112, + -63, + 5, + -58, + 117, + 52, + 56, + -78, + 86, + -58, + -26, + 85, + -69, + -8, + -115, + 104, + -75, + 120, + 62, + -83, + -83, + 4, + -49, + -45, + 78, + -59, + -115, + -74, + -72, + -52, + 25, + 87, + 19, + -51, + 97, + 59, + -12, + -52, + 45, + 110, + -68, + -91, + 61, + 111, + 58, + 126, + -102, + -46, + 71, + -123, + 23, + 66, + -39, + 91, + -5, + -83, + 62, + 45, + 104, + -17, + -71, + -58, + 111, + -36, + 90, + 112, + 83, + 100, + 28, + -60, + 45, + 54, + 27, + -111, + -58, + -50, + -116, + -99, + 90, + -79, + 11, + -73, + 115, + 22, + -37, + 115, + 103, + -24, + 108, + -103, + -103, + -59, + -127, + -58, + -99, + 35, + -124, + -86, + -107, + 73, + 18, + 101, + 101, + -23, + 118, + 5, + 64, + -95, + 70, + -64, + 3, + -81, + -14, + 67, + 122, + 34, + -72, + -104, + 74, + 43, + 37, + 25, + -26, + 12, + -63, + -103, + 36, + -120, + -85, + 0, + -64, + 3, + 123, + -10, + 104, + 119, + -7, + -69, + 4, + 88, + -94, + 122, + 5, + -92, + -6, + 79, + 25, + -15, + -115, + -57, + 83, + 27, + -74, + 74, + -70, + -17, + 95, + -58, + 79, + 27, + 40, + -39, + 12, + 36, + 110, + 69, + -75, + 109, + 33, + 67, + 45, + -60, + -124, + 108, + -32, + 115, + 5, + -35, + -115, + 87, + -45, + 88, + -61, + -86, + -7, + 18, + -120, + 77, + 8, + -4, + -3, + -128, + 124, + 31, + 56, + 0, + -32, + -50, + -13, + -11, + 10, + -125, + 106, + -42, + 109, + 97, + -19, + 82, + -123, + 114, + 105, + 116, + 94, + 124, + -62, + 63, + 28, + -81, + -2, + 5, + -37, + 97, + 109, + 75, + 20, + -44, + -13, + 62, + -34, + 115, + -10, + 120, + -100, + -122, + -3, + 101, + -89, + -23, + 42, + -65, + 90, + 102, + 58, + -58, + -9, + 67, + 50, + -123, + 66, + -120, + 20, + -77, + 63, + -59, + 40, + 64, + 100, + -83, + 39, + -93, + 100, + -112, + 72, + -30, + 63, + -57, + 92, + -126, + -23, + 123, + 32, + -37, + 52, + -47, + -125, + -4, + 20, + 44, + -50, + -61, + -15, + -128, + -79, + 118, + 127, + 12, + 41, + -26, + -72, + -111, + -9, + 75, + 73, + 85, + -15, + -76, + -91, + 58, + -87, + 57, + -34, + 122, + 46, + -82, + 115, + -95, + 87, + -54, + 52, + 86, + 38, + 77, + -21, + 82, + 96, + -92, + 122, + -67, + -100, + -13, + 60, + 99, + 8, + 64, + -70, + -19, + -119, + 19, + 53, + 58, + 57, + -102, + -62, + 53, + -57, + -91, + 58, + -37, + -49, + 79, + 17, + 83, + 81, + -51, + -25, + 48, + -88, + -35, + 29, + 29, + 6, + -104, + 12, + -115, + 33, + -12, + -128, + -106, + 53, + 1, + -94, + -114, + 63, + 28, + 108, + 13, + -79, + -75, + 81, + 56, + -34, + -65, + 97, + 3, + 70, + 30, + -101, + -119, + 92, + 3, + -98, + -66, + -84, + 44, + 56, + -27, + 36, + 36, + -1, + 0, + 82, + 25, + 116, + 94, + -128, + -93, + 105, + 127, + 72, + 6, + -62, + 103, + -111, + -54, + -72, + 48, + -47, + 9, + 26, + -60, + -56, + -64, + -5, + -85, + 117, + 42, + 69, + -102, + 63, + 31, + -98, + -67, + -70, + -48, + -82, + -3, + 8, + -29, + 113, + -126, + -28, + 102, + -68, + -120, + 44, + -52, + -82, + -116, + -95, + 83, + 99, + 25, + 14, + 46, + -127, + -67, + 73, + -20, + 18, + 78, + -37, + 118, + 15, + -61, + 90, + -24, + -6, + 111, + 60, + -12, + -122, + 118, + -95, + -15, + -45, + -46, + 30, + 84, + -77, + -106, + -7, + 109, + 68, + -38, + 15, + -33, + -92, + 51, + 126, + -124, + 48, + -18, + -6, + 87, + -84, + -75, + 66, + -62, + -97, + -21, + 17, + 3, + 121, + -13, + 38, + 89, + -89, + -2, + 123, + 115, + 51, + -14, + -37, + 38, + -38, + -17, + 3, + 41, + -108, + -111, + 57, + 127, + 42, + 90, + 73, + 77, + 83, + -91, + 73, + 5, + -76, + -78, + 57, + 38, + 32, + 96, + 102, + 29, + -25, + -67, + 107, + 52, + 75, + 113, + -7, + -72, + 47, + -76, + 17, + -35, + -4, + -52, + -83, + -72, + 56, + 101, + -71, + -120, + 21, + 76, + -99, + -120, + -46, + 50, + -66, + -79, + -85, + 122, + 11, + 1, + -51, + -32, + 72, + 44, + -43, + -116, + -6, + 0, + 0, + 97, + 92, + 44, + -22, + -32, + 50, + -48, + 101, + -12, + -9, + 64, + 104, + 66, + 114, + -35, + 70, + 45, + 116, + -42, + 60, + 107, + -39, + -2, + 86, + -25, + 11, + -71, + -11, + -122, + 45, + 75, + 98, + 89, + 100, + 110, + 110, + 84, + -3, + -68, + -80, + 28, + 112, + -24, + -66, + 36, + 118, + 44, + -83, + 63, + -38, + 57, + 58, + -86, + -33, + -111, + -55, + 53, + -21, + 101, + -50, + 40, + 54, + -31, + 97, + -10, + -114, + 31, + 77, + -22, + 91, + 46, + 21, + -3, + -33, + 23, + -69, + -12, + 78, + 64, + -41, + -71, + 104, + 113, + 4, + -47, + -18, + -26, + -93, + -21, + -73, + 117, + -78, + -94, + -90, + -110, + -102, + -3, + 38, + -7, + 38, + -50, + -5, + -65, + 108, + -1, + 0, + 117, + 36, + -128, + -21, + 90, + 75, + 30, + 107, + -123, + -95, + 49, + -78, + 68, + -80, + 39, + 54, + -93, + -15, + 117, + 21, + -73, + 40, + 8, + 111, + 31, + -79, + -95, + 84, + -73, + -24, + -118, + 107, + 122, + 61, + -60, + -15, + -51, + 10, + 84, + 13, + 55, + -84, + -36, + 116, + 3, + -81, + 106, + 123, + 44, + -59, + 32, + -30, + -32, + 73, + -26, + -103, + -68, + 59, + -104, + -32, + 117, + 82, + 8, + 52, + -46, + 8, + -87, + -24, + 106, + -63, + -82, + 50, + 64, + 63, + 0, + -83, + 108, + 122, + 18, + 114, + -103, + 50, + 65, + 6, + 48, + -5, + -111, + 26, + -53, + -107, + 11, + 56, + 40, + 65, + 101, + -120, + -54, + -58, + 48, + -35, + -126, + -83, + -26, + -94, + -41, + 100, + -118, + 32, + 10, + -76, + 11, + -49, + 62, + 56, + 40, + -125, + -24, + -11, + -4, + -31, + -101, + -53, + -2, + 77, + 127, + -44, + 110, + -29, + 105, + -51, + 96, + -63, + 110, + 40, + -88, + -73, + 115, + 98, + -76, + -55, + -24, + 6, + 74, + -22, + 100, + -40, + 15, + 42, + -127, + 41, + -113, + 107, + 109, + 13, + -125, + -20, + 15, + -85, + -101, + -21, + 103, + 85, + -77, + -47, + -90, + 114, + 119, + -86, + 77, + 75, + 108, + -39, + -83, + 100, + -36, + -96, + 123, + 29, + -79, + 108, + -103, + -35, + -74, + -73, + -121, + 5, + -12, + 59, + -70, + -26, + -107, + -24, + -36, + 29, + 7, + -83, + -57, + 42, + -62, + 86, + 61, + -83, + -82, + 101, + -7, + -12, + 61, + 66, + -80, + -120, + -117, + -10, + -116, + 89, + -49, + -103, + 117, + -76, + -37, + 62, + 103, + -75, + -108, + -115, + -48, + -59, + -24, + 62, + 118, + 1, + 107, + 72, + -47, + 53, + 125, + 87, + -56, + -48, + 60, + -27, + 103, + 29, + -55, + -38, + -74, + 41, + -81, + 13, + -86, + -36, + 59, + -45, + -122, + -24, + 39, + -23, + 43, + 27, + 108, + -5, + 5, + 55, + 121, + 55, + -113, + 43, + 104, + -126, + -3, + 12, + 60, + -37, + 46, + -41, + 118, + -115, + 5, + -54, + 26, + -117, + -16, + -126, + -105, + -21, + -35, + -8, + -68, + 83, + 69, + 80, + -47, + -69, + -77, + -110, + 16, + 91, + -55, + 104, + 59, + 78, + 71, + -45, + -103, + -56, + -48, + 96, + -2, + 22, + 85, + 123, + -71, + 119, + -124, + -69, + 99, + -85, + 105, + 117, + -5, + -86, + -8, + 69, + -22, + 58, + 72, + -4, + 63, + 117, + -49, + -10, + -52, + -34, + -37, + 86, + 109, + -86, + 86, + 98, + 102, + -67, + -88, + -79, + -105, + 98, + 87, + -54, + 113, + -84, + 109, + -110, + -61, + 97, + 95, + 48, + -30, + 88, + 120, + 116, + -97, + 65, + -73, + 121, + 53, + 96, + 122, + 17, + 32, + -87, + -116, + -101, + -127, + 53, + 116, + -102, + 110, + 55, + -77, + -16, + -72, + 27, + 79, + -95, + 77, + 113, + -103, + 68, + -30, + 100, + -55, + -112, + -47, + -84, + -116, + 68, + 67, + 80, + 127, + 73, + 68, + 1, + 92, + -106, + 6, + -35, + 80, + -20, + 21, + 109, + 75, + 54, + -42, + 31, + 96, + 11, + -104, + -57, + 99, + -99, + -120, + -72, + -58, + 86, + 69, + -116, + 72, + -37, + 26, + 13, + -29, + 113, + 51, + 56, + -85, + 1, + 16, + -74, + -96, + -101, + 102, + -75, + -42, + -126, + -41, + -96, + -114, + 125, + -107, + -123, + -37, + 114, + -33, + 34, + -69, + -26, + -36, + 122, + -113, + 38, + -12, + -82, + -123, + -88, + -98, + 93, + -104, + 20, + -2, + -40, + -9, + 84, + 115, + 104, + 40, + -8, + -123, + 45, + -38, + 125, + 45, + 25, + -1, + 0, + 94, + 40, + -25, + -98, + 101, + 98, + 94, + -38, + 29, + -59, + 60, + 46, + 112, + -65, + -107, + -107, + 13, + 40, + -54, + 90, + 121, + -106, + -106, + 67, + 60, + -109, + -40, + 106, + 85, + -87, + 10, + 66, + -54, + -68, + -77, + -88, + 91, + -35, + -23, + -30, + -44, + 6, + -5, + 28, + 55, + -99, + 124, + 102, + 83, + -47, + -95, + -106, + 125, + 89, + -80, + -79, + 122, + -69, + -108, + -34, + -87, + 121, + 72, + 58, + 94, + 53, + 65, + -29, + 35, + 126, + 99, + 123, + -50, + 44, + -6, + 33, + 69, + -10, + -61, + 61, + 1, + 2, + 57, + -92, + 109, + 7, + 15, + 77, + -119, + -31, + 19, + -15, + 53, + 89, + 44, + -25, + 118, + -105, + 100, + -103, + -101, + 6, + -40, + -38, + -69, + -115, + 93, + -53, + 117, + -43, + 35, + -104, + -3, + -23, + 52, + 79, + 79, + 61, + -81, + -74, + -128, + -59, + 105, + -45, + 8, + 80, + 91, + -110, + -114, + -103, + -23, + -69, + -34, + 65, + 58, + 75, + -122, + -63, + -61, + -97, + -110, + -51, + -55, + -14, + -112, + 33, + -98, + -122, + 44, + -89, + -99, + -96, + -40, + 39, + 30, + -84, + 69, + 124, + 93, + -16, + -4, + -106, + 68, + 95, + -44, + 77, + 59, + -30, + 13, + -70, + 46, + -109, + -104, + 109, + -110, + 99, + 45, + -119, + 30, + 82, + -45, + -95, + 54, + -52, + 20, + 17, + 85, + -125, + -6, + -118, + -66, + 31, + -24, + -115, + 11, + -61, + -39, + 88, + 67, + 82, + 50, + -113, + 117, + 119, + -17, + -19, + -85, + 94, + 121, + -102, + 37, + 85, + 114, + -127, + 52, + -35, + 10, + 55, + -51, + 104, + -112, + -59, + -44, + -20, + 124, + -118, + -104, + -99, + 107, + -51, + -45, + -58, + -21, + 38, + 60, + 27, + 88, + 0, + 70, + 29, + -40, + -105, + 85, + 2, + 56, + -40, + -82, + -57, + -75, + 26, + -77, + 70, + 14, + -83, + -87, + 93, + -127, + 112, + -75, + -22, + -68, + -47, + -28, + 65, + 46, + 122, + 44, + -127, + 100, + -106, + 73, + -33, + 25, + 80, + -24, + -57, + -53, + 60, + -127, + 11, + 15, + -125, + 90, + 35, + -48, + -7, + 12, + -54, + 53, + 36, + -128, + -31, + 101, + 56, + 20, + 95, + -73, + -70, + -35, + -35, + 127, + -49, + 33, + 114, + 109, + 68, + 62, + -116, + 32, + -72, + -77, + 67, + -13, + 113, + 67, + 90, + -40, + -10, + 12, + -82, + 103, + -69, + -102, + 18, + 63, + 105, + -56, + -8, + -116, + 57, + 24, + -85, + -102, + -76, + -47, + 61, + -107, + -127, + 77, + 79, + 88, + -12, + 3, + -119, + 82, + -112, + -29, + -106, + 18, + -79, + 17, + -32, + 127, + 52, + 55, + -84, + 97, + 116, + 29, + -105, + 26, + -35, + -22, + -3, + -51, + -44, + -25, + -123, + -11, + 29, + -57, + -55, + 96, + -57, + 97, + -120, + 27, + 86, + 98, + -117, + -27, + 31, + 57, + -20, + 2, + -63, + -76, + -96, + -22, + 58, + 4, + 65, + 109, + -23, + 11, + -87, + -60, + -36, + 52, + -34, + -78, + 60, + -7, + 12, + -86, + -106, + -86, + 31, + -49, + 49, + -77, + 41, + 43, + 7, + 79, + 125, + 40, + 59, + -50, + 5, + -41, + 96, + -67, + -100, + 92, + 108, + 126, + 63, + -29, + 110, + -96, + 63, + 50, + -36, + -88, + -107, + -86, + -37, + 89, + -51, + 18, + -108, + -83, + 116, + -54, + 57, + 41, + -85, + -97, + 17, + -26, + 70, + 61, + 86, + -123, + 68, + 108, + 105, + 68, + -10, + -113, + -81, + 48, + 96, + 44, + 55, + 82, + 29, + 31, + -59, + -121, + 94, + -57, + 55, + 96, + 5, + 77, + -30, + -19, + 50, + -72, + -67, + 27, + -88, + -89, + 115, + 103, + -13, + -63, + -11, + -89, + 82, + -12, + 115, + 6, + 1, + -77, + 106, + -58, + -99, + -14, + -85, + 118, + -4, + -21, + -80, + -23, + -14, + 101, + 90, + -96, + 85, + -54, + -85, + -121, + 5, + 50, + -128, + 96, + -5, + -80, + 41, + -106, + 106, + -80, + -2, + -50, + -85, + -117, + -127, + 76, + -43, + -16, + -105, + -116, + -64, + -100, + 26, + 34, + 89, + -19, + 83, + -46, + 18, + -114, + 70, + -40, + -84, + 74, + -115, + 97, + -49, + -49, + 86, + -80, + 115, + 41, + 71, + 14, + 46, + 34, + -64, + -56, + 101, + 4, + -21, + -69, + 2, + 65, + 33, + 88, + 42, + -7, + 3, + 13, + -128, + 52, + 36, + 2, + 50, + 85, + -118, + -91, + -74, + -93, + -76, + 88, + -58, + -25, + -78, + -14, + -78, + 8, + -126, + 27, + -55, + 87, + 40, + 21, + -86, + 53, + 127, + 28, + -108, + 84, + -122, + 6, + -55, + -10, + -112, + -53, + -41, + 118, + 1, + -24, + -98, + 14, + -10, + 108, + -90, + 92, + -91, + -103, + -13, + 35, + 53, + -8, + 63, + -106, + -13, + -73, + 38, + -43, + 38, + 50, + -118, + -73, + 71, + 59, + -121, + -68, + 109, + 101, + -126, + -22, + -83, + -66, + -64, + 16, + -5, + 74, + -91, + -50, + 71, + 125, + -87, + 83, + -78, + -86, + -94, + -40, + -59, + 1, + 101, + -80, + 54, + 62, + 110, + -97, + -22, + -111, + 8, + -57, + 65, + 25, + 95, + -48, + 13, + 76, + 77, + 6, + -105, + 107, + -72, + -106, + 90, + -95, + 86, + -90, + 91, + -104, + 11, + 40, + 109, + 68, + 116, + -96, + -50, + -41, + 14, + -82, + -87, + 93, + 84, + -111, + -54, + -96, + -84, + -43, + 81, + -22, + -115, + 56, + -50, + 78, + 97, + -126, + -50, + 127, + 65, + 116, + 84, + 31, + 63, + 56, + 77, + 84, + 36, + 75, + 84, + -44, + -23, + -119, + 17, + 59, + -10, + 40, + -44, + -42, + -35, + 71, + 88, + 53, + -99, + 74, + -99, + -48, + -106, + -3, + 119, + 66, + -46, + 1, + 11, + -52, + -83, + 88, + -17, + 37, + 83, + -125, + 81, + -44, + -56, + -76, + 74, + -128, + -74, + 80, + -82, + 111, + -110, + -33, + -65, + 101, + 71, + -29, + -88, + -22, + 69, + -86, + -35, + 80, + 11, + 13, + 46, + 76, + -128, + -99, + 116, + 108, + 121, + -80, + -27, + 11, + -77, + -92, + -117, + 36, + -117, + 115, + 0, + 37, + -49, + -126, + -70, + -29, + -32, + 102, + -118, + 84, + -23, + -76, + -126, + -70, + 35, + -31, + 8, + 65, + 93, + -85, + 98, + -61, + 61, + 91, + 4, + 126, + -61, + 23, + -54, + 81, + -43, + -102, + -49, + -58, + 15, + -29, + 22, + 43, + -48, + -102, + 92, + -33, + -25, + -1, + 0, + -50, + 62, + -120, + -6, + -46, + -35, + -49, + -89, + -10, + -105, + 85, + 32, + -124, + -107, + -128, + 53, + 123, + 37, + -127, + -19, + 36, + -33, + 96, + 6, + 23, + -8, + -22, + -115, + 15, + 90, + -2, + 43, + 6, + 17, + 52, + -128, + -85, + 75, + -114, + -116, + 106, + -120, + -114, + 82, + -86, + 78, + -62, + -120, + 33, + 125, + -56, + 87, + -86, + 4, + 27, + 7, + -44, + -56, + 11, + -82, + -111, + -84, + 44, + 43, + -26, + 2, + -40, + 104, + 89, + -82, + 8, + -90, + -122, + -64, + 0, + 65, + -37, + -25, + 35, + -127, + 114, + -91, + 36, + 21, + -62, + 44, + -60, + -43, + -88, + 28, + 62, + 68, + 24, + 27, + -116, + -64, + 80, + 42, + 86, + -65, + -54, + 48, + -80, + -83, + 103, + 32, + 94, + -32, + 89, + 114, + 101, + -127, + 71, + 24, + -95, + -17, + -25, + -106, + 86, + -76, + -94, + -83, + 122, + 117, + 113, + -11, + 115, + 118, + 21, + -55, + -4, + -79, + -24, + 33, + 90, + -125, + 67, + 100, + 72, + -21, + 106, + -8, + -56, + -113, + 84, + 46, + -106, + -13, + -76, + -102, + -19, + -126, + 20, + -106, + 31, + -86, + 37, + -92, + 36, + 50, + -70, + -62, + -33, + 90, + -78, + -39, + 60, + -12, + -124, + -96, + 38, + 97, + 0, + -78, + 90, + -104, + -26, + -110, + 2, + -101, + 119, + 31, + -74, + 86, + 40, + -83, + -76, + -38, + -38, + -4, + -9, + 103, + 36, + -75, + 121, + -49, + 87, + 29, + -25, + 114, + 119, + -12, + -21, + -92, + 7, + -122, + 104, + 70, + -59, + -63, + 122, + -49, + 26, + -7, + -69, + -62, + -97, + 80, + -27, + 26, + -106, + -115, + 70, + -18, + -104, + -49, + 81, + 82, + 69, + -100, + -19, + -38, + 29, + -125, + 67, + 55, + -11, + 20, + 24, + 68, + 125, + 0, + 118, + -102, + 73, + 100, + 38, + -33, + -61, + -102, + 3, + -118, + 15, + -96, + 87, + 23, + 19, + -117, + -10, + 44, + -117, + 8, + -73, + 4, + 2, + 17, + 18, + -7, + -87, + 26, + 70, + 119, + -53, + -49, + -102, + 88, + -8, + 71, + -5, + 66, + -58, + 66, + 75, + 47, + 41, + -75, + -118, + -69, + 64, + 17, + 50, + 12, + -39, + 3, + 47, + 103, + -62, + -23, + 74, + -28, + 8, + 38, + -96, + -124, + 88, + -43, + 88, + 21, + 12, + 125, + 94, + -52, + -107, + 29, + 51, + 96, + 68, + 0, + -94, + -85, + -123, + 80, + 87, + 127, + 34, + 6, + 103, + 109, + 108, + 18, + 105, + -123, + -47, + 54, + -74, + 127, + 127, + 76, + 56, + 80, + 60, + 67, + 27, + 33, + -28, + 102, + 99, + 113, + -77, + 59, + -20, + 19, + 71, + 34, + 52, + 93, + -120, + -43, + 106, + -113, + -51, + 89, + -24, + -112, + 40, + 116, + -89, + -113, + -7, + 87, + 114, + -33, + -19, + 107, + -83, + 122, + 31, + -90, + -84, + -94, + -95, + 109, + -102, + 114, + -47, + -84, + -13, + 84, + -50, + 23, + -48, + -1, + 0, + -29, + -24, + 6, + -30, + -53, + 23, + -77, + -127, + 58, + -9, + 115, + -110, + 106, + 14, + 62, + 6, + 110, + 22, + 111, + 99, + -113, + -31, + -57, + 38, + 55, + -82, + -46, + 40, + -9, + -109, + -121, + 40, + -124, + -95, + 91, + 78, + -53, + -109, + 90, + 89, + -96, + -6, + 15, + -103, + -4, + -86, + -35, + 98, + -46, + 67, + -58, + -60, + -9, + -76, + 22, + 89, + 75, + -49, + 53, + -116, + -65, + 11, + 100, + 40, + 70, + -125, + -120, + 97, + -103, + 108, + -84, + -7, + 109, + -19, + -91, + 87, + 18, + -55, + 4, + 98, + -83, + -119, + -101, + 38, + 120, + -67, + 113, + -11, + -126, + -87, + -13, + -66, + 127, + -13, + -18, + 91, + -88, + -69, + 74, + 20, + -127, + -58, + 58, + 40, + -56, + -20, + 110, + 45, + -51, + -9, + -115, + 51, + -67, + 101, + 111, + -56, + 105, + 58, + -110, + 70, + 96, + 41, + 77, + 114, + -58, + 53, + -87, + -97, + 122, + 92, + 36, + -83, + -108, + -43, + -43, + -78, + -54, + -6, + 77, + 48, + 62, + -120, + 120, + 24, + 77, + 67, + 36, + 19, + -100, + 60, + 125, + -2, + 16, + 109, + 8, + -34, + 94, + -68, + -124, + -96, + 21, + 50, + -48, + -21, + -73, + -44, + 116, + -95, + 89, + -126, + 66, + -8, + -28, + -100, + -53, + -83, + -90, + -71, + 75, + -54, + -66, + -80, + -50, + -108, + 115, + 93, + 33, + -42, + 49, + -70, + -29, + 58, + 25, + 123, + 121, + 13, + -41, + 28, + -78, + -51, + 70, + -98, + -18, + 107, + 70, + -18, + 89, + -24, + 56, + -105, + 16, + 2, + -11, + 67, + 57, + 5, + -111, + 36, + 40, + -26, + 75, + -38, + 43, + 96, + 82, + 73, + -43, + -79, + 20, + 4, + 108, + -59, + 79, + -22, + 10, + -58, + 100, + 101, + -97, + 61, + -94, + -51, + 6, + 63, + 9, + -115, + -121, + -58, + 0, + -23, + 28, + -29, + 22, + 33, + -68, + -81, + 84, + 92, + -60, + 94, + 51, + 103, + -28, + -65, + -115, + 117, + 47, + -5, + 54, + -124, + 63, + -84, + -9, + 47, + -111, + -26, + 103, + -27, + 57, + 57, + 101, + 98, + -8, + -23, + -107, + 60, + 74, + -111, + 70, + -128, + 42, + -39, + 69, + -112, + 16, + -96, + -34, + -94, + -53, + 17, + -33, + 106, + 30, + -128, + -86, + -46, + -44, + -68, + -54, + 34, + -91, + -36, + 121, + 29, + 83, + -49, + 34, + -98, + -47, + 118, + -49, + 55, + -98, + -63, + 50, + -70, + 58, + 78, + -115, + 127, + 75, + 33, + -42, + 123, + -111, + 89, + -47, + -74, + 68, + 93, + 7, + -49, + -62, + 28, + 84, + -10, + -100, + -65, + -105, + -15, + -7, + -106, + -96, + -72, + -102, + -25, + -58, + 92, + -48, + -62, + -90, + -71, + 46, + -106, + -97, + 103, + 19, + -44, + 124, + -10, + 39, + 61, + -12, + -40, + 124, + -14, + 41, + 3, + 66, + -3, + -4, + -51, + 43, + 126, + -14, + -97, + -94, + -73, + 60, + -89, + 59, + 119, + -55, + -114, + -43, + 110, + -90, + 93, + -92, + -24, + 28, + -35, + -41, + 73, + -52, + -4, + -11, + -123, + 38, + 78, + -45, + 10, + -72, + 36, + -11, + -36, + -13, + -93, + 58, + -114, + -104, + -54, + 51, + 8, + 121, + 80, + -33, + -12, + 118, + 16, + -63, + 28, + 30, + 18, + 52, + 71, + 106, + -16, + -82, + -120, + -113, + 62, + 120, + 108, + -113, + -27, + 125, + 55, + -78, + -110, + 93, + 92, + -12, + -81, + -93, + -108, + -45, + 53, + 58, + -7, + -17, + -99, + 3, + 15, + -43, + -124, + -67, + -6, + 40, + -36, + -103, + 95, + -87, + -103, + -78, + 51, + 12, + 77, + 103, + 93, + 24, + 86, + -63, + -126, + -55, + -35, + 49, + 7, + -61, + -101, + 6, + 99, + 99, + 99, + 50, + 127, + -18, + -115, + 27, + -122, + 96, + -96, + -70, + -85, + -23, + 21, + 39, + -126, + -85, + -39, + 19, + 50, + 110, + -14, + -23, + 127, + 56, + -24, + 96, + -52, + -15, + -25, + 90, + 90, + 76, + -75, + -109, + 91, + 14, + -70, + -9, + -25, + -4, + 36, + 66, + -44, + 12, + 94, + 80, + 90, + 55, + -119, + 29, + 91, + 19, + 127, + 60, + 104, + -13, + -4, + 107, + 73, + 39, + -114, + 0, + 36, + -73, + -94, + -63, + -68, + -115, + 12, + 104, + -74, + 72, + -78, + 90, + 13, + 114, + 103, + -99, + 116, + 122, + -72, + 122, + 91, + 23, + 94, + 79, + 33, + 97, + 120, + 17, + 97, + 88, + 34, + -56, + 44, + -94, + 75, + 10, + -66, + 83, + 27, + 58, + -117, + 4, + -109, + -27, + 72, + -57, + 84, + 106, + -88, + 0, + 78, + -94, + -17, + 19, + 17, + -98, + 57, + 89, + -78, + 36, + -56, + -105, + 28, + 35, + -8, + -11, + 103, + 99, + 16, + 120, + -61, + 88, + 101, + -42, + -94, + 105, + 15, + 96, + -113, + 117, + -102, + 34, + -37, + -45, + 19, + -58, + -109, + 66, + -30, + 67, + -6, + 32, + 100, + 11, + -6, + 54, + -69, + -97, + 105, + -87, + -85, + 18, + -93, + 46, + 63, + 39, + -29, + 63, + 68, + -29, + -15, + 47, + -24, + 46, + -30, + 59, + -70, + -61, + -71, + -63, + -92, + -29, + 100, + 38, + -51, + 117, + 109, + 51, + 80, + -55, + 45, + -124, + 83, + -47, + 94, + -49, + 17, + 56, + 20, + -29, + 106, + 61, + -31, + -103, + 73, + 10, + 55, + -101, + 115, + -11, + 94, + -17, + 90, + -109, + -49, + -105, + 125, + 43, + -61, + 63, + -101, + -49, + 21, + -13, + 84, + -122, + -78, + 79, + -74, + -30, + -67, + 82, + -59, + -111, + -9, + 66, + 44, + 106, + -35, + 103, + 13, + -110, + 41, + -36, + 75, + 93, + 4, + -99, + -103, + 117, + 101, + -88, + -102, + 93, + 75, + -84, + -57, + -78, + -75, + -63, + -118, + -54, + -70, + 118, + 113, + -93, + 98, + -109, + 85, + -93, + 127, + 48, + -20, + 56, + -68, + -3, + 6, + -59, + 30, + 56, + 81, + 26, + 47, + 1, + 91, + 95, + 27, + -108, + 115, + -19, + 98, + 3, + -121, + 4, + -20, + -78, + 0, + 36, + 66, + 78, + -59, + 88, + 108, + 21, + -127, + 80, + 111, + 36, + -76, + -77, + 52, + -119, + 34, + 100, + 43, + -22, + -62, + 69, + -39, + 63, + 80, + 86, + 42, + 82, + -112, + 43, + 33, + 44, + -84, + 0, + -85, + 6, + -103, + -84, + 55, + -92, + -5, + 100, + 98, + 78, + -42, + 60, + -110, + -71, + -47, + 39, + -38, + 25, + -53, + 18, + 103, + 74, + 38, + 43, + 12, + 92, + 22, + -45, + 126, + 29, + 84, + -42, + -95, + -75, + -103, + 28, + -58, + -78, + -8, + -54, + 14, + 88, + -100, + -98, + -25, + -52, + 49, + 124, + -89, + 27, + 44, + -95, + 3, + 95, + -10, + -127, + 105, + -61, + -77, + -2, + -112, + -13, + 12, + -114, + -46, + -112, + -76, + 86, + 85, + 3, + -110, + -56, + -4, + -5, + 94, + 59, + -28, + -4, + -50, + 90, + -115, + -93, + 72, + 42, + -92, + 111, + 98, + 116, + 12, + 90, + -47, + 118, + 12, + -88, + 39, + -26, + -40, + -42, + 37, + -53, + 80, + 52, + -80, + 84, + 8, + -115, + -8, + -83, + 91, + 68, + -47, + 117, + 26, + 108, + -124, + -76, + 49, + -59, + -45, + 68, + 119, + 42, + -86, + 122, + 72, + 13, + -121, + -29, + -14, + -116, + 107, + 75, + 52, + 4, + 94, + -70, + -51, + 8, + -59, + -26, + -116, + 9, + 117, + -79, + -18, + 82, + 58, + 86, + -113, + 34, + 3, + -26, + 123, + 64, + 123, + 45, + 22, + 112, + -101, + 40, + -78, + 121, + -26, + -117, + 33, + 3, + 9, + 64, + 43, + 116, + 45, + -75, + 0, + -46, + 49, + 63, + -117, + -71, + -27, + -21, + 45, + -85, + -84, + 77, + -37, + -125, + -111, + -28, + -62, + 53, + 58, + 37, + 116, + -77, + 99, + 36, + 109, + 37, + 31, + -13, + -67, + 11, + -41, + -43, + -18, + 106, + 90, + -75, + 16, + -40, + -55, + 36, + -24, + -92, + -6, + -6, + -61, + -95, + 121, + -123, + -96, + 94, + 85, + -110, + -21, + 27, + 68, + 66, + 92, + 86, + 116, + 36, + -32, + -55, + 100, + -46, + 106, + -118, + 34, + -115, + -83, + 62, + 18, + -85, + -101, + -44, + 28, + -57, + -89, + -104, + 26, + -24, + 19, + -83, + 57, + -105, + 57, + -40, + -35, + 29, + -108, + -77, + 59, + 98, + 102, + -103, + 35, + 5, + -105, + 104, + -125, + -87, + 10, + -70, + -12, + -84, + 52, + 5, + 108, + -37, + 5, + 42, + -84, + 122, + -70, + 7, + 81, + -7, + -90, + -79, + -84, + 70, + 74, + 15, + 78, + -37, + 123, + -120, + 52, + -52, + -93, + -55, + -87, + 3, + -91, + 46, + 9, + 0, + -39, + 22, + 64, + 36, + 15, + 90, + 31, + 74, + -56, + -53, + 69, + -109, + 71, + 80, + -12, + -10, + 90, + 56, + 18, + -44, + 58, + -14, + 79, + 121, + -108, + 85, + 118, + -8, + 69, + 97, + -38, + -101, + -41, + -103, + 114, + -115, + 124, + 1, + -121, + -124, + 24, + 7, + -42, + 75, + 66, + -38, + 67, + -42, + 112, + 99, + -31, + -102, + -50, + 67, + 3, + 13, + 103, + -86, + -33, + 71, + 88, + -13, + 61, + -19, + 16, + 126, + -119, + -97, + -121, + 92, + 61, + 127, + 30, + 93, + -43, + 27, + -6, + 96, + 124, + -122, + -61, + 114, + -43, + -50, + -13, + 100, + 2, + 8, + 86, + -103, + 108, + 44, + -60, + 97, + -94, + 101, + 92, + 63, + -49, + -86, + 106, + -38, + 38, + 105, + -87, + -34, + 64, + -56, + -42, + 46, + -34, + -47, + 22, + 54, + -40, + 10, + 104, + 41, + 58, + 110, + -94, + 46, + 13, + 61, + -92, + 11, + -82, + -60, + 21, + 115, + -55, + 35, + 20, + 108, + -21, + 42, + -88, + 60, + -99, + -6, + 3, + -48, + 58, + -114, + -11, + -89, + -19, + -38, + -14, + 104, + -105, + -115, + 10, + -90, + -105, + -90, + -90, + 39, + -85, + 56, + -14, + 113, + -40, + -27, + -41, + -19, + -75, + -14, + -103, + -92, + 4, + 64, + 64, + 56, + 104, + -21, + 53, + 53, + -9, + 59, + 26, + -66, + -89, + -87, + 37, + 102, + 99, + 88, + -77, + 105, + -9, + 100, + -44, + 7, + -70, + 66, + -103, + 46, + -125, + 53, + 86, + -7, + -126, + 55, + 105, + -126, + 43, + 123, + 114, + -46, + 61, + -61, + -93, + 61, + 70, + -73, + -104, + 107, + 72, + 44, + 51, + 95, + 119, + -37, + -57, + 121, + -103, + 83, + 91, + -98, + -5, + 56, + 92, + -58, + -106, + 102, + 45, + -32, + -90, + -23, + -81, + -127, + -94, + -32, + -118, + 63, + 55, + -13, + 38, + -110, + -41, + -93, + 106, + -37, + 89, + -75, + -44, + 90, + -71, + -13, + 47, + -88, + -50, + 41, + 48, + 24, + 48, + -25, + -90, + -66, + 21, + 22, + 71, + -121, + 13, + 6, + 100, + -46, + -75, + 60, + 105, + 17, + 15, + 18, + -77, + 43, + 29, + 85, + 72, + 98, + -32, + 61, + -47, + 106, + 62, + -46, + -35, + -106, + 0, + -11, + 67, + 57, + -24, + -66, + -17, + -114, + -121, + 30, + 50, + -79, + 100, + 51, + -125, + 20, + -45, + 40, + 100, + 89, + 11, + 13, + 64, + 94, + -120, + -80, + -96, + 16, + -92, + 2, + 6, + -82, + 72, + 30, + -96, + 91, + -122, + 108, + -52, + -79, + -77, + -33, + -116, + 126, + 112, + -68, + -55, + 30, + 109, + -94, + -128, + 82, + -58, + 81, + -88, + -120, + -24, + -118, + 38, + -117, + -127, + 61, + 21, + -12, + -65, + -46, + -103, + -75, + -52, + -13, + 52, + -119, + -102, + -29, + -91, + 61, + 7, + 107, + -56, + -103, + -110, + -43, + 10, + 87, + 98, + 72, + -20, + -61, + 101, + -57, + 59, + -108, + 114, + -4, + -33, + 41, + 56, + 98, + -58, + 50, + -29, + -42, + 97, + -52, + 51, + 101, + -73, + 102, + -65, + 58, + -96, + -25, + -80, + -31, + 83, + -82, + -22, + -119, + 85, + 106, + -17, + 62, + -44, + -50, + 44, + -83, + -7, + -65, + 93, + -60, + 26, + -9, + -101, + -55, + -7, + 106, + 38, + 20, + -23, + 80, + -10, + -50, + -5, + -82, + 106, + 12, + -7, + 120, + 125, + -30, + -2, + 85, + -92, + -83, + -41, + 105, + 2, + 71, + 76, + 102, + 68, + 89, + 115, + -115, + 75, + -89, + 64, + -85, + 117, + -98, + -23, + -34, + -25, + 87, + 80, + 88, + 22, + 44, + -18, + 1, + -82, + 8, + 89, + 21, + -108, + -18, + -123, + -40, + 15, + -14, + 51, + -52, + 80, + -113, + 1, + -127, + -105, + -33, + -114, + -30, + -74, + 51, + -14, + 126, + 119, + -46, + -34, + 48, + -60, + -33, + 53, + 55, + -121, + 83, + 3, + 73, + 119, + 84, + 80, + 101, + 67, + 85, + 90, + 70, + -47, + -108, + 27, + -38, + -2, + 96, + -56, + 18, + -23, + -101, + -28, + -89, + -3, + -113, + 124, + 100, + 9, + 109, + 123, + 47, + -43, + 49, + -108, + -36, + 99, + 87, + -14, + -61, + -91, + -5, + -39, + -14, + -87, + -31, + 57, + 124, + 86, + -14, + 86, + 117, + -32, + 30, + 107, + 113, + 121, + 65, + -13, + 13, + -118, + 59, + 44, + 11, + -34, + -117, + -17, + -49, + -26, + 117, + -51, + 38, + -89, + -103, + 113, + -52, + 3, + 98, + 71, + 39, + -102, + -25, + 43, + 105, + 22, + -33, + 50, + -75, + -115, + -108, + -94, + -114, + -37, + -101, + -109, + -117, + 55, + 15, + -61, + -55, + 44, + 74, + -127, + 21, + -27, + -111, + 81, + -125, + 126, + -91, + -9, + -87, + 42, + 90, + -102, + 79, + 114, + -112, + -42, + 88, + 13, + 64, + 37, + 11, + -122, + 25, + 47, + 31, + -56, + 25, + -72, + 121, + 37, + -103, + -102, + 111, + 20, + 113, + 74, + -15, + -71, + -15, + -108, + 96, + -111, + -56, + 105, + 66, + -46, + 108, + -67, + 90, + -88, + 4, + -77, + 80, + 38, + -67, + 41, + 94, + 99, + 28, + -42, + -60, + 36, + 44, + -43, + 72, + 81, + 75, + -55, + 19, + 114, + 92, + -33, + 66, + -73, + -64, + 16, + 121, + 41, + 77, + 32, + 48, + -108, + 15, + 85, + 117, + 70, + 123, + 122, + 109, + -42, + -107, + -80, + 58, + 5, + -42, + 19, + 103, + 69, + 10, + -68, + 78, + -14, + 64, + 70, + -57, + -35, + -54, + 17, + -8, + -6, + -89, + -36, + -3, + -122, + 13, + 23, + 51, + 95, + -50, + 77, + -102, + -82, + -32, + 19, + 43, + -62, + -60, + -82, + -121, + -63, + 20, + 42, + 32, + -6, + -87, + 83, + 106, + 82, + 125, + 104, + 6, + -42, + -27, + 90, + 80, + 13, + 30, + 125, + -39, + -10, + 119, + -33, + -57, + 6, + 1, + -98, + 41, + -27, + -119, + -76, + -62, + -82, + 118, + 109, + 6, + 91, + -106, + 107, + 82, + 13, + -111, + -100, + 84, + -75, + 70, + -127, + 120, + -121, + -48, + -83, + -62, + -56, + -108, + -37, + 0, + 61, + -24, + -91, + -19, + 7, + 65, + -54, + -66, + -30, + -45, + -101, + 124, + 6, + -106, + -54, + 105, + 61, + 107, + 24, + 28, + -85, + -92, + -116, + 68, + 16, + -119, + -89, + 103, + 90, + 10, + -45, + 89, + -93, + -92, + 90, + -37, + -40, + -42, + -77, + -97, + -59, + 48, + 30, + 65, + 9, + -88, + -76, + -123, + 104, + -49, + -76, + -14, + -77, + 85, + -96, + -108, + 37, + -27, + -74, + 43, + 12, + -35, + -102, + 116, + -58, + 108, + -12, + 54, + 56, + 123, + 91, + 97, + 44, + -36, + 56, + 94, + -17, + -92, + -97, + -95, + -99, + 52, + 12, + 79, + 81, + 105, + 127, + 112, + -47, + -41, + -9, + -92, + -25, + -39, + -66, + -117, + -51, + -81, + 106, + 42, + 105, + -60, + -57, + -122, + -82, + -120, + -117, + 72, + -18, + -118, + -100, + 93, + -81, + -14, + 55, + -34, + 107, + -29, + -65, + 116, + 54, + 91, + -117, + 103, + 84, + -24, + -82, + -114, + 98, + 85, + -114, + 51, + 11, + -56, + 18, + 38, + 113, + -88, + 93, + -103, + -47, + 66, + -88, + -43, + 16, + -112, + -54, + -58, + 49, + -88, + 61, + -112, + 110, + -1, + 0, + 102, + -61, + -61, + -60, + -52, + -26, + 68, + -114, + 86, + -107, + 81, + -125, + 43, + 127, + 77, + -119, + 15, + -37, + -75, + 21, + 100, + 14, + -27, + -123, + 50, + -40, + 42, + 111, + -90, + -11, + -45, + 102, + -61, + -21, + -107, + 60, + -63, + 29, + -47, + 67, + -26, + 66, + -15, + -90, + -105, + -50, + -14, + -119, + -11, + -123, + -106, + 60, + -128, + 19, + 127, + -96, + 116, + -4, + -25, + 86, + 79, + -48, + 93, + 20, + 52, + -121, + 48, + 9, + -115, + 21, + -116, + -79, + 87, + -117, + 6, + -45, + -113, + -100, + 35, + 116, + 97, + 61, + 22, + -35, + -48, + -56, + 17, + 16, + 87, + -78, + -96, + 33, + 118, + 48, + 127, + 53, + 42, + -126, + -41, + -12, + 108, + -108, + -21, + -15, + 44, + 11, + 70, + -14, + -2, + 16, + -65, + 11, + -114, + -37, + -24, + -80, + 91, + 63, + -90, + 125, + 48, + -82, + 7, + 38, + 118, + -41, + 3, + -93, + -111, + -56, + -11, + 86, + 94, + -16, + 110, + 82, + 25, + 1, + -26, + -120, + -69, + 3, + 16, + 15, + 73, + -105, + 87, + 80, + 109, + -71, + -79, + 36, + 102, + 58, + -83, + 44, + -44, + 22, + -123, + -77, + 109, + -57, + 97, + 97, + 114, + -62, + 99, + 29, + 42, + 123, + 75, + -46, + 75, + -55, + 90, + -54, + -98, + 27, + -87, + -27, + -58, + -43, + -13, + 77, + 0, + 62, + 26, + -28, + 95, + 93, + -50, + -36, + -64, + -83, + 48, + -21, + -61, + 14, + 103, + -84, + -37, + 24, + -15, + 0, + 3, + -73, + -26, + -54, + 13, + 122, + -117, + -103, + -21, + 66, + -78, + 121, + 18, + 51, + -27, + -73, + -45, + -51, + 9, + 85, + -67, + 47, + -76, + 103, + -6, + 10, + -11, + 75, + 35, + -108, + -12, + -120, + -98, + -22, + -28, + -123, + -68, + 54, + -42, + 93, + -43, + -76, + 12, + -33, + 17, + 69, + -34, + -112, + -110, + -19, + 1, + 112, + -41, + 48, + 103, + -97, + -119, + 105, + -70, + -79, + -51, + -35, + -107, + 57, + -81, + 80, + -29, + 62, + 68, + -47, + -31, + -56, + 51, + 122, + -37, + 19, + 90, + -33, + -85, + -117, + -23, + 97, + 116, + -13, + -103, + -51, + 78, + 101, + -72, + 17, + -81, + 85, + 86, + 94, + 14, + -4, + -55, + -92, + -48, + 101, + -59, + -25, + 113, + -39, + -110, + 39, + 102, + 89, + 30, + 37, + -103, + -127, + 50, + -5, + -99, + -122, + -99, + -71, + 98, + -121, + 81, + -18, + 104, + -55, + -85, + 27, + -112, + 31, + 86, + 8, + -17, + -12, + -89, + -37, + 121, + 38, + -114, + 53, + 35, + -50, + -54, + 31, + 112, + 25, + 74, + -22, + -37, + 104, + 41, + -88, + -98, + -84, + 15, + 113, + -75, + -90, + 94, + -67, + 85, + 87, + -18, + -69, + -107, + -25, + -71, + -10, + -39, + -102, + 37, + -25, + -72, + -26, + -77, + -124, + -3, + 35, + -27, + 92, + -103, + -27, + -107, + 127, + 75, + -119, + 20, + -77, + 37, + -58, + -31, + 7, + 28, + 115, + 103, + -82, + -71, + -27, + 63, + -19, + -78, + -43, + 3, + 36, + -39, + -56, + 89, + 65, + -10, + -47, + -94, + -34, + 35, + -85, + -22, + 12, + 65, + -38, + 93, + 79, + 20, + 58, + -82, + -18, + 25, + -39, + -118, + -80, + -110, + 122, + -124, + -126, + -61, + -80, + -88, + 43, + 93, + 29, + 113, + 112, + -116, + 45, + 85, + 45, + -46, + 60, + 13, + 108, + 111, + -64, + -123, + -123, + 91, + 71, + -124, + -92, + -126, + -40, + -72, + -75, + 17, + 99, + -85, + 68, + 72, + 16, + -89, + 17, + 81, + 17, + -119, + -117, + -14, + -114, + -33, + 62, + -41, + -69, + 90, + 94, + -128, + -33, + -83, + 96, + -65, + -72, + -61, + 67, + -85, + -47, + 84, + -51, + 77, + -48, + -2, + 123, + -93, + -99, + -46, + 122, + 62, + -59, + -39, + -52, + -94, + -90, + -112, + 100, + 42, + 5, + -75, + -31, + 41, + 66, + 75, + -31, + 19, + 104, + -114, + -67, + -108, + -50, + 116, + 12, + -33, + 35, + 58, + 106, + -91, + 4, + 9, + 114, + -9, + -115, + 63, + -84, + -24, + 113, + 91, + 43, + 69, + 31, + 38, + -7, + 64, + 32, + 21, + 106, + -3, + -53, + 97, + -8, + 7, + -29, + -50, + -126, + 124, + 61, + 126, + 32, + 76, + 37, + 70, + 66, + -97, + 12, + -83, + 88, + -22, + -91, + 67, + -116, + 1, + -101, + -87, + 115, + 70, + 85, + -55, + 107, + -34, + -110, + -4, + -1, + 0, + 74, + 116, + 40, + 117, + -31, + 49, + 83, + -112, + 96, + -37, + 124, + 80, + 37, + -48, + 19, + -44, + 41, + -115, + -112, + 112, + 92, + -62, + -66, + 121, + -75, + 44, + -88, + 92, + 48, + 20, + 70, + -73, + -85, + 85, + 89, + -8, + 36, + -47, + 4, + -125, + -14, + 58, + 32, + 6, + -2, + 59, + 115, + 14, + 32, + -110, + -116, + -91, + 74, + 51, + 6, + 102, + -40, + -126, + 64, + -19, + -86, + -55, + -22, + -6, + 22, + 122, + -95, + -22, + -41, + -65, + 105, + 13, + 39, + 33, + 19, + -22, + 85, + -68, + 93, + -22, + 70, + -112, + 5, + 125, + 38, + 23, + 38, + -62, + 51, + -115, + 14, + -125, + -94, + -19, + 48, + 10, + -42, + 123, + -41, + 16, + 93, + 105, + 9, + 96, + 89, + 37, + 85, + -116, + 81, + 58, + -84, + 118, + 70, + 24, + -118, + 23, + 14, + 72, + 12, + 104, + 94, + 45, + 76, + 80, + -28, + -79, + 98, + 29, + 13, + -82, + 57, + 39, + 39, + -56, + 109, + -51, + 96, + -74, + -68, + 105, + -100, + 24, + -72, + -93, + -103, + 13, + -119, + 113, + -94, + -127, + -63, + -105, + -89, + 88, + -103, + -123, + 65, + 101, + 125, + 126, + 115, + 1, + 98, + 25, + 125, + -95, + 59, + -101, + -97, + 63, + -15, + 39, + 100, + 91, + 58, + -68, + 75, + -70, + 76, + 106, + -59, + -56, + -10, + 117, + -128, + 106, + 124, + -26, + 111, + 124, + 10, + -27, + 122, + 77, + -27, + 13, + -40, + 3, + 54, + 63, + -103, + 125, + -43, + -97, + 90, + 104, + -79, + -25, + 65, + -125, + -109, + 18, + 61, + -54, + -53, + 59, + -45, + 93, + 121, + -127, + -43, + 124, + -51, + -57, + 25, + -85, + 21, + -56, + 52, + 33, + 103, + -71, + 95, + 127, + -51, + -81, + -53, + 70, + -27, + -7, + -12, + 17, + 10, + 102, + -81, + 124, + -125, + -14, + 31, + -43, + -7, + 52, + -21, + 9, + 121, + -18, + 35, + -72, + -69, + 33, + 11, + 21, + 111, + 109, + 57, + -115, + -17, + 5, + -46, + 83, + 58, + 125, + 16, + 64, + 57, + 29, + 72, + 110, + 92, + -34, + -58, + -112, + 50, + 75, + 41, + -33, + 65, + 74, + 50, + -62, + 65, + 8, + -13, + -4, + -82, + -79, + 21, + -61, + 21, + 62, + -56, + -60, + 114, + 103, + 12, + -19, + 118, + -72, + -128, + -121, + -30, + -94, + 53, + 91, + 37, + 74, + 101, + -54, + -64, + 88, + -98, + 40, + -24, + 108, + 72, + -76, + -14, + 35, + -48, + 21, + -81, + 76, + -74, + 123, + -77, + 71, + -16, + -34, + -99, + 32, + 42, + -40, + -102, + 49, + 33, + -94, + 118, + 44, + 2, + -117, + 31, + -45, + 43, + -8, + 27, + 18, + 1, + -80, + 108, + 1, + -1, + 0, + -85, + -116, + -14, + 86, + -17, + -71, + 107, + -40, + -34, + -25, + -99, + 21, + -33, + 125, + 15, + 67, + 15, + 110, + -46, + -102, + 117, + 77, + 73, + 103, + -54, + 56, + -126, + 6, + 125, + 67, + 84, + 78, + 109, + 96, + -5, + -122, + -4, + 57, + -109, + 50, + 105, + -5, + 50, + -58, + -36, + 111, + 63, + -38, + 11, + -97, + 83, + -77, + -34, + 68, + 71, + 21, + 90, + 69, + -88, + 68, + -95, + 60, + -2, + 36, + 76, + -62, + -49, + -44, + 122, + -25, + -100, + 72, + -77, + 9, + 124, + -25, + -107, + -76, + -66, + 41, + 87, + 86, + -107, + -111, + 73, + -124, + -59, + -83, + -90, + -2, + -7, + -95, + -102, + 116, + -33, + 76, + 38, + -20, + -119, + -95, + 29, + 49, + -88, + 47, + -13, + -24, + 127, + 48, + -7, + -27, + 7, + 32, + -47, + -104, + -28, + -102, + -29, + 22, + -104, + 77, + 87, + 28, + -117, + 105, + 83, + -91, + -87, + -82, + -100, + -43, + -57, + -45, + 20, + 101, + -55, + 89, + 63, + -25, + -29, + -101, + 23, + -9, + -27, + -52, + -43, + -56, + -33, + -10, + 122, + -25, + -31, + 104, + 19, + -82, + -82, + 107, + 27, + 93, + -97, + -18, + 80, + -93, + 103, + -18, + 30, + 101, + -111, + -117, + 52, + 74, + -5, + 11, + 39, + 43, + 74, + -53, + 1, + 66, + 122, + 110, + 61, + -47, + 115, + 53, + -46, + -60, + -22, + -72, + -7, + -4, + -33, + 33, + -51, + -78, + -126, + -32, + -119, + 86, + 84, + -12, + 18, + -85, + 69, + -9, + 79, + -47, + 33, + -13, + -33, + 108, + 42, + -26, + 121, + 78, + -116, + -105, + -86, + -1, + 0, + -57, + 12, + -40, + 52, + -80, + -21, + -58, + -48, + 83, + 5, + 31, + -92, + 81, + 59, + 44, + -49, + 78, + 23, + 53, + -99, + -77, + 86, + -48, + 11, + 97, + 108, + -85, + 65, + -99, + -47, + 84, + -78, + -78, + 121, + -93, + -109, + 53, + -48, + -91, + 52, + 126, + 109, + 85, + 6, + -51, + -63, + -70, + -103, + -105, + 110, + 85, + 108, + -27, + 97, + 75, + 55, + -45, + 82, + 46, + 60, + -29, + 47, + 53, + -15, + -39, + -30, + -123, + -52, + 1, + -110, + -91, + 55, + 10, + 75, + 44, + 51, + -94, + -78, + 32, + 8, + -91, + -94, + 36, + -123, + 42, + -20, + 29, + -124, + -55, + -97, + -14, + -71, + 51, + 69, + -52, + -49, + -84, + 3, + 23, + 17, + -27, + 8, + 72, + 15, + -84, + -116, + 82, + 54, + 51, + 58, + 70, + 99, + 121, + 75, + -79, + 103, + 101, + -14, + 0, + 11, + 3, + 24, + -15, + -82, + -91, + 126, + -40, + -65, + 113, + -54, + -81, + -72, + -21, + 6, + 109, + 99, + 39, + -89, + 125, + 102, + -74, + 34, + 106, + 31, + 60, + 24, + -50, + -76, + -58, + 48, + 119, + 89, + 83, + -84, + -75, + -35, + 85, + 93, + 23, + 83, + 58, + -40, + 35, + 66, + 39, + 90, + 63, + -58, + 44, + -75, + 17, + 109, + -114, + -46, + -124, + 87, + 51, + -52, + -112, + 31, + 65, + -100, + -93, + 108, + 92, + 15, + 19, + 57, + 90, + -41, + 120, + -46, + -47, + 78, + -80, + -105, + -87, + -103, + -72, + 105, + 95, + 2, + 117, + 115, + 62, + 124, + 73, + 98, + 122, + 97, + 111, + 16, + -60, + 9, + -30, + -117, + 118, + -78, + -104, + -100, + -93, + -88, + -101, + -73, + -23, + 119, + -128, + -26, + 101, + -56, + 51, + 39, + -44, + -124, + 113, + 26, + 15, + 82, + -15, + 102, + 17, + -24, + 43, + -11, + -28, + 46, + 54, + 100, + 91, + 107, + -105, + -49, + 59, + -94, + 122, + 104, + -48, + -51, + 23, + 87, + -45, + 7, + 1, + 4, + -91, + 38, + -97, + -104, + -15, + 115, + 62, + -44, + 26, + -11, + 123, + -17, + 40, + -85, + 90, + 68, + 98, + 56, + -72, + 92, + 108, + -88, + -118, + -22, + -84, + 108, + 36, + -25, + 75, + 74, + 99, + -97, + 71, + 122, + -6, + 65, + -121, + -104, + 21, + -120, + -79, + 92, + 95, + -81, + 54, + 103, + -122, + -78, + 87, + 8, + 9, + 71, + -94, + 56, + -3, + 65, + 36, + -20, + -85, + -78, + -121, + 119, + 82, + -68, + 100, + -9, + 35, + -14, + 83, + 60, + -9, + 68, + -43, + 113, + 57, + -88, + 117, + 73, + -61, + -125, + -84, + 76, + 8, + 101, + 122, + -52, + -117, + 75, + -81, + 78, + -86, + -30, + -108, + -60, + -103, + -82, + -108, + 62, + -15, + 83, + -58, + 29, + 25, + -25, + -112, + 127, + -50, + -80, + 121, + 127, + -118, + -4, + -103, + -29, + -50, + 52, + -110, + -66, + -8, + -11, + 30, + 68, + 121, + 16, + -29, + 77, + 52, + 19, + -30, + 48, + 89, + -41, + 27, + 34, + 56, + 68, + 50, + -85, + -86, + -55, + 36, + 50, + -49, + 7, + -112, + -18, + -86, + -22, + -33, + -81, + -43, + -4, + 110, + 46, + 108, + 29, + -14, + 17, + -47, + 93, + -73, + 8, + -48, + -103, + 81, + 10, + -54, + -87, + 94, + 69, + 102, + 62, + 63, + -14, + 21, + -75, + 86, + 82, + 84, + -41, + 67, + 69, + -91, + -94, + 88, + -56, + 117, + -12, + -90, + -4, + 43, + -74, + -48, + -103, + 83, + -25, + -97, + 81, + -98, + 115, + 86, + -36, + -120, + 21, + -18, + -52, + -61, + -99, + -21, + -118, + -7, + -69, + -104, + 84, + 109, + 53, + 39, + 40, + -86, + 5, + 114, + -77, + -54, + -29, + 40, + -73, + 80, + 23, + -102, + -24, + -58, + 20, + 5, + -79, + 42, + 64, + 87, + 86, + -43, + 7, + 70, + 8, + -91, + -119, + -13, + -12, + -39, + -26, + 34, + -15, + 38, + 74, + -55, + -62, + 117, + 37, + -69, + -70, + 66, + 13, + -128, + 79, + -80, + -87, + 32, + 103, + 90, + 78, + -106, + 43, + -30, + -61, + 2, + 75, + 18, + -99, + -126, + -26, + -43, + -50, + -25, + 77, + 4, + 30, + 44, + 103, + 83, + 8, + -44, + 3, + 5, + 11, + 1, + 71, + 119, + -27, + -94, + 52, + -23, + -128, + -79, + 19, + 5, + 123, + 66, + -57, + 45, + -81, + 103, + -23, + -122, + 127, + -30, + -49, + 19, + 11, + 34, + 58, + 114, + 113, + -79, + -118, + 39, + -45, + 31, + -113, + -51, + -54, + -115, + 67, + -86, + -107, + 2, + 115, + -121, + 24, + -111, + -75, + 32, + -74, + -127, + -48, + 53, + -86, + -56, + -29, + -78, + 107, + 24, + 98, + 44, + 17, + 46, + 68, + 82, + 75, + 48, + 81, + -28, + 115, + 26, + -83, + -65, + -73, + 106, + 11, + 59, + -115, + 110, + -11, + 36, + -87, + 32, + 2, + 99, + 78, + -44, + 81, + -114, + -61, + -79, + 97, + -58, + 89, + -68, + 43, + -90, + -12, + -9, + -80, + 83, + -47, + -110, + 16, + 98, + -75, + -70, + 0, + -2, + -100, + -122, + 124, + 98, + -57, + -52, + -48, + -24, + -91, + -107, + 78, + -77, + -56, + -123, + -115, + 85, + -92, + -50, + -31, + -78, + -77, + -28, + -18, + 37, + 28, + 88, + -12, + -46, + -90, + 10, + -122, + -72, + 105, + 94, + -111, + -14, + 95, + 22, + 66, + 83, + 15, + 11, + 115, + -27, + -1, + 0, + 31, + 66, + 3, + 43, + -43, + 117, + -97, + 70, + 105, + 56, + -77, + 14, + -122, + 23, + -52, + -37, + 57, + -76, + -116, + -45, + 85, + 93, + 56, + -36, + -38, + -54, + 83, + 84, + -63, + 87, + 6, + 65, + -96, + -37, + -74, + 40, + 115, + 35, + 78, + -125, + 111, + 38, + -52, + 78, + 84, + -36, + 102, + 12, + -88, + 4, + -109, + 30, + 75, + 120, + 121, + -51, + -59, + -91, + -112, + 35, + 94, + 93, + -92, + 102, + -92, + 107, + -91, + 83, + 71, + -125, + -26, + -123, + -26, + -74, + -25, + 74, + -86, + -19, + 66, + -46, + 115, + -14, + 71, + -23, + 47, + 16, + 66, + 0, + -114, + 32, + -86, + -74, + 101, + -84, + 122, + 11, + 75, + 37, + -99, + -117, + -87, + 49, + 51, + 40, + -112, + -85, + -67, + -38, + -97, + -72, + 25, + 52, + 2, + 121, + -24, + 98, + 81, + 81, + 35, + -45, + -79, + 92, + -36, + -47, + -71, + -37, + 41, + -24, + 51, + -42, + -92, + -42, + -42, + 97, + 105, + -51, + 32, + -17, + 54, + 49, + 125, + 110, + 120, + -40, + 75, + -11, + 93, + 54, + 23, + 38, + 6, + 28, + -71, + 16, + -69, + -88, + 12, + -127, + 77, + 91, + -3, + 32, + 83, + -113, + 89, + -29, + 117, + 9, + -107, + -24, + -127, + 111, + 99, + 27, + -54, + 122, + -117, + -40, + -100, + -11, + 32, + 45, + 56, + -119, + 7, + -13, + -71, + 76, + 120, + 119, + 59, + 59, + -104, + -29, + 14, + -101, + 20, + 96, + 20, + 19, + -19, + -24, + 59, + 49, + -69, + -22, + -81, + -66, + -51, + -35, + 15, + -102, + -12, + 41, + 68, + -124, + -93, + -48, + 117, + 98, + -51, + -18, + 29, + 29, + 10, + 88, + 21, + -47, + 29, + -102, + -4, + -127, + -13, + -13, + -23, + -72, + -77, + -120, + 16, + -23, + -14, + -17, + -98, + 6, + -45, + 6, + -42, + 49, + -93, + -48, + 52, + 21, + 22, + -11, + 17, + 16, + -62, + -27, + -98, + -73, + -115, + 10, + -113, + -87, + 21, + 92, + 126, + 28, + 88, + 126, + -77, + 77, + 6, + -29, + -74, + -122, + -2, + 2, + -5, + 4, + -30, + -86, + 110, + -48, + -9, + -103, + -97, + -79, + 31, + -40, + 28, + -118, + -4, + -73, + -39, + 36, + 107, + 119, + -61, + -87, + 113, + -92, + 71, + -68, + 104, + 36, + 23, + 112, + -75, + 11, + 103, + -42, + -12, + -29, + -51, + -63, + 5, + 10, + 65, + 103, + 61, + 105, + 12, + 78, + 114, + -78, + -106, + 25, + -3, + 110, + -99, + 46, + 115, + -55, + -12, + 108, + 113, + 92, + -73, + -60, + -74, + 70, + -70, + -98, + -105, + 23, + -25, + 108, + 87, + -50, + -40, + 115, + -51, + 78, + 8, + 71, + -69, + -35, + -34, + -28, + -48, + 40, + -45, + 86, + 84, + -52, + -20, + 38, + -66, + -51, + -70, + 49, + 70, + -128, + 55, + 72, + -73, + 117, + -49, + 71, + 39, + -40, + -84, + -33, + -18, + -123, + -115, + -27, + -33, + 118, + 57, + 87, + 109, + -75, + 26, + -40, + 43, + -24, + -121, + 79, + -122, + -67, + 83, + -25, + -35, + 118, + 113, + -63, + -112, + -74, + 0, + 61, + 46, + -15, + -71, + 5, + 94, + 4, + -59, + 114, + 15, + -110, + 23, + 41, + -60, + -39, + -125, + 96, + -57, + 71, + 103, + 90, + 101, + -38, + -48, + 58, + -100, + 118, + 55, + -15, + 7, + 52, + 127, + -37, + 109, + 80, + 42, + -71, + -108, + 58, + 13, + 81, + -89, + 115, + 94, + 38, + 29, + 51, + 11, + -94, + -106, + 47, + 31, + 91, + 61, + -68, + -66, + 26, + -50, + -2, + 62, + 103, + -10, + -77, + 82, + -54, + -40, + -8, + -84, + -99, + 51, + 103, + -49, + -66, + 122, + 124, + -4, + 77, + 76, + 111, + -35, + -15, + 38, + -126, + 57, + 110, + 121, + -1, + 0, + -76, + -86, + 18, + 71, + -67, + -63, + -115, + 45, + -128, + 0, + 55, + 101, + 84, + -107, + 0, + 108, + 64, + -82, + -24, + 71, + -105, + -113, + 60, + -24, + 4, + 16, + -34, + -70, + -56, + -22, + -94, + -12, + 95, + -44, + 117, + 36, + -110, + -76, + 1, + 101, + -78, + -51, + -88, + 63, + -117, + 5, + -25, + 99, + -46, + -78, + 66, + 80, + -19, + -21, + -116, + -64, + -78, + -33, + -123, + 7, + 96, + -116, + -52, + 8, + -10, + -106, + -66, + 86, + -88, + -38, + 55, + -90, + 12, + 107, + 43, + 115, + -13, + -18, + -36, + -41, + -115, + -26, + 19, + 48, + -107, + 91, + -44, + 63, + -49, + -12, + 60, + -98, + 78, + 21, + -43, + -15, + -22, + -7, + -20, + -122, + 86, + 31, + -38, + -123, + -40, + -45, + -113, + 2, + -47, + 27, + 39, + -36, + 45, + 113, + -109, + 49, + -8, + 125, + 63, + 93, + -68, + -116, + -29, + -24, + 76, + -59, + 118, + -77, + -73, + -51, + 39, + 86, + -34, + 90, + 0, + -26, + -8, + 85, + -27, + 7, + 39, + -9, + -99, + 28, + -56, + 2, + -84, + -18, + -115, + -38, + 6, + -33, + -81, + -20, + -47, + -96, + 84, + -56, + -106, + 50, + -127, + 42, + 87, + 66, + -85, + -25, + -70, + 39, + -88, + 94, + 55, + 123, + 71, + 80, + -67, + 22, + -100, + -2, + -47, + -106, + -127, + 52, + -35, + 122, + 28, + -85, + 23, + 85, + -50, + 50, + 95, + 52, + 62, + 37, + -90, + -30, + 38, + -9, + -111, + -103, + 50, + -51, + -12, + 109, + 57, + -38, + -38, + -22, + 27, + -101, + -115, + -107, + 13, + 102, + -123, + -90, + 9, + 40, + 80, + -54, + -35, + -120, + -43, + -40, + 25, + 111, + 103, + 67, + 98, + -24, + 45, + -37, + -84, + -73, + 64, + 34, + 102, + -34, + -128, + 51, + -94, + -117, + 11, + -58, + 90, + -90, + 64, + 78, + 115, + 24, + 47, + 4, + -41, + 83, + 85, + -24, + -77, + 99, + 57, + -6, + 119, + -98, + 69, + -21, + -104, + -8, + 104, + 110, + -34, + 89, + -47, + -37, + -32, + -76, + 47, + -26, + -38, + 59, + 50, + 94, + -74, + -64, + -45, + 118, + 55, + 60, + -25, + -50, + 86, + -50, + 14, + 54, + 46, + -126, + -10, + 26, + 43, + -100, + -69, + 123, + -71, + 83, + 93, + -124, + 17, + 34, + 78, + 99, + 82, + -10, + 43, + 80, + 72, + -79, + 100, + -26, + -87, + -115, + 94, + 35, + 3, + -107, + 32, + -126, + -60, + -70, + -93, + -34, + -102, + -115, + 95, + -25, + 82, + 11, + 93, + 14, + -74, + 36, + -118, + 25, + 107, + 44, + -40, + -72, + 45, + 28, + -115, + 27, + -82, + 76, + 106, + -9, + -75, + 5, + -115, + -118, + 48, + -37, + 98, + 72, + 54, + 28, + -89, + 106, + -92, + 118, + 72, + 29, + -41, + -117, + 46, + 83, + -90, + 32, + 9, + 107, + -92, + -57, + -77, + -28, + -38, + -46, + -21, + 73, + 39, + -9, + 45, + 105, + 36, + -21, + 105, + 109, + -95, + -65, + -50, + -7, + -73, + -38, + 76, + -103, + -24, + 29, + -110, + 116, + -63, + -102, + -122, + 116, + -20, + -39, + 103, + 51, + 75, + 45, + -106, + -114, + 13, + 91, + 71, + 42, + 59, + -7, + -80, + -33, + -49, + -97, + -13, + 92, + -45, + 102, + 85, + -104, + 107, + -126, + 8, + -113, + 28, + -81, + -23, + 113, + 42, + -7, + 123, + 62, + 43, + -91, + 87, + -86, + -65, + 55, + -96, + 43, + -4, + 82, + 8, + -105, + -107, + 51, + -25, + 110, + 93, + -2, + 13, + 6, + -14, + 70, + -94, + -1, + 0, + -113, + -22, + -67, + 94, + -69, + -55, + 68, + -5, + -118, + 69, + 44, + -119, + 96, + 9, + 81, + -102, + -63, + 42, + 100, + 15, + -94, + 26, + -93, + -99, + -48, + 102, + 118, + 96, + 7, + 101, + -3, + -53, + -127, + -22, + 35, + -88, + -126, + 6, + -70, + 0, + 29, + -74, + 8, + -88, + 46, + 24, + 39, + -37, + -10, + 97, + -99, + 83, + 46, + -34, + 99, + 21, + -96, + -11, + -113, + 102, + 46, + -94, + 10, + 21, + -58, + -76, + -53, + 42, + 44, + 106, + -80, + -19, + 91, + 96, + 12, + -29, + 26, + -48, + 20, + 33, + -34, + -66, + 82, + 76, + 74, + -49, + -112, + -101, + -119, + 10, + 55, + -48, + -35, + 34, + -71, + 88, + -98, + -103, + -112, + 121, + -55, + -119, + 102, + 76, + -77, + -63, + -97, + 57, + 8, + 96, + 49, + -48, + 67, + 117, + -51, + -119, + -63, + 80, + 27, + 59, + 99, + 38, + 98, + -86, + -35, + -59, + -128, + 44, + 45, + 117, + -39, + -48, + 85, + -19, + 125, + 6, + -11, + 101, + 80, + -78, + 1, + -101, + -31, + 34, + -5, + 89, + -70, + -76, + 21, + -77, + -40, + -71, + -87, + 68, + 14, + 65, + 11, + 28, + 12, + 53, + 47, + 34, + -80, + 17, + -71, + -43, + 37, + 109, + 81, + -62, + -79, + 8, + 72, + 107, + 32, + -43, + 2, + 75, + 80, + 59, + 26, + 44, + 24, + -52, + -9, + 50, + -126, + -56, + -85, + 34, + 31, + 32, + 27, + 58, + -95, + 44, + -124, + -115, + -82, + -63, + 10, + -54, + 10, + -109, + 96, + 16, + 125, + -89, + -85, + 117, + 114, + -43, + -73, + -106, + 37, + 67, + -55, + -26, + 109, + 30, + 118, + -39, + 5, + 45, + -24, + -55, + -113, + -17, + -66, + 92, + -40, + -11, + 20, + -22, + 80, + 68, + -43, + -89, + -95, + 79, + -91, + 95, + 49, + 111, + 22, + -57, + -102, + 51, + -15, + 82, + -109, + 98, + 32, + 85, + -117, + 99, + -5, + -109, + -124, + -54, + -13, + -91, + -59, + -17, + -23, + 117, + 52, + -35, + 1, + -81, + 76, + -48, + 82, + 32, + 90, + -7, + -45, + -40, + 46, + 56, + -4, + 101, + -62, + -100, + -63, + -22, + 12, + 0, + 40, + -38, + 33, + -111, + 5, + 7, + -25, + 85, + 93, + 71, + -4, + 119, + 58, + -125, + 41, + -59, + -38, + -77, + -15, + 44, + -44, + 89, + -72, + 120, + 64, + 3, + 107, + 102, + 50, + 43, + -97, + -72, + 93, + 0, + 70, + 91, + 37, + -62, + 127, + -51, + 49, + -88, + -76, + -9, + 4, + -121, + -127, + -91, + -96, + 110, + 103, + 29, + 103, + 29, + -22, + 89, + 61, + -97, + 66, + 50, + 35, + 87, + -45, + -82, + 105, + 87, + 22, + -45, + 50, + 86, + 63, + -116, + -19, + 108, + 32, + -36, + -102, + 52, + 29, + 53, + -114, + -64, + -59, + -116, + 109, + 121, + 39, + 10, + 28, + -62, + -118, + 109, + -36, + 7, + 97, + 115, + -67, + 69, + -74, + -95, + 46, + 56, + 117, + -93, + -81, + -95, + -48, + -56, + 52, + -64, + -90, + -86, + -65, + -16, + -89, + 120, + 76, + -99, + -86, + -19, + 123, + -98, + -42, + 18, + 63, + 106, + 97, + -94, + -76, + -115, + 55, + 52, + 74, + 85, + -98, + 97, + -74, + 74, + -74, + 98, + 59, + -11, + 76, + -109, + -25, + 33, + -121, + -82, + 103, + -8, + -46, + 114, + 21, + -4, + 72, + 43, + 77, + 98, + 121, + 43, + -106, + -117, + -95, + -77, + 82, + -47, + 87, + 109, + -27, + 86, + 66, + -101, + 103, + -71, + 69, + -116, + -120, + -5, + 72, + 57, + 97, + 57, + 99, + -50, + -14, + 57, + -115, + 23, + -57, + -31, + 30, + 25, + 24, + 4, + 82, + 13, + -93, + 120, + -64, + -74, + 98, + 13, + 81, + 39, + -70, + 0, + -12, + 53, + 35, + -29, + 98, + -104, + -44, + -69, + 48, + -101, + -55, + 83, + 37, + -110, + 84, + 15, + 25, + -38, + 75, + -75, + -94, + 60, + -118, + -43, + -48, + -82, + -128, + 106, + 55, + -6, + -9, + -2, + 86, + 49, + 23, + 45, + -82, + 34, + -91, + -72, + 22, + 109, + 98, + 26, + -61, + 70, + 112, + 27, + 9, + 80, + -17, + 71, + 115, + 26, + -93, + 22, + -52, + -87, + 82, + -23, + -46, + 26, + 126, + -56, + -4, + -116, + 86, + -21, + 3, + 91, + 9, + -20, + 46, + -46, + 66, + -62, + 67, + -82, + -20, + 30, + 117, + 113, + -40, + -113, + 2, + 23, + -13, + -18, + -125, + -74, + 125, + -49, + -79, + -54, + 55, + 80, + 104, + 79, + 94, + -66, + -44, + 4, + -92, + -10, + -76, + 16, + -83, + 98, + -1, + 0, + -109, + 9, + 11, + 38, + -119, + -122, + -5, + 94, + -22, + -8, + -117, + 103, + -86, + 93, + 49, + 39, + -38, + -92, + 74, + 75, + -4, + -77, + -31, + -21, + 87, + -109, + -8, + 63, + -5, + 33, + 16, + -39, + -21, + -42, + -17, + -66, + -31, + -98, + -27, + 9, + -83, + -77, + -45, + -58, + -34, + -11, + 92, + 104, + -42, + -120, + -51, + -94, + -97, + 106, + 76, + 57, + -83, + 100, + -117, + 64, + -108, + -40, + 62, + -75, + -67, + -89, + 100, + -76, + 51, + -20, + -85, + 71, + 91, + 9, + -34, + -119, + -78, + -74, + 36, + -41, + 86, + 102, + -33, + 91, + -30, + -50, + 115, + 116, + 107, + 14, + 52, + 92, + 90, + 27, + 116, + 96, + 121, + 115, + -64, + 57, + 86, + 19, + 87, + 82, + 69, + -87, + 34, + -45, + -3, + 79, + -62, + 86, + 47, + 45, + 89, + -90, + -67, + 67, + -105, + -81, + -106, + -123, + 0, + 45, + 90, + 104, + -19, + -38, + 13, + 37, + 27, + 43, + 45, + 55, + -8, + 25, + 15, + 85, + 105, + -38, + -26, + -71, + -127, + -43, + -20, + 44, + -121, + 35, + -51, + 26, + 92, + 92, + 63, + -12, + -91, + -54, + 124, + 81, + -108, + 108, + 86, + -21, + -34, + 47, + -79, + 106, + -38, + -70, + 80, + 89, + -117, + 93, + 87, + 118, + 73, + -65, + -118, + 31, + -118, + -86, + -11, + 18, + 38, + -85, + 17, + -39, + 73, + 87, + 4, + -22, + -102, + 106, + 75, + 93, + 1, + 66, + -6, + 54, + 77, + 118, + 79, + 125, + 81, + 50, + 17, + 12, + -54, + -110, + 76, + 36, + 110, + -98, + 18, + -61, + 58, + 60, + -73, + 3, + -111, + 43, + 45, + 114, + -75, + -128, + -80, + 81, + -95, + 39, + -4, + 100, + -117, + -70, + 55, + 21, + -5, + -6, + 7, + -66, + 7, + 83, + -81, + 108, + -115, + -23, + -18, + 44, + -44, + -81, + 125, + 126, + 70, + 115, + -15, + 91, + -74, + -43, + 119, + -27, + -120, + -49, + 94, + -31, + 38, + 56, + 110, + -54, + -7, + 125, + 108, + -60, + -90, + 20, + 74, + 49, + -1, + 0, + 97, + -50, + -34, + 102, + -20, + 113, + -79, + -84, + -35, + -35, + -24, + 19, + 75, + 49, + 90, + 101, + -124, + -41, + 99, + 8, + 106, + -105, + -62, + 103, + -116, + -34, + 11, + 58, + -10, + -119, + -87, + -117, + -82, + 12, + -96, + -2, + 39, + -47, + -12, + 123, + 68, + 34, + 115, + 108, + 95, + -21, + 19, + 81, + -74, + 66, + -60, + -112, + -41, + 16, + 108, + -36, + 38, + -8, + -83, + 21, + 67, + 105, + -126, + 127, + -125, + -10, + 33, + 3, + -117, + 86, + -118, + 11, + -13, + 125, + -93, + 104, + 117, + -86, + -115, + -106, + 74, + 73, + -43, + -98, + 59, + -4, + 29, + 65, + 127, + 2, + -114, + -78, + 68, + -73, + 50, + 73, + 17, + -54, + 123, + 45, + 123, + 19, + -105, + 35, + 48, + -57, + 52, + -92, + -21, + -33, + 13, + -3, + -120, + -96, + 49, + 119, + -92, + -2, + 29, + 82, + 44, + 37, + -54, + 42, + 124, + 105, + 111, + -102, + 24, + 69, + 85, + -66, + -89, + 111, + -123, + 88, + 94, + -44, + 86, + -54, + -109, + 8, + -59, + 78, + 14, + -116, + -103, + 12, + 78, + -104, + 57, + 104, + -40, + 53, + 10, + -8, + -23, + -43, + 68, + -16, + -69, + 56, + 20, + 74, + -84, + 90, + -113, + 123, + 54, + -75, + 102, + -59, + 5, + -43, + -103, + -123, + 27, + 91, + -3, + -121, + -94, + -79, + 76, + -19, + -115, + 42, + 71, + 25, + 59, + -83, + 60, + -20, + -63, + 116, + 84, + 101, + 98, + -54, + -76, + 119, + 118, + 4, + 34, + -97, + 109, + 22, + 23, + 96, + -97, + 87, + 1, + -5, + 98, + -78, + 25, + -42, + 25, + 126, + 106, + 108, + -5, + 11, + 14, + 124, + 123, + 21, + -57, + 91, + -122, + -78, + -6, + -76, + -122, + -92, + 9, + 48, + 31, + -98, + 115, + 5, + -46, + 75, + 9, + -72, + 66, + -62, + -16, + 75, + 6, + -106, + -111, + -14, + -86, + 4, + -11, + 2, + -90, + 122, + 65, + 65, + 28, + -12, + -125, + 71, + 85, + 40, + 69, + -91, + 48, + -110, + -90, + -124, + -77, + -71, + -80, + 10, + -126, + -43, + 9, + 126, + -29, + 20, + -67, + 45, + 46, + -80, + -69, + -126, + -120, + 104, + 116, + -58, + 1, + -65, + 23, + 101, + 73, + -12, + 94, + -99, + -100, + 74, + -100, + 14, + -117, + -4, + 57, + -27, + 36, + -23, + 109, + -71, + 22, + 78, + -50, + -61, + 37, + 53, + -21, + 94, + -90, + -88, + 74, + -37, + -93, + -24, + -105, + -12, + -59, + 53, + -80, + -107, + -83, + -60, + -84, + -76, + -114, + -11, + -15, + -99, + -121, + -18, + 107, + 79, + -97, + -77, + 46, + 33, + -29, + -21, + 6, + -12, + 61, + -89, + -42, + -29, + -106, + -12, + -52, + -53, + 42, + -96, + -102, + 116, + -18, + 121, + -11, + 39, + 89, + -48, + 44, + 92, + 21, + -15, + -34, + 14, + -69, + 54, + 100, + -42, + 90, + 91, + -6, + 56, + -2, + 85, + 8, + 2, + 12, + -60, + -31, + -99, + 104, + -122, + -108, + 62, + -76, + -89, + -14, + 126, + -12, + -32, + 30, + -77, + -126, + 53, + 62, + -80, + -34, + -9, + -80, + -67, + 49, + -118, + -66, + -46, + 69, + -69, + -123, + -45, + -99, + 91, + 14, + 6, + -115, + 87, + 30, + 6, + -111, + -79, + 11, + 105, + -50, + 86, + -80, + -110, + 104, + 105, + -58, + -23, + 5, + 68, + 90, + 94, + 74, + 43, + 106, + -126, + -118, + 51, + -20, + -98, + 106, + -53, + -90, + -109, + -108, + 24, + 17, + -79, + 47, + -99, + 18, + -51, + 106, + -12, + -75, + -36, + -6, + 91, + -109, + 92, + -97, + 115, + 113, + 87, + 55, + -124, + -97, + 30, + 28, + -77, + -120, + -50, + -13, + -94, + -52, + 41, + 74, + 63, + 96, + -113, + 105, + -72, + -64, + -38, + -43, + -54, + -115, + 105, + 36, + 66, + 25, + -112, + -123, + -68, + -122, + -97, + -2, + -88, + -112, + 125, + -92, + -103, + 39, + -59, + 1, + -23, + 70, + -94, + 50, + 20, + -38, + -69, + 41, + 50, + 62, + -86, + 84, + -124, + 112, + 70, + -34, + 58, + 52, + -2, + -105, + 92, + -32, + -77, + 85, + 24, + -38, + 29, + 53, + -114, + -47, + 74, + 51, + 77, + 77, + -24, + -121, + -90, + 40, + 47, + -79, + 93, + 58, + -104, + -41, + 44, + -24, + 46, + 100, + -101, + -82, + -93, + 48, + 24, + 111, + 96, + 110, + 115, + -1, + 0, + -46, + -26, + -118, + -66, + 58, + 85, + -54, + -97, + 39, + -77, + 124, + 91, + 74, + -107, + 69, + -38, + 84, + -38, + -114, + -110, + 3, + 124, + 64, + 113, + 105, + -54, + -98, + -75, + 103, + -22, + -88, + -5, + -43, + 39, + 22, + 97, + 4, + 45, + 8, + -101, + 85, + -47, + -56, + 57, + -81, + -87, + 16, + 37, + -91, + -82, + 13, + -109, + -17, + -33, + -76, + 59, + 24, + 71, + -127, + 70, + 8, + 30, + 3, + 50, + -29, + 49, + 105, + -24, + -121, + 58, + 101, + 34, + -66, + 110, + 100, + -121, + -13, + 8, + 30, + 8, + -44, + 86, + -58, + 101, + -8, + -79, + 23, + -92, + 17, + -82, + 26, + -22, + -54, + 108, + -102, + 30, + 100, + -118, + -78, + -97, + -40, + -62, + 106, + -46, + -104, + -55, + -114, + -40, + 64, + 12, + 44, + 113, + 62, + 121, + -72, + -68, + 12, + 35, + -18, + 104, + -118, + 4, + 25, + -106, + -46, + 73, + -31, + -72, + 28, + 20, + -125, + 93, + -12, + 94, + 47, + -103, + 121, + 26, + -77, + 74, + 43, + -112, + 47, + -87, + -22, + -58, + -75, + 38, + 18, + -111, + 94, + -60, + 77, + 114, + -38, + -59, + -99, + -114, + 3, + 122, + 15, + -63, + -33, + 25, + 20, + -7, + -87, + 127, + -20, + 4, + 84, + 111, + -127, + 56, + -70, + -66, + -73, + 29, + -89, + 9, + 6, + -81, + -43, + 12, + 57, + 68, + -21, + 112, + -42, + -59, + 76, + -51, + -112, + -52, + -55, + -95, + -82, + -128, + -90, + 103, + -60, + -97, + 85, + -7, + -80, + -97, + -22, + -66, + 78, + 28, + 92, + -31, + -115, + -113, + -54, + 54, + 60, + -127, + -4, + -78, + 43, + 22, + -51, + -98, + 9, + -91, + 50, + 72, + -85, + 43, + 5, + -101, + -64, + -117, + 51, + -102, + -112, + 44, + -113, + 114, + 5, + -37, + -45, + 92, + -16, + 21, + -125, + 26, + 48, + -85, + -18, + -116, + 54, + -96, + 40, + 49, + -8, + -32, + -115, + -76, + -96, + 79, + 74, + 29, + -119, + -8, + 97, + 96, + 106, + 59, + 30, + -127, + 2, + 114, + -48, + 77, + -43, + 74, + 9, + 10, + -71, + 121, + -27, + -48, + 121, + 46, + -70, + 51, + -102, + -14, + 95, + 45, + -49, + 79, + -124, + 29, + 88, + -21, + -108, + -77, + 16, + -67, + -92, + -73, + 96, + -5, + 122, + -77, + 13, + 117, + -125, + 6, + -89, + 3, + 108, + 28, + -117, + 42, + 76, + -1, + 0, + 89, + -113, + 48, + 70, + 50, + -51, + -75, + 53, + 106, + -46, + 93, + -49, + -41, + -11, + -61, + -55, + 108, + -98, + -119, + 61, + -37, + -3, + -106, + 29, + 9, + 36, + 16, + 99, + -81, + 75, + -9, + -63, + 36, + 27, + 126, + -50, + 100, + 32, + -58, + 111, + -76, + -57, + 26, + -52, + 86, + 122, + -31, + 35, + 64, + 0, + -43, + 100, + -107, + 2, + -73, + -89, + 40, + 118, + -107, + 97, + -12, + 59, + -81, + 97, + 119, + -6, + -109, + 35, + -32, + 41, + -84, + -103, + -83, + -97, + -83, + -25, + -23, + -114, + 87, + -23, + -24, + 62, + -100, + -32, + -57, + 41, + -125, + 8, + -52, + -105, + -114, + -126, + 121, + 60, + -40, + 30, + 121, + 52, + -108, + -77, + 68, + 90, + 70, + -109, + -78, + 99, + -93, + 84, + -96, + 3, + -46, + 40, + 37, + 69, + 8, + -122, + 68, + -86, + 29, + 114, + -38, + 53, + -70, + 8, + 94, + 52, + -81, + -46, + 125, + -96, + -57, + 122, + -109, + -40, + 38, + -55, + -4, + -9, + -47, + -94, + -84, + -123, + 65, + 11, + 64, + -43, + 114, + -91, + -61, + -25, + -14, + -20, + -49, + 36, + 97, + -52, + 111, + -95, + -70, + -65, + 46, + -34, + 9, + 107, + -123, + -102, + -50, + 75, + 78, + -125, + 15, + 104, + -113, + -90, + 9, + -65, + -103, + 16, + 85, + -91, + 124, + -125, + -123, + 73, + -82, + 1, + -94, + -20, + 26, + 30, + -62, + 83, + 90, + -50, + -84, + 9, + -49, + 24, + 44, + -40, + 64, + 15, + 105, + 90, + 70, + -62, + -74, + -68, + 96, + 42, + -66, + 43, + -93, + 102, + -4, + 5, + 127, + -49, + -76, + 19, + -50, + 102, + 28, + -50, + 61, + 99, + 111, + -13, + 105, + -49, + -6, + 11, + 19, + -82, + -98, + 101, + -56, + 74, + -48, + 113, + 106, + 40, + -54, + 86, + 51, + -81, + 60, + -27, + 72, + -87, + -127, + -97, + 108, + -91, + -9, + 105, + 113, + -100, + 22, + -38, + -53, + -62, + -122, + 86, + -54, + -73, + -88, + -96, + 81, + -26, + 62, + 107, + 62, + 99, + 116, + -78, + 75, + 107, + 34, + -56, + 103, + 55, + 4, + 55, + -69, + 17, + -44, + 15, + 90, + -9, + -61, + -90, + 99, + -21, + -15, + 33, + -20, + -118, + 1, + 39, + 127, + 104, + 91, + -114, + -40, + 2, + -105, + 24, + 75, + 45, + -55, + -35, + -37, + -86, + -107, + -39, + -128, + 112, + 2, + 1, + 61, + -126, + -32, + -120, + -110, + 22, + 72, + -111, + 6, + 84, + 22, + -122, + 84, + 23, + 89, + 102, + -115, + 71, + -51, + -80, + 119, + -89, + 24, + -100, + 108, + -70, + -114, + -51, + -61, + 7, + -94, + -46, + 22, + -3, + 66, + 93, + 82, + -126, + -50, + -100, + 14, + 46, + 85, + -95, + 64, + 8, + 48, + 63, + -29, + -84, + -108, + 89, + -60, + -106, + -101, + 52, + -69, + -73, + -2, + -38, + -73, + 34, + -93, + -93, + 14, + -114, + -82, + -72, + -111, + -79, + 114, + 59, + -68, + 44, + -88, + -51, + 19, + -103, + 16, + 52, + -85, + -82, + -23, + 74, + 88, + 50, + 2, + 29, + 92, + -122, + 0, + 5, + 113, + -87, + 12, + 75, + 16, + 44, + -118, + 120, + -118, + -69, + -58, + 26, + -104, + 120, + -36, + -86, + 123, + -85, + -11, + -22, + 118, + 32, + 88, + -21, + 98, + 106, + -20, + 1, + 94, + -22, + -12, + 62, + -41, + -29, + -13, + 122, + -120, + 37, + 22, + -52, + -41, + 93, + 123, + -109, + 83, + -73, + 80, + -117, + -71, + -70, + 116, + 96, + -90, + 20, + -27, + 9, + 91, + -20, + 70, + 97, + -122, + -109, + 55, + 76, + -88, + -70, + -27, + -119, + 14, + -48, + 127, + 105, + -91, + 72, + -78, + 119, + 119, + 19, + -43, + -44, + 19, + -13, + 30, + -27, + 24, + 0, + -13, + -97, + -95, + 58, + -67, + -105, + 124, + -21, + -61, + -51, + 77, + 10, + -5, + -51, + -34, + -35, + 29, + 56, + -35, + -108, + -51, + 45, + -103, + 105, + -37, + 118, + 60, + 41, + 8, + 80, + -21, + 2, + 15, + -36, + 74, + -24, + -18, + -104, + -45, + -52, + 53, + -50, + 101, + 11, + -117, + -22, + -12, + 86, + -42, + 116, + 80, + 109, + 109, + 73, + -83, + -92, + 13, + 92, + 94, + -96, + 96, + -116, + -126, + 24, + 51, + -88, + -85, + 122, + 41, + 112, + 61, + 120, + 102, + -39, + -102, + 108, + 39, + -77, + -100, + -113, + -123, + -30, + -40, + 33, + 123, + 72, + 107, + 3, + -17, + 6, + -69, + -7, + 118, + 76, + -109, + 90, + -87, + 122, + 82, + -19, + -19, + -55, + -122, + 15, + 48, + -72, + 99, + -75, + -103, + 51, + -92, + 7, + -43, + 82, + -48, + -109, + 27, + 33, + -110, + 14, + 37, + 87, + 7, + 89, + -77, + 57, + 125, + 86, + 9, + -78, + -106, + 104, + -96, + 13, + -57, + -21, + 36, + 77, + 20, + -44, + -77, + 86, + 77, + 72, + 21, + -8, + 70, + -85, + 93, + 96, + -1, + 0, + 65, + 90, + 68, + -38, + 126, + -95, + 56, + 8, + 18, + -66, + 81, + 80, + 106, + -124, + 61, + 88, + 104, + 90, + 54, + 90, + 1, + -87, + -63, + -53, + 40, + 108, + 55, + 100, + -8, + 114, + 11, + -117, + -77, + -124, + -30, + 92, + -48, + -19, + 108, + 87, + -113, + -57, + 13, + -76, + -114, + -23, + 40, + -118, + 103, + -107, + 89, + -39, + 100, + -111, + 34, + 122, + 5, + 64, + 88, + -42, + 69, + 49, + 26, + -113, + 104, + 1, + 96, + -122, + -28, + -65, + 83, + 74, + 37, + 70, + -105, + -96, + 60, + -118, + -84, + -98, + 59, + 80, + -22, + -89, + -38, + 53, + 38, + -37, + 79, + 119, + 102, + -92, + -80, + 77, + -6, + -37, + 69, + -75, + 44, + 105, + 75, + -116, + 72, + -91, + -51, + -53, + -96, + 8, + 55, + 76, + 18, + 54, + 87, + 61, + -35, + 41, + -123, + 10, + -90, + 94, + -126, + 70, + -98, + -48, + -59, + 124, + -79, + 69, + 21, + 49, + -28, + 82, + 93, + -12, + 81, + 58, + 67, + -6, + -5, + 89, + 81, + 64, + 36, + 84, + 63, + 85, + 82, + -77, + -86, + -35, + 5, + -52, + -86, + -112, + 88, + -38, + -43, + 28, + 76, + 15, + 77, + 100, + 77, + -13, + 114, + 43, + 18, + -114, + -60, + -18, + -16, + -24, + -105, + -95, + 14, + 7, + 119, + 44, + 38, + -85, + -105, + -28, + -39, + -110, + -77, + -119, + -94, + -102, + 121, + 80, + 42, + 56, + -6, + -50, + 47, + -96, + 101, + 45, + -71, + -112, + 23, + -3, + 29, + -107, + 1, + 82, + -114, + -96, + -70, + 90, + -67, + -51, + 7, + 53, + 116, + -42, + -76, + 102, + 48, + 72, + -23, + 72, + -46, + -84, + 11, + 75, + -41, + 22, + 83, + -105, + 107, + 34, + 55, + -74, + 73, + 94, + -7, + 85, + -96, + 96, + -102, + 57, + -94, + -15, + -44, + -112, + -44, + -31, + 49, + -109, + -52, + 66, + -120, + 99, + 115, + 41, + 33, + -25, + -32, + -101, + 15, + 105, + -85, + -88, + 51, + -61, + -14, + -101, + 50, + -28, + 113, + -119, + -25, + 69, + -50, + -82, + 99, + -1, + 0, + 24, + -43, + -13, + 31, + 40, + 11, + 61, + 108, + -127, + 11, + -6, + -42, + -84, + 116, + -62, + 76, + -27, + -31, + 92, + -103, + 17, + -5, + 31, + 114, + -77, + -95, + 49, + -55, + -95, + 108, + 55, + -113, + 48, + 124, + -105, + 66, + -6, + -78, + -15, + 61, + -25, + -85, + -73, + -39, + 52, + 65, + -53, + -75, + -59, + 22, + 79, + -86, + -74, + 65, + 120, + 83, + -106, + 22, + 29, + 23, + -71, + -94, + -95, + -25, + 109, + 53, + -11, + -39, + -77, + 55, + -93, + 125, + -92, + -106, + 63, + 44, + -118, + -15, + -47, + 69, + 4, + -99, + -76, + 35, + -28, + -112, + 87, + 91, + 32, + 81, + 37, + -120, + -75, + 93, + 125, + 64, + -87, + 12, + -66, + 8, + 10, + 75, + 97, + -50, + -86, + 53, + -40, + 88, + 0, + 10, + 107, + 32, + -110, + -67, + 85, + -43, + -20, + 125, + 74, + -32, + -47, + 113, + -116, + -1, + 0, + -29, + -112, + -59, + -95, + -99, + 63, + -126, + 101, + 92, + 105, + 19, + -56, + -61, + 33, + -37, + 108, + 82, + -31, + 110, + -104, + -70, + 77, + 67, + -127, + 103, + -101, + 3, + 32, + 63, + 71, + -44, + 117, + 39, + -41, + 15, + 80, + -22, + 55, + 99, + 36, + -36, + 114, + -70, + -14, + 116, + -33, + 20, + 37, + 119, + -71, + 93, + -96, + 80, + -22, + -102, + -58, + -42, + -75, + -99, + -119, + 77, + 123, + 60, + 91, + -53, + 6, + 72, + -59, + 65, + 45, + -57, + -3, + 122, + 42, + -41, + -96, + -79, + -61, + -125, + 68, + -51, + -20, + -101, + 35, + 62, + 108, + -110, + -65, + -104, + -25, + 86, + -22, + 51, + 47, + 87, + 11, + 99, + 64, + -119, + 48, + -61, + 28, + -86, + 109, + -39, + 81, + 17, + 107, + -49, + -24, + -25, + -22, + -33, + 1, + -35, + 7, + -11, + -9, + 94, + -32, + 78, + 10, + 73, + 21, + -113, + 127, + 74, + 50, + 127, + 78, + 53, + 95, + -74, + 71, + 85, + -42, + 114, + -26, + -118, + -76, + 122, + 101, + 40, + -71, + -46, + -71, + -57, + -1, + 0, + -47, + -75, + -25, + -115, + -89, + 19, + 51, + 122, + -7, + -68, + 52, + 76, + 46, + 102, + -42, + -122, + -112, + 72, + 29, + 32, + -11, + -40, + 90, + 28, + -77, + 86, + -76, + -115, + 5, + 95, + 39, + 23, + 48, + 42, + -60, + -92, + -122, + 120, + -114, + 67, + 66, + -98, + -84, + -70, + -38, + 46, + -55, + 84, + -96, + 34, + 74, + 117, + -97, + -40, + -94, + -56, + -94, + -2, + -44, + -29, + 111, + -15, + -118, + -53, + 106, + -52, + -114, + 24, + -14, + -93, + 35, + -118, + -113, + -7, + -56, + -78, + 69, + -107, + -105, + -121, + 49, + -38, + -47, + -128, + 54, + -93, + -118, + 25, + -15, + -4, + 27, + -47, + 18, + -108, + 29, + 21, + -29, + 89, + 25, + -68, + -124, + -80, + 101, + -109, + -81, + 107, + -128, + -126, + -44, + -11, + -19, + -40, + 0, + -92, + 19, + -47, + 27, + -99, + -55, + 62, + -81, + -20, + 124, + -84, + -117, + 25, + -120, + 42, + -80, + 40, + 54, + 7, + 95, + 112, + 42, + 111, + -28, + -22, + 88, + -98, + -88, + -39, + 80, + 2, + -128, + -93, + -56, + -77, + -85, + -96, + 100, + 116, + 15, + -92, + -80, + 84, + 90, + 61, + -25, + 125, + -19, + 94, + -14, + -44, + 35, + 47, + 58, + 107, + 56, + -29, + 70, + 112, + 81, + 97, + -110, + 54, + -42, + -51, + 3, + -102, + 109, + 76, + -19, + 32, + -40, + -100, + -24, + -22, + -67, + 17, + 85, + 49, + -92, + -124, + 73, + 106, + 12, + 33, + 63, + 47, + -92, + 33, + 77, + 65, + 91, + 68, + -43, + 76, + 121, + -31, + -103, + -86, + 15, + -78, + 98, + 108, + -12, + -14, + 119, + -92, + 116, + -3, + 92, + -122, + -105, + 127, + -72, + -77, + 36, + -28, + -30, + -51, + 54, + 105, + 26, + 83, + 91, + -85, + 30, + 24, + -39, + -45, + -107, + -19, + 98, + -19, + 86, + 76, + 99, + 48, + 96, + -13, + -69, + -104, + -28, + 92, + 50, + -110, + -44, + -2, + 123, + -50, + -77, + -48, + -116, + 64, + 32, + 106, + 6, + -25, + 99, + 99, + -56, + -28, + 73, + 48, + -102, + 9, + 109, + 121, + -88, + 2, + -78, + 92, + -87, + 1, + -25, + 8, + -34, + 49, + 5, + -42, + -69, + 30, + -111, + -10, + -3, + -99, + 19, + 65, + 56, + 80, + -75, + -37, + 101, + 8, + -9, + 103, + 75, + 32, + -83, + -98, + 104, + 57, + -62, + 85, + 3, + 107, + 114, + 51, + 45, + 104, + 65, + -27, + -96, + -35, + 57, + 120, + 72, + 104, + -115, + 13, + -22, + 12, + 86, + -36, + 24, + 29, + -52, + -65, + 70, + -59, + -39, + 124, + -37, + -75, + 48, + -24, + -38, + 3, + -117, + -118, + -22, + 50, + 0, + -46, + -39, + -50, + -114, + -40, + 2, + -26, + -100, + -21, + 88, + -86, + -95, + -76, + -44, + 72, + -77, + -79, + 9, + -52, + -43, + -78, + -5, + -38, + -95, + 100, + -36, + 127, + 59, + 87, + -36, + -73, + 68, + -59, + 43, + -80, + 35, + 10, + 36, + 122, + 13, + 50, + 29, + 98, + -12, + -96, + -19, + -66, + -3, + -107, + 38, + 10, + 54, + 2, + 38, + 112, + -6, + 72, + -28, + 89, + 102, + 31, + -36, + -38, + -126, + 73, + 10, + 64, + 98, + -53, + -47, + 0, + 88, + 7, + -37, + 27, + -57, + -39, + 31, + -50, + 40, + -2, + -28, + 72, + -10, + 10, + -95, + -126, + 123, + 105, + -70, + 80, + -60, + 26, + -93, + 76, + 42, + -2, + 47, + -46, + 91, + -70, + 54, + 30, + -48, + -26, + -34, + 97, + 70, + 57, + 102, + -50, + 104, + -23, + 99, + -113, + -117, + 108, + 26, + 70, + 95, + -120, + 70, + -56, + 34, + -75, + 22, + 28, + 16, + 37, + 102, + 55, + -3, + 111, + -108, + -104, + -37, + -58, + -24, + 110, + 53, + 0, + 38, + -53, + -83, + -16, + -76, + 29, + 8, + 49, + -42, + 12, + -43, + 78, + 41, + -114, + 59, + 92, + 34, + 79, + 39, + 15, + 88, + -112, + 81, + 26, + 85, + -56, + 53, + 40, + -87, + -63, + 80, + 101, + 66, + -47, + 93, + -1, + 0, + -36, + 23, + 126, + 13, + 40, + 50, + -97, + 63, + 126, + -111, + -73, + 70, + 57, + -2, + 114, + 122, + -52, + 17, + -61, + 82, + -60, + -47, + -45, + -101, + -19, + -110, + 38, + -17, + 65, + 90, + -67, + 56, + 101, + -108, + -116, + -12, + 104, + -38, + -77, + -40, + -110, + -45, + 92, + 85, + 65, + -90, + -88, + 116, + 18, + -112, + 75, + 40, + -11, + 117, + -121, + -62, + -6, + 50, + 27, + 32, + 90, + -97, + 103, + -50, + 111, + 118, + -68, + 78, + 53, + 34, + 68, + 109, + -116, + 110, + -120, + -21, + -16, + 4, + -15, + 125, + 49, + 76, + 102, + 78, + 25, + 91, + -63, + 85, + 79, + 108, + 91, + -50, + -87, + 48, + -87, + 104, + 92, + -68, + -42, + 17, + 113, + -62, + 10, + 63, + 4, + 26, + -80, + 19, + -70, + 127, + -52, + 111, + -91, + 7, + 125, + 71, + 119, + -23, + 56, + -120, + -118, + 58, + 114, + -59, + 21, + -114, + 106, + 87, + 104, + -72, + 42, + -49, + -50, + 106, + 81, + -110, + -107, + 26, + -11, + -6, + -110, + -81, + 82, + 127, + 15, + -19, + -62, + 124, + 85, + -122, + 126, + -96, + 27, + 103, + 30, + 83, + 44, + 86, + 91, + -35, + -38, + -43, + 0, + 83, + -28, + 40, + 42, + 9, + -94, + 63, + 98, + 126, + 5, + -4, + 118, + 122, + -55, + 18, + -60, + -31, + -124, + 103, + 80, + -23, + 37, + 27, + 33, + -108, + 86, + -57, + -86, + -80, + 104, + -35, + 95, + 102, + -127, + 53, + -21, + -38, + 77, + 40, + 82, + -75, + -101, + 51, + 80, + 37, + 118, + -8, + -70, + -112, + 49, + -13, + 103, + -20, + 95, + 66, + 91, + -106, + -107, + 117, + -2, + 105, + 86, + 28, + 64, + -116, + 82, + 115, + -57, + 113, + 85, + -66, + 82, + -111, + 26, + -11, + -2, + 9, + 36, + 98, + -67, + -86, + 125, + 75, + 48, + -5, + -3, + 127, + 36, + -107, + 88, + 26, + 63, + 82, + 62, + -9, + -79, + 37, + 121, + 71, + -111, + -38, + -55, + 7, + 109, + 49, + 95, + 15, + 94, + -51, + 52, + 31, + -30, + 100, + -31, + 65, + -94, + -25, + 74, + -39, + -44, + 8, + 28, + 100, + 98, + -26, + -42, + 20, + -37, + 30, + -66, + -23, + -17, + 9, + -55, + 77, + -127, + -72, + -44, + -82, + 119, + 8, + 27, + -7, + 41, + 62, + -122, + 103, + -27, + 107, + 74, + -31, + -55, + 107, + -27, + -105, + 107, + -58, + -17, + -112, + 29, + 13, + 67, + 83, + 48, + 19, + 97, + -94, + -67, + 111, + -29, + 25, + -14, + -21, + -125, + 23, + -21, + 115, + 49, + -111, + 37, + 0, + 15, + -94, + -59, + 103, + -97, + -110, + -2, + 70, + -51, + -31, + -42, + 89, + 42, + 85, + -79, + 74, + -63, + 107, + 92, + 113, + -64, + -30, + 95, + 100, + 55, + 61, + 50, + -14, + 91, + 56, + -72, + 25, + 99, + 39, + -115, + 66, + -62, + 110, + 94, + 41, + 52, + 76, + 125, + 59, + -119, + 16, + -120, + 35, + -105, + 91, + 34, + -122, + 56, + 61, + 87, + 65, + -36, + -75, + -121, + 57, + 119, + 90, + 106, + -48, + 46, + 45, + -67, + 80, + 85, + 83, + 50, + 73, + -126, + 84, + 58, + -86, + 6, + -117, + 4, + 38, + -73, + 85, + -107, + 14, + -50, + 108, + 36, + 78, + -85, + 67, + 44, + 58, + -68, + 12, + 15, + 113, + -50, + 104, + -10, + 122, + 100, + 41, + 109, + 106, + 122, + -9, + -118, + 62, + -34, + -56, + -93, + 116, + 9, + -104, + 12, + 110, + -110, + 41, + 26, + -85, + -64, + 45, + 47, + 80, + 88, + 58, + -80, + -86, + -23, + 64, + -82, + -57, + -53, + 80, + -7, + 7, + -43, + -120, + -7, + -107, + 105, + 93, + -25, + -50, + -16, + -126, + -25, + -28, + -123, + -60, + -93, + -27, + 19, + 77, + 96, + 6, + -82, + 41, + 6, + -111, + 77, + 27, + 99, + 125, + 112, + 62, + 106, + 7, + -116, + -43, + 116, + 7, + 6, + -36, + 9, + -25, + -120, + -30, + -89, + -7, + 79, + 51, + -45, + 11, + 17, + 64, + 62, + -120, + -35, + -91, + 62, + 24, + 13, + 68, + 28, + 58, + 14, + -124, + 40, + -101, + 104, + -100, + -95, + -95, + -121, + -120, + -26, + 108, + 81, + 39, + -107, + -77, + 71, + 27, + 90, + 56, + -122, + 23, + 104, + -37, + 17, + 2, + -62, + -80, + -72, + -90, + -57, + 97, + 111, + 47, + 16, + 114, + -25, + 53, + 13, + -57, + -98, + -113, + -89, + 78, + 113, + 9, + -105, + 27, + 70, + -112, + -44, + -123, + 88, + -52, + -83, + 22, + -51, + -35, + 20, + -21, + -82, + 7, + -90, + 27, + 97, + -5, + 113, + -124, + 84, + 100, + -14, + 22, + 57, + 48, + -45, + -105, + 108, + 17, + 4, + -8, + -34, + -67, + 69, + 40, + -66, + -59, + 92, + -75, + -71, + -41, + -77, + 77, + 67, + 12, + -42, + 25, + 27, + -13, + 53, + 33, + 103, + -126, + 5, + 76, + 43, + 46, + -56, + -28, + 80, + -112, + 34, + -17, + 41, + 82, + -105, + 93, + -78, + -58, + -109, + -10, + -79, + 30, + 7, + 104, + -26, + 88, + -95, + 108, + -18, + -123, + 120, + -70, + -99, + 88, + -40, + 24, + -105, + 106, + 47, + 19, + 21, + -98, + -88, + 85, + 96, + 99, + 25, + 85, + -78, + -31, + 102, + -7, + 62, + -83, + -25, + -59, + 1, + 50, + 16, + -53, + -70, + -88, + -54, + 124, + -54, + 35, + -115, + -39, + -1, + 0, + -77, + -42, + -102, + 90, + 51, + 64, + 58, + -61, + 88, + -77, + 3, + -81, + -42, + 92, + -80, + 53, + 120, + 62, + 68, + -7, + 43, + -122, + 34, + -119, + 38, + -111, + -28, + -52, + -102, + 48, + -79, + -35, + -23, + 44, + -114, + -66, + 82, + 71, + -71, + -126, + -99, + 84, + 2, + 125, + -88, + 9, + -78, + 84, + 92, + -16, + -57, + -114, + 51, + 29, + -27, + 104, + -43, + 35, + -59, + -123, + -61, + 61, + 29, + 76, + 107, + 17, + 8, + -127, + -120, + 81, + 106, + 25, + -53, + 0, + -59, + -40, + -128, + 104, + 29, + -67, + 6, + -11, + -67, + 36, + -122, + 69, + -25, + -58, + -100, + -91, + -84, + 42, + 72, + -22, + -77, + 31, + 14, + 46, + -107, + 81, + -7, + -56, + -40, + 52, + 58, + 72, + 124, + -81, + -116, + -114, + -13, + -52, + 70, + -10, + -46, + 47, + -120, + -11, + -18, + -120, + 28, + -38, + 33, + 106, + 105, + 21, + -42, + 24, + -41, + -127, + -84, + -126, + 35, + 8, + 119, + -122, + 38, + 91, + 100, + -27, + 13, + -9, + 71, + 40, + -28, + -52, + 77, + 110, + -81, + 65, + 28, + 24, + 114, + 97, + -82, + -9, + 26, + 82, + 49, + 85, + -95, + -23, + -84, + -89, + 110, + 105, + 84, + -77, + -1, + 0, + -115, + 32, + 119, + 113, + 18, + 2, + 101, + -98, + 14, + 48, + -40, + 110, + 74, + -89, + -106, + 85, + 101, + 110, + -57, + 123, + 93, + -25, + 73, + 109, + -51, + -55, + -98, + -82, + 48, + 41, + 107, + 89, + 127, + -63, + 91, + -103, + -28, + -31, + -51, + 4, + -35, + 96, + -70, + -38, + 32, + 16, + 40, + 51, + -42, + -27, + -122, + 104, + 22, + 107, + 55, + 48, + 85, + 40, + 51, + -122, + -42, + -127, + 113, + -78, + 102, + 124, + -100, + -81, + -85, + -12, + -47, + 102, + -39, + 44, + -28, + -128, + -37, + -105, + -79, + -28, + 119, + 64, + 69, + 110, + -61, + 108, + -39, + -45, + -63, + -23, + -85, + -128, + -65, + -65, + 114, + -44, + 17, + 19, + -107, + -16, + -35, + 21, + -124, + 114, + 45, + 123, + -117, + 122, + 88, + -42, + -76, + 52, + -25, + -10, + -73, + -48, + -34, + -127, + 88, + -54, + -56, + -37, + 3, + -25, + 87, + 116, + -91, + 24, + -101, + -124, + -114, + -47, + -105, + 37, + 39, + -104, + -33, + -91, + 104, + 72, + -78, + 108, + -73, + 111, + -107, + 17, + -106, + -88, + 105, + -26, + 117, + 3, + 109, + -29, + 98, + 4, + -86, + -113, + -52, + -3, + 61, + -9, + 92, + 87, + 51, + -58, + -28, + -29, + -95, + -51, + -27, + -91, + 120, + -117, + 75, + -118, + 29, + 99, + 89, + -42, + 41, + -95, + -35, + -29, + 42, + 89, + 14, + 110, + 55, + -111, + 100, + 86, + 85, + 13, + 40, + 45, + 114, + 110, + 30, + -21, + -3, + -76, + -28, + -51, + -114, + -56, + -48, + 46, + 52, + -109, + 70, + 85, + -120, + 99, + 40, + -115, + 34, + -111, + 60, + 108, + -64, + -20, + 97, + 127, + 114, + -113, + 112, + -44, + -10, + 5, + 50, + -59, + -14, + -52, + -20, + 37, + -113, + 64, + -20, + 16, + -67, + 50, + -104, + -34, + 109, + 23, + -6, + 97, + -1, + 0, + 61, + 26, + -78, + -125, + -107, + 4, + 122, + -1, + 0, + 60, + 109, + 104, + -4, + 77, + 34, + -83, + -19, + -37, + 2, + -103, + -42, + 17, + 69, + 82, + 7, + -90, + -86, + -27, + -57, + -13, + -17, + -107, + 51, + 9, + 121, + -32, + 34, + -95, + -101, + -88, + -122, + -91, + -81, + 27, + 87, + -36, + -3, + 11, + 61, + -43, + -80, + 45, + 103, + -50, + 24, + 62, + -99, + -111, + 99, + -8, + -27, + -99, + 29, + -69, + 55, + -46, + 64, + 106, + 23, + -95, + 16, + -109, + -90, + 37, + 30, + 27, + -11, + -23, + 125, + -27, + 92, + -25, + 40, + -3, + 104, + -92, + -123, + 42, + 23, + -80, + 125, + -75, + -5, + -32, + 6, + 57, + 12, + 115, + 101, + -87, + 54, + 74, + 83, + -116, + -113, + -70, + 113, + -33, + 84, + -50, + 115, + -12, + -3, + -113, + -59, + 68, + -72, + -8, + -47, + -94, + 33, + 88, + -95, + 72, + 127, + -110, + -109, + 36, + 97, + -94, + 42, + -114, + 21, + 81, + -107, + 64, + -35, + 89, + -66, + 1, + -1, + 0, + -54, + -56, + 36, + -86, + -44, + 81, + -110, + -91, + 86, + 58, + 109, + -126, + -65, + -115, + -101, + 86, + 40, + -54, + 73, + 117, + 115, + -38, + -112, + 127, + 81, + 31, + -73, + 94, + -87, + -45, + -51, + 89, + -29, + 14, + -75, + -74, + 99, + -7, + -56, + -95, + -118, + -30, + 62, + -46, + -78, + 97, + 20, + 31, + 108, + 53, + 73, + 85, + -80, + -63, + 106, + -5, + -71, + 7, + -122, + 75, + 67, + 25, + -23, + 82, + -111, + 102, + 55, + -20, + -46, + -106, + -83, + -37, + 21, + 73, + 29, + 10, + 14, + 3, + 80, + 58, + -86, + -17, + 69, + 35, + 96, + -104, + -94, + -66, + 120, + -38, + 126, + 35, + -98, + -92, + -48, + 111, + -33, + 124, + -14, + -82, + -31, + 75, + 104, + 77, + 5, + -93, + -74, + -41, + -75, + -90, + 90, + 103, + -124, + -120, + 21, + -36, + -57, + 30, + -47, + 54, + 45, + -114, + -40, + 60, + 95, + 103, + 92, + 46, + 9, + 104, + 86, + 100, + -50, + -76, + -98, + -32, + -14, + 72, + -108, + 89, + 118, + -100, + -107, + -92, + 55, + 20, + 80, + 102, + 21, + -109, + -113, + -8, + -125, + 19, + 3, + 24, + -81, + -59, + -114, + -29, + 115, + -67, + 99, + 67, + -45, + -24, + 6, + 44, + -56, + -52, + -103, + -122, + 61, + -76, + 43, + -113, + -92, + 16, + -85, + 56, + 72, + -104, + 2, + 15, + -81, + 112, + -99, + -74, + -117, + 16, + -123, + 63, + 100, + 90, + -127, + 48, + -77, + -98, + -96, + -41, + -47, + 106, + 33, + 81, + -20, + -114, + 104, + -112, + 27, + -25, + 76, + 57, + -17, + -42, + 84, + 39, + -3, + -74, + 107, + -53, + 35, + -1, + 0, + 103, + -36, + -118, + 41, + 82, + -25, + 62, + -56, + -13, + -7, + 73, + -1, + 0, + -28, + 26, + -78, + -107, + 47, + -59, + 125, + 46, + -101, + -73, + 25, + 87, + -1, + 0, + 67, + 106, + 86, + 84, + 92, + 61, + -91, + 51, + -63, + -11, + -58, + -15, + 1, + -80, + -24, + 82, + 78, + 37, + -26, + -86, + -59, + -116, + -99, + -33, + -8, + 96, + 35, + 16, + 8, + 33, + -68, + -93, + 35, + -76, + -118, + 5, + -5, + 99, + -93, + 87, + -87, + -36, + 15, + -47, + 68, + 53, + -20, + 44, + -12, + 64, + 31, + -111, + 100, + 87, + -128, + -57, + 26, + 70, + -52, + -44, + 6, + -10, + 43, + -77, + 100, + 126, + -106, + 4, + 50, + 17, + 70, + -69, + -42, + -49, + 127, + 61, + -104, + 113, + -42, + 98, + -91, + 81, + 24, + 50, + -16, + 0, + -127, + 4, + -36, + -100, + 93, + 31, + -112, + 62, + 90, + -104, + 105, + 17, + 75, + -101, + -54, + 27, + 7, + -41, + 77, + 100, + 10, + 69, + 45, + 2, + 39, + 28, + -108, + 9, + 38, + -62, + -18, + -89, + 5, + -16, + -86, + 9, + -95, + -123, + -27, + -11, + -116, + 41, + 8, + -81, + -93, + -41, + 43, + -91, + -63, + -102, + 100, + -121, + -90, + 113, + -27, + -114, + -102, + -74, + -127, + -39, + -84, + -47, + 87, + 78, + -114, + 83, + -118, + 114, + 34, + -88, + 11, + 104, + 97, + -65, + -89, + -79, + 2, + -61, + 80, + 86, + -108, + -37, + -125, + -82, + 72, + -91, + 74, + -93, + -128, + 65, + 84, + -63, + 103, + 48, + -83, + -48, + 25, + 46, + 94, + -78, + -29, + 7, + 36, + -59, + -88, + 58, + -128, + -54, + 80, + 46, + 11, + -115, + 61, + -62, + 31, + -27, + 31, + -92, + -84, + 88, + 74, + 101, + -47, + -25, + 68, + 25, + -107, + -127, + -114, + -5, + -98, + -105, + -111, + -97, + 72, + 87, + -90, + -67, + -86, + 84, + 17, + -35, + 69, + 80, + -116, + 73, + 1, + 52, + 21, + 29, + -89, + 62, + 108, + -41, + 51, + 124, + -77, + 86, + -86, + -57, + -16, + 100, + 30, + 127, + -83, + 5, + 76, + -91, + -65, + -14, + 82, + 56, + 27, + 101, + -36, + 90, + 92, + -18, + 24, + 116, + -101, + -90, + 87, + -13, + -97, + 56, + -24, + -127, + -99, + -65, + -50, + -31, + 79, + -28, + -15, + -27, + -36, + -127, + -30, + 100, + 59, + 13, + 20, + 21, + 85, + -39, + 43, + -108, + -40, + 25, + 50, + 5, + -33, + -18, + -64, + -46, + 31, + 9, + 21, + 114, + -43, + -35, + -12, + -65, + 59, + 52, + 22, + 109, + -63, + -76, + -38, + -52, + 40, + 123, + 34, + -2, + 55, + -90, + 80, + -84, + -109, + -25, + -104, + 18, + -42, + 114, + 50, + -97, + 19, + 50, + 24, + 100, + 70, + -58, + -102, + 96, + 93, + 38, + -115, + 75, + -92, + -114, + 88, + -127, + 10, + 84, + 114, + -23, + 51, + -123, + 95, + 107, + -125, + -84, + 77, + 35, + 35, + 13, + 0, + 98, + -79, + 68, + -78, + -64, + -50, + 25, + 100, + -116, + 80, + 42, + -51, + -85, + -127, + -19, + -9, + 54, + -27, + 67, + 34, + -110, + 43, + -9, + 112, + 3, + 47, + 118, + 1, + -70, + -41, + -59, + 79, + -73, + -128, + 36, + 54, + 124, + 99, + 55, + 46, + 112, + -116, + 97, + 55, + 11, + 11, + -43, + -27, + -55, + -104, + 77, + 81, + -20, + 50, + -106, + -15, + -10, + -34, + -125, + -11, + 103, + 107, + -32, + -105, + -98, + 115, + -27, + 17, + -50, + -20, + 39, + -63, + -73, + 81, + -62, + -53, + -89, + 124, + -32, + 62, + -119, + 84, + -12, + 67, + -75, + 56, + 118, + -78, + -87, + 78, + -119, + -108, + 127, + -70, + 90, + -78, + -2, + 123, + -45, + -33, + 119, + 7, + 7, + -113, + 41, + -46, + -107, + 116, + -53, + -106, + -76, + 122, + 57, + -71, + 117, + 26, + -103, + -90, + 69, + -59, + -59, + 81, + -103, + -22, + 53, + -97, + -126, + -104, + -82, + 6, + 95, + -123, + -92, + -10, + -84, + 73, + 93, + -70, + 34, + -127, + -88, + 42, + -102, + -51, + -13, + -85, + 21, + -21, + -87, + 52, + -4, + 16, + 1, + -18, + 123, + -91, + 41, + 122, + 15, + 39, + 109, + -34, + 52, + -55, + -66, + 42, + 17, + 102, + 0, + 89, + 102, + 8, + 22, + 80, + -54, + -38, + -126, + -77, + -94, + 46, + 44, + -73, + 89, + 25, + -74, + -4, + 62, + -113, + 99, + -121, + 60, + -126, + -82, + -103, + 66, + 77, + 20, + -16, + -30, + -65, + 51, + 103, + 122, + 74, + -12, + 81, + 2, + 86, + -107, + 85, + 45, + 93, + -30, + 24, + 127, + 13, + 11, + -81, + 54, + 83, + -128, + -25, + -9, + 96, + 15, + -99, + -22, + -18, + 37, + -19, + 26, + 55, + 91, + 126, + -68, + 69, + -95, + 46, + -110, + 124, + 58, + -86, + 6, + 76, + 49, + -17, + -5, + 122, + -95, + -63, + 41, + -64, + -4, + -57, + -123, + -113, + 56, + 44, + 29, + -53, + -51, + -18, + -78, + 39, + 37, + -46, + -70, + -42, + 67, + 70, + -48, + -44, + 77, + -90, + 37, + -90, + -102, + 102, + -110, + 64, + 0, + 86, + 44, + 95, + 98, + -74, + 68, + 96, + 29, + 25, + -54, + -85, + 16, + 70, + -44, + -59, + 53, + -40, + 49, + 55, + 68, + 51, + 95, + 88, + 82, + 53, + 27, + -106, + 64, + -126, + 61, + 118, + -96, + -46, + -79, + 54, + 20, + 108, + 44, + 0, + -66, + -35, + -61, + 106, + -56, + 1, + 82, + 67, + 40, + 30, + -94, + -70, + -66, + 58, + -125, + -97, + -27, + -42, + -95, + -99, + -29, + 59, + 37, + -58, + 112, + -78, + 12, + 38, + 55, + 124, + 88, + -9, + 36, + -32, + 79, + -124, + -104, + 9, + -24, + 21, + 6, + -40, + -88, + 69, + -50, + -59, + 78, + -104, + 30, + 115, + -122, + -19, + 26, + -21, + 6, + -53, + 34, + -38, + -12, + -85, + -24, + -56, + 1, + -107, + 51, + 19, + -75, + -117, + -40, + 96, + 47, + 118, + -104, + 40, + -74, + -51, + 90, + -92, + -12, + -24, + -98, + -69, + 54, + -65, + 106, + 118, + -78, + -79, + -116, + 100, + 62, + -38, + 46, + 74, + 50, + 49, + 19, + 28, + 26, + -98, + -123, + -92, + 90, + 7, + 122, + -102, + 69, + 54, + -41, + 13, + -128, + -94, + 122, + -111, + -66, + 74, + -20, + 116, + 20, + 90, + 62, + 29, + 77, + -122, + -4, + -125, + -75, + -94, + 108, + -51, + -60, + -2, + 51, + 115, + 122, + -128, + -66, + -89, + -82, + 50, + -24, + -36, + -38, + -47, + 75, + 10, + 7, + 116, + -121, + 121, + -119, + 53, + -13, + -94, + -115, + -115, + 8, + -100, + -82, + 61, + 89, + -123, + -65, + 56, + 104, + 37, + -107, + 68, + -50, + -65, + -102, + 45, + -71, + -95, + -91, + 55, + 15, + 34, + 59, + 6, + -27, + 80, + 74, + 117, + -62, + 107, + -19, + -11, + 7, + 57, + -103, + -100, + -11, + -61, + 42, + 11, + 117, + -40, + -40, + -42, + 0, + -71, + 92, + 46, + 106, + -71, + 117, + 25, + 62, + 80, + 81, + -47, + -19, + 7, + 17, + 45, + 107, + -17, + -61, + 90, + -126, + -48, + 61, + -105, + 21, + -127, + 122, + -93, + 90, + -25, + 2, + -128, + 35, + -103, + -80, + 116, + -109, + 3, + 120, + 21, + -10, + 70, + -14, + -108, + -76, + -30, + 4, + -110, + 116, + 63, + -12, + 5, + -24, + -125, + -38, + -122, + 48, + 85, + -116, + -74, + 7, + -49, + -62, + -118, + -19, + 77, + 54, + -105, + 111, + 125, + 88, + -3, + 93, + -43, + -83, + 122, + -126, + 119, + 96, + 81, + 34, + 40, + -20, + -50, + 65, + 5, + -113, + -69, + -86, + 5, + 118, + 0, + 5, + -93, + 116, + 88, + -88, + 61, + -12, + 110, + -39, + 21, + -99, + -104, + 23, + -47, + -92, + 95, + -52, + -51, + 105, + -112, + -13, + 19, + -107, + -94, + 95, + 104, + 117, + -48, + 118, + 84, + 107, + 26, + -39, + 122, + 36, + -58, + 39, + -70, + 48, + 54, + -107, + 63, + 44, + -6, + -99, + -48, + 5, + 5, + -51, + -98, + 113, + 101, + -84, + -67, + -47, + -11, + 4, + 83, + 127, + -46, + 17, + 66, + 91, + -127, + -97, + -17, + -48, + -89, + 107, + -102, + 36, + 95, + -40, + 19, + 83, + -5, + -82, + -32, + 110, + -78, + 43, + 37, + 13, + 22, + 104, + 100, + 85, + 102, + 84, + 108, + -87, + -73, + 59, + 114, + -72, + 92, + -72, + 33, + -114, + 22, + -58, + 127, + -12, + 69, + -95, + 119, + -17, + 44, + -99, + 77, + 33, + 73, + -88, + 26, + -59, + 17, + -81, + 58, + 74, + -8, + 6, + 82, + 20, + 55, + 112, + -117, + -128, + -109, + -47, + 66, + -70, + -43, + 52, + 84, + 60, + -110, + -82, + -120, + -65, + 61, + -63, + -30, + 74, + -96, + 100, + 12, + 90, + -117, + -87, + 68, + -28, + -77, + -64, + 76, + -86, + -36, + -74, + -112, + -112, + -11, + 104, + -78, + 51, + 113, + 40, + -39, + 104, + -97, + 46, + -44, + -46, + -111, + 89, + -113, + 66, + 4, + 104, + -121, + 68, + -101, + -77, + 84, + -85, + -103, + -107, + -21, + -71, + 88, + -39, + 72, + 4, + -14, + -52, + -30, + -5, + -60, + -106, + 82, + 3, + -78, + -47, + -123, + 93, + 39, + -65, + -82, + -41, + -121, + 49, + 107, + -111, + 20, + -90, + 45, + 121, + 23, + -2, + -31, + 126, + 55, + -3, + 18, + -15, + 28, + 53, + 91, + 102, + 61, + -64, + -123, + 124, + -4, + 41, + 31, + -24, + 32, + 71, + 57, + -27, + 119, + -37, + 27, + 22, + -27, + 89, + -94, + -52, + -78, + -37, + -58, + -116, + 108, + -121, + 80, + 3, + 27, + 37, + -85, + 109, + 69, + -12, + 123, + -96, + 126, + 46, + -17, + -14, + 8, + 61, + 55, + -82, + -118, + -6, + -20, + 24, + -110, + 82, + -41, + 81, + 90, + -39, + 2, + -75, + -75, + 7, + -1, + 0, + 45, + 107, + -26, + -63, + -80, + 11, + 122, + -112, + 59, + -124, + 113, + 37, + 109, + -35, + 103, + 73, + -42, + -32, + -2, + -2, + 102, + 102, + 66, + -21, + 51, + -78, + 21, + 85, + 106, + -76, + -64, + -47, + 42, + 5, + -63, + 111, + -111, + 45, + 70, + -58, + -26, + -35, + 75, + 50, + -96, + -53, + 77, + 57, + 70, + -97, + 57, + -48, + -117, + 105, + 119, + -55, + -117, + -54, + -40, + 50, + -15, + 101, + 76, + -101, + 91, + -55, + -77, + 118, + 42, + -54, + 121, + -1, + 0, + -100, + 6, + -19, + 67, + -10, + -44, + 86, + -21, + -64, + 8, + 77, + -110, + 21, + -2, + -48, + -66, + 42, + 10, + -28, + 104, + -47, + -114, + -33, + 42, + -27, + -2, + -60, + 98, + -11, + -120, + -7, + 28, + 92, + -89, + -63, + 23, + -7, + -5, + 119, + -69, + -26, + 103, + 25, + 92, + -95, + 9, + 70, + 119, + -41, + -39, + -22, + 55, + 76, + 49, + 10, + 71, + 56, + -10, + -70, + 13, + 99, + 87, + 108, + -85, + -11, + 47, + -31, + -35, + 4, + 93, + -58, + -78, + -96, + 13, + -16, + -46, + -51, + 13, + -31, + -17, + 0, + 116, + 6, + 32, + 0, + -57, + 104, + 55, + -107, + -21, + 43, + -41, + 107, + -113, + 66, + 80, + -92, + 74, + -21, + 73, + 4, + -87, + -75, + 5, + 56, + -84, + -113, + 40, + 81, + -53, + 75, + 16, + -99, + -79, + -45, + -104, + 89, + 58, + -85, + -59, + 73, + 84, + -30, + 73, + 77, + 21, + 17, + 127, + -94, + -48, + 82, + -79, + 12, + -97, + 3, + -1, + 0, + -12, + 101, + 6, + -98, + -20, + 42, + 127, + -34, + -127, + 8, + -29, + 86, + -102, + -123, + -119, + -81, + -114, + -29, + -28, + -105, + -56, + -16, + 86, + -1, + 0, + -3, + -81, + -36, + -69, + 115, + -119, + 38, + -57, + 69, + -113, + 118, + 4, + -112, + -20, + 14, + -89, + 95, + 111, + 109, + 70, + -88, + 53, + -47, + -81, + -51, + -127, + -2, + -3, + 116, + -112, + -69, + -86, + -95, + 20, + 85, + 13, + -112, + 73, + 4, + -5, + 111, + -4, + 116, + 69, + -109, + 103, + -74, + 55, + -16, + 44, + -39, + 122, + -20, + -76, + -41, + 15, + -86, + 0, + 111, + -2, + -84, + 48, + 9, + -85, + 50, + 89, + -18, + -121, + 95, + 106, + 20, + -81, + -52, + 76, + 86, + -18, + -59, + 92, + 89, + -85, + -30, + 71, + -11, + 107, + -19, + 123, + -74, + 37, + -98, + -51, + -101, + 101, + 96, + -67, + -10, + -107, + -13, + 68, + 110, + 43, + -11, + 118, + -47, + 106, + -79, + -101, + 81, + 48, + 84, + -115, + 43, + -54, + 123, + -42, + -10, + -36, + -19, + 107, + -83, + 67, + 61, + -88, + 30, + -58, + 38, + -106, + 1, + 125, + -92, + 4, + 44, + -112, + -122, + -45, + 51, + -117, + 15, + -42, + 78, + -36, + -86, + -85, + 97, + 10, + -24, + 112, + 120, + -42, + -59, + -93, + -75, + -4, + 87, + 2, + -53, + -34, + -83, + -45, + 96, + 18, + 79, + -13, + 83, + 20, + -124, + -96, + -32, + 89, + -7, + 86, + -68, + -59, + 122, + -32, + -123, + -6, + 46, + -3, + -60, + 38, + -75, + 53, + 48, + 82, + -114, + 38, + 43, + -110, + -44, + -85, + 27, + 30, + 22, + -112, + 42, + -46, + 16, + -100, + -55, + 75, + 22, + 44, + -1, + 0, + 102, + 99, + -6, + 50, + -113, + -50, + -53, + -116, + 0, + 95, + -25, + -55, + -26, + -6, + 74, + -123, + -69, + 20, + 43, + 64, + 10, + -29, + -65, + -31, + -123, + -43, + -67, + 9, + -82, + 76, + -79, + 76, + 113, + -121, + 125, + 111, + 73, + -49, + 61, + 42, + -91, + -108, + 10, + 12, + -38, + 105, + 77, + 82, + 22, + 109, + 35, + 4, + 62, + -78, + -63, + 109, + -4, + -119, + 27, + 108, + 16, + 84, + 85, + -2, + -67, + 74, + -46, + 109, + -94, + -107, + 33, + -67, + -12, + -87, + 69, + -79, + -9, + -18, + 53, + -41, + 30, + 49, + 90, + -15, + 10, + 57, + -5, + 36, + 98, + 65, + 97, + 82, + 101, + 103, + -65, + -110, + -117, + -95, + 43, + 103, + -30, + -24, + -126, + 72, + -8, + 45, + 66, + -24, + -6, + 51, + -124, + 82, + 79, + 99, + 21, + -14, + 125, + -72, + 40, + 3, + 0, + 75, + 18, + 8, + 39, + -85, + -83, + 111, + 106, + 111, + 105, + -85, + -66, + -57, + -89, + -125, + -64, + -85, + -44, + 46, + 105, + -34, + 36, + 42, + -42, + -85, + -116, + -116, + -51, + -73, + 68, + 47, + 82, + -97, + 89, + 96, + -66, + 114, + -17, + 6, + -83, + 110, + 105, + 108, + -70, + 4, + -61, + 111, + -50, + -59, + -96, + 31, + 96, + -6, + 63, + 78, + -57, + -32, + -73, + -116, + -46, + 70, + 60, + -114, + -80, + -67, + 105, + 93, + 94, + 67, + 4, + 5, + -40, + -31, + -102, + -85, + 113, + 98, + 118, + -18, + 85, + 93, + -111, + -92, + 78, + 49, + -103, + -21, + 86, + -67, + 1, + 68, + -2, + 83, + 62, + -86, + 98, + -10, + 88, + -55, + -80, + 102, + 58, + 67, + -87, + -123, + 102, + 116, + 7, + 15, + -117, + 76, + 39, + -40, + 12, + -77, + -21, + 57, + -15, + 1, + 70, + -75, + 7, + 51, + -7, + -26, + 125, + 112, + -39, + 24, + -12, + -69, + -22, + 53, + 4, + -27, + 50, + 6, + 96, + -52, + 110, + 90, + 70, + -81, + -49, + -113, + -120, + -97, + -37, + 86, + 89, + -68, + -41, + -83, + -23, + 68, + -70, + 51, + -99, + 96, + 90, + -106, + -116, + 17, + -127, + -79, + -22, + 69, + -102, + -8, + -66, + 118, + -126, + -26, + 29, + 33, + -123, + 72, + 57, + -71, + 41, + 43, + -79, + -62, + 75, + -18, + -107, + 52, + 26, + 82, + 53, + 75, + -111, + 93, + 56, + 65, + 71, + 81, + -8, + -108, + 46, + -43, + 33, + 19, + -119, + -27, + 45, + -38, + -53, + -64, + -2, + -29, + -43, + -67, + 67, + 69, + -11, + 49, + -116, + 14, + 122, + -68, + -32, + 55, + 68, + 9, + -11, + 104, + 26, + -55, + 11, + -82, + -17, + 87, + -50, + 21, + 103, + 68, + 13, + 116, + -88, + -19, + 93, + 9, + -97, + 71, + -49, + 4, + 47, + -121, + 54, + -85, + -14, + -70, + -93, + 97, + 70, + 20, + 37, + -45, + -76, + -84, + -94, + 85, + 4, + -32, + -36, + 39, + -13, + -36, + -112, + 30, + -36, + -60, + -68, + 126, + 32, + -110, + 12, + 116, + -54, + -102, + 25, + -28, + -100, + 46, + -88, + -14, + 21, + 25, + 19, + -123, + -78, + -50, + 7, + -119, + 81, + -122, + -30, + -59, + -70, + 40, + 36, + 18, + -73, + 95, + 63, + -120, + -113, + 47, + 49, + -124, + -39, + 82, + 99, + -59, + 54, + 58, + -60, + -6, + -69, + -123, + 86, + 49, + -61, + -73, + -75, + 20, + -111, + 41, + 96, + 64, + 53, + -19, + 70, + 58, + -125, + -24, + -75, + 6, + 106, + 54, + -36, + 79, + -52, + 10, + 108, + -9, + 70, + 103, + -20, + 1, + 29, + 82, + 0, + 42, + -37, + 111, + -93, + 13, + 121, + 58, + 110, + 48, + -40, + 65, + -38, + -106, + -112, + 104, + -80, + 109, + 31, + 69, + -117, + -29, + -128, + -38, + -117, + 80, + 47, + -38, + -127, + -48, + 114, + -13, + -53, + 1, + -5, + 114, + -54, + -86, + -71, + 53, + 101, + -10, + 117, + 72, + -47, + -125, + 46, + 42, + 66, + -97, + -128, + -37, + -116, + 75, + 12, + -107, + -101, + -47, + -11, + 38, + 49, + -17, + -52, + -87, + -108, + -78, + 118, + -40, + -79, + 91, + -104, + 30, + -108, + -19, + -97, + -74, + -113, + 125, + 95, + 90, + -93, + -63, + 71, + 17, + 9, + -29, + 19, + -110, + -104, + -83, + 118, + -54, + 49, + 101, + -126, + 120, + -83, + -109, + 61, + -14, + -23, + -77, + 77, + -117, + -70, + 84, + -35, + 94, + 41, + -37, + 68, + -124, + 24, + 61, + -59, + 110, + 88, + 36, + 26, + -109, + -94, + 54, + 113, + -72, + -24, + -42, + 23, + -123, + 58, + 13, + 108, + 9, + -41, + -60, + 39, + -96, + 90, + -93, + 26, + 122, + 112, + -61, + 102, + 6, + -44, + -68, + -60, + -45, + 34, + -120, + -25, + -54, + -9, + 37, + -68, + 4, + -107, + 21, + 19, + -42, + 44, + -57, + 32, + 56, + 75, + -49, + 51, + 105, + 65, + 64, + 43, + 107, + 38, + 72, + 50, + 3, + -88, + 65, + -79, + -77, + 87, + 8, + -105, + 42, + -122, + 126, + 117, + -128, + 10, + -120, + -99, + 33, + 41, + -88, + 2, + -34, + -112, + 68, + 41, + 11, + 117, + -84, + -2, + 95, + -32, + 117, + -61, + 1, + 11, + -45, + 86, + 51, + 69, + -119, + -108, + 72, + -123, + -23, + -125, + -33, + -107, + 62, + 118, + 37, + 100, + -28, + 50, + 115, + -78, + -29, + -105, + 32, + -30, + -85, + -27, + -69, + 81, + -99, + 76, + -125, + 15, + 86, + 7, + -57, + 26, + 67, + 42, + -108, + 49, + -72, + 8, + -121, + -53, + -17, + 70, + -90, + -36, + -4, + -101, + -5, + 24, + 49, + -80, + 68, + 88, + -26, + 102, + -5, + 120, + -44, + -36, + 62, + -42, + -54, + 13, + 24, + 82, + -52, + 93, + 41, + -4, + -117, + 108, + -28, + 39, + -79, + -42, + -19, + 0, + -23, + -58, + -11, + 15, + -100, + 85, + -3, + 81, + -115, + 87, + -50, + -105, + -67, + 31, + 6, + 67, + 127, + 48, + -40, + 57, + 34, + 113, + -120, + -98, + 92, + -62, + 112, + -85, + 103, + 36, + 6, + -65, + 3, + 86, + -28, + -72, + 15, + -81, + -85, + 83, + 79, + 52, + 40, + -127, + -43, + 58, + 21, + 108, + -22, + -47, + 91, + -54, + 97, + -30, + -82, + 34, + -79, + 101, + -45, + -52, + 47, + -127, + -118, + 103, + -23, + 126, + -61, + 125, + 50, + -57, + -117, + -42, + 7, + -40, + -33, + -119, + 63, + 28, + -104, + 49, + 15, + 61, + -23, + -99, + -108, + -38, + -74, + -111, + 120, + 57, + 54, + -24, + -10, + -116, + -103, + 90, + 55, + -61, + -119, + -26, + 24, + 45, + 104, + 105, + -52, + 105, + 117, + 24, + -79, + -27, + -56, + -22, + 9, + 88, + -50, + -43, + -81, + -86, + 26, + 38, + 113, + 40, + -47, + 78, + -28, + 75, + -117, + -93, + -103, + -6, + 97, + -58, + 110, + 74, + 40, + -126, + 44, + -104, + -120, + 21, + -104, + 21, + 73, + 93, + 0, + 33, + -128, + 54, + -82, + 38, + 96, + -42, + 6, + -34, + -13, + -39, + -70, + 94, + -128, + 9, + 50, + -30, + 51, + -110, + -22, + -18, + 72, + 7, + 105, + 81, + -117, + -112, + 105, + -121, + -71, + 52, + 82, + 40, + -99, + 72, + 94, + -121, + 86, + -60, + 91, + 115, + -81, + -26, + -99, + 33, + 83, + 61, + -46, + -85, + -72, + -23, + -27, + 52, + -54, + -94, + -54, + 34, + 31, + -117, + -81, + -71, + -47, + 69, + -18, + 46, + -38, + 7, + 97, + 46, + 107, + -109, + -34, + 61, + -45, + 30, + 124, + -44, + 26, + -60, + -25, + -96, + -102, + -124, + 33, + -118, + -63, + 90, + 88, + -47, + -83, + -14, + 21, + -77, + -79, + 70, + 47, + 47, + -48, + 10, + 90, + 82, + -108, + -23, + 67, + -27, + 107, + -71, + -86, + -66, + 115, + -122, + -82, + -75, + -84, + 41, + -62, + 52, + -106, + -22, + 98, + -66, + -51, + -16, + -42, + -100, + 14, + 7, + -100, + -15, + -110, + -127, + -105, + 36, + 55, + 71, + 77, + 67, + 45, + -78, + -109, + 108, + 104, + 80, + 110, + -46, + -45, + 7, + -114, + 43, + 45, + -40, + 65, + 29, + 97, + -96, + -97, + 85, + -64, + 85, + -109, + -28, + 68, + -81, + 62, + -29, + -40, + -39, + -65, + 73, + 59, + 100, + 77, + 121, + 78, + -108, + 109, + 44, + 1, + 29, + -115, + 113, + -100, + -62, + 59, + -52, + -19, + -11, + 107, + -48, + 64, + -5, + 41, + -37, + 127, + 68, + 127, + 23, + -49, + -114, + 103, + 12, + -126, + 39, + 64, + 96, + 53, + 66, + -13, + 9, + 92, + -72, + 110, + -56, + -26, + 24, + -65, + -109, + -60, + 19, + 20, + -78, + -116, + -18, + -88, + 52, + 39, + -42, + 46, + 81, + -62, + -57, + -61, + 51, + -48, + 8, + -92, + -77, + 3, + 37, + -34, + -25, + -8, + -73, + 121, + -56, + -127, + 54, + -81, + -85, + 83, + 4, + -30, + 0, + -92, + 13, + -14, + 119, + -88, + 62, + 52, + 88, + 90, + 28, + 87, + -28, + 109, + 118, + -21, + -26, + -21, + -67, + 22, + -128, + -97, + 102, + -37, + 56, + -28, + 35, + -85, + 59, + 40, + 46, + 93, + 75, + 16, + -54, + -124, + -99, + -104, + -87, + 59, + 123, + 70, + -74, + 59, + 23, + 116, + 64, + 29, + -11, + -7, + -12, + 16, + -69, + 8, + -43, + 28, + 40, + 100, + 12, + 20, + 106, + -101, + 80, + -94, + -34, + -22, + 61, + -102, + -7, + -79, + 85, + -8, + 30, + -103, + -116, + -51, + -98, + 20, + 12, + -53, + -6, + -116, + -103, + 110, + 90, + -114, + 111, + 69, + -43, + 15, + 19, + 57, + -84, + -55, + -83, + 56, + 20, + 48, + -107, + -98, + 15, + 105, + 95, + -84, + 121, + 53, + -117, + 2, + -79, + -16, + -85, + -8, + 100, + 32, + 76, + 53, + -45, + 89, + 97, + 104, + -68, + -113, + 30, + -115, + 102, + 26, + 26, + 103, + 53, + 67, + 106, + -75, + -125, + 51, + -86, + 0, + -116, + 91, + 9, + -91, + 54, + -119, + -121, + -22, + 123, + 67, + -15, + -118, + -36, + -125, + -43, + -82, + 2, + 66, + -122, + 74, + 42, + 69, + 40, + 16, + -127, + 98, + -96, + 71, + -76, + -22, + -52, + 77, + -122, + 115, + -127, + 14, + 70, + -87, + -96, + -81, + -89, + 34, + 126, + 36, + 32, + 86, + -109, + 77, + -62, + -64, + 9, + 78, + -6, + -99, + 96, + -64, + -108, + -8, + 14, + 77, + 14, + 35, + -83, + -44, + 84, + 2, + -72, + 82, + -4, + 83, + -116, + 94, + 71, + 80, + 3, + 0, + -112, + 90, + 18, + -56, + 64, + -108, + 26, + 74, + -83, + -28, + 79, + -38, + 113, + 61, + 0, + -102, + 74, + 87, + 32, + -76, + 3, + 11, + 71, + -100, + -51, + -96, + 83, + -18, + -72, + -106, + 102, + -96, + 39, + 5, + 8, + 82, + -46, + 88, + 89, + 82, + -79, + 12, + -6, + -82, + -106, + 36, + -107, + 97, + -107, + 78, + 14, + -58, + 24, + 99, + -93, + -51, + -77, + 106, + 26, + 11, + -80, + -62, + 21, + -123, + -68, + 90, + 56, + -19, + -4, + 110, + -96, + 74, + -84, + 98, + -79, + -10, + 17, + 31, + 87, + -53, + -89, + -66, + -46, + 22, + 66, + 42, + 37, + 111, + 86, + -78, + 29, + 60, + -71, + 66, + -32, + -91, + -2, + -116, + -49, + 86, + -126, + -88, + 58, + -8, + -19, + 12, + -83, + 35, + 86, + -83, + -26, + -106, + 36, + 14, + 11, + 7, + -46, + -127, + 120, + -20, + -126, + 64, + 62, + -34, + -120, + 32, + -81, + 95, + 32, + -103, + 93, + -90, + -47, + 23, + 80, + 87, + 72, + -35, + -103, + 1, + -40, + 22, + -93, + -93, + 80, + 42, + 14, + -90, + -65, + 77, + 16, + 126, + 73, + 39, + -45, + 74, + -115, + 9, + 86, + -79, + 119, + -66, + -94, + -128, + 54, + -74, + 4, + 102, + 66, + 98, + 38, + -24, + 112, + -12, + -59, + 58, + 102, + 13, + 106, + 110, + 90, + 18, + -42, + -11, + 97, + 67, + -30, + 74, + 16, + 69, + 70, + -32, + 80, + -23, + -128, + -54, + 90, + -60, + -13, + -91, + -77, + 9, + 77, + -62, + -13, + 97, + 41, + -31, + -32, + 16, + 52, + -78, + -11, + -89, + -74, + 74, + 126, + 15, + 61, + -30, + 102, + -51, + -15, + -70, + -70, + -89, + -86, + 94, + -74, + -75, + 75, + 30, + -40, + 126, + -94, + 105, + -63, + -83, + 112, + 56, + 107, + -124, + 118, + -66, + -121, + 97, + 86, + -77, + 42, + -119, + -128, + -91, + 106, + -100, + -19, + -95, + -90, + 33, + 104, + -105, + -46, + 11, + -127, + 8, + 28, + -102, + 3, + 59, + 109, + -88, + -66, + -3, + 26, + -118, + 100, + 9, + -124, + -117, + -114, + 101, + 33, + -3, + -113, + -83, + 28, + -88, + -59, + 2, + 76, + 92, + 88, + -80, + -52, + -128, + 85, + -100, + -43, + 107, + 101, + -64, + -86, + -37, + 2, + 85, + 101, + 109, + -86, + -119, + 57, + -18, + -78, + -36, + -127, + -23, + -52, + 98, + 40, + -6, + 31, + 123, + -68, + 73, + -52, + 84, + 75, + -75, + -37, + -40, + -61, + 124, + 84, + 25, + -61, + -128, + -73, + 97, + 64, + -27, + -105, + -86, + 78, + -128, + -13, + -43, + -42, + 4, + -19, + 35, + 70, + 33, + 7, + 31, + 115, + -8, + -56, + 66, + -36, + 41, + 88, + -26, + -56, + 64, + 42, + -98, + -101, + 77, + 60, + 45, + 94, + 5, + 39, + 94, + 89, + -43, + -64, + -36, + 68, + -7, + -43, + 51, + -111, + -36, + 32, + -68, + 21, + 87, + -111, + 109, + 14, + 100, + -106, + -103, + -66, + 48, + 31, + -111, + 87, + 86, + 106, + -9, + -60, + 117, + 85, + -44, + -110, + 21, + -70, + 39, + -67, + -127, + -90, + 6, + -63, + 4, + -123, + -44, + 85, + -19, + -44, + -114, + -31, + -106, + 51, + 77, + 20, + -96, + 54, + -63, + -123, + 51, + 45, + 0, + 1, + 90, + 42, + 72, + -93, + 100, + -128, + 77, + -110, + 64, + 11, + -40, + -39, + 52, + 36, + -84, + 58, + 10, + -54, + 13, + 107, + 28, + -97, + -114, + -93, + -126, + 10, + -128, + -48, + -85, + -95, + -106, + 10, + 118, + -61, + -36, + 85, + 82, + -116, + 64, + -72, + -31, + 10, + 62, + -83, + -95, + 4, + 60, + 53, + -48, + 112, + -22, + -16, + -48, + 78, + 86, + 37, + -92, + 22, + 100, + 60, + -88, + -86, + 8, + 32, + -18, + 76, + -55, + -35, + 113, + -71, + 89, + -122, + -54, + 117, + -30, + 63, + -109, + 106, + -94, + -41, + -1, + 0, + -17, + -88, + -109, + -2, + 76, + -48, + -68, + 33, + -7, + 34, + -118, + 125, + -21, + -12, + 116, + -26, + 110, + 43, + -4, + -43, + 10, + -11, + 93, + 119, + -24, + -12, + -71, + -2, + 95, + -20, + -64, + -6, + 104, + -70, + -78, + 118, + -122, + 73, + 108, + 69, + -107, + 123, + -52, + 85, + 13, + -105, + 89, + 63, + -1, + 0, + 106, + 84, + -42, + -42, + 51, + 36, + 112, + -24, + 76, + -24, + -20, + 76, + 118, + 70, + -42, + 29, + -105, + -40, + 96, + -88, + -90, + 24, + 85, + 119, + 51, + 78, + -33, + -124, + -48, + -59, + 86, + 4, + 62, + 96, + 31, + 18, + 99, + 34, + -19, + -97, + -115, + -75, + 16, + -72, + -112, + -109, + 41, + 14, + 69, + -83, + 49, + -118, + 121, + 120, + 79, + -125, + -83, + -82, + 40, + 32, + -72, + -79, + 111, + 75, + -81, + 124, + 90, + -70, + 76, + -76, + -19, + -68, + 38, + 113, + 100, + 52, + 38, + -125, + -34, + -60, + 0, + -37, + 26, + -28, + -72, + -68, + 40, + -98, + -95, + 37, + 82, + 11, + 40, + 113, + -93, + 19, + 17, + -3, + -113, + -88, + 8, + -106, + -77, + 40, + 89, + 36, + -113, + -66, + -84, + -42, + 10, + 55, + -19, + -85, + -93, + 34, + 18, + 42, + -105, + 89, + 28, + -92, + 110, + 22, + -104, + -47, + -17, + -38, + 0, + 37, + -84, + 15, + 113, + -91, + 74, + 54, + 117, + -48, + -6, + -107, + -39, + 68, + 113, + 72, + 21, + 119, + -120, + -75, + -83, + -107, + 26, + -110, + 9, + -19, + 74, + -110, + 72, + 61, + -79, + -85, + -74, + 36, + 27, + -20, + -27, + 3, + -126, + -123, + -118, + -23, + 9, + -121, + -110, + 19, + 86, + 62, + 34, + 52, + 12, + -45, + -18, + 106, + -114, + 107, + -27, + -24, + -81, + -41, + 8, + 36, + 33, + -74, + -82, + 97, + 79, + 77, + 16, + -15, + -8, + -110, + -46, + -113, + 17, + -4, + 69, + -63, + -7, + 16, + -78, + -54, + 87, + 101, + -99, + -110, + -86, + -54, + -14, + -1, + 0, + -25, + -13, + 43, + -17, + -114, + 67, + -89, + 34, + 122, + 11, + -74, + -100, + -22, + 69, + -115, + 86, + -85, + 123, + -61, + 113, + 35, + 0, + -57, + -56, + 0, + -49, + -32, + -53, + -81, + 88, + 96, + -70, + -66, + -52, + 101, + -128, + 80, + 5, + -99, + 24, + 4, + -18, + -25, + 14, + -92, + -60, + 93, + 103, + 76, + -50, + -70, + -81, + 6, + 120, + -88, + -126, + -18, + 89, + -128, + 7, + 3, + -2, + -14, + 52, + -94, + 100, + -95, + -31, + 126, + -73, + -57, + -95, + -20, + -70, + 45, + -96, + 36, + -113, + -116, + 52, + 85, + -66, + 19, + 15, + -11, + -48, + -33, + 0, + -73, + -115, + -97, + -124, + 70, + 75, + 117, + 92, + 113, + -109, + -57, + -76, + -127, + -117, + 77, + 109, + 21, + -38, + -62, + 83, + 44, + 14, + -31, + -122, + 69, + 85, + 104, + 75, + 36, + -37, + -83, + 110, + 5, + 84, + -46, + 12, + 100, + 55, + -49, + -51, + 38, + 58, + 92, + 79, + 66, + 48, + 69, + 17, + -80, + 76, + -94, + -121, + -33, + -74, + -43, + -90, + 43, + -14, + -102, + -26, + 24, + -10, + -120, + -88, + 111, + 107, + -116, + -27, + 102, + -53, + 9, + -4, + 84, + -52, + -65, + -27, + 113, + -115, + -128, + -7, + -26, + -95, + 15, + 127, + -4, + -66, + -88, + -84, + -56, + -81, + 17, + 73, + 23, + 126, + 22, + 41, + -35, + -92, + 80, + 85, + 12, + 100, + 104, + -60, + -74, + -54, + 118, + 82, + 30, + -102, + -41, + -77, + 91, + -20, + 79, + 93, + 124, + 14, + -127, + -11, + 87, + -51, + 101, + -53, + 123, + -101, + 69, + 2, + -6, + 32, + -88, + 0, + 2, + 107, + -35, + -91, + 126, + 123, + 52, + 108, + -97, + -60, + -80, + -11, + 76, + -127, + 41, + 52, + 125, + -76, + -36, + -5, + 64, + -89, + 84, + -64, + -38, + -59, + 66, + 21, + 51, + -11, + 93, + -94, + 18, + -20, + 11, + -21, + 119, + -102, + -95, + -94, + 32, + -24, + -61, + 12, + -71, + -39, + -90, + -72, + -6, + 6, + -104, + -27, + 7, + 14, + 99, + -127, + 53, + -95, + 99, + -114, + 42, + -87, + -99, + -25, + 109, + 2, + 47, + 46, + -22, + -60, + 107, + 1, + -76, + -72, + -26, + 65, + -42, + 35, + 22, + 64, + -89, + 98, + 107, + 24, + -110, + -72, + 117, + -109, + 63, + 58, + -116, + -123, + 104, + -94, + -78, + 98, + -12, + 125, + 83, + 27, + -63, + 99, + -10, + 42, + 113, + 31, + 102, + 101, + 39, + 37, + 8, + -90, + -112, + 0, + -2, + 110, + -51, + -59, + 66, + 115, + -38, + -8, + 98, + 41, + 27, + 10, + 46, + -103, + 13, + -76, + -99, + 106, + -71, + -74, + -37, + 9, + -73, + 43, + 32, + -117, + 92, + -57, + -22, + 19, + 90, + 53, + 126, + -34, + -110, + -53, + 118, + -53, + 70, + 123, + -14, + 80, + -48, + 95, + 61, + 115, + -95, + 33, + -20, + 103, + 77, + 86, + 8, + -53, + 68, + -88, + 53, + 89, + -42, + -23, + -124, + 83, + -77, + -16, + -35, + -29, + -32, + 6, + 43, + -24, + -118, + 51, + 92, + 106, + -61, + 42, + -38, + -124, + 95, + -26, + 103, + -77, + 107, + -19, + 46, + -59, + -10, + 88, + -88, + -103, + 37, + -2, + -67, + -44, + 83, + 71, + 115, + -117, + -109, + 7, + -28, + -123, + 43, + 29, + -15, + 123, + -102, + -76, + 108, + -39, + 31, + 96, + 101, + 58, + -16, + -42, + -77, + 102, + 46, + 73, + -3, + -77, + -43, + -49, + -65, + 72, + -43, + -100, + 11, + 55, + 69, + -113, + 125, + 5, + -94, + -94, + -49, + 84, + 1, + -20, + -113, + -111, + -35, + -39, + -81, + 82, + -60, + -51, + 42, + -87, + 98, + 41, + 1, + 85, + -65, + 105, + 98, + -27, + 118, + 63, + -66, + -60, + -88, + -96, + 111, + -13, + -22, + 80, + -92, + -96, + 36, + -30, + 100, + -58, + -118, + -73, + -41, + 24, + -81, + -64, + 106, + 53, + -120, + -57, + 111, + -28, + 55, + 76, + 5, + -65, + 80, + -13, + 39, + -63, + -80, + -126, + -124, + -108, + -65, + 45, + 90, + -68, + 74, + -72, + -62, + -4, + -47, + 13, + -39, + 117, + -96, + -75, + -60, + -64, + -51, + 116, + -119, + 97, + -95, + 65, + 20, + 110, + 4, + -59, + 120, + 23, + 124, + -55, + -78, + 29, + -32, + 33, + 23, + -75, + -97, + -124, + -77, + 89, + 76, + -107, + -4, + -89, + -48, + -59, + 92, + 1, + 20, + -108, + -107, + -91, + 118, + 5, + 53, + 75, + -91, + 12, + -88, + 113, + 43, + 69, + -124, + -48, + -91, + -36, + -2, + -44, + 52, + 44, + 24, + -62, + -116, + -51, + -117, + -78, + 93, + -7, + 58, + -29, + 91, + 44, + 11, + -103, + 35, + -24, + 49, + 28, + 104, + 115, + -2, + 109, + 121, + -105, + -79, + -9, + -1, + 0, + 42, + -83, + -9, + -71, + 98, + -75, + 60, + -41, + -81, + -45, + -110, + -103, + 7, + 5, + 114, + -45, + -34, + 25, + 75, + -69, + 18, + -113, + 20, + 62, + -59, + 90, + -106, + -86, + -100, + -8, + 26, + 26, + 86, + 109, + -36, + 3, + 82, + -51, + -40, + -81, + -9, + 88, + 76, + 17, + -108, + -68, + 1, + -101, + 102, + 90, + 23, + -92, + -105, + 81, + -74, + -66, + 79, + -41, + -51, + 11, + 42, + 62, + -110, + -46, + 6, + -125, + -103, + -113, + -25, + 7, + -13, + -36, + -43, + 40, + -26, + -96, + -33, + 9, + 33, + 35, + 8, + -118, + 42, + -40, + -67, + 66, + 124, + -26, + -127, + -117, + -53, + 10, + -26, + 98, + 108, + -79, + 112, + 76, + -110, + 42, + 84, + -74, + -22, + 29, + 92, + 116, + -125, + 57, + 57, + -93, + -109, + 23, + 34, + 23, + 12, + 16, + 41, + 13, + 70, + -102, + -105, + 83, + 98, + -115, + -43, + 30, + -120, + -17, + -3, + 124, + -6, + 49, + -60, + 98, + -79, + -97, + 30, + 96, + 85, + -20, + 40, + -94, + 72, + 4, + 48, + -94, + 44, + -118, + 29, + -4, + -40, + 35, + -95, + -41, + 103, + -43, + -123, + 108, + 77, + 87, + -4, + -3, + -27, + -113, + 40, + 121, + 53, + -56, + -110, + -10, + 58, + 126, + -29, + 15, + 66, + -10, + 34, + -34, + 114, + 14, + 88, + -96, + 39, + -52, + 83, + 126, + -49, + 50, + 54, + -27, + -25, + 125, + 11, + 101, + 28, + 61, + -41, + -18, + -119, + -93, + -24, + 86, + 79, + 108, + -87, + -23, + 124, + -26, + -105, + 105, + -89, + 30, + -52, + 107, + -65, + -64, + -109, + 77, + -33, + 17, + 107, + -50, + -75, + 93, + 9, + -12, + 83, + -65, + -26, + -80, + 104, + -80, + 62, + -30, + 38, + 82, + 115, + -34, + 53, + 20, + 42, + 2, + 6, + 88, + 6, + 92, + -45, + -108, + 75, + -110, + 4, + 94, + 36, + -66, + 49, + -32, + -111, + -58, + 77, + 7, + -106, + -10, + -107, + -36, + -39, + 71, + 102, + 30, + -101, + -3, + -74, + 89, + -56, + -69, + -81, + -66, + 85, + 25, + 114, + -22, + 86, + 120, + 1, + -34, + 60, + -71, + -128, + 1, + -26, + 43, + -98, + -120, + 10, + -85, + -27, + -4, + -46, + 28, + 112, + 19, + -70, + 98, + 22, + -53, + -72, + 30, + 3, + -88, + -68, + 58, + -62, + -83, + -11, + 25, + -108, + 70, + 54, + 121, + -35, + 73, + 85, + -87, + -66, + 123, + -100, + -70, + 37, + -84, + -114, + 67, + 97, + -35, + 125, + 80, + -74, + 56, + 105, + 56, + -110, + 26, + 10, + -79, + 59, + -71, + 33, + -82, + -108, + -45, + 68, + 107, + 37, + -91, + 55, + 81, + 80, + 25, + -97, + -14, + 122, + -15, + -33, + 38, + 11, + 58, + 31, + 73, + 87, + -99, + -13, + 53, + -58, + -105, + -40, + -105, + 5, + 5, + 81, + -51, + -84, + 44, + -70, + -127, + -45, + -39, + -61, + 88, + -95, + -15, + 112, + -98, + 122, + -121, + 91, + 48, + 31, + -97, + 35, + -75, + -27, + -116, + -56, + 109, + -57, + -88, + 59, + -79, + -117, + -37, + 126, + 56, + 46, + 54, + -27, + -95, + 70, + 70, + -89, + 36, + 56, + -7, + -16, + 70, + 39, + -98, + 72, + 26, + 65, + -28, + -58, + 8, + 9, + 98, + -46, + 100, + -58, + 59, + 8, + -116, + 65, + -90, + -95, + -4, + -62, + 69, + -118, + -41, + -94, + 110, + -14, + 115, + 100, + 98, + -26, + 24, + -95, + 88, + -27, + 88, + 77, + -51, + 33, + 117, + 17, + 72, + 22, + 38, + 0, + -107, + 118, + 90, + 38, + -84, + 2, + -122, + -69, + -9, + 49, + 29, + -64, + 108, + -45, + -46, + 49, + -16, + 66, + 6, + -79, + -108, + -50, + 23, + 20, + -20, + 58, + -107, + 108, + 82, + -84, + 55, + 69, + 4, + 83, + -110, + 75, + -62, + 5, + -56, + 96, + 29, + -105, + 59, + -30, + -8, + 78, + -52, + -103, + 127, + -85, + -75, + 81, + -6, + -109, + 109, + -108, + 52, + -42, + -120, + 0, + -76, + -49, + -16, + 67, + -75, + 21, + 85, + -56, + -113, + -80, + 0, + 29, + -69, + 106, + -70, + 41, + -43, + -102, + -102, + 54, + 99, + 125, + -102, + -102, + 106, + 77, + 67, + 100, + 127, + -103, + -59, + 10, + -22, + 7, + 64, + -48, + 103, + -7, + 101, + -34, + -52, + -112, + -101, + 62, + -114, + 46, + -119, + -52, + -20, + -51, + -86, + 79, + 37, + 11, + -112, + -127, + -9, + -19, + -106, + 75, + 84, + -43, + -96, + -92, + -80, + 13, + -124, + 35, + 69, + 4, + -7, + 116, + -99, + 8, + 83, + 62, + -56, + 65, + 96, + -93, + -57, + -13, + 85, + -19, + 56, + -43, + 40, + -56, + 96, + -126, + 126, + 101, + 100, + 22, + 124, + -68, + 54, + -35, + 107, + 5, + -107, + 53, + 126, + -49, + -74, + 26, + 68, + -46, + -64, + -82, + -73, + -124, + -95, + -48, + 82, + 51, + -109, + -99, + 52, + -51, + 46, + 24, + 15, + -103, + -48, + 18, + 70, + -111, + 10, + 51, + -59, + -26, + 116, + 26, + 84, + 31, + -13, + -7, + 24, + 0, + 104, + 46, + 85, + 114, + -22, + 44, + 23, + -36, + 6, + -113, + -41, + 37, + 88, + 104, + 85, + -25, + 44, + 116, + 58, + -56, + 66, + 97, + -125, + 111, + -108, + -92, + -118, + -35, + -54, + -29, + 108, + 57, + -26, + -93, + 26, + 125, + 36, + 107, + 48, + 31, + 102, + 65, + 52, + -59, + 14, + 91, + 16, + -85, + -17, + -19, + 77, + 55, + -45, + -23, + -127, + -86, + 9, + 37, + -42, + 92, + 105, + 101, + 10, + -79, + 70, + -24, + -84, + -110, + -94, + -17, + 33, + 114, + 3, + 29, + -99, + 75, + 126, + -83, + 87, + -38, + 53, + 58, + -97, + 65, + -29, + -26, + -90, + 114, + -46, + -110, + 68, + 82, + 68, + -92, + -123, + 117, + 4, + -8, + -120, + -88, + -64, + 38, + -53, + 0, + -51, + -34, + -89, + 110, + -63, + 52, + 64, + -11, + 9, + 4, + -116, + 45, + -71, + -83, + -89, + 57, + 116, + -47, + -77, + 92, + 32, + -70, + 87, + 70, + 43, + -128, + -43, + -67, + 104, + 32, + -91, + 92, + -83, + -107, + 108, + 22, + -67, + -79, + -81, + 91, + 94, + 95, + 1, + -102, + 44, + -116, + 12, + 15, + 64, + -104, + -9, + -53, + 106, + -80, + 71, + 53, + -37, + -75, + -92, + 13, + -120, + 50, + -113, + 87, + -68, + 117, + 84, + 40, + -62, + -97, + 51, + -11, + -82, + -15, + -26, + -55, + -110, + -30, + -69, + -79, + -11, + 15, + 105, + 57, + 48, + 42, + -25, + -91, + 113, + -79, + -50, + -126, + -76, + -36, + -69, + -26, + -84, + 2, + -49, + 90, + 86, + -127, + 30, + 101, + -84, + -40, + -59, + 8, + 15, + 74, + -61, + 54, + 105, + -21, + -53, + -102, + 85, + -44, + 91, + -66, + 53, + 45, + 25, + -53, + -22, + 74, + -111, + -94, + 93, + 107, + -122, + -77, + -48, + -104, + 89, + 127, + -83, + 28, + -49, + -45, + 94, + 31, + 30, + -72, + -8, + -15, + 69, + 26, + 5, + 84, + 21, + -14, + 92, + -106, + -39, + 118, + 98, + -33, + -110, + -51, + 108, + 126, + 0, + -70, + 0, + 15, + 64, + 114, + -14, + -53, + -28, + 59, + 108, + -50, + 14, + -92, + 19, + 75, + 75, + 75, + 75, + 86, + 43, + 80, + 53, + -82, + -2, + 42, + -49, + -22, + -11, + 93, + -98, + 81, + 104, + -75, + 55, + -95, + -46, + -97, + -93, + 54, + -38, + -48, + -43, + 21, + -90, + -41, + -62, + -125, + -44, + -37, + 12, + 30, + -45, + 52, + 57, + -36, + -60, + -112, + -108, + -102, + -128, + 29, + 1, + 9, + -118, + 123, + 115, + 55, + 93, + 77, + 43, + 60, + -91, + 28, + 110, + 17, + -53, + -51, + -87, + 51, + -14, + 98, + 102, + 8, + -2, + -99, + 74, + 30, + 38, + 5, + 0, + -37, + -52, + -85, + 90, + 25, + 38, + 20, + -71, + 46, + 42, + 91, + 14, + 84, + -27, + -107, + -39, + -21, + -39, + -75, + 90, + -24, + 72, + 41, + 125, + -79, + -56, + -54, + -75, + 59, + -108, + 93, + 9, + -128, + 18, + 25, + 47, + 117, + -66, + 87, + -67, + 94, + -115, + 34, + 11, + -90, + 106, + -43, + 42, + -67, + 32, + -37, + 99, + 105, + 125, + -21, + 63, + 89, + -6, + -99, + 5, + -56, + -57, + -10, + 72, + -6, + -4, + 119, + -79, + -1, + 0, + -20, + 80, + -81, + 95, + 100, + 55, + 28, + 95, + -25, + 107, + -24, + 15, + -115, + 127, + 111, + -10, + 125, + 56, + -24, + -35, + 43, + -54, + -66, + 14, + 100, + -101, + 11, + 40, + 35, + -74, + 65, + -74, + 36, + 89, + -106, + 120, + -95, + 121, + -1, + 0, + 38, + -97, + -117, + -22, + -16, + 119, + 63, + 47, + -90, + 47, + 47, + 25, + 90, + -76, + -103, + -7, + 32, + 86, + 42, + -111, + 41, + 55, + 36, + -120, + -99, + 94, + -122, + 102, + 42, + 115, + -44, + -85, + 68, + -55, + -110, + 45, + -96, + -124, + 64, + -106, + -96, + 107, + -27, + -126, + 114, + -74, + 35, + -90, + -72, + 67, + 23, + 68, + 93, + 22, + -98, + 88, + -72, + -82, + -84, + 60, + -79, + 15, + -108, + 8, + -12, + -30, + -85, + -98, + 76, + -19, + 82, + -51, + -75, + 35, + 87, + 96, + 74, + -71, + 102, + -123, + 30, + 84, + -113, + -76, + 86, + -91, + 88, + 93, + 27, + -106, + -46, + 15, + -25, + -21, + 63, + 85, + -100, + -8, + -90, + -59, + -123, + 64, + -46, + 89, + 100, + 70, + 13, + -35, + 10, + -111, + -19, + 127, + 23, + 98, + -67, + -63, + -67, + -67, + 87, + -57, + -85, + 17, + -115, + -95, + 119, + 61, + 50, + -128, + 65, + 29, + 30, + -68, + 96, + 127, + -5, + -43, + 81, + 22, + 43, + -48, + 77, + -100, + -101, + 91, + 123, + 58, + -15, + -85, + -44, + 32, + -80, + 113, + -95, + 1, + 104, + -72, + 102, + -90, + 10, + 54, + 13, + 56, + 92, + 33, + 117, + -67, + 78, + -91, + -105, + -8, + 9, + 71, + -98, + -57, + -14, + -53, + 73, + 90, + -12, + 44, + -4, + -68, + 5, + 61, + -126, + 41, + 110, + -40, + 33, + 2, + -14, + -117, + 103, + 39, + -83, + 113, + -51, + -7, + -113, + -105, + -30, + -27, + -123, + -36, + 102, + 93, + -105, + -108, + -75, + 45, + -103, + 9, + -91, + -70, + -9, + 91, + -109, + -12, + -118, + -113, + -92, + 82, + -109, + -16, + 59, + 70, + -82, + 79, + 84, + 100, + -41, + 6, + -14, + 116, + 42, + -83, + -73, + 107, + 96, + 47, + -60, + 80, + 125, + 65, + -105, + -72, + 58, + 32, + 28, + 45, + 86, + 47, + 103, + 44, + -73, + 51, + -11, + -97, + -87, + 102, + 111, + 30, + 51, + 20, + 10, + 53, + -123, + -104, + 10, + -10, + -126, + -119, + 107, + -48, + -82, + -70, + 3, + -3, + 14, + -85, + -41, + 34, + 27, + -28, + 41, + 102, + 98, + -51, + 48, + 12, + -60, + -99, + -114, + -57, + -66, + -1, + 0, + 115, + 95, + 63, + 39, + -69, + -65, + 82, + 101, + -14, + 77, + 12, + 14, + 121, + -51, + 50, + 114, + -115, + -82, + -6, + 73, + -80, + 17, + 106, + 21, + 24, + 62, + 86, + -47, + 3, + -41, + 118, + -4, + -124, + -29, + -78, + -64, + -79, + 21, + 50, + -28, + 117, + 116, + -104, + -105, + -112, + -64, + 4, + -114, + 62, + 114, + -21, + -3, + 42, + -15, + 51, + -93, + 4, + -103, + -90, + -111, + -57, + 58, + -1, + 0, + 78, + 92, + 53, + 104, + 32, + 6, + 41, + -83, + -36, + 18, + 57, + -111, + 10, + -117, + 22, + -82, + 35, + 43, + 75, + 106, + -4, + 7, + 116, + 77, + -45, + 97, + -49, + -88, + 124, + 12, + 88, + -127, + 39, + 34, + -9, + -127, + 60, + -86, + 3, + -45, + -97, + 8, + 100, + -103, + -29, + -50, + -117, + 125, + -10, + -71, + -10, + -122, + 105, + -54, + 62, + 104, + -68, + -128, + 83, + -49, + 93, + 115, + -117, + -51, + 121, + -6, + -49, + -46, + -65, + 42, + 60, + -72, + 28, + 126, + 75, + 22, + 14, + -45, + -62, + -52, + -118, + -59, + 98, + 98, + -79, + 52, + -23, + -70, + 93, + 56, + 73, + 81, + 29, + 3, + -106, + -43, + -108, + 17, + -18, + -78, + 110, + -105, + 35, + 37, + -95, + -91, + 42, + 28, + 45, + -111, + 103, + 82, + -31, + 8, + -17, + -37, + -38, + -98, + -3, + -65, + -6, + -21, + -48, + 98, + -24, + -7, + 52, + 3, + -12, + 40, + 84, + -123, + -6, + -2, + 122, + -62, + -17, + 72, + -54, + -42, + -97, + 123, + 51, + -68, + 13, + -51, + 73, + -60, + -94, + 18, + -13, + 95, + 13, + 108, + -70, + 9, + 118, + 11, + 113, + -33, + -118, + 10, + -103, + -69, + 84, + 37, + 40, + -79, + -68, + 93, + -103, + 41, + 67, + -5, + 30, + -10, + -83, + -97, + -88, + -53, + -11, + -104, + 55, + -47, + 21, + -105, + -22, + -50, + 53, + -76, + 21, + -63, + 106, + -43, + -121, + 114, + 54, + -46, + 0, + 74, + 55, + 86, + -82, + -115, + 127, + -51, + 126, + 22, + 94, + -7, + 112, + 3, + -79, + 42, + -80, + -102, + 28, + 90, + -60, + 41, + -6, + 33, + -58, + -56, + 95, + 123, + -5, + -15, + -98, + 120, + 76, + 17, + -82, + 110, + -51, + 83, + -10, + 100, + 41, + 98, + -92, + 25, + -6, + -49, + -47, + -114, + 58, + 105, + 14, + 70, + 100, + 37, + -119, + 72, + -52, + 76, + -127, + -117, + 49, + 82, + -48, + 35, + 53, + 91, + 29, + 84, + -109, + 122, + -88, + 10, + 63, + -76, + 11, + 55, + 66, + 96, + -69, + 41, + 10, + 5, + -121, + 6, + -123, + 88, + 12, + -75, + 117, + -39, + -7, + 61, + -35, + -1, + 0, + -98, + -121, + -81, + 98, + 109, + -11, + -76, + -58, + -96, + 4, + -28, + -88, + -61, + 25, + 94, + -70, + 101, + -2, + -58, + 92, + 78, + -122, + 93, + 89, + -83, + 69, + 0, + -16, + 37, + -100, + 124, + -88, + -104, + -39, + -30, + 81, + 124, + 79, + -89, + -97, + 87, + -90, + 71, + 67, + 2, + -86, + 96, + 85, + 103, + -6, + -114, + -3, + -54, + 28, + 102, + -114, + -109, + 107, + 56, + -65, + 125, + 26, + -22, + -106, + -7, + -4, + -113, + -32, + -46, + -75, + 108, + 125, + 122, + -4, + -56, + 25, + 122, + -83, + 78, + -19, + 19, + -21, + -14, + -100, + 15, + 24, + 22, + 48, + -99, + -55, + 96, + 92, + 100, + -17, + 80, + -7, + 25, + 126, + 103, + -116, + -128, + -21, + 3, + -65, + 31, + 70, + 95, + -107, + 109, + -36, + 25, + 5, + -104, + -82, + -61, + -1, + 0, + -84, + -3, + 103, + -24, + -110, + -79, + -14, + 1, + -8, + 54, + 15, + -7, + 1, + 108, + 127, + -51, + -109, + -33, + -87, + 20, + 84, + 83, + 30, + -19, + 74, + 21, + -20, + -5, + 118, + 42, + 8, + 3, + -30, + -65, + 32, + 31, + -126, + 44, + 126, + 108, + -47, + -120, + 63, + -25, + 2, + -78, + 78, + -45, + -50, + 11, + 80, + -112, + -99, + -99, + 24, + -71, + 55, + 79, + -20, + -114, + 45, + 75, + 124, + -72, + -90, + -42, + -85, + -99, + 21, + 90, + 88, + 51, + 112, + 121, + 42, + -14, + 125, + -82, + 60, + -40, + 86, + 27, + -109, + -37, + 76, + -31, + 120, + -20, + 84, + 13, + 21, + -94, + 116, + -36, + -43, + 111, + 85, + -91, + 19, + 31, + -97, + -72, + -25, + 108, + 119, + 62, + 103, + 89, + 70, + 25, + -123, + -109, + -48, + 90, + 66, + 30, + 7, + 17, + 112, + 70, + 52, + 93, + -75, + -44, + -96, + 35, + -42, + -19, + 64, + 93, + 100, + 50, + -58, + -124, + 123, + 75, + 79, + 23, + 114, + -112, + -98, + 107, + 66, + 25, + -99, + 97, + 36, + 70, + -114, + -87, + 7, + 31, + 91, + 17, + -101, + 86, + 79, + 84, + -68, + -57, + -13, + 63, + 89, + -6, + 25, + -56, + -29, + -58, + -34, + 86, + 96, + 72, + -83, + -75, + 39, + -40, + 72, + 81, + -14, + -75, + 68, + 31, + -122, + 31, + 12, + 58, + 62, + -115, + -15, + 89, + 18, + 44, + 80, + -123, + 33, + 79, + -75, + 118, + 2, + -102, + -117, + 126, + -1, + 0, + -126, + 63, + -76, + -118, + -81, + 77, + -34, + 116, + 55, + 105, + -49, + -74, + 31, + 60, + 122, + 115, + 75, + -106, + 80, + -105, + 25, + 54, + -116, + 101, + 120, + 45, + -5, + -84, + 6, + 115, + -30, + -76, + -127, + 30, + -13, + -81, + -44, + -80, + 66, + 105, + 78, + -112, + 113, + 101, + -57, + 57, + 73, + -46, + 60, + -26, + -75, + -98, + 61, + -75, + 106, + 43, + 25, + 46, + -113, + 75, + 99, + 64, + -117, + 60, + -110, + -34, + -102, + 84, + -104, + -122, + 20, + -21, + 45, + -22, + 31, + -81, + -3, + 111, + -116, + -19, + -6, + 88, + 76, + -38, + -39, + 123, + -85, + -82, + 47, + 111, + -108, + -64, + 41, + -47, + -52, + 67, + 51, + 45, + -81, + 64, + -47, + -87, + 86, + 117, + 94, + -23, + 116, + 105, + 113, + 24, + -53, + 93, + -128, + -110, + -59, + 126, + 74, + -44, + -24, + -73, + 73, + 102, + -68, + 66, + 75, + -45, + 114, + -115, + 114, + -79, + -31, + 84, + 101, + 87, + -49, + -42, + 126, + -94, + -30, + 113, + -31, + -100, + -78, + 75, + 26, + 50, + -90, + -21, + 24, + -44, + 15, + 24, + 73, + -15, + -126, + -23, + 84, + 84, + -118, + 21, + -5, + 80, + 2, + -128, + -81, + 84, + 57, + -23, + -92, + -116, + -57, + 34, + 49, + -35, + -62, + 23, + 38, + -40, + -67, + -59, + -111, + 97, + -10, + 39, + 96, + 72, + -66, + -5, + 37, + -104, + -109, + -33, + -95, + 89, + 66, + -2, + -108, + 112, + 100, + -19, + 117, + 73, + 103, + 115, + -83, + 63, + 53, + -104, + 11, + -23, + 13, + -19, + -56, + 25, + 50, + 109, + 20, + 18, + -95, + 74, + 39, + 15, + 43, + 58, + -37, + 6, + 121, + -92, + 104, + 31, + 109, + 47, + 7, + -101, + -27, + 11, + 37, + -103, + -84, + -3, + 30, + 73, + -10, + -127, + 1, + -99, + -78, + -4, + -70, + 60, + 96, + 121, + -60, + 75, + -102, + 49, + 82, + -25, + -118, + -6, + 11, + 77, + 74, + -49, + -110, + -19, + -44, + 36, + -28, + -48, + 116, + 119, + 77, + 13, + 113, + -62, + 43, + -24, + 17, + -42, + -61, + -79, + 65, + 98, + 118, + -72, + 74, + -125, + -74, + 101, + -80, + 74, + 77, + -128, + -122, + 20, + -62, + 24, + 114, + -118, + -92, + 70, + -22, + 82, + 8, + 26, + -97, + 69, + -18, + -118, + -89, + 46, + 126, + -77, + -12, + 90, + 125, + 80, + 100, + 0, + -120, + -63, + 50, + 49, + -93, + 1, + -123, + -115, + 36, + 42, + 93, + 72, + 4, + 2, + 24, + -98, + -17, + -65, + -13, + -39, + -75, + -8, + -98, + 83, + -32, + -87, + 93, + 119, + -58, + -52, + 118, + 42, + 64, + 37, + -29, + 81, + -93, + 93, + 18, + 25, + 127, + 4, + 30, + -65, + -32, + 85, + 82, + 55, + 103, + -122, + 50, + -109, + 46, + -93, + 73, + -1, + 0, + 90, + -48, + -41, + 17, + -76, + -83, + 0, + 91, + 78, + 106, + 34, + -116, + -74, + -123, + -28, + -102, + -77, + -106, + -126, + -12, + -121, + 121, + 127, + -101, + -54, + -90, + -59, + -3, + 49, + -10, + 101, + -97, + 46, + -113, + 63, + 70, + -16, + 75, + 119, + 19, + 43, + -115, + 102, + -122, + 1, + -111, + 69, + 98, + 94, + -20, + 92, + -49, + -42, + 126, + -77, + -12, + 78, + 51, + 107, + -5, + 83, + 16, + 0, + 36, + 0, + 45, + 13, + 14, + -2, + 5, + -11, + -1, + 0, + 31, + -73, + -88, + 74, + -40, + 82, + 73, + 36, + -94, + -110, + 72, + 82, + 73, + -95, + 100, + -110, + -65, + 38, + -69, + -1, + 0, + 103, + -41, + -1, + -39 + ], + "year": 2010, + "id": 2 + }, + { + "id": 3, + "name": "мультик", + "description": "мультик", + "image": [ + -1, + -40, + -1, + -32, + 0, + 16, + 74, + 70, + 73, + 70, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + -1, + -30, + 2, + 40, + 73, + 67, + 67, + 95, + 80, + 82, + 79, + 70, + 73, + 76, + 69, + 0, + 1, + 1, + 0, + 0, + 2, + 24, + 0, + 0, + 0, + 0, + 4, + 48, + 0, + 0, + 109, + 110, + 116, + 114, + 82, + 71, + 66, + 32, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 97, + 99, + 115, + 112, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + -10, + -42, + 0, + 1, + 0, + 0, + 0, + 0, + -45, + 45, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 100, + 101, + 115, + 99, + 0, + 0, + 0, + -16, + 0, + 0, + 0, + 116, + 114, + 88, + 89, + 90, + 0, + 0, + 1, + 100, + 0, + 0, + 0, + 20, + 103, + 88, + 89, + 90, + 0, + 0, + 1, + 120, + 0, + 0, + 0, + 20, + 98, + 88, + 89, + 90, + 0, + 0, + 1, + -116, + 0, + 0, + 0, + 20, + 114, + 84, + 82, + 67, + 0, + 0, + 1, + -96, + 0, + 0, + 0, + 40, + 103, + 84, + 82, + 67, + 0, + 0, + 1, + -96, + 0, + 0, + 0, + 40, + 98, + 84, + 82, + 67, + 0, + 0, + 1, + -96, + 0, + 0, + 0, + 40, + 119, + 116, + 112, + 116, + 0, + 0, + 1, + -56, + 0, + 0, + 0, + 20, + 99, + 112, + 114, + 116, + 0, + 0, + 1, + -36, + 0, + 0, + 0, + 60, + 109, + 108, + 117, + 99, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 12, + 101, + 110, + 85, + 83, + 0, + 0, + 0, + 88, + 0, + 0, + 0, + 28, + 0, + 115, + 0, + 82, + 0, + 71, + 0, + 66, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 111, + -94, + 0, + 0, + 56, + -11, + 0, + 0, + 3, + -112, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + -103, + 0, + 0, + -73, + -123, + 0, + 0, + 24, + -38, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 36, + -96, + 0, + 0, + 15, + -124, + 0, + 0, + -74, + -49, + 112, + 97, + 114, + 97, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 2, + 102, + 102, + 0, + 0, + -14, + -89, + 0, + 0, + 13, + 89, + 0, + 0, + 19, + -48, + 0, + 0, + 10, + 91, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + -10, + -42, + 0, + 1, + 0, + 0, + 0, + 0, + -45, + 45, + 109, + 108, + 117, + 99, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 12, + 101, + 110, + 85, + 83, + 0, + 0, + 0, + 32, + 0, + 0, + 0, + 28, + 0, + 71, + 0, + 111, + 0, + 111, + 0, + 103, + 0, + 108, + 0, + 101, + 0, + 32, + 0, + 73, + 0, + 110, + 0, + 99, + 0, + 46, + 0, + 32, + 0, + 50, + 0, + 48, + 0, + 49, + 0, + 54, + -1, + -37, + 0, + 67, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -37, + 0, + 67, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -64, + 0, + 17, + 8, + 0, + -56, + 0, + -106, + 3, + 1, + 34, + 0, + 2, + 17, + 1, + 3, + 17, + 1, + -1, + -60, + 0, + 31, + 0, + 0, + 0, + 6, + 3, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 6, + 7, + 8, + 9, + 3, + 4, + 10, + 2, + 1, + 11, + -1, + -60, + 0, + 48, + 16, + 0, + 1, + 5, + 1, + 0, + 2, + 2, + 1, + 4, + 2, + 1, + 4, + 2, + 3, + 1, + 0, + 5, + 1, + 2, + 3, + 4, + 6, + 7, + 17, + 18, + 8, + 19, + 20, + 0, + 21, + 33, + 34, + 9, + 22, + 35, + 23, + 49, + 50, + 51, + 36, + 37, + 10, + 66, + 81, + 65, + -1, + -60, + 0, + 28, + 1, + 0, + 0, + 7, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 0, + 8, + -1, + -60, + 0, + 63, + 17, + 0, + 2, + 2, + 1, + 2, + 3, + 5, + 5, + 6, + 4, + 5, + 2, + 7, + 0, + 0, + 0, + 1, + 2, + 3, + 17, + 4, + 18, + 33, + 0, + 5, + 49, + 19, + 34, + 65, + 81, + 97, + 6, + 113, + -127, + -111, + -16, + 20, + 50, + 82, + -95, + -79, + -63, + 35, + 66, + -47, + -31, + 7, + 21, + 98, + -110, + -15, + 36, + -46, + 51, + 83, + -126, + -109, + -94, + -78, + -45, + -1, + -38, + 0, + 12, + 3, + 1, + 0, + 2, + 17, + 3, + 17, + 0, + 63, + 0, + -26, + -18, + -87, + -74, + -39, + 33, + 98, + -11, + -80, + -105, + -21, + -106, + 101, + 120, + 8, + -36, + -50, + 17, + 16, + 70, + 33, + -58, + 11, + -46, + -100, + -119, + -42, + -51, + 78, + -32, + -122, + -39, + 23, + 88, + 70, + 98, + 105, + -30, + -96, + 66, + -118, + -115, + 3, + 126, + -32, + -76, + -3, + -66, + -12, + -11, + -117, + -57, + -5, + -123, + -62, + 100, + -126, + -51, + -102, + -76, + 98, + 22, + -23, + 51, + 68, + 40, + -67, + 107, + -35, + 20, + -39, + -86, + 94, + -122, + -46, + -108, + -102, + 53, + -77, + 102, + -117, + 18, + -35, + -104, + -118, + 8, + -126, + -109, + 42, + 89, + 35, + 122, + -13, + 7, + 83, + -110, + 75, + -75, + -93, + -118, + 75, + 101, + 2, + -38, + -76, + 66, + 77, + 103, + -66, + 8, + 124, + -70, + -38, + 84, + -110, + -19, + 30, + 76, + 111, + 45, + 84, + -95, + -26, + -57, + 74, + -82, + -9, + 77, + -102, + -30, + -73, + -54, + -44, + -123, + -107, + 116, + 18, + 93, + 31, + 91, + -93, + 23, + -53, + -24, + 52, + -116, + -96, + 60, + -117, + -104, + -77, + -120, + 15, + -92, + 30, + -37, + 49, + -97, + 91, + 68, + 34, + -69, + 36, + -18, + -100, + -48, + -97, + -64, + -49, + -100, + 25, + -16, + 118, + -76, + 22, + -66, + 50, + -36, + -69, + 16, + -102, + -61, + 12, + 18, + -93, + -53, + 13, + 102, + 53, + -102, + -58, + 81, + 58, + -30, + 96, + 41, + -36, + -113, + 33, + -116, + 63, + -80, + -69, + -82, + -114, + -19, + -15, + 85, + -87, + -36, + -3, + -128, + 93, + -56, + -86, + 103, + 82, + -23, + -109, + 1, + 105, + 87, + -45, + 93, + 51, + 126, + -100, + -36, + -57, + -107, + -92, + -53, + -116, + -36, + -61, + 9, + 114, + 91, + 101, + -127, + -78, + -95, + 89, + -104, + -128, + 24, + -123, + -124, + -56, + 28, + -110, + -69, + -48, + 94, + -100, + 80, + -105, + -108, + 115, + 50, + -126, + 99, + -53, + -77, + -116, + 76, + 9, + 89, + 126, + -55, + -111, + -39, + 16, + 58, + -111, + 33, + -113, + 65, + 3, + 123, + -34, + -67, + 120, + -117, + -11, + -81, + -110, + 125, + 71, + -120, + 37, + 81, + -92, + -101, + 91, + 52, + 33, + -10, + 80, + 26, + 70, + 96, + 45, + 6, + 65, + -23, + 125, + -54, + 118, + -43, + 74, + -108, + -84, + -113, + -84, + -21, + 74, + 4, + -103, + -81, + -59, + 42, + 66, + -102, + 95, + 19, + 58, + 34, + 90, + -118, + -9, + -127, + 56, + 94, + 66, + -54, + -70, + -108, + -91, + 11, + 75, + 5, + -49, + 54, + 111, + -60, + -124, + -1, + 0, + 20, + -104, + -63, + -82, + -77, + 111, + 65, + 86, + -67, + 71, + -79, + 9, + -70, + -74, + 65, + -90, + -59, + 18, + 26, + -39, + -104, + -127, + -46, + 3, + 85, + -50, + -47, + 122, + 93, + -76, + 30, + -3, + -21, + -18, + 81, + 27, + -26, + 93, + -44, + 46, + -82, + -122, + 87, + 89, + -114, + 55, + -53, + -11, + -122, + 43, + -103, + 53, + 89, + -67, + 4, + 69, + 126, + 66, + 80, + -108, + 86, + -76, + 12, + -123, + -51, + 43, + 67, + 122, + -15, + -127, + 45, + -37, + 83, + -93, + -86, + 18, + -97, + -10, + -43, + -81, + 81, + 100, + 123, + 73, + 90, + -111, + 93, + 74, + 59, + -39, + -39, + 101, + -15, + -45, + -4, + 92, + -4, + -72, + -7, + 51, + 64, + -114, + -50, + -107, + -66, + 107, + -119, + -59, + -112, + 49, + 126, + -60, + 38, + 119, + -58, + -82, + 126, + 17, + -1, + 0, + -39, + -51, + 93, + 26, + 66, + -42, + 106, + -122, + 116, + 22, + -45, + 65, + 74, + -19, + 75, + 47, + -118, + -75, + 98, + 68, + -123, + 126, + -47, + 96, + 109, + 6, + -45, + -104, + -101, + 92, + -37, + 3, + -55, + -125, + -25, + -32, + 36, + -99, + -111, + -53, + -57, + 18, + 86, + -15, + 118, + -56, + 101, + -16, + -78, + 99, + 12, + 88, + 117, + 22, + 106, + -73, + 6, + -8, + 113, + 23, + 38, + -26, + -110, + -128, + 87, + -105, + -26, + 104, + 55, + 77, + -10, + 121, + 85, + 54, + -81, + -25, + 101, + 8, + 54, + 62, + 126, + -99, + 79, + 16, + 46, + -11, + -119, + -121, + -70, + -117, + 35, + 27, + 40, + 117, + -106, + -111, + 4, + 30, + 77, + -59, + 94, + -71, + -39, + -83, + 90, + -73, + 114, + -115, + 21, + 39, + 13, + 107, + -109, + 48, + -100, + -125, + -27, + -83, + 88, + 58, + -45, + -73, + 87, + -10, + 91, + 117, + -13, + 106, + -109, + -118, + 32, + 30, + -47, + 26, + 116, + -118, + -127, + -80, + -92, + 87, + -83, + -114, + -96, + 68, + -19, + -53, + 37, + -56, + 65, + -105, + 59, + 78, + -111, + 65, + -116, + 48, + 74, + 121, + -30, + 24, + -57, + -49, + 56, + 59, + 70, + 27, + 121, + -92, + 107, + -63, + 42, + 15, + -83, + 28, + -61, + -94, + 97, + 98, + -42, + -56, + 102, + -84, + 92, + 103, + -87, + -38, + -126, + -83, + -2, + -25, + -8, + -9, + -64, + 17, + 26, + 67, + 3, + 98, + -34, + -42, + -89, + 80, + -61, + -53, + 107, + 51, + -93, + -48, + -115, + -100, + 46, + -109, + -99, + -59, + -92, + 18, + 70, + 17, + 122, + 3, + -126, + -13, + 117, + 48, + 25, + 98, + -14, + 83, + 35, + 53, + 59, + 87, + -126, + -74, + 61, + 8, + 19, + -77, + -85, + 71, + -87, + -37, + -45, + -44, + 31, + 98, + -100, + 80, + -40, + -9, + -62, + 14, + -9, + -105, + -75, + 24, + 27, + 99, + -14, + 36, + 5, + -44, + -79, + 93, + 7, + -23, + 107, + 109, + -15, + 120, + -95, + 23, + -19, + 45, + 73, + -89, + -125, + 61, + 40, + -99, + 43, + 3, + -98, + -107, + 103, + -114, + -39, + 71, + 18, + 29, + -25, + 67, + 9, + -37, + -30, + 81, + -42, + 127, + 61, + -75, + -110, + -53, + -119, + 31, + 50, + -60, + -108, + -48, + -105, + 73, + 83, + 67, + 90, + -108, + 7, + -62, + -44, + -111, + 71, + -48, + 94, + -81, + 78, + 37, + -14, + -67, + -111, + -25, + -72, + 113, + -59, + 43, + -32, + 73, + 42, + 74, + 20, + -125, + -116, + 70, + 67, + 41, + 97, + 96, + 72, + -111, + 22, + -111, + 43, + 107, + 44, + -102, + 1, + 32, + 106, + -80, + 64, + -116, + -81, + 33, + 74, + 86, + -105, + -87, + 126, + -123, + -104, + 101, + -128, + 109, + 115, + 97, + 40, + -33, + 55, + 24, + -21, + -109, + -44, + 29, + -106, + -78, + 60, + -100, + -10, + 79, + 11, + -83, + -97, + 20, + -47, + 68, + 106, + 62, + 42, + -9, + -57, + -57, + 45, + 4, + -3, + -64, + 12, + 96, + -88, + -57, + 94, + 31, + 121, + -64, + 20, + -27, + 3, + 106, + -52, + -100, + -49, + -26, + -77, + -89, + 27, + 96, + -34, + -109, + 124, + -36, + -63, + -37, + -105, + 69, + -60, + 58, + -99, + 50, + -59, + 13, + -44, + 12, + 6, + 52, + 52, + 74, + -115, + 65, + 87, + 5, + -35, + 41, + 89, + -41, + -103, + 44, + -18, + -106, + -67, + 75, + 0, + 94, + -83, + 3, + 89, + -53, + -92, + -124, + -60, + -106, + -62, + -4, + 94, + -48, + 104, + 38, + -89, + 47, + 77, + -77, + 67, + 24, + 50, + 75, + -109, + 47, + -44, + 46, + -47, + 75, + -123, + 32, + 101, + 116, + -87, + 110, + 107, + 43, + 88, + 97, + 6, + 91, + 108, + -105, + -22, + -48, + -118, + -104, + -31, + -59, + -10, + 108, + -83, + 98, + -77, + 31, + 102, + 101, + 95, + -11, + 1, + 86, + 44, + -67, + -36, + 32, + 71, + 26, + -25, + -67, + 47, + 4, + 47, + 9, + 84, + -114, + -84, + -107, + -47, + -27, + 32, + 27, + -92, + 44, + 74, + 1, + 9, + 72, + -127, + 72, + 42, + -78, + -59, + 9, + -64, + 56, + 84, + -110, + 79, + -32, + 79, + -117, + -29, + -89, + 66, + 63, + 117, + 115, + 15, + 13, + 122, + -100, + -29, + -86, + 71, + 108, + 107, + -100, + 77, + -112, + 22, + 38, + 117, + 58, + -56, + 6, + -126, + -12, + -80, + 54, + -77, + 96, + 117, + -3, + -3, + 1, + 95, + -107, + -5, + 47, + -99, + -107, + 52, + 34, + 120, + 126, + -49, + 11, + -55, + 24, + -112, + -53, + -36, + -109, + 65, + 101, + -43, + -90, + 63, + -65, + 101, + 108, + 45, + -123, + -78, + 70, + -29, + -88, + -77, + 97, + 95, + 25, + 113, + -46, + -13, + 74, + 56, + 100, + -98, + -5, + 115, + 65, + -127, + 18, + -50, + -122, + -95, + 94, + -36, + 43, + -96, + 47, + 20, + 99, + 94, + 2, + -27, + -81, + -36, + -21, + 9, + 81, + -79, + -24, + 74, + 91, + -48, + 74, + -62, + -102, + 88, + 1, + -66, + 63, + -33, + -82, + -87, + 54, + -128, + -79, + -2, + -51, + 28, + 22, + -71, + -10, + 45, + 84, + -114, + 31, + 65, + 76, + 49, + -40, + 84, + 54, + -120, + 52, + -105, + -82, + 127, + -84, + 90, + 45, + 74, + -56, + -100, + 43, + -84, + 77, + 13, + -80, + -125, + -101, + 124, + -35, + -76, + 120, + -85, + -88, + -77, + -111, + -122, + -117, + 71, + -33, + -71, + -5, + 116, + 45, + -84, + -21, + 86, + 116, + -60, + 109, + -21, + -71, + -11, + -18, + -94, + 104, + 109, + 107, + -92, + 54, + -127, + 15, + 45, + -5, + 37, + -112, + -76, + -38, + 96, + -3, + -70, + -76, + 96, + 85, + -96, + 45, + -82, + -117, + -13, + 106, + 90, + -76, + 102, + 96, + 83, + -40, + 35, + 81, + -61, + 94, + -82, + -122, + -78, + -51, + 21, + -6, + -78, + -26, + 12, + 89, + -100, + 104, + -14, + 49, + -78, + 14, + 88, + 119, + -117, + 103, + 39, + -92, + 58, + -7, + -121, + -58, + 70, + -16, + -99, + 46, + -74, + 59, + -109, + -101, + -73, + 122, + 103, + -102, + -118, + 41, + 46, + 93, + 26, + 86, + -95, + -79, + 36, + -126, + -97, + 39, + 102, + -19, + 3, + 22, + 89, + 126, + -43, + -70, + -93, + -123, + 77, + 98, + -125, + 84, + -67, + 64, + 117, + -81, + 80, + 15, + 105, + -113, + 46, + 34, + -35, + 67, + 91, + 48, + 87, + 99, + 123, + -106, + -67, + -38, + -20, + -11, + 45, + -71, + 62, + -99, + 43, + -117, + 15, + -73, + 120, + -88, + -80, + 114, + -57, + -118, + 33, + 26, + 67, + -37, + 99, + -96, + 64, + -86, + -87, + 18, + -120, + 76, + 105, + -48, + 26, + 26, + 88, + -96, + -70, + 29, + -19, + -115, + -114, + 17, + 102, + 104, + -37, + 109, + 58, + -75, + -121, + -62, + -4, + -19, + -101, + 52, + -59, + 15, + 8, + 62, + -59, + 122, + 102, + 127, + 52, + -60, + -74, + -58, + -124, + 48, + -4, + -93, + -123, + 90, + -94, + -7, + 7, + -33, + -97, + -16, + -18, + -119, + 97, + -102, + -92, + 7, + -35, + -85, + 114, + -63, + 38, + -100, + 34, + 122, + 0, + 26, + -83, + 17, + -103, + 105, + -93, + -75, + 8, + -119, + -104, + 90, + 89, + 110, + -114, + -124, + -122, + 76, + -59, + -10, + -66, + -112, + -31, + -60, + -86, + 62, + -26, + -90, + -101, + -84, + -101, + -120, + 60, + 113, + -43, + -85, + 114, + -32, + -10, + -120, + -86, + 60, + -107, + 91, + -92, + 51, + -25, + -75, + 41, + 86, + -59, + -21, + -70, + -53, + 96, + -55, + -62, + 51, + -28, + -27, + -28, + 0, + -15, + 2, + -86, + 86, + -94, + 32, + 101, + 87, + 56, + -39, + 8, + 76, + 64, + 88, + -115, + 59, + 55, + 38, + 10, + -39, + 38, + -82, + 70, + 85, + 9, + 114, + 33, + -114, + -84, + 54, + -67, + 1, + -126, + -85, + -117, + -85, + 122, + -94, + -69, + 69, + 45, + -29, + 123, + 41, + -86, + -64, + -70, + 72, + 12, + 11, + -111, + 90, + 116, + -81, + -98, + -71, + 5, + 102, + 65, + 106, + 24, + -20, + -113, + 47, + 46, + 82, + 17, + -92, + 73, + -56, + 56, + -109, + -82, + 86, + 106, + -22, + 71, + 75, + -88, + -112, + 97, + -118, + -63, + 7, + 89, + 23, + -2, + -94, + 81, + -76, + -124, + -35, + -88, + -54, + -70, + 99, + 48, + 95, + 44, + -114, + -126, + -68, + -87, + 83, + -13, + -11, + 27, + -33, + -57, + -22, + -9, + -29, + 52, + 42, + 46, + -21, + 113, + -11, + -65, + -42, + -36, + 42, + 105, + -26, + -106, + -64, + -25, + -30, + -38, + 117, + -10, + 89, + 14, + -112, + -75, + -128, + -127, + 45, + -25, + 45, + -38, + -87, + 86, + 102, + 18, + 17, + 98, + -11, + 64, + 100, + 44, + 95, + 34, + 102, + -108, + -124, + -82, + 87, + 4, + 58, + -27, + -111, + 5, + 74, + -119, + -114, + -63, + -27, + -81, + 106, + -12, + 99, + 13, + 102, + 116, + 38, + -101, + 98, + -38, + 11, + 121, + -116, + -114, + 127, + 62, + 118, + -71, + 6, + -115, + 36, + 52, + 124, + -16, + -46, + -102, + -13, + -85, + -42, + 7, + 70, + -67, + 109, + 74, + 7, + 60, + 32, + -95, + 81, + 118, + 88, + -58, + -107, + -104, + -115, + -56, + -111, + 43, + 70, + 62, + 26, + 84, + -88, + 84, + -72, + 20, + -115, + 103, + 73, + 4, + -7, + -51, + -85, + -92, + -25, + -48, + 45, + 1, + -29, + -93, + 20, + -53, + 115, + 54, + -106, + 106, + -120, + 90, + 79, + 29, + 90, + -83, + -41, + 95, + -83, + 94, + 91, + 86, + 95, + 116, + -71, + 59, + 58, + -79, + -62, + -20, + 87, + -103, + -27, + -83, + 76, + 72, + 67, + 67, + 6, + 34, + 127, + 64, + 20, + -119, + 106, + -94, + 63, + 125, + -109, + -96, + 31, + -54, + 122, + -2, + 124, + 104, + -70, + 57, + 71, + 90, + -66, + 85, + -41, + -91, + 27, + 102, + -67, + 120, + 45, + -38, + -72, + 12, + -75, + -109, + 69, + 96, + 9, + -101, + 48, + 34, + -75, + 44, + -12, + 64, + -99, + 96, + -64, + 51, + 80, + -39, + 31, + 118, + -40, + 18, + 40, + 22, + -3, + -85, + 84, + -13, + 36, + -84, + 15, + -95, + 114, + 96, + -36, + 86, + -57, + -82, + -35, + 126, + -66, + 92, + 21, + -108, + -99, + -64, + -77, + -65, + -115, + 111, + -80, + 7, + -21, + -53, + -81, + 9, + -22, + 98, + -56, + -63, + 122, + 125, + -48, + -33, + -82, + 90, + 86, + 105, + -110, + 32, + -108, + 33, + 87, + 85, + -83, + 53, + 93, + 21, + 13, + 120, + 59, + -77, + 89, + 125, + -96, + 54, + -31, + -86, + 50, + -115, + -54, + 117, + 100, + 59, + -11, + 102, + -1, + 0, + 26, + -108, + -57, + -123, + 14, + 99, + 115, + -9, + 77, + 74, + -9, + -87, + 105, + 61, + -30, + -27, + -69, + 38, + 126, + 32, + -113, + 53, + 67, + 57, + 86, + 106, + -1, + 0, + -14, + 102, + -90, + 23, + 57, + 88, + 52, + -10, + 54, + 98, + 9, + 65, + 107, + 69, + -11, + -44, + -37, + 84, + -99, + -31, + -28, + 66, + 52, + 67, + 55, + -24, + 25, + -105, + -70, + -14, + 122, + 35, + 16, + -38, + -121, + 101, + 82, + 100, + -50, + 106, + -124, + -61, + 114, + -121, + 47, + -2, + 59, + -62, + 56, + -11, + 113, + 53, + 10, + 81, + 24, + 47, + 81, + 57, + 7, + 16, + 8, + 58, + 25, + -44, + -31, + -110, + 54, + -87, + 54, + 70, + -71, + -41, + 44, + -41, + -45, + -123, + 24, + 56, + -25, + -40, + 2, + -116, + -81, + 108, + -14, + -39, + -91, + -96, + 22, + -3, + -58, + 72, + 66, + -91, + -84, + -11, + 33, + 90, + 43, + -9, + -111, + -29, + -91, + 58, + -5, + 25, + -111, + 54, + -77, + 49, + 94, + -89, + 104, + -100, + 69, + 43, + -45, + -73, + 106, + 27, + -34, + 63, + 34, + -107, + 18, + 24, + -117, + -48, + 77, + 78, + -63, + 56, + -83, + 83, + 17, + 90, + -2, + -108, + 92, + -46, + -117, + 33, + 44, + 86, + 5, + -102, + -6, + 116, + -6, + -3, + 56, + 13, + 55, + 100, + -11, + -16, + -4, + -67, + -35, + 122, + 111, + 94, + -31, + -48, + 109, + 13, + -69, + 52, + -108, + -97, + 120, + -125, + -81, + 31, + 46, + -77, + -114, + -73, + 66, + -20, + 87, + 7, + 82, + -52, + -8, + -46, + 9, + -75, + 120, + -77, + -114, + 59, + 55, + 90, + -76, + -80, + -34, + 1, + 24, + -56, + -94, + 81, + 118, + -29, + 75, + 103, + 4, + 5, + -90, + -21, + -47, + 86, + -51, + -54, + 60, + 21, + 109, + 43, + 18, + 10, + -124, + -5, + -118, + -127, + 49, + 94, + -54, + 44, + 111, + -79, + 76, + -108, + 119, + 46, + 92, + -108, + -115, + -94, + -45, + 74, + -9, + 80, + 21, + 84, + -88, + -5, + -79, + -121, + -81, + 115, + -9, + 83, + 48, + -51, + 75, + 69, + 121, + -76, + -55, + -79, + 40, + 23, + 92, + -37, + 29, + -88, + 28, + -30, + -65, + 106, + 88, + -56, + -109, + 7, + 14, + 125, + -107, + 76, + -74, + -21, + -37, + 52, + 19, + 57, + 116, + 47, + -71, + 45, + -21, + 25, + -127, + -110, + 78, + 110, + -58, + 112, + 77, + -112, + 85, + 69, + -50, + 66, + -43, + 106, + 113, + -43, + -87, + 74, + -79, + -117, + 21, + 6, + 18, + 100, + 108, + 121, + 42, + -84, + 41, + -101, + -118, + -25, + -101, + -39, + -4, + -21, + 117, + 53, + -17, + 91, + 48, + -108, + 4, + -68, + -23, + 11, + 69, + 39, + -126, + -104, + 13, + 29, + -59, + -67, + 66, + -96, + 88, + 74, + -37, + 15, + 90, + -23, + 59, + -31, + 11, + 83, + 91, + -10, + -19, + 13, + -122, + -76, + -123, + -28, + 0, + -31, + -124, + -103, + 102, + -42, + -92, + -100, + 48, + 105, + 86, + 50, + -16, + 42, + 118, + 29, + 124, + 64, + -79, + -16, + 29, + 63, + 115, + -42, + -8, + 40, + -46, + 13, + 104, + -56, + 107, + -112, + -107, + -43, + -95, + 97, + -122, + 87, + -77, + 64, + -123, + 96, + 110, + -65, + 101, + -47, + 50, + 66, + 49, + 92, + -86, + 66, + -112, + 97, + -59, + 7, + 9, + -66, + -28, + 96, + -37, + 55, + 40, + 92, + 22, + -21, + -87, + 42, + -76, + -107, + 91, + -112, + -60, + 94, + -23, + 45, + 112, + -3, + 56, + 2, + 117, + -38, + 42, + -114, + -118, + 85, + -61, + -111, + -44, + -55, + 76, + 93, + 33, + -50, + -85, + 27, + -82, + -95, + 95, + -86, + -37, + -91, + 63, + 17, + 9, + 28, + -128, + -52, + -36, + -128, + 68, + -110, + 20, + -77, + 56, + -54, + -30, + -88, + 6, + 11, + 58, + -108, + -80, + 70, + -13, + 47, + -107, + -74, + -53, + 12, + 31, + -82, + -32, + 117, + 124, + 60, + -9, + 95, + -5, + -121, + -81, + 29, + 1, + 114, + -63, + -65, + 50, + 53, + 68, + 117, + -128, + -9, + 99, + 52, + -63, + 110, + -103, + -50, + -112, + -98, + -90, + -54, + 67, + 34, + 44, + -128, + 29, + -97, + 30, + 62, + -96, + -86, + 11, + 115, + 73, + 103, + 86, + 89, + -113, + -122, + 96, + -76, + 39, + 40, + 124, + -116, + 90, + -21, + -38, + 91, + -48, + 82, + -114, + -128, + -22, + -94, + 107, + -66, + -18, + -104, + -93, + 17, + -49, + -117, + -9, + 95, + -116, + 93, + 51, + 89, + -89, + 127, + 91, + -23, + -97, + 100, + 96, + 46, + 9, + -49, + -41, + 27, + -124, + -51, + -12, + 78, + 127, + -82, + -58, + -43, + -53, + -121, + -75, + -108, + -114, + -85, + -33, + -39, + -7, + -43, + -101, + -76, + -42, + -51, + -105, + 27, + -101, + 59, + -104, + 37, + 38, + -120, + 75, + -4, + 11, + 47, + 10, + -34, + -47, + 29, + 27, + 21, + -98, + 105, + -12, + 123, + 110, + -12, + 58, + 126, + 61, + -119, + 63, + -68, + -81, + -123, + -67, + 126, + -56, + -51, + 77, + -100, + 125, + 41, + -85, + -12, + -126, + -97, + 94, + 110, + -79, + -70, + -16, + 37, + -86, + 97, + -44, + -114, + 87, + 9, + 113, + 26, + 30, + 20, + 57, + 97, + 3, + 14, + -41, + -92, + -95, + -14, + 86, + 7, + -105, + 2, + 72, + -59, + 77, + 42, + -42, + -81, + -59, + -19, + -80, + -52, + -41, + 53, + -61, + 116, + 9, + -13, + -116, + 96, + -78, + -123, + -77, + -75, + -50, + 104, + 33, + -89, + 96, + 110, + -122, + 42, + -14, + -60, + 95, + 42, + 82, + -64, + -94, + 36, + -23, + 106, + 37, + 42, + -8, + 113, + -71, + -125, + 100, + 50, + -83, + 51, + 112, + -95, + 105, + -86, + 84, + -75, + -87, + -77, + -92, + 19, + -119, + -84, + 7, + -11, + -26, + -127, + -117, + 58, + 72, + -103, + 56, + 113, + -77, + 75, + 25, + 95, + -30, + -10, + 64, + 34, + -52, + -49, + 30, + -54, + -6, + -39, + -112, + 29, + 86, + -46, + -103, + 22, + -23, + -84, + 86, + -51, + -21, + 94, + 104, + 35, + -100, + 39, + 108, + -15, + -62, + -32, + -126, + -112, + 37, + -37, + 69, + -96, + -115, + 109, + 97, + 65, + -35, + 69, + 34, + -122, + -96, + 84, + -35, + -109, + -91, + -117, + -59, + -4, + -96, + -61, + -4, + -109, + -59, + 115, + -68, + -49, + -50, + 14, + 38, + 18, + 108, + -34, + -120, + -13, + -56, + -13, + -114, + -43, + 91, + -15, + -19, + 114, + -78, + 58, + -70, + 4, + 68, + -36, + -81, + -113, + -82, + 97, + -59, + 42, + -21, + 48, + 27, + -21, + 23, + 41, + -111, + 18, + 87, + -97, + 105, + -23, + 32, + -51, + -72, + 64, + -60, + 5, + 13, + -45, + -12, + -100, + -91, + -102, + -73, + 52, + 6, + 95, + 61, + 59, + 103, + -54, + 47, + -125, + -36, + -57, + -109, + -12, + 127, + -117, + -103, + 94, + 111, + -79, + -30, + 25, + -78, + -37, + -24, + -70, + -104, + -88, + -7, + -75, + 102, + -121, + -118, + 61, + 59, + -29, + -75, + -111, + 48, + 124, + 62, + 48, + -120, + 59, + -126, + 104, + -48, + -80, + -13, + -73, + -76, + 58, + -16, + 55, + -122, + 84, + -48, + 107, + 46, + 85, + 83, + -76, + 71, + -43, + 116, + 98, + -117, + 62, + 28, + 63, + -120, + 71, + -53, + 119, + -99, + 63, + 41, + -94, + 41, + -124, + 47, + -15, + -17, + -82, + 86, + -43, + 54, + 94, + 97, + 124, + -94, + 105, + -64, + -33, + -45, + 19, + -48, + -42, + -124, + 4, + -77, + -123, + -47, + -123, + 123, + 37, + -83, + 111, + -101, + -79, + 4, + 105, + 126, + -67, + 9, + -5, + 70, + -50, + -64, + -73, + 77, + -78, + -32, + -40, + -77, + -48, + -125, + 116, + 122, + 22, + 114, + 78, + 47, + -49, + -49, + -38, + -60, + -37, + -70, + 87, + -100, + 18, + -93, + 61, + 75, + 57, + 3, + -31, + 76, + 116, + -89, + 102, + -24, + 84, + 0, + 81, + -28, + -99, + 81, + -114, + 32, + 83, + 93, + -83, + 8, + 73, + -43, + 70, + -85, + 114, + 16, + 65, + 100, + -13, + 111, + 93, + 39, + 68, + 121, + -39, + -58, + 90, + -52, + -27, + 67, + -35, + -71, + 94, + 100, + -95, + 87, + 51, + 47, + 29, + 53, + 71, + -36, + -103, + 65, + -89, + -18, + 16, + 15, + 126, + -55, + -110, + 39, + -39, + -111, + -102, + -92, + -116, + -102, + 96, + 85, + 75, + 113, + 84, + -101, + 17, + -99, + -66, + -50, + -123, + -107, + -100, + 13, + 6, + -120, + 22, + 119, + 20, + 8, + 26, + 88, + 110, + 8, + 22, + -84, + 54, + 4, + 18, + 7, + 21, + -123, + -15, + -121, + -27, + -5, + -2, + 87, + 80, + -40, + 108, + -74, + 54, + 115, + -8, + -66, + -82, + -64, + -51, + -78, + 103, + 51, + -123, + -37, + -40, + -77, + 75, + 79, + 16, + -72, + -29, + -124, + 113, + -20, + -113, + 40, + 50, + 107, + -93, + -21, + 50, + -19, + -120, + 49, + 92, + -66, + 116, + -92, + 71, + -15, + -125, + 3, + 93, + -69, + 74, + 125, + -64, + 61, + 41, + 58, + -70, + -37, + -12, + 2, + 57, + 123, + 121, + 0, + 29, + -117, + 68, + 6, + -39, + 93, + 5, + 8, + 102, + 3, + -5, + 68, + -123, + 91, + -125, + -46, + -125, + -46, + 26, + 20, + 97, + 34, + -96, + -74, + -55, + 92, + -78, + 50, + -34, + 85, + -45, + 87, + -88, + 85, + -80, + 95, + 124, + 6, + -22, + -44, + -96, + 102, + -27, + 56, + 46, + -124, + -90, + -30, + 48, + 3, + 37, + 86, + -31, + 56, + -1, + 0, + 61, + -25, + 63, + 37, + -121, + 51, + -117, + -117, + -25, + -28, + -92, + 29, + -99, + -67, + -93, + -57, + -37, + 11, + -87, + 113, + 65, + 67, + -120, + 71, + 92, + -104, + -115, + -114, + 125, + -73, + 32, + 33, + 107, + -3, + -96, + 16, + 51, + 86, + -120, + -65, + 58, + 68, + -35, + 10, + 91, + 8, + -14, + 106, + 35, + 57, + -85, + 35, + 107, + 79, + -101, + 58, + -38, + 115, + 31, + 53, + -14, + 2, + 88, + 51, + 118, + 107, + -17, + 3, + -36, + 11, + 95, + 51, + 126, + -80, + -28, + -96, + 48, + 124, + -78, + 82, + -108, + -109, + -94, + -86, + -60, + 109, + 41, + -84, + -40, + -106, + 59, + -27, + 38, + -114, + 41, + -25, + -93, + 74, + 42, + 127, + -71, + 81, + -75, + 12, + -83, + -122, + -9, + -39, + 98, + -67, + 106, + -10, + 100, + -52, + -118, + 96, + 90, + 40, + -34, + 56, + -1, + 0, + -108, + 61, + 19, + 123, + 31, + 6, + 97, + 84, + 108, + 89, + -69, + -12, + -82, + 36, + 49, + 34, + -103, + 113, + -111, + 39, + 96, + 101, + -113, + -72, + 72, + 59, + 50, + 0, + -95, + 73, + 5, + 87, + 123, + -75, + -83, + 52, + 0, + 27, + -110, + 77, + 68, + 45, + 71, + -57, + -50, + -117, + -101, + 64, + 46, + -112, + -71, + 86, + -44, + -65, + 100, + -59, + -80, + 88, + 106, + 37, + 5, + 30, + -46, + 20, + -118, + -123, + 73, + 108, + -100, + -71, + 40, + -7, + -48, + 101, + 24, + 109, + -35, + 30, + 37, + -109, + 85, + -6, + -19, + -66, + -74, + -118, + -59, + 119, + -48, + 117, + -111, + -49, + -99, + -76, + -88, + 36, + 48, + -97, + 31, + 47, + -13, + 93, + -123, + 77, + -52, + -43, + 92, + 115, + -104, + 94, + -47, + -72, + 120, + -83, + -67, + -38, + 15, + -86, + 9, + 101, + 47, + -100, + -70, + 103, + 24, + 120, + -19, + 3, + 21, + 109, + 18, + 2, + 0, + -52, + 50, + -63, + 5, + -125, + 113, + -58, + 84, + 125, + 9, + -122, + -22, + -24, + 65, + 111, + -14, + 41, + 15, + 89, + -97, + 77, + -105, + 102, + -19, + -15, + -19, + 8, + 11, + -26, + 124, + -81, + 73, + -5, + 8, + -55, + 115, + -89, + -31, + -109, + -88, + -27, + -17, + -111, + -106, + 1, + 114, + 98, + 118, + -122, + 52, + 27, + 56, + -113, + -82, + -70, + -16, + -82, + 0, + 96, + -35, + 6, + 7, + -57, + -13, + 0, + 68, + -7, + -114, + -90, + 13, + -28, + -70, + 57, + 11, + -22, + 110, + -53, + -95, + 5, + 31, + 60, + -106, + -53, + 62, + 48, + -124, + -56, + -10, + 62, + 121, + -72, + -8, + -39, + 38, + -106, + 67, + -36, + -33, + 120, + -32, + -3, + 10, + 41, + 53, + 65, + -58, + 97, + -70, + 38, + 79, + 84, + 27, + 69, + -98, + -38, + 91, + -59, + -12, + -100, + -26, + 122, + 10, + 34, + -124, + -54, + 106, + -51, + 66, + 0, + 116, + -60, + 51, + 86, + 10, + 9, + 43, + 82, + 97, + 87, + 51, + -15, + 22, + -91, + -93, + -76, + 84, + -116, + -92, + 57, + 18, + 72, + 82, + 22, + 100, + 61, + -84, + 125, + -35, + 36, + 18, + 25, + -119, + 8, + 26, + -81, + 73, + 44, + -91, + 72, + 53, + -42, + -56, + -24, + 67, + 9, + 82, + 52, + -19, + 36, + 64, + 110, + 25, + 6, + -67, + 74, + 84, + 105, + 5, + 75, + -107, + 58, + 105, + -128, + 83, + 99, + 77, + -40, + 20, + 61, + 97, + -75, + -33, + -108, + -36, + 5, + -101, + 109, + 15, + 55, + 13, + -84, + 39, + -79, + -43, + 94, + -120, + 112, + 57, + -15, + 56, + -116, + -122, + -76, + -55, + -38, + 101, + -20, + -13, + -47, + 102, + 10, + -44, + -71, + 124, + 118, + 112, + -74, + 126, + -47, + -79, + 103, + -57, + -105, + -78, + 68, + 74, + -37, + 49, + 112, + 57, + -15, + 22, + 69, + -112, + -119, + -46, + 4, + 42, + -22, + 80, + 83, + 120, + 11, + -98, + -98, + -81, + 110, + -82, + -124, + 9, + -116, + -79, + -53, + 113, + -55, + 78, + -82, + -124, + -44, + 86, + 107, + 28, + 11, + 82, + -36, + -1, + 0, + 93, + -86, + -105, + -57, + 78, + -8, + -28, + -114, + 50, + 99, + -25, + -81, + 78, + -60, + -105, + -37, + 35, + 38, + -89, + 114, + -19, + 27, + 14, + 90, + -83, + -70, + -106, + 37, + -46, + 124, + 34, + -91, + -16, + 78, + -128, + 75, + -39, + -95, + -90, + 127, + -22, + -59, + -56, + 109, + 2, + -49, + -11, + 11, + 110, + 60, + 54, + -10, + 35, + 0, + 100, + 77, + -22, + 38, + -37, + 68, + -84, + 26, + -39, + -79, + 58, + -5, + 103, + -78, + 102, + -24, + 6, + -77, + -77, + 3, + -103, + -50, + -114, + -52, + 24, + -3, + -31, + -53, + 5, + 30, + -119, + 30, + 83, + 65, + -104, + -63, + -46, + 51, + -43, + -68, + -27, + -13, + -64, + -7, + 17, + -98, + -123, + -92, + 13, + -5, + -86, + 21, + 42, + 30, + 34, + -70, + 13, + -107, + -23, + 101, + -126, + -106, + -118, + -104, + -125, + -126, + -24, + 77, + 35, + 51, + -106, + -84, + 103, + 9, + -104, + 53, + 4, + -13, + -24, + -112, + 30, + -82, + 28, + -15, + -10, + -27, + -76, + 7, + 11, + -47, + 41, + 78, + 53, + 99, + -43, + 4, + -128, + -87, + -111, + 8, + -40, + 106, + 32, + 53, + -87, + 30, + 0, + -112, + 3, + 120, + 41, + 38, + -59, + 6, + -33, + -122, + -45, + -57, + 22, + 124, + 13, + 20, + -15, + -59, + 52, + 76, + 72, + -45, + 90, + -112, + -83, + 0, + 24, + 22, + 22, + 24, + 120, + 58, + -47, + 12, + 3, + 41, + 20, + 56, + -85, + 30, + -101, + -15, + -109, + -84, + -48, + -69, + -101, + -77, + 75, + 13, + 46, + -128, + 40, + 86, + 126, + -20, + 55, + 101, + -101, + 1, + -83, + 88, + 25, + 28, + 51, + 50, + -23, + -101, + 59, + 87, + 15, + -122, + -54, + -56, + 122, + -92, + -30, + 104, + 10, + 0, + 18, + 27, + 22, + -113, + -66, + -55, + 116, + -112, + -123, + -110, + 23, + 101, + 97, + 16, + -116, + -56, + -85, + -44, + 110, + 14, + 37, + 11, + 80, + 126, + -100, + -60, + -102, + 118, + 45, + -71, + -48, + -91, + 68, + 66, + -95, + 26, + 26, + -28, + 3, + 115, + -9, + 116, + 99, + -103, + 74, + -77, + 51, + 50, + -47, + 5, + -88, + -85, + -77, + 62, + 74, + -92, + 34, + 86, + 59, + -59, + -22, + -34, + -89, + -98, + 29, + -99, + -106, + -74, + -98, + -6, + -60, + 31, + -23, + -40, + -36, + 116, + 66, + -50, + 115, + -32, + -7, + -4, + -58, + 120, + -123, + 91, + -93, + 16, + -98, + -128, + 6, + -91, + -15, + -46, + 126, + -121, + 69, + 98, + -122, + -89, + 51, + 44, + -10, + 11, + -119, + -45, + -110, + -118, + -60, + 53, + 36, + 96, + -71, + 122, + 28, + -38, + -104, + -12, + 95, + -118, + 68, + 102, + 54, + -90, + 122, + 54, + 19, + 90, + -39, + -7, + 13, + -62, + -122, + -22, + -75, + 15, + -48, + -32, + 63, + -39, + -56, + -108, + -110, + -60, + 36, + -94, + -125, + 72, + -73, + -120, + -108, + -78, + -77, + 88, + 26, + -118, + 46, + -43, + 91, + -93, + -50, + 82, + -84, + 34, + 27, + 54, + 91, + 88, + 93, + 90, + -28, + -61, + -41, + 22, + -91, + -34, + -21, + 55, + 82, + 116, + 31, + 44, + -110, + -8, + -39, + -122, + 67, + 82, + 14, + -128, + 83, + 11, + 23, + -46, + -83, + 107, + 99, + -18, + -96, + 125, + -60, + -15, + -100, + 115, + -81, + 101, + 12, + 7, + -75, + -27, + -27, + -99, + 75, + 29, + 80, + 55, + 121, + -112, + 108, + 59, + -113, + -43, + -64, + -33, + 102, + -74, + -23, + -71, + -67, + -95, + 42, + -49, + 78, + -19, + -65, + -75, + -71, + 119, + 31, + -79, + 48, + 98, + 65, + -14, + -107, + 43, + -120, + -93, + 124, + -82, + -78, + -19, + 36, + 29, + 41, + 123, + 52, + 105, + 102, + 114, + -52, + 109, + 115, + -94, + 104, + -109, + -84, + -26, + 79, + -86, + 101, + -69, + -40, + -64, + 57, + -23, + -121, + 16, + 75, + 122, + 26, + -30, + -18, + 42, + -116, + 47, + -25, + -62, + 72, + 80, + -38, + 86, + -59, + 5, + 67, + 48, + -55, + 60, + -93, + 8, + 71, + -90, + -45, + 92, + -80, + -70, + -7, + -26, + -76, + 34, + -125, + 66, + 13, + -66, + 76, + 84, + -95, + -35, + 21, + 0, + -32, + 18, + -63, + 50, + -39, + -85, + -9, + -41, + 86, + 6, + 98, + -53, + 107, + 11, + 78, + -127, + 66, + 10, + -117, + 124, + -58, + -96, + -16, + 95, + -121, + 38, + 84, + -35, + -14, + -110, + 69, + 60, + -61, + 109, + -112, + -101, + -9, + 121, + 34, + 104, + -117, + 31, + -100, + 66, + -101, + -123, + -98, + 97, + 28, + -11, + -111, + -61, + -37, + 19, + -44, + -108, + 122, + -85, + -62, + -24, + -101, + 119, + -92, + -112, + -116, + 125, + 26, + -44, + -23, + -127, + 70, + -99, + -91, + 54, + 94, + -115, + -4, + -8, + -22, + -81, + -120, + -79, + -118, + -12, + -19, + -34, + -78, + -46, + -107, + -94, + 31, + 66, + 10, + -106, + 74, + 50, + -4, + -112, + -43, + 56, + 46, + -68, + -43, + -91, + 36, + 21, + -80, + 17, + -79, + 13, + 27, + -95, + 99, + -67, + 82, + 121, + -93, + -86, + -64, + -14, + -36, + 27, + -99, + -96, + -16, + -56, + 15, + 67, + 91, + 109, + -41, + -95, + -93, + -44, + -4, + -8, + -84, + -55, + -55, + -13, + 81, + 117, + 60, + 14, + -86, + 0, + -22, + 61, + 5, + 0, + 42, + -18, + -115, + -115, + -6, + 109, + -71, + 34, + -44, + 80, + 88, + -113, + 85, + 1, + 10, + 0, + -123, + 8, + 0, + -21, + -86, + 10, + -107, + 81, + 118, + 39, + 31, + 88, + 45, + 2, + 58, + 82, + 122, + 11, + -71, + -103, + 106, + -40, + 7, + 112, + -73, + -18, + -101, + 58, + -12, + -36, + 58, + 24, + 46, + 51, + -59, + -102, + -45, + -27, + -125, + -44, + 63, + -100, + 50, + 94, + 88, + 52, + -128, + -118, + 105, + 126, + -24, + 120, + -92, + -79, + 13, + 4, + 126, + -59, + -38, + 88, + -69, + 90, + 29, + 37, + 58, + 116, + -24, + -113, + -96, + 2, + -92, + 33, + 47, + 7, + 123, + 44, + -59, + -97, + -81, + -103, + 0, + 118, + 84, + 125, + 41, + 105, + -45, + -92, + 56, + 54, + -48, + 100, + -39, + -30, + -95, + 102, + 112, + 83, + -91, + -57, + 91, + -53, + 106, + 9, + 106, + -28, + 47, + -80, + 65, + -86, + 127, + 112, + -9, + 77, + 74, + -57, + -29, + -39, + -71, + 94, + -91, + 20, + 101, + -22, + -7, + 106, + -109, + 21, + -102, + -51, + -70, + -10, + 33, + -75, + 100, + -126, + 83, + 29, + -5, + 105, + 106, + -62, + 99, + -99, + 33, + -70, + -15, + -116, + -126, + -2, + 24, + -16, + -88, + 15, + -55, + 76, + -54, + 101, + 44, + -41, + 20, + -127, + -61, + -95, + -51, + -100, + 73, + 5, + -118, + -82, + 6, + -83, + -45, + 111, + -41, + -61, + -97, + -73, + 5, + 115, + 25, + -9, + -37, + 19, + 37, + 26, + 51, + -120, + -55, + -123, + -95, + 78, + -56, + -49, + -49, + 27, + 27, + -118, + 69, + 123, + 67, + 74, + 25, + 99, + -43, + -95, + 17, + -43, + 101, + 15, + -81, + 127, + 17, + -17, + 27, + 70, + 74, + -80, + -94, + 54, + -9, + 31, + -113, + -28, + 54, + -4, + -85, + -124, + -107, + -38, + 85, + 101, + 125, + -79, + -62, + -46, + 17, + -80, + -80, + 87, + -43, + 84, + 89, + 49, + 47, + -114, + -4, + 98, + 47, + -35, + 32, + 111, + -10, + 17, + -14, + 88, + -65, + 9, + -35, + 75, + 63, + 20, + 80, + 122, + 97, + -20, + -72, + 120, + -5, + -102, + -102, + 82, + -2, + 18, + 81, + 13, + 82, + -28, + -17, + -108, + -38, + -79, + 55, + 26, + -98, + -97, + -29, + 14, + 45, + 17, + 57, + -127, + 84, + 97, + 121, + 107, + 87, + -52, + 90, + -104, + 61, + 41, + -120, + -47, + -100, + 67, + -78, + -93, + 4, + 66, + 13, + -93, + -117, + -50, + 50, + -108, + -43, + -30, + 97, + -71, + -40, + 72, + 124, + 115, + -45, + -86, + 56, + -13, + -97, + 48, + 50, + 70, + 48, + 22, + 37, + 66, + -47, + 59, + -42, + -85, + -122, + 40, + 50, + 119, + -111, + 51, + 120, + -123, + -69, + 52, + -27, + 41, + 29, + 115, + -93, + -97, + -94, + -110, + -68, + -43, + 104, + -46, + 20, + 46, + -115, + 60, + -110, + -3, + 46, + -122, + 75, + -103, + -63, + 44, + -112, + -112, + 96, + -42, + -120, + -117, + 19, + 82, + -4, + 52, + -99, + 17, + -17, + -19, + 118, + 34, + 9, + 66, + -77, + 111, + 9, + -81, + 74, + 2, + -113, + 14, + -25, + -53, + 94, + 1, + 17, + 69, + 112, + 8, + -7, + 7, + 54, + -111, + 71, + 21, + 33, + 50, + -59, + -8, + -9, + -27, + 42, + -40, + -89, + -6, + 68, + -64, + 126, + -67, + -115, + 93, + -88, + -13, + 23, + 41, + -121, + 90, + -75, + -69, + -124, + -51, + 40, + 62, + 21, + -11, + -3, + -65, + 33, + -63, + 32, + 27, + -103, + -38, + 121, + -95, + 127, + -113, + 115, + 61, + 89, + -60, + -31, + -86, + 90, + -52, + 58, + 43, + 90, + 121, + -85, + -120, + -69, + 53, + 40, + 89, + 104, + 83, + -44, + 109, + -68, + -92, + 127, + -72, + -40, + 106, + 86, + 42, + -79, + -44, + -71, + 118, + 74, + 80, + 90, + 120, + -13, + -79, + -34, + -79, + 88, + 78, + -104, + -16, + -3, + 45, + 103, + -72, + 40, + -107, + 84, + 29, + -77, + -115, + -94, + 116, + -76, + -27, + -115, + -110, + 20, + 13, + 102, + 71, + -49, + 37, + 90, + 17, + -53, + 77, + 68, + 22, + -128, + -83, + 88, + 13, + 45, + -38, + 126, + -11, + -28, + 107, + -55, + 71, + 29, + 122, + 113, + -81, + -19, + -64, + 17, + -95, + -96, + -126, + -128, + -79, + -6, + 71, + 81, + -13, + 63, + -81, + -113, + -25, + -15, + -31, + 18, + 108, + -109, + -25, + -57, + 78, + -8, + -114, + 59, + 87, + 24, + 32, + -113, + -3, + 37, + -17, + -123, + -82, + 98, + 53, + -105, + 106, + 102, + -62, + 30, + -108, + -40, + -100, + -98, + -122, + -124, + -28, + 88, + 39, + 2, + 22, + -90, + 20, + -90, + 69, + 1, + -114, + -79, + -78, + -89, + 104, + 84, + -88, + 80, + -127, + -96, + -81, + -72, + 104, + -60, + 72, + 32, + -15, + 93, + 93, + 71, + 107, + 90, + 125, + -35, + 14, + 35, + -103, + -20, + 113, + 90, + 29, + 7, + -56, + -96, + -33, + 35, + -54, + -12, + 30, + 72, + 2, + -42, + -63, + -127, + -6, + -97, + 82, + 41, + 91, + 17, + 110, + -64, + 43, + 118, + -48, + 113, + -15, + 61, + -81, + -113, + -117, + -25, + -95, + -75, + 11, + -8, + -122, + 42, + -87, + -63, + 38, + -62, + -53, + -85, + -87, + -103, + -126, + 122, + -103, + 62, + 122, + 101, + 115, + 119, + 45, + -104, + -82, + 29, + 51, + 115, + 92, + -124, + -72, + -47, + 13, + 111, + 75, + 57, + -72, + 54, + 12, + -90, + -61, + -112, + 103, + -20, + 89, + -126, + -18, + 123, + -99, + 110, + -128, + -26, + 36, + -89, + -99, + 26, + 41, + -58, + 47, + -109, + 19, + 118, + 106, + 36, + -122, + -52, + 52, + 70, + -66, + -10, + 112, + -101, + 7, + -45, + -74, + 22, + -127, + -80, + -81, + -70, + 97, + -114, + -75, + 34, + -7, + -105, + -56, + 30, + -121, + -35, + -128, + -17, + -71, + -47, + -22, + -72, + 108, + -28, + -50, + 3, + 112, + 96, + -57, + -128, + 30, + 95, + 73, + 51, + -87, + -53, + 110, + -51, + 72, + -18, + -23, + -58, + -24, + 126, + -22, + -58, + 115, + -38, + 9, + 107, + 92, + 23, + 32, + -47, + -29, + 0, + 93, + -100, + 21, + -86, + -65, + -125, + -93, + 30, + 98, + 38, + 31, + -85, + -125, + -93, + 62, + 90, + -53, + -105, + 36, + 64, + 69, + 52, + -116, + 21, + -26, + 80, + -15, + -55, + 35, + -46, + 44, + -123, + 26, + -107, + -40, + 21, + -93, + 106, + 80, + 54, + -96, + -37, + -18, + 61, + -41, + -103, + -20, + -1, + 0, + -37, + -127, + -51, + 61, + -91, + -10, + -117, + 121, + 38, + 65, + 19, + -20, + 64, + 5, + -118, + 125, + -32, + 78, + -46, + 60, + 104, + 28, + 29, + -48, + -126, + 119, + -101, + -87, + -46, + 126, + 57, + 101, + 0, + -27, + -94, + 37, + -123, + 55, + 96, + 1, + 27, + 86, + 8, + 91, + -24, + -128, + -11, + -38, + -62, + 49, + 101, + 106, + -113, + -76, + 72, + 78, + 123, + 89, + 127, + 122, + -99, + 30, + -9, + 65, + -95, + -103, + -44, + 11, + -51, + -69, + 69, + -111, + -3, + -95, + 9, + 9, + 101, + 105, + -99, + 26, + -53, + 38, + -66, + -48, + -6, + 118, + -33, + 74, + 63, + 38, + 56, + -52, + 123, + -127, + -68, + -95, + 104, + 108, + 72, + 22, + -108, + -48, + 124, + -11, + 107, + 21, + -49, + 102, + 58, + 96, + 89, + -88, + -24, + 70, + 27, + -69, + 14, + -66, + 115, + 45, + -38, + 26, + -40, + 38, + 98, + 42, + -126, + -21, + 56, + -43, + -103, + 46, + -78, + -3, + 73, + 117, + -126, + -30, + -76, + 62, + -62, + -52, + 69, + -29, + -71, + -106, + -43, + 124, + 84, + -17, + 45, + -48, + 6, + -125, + -124, + -26, + 116, + 90, + 97, + 90, + 11, + 1, + 33, + 35, + 83, + 55, + 32, + 72, + 116, + 56, + -85, + 123, + 102, + -124, + 50, + -103, + 61, + -40, + -38, + 3, + 1, + 91, + -58, + -103, + 17, + 124, + -8, + -9, + -87, + -74, + -117, + -52, + -29, + -18, + -122, + -76, + -30, + 62, + -112, + 69, + 25, + 42, + -127, + 111, + -29, + -30, + -17, + -61, + 25, + 56, + -58, + 28, + 46, + -5, + -75, + -12, + -5, + 71, + 58, + -122, + 108, + 64, + 88, + 6, + -46, + -46, + -55, + -103, + -68, + 23, + -104, + 91, + -68, + 27, + -18, + -69, + -128, + -80, + 85, + 99, + 62, + 94, + 40, + 76, + -111, + -44, + 77, + 123, + 65, + 127, + 61, + -90, + 10, + 51, + 108, + 69, + 114, + -27, + 111, + -128, + -78, + -15, + 35, + 37, + -66, + -25, + 25, + -7, + -116, + 50, + -84, + 112, + 38, + 36, + 48, + 2, + -113, + 60, + -25, + 30, + 56, + 83, + -78, + 69, + 5, + -53, + -70, + -23, + 66, + 88, + 106, + 100, + 41, + -9, + 108, + -9, + 123, + 48, + -59, + 115, + -68, + -57, + -128, + -53, + 44, + 57, + 113, + 101, + 28, + -120, + 94, + 88, + -126, + -3, + -83, + -89, + 11, + 46, + -80, + 0, + -114, + -43, + -119, + 10, + 70, + -110, + 108, + -121, + 20, + 67, + 106, + -5, + -52, + -65, + -53, + -66, + 37, + -54, + -71, + -50, + -2, + -127, + -66, + 39, + -100, + -51, + -73, + -96, + 23, + 12, + 65, + -26, + 32, + -85, + -126, + 37, + -80, + -83, + 27, + -83, + 90, + 39, + 40, + 57, + 35, + -114, + -116, + -78, + 63, + 19, + -7, + 10, + -46, + -96, + 42, + -53, + 78, + 106, + -52, + 120, + 26, + 121, + -36, + -99, + 106, + -114, + 23, + 76, + 61, + 56, + -31, + -2, + 127, + -100, + -46, + -113, + 66, + 79, + 77, + -73, + 61, + 38, + 56, + 16, + 74, + -38, + 63, + -35, + 109, + 54, + -60, + 71, + 10, + 81, + 62, + -54, + -10, + 33, + 54, + -23, + -125, + -119, + 52, + 90, + -59, + 114, + -47, + -120, + -90, + -9, + -115, + 28, + -78, + -39, + 61, + -5, + 117, + -86, + 111, + -106, + -35, + -44, + 114, + -55, + 106, + 112, + 119, + -18, + -58, + 86, + -36, + -46, + -29, + 121, + -43, + -64, + 67, + 13, + 18, + -110, + -11, + -27, + -62, + -107, + -79, + -89, + -89, + 32, + -49, + -66, + -66, + -80, + 33, + -35, + -100, + -38, + 81, + -107, + 5, + -46, + 125, + 33, + -26, + -15, + -105, + 35, + 20, + -22, + 39, + 54, + 122, + 107, + -63, + 106, + 58, + 0, + 89, + -112, + -107, + 10, + -48, + -110, + -68, + 39, + -47, + -53, + 104, + 33, + -1, + 0, + -11, + -71, + 58, + -40, + -53, + 95, + 33, + 116, + 19, + -26, + 50, + -125, + 49, + -72, + 28, + -32, + -98, + 89, + -98, + -49, + -21, + -50, + -21, + 112, + -61, + -13, + -45, + -23, + 40, + -98, + 28, + 31, + 91, + -48, + -96, + -35, + 14, + -86, + 83, + 33, + 111, + -92, + 116, + 34, + 2, + -63, + 106, + 86, + -16, + 60, + -100, + -31, + -75, + 68, + 111, + -39, + 52, + 30, + -33, + -117, + -111, + -113, + 34, + 22, + -117, + 67, + 33, + -40, + 24, + -64, + -47, + 126, + 53, + 71, + -67, + 103, + -45, + -34, + 7, + 13, + 35, + -19, + -118, + -128, + -20, + -41, + 116, + 75, + -110, + 90, + -74, + 32, + -101, + 27, + 1, + -26, + -57, + 97, + -22, + 56, + -60, + 71, + -102, + -12, + 26, + 6, + 113, + 34, + 120, + 22, + -1, + 0, + -94, + 12, + 110, + -68, + -19, + -64, + 67, + -57, + 102, + 52, + 91, + 28, + -100, + -93, + -27, + -69, + 126, + 58, + -78, + -50, + 99, + 59, + 41, + 55, + 77, + -105, + -98, + 93, + 9, + 83, + 3, + 116, + -41, + -20, + -64, + 52, + 72, + 118, + 64, + 106, + 105, + -51, + -49, + 106, + -103, + 112, + -103, + -23, + 81, + -81, + -31, + 107, + 127, + -115, + -20, + 117, + 20, + 122, + 6, + -113, + -119, + -4, + -122, + -25, + 116, + -26, + -112, + -2, + -56, + -45, + 37, + -80, + -50, + -102, + -26, + 9, + -116, + -125, + 31, + 62, + -97, + 56, + 98, + -55, + -107, + -94, + -5, + -12, + 43, + 14, + 21, + -70, + 6, + 86, + -9, + -6, + 64, + -45, + 55, + 109, + -24, + 121, + -7, + -72, + 38, + -88, + -73, + -38, + 14, + 30, + 47, + 114, + 22, + -104, + -4, + -32, + 76, + 85, + -72, + -62, + 100, + 78, + 24, + -52, + -115, + 29, + -122, + -90, + -94, + -77, + 89, + -48, + -65, + -19, + 29, + 43, + -84, + -110, + -56, + -127, + -101, + -14, + 74, + -55, + -92, + 49, + -113, + -70, + 20, + 44, + -29, + 66, + 86, + -79, + -81, + -89, + 94, + -77, + -15, + -94, + 51, + 90, + 61, + -91, + -113, + -37, + 10, + 88, + -109, + 36, + -16, + -84, + -88, + 68, + -104, + 13, + 7, + 15, + -23, + -9, + -92, + -51, + -108, + -1, + 0, + 94, + 109, + 51, + -29, + 101, + 53, + 94, + -15, + 74, + -43, + 40, + 92, + -73, + 0, + -92, + -96, + 88, + -91, + 41, + -103, + 86, + -95, + -102, + -60, + 109, + -54, + -65, + -113, + 89, + 96, + -74, + -45, + 3, + -46, + 113, + -123, + -60, + 92, + 35, + 39, + -120, + 67, + 27, + 40, + 76, + 125, + 5, + -122, + 77, + -74, + -94, + 25, + 123, + -42, + 8, + 36, + 29, + 64, + -33, + -70, + -72, + 70, + 121, + 76, + 76, + 10, + -70, + -121, + 4, + 49, + -1, + 0, + -61, + -112, + -98, + -122, + -103, + 30, + -48, + -126, + 40, + 21, + 42, + -62, + -51, + -97, + 14, + 16, + 92, + -121, + -85, + 3, + 57, + -15, + -125, + -110, + -13, + 25, + -40, + 79, + 69, + 104, + 6, + 48, + 126, + -109, + 108, + 99, + 79, + 85, + -38, + 19, + -47, + 116, + -3, + -119, + 114, + 123, + 94, + -112, + -15, + -102, + -126, + -29, + 98, + 8, + -54, + 53, + -76, + 122, + -67, + 0, + -84, + 89, + 65, + 52, + 88, + 104, + 56, + -118, + -62, + 88, + -46, + -53, + 52, + 119, + -96, + -103, + -77, + 21, + -123, + 15, + 99, + 84, + 95, + 125, + -78, + 39, + -95, + -86, + 28, + 126, + 59, + -2, + -99, + -55, + -86, + -118, + -114, + 94, + -11, + 90, + 64, + 10, + -99, + -87, + 36, + 25, + -110, + 79, + 61, + 68, + -85, + 88, + 18, + -67, + 73, + 44, + 19, + -81, + 80, + -3, + 91, + 47, + -100, + 56, + 59, + 48, + -72, + -116, + 118, + -87, + -114, + -11, + 127, + 37, + 17, + -43, + 52, + 110, + -126, + 16, + -100, + 59, + 117, + 92, + 101, + 87, + -66, + -97, + -48, + 55, + 15, + -90, + 112, + -8, + 108, + -47, + -102, + -75, + 105, + 5, + 36, + -22, + 42, + -86, + 44, + -108, + -28, + 117, + -79, + -1, + 0, + -15, + -59, + 28, + 116, + 103, + -96, + -65, + 92, + 79, + -114, + 102, + -93, + -91, + 102, + 31, + -104, + -49, + -63, + -77, + -122, + -9, + 29, + -110, + 54, + 85, + -90, + 57, + 51, + -79, + 59, + 37, + 115, + 68, + -54, + 114, + -102, + 45, + -76, + 23, + 57, + -111, + 2, + 103, + -101, + 61, + -92, + -123, + -38, + 91, + 116, + 99, + -91, + 102, + -11, + 48, + -17, + 117, + -53, + 34, + -88, + 105, + 47, + 65, + -105, + -92, + -37, + -9, + 104, + 71, + 4, + -93, + 48, + -104, + -83, + -9, + 81, + 16, + 13, + 108, + 40, + 42, + 42, + -118, + -44, + 73, + 4, + -128, + 7, + 91, + -66, + -93, + -35, + 22, + -13, + 8, + -116, + -123, + 105, + -92, + -102, + 66, + -38, + 20, + -87, + 102, + 105, + 24, + 19, + 64, + 10, + -78, + 79, + 64, + 40, + 94, + -61, + -61, + -118, + -27, + -55, + -10, + 76, + -10, + -89, + 46, + 43, + 21, + 83, + -110, + 19, + -53, + -13, + 13, + 42, + -23, + 96, + -25, + -67, + 39, + -103, + -11, + 14, + 105, + -77, + -33, + 106, + -21, + 14, + 47, + 104, + 116, + -6, + -126, + -36, + 71, + 35, + 4, + 3, + -77, + 0, + 11, + 95, + -77, + 21, + -115, + 9, + 98, + -102, + -24, + 4, + -59, + 114, + -11, + 58, + 89, + -85, + -90, + 35, + -67, + 49, + 56, + 41, + -56, + -41, + -54, + 126, + 15, + 127, + 107, + 111, + -102, + -13, + 92, + 88, + 18, + -128, + -88, + -34, + -114, + -90, + 115, + 69, + -65, + -10, + -57, + -25, + 72, + -49, + 84, + -112, + -5, + 110, + 85, + -58, + 114, + -15, + 122, + 118, + 80, + 123, + -17, + -63, + 102, + 32, + -38, + 88, + 116, + -9, + 35, + -66, + -37, + -80, + 95, + 38, + -26, + -59, + 36, + -75, + 102, + -77, + -50, + -111, + -54, + -15, + -1, + 0, + 34, + 9, + -9, + -67, + -82, + 59, + -74, + 116, + 58, + 89, + 26, + -101, + -45, + -117, + 79, + 89, + 9, + -30, + 24, + -64, + -37, + 11, + -102, + -14, + 21, + -28, + 123, + 72, + 6, + -51, + -105, + 20, + 15, + 69, + -94, + 110, + 5, + -95, + -78, + 4, + 76, + 88, + 4, + 23, + 73, + -45, + -12, + 109, + 13, + -88, + -68, + 102, + 122, + -119, + 8, + 59, + -108, + -113, + -45, + 9, + -31, + -71, + 110, + -2, + 112, + 124, + -74, + -82, + -60, + 64, + -4, + -51, + -118, + -71, + -3, + 65, + -86, + 28, + -12, + 4, + 58, + -52, + -67, + 57, + -84, + -34, + -89, + -95, + -44, + -17, + -95, + 35, + 116, + -82, + -106, + -90, + -124, + 65, + -86, + -16, + 28, + 25, + -97, + -97, + 89, + -110, + -53, + -104, + -57, + -37, + 11, + -108, + -44, + 13, + 24, + -15, + 125, + 34, + 107, + 99, + -124, + 82, + 73, + 29, + 65, + 44, + 66, + -38, + -107, + 32, + -118, + -80, + 11, + 108, + 119, + -77, + 85, + -32, + 65, + -13, + -93, + -63, + -78, + 21, + -107, + 17, + -40, + 105, + 36, + -9, + -63, + 2, + -63, + 32, + 19, + -79, + -70, + -85, + -33, + 126, + -75, + -73, + 18, + 90, + 40, + 106, + -23, + 96, + -87, + -106, + -77, + -104, + 125, + -44, + 42, + 80, + -127, + 71, + 55, + 27, + -47, + 42, + 107, + -96, + -112, + 53, + 56, + -92, + 117, + -20, + -19, + -15, + -114, + 51, + 5, + 75, + 17, + 85, + -98, + -119, + 91, + 4, + 45, + 72, + -47, + 119, + 69, + -38, + -122, + -107, + 53, + -78, + -37, + 111, + 40, + 33, + -24, + -67, + 115, + 105, + -35, + 58, + -16, + -123, + 46, + 1, + -96, + -8, + -57, + 84, + -94, + 54, + -95, + 5, + -112, + -124, + -75, + 86, + 101, + -128, + -123, + -86, + 36, + -90, + -88, + 66, + -19, + 11, + -41, + -37, + 12, + -12, + -60, + -38, + -92, + 58, + 123, + -74, + -39, + 49, + -70, + -9, + 103, + -101, + -15, + -123, + 93, + -69, + 104, + -89, + -104, + 116, + 6, + 29, + -113, + 21, + -128, + -24, + -99, + 37, + 79, + 96, + -29, + -77, + 45, + -68, + -90, + -61, + 58, + -40, + -79, + -108, + -84, + 12, + 50, + -107, + 109, + 56, + 61, + 48, + -47, + -24, + 39, + 15, + -109, + 52, + 50, + -28, + 48, + -108, + -86, + 18, + -45, + -25, + 109, + -17, + 72, + -26, + 16, + 66, + -56, + 107, + -108, + -28, + 47, + 48, + -88, + 113, + -2, + 56, + 15, + 73, + 52, + -41, + -95, + -65, + -87, + -91, + -93, + -67, + 18, + 103, + -13, + 103, + 110, + -45, + 23, + 88, + -28, + 21, + 43, + 8, + -122, + -59, + -102, + -91, + -123, + -123, + 2, + -6, + -46, + -74, + -92, + -9, + 104, + -74, + 101, + -100, + 64, + -23, + 101, + -103, + 106, + -64, + -119, + 92, + 124, + 13, + -66, + -4, + -38, + -97, + 31, + 14, + -105, + -66, + -3, + 124, + 13, + 120, + -6, + 123, + -57, + 13, + 76, + 105, + 34, + -12, + 4, + 17, + 93, + 7, + 79, + 34, + 6, + -33, + 47, + 14, + 43, + 72, + -105, + 50, + -102, + -36, + -123, + 28, + 102, + -104, + -15, + 48, + -48, + -81, + 40, + -8, + 20, + -111, + 105, + -25, + -91, + 126, + 58, + -77, + 67, + 118, + -84, + 52, + -94, + 36, + -56, + -24, + 83, + 106, + 65, + 82, + -78, + 49, + -49, + -98, + -46, + -95, + 42, + 99, + -31, + -108, + 123, + -90, + -12, + -69, + 27, + 96, + 38, + -56, + 44, + -35, + -75, + -128, + -91, + 55, + 71, + 23, + -25, + 67, + 122, + -93, + 4, + -76, + 105, + 25, + 97, + 72, + -94, + 23, + 3, + -27, + -114, + 11, + -79, + -92, + -10, + 109, + 44, + 65, + -27, + -79, + 98, + 75, + -124, + 22, + 73, + -24, + 126, + 66, + 15, + 72, + 109, + 22, + -110, + -13, + 110, + -55, + 121, + 40, + 66, + -76, + -30, + 89, + -88, + 70, + 79, + 48, + 98, + -107, + 10, + -48, + -24, + -30, + 117, + -101, + -122, + 41, + -105, + -116, + 84, + -42, + 102, + -89, + 96, + 13, + 125, + 37, + -107, + 20, + 54, + -99, + -9, + 85, + -91, + 124, + 89, + -107, + -77, + 124, + 66, + 71, + 94, + 75, + -105, + 73, + -42, + -81, + 89, + 44, + -61, + -2, + -97, + -106, + -30, + 113, + 6, + -72, + 48, + -13, + 11, + 77, + 106, + 85, + 84, + 29, + 24, + 81, + 20, + 91, + 126, + 122, + -51, + -71, + 34, + 84, + -65, + 116, + -83, + -13, + 25, + -54, + 14, + -4, + 88, + -87, + -78, + 75, + 119, + 60, + 125, + -54, + -38, + 108, + 32, + 49, + 46, + 74, + -39, + 27, + 41, + -94, + -108, + 3, + 91, + -101, + -24, + 60, + -68, + 63, + -89, + -97, + 16, + 121, + -4, + -121, + 31, + 37, + 73, + 69, + 68, + 98, + 73, + -67, + 53, + 103, + 106, + -23, + 95, + 29, + -115, + -114, + -66, + 124, + 64, + -60, + -72, + -38, + 12, + -112, + -83, + 81, + -108, + -22, + -111, + -74, + 108, + -19, + -42, + -115, + -122, + -35, + 66, + 66, + 74, + -27, + -81, + 69, + 25, + 106, + 35, + 21, + -58, + 20, + -87, + 74, + -93, + 50, + -14, + -116, + -83, + 118, + -91, + 91, + -60, + -118, + -59, + 12, + 79, + 69, + -94, + 112, + 73, + -102, + 110, + -44, + -40, + 81, + -49, + 120, + -103, + 75, + -76, + -20, + -90, + -118, + -109, + 61, + 88, + 56, + 109, + 17, + -42, + 104, + -62, + 60, + 124, + 19, + 83, + -76, + 61, + -44, + 32, + -67, + 87, + 40, + 90, + -13, + -75, + 42, + 42, + -27, + 56, + -63, + 62, + -118, + 9, + -75, + 75, + -24, + 57, + 25, + -100, + -41, + -43, + 110, + 65, + -76, + 39, + -43, + -65, + -125, + -49, + 102, + -49, + 54, + -122, + 95, + 68, + -124, + -61, + 93, + -76, + -117, + 94, + -23, + -69, + 41, + 2, + 15, + 13, + 109, + 99, + 70, + 93, + 71, + -114, + 117, + -8, + -90, + 124, + -116, + -114, + 75, + -81, + 31, + 50, + -63, + -12, + -84, + 40, + -10, + -94, + 65, + 61, + 91, + 13, + -77, + -2, + 109, + -16, + 15, + 5, + -40, + -15, + 34, + 118, + -12, + -2, + 75, + -25, + -36, + 76, + -50, + 122, + -103, + -46, + -72, + 97, + 60, + -30, + -82, + -108, + -66, + 120, + -78, + 88, + 104, + -10, + -126, + -128, + 109, + 78, + -78, + 54, + -116, + 53, + -48, + -43, + 70, + 7, + 12, + -45, + -7, + -48, + 52, + -27, + -79, + 60, + -43, + 37, + -116, + 117, + -94, + 22, + 106, + 70, + -7, + 20, + -55, + -9, + 104, + -41, + 91, + 32, + 126, + -92, + 126, + 92, + 81, + -71, + -121, + 33, + -56, + -57, + -82, + -51, + 59, + 69, + 110, + -101, + -88, + -33, + 111, + 2, + 71, + 79, + -49, + -26, + 5, + 101, + -72, + 29, + 33, + -105, + 108, + 78, + 114, + -3, + 82, + -114, + -85, + 20, + 48, + 32, + -56, + -23, + 86, + -90, + -38, + 47, + 42, + -7, + -84, + -93, + -34, + -3, + -120, + 123, + -48, + -50, + -60, + 120, + -53, + 45, + -83, + 48, + -85, + 86, + -121, + 61, + 36, + -77, + 16, + -21, + -105, + -94, + -83, + 104, + -123, + -79, + -6, + -72, + 8, + -65, + -61, + 117, + -62, + -56, + 54, + -3, + -113, + -112, + -46, + 57, + -83, + 22, + -111, + -42, + 101, + -97, + -114, + 91, + 97, + -66, + 42, + -56, + -75, + -31, + -83, + 28, + -43, + -58, + -17, + 94, + -22, + -23, + 90, + 17, + -19, + 117, + 17, + -47, + -120, + 19, + 76, + 91, + 109, + -34, + -87, + 94, + -68, + 53, + -46, + -83, + 104, + 7, + -24, + -1, + 0, + 101, + 127, + -64, + 63, + -34, + 61, + 63, + -43, + -21, + -11, + 98, + -30, + 127, + -54, + -77, + -1, + 0, + -14, + 7, + -2, + -20, + 63, + -2, + -97, + 84, + 125, + 46, + 106, + 13, + -30, + -77, + -111, + -45, + 106, + -70, + 31, + 72, + -58, + 74, + 45, + -39, + 70, + 108, + -95, + -25, + -16, + 98, + 39, + 119, + -18, + -42, + 115, + 96, + -21, + 83, + -109, + 28, + 36, + 16, + -68, + -3, + -32, + 117, + 35, + -91, + 70, + -98, + 28, + 60, + 116, + -79, + -28, + 13, + -21, + -85, + 104, + -76, + 123, + -67, + 97, + -78, + -103, + 74, + 65, + 26, + -4, + -29, + -76, + 42, + -10, + 75, + -45, + 109, + 108, + -24, + -17, + -59, + 71, + -107, + 109, + 68, + 18, + -125, + 77, + 112, + -83, + -93, + -39, + -86, + -7, + 107, + -96, + 114, + -31, + 96, + -75, + -76, + -87, + -80, + -33, + -38, + 5, + 86, + -52, + 3, + 63, + -42, + 40, + 104, + -120, + -27, + -124, + -114, + -49, + -45, + -76, + 66, + 92, + 6, + -85, + 87, + 61, + -8, + 115, + -12, + -51, + -119, + -59, + -37, + -73, + 50, + -53, + 79, + -48, + 8, + 20, + 49, + 98, + -122, + 35, + 111, + -56, + 76, + 11, + -98, + -26, + 19, + 113, + -120, + 24, + 111, + 41, + 31, + -93, + 46, + -40, + 125, + -38, + -106, + -58, + -39, + -37, + -97, + -117, + 78, + 60, + -128, + -77, + -97, + 80, + -83, + -128, + 8, + -128, + 83, + 75, + 64, + 78, + -46, + -105, + 61, + 82, + -123, + 108, + -67, + -13, + 25, + 116, + -1, + 0, + 6, + -2, + 63, + 105, + -15, + -69, + 76, + -18, + -69, + -101, + 4, + -24, + 34, + -75, + -52, + -69, + 52, + -11, + -11, + 16, + 66, + 90, + -64, + 127, + -56, + 29, + 120, + 85, + 98, + 25, + -126, + 86, + -107, + -50, + -52, + -24, + 67, + -47, + 37, + 118, + -80, + 61, + -128, + 117, + -91, + -86, + 17, + 102, + -53, + -83, + -46, + 52, + -53, + 111, + -114, + 70, + 97, + -48, + -14, + 60, + -71, + -30, + -127, + 6, + 74, + -90, + 50, + -77, + 91, + 89, + -19, + 21, + 108, + -74, + -72, + -87, + 74, + 61, + -110, + 29, + 8, + -112, + 33, + 6, + -11, + 88, + -46, + 61, + 125, + 55, + -74, + -112, + -82, + 59, + 42, + -29, + -54, + -14, + -92, + 90, + 98, + -119, + -62, + -120, + 119, + 32, + -107, + 118, + 14, + 89, + 84, + -97, + -65, + -4, + 54, + 55, + -74, + -102, + -66, + 57, + -31, + -1, + 0, + 16, + 93, + 103, + 91, + -96, + -1, + 0, + 38, + -35, + -68, + 124, + -6, + -38, + 54, + -14, + 125, + 102, + 46, + -97, + 120, + -24, + -105, + -47, + -48, + 109, + 2, + 28, + -91, + -108, + 46, + 66, + -50, + 22, + -120, + -67, + 0, + -46, + 68, + 66, + -128, + -91, + -100, + -51, + -51, + 106, + -122, + 111, + 75, + -96, + 38, + 123, + 56, + -36, + 122, + 92, + -57, + 5, + -127, + -27, + -74, + -103, + -62, + 20, + -20, + -81, + -27, + 103, + 82, + -25, + 109, + -7, + 83, + -82, + -53, + 98, + -24, + 3, + -91, + -84, + -63, + -13, + 3, + 59, + -115, + 81, + 60, + -90, + 108, + 120, + 34, + 122, + 11, + -26, + 10, + 40, + 106, + -104, + 45, + 113, + 63, + -11, + 17, + -121, + 55, + -48, + -108, + 76, + -63, + 85, + -103, + 63, + -34, + -91, + -25, + 66, + -12, + -15, + -29, + 115, + -38, + -36, + -15, + 13, + -71, + 12, + 65, + 108, + -65, + -49, + -119, + 127, + 4, + 113, + -65, + 14, + 123, + 95, + 93, + -21, + -36, + -1, + 0, + 72, + 51, + 93, + 95, + -93, + -127, + 37, + -127, + -31, + -40, + 106, + 71, + 29, + 84, + -18, + 63, + 70, + 127, + 113, + 108, + -42, + -77, + -102, + -105, + -81, + 122, + -114, + -76, + -63, + 53, + 7, + -98, + 13, + -113, + -73, + 71, + -94, + -60, + 126, + 34, + 0, + -13, + -93, + 58, + 41, + 30, + -121, + -117, + 112, + -79, + 104, + 102, + -37, + -63, + -45, + -71, + -31, + 96, + -115, + -100, + 69, + 108, + -101, + -73, + -5, + 109, + 17, + -102, + -102, + -51, + 4, + -84, + 30, + 63, + 4, + 63, + -96, + 19, + -114, + -40, + -79, + -13, + -105, + -75, + 126, + -20, + 119, + 101, + -89, + 72, + 22, + 122, + -104, + 33, + 99, + -26, + 37, + 9, + -19, + 60, + 120, + 76, + -83, + 16, + -112, + 24, + -43, + -23, + -85, + -42, + -73, + 114, + 59, + -4, + 68, + -26, + -80, + 98, + 114, + -40, + 49, + -79, + -124, + -116, + -13, + 24, + -30, + -114, + 88, + -56, + 8, + -117, + 20, + 106, + -115, + -38, + 17, + 122, + -75, + -87, + -46, + 17, + 74, + -37, + 83, + 22, + -96, + 21, + -23, + 60, + -113, + 91, + 100, + -53, + 54, + 72, + 82, + -14, + 75, + 43, + -23, + 118, + -37, + 92, + -78, + 6, + 13, + -87, + -115, + 0, + -90, + -37, + 81, + -96, + 44, + 19, + 70, + -40, + 37, + -17, + 124, + 111, + -20, + 59, + 78, + -115, + -46, + 116, + 33, + -98, + -71, + -43, + -65, + -124, + 0, + 55, + 37, + 61, + -107, + 117, + 41, + 104, + 109, + 12, + 80, + 35, + -101, + -79, + -94, + -122, + -75, + 113, + 21, + -55, + -116, + -73, + -106, + -79, + -98, + 18, + -7, + -55, + 37, + -5, + 22, + -94, + -98, + -4, + -51, + -87, + 5, + 11, + -63, + -32, + -103, + -15, + 95, + -67, + -15, + 97, + -33, + 9, + -63, + -22, + 123, + 14, + 64, + 48, + 66, + -35, + 10, + -128, + -38, + -102, + -52, + -114, + 45, + -60, + 24, + -37, + 124, + -14, + -93, + 6, + 52, + 70, + -81, + 87, + 64, + 104, + -14, + -48, + -108, + -38, + 98, + -61, + -58, + 91, + 69, + -2, + -5, + 17, + -128, + -28, + -86, + 27, + 42, + -36, + 38, + -108, + 61, + -84, + -71, + 60, + 110, + -125, + 93, + -95, + -69, + 78, + 51, + -81, + 40, + 98, + -23, + 12, + -66, + -115, + 105, + -43, + 54, + 27, + 60, + 16, + -67, + -118, + 52, + -18, + 52, + -115, + 81, + -45, + -23, + -81, + -99, + -79, + 98, + -118, + -102, + 123, + 96, + -70, + 82, + 116, + -77, + 19, + -38, + -53, + -105, + -24, + -119, + 75, + 52, + -31, + -91, + 118, + -112, + -72, + 91, + 61, + -74, + 50, + -84, + 127, + -55, + 30, + 36, + -122, + -73, + -84, + 115, + -116, + 38, + 115, + 3, + -90, + -45, + 127, + -66, + 110, + 42, + 21, + -21, + -103, + -18, + 84, + -128, + -38, + 80, + -42, + 24, + 8, + -60, + -52, + 33, + -114, + -114, + 17, + 116, + -11, + -12, + -13, + 102, + -57, + -107, + -79, + -49, + 106, + 28, + -40, + -38, + -56, + 73, + -124, + 23, + 65, + -40, + -63, + 71, + 122, + 8, + 75, + 86, + 113, + 80, + -2, + -125, + -110, + -13, + 79, + -78, + -5, + 59, + -53, + 114, + -15, + -95, + -97, + 60, + 25, + 59, + 9, + -44, + 90, + -68, + 42, + -116, + -30, + 93, + -108, + 58, + -122, + -118, + -124, + 113, + 7, + 100, + 50, + 47, + 102, + -57, + 67, + 29, + 0, + -7, + 115, + -71, + -55, + -111, + 45, + 81, + 69, + 108, + -67, + 13, + 1, + -29, + -79, + 32, + -11, + 61, + 70, + -20, + 55, + 23, + -60, + 85, + -25, + 63, + 42, + -60, + 114, + 76, + -17, + 56, + 27, + -97, + 92, + 55, + 42, + -28, + -111, + 116, + 11, + -5, + 122, + 44, + -1, + 0, + 113, + 23, + -87, + -34, + 110, + -55, + -124, + -54, + 109, + 114, + 101, + 117, + 122, + 83, + -92, + -22, + 87, + -52, + -20, + -25, + -41, + -118, + 41, + -117, + -44, + -103, + -48, + -126, + -83, + -110, + -57, + 100, + 108, + 99, + -14, + -39, + 30, + 125, + -125, + -65, + -99, + 126, + 76, + 52, + 50, + -25, + 93, + -2, + 82, + -88, + -60, + -20, + -112, + -78, + 98, + 113, + 119, + -11, + 55, + 78, + -107, + -49, + -65, + 22, + 30, + -36, + -27, + -117, + -110, + 116, + -107, + -21, + -107, + -102, + -106, + 94, + -38, + 45, + 106, + -10, + -1, + 0, + 13, + -125, + 47, + -48, + 51, + 54, + 98, + -122, + -69, + 74, + -14, + 84, + -59, + 4, + -92, + 55, + 40, + 123, + -9, + 56, + 71, + -46, + 95, + 118, + -1, + 0, + 24, + 61, + 43, + -105, + 65, + -95, + -7, + 105, + -78, + -41, + -13, + -79, + -100, + -41, + -97, + -45, + -58, + -103, + -69, + -51, + -101, + -71, + -98, + 50, + 57, + 9, + 39, + 116, + 96, + -45, + 40, + 72, + -83, + 60, + -53, + -71, + -80, + -5, + -15, + 109, + -83, + 32, + -88, + -99, + -107, + -101, + 66, + 40, + -15, + -61, + 26, + -118, + -29, + 80, + -71, + 116, + -4, + 35, + 17, + 24, + 122, + 69, + -93, + 39, + 119, + 56, + 122, + -53, + 112, + -110, + -24, + 5, + 92, + -73, + -84, + -96, + 40, + -63, + -128, + -8, + -22, + 3, + -92, + -51, + -80, + 106, + -121, + -65, + -5, + 93, + -31, + 21, + -53, + 100, + -82, + -92, + 114, + -108, + 96, + -122, + 90, + 18, + 22, + 76, + 67, + 5, + 100, + 48, + -107, + -79, + 88, + 80, + -102, + -42, + -24, + 53, + -98, + 94, + 95, + 35, + 14, + 44, + -120, + 101, + -106, + 17, + 44, + 106, + -26, + 23, + -116, + 43, + -60, + -18, + -86, + -26, + 23, + 66, + 8, + 14, + -128, + -128, + -22, + -76, + 44, + 85, + -112, + 77, + -57, + 62, + 41, + -107, + 70, + 68, + -72, + -31, + -29, + 105, + 26, + 49, + 41, + 118, + 58, + -103, + 66, + -110, + 9, + 27, + -35, + 16, + 108, + -18, + 46, + -59, + -112, + 111, + -94, + -64, + 95, + 44, + 126, + 80, + -90, + -86, + -57, + 98, + -101, + -106, + 73, + -117, + -28, + -9, + -117, + 94, + 5, + 31, + 49, + 41, + -93, + 29, + 61, + 73, + -13, + -94, + 113, + -102, + 77, + 102, + -89, + 87, + 62, + -16, + -118, + 80, + 9, + -109, + 35, + 24, + 32, + 35, + -100, + 60, + 118, + -85, + 70, + 71, + 34, + 98, + -23, + 2, + 98, + -1, + 0, + -38, + 40, + -60, + 90, + -124, + 88, + -71, + -107, + -40, + 117, + 90, + 47, + -110, + 92, + 62, + -80, + -68, + 76, + -125, + 100, + 59, + -85, + 7, + 126, + 43, + -48, + 29, + -87, + 94, + 40, + -97, + 94, + 112, + 119, + 49, + -123, + 116, + -25, + 111, + -37, + 101, + 50, + -93, + 105, + 92, + -53, + -26, + 36, + -104, + 116, + -81, + 108, + 31, + -107, + 29, + 106, + -44, + 30, + 10, + 9, + 45, + 105, + 51, + 73, + -50, + 63, + 62, + -32, + 92, + -18, + -64, + -22, + 57, + -66, + 113, + 24, + -102, + 20, + -60, + 16, + -96, + 63, + -1, + 0, + -77, + -27, + 92, + -41, + -80, + 106, + -73, + -122, + -57, + 89, + 6, + 35, + 86, + 123, + 69, + -45, + 55, + -71, + 126, + -126, + 63, + 39, + 92, + 60, + -127, + -52, + 86, + 61, + 86, + -83, + 78, + 83, + -60, + -122, + 8, + 97, + 99, + -36, + -14, + -105, + 122, + -77, + -128, + 60, + -3, + 114, + -1, + 0, + 85, + -15, + 127, + -72, + -15, + -67, + 127, + 26, + -46, + -15, + -34, + -88, + 63, + 48, + 56, + 88, + 74, + -41, + -11, + -79, + 105, + 6, + -110, + -57, + 102, + -54, + 28, + -46, + -23, + 42, + -20, + 117, + 22, + -28, + 33, + -116, + 9, + 37, + -52, + -58, + 122, + 13, + -58, + -108, + 64, + 124, + 14, + 66, + 60, + 107, + 4, + 95, + -110, + -89, + 71, + -1, + 0, + 90, + -53, + -21, + 99, + -44, + -12, + -4, + -42, + -76, + -118, + -49, + 82, + -63, + 43, + -69, + 44, + -74, + 14, + -86, + 5, + 73, + -36, + -107, + -95, + -35, + -70, + 20, + -65, + 117, + 125, + 55, + -66, + -106, + 4, + 13, + 20, + -79, + 34, + 35, + -57, + -90, + -107, + 84, + -112, + 64, + 2, + -127, + -44, + 65, + 106, + -24, + 77, + -22, + 52, + -62, + -6, + 1, + -68, + 127, + -78, + 116, + -2, + -10, + 82, + -17, + 31, + -31, + 88, + 125, + 39, + 20, + -91, + 87, + 70, + -30, + 37, + -70, + -95, + -95, + 1, + -123, + -105, + -57, + -27, + 49, + -117, + -90, + -75, + 124, + -108, + 68, + -123, + 88, + -40, + 106, + 15, + 107, + 54, + 90, + 13, + 11, + -50, + -63, + 16, + 2, + 99, + -35, + -112, + -111, + 67, + 13, + -53, + 13, + 50, + 74, + -26, + -113, + -93, + -97, + -113, + -102, + -49, + -113, + -104, + 96, + 121, + -50, + -86, + 31, + 11, + -98, + 30, + 79, + -29, + -42, + 10, + 75, + 90, + 61, + -57, + 113, + -21, + 58, + -19, + 111, + 57, + 35, + -77, + -43, + 63, + 35, + -113, + -79, + 46, + 12, + 14, + 102, + 32, + 116, + -119, + -44, + -126, + -83, + -19, + 13, + -101, + -80, + 79, + -81, + -49, + 107, + 43, + -98, + 124, + -103, + -94, + -39, + -14, + -71, + -30, + 118, + -95, + -101, + 108, + -66, + -93, + -45, + 126, + 70, + -21, + -23, + -14, + 65, + 92, + -25, + 40, + -35, + 46, + 99, + 59, + 56, + -36, + 80, + -99, + -52, + 116, + -128, + -46, + -48, + -127, + -46, + 8, + -26, + 29, + 83, + 67, + 56, + -16, + -102, + -32, + -57, + 53, + 113, + -28, + 3, + 94, + 1, + 1, + -51, + 70, + -113, + 53, + -94, + -24, + 6, + -127, + 17, + 1, + -98, + -60, + 127, + -47, + 13, + -34, + 87, + -97, + -20, + 49, + -55, + -114, + 101, + 57, + 23, + 14, + -20, + 27, + 62, + 1, + -82, + -22, + 90, + 30, + -96, + 61, + -68, + -46, + -10, + 122, + -42, + -37, + -86, + -11, + 30, + -121, + -47, + -74, + 51, + -27, + 45, + -101, + -65, + 120, + -32, + -51, + -98, + 35, + 39, + -90, + 67, + -12, + -61, + -120, + -24, + 19, + 27, + -87, + -53, + 98, + -47, + -128, + -45, + 96, + -52, + -23, + -6, + 39, + 80, + 92, + -119, + -68, + -99, + -78, + 60, + -33, + 47, + -101, + -48, + -22, + -43, + -58, + -119, + -15, + 88, + 21, + 106, + 82, + -53, + -80, + 13, + 109, + 103, + -58, + -113, + -123, + 82, + -125, + 96, + 116, + -82, + 6, + 121, + 82, + 96, + 65, + 4, + 29, + -51, + -109, + -72, + -36, + 121, + -117, + 39, + 97, + 126, + 116, + 110, + -51, + 113, + 10, + 121, + -113, + 61, + 34, + 59, + 99, + 127, + 40, + 24, + -10, + 91, + 86, + 54, + -51, + -41, + 16, + 29, + 38, + 110, + 115, + -118, + 33, + 43, + 21, + -82, + 58, + 104, + -34, + 34, + -74, + -114, + 122, + 38, + -23, + 18, + -93, + 19, + -29, + -115, + -19, + -70, + -63, + -75, + -54, + -121, + -110, + -4, + 58, + 103, + 65, + 61, + 88, + 127, + 10, + 115, + -43, + -54, + -22, + -63, + 7, + -52, + 26, + -76, + 69, + -11, + -125, + -80, + -111, + 39, + -33, + -106, + -24, + -70, + 121, + -111, + -119, + 8, + -72, + -125, + 33, + -53, + 82, + -57, + 78, + -78, + -116, + -44, + 94, + 5, + 21, + 38, + 64, + 86, + -64, + -41, + 95, + -106, + 39, + 87, + -52, + -78, + 33, + -10, + 73, + -39, + -123, + 101, + -118, + -35, + 79, + -92, + -116, + -37, + 27, + -85, + -71, + -57, + -114, + 51, + -102, + -64, + 103, + 43, + 13, + -49, + -121, + -52, + -105, + -65, + -86, + -68, + -111, + 25, + 29, + 94, + -75, + -69, + 116, + 110, + 20, + 41, + 38, + -99, + -78, + 95, + 51, + 84, + -100, + -9, + 90, + 68, + -11, + -56, + -94, + 60, + 82, + -39, + -5, + -124, + -87, + 23, + 16, + 62, + -101, + 42, + -38, + -57, + 4, + -43, + 0, + -19, + -100, + -23, + -87, + -10, + 68, + 31, + 70, + -93, + -23, + 18, + -110, + -123, + -5, + 4, + 66, + -46, + -120, + -100, + -92, + 106, + -125, + -87, + -5, + -128, + 11, + 97, + -23, + 18, + -48, + -111, + -111, + -70, + 75, + -9, + 51, + 102, + 61, + -76, + -93, + 43, + 75, + 29, + -94, + 117, + -108, + 112, + 106, + -19, + 7, + 44, + -76, + -14, + 48, + 85, + 98, + 54, + 59, + 31, + 67, + 66, + -127, + -23, + 103, + -22, + -70, + 84, + 124, + 72, + 11, + 16, + 54, + -83, + -4, + 107, + -31, + -18, + -37, + 111, + -97, + 9, + -64, + -127, + 117, + 115, + 114, + -5, + 58, + 61, + 85, + -42, + -2, + -27, + -89, + 109, + 13, + 56, + -8, + -22, + 91, + -87, + 9, + 59, + -39, + -46, + -75, + 32, + -76, + -46, + 21, + 43, + 73, + -17, + 9, + 107, + 99, + 38, + -71, + 13, + -41, + -57, + 125, + 43, + -88, + -85, + 50, + 84, + -79, + 74, + -11, + 43, + 118, + 110, + 13, + 37, + 2, + 10, + -108, + -44, + -37, + -92, + 118, + -79, + 89, + -58, + 14, + -45, + -34, + -83, + 81, + -18, + -94, + -24, + -110, + -8, + -95, + -41, + 71, + 13, + -89, + 5, + -23, + -48, + -83, + 98, + 0, + -28, + -85, + 70, + -37, + -102, + 40, + 117, + -112, + -46, + -68, + -91, + 103, + 48, + -119, + 75, + -20, + -77, + 122, + 48, + -12, + -33, + -95, + -98, + 125, + 2, + -104, + 12, + -3, + -20, + 87, + 60, + 61, + 6, + -63, + 45, + -121, + 41, + -110, + 19, + -51, + 63, + -42, + 115, + -20, + -73, + 90, + -26, + 10, + 60, + -93, + 45, + 29, + -38, + 31, + -47, + -113, + -46, + 83, + -101, + 43, + 44, + 55, + 37, + 117, + 74, + 114, + -36, + -68, + 45, + -122, + -51, + -119, + 52, + -31, + -111, + 89, + -66, + 82, + 57, + 114, + -112, + -76, + -31, + -85, + 67, + 46, + 12, + -73, + 102, + -8, + -69, + -72, + 59, + 123, + -69, + -91, + 50, + 25, + -118, + -41, + 111, + 19, + -121, + 67, + -100, + -72, + 48, + 121, + -110, + 54, + 103, + -90, + 83, + 81, + 25, + 11, + -61, + 2, + -50, + 46, + -115, + 75, + -124, + -2, + -71, + -28, + -73, + -83, + -126, + -59, + -73, + -48, + -83, + 60, + 22, + -20, + 72, + 76, + 114, + 8, + 36, + 27, + 6, + -1, + 0, + 110, + 15, + 48, + -94, + 7, + -112, + -6, + -37, + -61, + 123, + -31, + -128, + 111, + 32, + -108, + -59, + -37, + -124, + 65, + 25, + -78, + -112, + 56, + -121, + -28, + 58, + -52, + 32, + 35, + 54, + 64, + 61, + -110, + 20, + 108, + -103, + 123, + 18, + -77, + -95, + 20, + 94, + -32, + 22, + 2, + 29, + 99, + 67, + 118, + -64, + -52, + -96, + -96, + 20, + -123, + 45, + 8, + 32, + -70, + -123, + -89, + -83, + 8, + -19, + 94, + 84, + 83, + -94, + 114, + -3, + 104, + 51, + -95, + 43, + 94, + -55, + -24, + -24, + 93, + 61, + 75, + 51, + -96, + -74, + 62, + -27, + 59, + 53, + -76, + 18, + -74, + 33, + -110, + -23, + -62, + 64, + 121, + -75, + -19, + -61, + 96, + 116, + 23, + 43, + 89, + 12, + -7, + 101, + 37, + 76, + 76, + -22, + -14, + 21, + -18, + 69, + 111, + -17, + -71, + 28, + -103, + -47, + -78, + -98, + -128, + -115, + 13, + 30, + -14, + 69, + 38, + 50, + -92, + -79, + 1, + 124, + -103, + -51, + -10, + 117, + 69, + -116, + 29, + 28, + 87, + -29, + -106, + -75, + 49, + -31, + -96, + 118, + -126, + 97, + 35, + 13, + 67, + -31, + -112, + 95, + 22, + 80, + -127, + 121, + 52, + 46, + 38, + 10, + -72, + -63, + -79, + 54, + -63, + -106, + 27, + 74, + 127, + 34, + -88, + 60, + -103, + 64, + -93, + -24, + 92, + 28, + -54, + 117, + 96, + 37, + -105, + 41, + 111, + -21, + -73, + 86, + -67, + 56, + -106, + -68, + -107, + -62, + -92, + -41, + -21, + -25, + 91, + 84, + 123, + -98, + -30, + 116, + 102, + -83, + -30, + 91, + -118, + -93, + 109, + 13, + 23, + 116, + 124, + -113, + -3, + 58, + 4, + -114, + -124, + -113, + 42, + 38, + -18, + -58, + -30, + -68, + 118, + -31, + -77, + 70, + -81, + -9, + -128, + 32, + -35, + -125, + -48, + -125, + -44, + 124, + 124, + 120, + -68, + 110, + 11, + -34, + 123, + -89, + 78, + 31, + 45, + 43, + -35, + 14, + -104, + 66, + 89, + 122, + -15, + -78, + -75, + -84, + -66, + 122, + -27, + -56, + -120, + 81, + -68, + 51, + 56, + 34, + -29, + -53, + -36, + 117, + 77, + 69, + -37, + -124, + -89, + -69, + -108, + -124, + -60, + -118, + -75, + 107, + 84, + -91, + 116, + -63, + 90, + 52, + -106, + -128, + -104, + -125, + 8, + -84, + 63, + 85, + -89, + -50, + 62, + 112, + -113, + -56, + 5, + -78, + -54, + 35, + 115, + -14, + -42, + -118, + 106, + -75, + 68, + -91, + 59, + 4, + 67, + 29, + 120, + -71, + 63, + 57, + -86, + -30, + 16, + 5, + -74, + 18, + -36, + -53, + 4, + -125, + -95, + -118, + -21, + -100, + -49, + -57, + 101, + -89, + -63, + 101, + -19, + -6, + -120, + 11, + -126, + -112, + -3, + 0, + -106, + 111, + -26, + 50, + 19, + 126, + 5, + -68, + -57, + -10, + -23, + -23, + -17, + -31, + -101, + -31, + -58, + 90, + -47, + 99, + 11, + -75, + 10, + 27, + 125, + -37, + -16, + 62, + 59, + -11, + 63, + -79, + -18, + 31, + -98, + 37, + -102, + 56, + 76, + -112, + 59, + 64, + -59, + 100, + -108, + 86, + 80, + 64, + 75, + 121, + 108, + -123, + -27, + 34, + 11, + 58, + -75, + -86, + 86, + -93, + 79, + 59, + -99, + 33, + 118, + -88, + 120, + -37, + 68, + 106, + 125, + 117, + -61, + 62, + 64, + -12, + 93, + 52, + 13, + 69, + -3, + -74, + -65, + -42, + -40, + 31, + -113, + -87, + 116, + -68, + -82, + 75, + -100, + -12, + 52, + 21, + -81, + -50, + 14, + -34, + 2, + -25, + -41, + -12, + -30, + -60, + 126, + -28, + 34, + -15, + -6, + -107, + 95, + 53, + -24, + 6, + 29, + -81, + -105, + -79, + 44, + -45, + -34, + -113, + -9, + 26, + 23, + 43, + 80, + -114, + 122, + 86, + 7, + 28, + 33, + 77, + -12, + 106, + -91, + -90, + -56, + -22, + 81, + 49, + -93, + -49, + 6, + -45, + -118, + -94, + 123, + 44, + 120, + 121, + 60, + -98, + -80, + 16, + -30, + -71, + -35, + 6, + 118, + -12, + 36, + -64, + -98, + -49, + -102, + -86, + -124, + 69, + -111, + -92, + 64, + 117, + -81, + -58, + 36, + 36, + -83, + 11, + -108, + -18, + -44, + -71, + 94, + 89, + -93, + 37, + 78, + -51, + 121, + -101, + 58, + 50, + 101, + -98, + -49, + 58, + -65, + 55, + -66, + 65, + -12, + -49, + -113, + -65, + 34, + 123, + 46, + 115, + 37, + 74, + -127, + -84, + -3, + -48, + 101, + -125, + 1, + -53, + -97, + 17, + 122, + 65, + 66, + -103, + -41, + -21, + 115, + 61, + -114, + -73, + 115, + -99, + 80, + -109, + -43, + 49, + 37, + -95, + -37, + -20, + -61, + 73, + 14, + 47, + 2, + 26, + 19, + -106, + -36, + 46, + -108, + -36, + -125, + 98, + 45, + 119, + 86, + -121, + 115, + 30, + 97, + 62, + 70, + 62, + 60, + 120, + -40, + -64, + -76, + -77, + -125, + -118, + -110, + 22, + -48, + -55, + 33, + -123, + -126, + 72, + 2, + 42, + -88, + 96, + 87, + 80, + 32, + 0, + 8, + 20, + -108, + 123, + -74, + 5, + 101, + 118, + 98, + 105, + 116, + -9, + -120, + 55, + 85, + 98, + -58, + -28, + -102, + -34, + -70, + -109, + -26, + 111, + -84, + -55, + -8, + -103, + -41, + -87, + -122, + -21, + -91, + -12, + 100, + 119, + 88, + 2, + 91, + 51, + -12, + -70, + 47, + 57, + -27, + -72, + 40, + 11, + -32, + 44, + -53, + -117, + 41, + -114, + -46, + -88, + 10, + -6, + 16, + -78, + 90, + -38, + 108, + -83, + 74, + 119, + -3, + 46, + -43, + -53, + 70, + 13, + 83, + 66, + 100, + 47, + -45, + 63, + -89, + 13, + -94, + -126, + 33, + 88, + -110, + 76, + -103, + -36, + 53, + -14, + 7, + -86, + -45, + -23, + 52, + 32, + 42, + -95, + 65, + -113, + -81, + 5, + 7, + 19, + -44, + -17, + -43, + 51, + -63, + 74, + 90, + 48, + 55, + 58, + 69, + 14, + -63, + 62, + -121, + 105, + -102, + -104, + -48, + -25, + -120, + -78, + 84, + -11, + -101, + 87, + -104, + 38, + -122, + 80, + 72, + 35, + 2, + -126, + 20, + 62, + 94, + -48, + -4, + 46, + 115, + -105, + -22, + -67, + 103, + -109, + 73, + -15, + -20, + 14, + 83, + 44, + 36, + -35, + -40, + 121, + -74, + -81, + 86, + 4, + 77, + 61, + 74, + -46, + 15, + 32, + -2, + 105, + -94, + -48, + 106, + -11, + 23, + 32, + 97, + -16, + -41, + 73, + 92, + 53, + -86, + 7, + 67, + 105, + 24, + -85, + -121, + 111, + 72, + 24, + 114, + 90, + -108, + 89, + 74, + -71, + 9, + 47, + -40, + -68, + 72, + -59, + -83, + 124, + 48, + -64, + -107, + -109, + -118, + -123, + 47, + -113, + -18, + -101, + 122, + -32, + 115, + 90, + 24, + 116, + 69, + 121, + -4, + -102, + -5, + -103, + 23, + 101, + -78, + 122, + 123, + -64, + 46, + -37, + 120, + -52, + -18, + 51, + 77, + 16, + 51, + 116, + 44, + -39, + -108, + -107, + 114, + -6, + -62, + 89, + 74, + -8, + -19, + 40, + 122, + 90, + 106, + -49, + 25, + -107, + 52, + 61, + -123, + 105, + -28, + 126, + -46, + -5, + 59, + -109, + -121, + -118, + 123, + 92, + -4, + -97, + -79, + -30, + -28, + 79, + 14, + 46, + 44, + -72, + -28, + 11, + 102, + 36, + 79, + -4, + 41, + 108, + 49, + 77, + 21, + -38, + 106, + 81, + -72, + 18, + 21, + 0, + 21, + -31, + -54, + -111, + -36, + 22, + -115, + 85, + -39, + 84, + -106, + 86, + -86, + -86, + 5, + 119, + 83, + -79, + 36, + -43, + 81, + 59, + 122, + 113, + 113, + -36, + -1, + 0, + -82, + -119, + -8, + -46, + -46, + -6, + 62, + -127, + 32, + -51, + 78, + -113, + 89, + 28, + -92, + 8, + -11, + 83, + 122, + 108, + -3, + 61, + 49, + 6, + -37, + 11, + 85, + -128, + -14, + -48, + 86, + -57, + 102, + 45, + -26, + -12, + -106, + -81, + 46, + 112, + 97, + -52, + -19, + 97, + -107, + 115, + -44, + -61, + -25, + 14, + -110, + 25, + 92, + 108, + -115, + 3, + 41, + 125, + 83, + 48, + 115, + -28, + 14, + -109, + 85, + -44, + 59, + 64, + 28, + -81, + 87, + -60, + 115, + 29, + 85, + 14, + 76, + 2, + -63, + 78, + -31, + -95, + 76, + -127, + 89, + 56, + 8, + 18, + -35, + 78, + -42, + 71, + 77, + 90, + -43, + 35, + -82, + 37, + -104, + 93, + 46, + -24, + -34, + 79, + 12, + 30, + -104, + 29, + 118, + -82, + 48, + -10, + -53, + 87, + -87, + 120, + 126, + 106, + -10, + 107, + 39, + 110, + 61, + 117, + 21, + -4, + -62, + -7, + 112, + -34, + 69, + 117, + -36, + 127, + -114, + -63, + -96, + -43, + -10, + 127, + -10, + -27, + 109, + -85, + 122, + 2, + 7, + -12, + 3, + 96, + -95, + 61, + 104, + -76, + 65, + 11, + 87, + 75, + 102, + -17, + -24, + -11, + 70, + 10, + 110, + 52, + 7, + 116, + -8, + 113, + 123, + 29, + 23, + 71, + -98, + -68, + -92, + 36, + 60, + -70, + 107, + 64, + 47, + 0, + 8, + 64, + -41, + -30, + -65, + 69, + -39, + 113, + 62, + 26, + 115, + 78, + 108, + 14, + -112, + -1, + 0, + 69, + -24, + -3, + 34, + -3, + -67, + -33, + 70, + -102, + -104, + -16, + 53, + -83, + -12, + 18, + 92, + -21, + -49, + 51, + -26, + 37, + 79, + -99, + 21, + -106, + 54, + 18, + -81, + 54, + 65, + 47, + -11, + -49, + 99, + -50, + 80, + 90, + -96, + 119, + 122, + -38, + 52, + 13, + -29, + 113, + -41, + -57, + -34, + -47, + 75, + 114, + 92, + 111, + 105, + 57, + 79, + -77, + 39, + 36, + 118, + 43, + 20, + -13, + 42, + 114, + 108, + 51, + 20, + 17, + 101, + -52, + -14, + -74, + -87, + 115, + 101, + 93, + 32, + -116, + 80, + -87, + 35, + -10, + -77, + 7, + -106, + 73, + 10, + 104, + 97, + 25, + 71, + 60, + 39, + -115, + -14, + -69, + 52, + 82, + -18, + -119, + -82, + 87, + 32, + -68, + 75, + -92, + -83, + 37, + 29, + 65, + -100, + -102, + 26, + 13, + -87, + 80, + 117, + 14, + -86, + 93, + 127, + -112, + -100, + -109, + 19, + -88, + -21, + 125, + 41, + -114, + -87, + -69, + -37, + -105, + -89, + 48, + 90, + 57, + -45, + 29, + -24, + -111, + -98, + -81, + -65, + -120, + 113, + 60, + -56, + -19, + -34, + 52, + 70, + 82, + 61, + -64, + 5, + 92, + -48, + 18, + 115, + -20, + 45, + -22, + 38, + -59, + 83, + -55, + -44, + 22, + 8, + 61, + -39, + -59, + 89, + 25, + 35, + 90, + -108, + 81, + 23, + -47, + -7, + -32, + -67, + -32, + 122, + 89, + 110, + -90, + 45, + -36, + -65, + 69, + -98, + 19, + 94, + 44, + -51, + 70, + 99, + 51, + 97, + 67, + -42, + -50, + 50, + 75, + 5, + -79, + 98, + -127, + -103, + -71, + -102, + -25, + 6, + 64, + -13, + 42, + 19, + 21, + 52, + 32, + 109, + 91, + 91, + -69, + 36, + 46, + -46, + -9, + 96, + 49, + -9, + 7, + 115, + -78, + -50, + 23, + -77, + -15, + -61, + -67, + 87, + -23, + 29, + 67, + 81, + -76, + -22, + -67, + -117, + 15, + -51, + 116, + -127, + 114, + 53, + -116, + 103, + -76, + 90, + 0, + 89, + -9, + -42, + -109, + 102, + 33, + 50, + 60, + -16, + 76, + -71, + -16, + -106, + 6, + -62, + 7, + 102, + 120, + 56, + -54, + -38, + 18, + -104, + -1, + 0, + -38, + 47, + 90, + -44, + -41, + -47, + 9, + 23, + 98, + -70, + 21, + -85, + 49, + 82, + 4, + 101, + -18, + -53, + -85, + -30, + 115, + -37, + 45, + 69, + -72, + -77, + -83, + -20, + 7, + 114, + -6, + 96, + -71, + 109, + 81, + -51, + -22, + 65, + -76, + 20, + 55, + 65, + -99, + -46, + -38, + -54, + 2, + 118, + -33, + 102, + 56, + 41, + 12, + -74, + 97, + -31, + 13, + 67, + 112, + -123, + 36, + -57, + 100, + -128, + -24, + -1, + 0, + 102, + 120, + 38, + -40, + -88, + -36, + 1, + 82, + 26, + 31, + -46, + -16, + 123, + 93, + -19, + 103, + 33, + -98, + 76, + 87, + -19, + -77, + -116, + -79, + -84, + -78, + 44, + -55, + 36, + -104, + -15, + 74, + -63, + 9, + 49, + 51, + 5, + 88, + -95, + 64, + 15, + -16, + -47, + -29, + -119, + 67, + -83, + 47, + 78, + 44, + 48, + 115, + 73, + -45, + 22, + 76, + 119, + -115, + 100, + -126, + 69, + 42, + -53, + 52, + 96, + 81, + 58, + 65, + 42, + 64, + 5, + 69, + 116, + 8, + 64, + 4, + -40, + -33, + 126, + 43, + -57, + -83, + 117, + -18, + -15, + -115, + -89, + -106, + -28, + 0, + 122, + 69, + 12, + -26, + 82, + 124, + -79, + 106, + 9, + -67, + -56, + -24, + 104, + -39, + 11, + -88, + -51, + -33, + -113, + -13, + -9, + 68, + -81, + -47, + -53, + -33, + -106, + -74, + 99, + -16, + -80, + 107, + 37, + -61, + 57, + -68, + -4, + -70, + 49, + 56, + 58, + -42, + 69, + -47, + -54, + 75, + 40, + -84, + -84, + 37, + -23, + -65, + 120, + 114, + 60, + -116, + 8, + 108, + -122, + 59, + -93, + 116, + -41, + -77, + -103, + 66, + -51, + 54, + 27, + 83, + -108, + -104, + -80, + 64, + 36, + 100, + 36, + 14, + 81, + 1, + -20, + -26, + -74, + -75, + -91, + -3, + -64, + 9, + -104, + 43, + 7, + 17, + -97, + 16, + -29, + -103, + 105, + 62, + -6, + -16, + 60, + -67, + -24, + 115, + -104, + -56, + 7, + 72, + -47, + -18, + -58, + -57, + -29, + 48, + -125, + -46, + -55, + 91, + 103, + 83, + 47, + -105, + -24, + -38, + 42, + 23, + 8, + -128, + 59, + -51, + -85, + 6, + -81, + -103, + -51, + 66, + 126, + 43, + -61, + 93, + 110, + -110, + -87, + 21, + 102, + -102, + -67, + -71, + 116, + 22, + -83, + 29, + -116, + -52, + -93, + 117, + 53, + 127, + 125, + 124, + 55, + -87, + 4, + 9, + -96, + -49, + 16, + -56, + 65, + 13, + -49, + 41, + 23, + -15, + 127, + -96, + -112, + -58, + 8, + 31, + 87, + -90, + -17, + 111, + 75, + -78, + 81, + -60, + 65, + -98, + -80, + 50, + -96, + -39, + 77, + -75, + -84, + -80, + -45, + 120, + -120, + 106, + 87, + -89, + 104, + -58, + 104, + 57, + 43, + 7, + 115, + 110, + 55, + 108, + -100, + 60, + -13, + 18, + 72, + 29, + 107, + 122, + -125, + -7, + 42, + 73, + 52, + -38, + 47, + -78, + -66, + -43, + -29, + 123, + 69, + 27, + -61, + 39, + -16, + -71, + -100, + 22, + 114, + 35, + 88, + -118, + -60, + -32, + -102, + 89, + 33, + -110, + -35, + 74, + -39, + 10, + 84, + -80, + 112, + -63, + -103, + 87, + 69, + 19, + 92, + -104, + 60, + 108, + 88, + 32, + -20, + -37, + 112, + 3, + 22, + 0, + 26, + -80, + 67, + 27, + -69, + 61, + 108, + -20, + 119, + 60, + 75, + -106, + 113, + -66, + 51, + -96, + -21, + -48, + -59, + -53, + -12, + -99, + 37, + -91, + 52, + 23, + -50, + 99, + 101, + -52, + 80, + 24, + 26, + -75, + -35, + 69, + 13, + 81, + 113, + -122, + 36, + 5, + 48, + -79, + -28, + 50, + -93, + 40, + -119, + -92, + -53, + -63, + 55, + 51, + -105, + -106, + 12, + -47, + 89, + -82, + 71, + 6, + -128, + 21, + 2, + -102, + 10, + -30, + -60, + -50, + -69, + -19, + 124, + -4, + -81, + 92, + -29, + 116, + 62, + 56, + -100, + 15, + -94, + -58, + 39, + -17, + -108, + 117, + -71, + -47, + -6, + -16, + -111, + 15, + 30, + 15, + 50, + 95, + 7, + -93, + 20, + 39, + 59, + -103, + 8, + 46, + -100, + 26, + 16, + -43, + 72, + -112, + -114, + -35, + 51, + 103, + -81, + 86, + 23, + -115, + 40, + 12, + -66, + -66, + -12, + 3, + -92, + -40, + 100, + 64, + -115, + -76, + -70, + -29, + 37, + 48, + 121, + 79, + -113, + 121, + -39, + 42, + -121, + 94, + -124, + 122, + 114, + -95, + 58, + -73, + 99, + 57, + -73, + -42, + -36, + -3, + -18, + -104, + 96, + -44, + -122, + -22, + -74, + -38, + -112, + 68, + 110, + -108, + 97, + -115, + -75, + -114, + 118, + 77, + -29, + -121, + 9, + -49, + 94, + -79, + 86, + -79, + 71, + -43, + -43, + -60, + 44, + -123, + 104, + 53, + 14, + -47, + -40, + -111, + 60, + -128, + 97, + 90, + -7, + 17, + 21, + -114, + 8, + -114, + -32, + 115, + -92, + 79, + 25, + 5, + -50, + 98, + -50, + -83, + -45, + -71, + -128, + -60, + -51, + 127, + -73, + -55, + -105, + 53, + -97, + -122, + 34, + 83, + -57, + -70, + -59, + -65, + 62, + -10, + 76, + -8, + -120, + 90, + -95, + -108, + -75, + 97, + 113, + -76, + -89, + -95, + 40, + 14, + 119, + -101, + -85, + 101, + 124, + -87, + 33, + -108, + 41, + 66, + -56, + 8, + -46, + -60, + -18, + 8, + 34, + -113, + 79, + 31, + 13, + -81, + -96, + -13, + -29, + -105, + 29, + 38, + 77, + 66, + -125, + 108, + 72, + -9, + -11, + -34, + -10, + -40, + -97, + 42, + -13, + -70, + -30, + -88, + -22, + -28, + -33, + 17, + -101, + -8, + -31, + 57, + -83, + 36, + -19, + -96, + -45, + 15, + -92, + 15, + 45, + -105, + -126, + -128, + 89, + 67, + -39, + 53, + 126, + -99, + 87, + 104, + 64, + -27, + -78, + -73, + 71, + 100, + 57, + -15, + -53, + -43, + 35, + -91, + -104, + -73, + 119, + -46, + -44, + 100, + -19, + 86, + 81, + 54, + -34, + 90, + 123, + -86, + 50, + 71, + 115, + -33, + -114, + 59, + -96, + -41, + 68, + -35, + -37, + 7, + 4, + 26, + -101, + 73, + 13, + 29, + 37, + 28, + -10, + -104, + -103, + -21, + 89, + -94, + -91, + -23, + 66, + 97, + -12, + -84, + 95, + -78, + 56, + 13, + -86, + 27, + 42, + 127, + -105, + 5, + -37, + 26, + 26, + -42, + -22, + 91, + 21, + 29, + -15, + -9, + 34, + -100, + -115, + -37, + 21, + -81, + -100, + -79, + -12, + -27, + 60, + -118, + 66, + -38, + -21, + 28, + -106, + -79, + -34, + 77, + -86, + -24, + 68, + 44, + -29, + -70, + 49, + -116, + -75, + -14, + -94, + -26, + -35, + 27, + 13, + -2, + -68, + -122, + -122, + 71, + 126, + -111, + 56, + 47, + 11, + -35, + -77, + 13, + -101, + 38, + -126, + -12, + -75, + 25, + -7, + 96, + -21, + -109, + -47, + -21, + 41, + 90, + -111, + -18, + 56, + 74, + -22, + 62, + 41, + -60, + -23, + -32, + 27, + -51, + 118, + 124, + -67, + -29, + -78, + 120, + -79, + -110, + 104, + -11, + -48, + -26, + -28, + -113, + 48, + 3, + 18, + -58, + -116, + 121, + 74, + 64, + -71, + 22, + -116, + 46, + 120, + 48, + -46, + 84, + 69, + -106, + -50, + 10, + -55, + 92, + -91, + -88, + 55, + -125, + 24, + 68, + 117, + 70, + 82, + -70, + -3, + 125, + -35, + 21, + -54, + -39, + 101, + 100, + -52, + 102, + 1, + 116, + -9, + 90, + -73, + -11, + -95, + 99, + -62, + -86, + -4, + -9, + -8, + 30, + 19, + 72, + 66, + -101, + -78, + 25, + 104, + -112, + 118, + -37, + 109, + -58, + -5, + -125, + 64, + 120, + -17, + -41, + 122, + -72, + 64, + 95, + -101, + 92, + 16, + 111, + -86, + -91, + 48, + -23, + 109, + 104, + 3, + 93, + 86, + 96, + -71, + 72, + -122, + -24, + 49, + 68, + -118, + -106, + -93, + 114, + 125, + -83, + 9, + 127, + -36, + 68, + -103, + -73, + -120, + -87, + 1, + 59, + 97, + 100, + -48, + -101, + -73, + -83, + 49, + -86, + -34, + 69, + 93, + -81, + -115, + 44, + -66, + -123, + -103, + 25, + 5, + 117, + 67, + -87, + 101, + -54, + 22, + 1, + 79, + 36, + 95, + -92, + -10, + 77, + 94, + 54, + 9, + 105, + -19, + 114, + -80, + -127, + -84, + 58, + -115, + -53, + -51, + 46, + 48, + -45, + -23, + -45, + -50, + 94, + -52, + -38, + -50, + 16, + -89, + 32, + -46, + 127, + -112, + 32, + 78, + 123, + 15, + 99, + 63, + 78, + -78, + 94, + -75, + -109, + 53, + 108, + 56, + -93, + 119, + -19, + 31, + 115, + -60, + 58, + -105, + -55, + 115, + 57, + -127, + -40, + -86, + 2, + 50, + 38, + -7, + -79, + 114, + -102, + 12, + 70, + -123, + 54, + -118, + 32, + -98, + -128, + 32, + 93, + 29, + 57, + 68, + -21, + -113, + -121, + 15, + 87, + 47, + 120, + -101, + -91, + 12, + 72, + 80, + -47, + -63, + -105, + 52, + 30, + -108, + 23, + -126, + 76, + -70, + 3, + 17, + -120, + -65, + 24, + -62, + -65, + 83, + -70, + 23, + -8, + -22, + 8, + 32, + 108, + 23, + 0, + -121, + 81, + -38, + -10, + -83, + -124, + 45, + -15, + 85, + 71, + -50, + 68, + 20, + 99, + -77, + 34, + 26, + 74, + 83, + 81, + 7, + -52, + -79, + -3, + 2, + -103, + -71, + 108, + 18, + 32, + 36, + 97, + 107, + -44, + -117, + -41, + -94, + 107, + 29, + 102, + -83, + -115, + 16, + 23, + -116, + 32, + 52, + 41, + -15, + -27, + 120, + 88, + 10, + 37, + 91, + -58, + -10, + 102, + -38, + -20, + -8, + 1, + -3, + 56, + 9, + 21, + 37, + 83, + -72, + 14, + -75, + 96, + 110, + 64, + -38, + -119, + -11, + 32, + 117, + -7, + -6, + 80, + 38, + -118, + 110, + -37, + -125, + 11, + 35, + 74, + 80, + -45, + 9, + 15, + 118, + -116, + 72, + -23, + -75, + 86, + 111, + 27, + -128, + 124, + 22, + 110, + -127, + -95, + 16, + -15, + -76, + -101, + 25, + 16, + -46, + 29, + 59, + 70, + 56, + 65, + 18, + -59, + 83, + 91, + -122, + 103, + -49, + 21, + -78, + 84, + -91, + 42, + 95, + -75, + 59, + 71, + 78, + 54, + -20, + 54, + 112, + -33, + -87, + 72, + -121, + -28, + 64, + 118, + -35, + -106, + -53, + 67, + -45, + -14, + 8, + 79, + 11, + 6, + 65, + 66, + 8, + -92, + -98, + 90, + -9, + 106, + 54, + 102, + 61, + 110, + -51, + 52, + 53, + -39, + 53, + 122, + 87, + 104, + -61, + 90, + -85, + 89, + 89, + 21, + 43, + -75, + 39, + 95, + 86, + -53, + 118, + -93, + 26, + -42, + -65, + 115, + 87, + 84, + 112, + -100, + -60, + -99, + 94, + 59, + -117, + -48, + -29, + 39, + 106, + 91, + 90, + -35, + 13, + 50, + 84, + 117, + 106, + 78, + -116, + -124, + 40, + -49, + 113, + -89, + -118, + 72, + 78, + 90, + 104, + -78, + 76, + 82, + -101, + -27, + 86, + -116, + -118, + 41, + 7, + -72, + 124, + 92, + -19, + 112, + 38, + 16, + -66, + -82, + -54, + -121, + 106, + -106, + 23, + 108, + 48, + 38, + -54, + 72, + -109, + -18, + 17, + 97, + -54, + -31, + -28, + -100, + -121, + -25, + -59, + 56, + 12, + -20, + 105, + 116, + 17, + 54, + -71, + 44, + -48, + -100, + 29, + 121, + -124, + 29, + -85, + 32, + -21, + -43, + -85, + 91, + 5, + 93, + 101, + -99, + -119, + -43, + -76, + -12, + 36, + -41, + 67, + 99, + 122, + 29, + 110, + -57, + -105, + -4, + -41, + 17, + -114, + 10, + -22, + 4, + -19, + -21, + -79, + -16, + -7, + 88, + -67, + -65, + -65, + 17, + 47, + 69, + 68, + -115, + 107, + 17, + -49, + 36, + 109, + -93, + 90, + -61, + 27, + 36, + 80, + 89, + -78, + -55, + 95, + 28, + -109, + -73, + -14, + -36, + -49, + 49, + 44, + -46, + 53, + -52, + -114, + 120, + -29, + -107, + -109, + -69, + -18, + 73, + -29, + -105, + -17, + 108, + 50, + -1, + 0, + -15, + 107, + -113, + -42, + -78, + -117, + -73, + 118, + -45, + -91, + 37, + 59, + -27, + -78, + -8, + -106, + 95, + -58, + 115, + -92, + -110, + 58, + -111, + -67, + -24, + -111, + -60, + -40, + -100, + -84, + 103, + -108, + 99, + 26, + -27, + -107, + -110, + 72, + -98, + 30, + -116, + -10, + 119, + -3, + -38, + 63, + 82, + 96, + 41, + 3, + -91, + -41, + -12, + -4, + -6, + 125, + 30, + 35, + 91, + 89, + 39, + -81, + 95, + 63, + -81, + -82, + -67, + 15, + 29, + 98, + -18, + -66, + 101, + 124, + -71, + -8, + -1, + 0, + -16, + 91, + -103, + -10, + 44, + -1, + 0, + 60, + -28, + 121, + -20, + 96, + -115, + 69, + 110, + 112, + -71, + -19, + 8, + 19, + 58, + 66, + -71, + 92, + 116, + 63, + -70, + 73, + -107, + 45, + -111, + -108, + 73, + 78, + 99, + -104, + -79, + -107, + -49, + 86, + -127, + 121, + 53, + 49, + 21, + 7, + -49, + 124, + 45, + -52, + -106, + 114, + -4, + -9, + -19, + 55, + 92, + 102, + 62, + 125, + 65, + -35, + -53, + -26, + -65, + 69, + -7, + 73, + -70, + -85, + -84, + -17, + 45, + 26, + 98, + -48, + -48, + -16, + 5, + 29, + 75, + 32, + 8, + 86, + 93, + -46, + -122, + -117, + 98, + 119, + 79, + 72, + 68, + -58, + 99, + -69, + 98, + -43, + 8, + 5, + -57, + -93, + -104, + 72, + -37, + -105, + 96, + 54, + -56, + 65, + -48, + 23, + 49, + 81, + -27, + 77, + 41, + -126, + -26, + 58, + -7, + -7, + -62, + -1, + 0, + -115, + -65, + 44, + -66, + 43, + 89, + -49, + 107, + -76, + 35, + -124, + -127, + -80, + -38, + -102, + 1, + 100, + -18, + -62, + 58, + -114, + -109, + 20, + 102, + 63, + -53, + 24, + 7, + 115, + 84, + 113, + 121, + -88, + -38, + -126, + -83, + 18, + 22, + 111, + -120, + 114, + 82, + -77, + 81, + -90, + 107, + 25, + -77, + -101, + -78, + 78, + 102, + -106, + -72, + 62, + -25, + 28, + -28, + -66, + 38, + -106, + -67, + 111, + -89, + 104, + 48, + -3, + 12, + 10, + 98, + -71, + -52, + -89, + -59, + -94, + -21, + 75, + 7, + -57, + 110, + -76, + -44, + -62, + 56, + 64, + 29, + 9, + 33, + -39, + 11, + 38, + -84, + -91, + 112, + 71, + 39, + -69, + 113, + 51, + 50, + 93, + 33, + 94, + -18, + -92, + 119, + -31, + -122, + -88, + 45, + -27, + 108, + -76, + 74, + -47, + -71, + 92, + -68, + -94, + 124, + 98, + 114, + 59, + 61, + 97, + -106, + 72, + -91, + 96, + -44, + 80, + -124, + 49, + -24, + 96, + 90, + -101, + 85, + -118, + 32, + 49, + 29, + 110, + -119, + 19, + 121, + 120, + -71, + -23, + -100, + 74, + -57, + 34, + 70, + 36, + -87, + 33, + 7, + -18, + -80, + 54, + -22, + 84, + -43, + -118, + -34, + -5, + -53, + 125, + 42, + -24, + -51, + -1, + 0, + -128, + -65, + 20, + 55, + -97, + 43, + 55, + 89, + 28, + 61, + -52, + -8, + -6, + -68, + -109, + -98, + -68, + 116, + -35, + 31, + 71, + 43, + 16, + 125, + 76, + -26, + 118, + -79, + 39, + -35, + -68, + -105, + 102, + 36, + -37, + -62, + 105, + -97, + 57, + 118, + 34, + 81, + 103, + -13, + -105, + -87, + 27, + -97, + 87, + -95, + -114, + 66, + 86, + -77, + 53, + 114, + 116, + -76, + 71, + -124, + 88, + -1, + 0, + -7, + 26, + -7, + -63, + -49, + 50, + -6, + 107, + 92, + 11, + -31, + -57, + 54, + -54, + 94, + -18, + -77, + 101, + -45, + -103, + -20, + 117, + -8, + -36, + 54, + 120, + 49, + 14, + 127, + -50, + -21, + 58, + 76, + -59, + -102, + 69, + 53, + 20, + 82, + -83, + -47, + 95, + -76, + 91, + -112, + 69, + 1, + 89, + 67, + 21, + 96, + -56, + -26, + 2, + -85, + 116, + 90, + 43, + 3, + 70, + -82, + 116, + 121, + 39, + 25, + 35, + -44, + -36, + -8, + -51, + -113, + -28, + -1, + 0, + 23, + 103, + 95, + -117, + 63, + 23, + 77, + -27, + 43, + 90, + 1, + -85, + 101, + -104, + 68, + -4, + -110, + -22, + -6, + -94, + -11, + -122, + 72, + 103, + 82, + 2, + -91, + -55, + -18, + -34, + -58, + 101, + 105, + -61, + 76, + -44, + -41, + -5, + -122, + -78, + 2, + 58, + -110, + 7, + 47, + 102, + 25, + -49, + 49, + -76, + -128, + -107, + -25, + -3, + 88, + 123, + 109, + -55, + 120, + 45, + -94, + 92, + -84, + -18, + 20, + 102, + 107, + 44, + 18, + 125, + -11, + 88, + 96, + -44, + -100, + 102, + -36, + -26, + -109, + 127, + -86, + 41, + -47, + 24, + 31, + 78, + 119, + 88, + 102, + -48, + -6, + 38, + -17, + 105, + -93, + -24, + 66, + -90, + -50, + 86, + -85, + -108, + 59, + -92, + 14, + 95, + 65, + 78, + 48, + 114, + -18, + -119, + -21, + -86, + 58, + -48, + 107, + -75, + -82, + 103, + -52, + -15, + 33, + -99, + -29, + -57, + -61, + 25, + -103, + 47, + 34, + -79, + -59, + 54, + -79, + -86, + -71, + 53, + 44, + -50, + 21, + -10, + 90, + 118, + 104, + -106, + -103, + -10, + -44, + -54, + -124, + 22, + -77, + 67, + -54, + 126, + -38, + -113, + -105, + 52, + -111, + 96, + 99, + 71, + -36, + 67, + 90, + -91, + 118, + 93, + 33, + -87, + 73, + 27, + -109, + 66, + -55, + -91, + -24, + 21, + -98, + -56, + -86, + 63, + -119, + 127, + 29, + -51, + -42, + -22, + 2, + -6, + -82, + -38, + 113, + -15, + -29, + 94, + 120, + -3, + -98, + -121, + -79, + 102, + -125, + 22, + 98, + -10, + 82, + 17, + 52, + -108, + -119, + -100, + -99, + -70, + 101, + -17, + -73, + 66, + -102, + 67, + -16, + -79, + -93, + 53, + -102, + 108, + -29, + 110, + 88, + -124, + 62, + -95, + -109, + 82, + -68, + -24, + -27, + 37, + 84, + -99, + -91, + 26, + -45, + 118, + 74, + 92, + -126, + 45, + -105, + 67, + -58, + -20, + 47, + 6, + 63, + 37, + -68, + 68, + -36, + -25, + 3, + 87, + 48, + -36, + -114, + 35, + 47, + -88, + -59, + 1, + -58, + -30, + 121, + 77, + -64, + 54, + 69, + 72, + -91, + -23, + -22, + 54, + -28, + -13, + -107, + 52, + -37, + 21, + 109, + -10, + -59, + -98, + -87, + -87, + -53, + 98, + -83, + 97, + -20, + -35, + -128, + 30, + -114, + 64, + -32, + -65, + -58, + -2, + 39, + -108, + 78, + 94, + 19, + 67, + 8, + 91, + 20, + 127, + 68, + 41, + -42, + 106, + 25, + 33, + 74, + 90, + 52, + 68, + -56, + 38, + -111, + 41, + -77, + -74, + -17, + -118, + -50, + 8, + -88, + -26, + 65, + 53, + -77, + -47, + 12, + 14, + 34, + -95, + 7, + -70, + -87, + 56, + -83, + 17, + -72, + -39, + 39, + -79, + 94, + 25, + -65, + -40, + -72, + -9, + 51, + 45, + -50, + -117, + -27, + 118, + -38, + 50, + -30, + -79, + 70, + -82, + -127, + -56, + -98, + -53, + -120, + -106, + -119, + 22, + 91, + -66, + 52, + -88, + 98, + -112, + -39, + -42, + 18, + -69, + 5, + 17, + -93, + -18, + 20, + 81, + -45, + 92, + -120, + 59, + -32, + -51, + 9, + -73, + 125, + -63, + -50, + -45, + -102, + -68, + -94, + -110, + 104, + -23, + 28, + -30, + 124, + -82, + 109, + -52, + 94, + 121, + -111, + 22, + 44, + 20, + -113, + 29, + 89, + 80, + -60, + -63, + 87, + 83, + -85, + 105, + 121, + 25, + 107, + 95, + 112, + -78, + -108, + 61, + -102, + 41, + 68, + 12, + 95, + 93, + -69, + -112, + -31, + 97, + -14, + -68, + 8, + -48, + 1, + 38, + 70, + 113, + -19, + 101, + 37, + -69, + 80, + 55, + 69, + 40, + -123, + 17, + 72, + -18, + 49, + 112, + -91, + 24, + 7, + 102, + 86, + -112, + -90, + -112, + 42, + 43, + 13, + 127, + -104, + 115, + -38, + 58, + 121, + 106, + -40, + -57, + 5, + -85, + 29, + -128, + -58, + 46, + -123, + -88, + 111, + 38, + 104, + 79, + 45, + 39, + 19, + -53, + 102, + -15, + -61, + 100, + 91, + -57, + 107, + 90, + -42, + -100, + 10, + 64, + -83, + -112, + -121, + 8, + 98, + -22, + -101, + 61, + -47, + -38, + -93, + 101, + -45, + -112, + -85, + -104, + 35, + 106, + 77, + 122, + -72, + 77, + 79, + -114, + -40, + 46, + -53, + -53, + -73, + -105, + -124, + 11, + 60, + 14, + 77, + 81, + 97, + 91, + 92, + 40, + 122, + 66, + -11, + -9, + -75, + -94, + 53, + 124, + -5, + 68, + -103, + -67, + -97, + 73, + -29, + -7, + -110, + -29, + 4, + 105, + 53, + 2, + -12, + -74, + 106, + -20, + -38, + -47, + 88, + 104, + -18, + -124, + 110, + -87, + 82, + -32, + 91, + -57, + -77, + -93, + -76, + -69, + -108, + -1, + 0, + 69, + -26, + 34, + -8, + -9, + 93, + 12, + -2, + 119, + -15, + -45, + -90, + -11, + 76, + -45, + -52, + -72, + -18, + 51, + 86, + -35, + 110, + -93, + -94, + 0, + -52, + -22, + -123, + -40, + -48, + -107, + 112, + 67, + -76, + -77, + -4, + 100, + 124, + -39, + -115, + 83, + 75, + 50, + 49, + -10, + -40, + 118, + -58, + -53, + 50, + 99, + 9, + 24, + -85, + -82, + -116, + -98, + -117, + 60, + -128, + 115, + 14, + 14, + 27, + -122, + -44, + 49, + -42, + 13, + -43, + -39, + -14, + -19, + -90, + -108, + -1, + 0, + 48, + -55, + -46, + -52, + -26, + -14, + 38, + 5, + 5, + -61, + 3, + -88, + 41, + -93, + -77, + -60, + 109, + -101, + -125, + 103, + 127, + -87, + 121, + -109, + -91, + -12, + 34, + -105, + -114, + 110, + 10, + -93, + -88, + -110, + 54, + 86, + -95, + 119, + 105, + -52, + 20, + -124, + 102, + -115, + -111, + 105, + 89, + -68, + 83, + 99, + 50, + 79, + 46, + -71, + -95, + -54, + 70, + 3, + 91, + -119, + 22, + 80, + 72, + 7, + 82, + -85, + -77, + 21, + -21, + 97, + -5, + -60, + 19, + -35, + -79, + 98, + 115, + 43, + 10, + 12, + -100, + 125, + 12, + 35, + 68, + 97, + 101, + 80, + -59, + -84, + 41, + 85, + 82, + 52, + -112, + -63, + 93, + 73, + 20, + 88, + 45, + 17, + 68, + -7, + -49, + 12, + -113, + 4, + -60, + 109, + 53, + 103, + -70, + 54, + -12, + 85, + 64, + 63, + 31, + -15, + 22, + 122, + 17, + -69, + 121, + -14, + -102, + -23, + 7, + 8, + -24, + -38, + 58, + 71, + -109, + 86, + 64, + 105, + -102, + 4, + 71, + -42, + -90, + 103, + -100, + -121, + -81, + -100, + 125, + -67, + 24, + 57, + 75, + 80, + 1, + -95, + -81, + -97, + -52, + -28, + 45, + -113, + 45, + -52, + -32, + -24, + 65, + 52, + 45, + 97, + 29, + 37, + 110, + -33, + -125, + -19, + 77, + -44, + -28, + -103, + -53, + 62, + 60, + 98, + 5, + 95, + -27, + -80, + -23, + 54, + 116, + -78, + 25, + 124, + 8, + 112, + -39, + -39, + -61, + -31, + -83, + 71, + -108, + 15, + -107, + -71, + 107, + -94, + -35, + -43, + 64, + 52, + -79, + 89, + 121, + -32, + -36, + -43, + 113, + -71, + 90, + -13, + 66, + 35, + 23, + -100, + -34, + 38, + -114, + 8, + 33, + 124, + -33, + -28, + 122, + -84, + -10, + 68, + 106, + -15, + 92, + 120, + -102, + 97, + 50, + 86, + -19, + -106, + -124, + 45, + 27, + -17, + -65, + 98, + -75, + -109, + 26, + -29, + -70, + 29, + 70, + -26, + 16, + -128, + 116, + 22, + 115, + 52, + 78, + -2, + -39, + -91, + -46, + -24, + 76, + -18, + -65, + 108, + -71, + 12, + 16, + 9, + 109, + 81, + -93, + 10, + -88, + 72, + 6, + -68, + 76, + 40, + -113, + -128, + 114, + 126, + -37, + -50, + -92, + 55, + 100, + -113, + 91, + -7, + 49, + 30, + 11, + 55, + -44, + 12, + -14, + -65, + -113, + 53, + -49, + 114, + 44, + 112, + -46, + 51, + 109, + -99, + 44, + -124, + -86, + -116, + -91, + -128, + -49, + -117, + -38, + 102, + -57, + -115, + -43, + 84, + -104, + 30, + 86, + 77, + 38, + -68, + -63, + 56, + 105, + -123, + 124, + -32, + 3, + 105, + 4, + -101, + 30, + 4, + -59, + -85, + -109, + 62, + 46, + 46, + 25, + -109, + -105, + 44, + 48, + -99, + 82, + -55, + 56, + 84, + 17, + 14, + -43, + 82, + 50, + 109, + -111, + 53, + 52, + 81, + -81, + -36, + 88, + -45, + 81, + 0, + 1, + 76, + -60, + -82, + 97, + -51, + -80, + 101, + -58, + -56, + 49, + -54, + -124, + -87, + 8, + 32, + 34, + -55, + 49, + 22, + 96, + -84, + 87, + 81, + 9, + 35, + 21, + -17, + 106, + 109, + -114, + -42, + 84, + 11, + -90, + -17, + -113, + 92, + -101, + -78, + -35, + -18, + -60, + 121, + 103, + 57, + -20, + 118, + -66, + 94, + -124, + -37, + -47, + -47, + 126, + 27, + -13, + -78, + -20, + 114, + -46, + -87, + -30, + -39, + -73, + 23, + -94, + 127, + 85, + -112, + -24, + 84, + -58, + -46, + 15, + 66, + -83, + 75, + -37, + 73, + 74, + -113, + -51, + 89, + 40, + 18, + -92, + 58, + 51, + 68, + -88, + 91, + 43, + 121, + 70, + -117, + -79, + 56, + 115, + -68, + 119, + -78, + 112, + 126, + -87, + 107, + 57, + -47, + -73, + 23, + 18, + 107, + -69, + 113, + 36, + -96, + -39, + 84, + -87, + 72, + -114, + -33, + -98, + -25, + 51, + -8, + -19, + 108, + -93, + 106, + 2, + -115, + -49, + 40, + -42, + 89, + -23, + -102, + 103, + 69, + 100, + -123, + -99, + 24, + 18, + -40, + 122, + 22, + 68, + 105, + 104, + 68, + 47, + 80, + 12, + -85, + -24, + -121, + -99, + -33, + 23, + -113, + 113, + 47, + -113, + 29, + 0, + -1, + 0, + 110, + -51, + 12, + -40, + -14, + 126, + 75, + -43, + 57, + 64, + 116, + -64, + -58, + 70, + -67, + -47, + 92, + -26, + 27, + 82, + 10, + -96, + 91, + -94, + 71, + 54, + -77, + 98, + 127, + 69, + 75, + -96, + -17, + -82, + 105, + 105, + -117, + 21, + -122, + 11, + -52, + 106, + -103, + 38, + 87, + 44, + 12, + -95, + 10, + 25, + 115, + 20, + -85, + 109, + -82, + 98, + 37, + 41, + 109, + 20, + -10, + 0, + -24, + -55, + -41, + 120, + 127, + -111, + -109, + -110, + 50, + 71, + 52, + 111, + 99, + -78, + -46, + 114, + -3, + 118, + 100, + -104, + 81, + -31, + -91, + 44, + 27, + 86, + 124, + -98, + 94, + -124, + 35, + 88, + 53, + 116, + 99, + 51, + 66, + 93, + -127, + 10, + -90, + 9, + 84, + -124, + -16, + 74, + -4, + -22, + -79, + 33, + -7, + 43, + -11, + 69, + 90, + -16, + -71, + -42, + 20, + -8, + -94, + 124, + -68, + -52, + 109, + 101, + -92, + 103, + 54, + -88, + 4, + 106, + -22, + -86, + 86, + 51, + 82, + -45, + -109, + 104, + 68, + 118, + 65, + -90, + 93, + 87, + -61, + 24, + -16, + -78, + -98, + 67, + 4, + 88, + -14, + -21, + 85, + -116, + 44, + 96, + -69, + 59, + -69, + -9, + -117, + 23, + 0, + -58, + -86, + -85, + -9, + -83, + -122, + -3, + 13, + 116, + -88, + 66, + 91, + -54, + -3, + 54, + -2, + -117, + 54, + 24, + -95, + -53, + 70, + 95, + 24, + 115, + 26, + 17, + 35, + -12, + 19, + 27, + 121, + -38, + 57, + 41, + 121, + 113, + 76, + 90, + 80, + -78, + 62, + -43, + -37, + 98, + -63, + 12, + 41, + -100, + 40, + -32, + 88, + 115, + 114, + 9, + 28, + 86, + -56, + -3, + -15, + -53, + 83, + -117, + 110, + 94, + -119, + 66, + 54, + 109, + -59, + -66, + 23, + -10, + 15, + -111, + 67, + 69, + 118, + -99, + -84, + -11, + 121, + -48, + -14, + 121, + 82, + 110, + -54, + -27, + -113, + -42, + 63, + -90, + -48, + 77, + 118, + 121, + -27, + -78, + 55, + 81, + 109, + -9, + -1, + 0, + 13, + -95, + 32, + -37, + -34, + 92, + -43, + -13, + -108, + 77, + 4, + 56, + 94, + -104, + -16, + 44, + -124, + -110, + -50, + 84, + -45, + 31, + -99, + -83, + 107, + -104, + 28, + -64, + -1, + 0, + -112, + -21, + -8, + 25, + -52, + -80, + 76, + 64, + -119, + 3, + -108, + -25, + -83, + 24, + 110, + 99, + -11, + -28, + 41, + -100, + -51, + 106, + 96, + -41, + 84, + 33, + 114, + -58, + -58, + -121, + 68, + -56, + 11, + -51, + -57, + 87, + 93, + 78, + -58, + 110, + -35, + -67, + 32, + 99, + 115, + 82, + -56, + 54, + -107, + -106, + -2, + -33, + -90, + -91, + -93, + -22, + 55, + 23, + -48, + 50, + 19, + 101, + -78, + -106, + -86, + 16, + -127, + -49, + 42, + 15, + 59, + 6, + 114, + -54, + -113, + 30, + -4, + -8, + -6, + 79, + 27, + 65, + -111, + 80, + 17, + 7, + -32, + 85, + -71, + 86, + -67, + 104, + -100, + -113, + -90, + -5, + 20, + 37, + -69, + 90, + 25, + 22, + 31, + 3, + -94, + 124, + -107, + 31, + 33, + -127, + -105, + -53, + 121, + -118, + -121, + -60, + -98, + 57, + -128, + 1, + -116, + 106, + -38, + 100, + 85, + 38, + -122, + -72, + -51, + 72, + -94, + -10, + 26, + -106, + -82, + -70, + -35, + 20, + -71, + -90, + 63, + 50, + -27, + -91, + 82, + 124, + 119, + -124, + -67, + -127, + 35, + 46, + -92, + 106, + 0, + -23, + -114, + 65, + 113, + -79, + -83, + -50, + -106, + 36, + 0, + 70, + -44, + 64, + -95, + -125, + 127, + 30, + -6, + -1, + 0, + 16, + -18, + 65, + 57, + -122, + 113, + -60, + -117, + 17, + -46, + -48, + -78, + 71, + 11, + -72, + -49, + -43, + 104, + 21, + 49, + 116, + -128, + -119, + -100, + 108, + 88, + 55, + 105, + 108, + 23, + 17, + -102, + -71, + -97, + -66, + -74, + -62, + -40, + 87, + 18, + 54, + -29, + 108, + -72, + 37, + -9, + -95, + 74, + -70, + 10, + -46, + 53, + -62, + 57, + -15, + -117, + 125, + -55, + -52, + 55, + 100, + 127, + -3, + -120, + -31, + 110, + -71, + -98, + 116, + 1, + -125, + 16, + 43, + 3, + 106, + 99, + 116, + -112, + -111, + -79, + -90, + -71, + -105, + 22, + 36, + 77, + 27, + -26, + -92, + 51, + -86, + -112, + -1, + 0, + 69, + 42, + 24, + 86, + 106, + -3, + -79, + 21, + -55, + 17, + -42, + 68, + -24, + -104, + 40, + 112, + 86, + -113, + -79, + -18, + -77, + -39, + 115, + 60, + -73, + 101, + -107, + -45, + 108, + 24, + 77, + -108, + 69, + -35, + -76, + -83, + 52, + 50, + -110, + -68, + 101, + 0, + -27, + 44, + -116, + 13, + 100, + -103, + 103, + -68, + 109, + -118, + -93, + -23, + 85, + 41, + 124, + 53, + 122, + -28, + -86, + -37, + -5, + 34, + -70, + 72, + 93, + 88, + -86, + -52, + -55, + -27, + -118, + -62, + -117, + 123, + -74, + -55, + 31, + 37, + -113, + 18, + 56, + -28, + -28, + 46, + -105, + -38, + -119, + -94, + 47, + -24, + 108, + -73, + 18, + 83, + 19, + 69, + 49, + -86, + -61, + 22, + 41, + 88, + -27, + 19, + 86, + -32, + -58, + 71, + 98, + -3, + -103, + 34, + -14, + 32, + 107, + -32, + -69, + 114, + 88, + -37, + 78, + 73, + -21, + -55, + 60, + 80, + -115, + 75, + -38, + 83, + 41, + 86, + 10, + 88, + 2, + -102, + -88, + 11, + 29, + 78, + -86, + 32, + 19, + -44, + 109, + -44, + 89, + -118, + 92, + -103, + -50, + -122, + -20, + -123, + 48, + 42, + 91, + 73, + -17, + -107, + 34, + -56, + 59, + 13, + -119, + 82, + 64, + -77, + -65, + -111, + 0, + 67, + 114, + 63, + 10, + 121, + -50, + 126, + 32, + -89, + -18, + -28, + 0, + -55, + -91, + -79, + -123, + -69, + 16, + 17, + 44, + -86, + 6, + 16, + 32, + 111, + 27, + -118, + -62, + 26, + 59, + 78, + -40, + -100, + -72, + -69, + -76, + 116, + 90, + 54, + -39, + 104, + -46, + 102, + -31, + -102, + 86, + 80, + 17, + 19, + 42, + 11, + -88, + -77, + -87, + 2, + 37, + -7, + 11, + -1, + 0, + 36, + 121, + -22, + -12, + 126, + 80, + 116, + 44, + -83, + -69, + -90, + 14, + -78, + 61, + -118, + -48, + -69, + 33, + -101, + -107, + -50, + -100, + -128, + -59, + 56, + 6, + -58, + 78, + 61, + 21, + -32, + -115, + 28, + 58, + 63, + -57, + -93, + 120, + 76, + 76, + 72, + -103, + 33, + 33, + -108, + -46, + 24, + 108, + 74, + 114, + -60, + -106, + -117, + 47, + 126, + -102, + -21, + -44, + 77, + 83, + 36, + 90, + 41, + 36, + -77, + 0, + -22, + -17, + 11, + 90, + 70, + -45, + -106, + -75, + 103, + -91, + 102, + 37, + -113, + -2, + -70, + 107, + -2, + -50, + 41, + 86, + 47, + -56, + 124, + 18, + 24, + -87, + 44, + -125, + 109, + -111, + -85, + 122, + -126, + 125, + 55, + 96, + -70, + 58, + -121, + 61, + 127, + 38, + -2, + 20, + -120, + -18, + -97, + 49, + 96, + 34, + 43, + -100, + -113, + 29, + -103, + 7, + -49, + 64, + 106, + 14, + -24, + -60, + 94, + -83, + 82, + 45, + 70, + -112, + -111, + 107, + 20, + -25, + -95, + 118, + -116, + 47, + 29, + 21, + 61, + 77, + -102, + -44, + -126, + -112, + 59, + 60, + -78, + -34, + -126, + 122, + 84, + -63, + -102, + -74, + 97, + -113, + 124, + -44, + -34, + -85, + 78, + -72, + -15, + -84, + -108, + 72, + 4, + 10, + 81, + 100, + -99, + 38, + -120, + -36, + 15, + 45, + -17, + -60, + 13, + -70, + 112, + 72, + 53, + 73, + 43, + -84, + -115, + -9, + -106, + -55, + 39, + 109, + -120, + -23, + 96, + -97, + 49, + 94, + 59, + -109, + 125, + 71, + 32, + -27, + 4, + 93, + 23, + 114, + 73, + 91, + -11, + -114, + -122, + -62, + 127, + 10, + -106, + 17, + -109, + -73, + -60, + -110, + -92, + 49, + -84, + -87, + 60, + 127, + 119, + -39, + 27, + 29, + -7, + 8, + -98, + -46, + 71, + 37, + 104, + 93, + 105, + 82, + 105, + -109, + -56, + -3, + 94, + 111, + -51, + -65, + -119, + -8, + 92, + 22, + -101, + 41, + -5, + 13, + 48, + -16, + 74, + 88, + 84, + 114, + -35, + 23, + 118, + -77, + -96, + -73, + 93, + -80, + 9, + 6, + -79, + -67, + -18, + 124, + -79, + 58, + 103, + -61, + 110, + -63, + 26, + 22, + -92, + 36, + -56, + 9, + 58, + 106, + -51, + -110, + 56, + 86, + -100, + -79, + -49, + 40, + -3, + 76, + -32, + -61, + -52, + -13, + -15, + -93, + -54, + -59, + -63, + -55, + -106, + 23, + 44, + 21, + -42, + 50, + -54, + 74, + 62, + -122, + 0, + -43, + 16, + 24, + 21, + -37, + 110, + -93, + -81, + 9, + 100, + -28, + 114, + -36, + 105, + -102, + 41, + -14, + -15, + -29, + -112, + 5, + 44, + -114, + -63, + 88, + 6, + 10, + 69, + -113, + 11, + 6, + -57, + -90, + -11, + -25, + 102, + -103, + 63, + -15, + 87, + -46, + 56, + 101, + 10, + 98, + -7, + 57, + -18, + 77, + -70, + 91, + 70, + -106, + 83, + 84, + -6, + -81, + 63, + 110, + 34, + -117, + 51, + -88, + 50, + 97, + -55, + 92, + 30, + -65, + 35, + -86, + -24, + 70, + -29, + 45, + 126, + 40, + 104, + -116, + 85, + 57, + -106, + 35, + 68, + 125, + 41, + -26, + -79, + 2, + -84, + 16, + 91, + 13, + 120, + -76, + -41, + -8, + -2, + -7, + 61, + -73, + 46, + -19, + -28, + -100, + -13, + -101, + -114, + -24, + 98, + 72, + 86, + -69, + -98, + 35, + -43, + -5, + 41, + -78, + -93, + -57, + 91, + -124, + -99, + -21, + 13, + 32, + 60, + 62, + 19, + 37, + -79, + 19, + 45, + 104, + -22, + 90, + -81, + -8, + 53, + 74, + -56, + -26, + -118, + 87, + 18, + 31, + -8, + 36, + -89, + -112, + 49, + -96, + 61, + 6, + 88, + 65, + -80, + -93, + -110, + 66, + 117, + -104, + -86, + -114, + 106, + -74, + 87, + -62, + -42, + 57, + -23, + -27, + -82, + 106, + -70, + 95, + 85, + -13, + 26, + -92, + -116, + 70, + -93, + -107, + -19, + -11, + 127, + -1, + 0, + -30, + 121, + -3, + 123, + 100, + 116, + 39, + -114, + 54, + -74, + 85, + -75, + 26, + -89, + -9, + -12, + -99, + -110, + 64, + -26, + 55, + -2, + -34, + -66, + -65, + -41, + -43, + 30, + -86, + -117, + -21, + -27, + 127, + -14, + 119, + -73, + -86, + -86, + -71, + -124, + -36, + -113, + -105, + -50, + -3, + -93, + 68, + -32, + -110, + 9, + -47, + 35, + -88, + 39, + -64, + -99, + -55, + -65, + 113, + 29, + 125, + -36, + 33, + 15, + 62, + -26, + 80, + 81, + 73, + 80, + -78, + -42, + -106, + 120, + -111, + -120, + -46, + 65, + 21, + -80, + 94, + -93, + -60, + 30, + 57, + -1, + 0, + -97, + -4, + 122, + 124, + -2, + -102, + -50, + 87, + 64, + -99, + 107, + -29, + 60, + 90, + 76, + -8, + 123, + 52, + -81, + 86, + -42, + 110, + 123, + -111, + -63, + 36, + -48, + -104, + 35, + -126, + 12, + -41, + 31, + 75, + 39, + -50, + 48, + 89, + -16, + 17, + -35, + 113, + -74, + 16, + 75, + 64, + -63, + 13, + 62, + 71, + 72, + 46, + -74, + -113, + 66, + 124, + -111, + 73, + -54, + 16, + 45, + 30, + -7, + -25, + 3, + -1, + 0, + 44, + -1, + 0, + 28, + 10, + 104, + -31, + -26, + 60, + 31, + -107, + -24, + -35, + -96, + 35, + 105, + 46, + 21, + 27, + -70, + -79, + -95, + 21, + 11, + -87, + 81, + -84, + 46, + -127, + 113, + -20, + -23, + -1, + 0, + 32, + 106, + 19, + -122, + 27, + -80, + -116, + 17, + 114, + 25, + 108, + -42, + 34, + 73, + -120, + 42, + -83, + 34, + -44, + -44, + 115, + 63, + 102, + 94, + -96, + -22, + -84, + 18, + 72, + -98, + -52, + 98, + -57, + -18, + -88, + -66, + -78, + 55, + -39, + -98, + -66, + 29, + -22, + -119, + -18, + -44, + 85, + -14, + -33, + -20, + -88, + -25, + 122, + -1, + 0, + 62, + 23, + -54, + -94, + -87, + -83, + -24, + -21, + -78, + -108, + 109, + -14, + -58, + -70, + -60, + -88, + -42, + 34, + -59, + -24, + -114, + 87, + -86, + 55, + -47, + -113, + 89, + -107, + 37, + 71, + 53, + 85, + 19, + -43, + 21, + 83, + -61, + 81, + 61, + -43, + 60, + 126, + -120, + 57, + 7, + 40, + 86, + -42, + 48, + -93, + -41, + 118, + 92, + -106, + 44, + 79, + -85, + 22, + 39, + 127, + 29, + -9, + -23, + -46, + -57, + 6, + 127, + 104, + 121, + -84, + -74, + 36, + -55, + 44, + -84, + 69, + -96, + 69, + 84, + -40, + -34, + -56, + -95, + 84, + 110, + 79, + -123, + 11, + -38, + -72, + -28, + 63, + -87, + -23, + -65, + -51, + -50, + 73, + 52, + 60, + -9, + 77, + -57, + 54, + 90, + -41, + -12, + -37, + 58, + -99, + 53, + 59, + 124, + -29, + -104, + -25, + -73, + 23, + -13, + 54, + -51, + -65, + 51, + 5, + 10, + 116, + 53, + -100, + -78, + -98, + -89, + 48, + 34, + 92, + -19, + -80, + -106, + -20, + -127, + 7, + -90, + 100, + -6, + 25, + 63, + -38, + -114, + -33, + 75, + 86, + 75, + -117, + -55, + -99, + -55, + -109, + 5, + -7, + -89, + -93, + -22, + 25, + -31, + -48, + -11, + -66, + -43, + -88, + 9, + -46, + 6, + -78, + -33, + -20, + 36, + -122, + -46, + -63, + -15, + 1, + 108, + 21, + 106, + -31, + -118, + 121, + -118, + -31, + -76, + -10, + -117, + -25, + -11, + -6, + -93, + -110, + -115, + -71, + 70, + 82, + -11, + 4, + 30, + -69, + -98, + 1, + 100, + 120, + -42, + 87, + 32, + 60, + 84, + 53, + -20, + -53, + -40, + 43, + 5, + 50, + 40, + -26, + -107, + 35, + 108, + -88, + -81, + -107, + -14, + 68, + -66, + -86, + -85, + -19, + 7, + -85, + 24, + -9, + -81, + -124, + -111, + 21, + 61, + -98, + -81, + -10, + 70, + -69, + -35, + -98, + 21, + 127, + -107, + -3, + 50, + -67, + 3, + -127, + -16, + 35, + -61, + 14, + 105, + -6, + 71, + 41, + -57, + 106, + -26, + -77, + 72, + 69, + 99, + 36, + 109, + -13, + -15, + -38, + 93, + 85, + -74, + 71, + 98, + -128, + -127, + 16, + 66, + 78, + -80, + -53, + 71, + -47, + -43, + -92, + 90, + 52, + 33, + -98, + 59, + 81, + 69, + 74, + -126, + 125, + 118, + 44, + 83, + 27, + 12, + -17, + 108, + 87, + 55, + -10, + 115, + -105, + -76, + 77, + -111, + 27, + 67, + -126, + 34, + 66, + -14, + -54, + 85, + 82, + 33, + 28, + 65, + -101, + 84, + -84, + -60, + 34, + -92, + 96, + -69, + 51, + 16, + 43, + 119, + 45, + -79, + -71, + 126, + 89, + -19, + 86, + 84, + 4, + 69, + 52, + 103, + 37, + 73, + -18, + -88, + 52, + -22, + -51, + -91, + 78, + -99, + -119, + 58, + -76, + -81, + -13, + 26, + -96, + 43, + 113, + 92, + -105, + -59, + -79, + -68, + -74, + -123, + -106, + 23, + -14, + 47, + -89, + 97, + 75, + 97, + -119, + -116, + -41, + 0, + 3, + -73, + -40, + -102, + -50, + 12, + -65, + 10, + 48, + 112, + 122, + -13, + -47, + -109, + 67, + -96, + 37, + -116, + 38, + 82, + -96, + -72, + -10, + -75, + -88, + 82, + -118, + 115, + -93, + -115, + 9, + -68, + 92, + 97, + 27, + 18, + -113, + -76, + 76, + 67, + -91, + 46, + -116, + 95, + 103, + -45, + 0, + 71, + -113, + 21, + -100, + -79, + -101, + -72, + 6, + -43, + -77, + 123, + 82, + 89, + -70, + -68, + -19, + -67, + 5, + -9, + -34, + 11, + 25, + 82, + -37, + -73, + 27, + 125, + -64, + 12, + 121, + 11, + -48, + 91, + -113, + 39, + -95, + 21, + -110, + 125, + 76, + -36, + 43, + 5, + 90, + -29, + 34, + 9, + 43, + -60, + 91, + -124, + 124, + -50, + -18, + -100, + -73, + -98, + -43, + -19, + 121, + -79, + -97, + 27, + 62, + 43, + -13, + 106, + 59, + -46, + 18, + -122, + 20, + 3, + -90, + 18, + -29, + 0, + -62, + 9, + -27, + 71, + -14, + 58, + -118, + -69, + 42, + -69, + 42, + -58, + 116, + -62, + 47, + -25, + 39, + 46, + 38, + -72, + 68, + 44, + -19, + -82, + 83, + 49, + 116, + -24, + 122, + -50, + 92, + 126, + 116, + -116, + -26, + -120, + -123, + 42, + 98, + 101, + -4, + 111, + -84, + 11, + 59, + -45, + 58, + 5, + -115, + -31, + 42, + 29, + 23, + -78, + -118, + -84, + 6, + -42, + -121, + -93, + 16, + 11, + 96, + 117, + -63, + -79, + -70, + -66, + -108, + 99, + 98, + 21, + 94, + -47, + 114, + -61, + 49, + 20, + -89, + 14, + 80, + -84, + -46, + 86, + 13, + 32, + -103, + 52, + 89, + -55, + -86, + 60, + -127, + 109, + 93, + 104, + -31, + -89, + -109, + -55, + -97, + 51, + 11, + -102, + 115, + 8, + 121, + 94, + 20, + -79, + 79, + -86, + 121, + 98, + 57, + 19, + 99, + 57, + -57, + 43, + 18, + 59, + 60, + -80, + 42, + -72, + 119, + 12, + -79, + -9, + 53, + -10, + 64, + -126, + 45, + -108, + -20, + 46, + 103, + -98, + -28, + 69, + 0, + -99, + 99, + 49, + 72, + 81, + 88, + 71, + -83, + 12, + -96, + 23, + 64, + 11, + -24, + 80, + 2, + -22, + 53, + -34, + 102, + 58, + -122, + -55, + 86, + -62, + -72, + -21, + 11, + -20, + -100, + 7, + 23, + -90, + -37, + -4, + -124, + -25, + 102, + -10, + -123, + -12, + -96, + 52, + -9, + -96, + -26, + 120, + 3, + -74, + 40, + -10, + 22, + -116, + -48, + 3, + 34, + 93, + 97, + 96, + 123, + 45, + 16, + 58, + -64, + 8, + 9, + -39, + 65, + -70, + 123, + 28, + -21, + 77, + -74, + -47, + 97, + 79, + -53, + 80, + 57, + 14, + 119, + 119, + 16, + 28, + 110, + -89, + 32, + -53, + -31, + -66, + 96, + -41, + -117, + 1, + -2, + -101, + -16, + -25, + -30, + 102, + -121, + 85, + -15, + -14, + -64, + 46, + 102, + 35, + 125, + -65, + -47, + -110, + -56, + 98, + 58, + 7, + 111, + 37, + 75, + 69, + -95, + -47, + 116, + 43, + -78, + 99, + -123, + 104, + -51, + -100, + -18, + 97, + -12, + 97, + 4, + 21, + 31, + 99, + 45, + 90, + 27, + -31, + 67, + -46, + -79, + -72, + -49, + 31, + 26, + -52, + 76, + -23, + -103, + 124, + -37, + -1, + 0, + 34, + 29, + -72, + 120, + 79, + -112, + -65, + 25, + -13, + 100, + 100, + -49, + 103, + 102, + -45, + -27, + -2, + 68, + -38, + -53, + -23, + -41, + 49, + -106, + -41, + 105, + -123, + -24, + 115, + 97, + 48, + -106, + 107, + -43, + 13, + 91, + 70, + 48, + -51, + -84, + -87, + 2, + 33, + -17, + 23, + 30, + 74, + 119, + -113, + -96, + -122, + 44, + 74, + 48, + 82, + -54, + 70, + -79, + 66, + 89, + -53, + -48, + -25, + 113, + -56, + 62, + 100, + -4, + -108, + -85, + -100, + -43, + 13, + 51, + -50, + -66, + 56, + -122, + -53, + 16, + -52, + -51, + 67, + 41, + -69, + -68, + 114, + -47, + -31, + -93, + 67, + -6, + -100, + 126, + -120, + 44, + 52, + -23, + 22, + -85, + 22, + -78, + -19, + -39, + -39, + 81, + -94, + 98, + 32, + 17, + -112, + -39, + -88, + -38, + 43, + -105, + 4, + 18, + -76, + 68, + -83, + 79, + -51, + -115, + -113, + -123, + 31, + -39, + 34, + -123, + 20, + 57, + -92, + 112, + 90, + 59, + 12, + -96, + 61, + -88, + 82, + -37, + -110, + 5, + -105, + -36, + 10, + -90, + 11, + -79, + 96, + 89, + 121, + -73, + -3, + 126, + 118, + 67, + 21, + 35, + -68, + -102, + 69, + 2, + -116, + 86, + 58, + -78, + 109, + 64, + 13, + -35, + 9, + -79, + 36, + -22, + 82, + -62, + -50, + 76, + 117, + -82, + -59, + -13, + 2, + -83, + -18, + 77, + -76, + -8, + 95, + -92, + -78, + 115, + 17, + -114, + -42, + -111, + -28, + 5, + -107, + -13, + -15, + -4, + 126, + 98, + -19, + -119, + -75, + -33, + -115, + -49, + -16, + -3, + -92, + 110, + 108, + -56, + 107, + 118, + 47, + 8, + -83, + -51, + 66, + 1, + 21, + 48, + 92, + -17, + 61, + -40, + 17, + -60, + 4, + 45, + -94, + -3, + -84, + 54, + -120, + 29, + 92, + 122, + -80, + 111, + 23, + -7, + -81, + -49, + 112, + -101, + -55, + 3, + 116, + -97, + -128, + -36, + -17, + 41, + -91, + -72, + 31, + 69, + 44, + -128, + -70, + -33, + 90, + 54, + 6, + -51, + 4, + -107, + -7, + -117, + 17, + 73, + 1, + 28, + -96, + -61, + -42, + -18, + 55, + 69, + -127, + -45, + -113, + -79, + 10, + 23, + 31, + 70, + 120, + 13, + 107, + 50, + -52, + 125, + -61, + 121, + 10, + -90, + 67, + -54, + 126, + 77, + -16, + -105, + 53, + -117, + 22, + 12, + -73, + 103, + -24, + 93, + 79, + -79, + 105, + -86, + -23, + -13, + -124, + 14, + 20, + -47, + -12, + 3, + -39, + 96, + 113, + 55, + 60, + 54, + -17, + -25, + 7, + -85, + -105, + -52, + -111, + -52, + 2, + -97, + -99, + -56, + 86, + -60, + -73, + -85, + -13, + -67, + 125, + -51, + -83, + 86, + 85, + 39, + 122, + -79, + 73, + 76, + 67, + 93, + -75, + -57, + -50, + -88, + -72, + 63, + 33, + -75, + 44, + -44, + -23, + -15, + -2, + 100, + 26, + 99, + 5, + 34, + -41, + -102, + 58, + 31, + 11, + -102, + 22, + 118, + -34, + -90, + -75, + -61, + -58, + 6, + 26, + -84, + 99, + -10, + 38, + 24, + -125, + 70, + 60, + -18, + -100, + -26, + -70, + -106, + -91, + 37, + -94, + 110, + -74, + -126, + -55, + 35, + 20, + -84, + 71, + 112, + -123, + -55, + 92, + -33, + 35, + -110, + 30, + 96, + -78, + 25, + 35, + -57, + 76, + -125, + 22, + -104, + 102, + 118, + 119, + 104, + -28, + -95, + -95, + -115, + 40, + -44, + -106, + -76, + -24, + -10, + 88, + 82, + -95, + 64, + 8, + 116, + -65, + -52, + 33, + -27, + 83, + -84, + -104, + 14, + -59, + 126, + -20, + -117, + -40, + 46, + -110, + -96, + -126, + -63, + 89, + -28, + 36, + -109, + 86, + 13, + 37, + 27, + 4, + 30, + -94, + -117, + 69, + -16, + 62, + -61, + -50, + 77, + -110, + -45, + 5, + -22, + 124, + 1, + -57, + 51, + -7, + -77, + -38, + -29, + -70, + 93, + 38, + -61, + -95, + -11, + 104, + -84, + -13, + 34, + -62, + 113, + -12, + -114, + -20, + -14, + -4, + -32, + 7, + 52, + -58, + -26, + -58, + -39, + -45, + 111, + -80, + 119, + -20, + 91, + 31, + -113, + 23, + -89, + -112, + -67, + -98, + -80, + 116, + 125, + 77, + 12, + -112, + 99, + 115, + 64, + 118, + -78, + -93, + -102, + -13, + -33, + -103, + -68, + -124, + 31, + 93, + -47, + 114, + -66, + -119, + -63, + 119, + -108, + -74, + -6, + 0, + 55, + 71, + 114, + -46, + -78, + -20, + 53, + -76, + -7, + -56, + 48, + 88, + -37, + 1, + 111, + -36, + -54, + -12, + 98, + -10, + 121, + -115, + -87, + 52, + -102, + -55, + 51, + -30, + -84, + 71, + 75, + 81, + -50, + 70, + 0, + 31, + 114, + 87, + -125, + 67, + -114, + 23, + -110, + 108, + -124, + 102, + -82, + 91, + -4, + 127, + -4, + 25, + -25, + 84, + -20, + 102, + 50, + -1, + 0, + 24, + -72, + 91, + -26, + -67, + 118, + -55, + -69, + -106, + -11, + -72, + 44, + -34, + -33, + 70, + -74, + 11, + -108, + 66, + -21, + 106, + -26, + -113, + 101, + 67, + 65, + -92, + -75, + 5, + -110, + 67, + 89, + 106, + -68, + 86, + -56, + -39, + -89, + 86, + -35, + 8, + 16, + 125, + 122, + -10, + 42, + 69, + 28, + 39, + 65, + -25, + -29, + 20, + -6, + -15, + -34, + 107, + -100, + -89, + -99, + -95, + -96, + -50, + 115, + 73, + 80, + -128, + 80, + 65, + 91, + 6, + 86, + 0, + 2, + -119, + -31, + -62, + 86, + 27, + -93, + 10, + 61, + -80, + 102, + -51, + 78, + 24, + 116, + -94, + -22, + -27, + -22, + -50, + 24, + -71, + 108, + -56, + -87, + 15, + -119, + -49, + 93, + 17, + 68, + -63, + -15, + 5, + -53, + -53, + -71, + 63, + 49, + -27, + 89, + 2, + 97, + -97, + -121, + 50, + -78, + 118, + 78, + 99, + -58, + -109, + 30, + 96, + 77, + 80, + -115, + -60, + -46, + -91, + 18, + 5, + -1, + 0, + 12, + 26, + 94, + -126, + -36, + 20, + -7, + -121, + 62, + 60, + -50, + 33, + 3, + -119, + 89, + 3, + 44, + -123, + 101, + -118, + 6, + 74, + 82, + 55, + 58, + 64, + -112, + 81, + 38, + -104, + 72, + 0, + 6, + -120, + -30, + -115, + -6, + -50, + -21, + -70, + 65, + -50, + -76, + 83, + -11, + -16, + 31, + -112, + -89, + 58, + 78, + 70, + 96, + -44, + -28, + -66, + 65, + -92, + 34, + -88, + 122, + -106, + -106, + 66, + -32, + 43, + 86, + -106, + -52, + -39, + 11, + 1, + 99, + -108, + 86, + 50, + -24, + 40, + -83, + -36, + -84, + -55, + 104, + -110, + 16, + 120, + -95, + -99, + 12, + 58, + -59, + -45, + 126, + -90, + 39, + -8, + -49, + 42, + -99, + 67, + -84, + -77, + -103, + -108, + -82, + 5, + -59, + -7, + -27, + 89, + 122, + -112, + -86, + -76, + 93, + 17, + -56, + -23, + -112, + -73, + 70, + 76, + -91, + -5, + 36, + 52, + 84, + -22, + -123, + -108, + -29, + 3, + 21, + -34, + -103, + -124, + 101, + 50, + 80, + -108, + -52, + -101, + -108, + -126, + -99, + -54, + 108, + -118, + -97, + -50, + -104, + 19, + -115, + -13, + -14, + -109, + -30, + 31, + -62, + 60, + 7, + 9, + -39, + 104, + -11, + -11, + 54, + 88, + 33, + 26, + -99, + 81, + 77, + 69, + -117, + -96, + -5, + 94, + -38, + -34, + -110, + -74, + -117, + 123, + -87, + -49, + 126, + -15, + -74, + 4, + 19, + 109, + -48, + 72, + 99, + 110, + 17, + -78, + 100, + -90, + 102, + 115, + 44, + -3, + -94, + -28, + 85, + -23, + -24, + -18, + -63, + 20, + -75, + -21, + 104, + -17, + -68, + -20, + -58, + -1, + 0, + 31, + -6, + 44, + 55, + 33, + -8, + -30, + 115, + -95, + -24, + -45, + -104, + -27, + -117, + -97, + -95, + 49, + -67, + 79, + 72, + -52, + -60, + 50, + 97, + -97, + -77, + -114, + 124, + 84, + -78, + 82, + 68, + 86, + -78, + -34, + -100, + -96, + -55, + -71, + -91, + 76, + -66, + -51, + -85, + 14, + -104, + -128, + -85, + 58, + -51, + 22, + -54, + 124, + -64, + -100, + -58, + 122, + 106, + -128, + -121, + -52, + 96, + 67, + -103, + 63, + 53, + -57, + -116, + -28, + -58, + 66, + 2, + -14, + 70, + 3, + 25, + 37, + 80, + -29, + 66, + -111, + -26, + -46, + 21, + -85, + -83, + -106, + -58, + -86, + 43, + -62, + 121, + -103, + 92, + -67, + 121, + 84, + -6, + 49, + -27, + 18, + -71, + 84, + 71, + 42, + -111, + -92, + 111, + -35, + -44, + -21, + -33, + 126, + -24, + 69, + 101, + -37, + 123, + 112, + 9, + 0, + -126, + 44, + 59, + 94, + 52, + 68, + 84, + 94, + 46, + -33, + -39, + 126, + 41, + -19, + 91, + -120, + -51, + -10, + -55, + 51, + 40, + -56, + -40, + -27, + -73, + 37, + -88, + 25, + -27, + -81, + -79, + 60, + -48, + 92, + -122, + 72, + 45, + 79, + 19, + 96, + -92, + -53, + 95, + 117, + 100, + -79, + 49, + 74, + -105, + 7, + -42, + -95, + 63, + -109, + -1, + 0, + -28, + 59, + 47, + -54, + -12, + 125, + 23, + 41, + -49, + 42, + 69, + 124, + -33, + -48, + -103, + -122, + -57, + 53, + 40, + -94, + 28, + 18, + -11, + 58, + -74, + 94, + -91, + -94, + -87, + 53, + 22, + -48, + 70, + 19, + -77, + 98, + 26, + 87, + 106, + -56, + -113, + -110, + 74, + 12, + -77, + -21, + 74, + -92, + -14, + -79, + 33, + 106, + 126, + 113, + 127, + -107, + -13, + -70, + 58, + -84, + -26, + 92, + 39, + 65, + 45, + -47, + -108, + 106, + -59, + 1, + 110, + -101, + -12, + -43, + -118, + 67, + 108, + 73, + 110, + 70, + -63, + -12, + 68, + 92, + 22, + -56, + 18, + 118, + -44, + 117, + 39, + -111, + 37, + 4, + -53, + 64, + -125, + 82, + 120, + 97, + 23, + 65, + 100, + 117, + 74, + 84, + 63, + 120, + -67, + -69, + -45, + 77, + 102, + -59, + -69, + 51, + -40, + -76, + -23, + 100, + -79, + 53, + -71, + 63, + 34, + -60, + -109, + 58, + 87, + 77, + 44, + -113, + -79, + 34, + -3, + -46, + -52, + -9, + 61, + -114, + 115, + -99, + 36, + -110, + -86, + -5, + 57, + -18, + 87, + -94, + 120, + -12, + 95, + -78, + -2, + -64, + 28, + -72, + -93, + -52, + -25, + -79, + -68, + 112, + 119, + 94, + 44, + 27, + 41, + 44, + -67, + 8, + 57, + 59, + 6, + -118, + 54, + 93, + -69, + 48, + 68, + -83, + 118, + -35, + -99, + 83, + 98, + -68, + -9, + -38, + -76, + -57, + 118, + -125, + -106, + 50, + 73, + 48, + 5, + 95, + 39, + 103, + -114, + 50, + 64, + -79, + 9, + 4, + -121, + -112, + 17, + -69, + -18, + -118, + 118, + -17, + 27, + 1, + -53, + -34, + -11, + 61, + 119, + 71, + 61, + 100, + -34, + -65, + 68, + 84, + -47, + 37, + 85, + 111, + -28, + -37, + -78, + -5, + -79, + -42, + -119, + -13, + -38, + -76, + -63, + -29, + -101, + 43, + 94, + -38, + 3, + -22, + -51, + 110, + -54, + -62, + 50, + -92, + 80, + 81, + -92, + -78, + -85, + 42, + -63, + 3, + 28, + -83, + 120, + -3, + 51, + -120, + -26, + 49, + -18, + 71, + -67, + 60, + -56, + -58, + 61, + 61, + -35, + 18, + 57, + 125, + 22, + 70, + 121, + -14, + -39, + 93, + -3, + 124, + -86, + -75, + -88, + -82, + 114, + -1, + 0, + 87, + 127, + 101, + -15, + -22, + -63, + -6, + -40, + -95, + -126, + 28, + 104, + -93, + -126, + 8, + -93, + -122, + 24, + 81, + 82, + 40, + -93, + 69, + 68, + 68, + 80, + 2, + -86, + -86, + -128, + -86, + 0, + 3, + 96, + 7, + 78, + 51, + 121, + 102, + -106, + 105, + 30, + 89, + 100, + 121, + 37, + -111, + -117, + -69, + -69, + 22, + 102, + 99, + -44, + -77, + 18, + 73, + 59, + 13, + -55, + -16, + 28, + 126, + -120, + -85, + 112, + -123, + -122, + 126, + 28, + 33, + 10, + -115, + -82, + -42, + 49, + 83, + -14, + 30, + 5, + -80, + 53, + 125, + 26, + -59, + -123, + -80, + -46, + 49, + 109, + 91, + 34, + -75, + 63, + -97, + 104, + -101, + 10, + -73, + -49, + -9, + 69, + -113, + -43, + 19, + 113, + 3, + 24, + -73, + 85, + -109, + 98, + 97, + -111, + 28, + -11, + 115, + 111, + -66, + -90, + 105, + -15, + -75, + -22, + -84, + -10, + -111, + 87, + -9, + 15, + -51, + 108, + -98, + 85, + 21, + 100, + -118, + -73, + -78, + 43, + 17, + 125, + -43, + -50, + 87, + 33, + -12, + 55, + 103, + -128, + 100, + 51, + -49, + 92, + -35, + -103, + 47, + 72, + -78, + -47, + -5, + -87, + -91, + -106, + 72, + -77, + 71, + -9, + 86, + 99, + 47, + -28, + 41, + 16, + -86, + -54, + 110, + -123, + 21, + -47, + 89, + -106, + 89, + -91, + -115, + 21, + 91, + 34, + -71, + -46, + 53, + -85, + -103, + -15, + 86, + 27, + 92, + 112, + -67, + 5, + 106, + 53, + -122, + 92, + -115, + -13, + 92, + -108, + -23, + 90, + -59, + 104, + -51, + 27, + -107, + -45, + 54, + -116, + 118, + -12, + 5, + 41, + -103, + -110, + 117, + -109, + -21, + -111, + 22, + 81, + 86, + 107, + 64, + -98, + -15, + 54, + 63, + -27, + -78, + 69, + -25, + -98, + -55, + -67, + -34, + -32, + 125, + 63, + -25, + -33, + -7, + 107, + 58, + -105, + -60, + -19, + 94, + 35, + -89, + 79, + 79, + 79, + 58, + -4, + -88, + -114, + -51, + 116, + 18, + -23, + 29, + 74, + -94, + -66, + 41, + 101, + -111, + 23, + -40, + -115, + -7, + 91, + 19, + 28, + -66, + -56, + -79, + 83, + -79, + 28, + -75, + 91, + -20, + -65, + -15, + -3, + 109, + -110, + 24, + -40, + -97, + -61, + 92, + -26, + -75, + 26, + -46, + 59, + -46, + -74, + -8, + 40, + -110, + -24, + -29, + -107, + 27, + 92, + -117, + 46, + 62, + 86, + 77, + 45, + -62, + 19, + 39, + -33, + 19, + -102, + -54, + 9, + -98, + -66, + 80, + -93, + 97, + 87, + -79, + -120, + -6, + -11, + -37, + 90, + 47, + -85, + -19, + 99, + -94, + 88, + -28, + -111, + -82, + -56, + 94, + -87, + 120, + -57, + -83, + -37, + 119, + -60, + 48, + 11, + -97, + 97, + -117, + 28, + -121, + -123, + -73, + 63, + 110, + -116, + -24, + -79, + -78, + -76, + -9, + 89, + -116, + 98, + -3, + 16, + 36, + -115, + -126, + 24, + -31, + -80, + -113, + 84, + 107, + 27, + 98, + 73, + -99, + -10, + -74, + 67, + -92, + -95, + 12, + -28, + 6, + -41, + -83, + 68, + -43, + 118, + 40, + -41, + -79, + -105, + -59, + 25, + 114, + -120, + -127, + -50, + 85, + -6, + 100, + -114, + -117, + 46, + 50, + 91, + 79, + 99, + -103, + 26, + -57, + -20, + 10, + 104, + 61, + 26, + -11, + -107, + 18, + -78, + -56, + -88, + 6, + 38, + 31, + 30, + -98, + 4, + -12, + -23, + -13, + 28, + 8, + 117, + 62, + 60, + 100, + 121, + 48, + 83, + 82, + -74, + -77, + 62, + -19, + 106, + -50, + 117, + 58, + 45, + 66, + 84, + -51, + -25, + -91, + -102, + 91, + -74, + 99, + -122, + 6, + -64, + -30, + 112, + -114, + -110, + -44, + -74, + 109, + -51, + 90, + -92, + -111, + -43, + 125, + -121, + 50, + 75, + 20, + -96, + -102, + 8, + -46, + 118, + 35, + -86, + 79, + -78, + 124, + -95, + -34, + -11, + 29, + 105, + 44, + -10, + 120, + 24, + 124, + 95, + 37, + 6, + 80, + -42, + 111, + 69, + -86, + -39, + -124, + -49, + -21, + -16, + 69, + 50, + 35, + 37, + -41, + -24, + 33, + -23, + 32, + -10, + 127, + -17, + 21, + -22, + -102, + -121, + 65, + -103, + -25, + -11, + 75, + 87, + 26, + 15, + 17, + -68, + -110, + -76, + -122, + 6, + -25, + 6, + -35, + -92, + 98, + 93, + -100, + -12, + 46, + 7, + 75, + 88, + 97, + 24, + -22, + -26, + 22, + 73, + -106, + -4, + -46, + 35, + -91, + -122, + -79, + 88, + 41, + 17, + -84, + -59, + 21, + -10, + -80, + -84, + 13, + 21, + -23, + 114, + -84, + -111, + -83, + -42, + 53, + 45, + -108, + 107, + -25, + -92, + 70, + 10, + -10, + -86, + -48, + 117, + 105, + 34, + -110, + 120, + 5, + -93, + -49, + 97, + -95, + -20, + -8, + -82, + 87, + -49, + -76, + 19, + -28, + -120, + -120, + -102, + -15, + 78, + -84, + 76, + 46, + -116, + 61, + 61, + 93, + -128, + 4, + 113, + -26, + 127, + -43, + 33, + -93, + 1, + 25, + -82, + 71, + -83, + 45, + 79, + 68, + 36, + 25, + 66, + 89, + -110, + 120, + 67, + -94, + 114, + -61, + 52, + 25, + 77, + 6, + 98, + -48, + 104, + -95, + -114, + -84, + -7, + 111, + -8, + -118, + 57, + -114, + 94, + 54, + 55, + 43, + -62, + 100, + -113, + 31, + 38, + 120, + -58, + 101, + -55, + -94, + 73, + -39, + -35, + 23, + 31, + 29, + 84, + 46, + -15, + -122, + 45, + 60, + -74, + -22, + 42, + 37, + -80, + 85, + 88, + 25, + -66, + 81, + 18, + -110, + -7, + 6, + -55, + 64, + 116, + 29, + -23, + 64, + -83, + 79, + 99, + -95, + -36, + 40, + -40, + -111, + 103, + -57, + -118, + -2, + -67, + -14, + 27, + -107, + -15, + -78, + 66, + 9, + 109, + -21, + -115, + -47, + -19, + -9, + 31, + -69, + 92, + -73, + 71, + 45, + 87, + 7, + -113, + -65, + -123, + -61, + -39, + -48, + -36, + 35, + 54, + 80, + -72, + -116, + 11, + -102, + 30, + 26, + 80, + -123, + -47, + -33, + -100, + -123, + 75, + 90, + -69, + -99, + 36, + -82, + -48, + 86, + -70, + -127, + 79, + -49, + -61, + -102, + -54, + 81, + 71, + 111, + -78, + 116, + 17, + 121, + 6, + -41, + -21, + -72, + -54, + -12, + 42, + -23, + -82, + -114, + -89, + 61, + 22, + -42, + -90, + 58, + -87, + 111, + 65, + 19, + -39, + -68, + 78, + -58, + -84, + -4, + 37, + -99, + 95, + -10, + -86, + -52, + -82, + -75, + -56, + 81, + -109, + -14, + -60, + 89, + -122, + -66, + -127, + -90, + 77, + 40, + -70, + -20, + -46, + -121, + -109, + -35, + 75, + -30, + 95, + -63, + 78, + 49, + -117, + -24, + 61, + 123, + 73, + -120, + -81, + -116, + 92, + -64, + 34, + 103, + -82, + -99, + 35, + -45, + 58, + -109, + -85, + 13, + -99, + 78, + 126, + -21, + 86, + -7, + 90, + -106, + 58, + 48, + 96, + -47, + -52, + 88, + -35, + -22, + 111, + -83, + 94, + -31, + 65, + -113, + -66, + -59, + -92, + 50, + 37, + -128, + 76, + 49, + 54, + -115, + 28, + 100, + -66, + 76, + -15, + -63, + 121, + 124, + 94, + 60, + -17, + 45, + 21, + -95, + -73, + -66, + 105, + 91, + 101, + 104, + -47, + -124, + -25, + 76, + -23, + 122, + 99, + 103, + -58, + -43, + -77, + 94, + 96, + 54, + 108, + 92, + 42, + -4, + -4, + -62, + 68, + 80, + -54, + 27, + -95, + 82, + 74, + -12, + -53, + 30, + 37, + 87, + 59, + 113, + -117, + 40, + -23, + -27, + -73, + 106, + 27, + -40, + -34, + 71, + -113, + -20, + -18, + 102, + 100, + -36, + -50, + 76, + 54, + -109, + 35, + 19, + 76, + 76, + 11, + -56, + -56, + 22, + 65, + -38, + -86, + 23, + -119, + 10, + -84, + -118, + 80, + 105, + 82, + 75, + -107, + 54, + 41, + 111, + -115, + 67, + -39, + 44, + -114, + 88, + -110, + 101, + -53, + -52, + 93, + 59, + 52, + -119, + 7, + 103, + 40, + 90, + -102, + 38, + -79, + 36, + 106, + 53, + 2, + -27, + -87, + 64, + 69, + -73, + 114, + 64, + -45, + 86, + -62, + 104, + 60, + -81, + 42, + -7, + -109, + -90, + -8, + 114, + 111, + -84, + 11, + -81, + -127, + -37, + -65, + 97, + -78, + -72, + 44, + 112, + -50, + -117, + -107, + 101, + -83, + 14, + 102, + -50, + 104, + -32, + 107, + -62, + 47, + -62, + 82, + 6, + 108, + 1, + 67, + -78, + -24, + -108, + -71, + -12, + -128, + -7, + -104, + 115, + -116, + -82, + 120, + 82, + 93, + -124, + -43, + -109, + -38, + 52, + 72, + 4, + 88, + -33, + 51, + -30, + 125, + 111, + 6, + 124, + -116, + -38, + -114, + -113, + -103, + -65, + 74, + 43, + -50, + -99, + -105, + -36, + 50, + 74, + 43, + 106, + 36, + -106, + -51, + -8, + 109, + -58, + 26, + 43, + -73, + 107, + -25, + -52, + 82, + -79, + 106, + -120, + -101, + 23, + 1, + 94, + -89, + 75, + -24, + 7, + 82, + -30, + 81, + -69, + 86, + -21, + -124, + 67, + 73, + 93, + -85, + -27, + -80, + 115, + 117, + 69, + 79, + 46, + 42, + -33, + 47, + -53, + 48, + -23, + 99, + -59, + 74, + -24, + 14, + -105, + -23, + -77, + -43, + -101, + 76, + -107, + 107, + -104, + 31, + 10, + 104, + 117, + 27, + 59, + -26, + -85, + -107, + -48, + 86, + -48, + 89, + -80, + 92, + -106, + 35, + 63, + 123, + 109, + 22, + -2, + -8, + -67, + -34, + 99, + 49, + 45, + 99, + 115, + -98, + 117, + -71, + 95, + -52, + -19, + -90, + -116, + 126, + 115, + 39, + -106, + 36, + -62, + 97, + 10, + -47, + -51, + 20, + -25, + -41, + 44, + -114, + -84, + 95, + 40, + 42, + -91, + 125, + 16, + 12, + -10, + -61, + 62, + 99, + 49, + 76, + 45, + -101, + -103, + -32, + 50, + 104, + -83, + -21, + -77, + 3, + -23, + 65, + 78, + 17, + -7, + -70, + 117, + 51, + 35, + -128, + 98, + -71, + 6, + 62, + -112, + 123, + -94, + 45, + 25, + 124, + -93, + 15, + -101, + 118, + 89, + 24, + 50, + -87, + -107, + 1, + 120, + -29, + 121, + 100, + -114, + -102, + -108, + 0, + -64, + 89, + 10, + 78, + -12, + -54, + 116, + -109, + -79, + 33, + -120, + -30, + -59, + -2, + 72, + -71, + -47, + 71, + 39, + 33, + -98, + 12, + 72, + 50, + 35, + 126, + -41, + 3, + 36, + -10, + -83, + 10, + -10, + -46, + 21, + 112, + -59, + -91, + -110, + 50, + 81, + -108, + 58, + 18, + -64, + 40, + -44, + 26, + -62, + -96, + -75, + -2, + -61, + -76, + -86, + 7, + -102, + -102, + -108, + 61, + 13, + 94, + -85, + 109, + 26, + 40, + 112, + -25, + 115, + -104, + -32, + -41, + 75, + -44, + -70, + -91, + 0, + -80, + 81, + 65, + -103, + -85, + 79, + 120, + -72, + 107, + -84, + -75, + 95, + 126, + 2, + 26, + -56, + 40, + -63, + 94, + -76, + 118, + -51, + 91, + -106, + -61, + 95, + 110, + 89, + -39, + 17, + -35, + 51, + -28, + -66, + -69, + 13, + -100, + 50, + 23, + 87, + 91, + -112, + -107, + -126, + -3, + -105, + 89, + 78, + -119, + 22, + 82, + -50, + -112, + -106, + 110, + 95, + -36, + 36, + -90, + 123, + -95, + -28, + -93, + -25, + 2, + -91, + -50, + 107, + 44, + 80, + -93, + 58, + 127, + -87, + 8, + -114, + -128, + 112, + 18, + -34, + 29, + 108, + -58, + -116, + -95, + 65, + -49, + 5, + 80, + -121, + -30, + 97, + -16, + 73, + 103, + 87, + -101, + 42, + 59, + 19, + -98, + 98, + -107, + 97, + -37, + -9, + 7, + -23, + 106, + 18, + -81, + 84, + 84, + -124, + -113, + 69, + 70, + -80, + -89, + -58, + 68, + -110, + 104, + 94, + -26, + -120, + 97, + 103, + 16, + -91, + 33, + -14, + 68, + 7, + -105, + -95, + 92, + -28, + 65, + 50, + -79, + -25, + 4, + -43, + 47, + -1, + 0, + 33, + -33, + 40, + 50, + -36, + 87, + 27, + -97, + 3, + -54, + 49, + 69, + 58, + -113, + 93, + -23, + 86, + -120, + -113, + -25, + 120, + 126, + 90, + 34, + -74, + -117, + 83, + -92, + -47, + -84, + 35, + -48, + 92, + -88, + 34, + -99, + 51, + 22, + 98, + 31, + 87, + 66, + 95, + 61, + 113, + 44, + 48, + 89, + -118, + -9, + 22, + -51, + 33, + 2, + 69, + -40, + 36, + 76, + 67, + 127, + 84, + 14, + 101, + -56, + 125, + -80, + 29, + -95, + 121, + -122, + 52, + -102, + 97, + 88, + -95, + -63, + -98, + 118, + 18, + 25, + 102, + -45, + -89, + -76, + -113, + 79, + 121, + 9, + 82, + -50, + -32, + 30, + -51, + -122, + -90, + -46, + 8, + -30, + -83, + -97, + -126, + 57, + 62, + 106, + 98, + -27, + -94, + 61, + 21, + 126, + -42, + 72, + -29, + 104, + 116, + -78, + -87, + 86, + 59, + -70, + 16, + 65, + -67, + 54, + -37, + 119, + -120, + 23, + -62, + 59, + -28, + 63, + -52, + 72, + 126, + 58, + -27, + -21, + 4, + 9, + 94, + 46, + -123, + -14, + 0, + -101, + 36, + -92, + 12, + 125, + 104, + 116, + 58, + 59, + 54, + 54, + 100, + 107, + -126, + -83, + 37, + -8, + -13, + 1, + -32, + -113, + 83, + 112, + -123, + 10, + -58, + 44, + -110, + 100, + -112, + -106, + -94, + 65, + 85, + -29, + 40, + -2, + -27, + 72, + -79, + 42, + -46, + -71, + 25, + -2, + 56, + -23, + 118, + 67, + -37, + -34, + -49, + -46, + -5, + -33, + 49, + -23, + -39, + 29, + 52, + 3, + 50, + -94, + -77, + -59, + 122, + -67, + 50, + 65, + 53, + 123, + 25, + 52, + -10, + 108, + -36, + -38, + -110, + 57, + -116, + 45, + 94, + -123, + 113, + 116, + 105, + -65, + 15, + -128, + -83, + -121, + 100, + 0, + -86, + -62, + 12, + 76, + 122, + 113, + 85, + 8, + 88, + -119, + -28, + -128, + -28, + -31, + 79, + -59, + 92, + 41, + 94, + 73, + -48, + 106, + 118, + 111, + -107, + 24, + -97, + -112, + -38, + 15, + -107, + 15, + -118, + 126, + -115, + -107, + -62, + -103, + 1, + 107, + -24, + -35, + 98, + 7, + 5, + 34, + 84, + -15, + 76, + 78, + 7, + 98, + 60, + 118, + -14, + 99, + -104, + -125, + -42, + -99, + 89, + -73, + -88, + -44, + 21, + 81, + 116, + 21, + 7, + -69, + 57, + 118, + 43, + 16, + -102, + 59, + 53, + -88, + -12, + 63, + -111, + -89, + -8, + -82, + 117, + -6, + 111, + -106, + -114, + -29, + -104, + -83, + 20, + -85, + 65, + -71, + -68, + -98, + 43, + 77, + 53, + -78, + -69, + 108, + -79, + 21, + -91, + 54, + -82, + -100, + -100, + -6, + -123, + -29, + 45, + 24, + -36, + 62, + -126, + -74, + -105, + 58, + 51, + 65, + 83, + 75, + -93, + -86, + 92, + -48, + -3, + 30, + 118, + 2, + -103, + -28, + -94, + 36, + -2, + -14, + 67, + -39, + -18, + 91, + 48, + -107, + 121, + 74, + -116, + -116, + -68, + -8, + 39, + 104, + -26, + -114, + 60, + 105, + 74, + -74, + 67, + -95, + -70, + 96, + 11, + 22, + 106, + -18, + 59, + -34, + -70, + 52, + 84, + -72, + 80, + -61, + -102, + 24, + -80, + 113, + -28, + -107, + -114, + 50, + 69, + 50, + 9, + 14, + 73, + -56, + -114, + -12, + 43, + -87, + 61, + -112, + 4, + -87, + -115, + 65, + 1, + -12, + 19, + 87, + 103, + 101, + 36, + 33, + 62, + 115, + 113, + -35, + 46, + -76, + 19, + 54, + -122, + -5, + 6, + 35, + 25, + -117, + 26, + 120, + 35, + -28, + -84, + 79, + 13, + 112, + 57, + 92, + -42, + 59, + 41, + 78, + 19, + 89, + -95, + -103, + -19, + -96, + 115, + -123, + 39, + 39, + 96, + 55, + 73, + 15, + -123, + -34, + -46, + 126, + -76, + 36, + -104, + -38, + 122, + 112, + 65, + -82, + 25, + 30, + 75, + 47, + 1, + -52, + 62, + -50, + -107, + 62, + 92, + 124, + -40, + 35, + -43, + -46, + -105, + 56, + -27, + 116, + -41, + 17, + -57, + -13, + 1, + -87, + -29, + -125, + -41, + -49, + -51, + 48, + 89, + 52, + 89, + -47, + 62, + -15, + -113, + 26, + 82, + -128, + -24, + -122, + 83, + -121, + 52, + 62, + 47, + 127, + -39, + -77, + 46, + -88, + -75, + -88, + -74, + 103, + 61, + -107, + -87, + 58, + 118, + 14, + -94, + -43, + 124, + -80, + -7, + -91, + -47, + -66, + 78, + -24, + 110, + 50, + -27, + -105, + -127, + -25, + -16, + 93, + 125, + -128, + -39, + 58, + -17, + -109, + -46, + 70, + 87, + 99, + 98, + -83, + 57, + 95, + -7, + -34, + -74, + 45, + 36, + 112, + -85, + -21, + -44, + -5, + 101, + -90, + 57, + -113, + 101, + 104, + 93, + 123, + -22, + 109, + -21, + 112, + -54, + 75, + 94, + 24, + -113, + -111, + -52, + 115, + -68, + 43, + -105, + -35, + 102, + 86, + 61, + -87, + 97, + -54, + -118, + -60, + 114, + -6, + -86, + -93, + 28, + -97, + 91, + 85, + 28, + -88, + -33, + 8, + -23, + 61, + 29, + 28, + -115, + -12, + -33, + -80, + -97, + -31, + -90, + 47, + 33, + -109, + -4, + -25, + -102, + 41, + -97, + -102, + -52, + 123, + 88, + -15, + -34, + 70, + -106, + 28, + 22, + 96, + -89, + 81, + -44, + 72, + 124, + -127, + 84, + 0, + 61, + -116, + 20, + 4, + 74, + 88, + 9, + 6, + 43, + -19, + 79, + -74, + 83, + -13, + 40, + -41, + -105, + 96, + -111, + 22, + 20, + 122, + -111, + -25, + 84, + 17, + -53, + -110, + -93, + 109, + 54, + -96, + 21, + -121, + -60, + -109, + -4, + 89, + 73, + 37, + -56, + 4, + -85, + 27, + 54, + -21, + 85, + -19, + 72, + -43, + 103, + -10, + 71, + -71, + 81, + -88, + -115, + 115, + -27, + 108, + 111, + 124, + -115, + -9, + 70, + -5, + 42, + -7, + 87, + 63, + -39, + -34, + -24, + -43, + 115, + -68, + 120, + 122, + 61, + -47, + 107, + -91, + -39, + 21, + -82, + 84, + 122, + 47, + -86, + 61, + 92, + -1, + 0, + 72, + -29, + 106, + 34, + 43, + 18, + 56, + -2, + -75, + 87, + 49, + 126, + -59, + 95, + -77, + -47, + 85, + 61, + -107, + -46, + 53, + -83, + 106, + -67, + -77, + 57, + 61, + -9, + -85, + -68, + 75, + 35, + -101, + -21, + 19, + -67, + 17, + -18, + 99, + 19, + -53, + -41, + -43, + 92, + -33, + -27, + 124, + -75, + -120, + -44, + 99, + 99, + 70, + -67, + 124, + 35, + -109, + -22, + 87, + 49, + 124, + -89, + -41, + 88, + 123, + 97, + 69, + 122, + -71, + 24, + -116, + 84, + 122, + 122, + -67, + -78, + 74, + -43, + 89, + -66, + -60, + 79, + -79, + 21, + -56, + -11, + 86, + -93, + 90, + -25, + 49, + -66, + 91, + 35, + 24, + -27, + 88, + -111, + 17, + -101, + 2, + 16, + 7, + 80, + 55, + -13, + -9, + 113, + -99, + -72, + -40, + 31, + 47, + -33, + -125, + -72, + -18, + 47, + -86, + 61, + -51, + 99, + 125, + -4, + -6, + -74, + 73, + 93, + 26, + 34, + 127, + 15, + 95, + 79, + 100, + -9, + 84, + 95, + -79, + 17, + 90, + -58, + -78, + 56, + -36, + -114, + 107, + -68, + -69, + -43, + -79, + -113, + -47, + 28, + -74, + 99, + -118, + 54, + -71, + -82, + -111, + -88, + -81, + 86, + -85, + -37, + 27, + 38, + -111, + 85, + -83, + 111, + -12, + -111, + -51, + -10, + 85, + 70, + -8, + 84, + 71, + 42, + -7, + -10, + 71, + 123, + 42, + -75, + 99, + -16, + 63, + 71, + -79, + -26, + 62, + -65, + -28, + 124, + -8, + 75, + -113, + -47, + 54, + 29, + 99, + 43, + 91, + -79, + -26, + -99, + -53, + -108, + -100, + -25, + 126, + 60, + 115, + 27, + 63, + 27, + -93, + -119, + -24, + -82, + 72, + -83, + -42, + 42, + 99, + 69, + 78, + -54, + -85, + 23, + -22, + -111, + 37, + -123, + -47, + 72, + -115, + 114, + -66, + 36, + 73, + -99, + 11, + 52, + -122, + -17, + 78, + -125, + 16, + 78, + -115, + 72, + -124, + -57, + 17, + 24, + -34, + -57, + -51, + 88, + 93, + 97, + 115, + 85, + 115, + -110, + 72, + -39, + 53, + 55, + 8, + -3, + -70, + -77, + 102, + -121, + -35, + -81, + -122, + 91, + 21, + -90, + -11, + -16, + -49, + 85, + -6, + -3, + -40, + -13, + -63, + 21, + 1, + 11, + 91, + 12, + -124, + -34, + 34, + -6, + -35, + -6, + -67, + -34, + 95, + 97, + -99, + 32, + -107, + -99, + 12, + -51, + 107, + 97, + -86, + -37, + -72, + -119, + 99, + -119, + 44, + 50, + 73, + -4, + 57, + -75, + -47, + -22, + -83, + -115, + 125, + -100, + -28, + 108, + 109, + 92, + 72, + 7, + 47, + -92, + 19, + 86, + -83, + -96, + -71, + -25, + -91, + -87, + 18, + -84, + 38, + 1, + 87, + 36, + 86, + -108, + 100, + 35, + 84, + -115, + -13, + 17, + -77, + -109, + -93, + -99, + -122, + -67, + 63, + -2, + 67, + 36, + 115, + -81, + -50, + 46, + 20, + 99, + -99, + 58, + -1, + 0, + 88, + 127, + -116, + 68, + -28, + -31, + -88, + 31, + -63, + 44, + 54, + 54, + 116, + -98, + -107, + -67, + 106, + -81, + 31, + 14, + -90, + -66, + 26, + 79, + 103, + 59, + 116, + 122, + -23, + -26, + 60, + -113, + -128, + -8, + 93, + -2, + -68, + 70, + 119, + -20, + 53, + -45, + 67, + 29, + 25, + -50, + -36, + -72, + 54, + -76, + -55, + 103, + -16, + -18, + 89, + -76, + -53, + 83, + -70, + 21, + 123, + -47, + 39, + 35, + 12, + -75, + -54, + -81, + -42, + -25, + -74, + 79, + -86, + 50, + 48, + 87, + -111, + -56, + -40, + 28, + -57, + -42, + -102, + 70, + 74, + -95, + -58, + -22, + -38, + -77, + 106, + -82, + -111, + 27, + 84, + -107, + -78, + -83, + -80, + 46, + -91, + -42, + -44, + -50, + -48, + 117, + 72, + 19, + -22, + -106, + -37, + 60, + 77, + -102, + -70, + -14, + -111, + -39, + -78, + -27, + 75, + 31, + -72, + 62, + -45, + 101, + -122, + 24, + 92, + -58, + 68, + -98, + -17, + -101, + -50, + -97, + 16, + -38, + 117, + -20, + 13, + 117, + 1, + -29, + -85, + -51, + 110, + 75, + -107, + -89, + -111, + 89, + 85, + -18, + -11, + 27, + 108, + 124, + 127, + -103, + 114, + -26, + -104, + -4, + 22, + 43, + -52, + 70, + -24, + -7, + -23, + -123, + 126, + -121, + 48, + -109, + -66, + 55, + -55, + 58, + -40, + 116, + 50, + 65, + 42, + -122, + -2, + 2, + -96, + 12, + -52, + 53, + -22, + 73, + 106, + 59, + -15, + -103, + -89, + -1, + 0, + 29, + -46, + -63, + 26, + -97, + -116, + 102, + 55, + -57, + 66, + 98, + 22, + 43, + -38, + 91, + -75, + -90, + -122, + 88, + 31, + 61, + -42, + 68, + 35, + -21, + -109, + -18, + -118, + -120, + -7, + 45, + -3, + 114, + -35, + -3, + 40, + -71, + 28, + -67, + -64, + -42, + -127, + 111, + -96, + -46, + 44, + 125, + -33, + 5, + -13, + -15, + -21, + 117, + -72, + -37, + -124, + 76, + 57, + 104, + 123, + -92, + -73, + -97, + 120, + -111, + -31, + -80, + -65, + -23, + -75, + 124, + 56, + -85, + 63, + -14, + 89, + -13, + -53, + 117, + -15, + 76, + -105, + 25, + 25, + -49, + -117, + 103, + -84, + -23, + 78, + -39, + 110, + -69, + 64, + 34, + -55, + 40, + 108, + 89, + -125, + 37, + -117, + -80, + 46, + -100, + 121, + 120, + 112, + 80, + 84, + -107, + -94, + 6, + -10, + 23, + -111, + 56, + 22, + 29, + -35, + 43, + -71, + -81, + -39, + 102, + -57, + 104, + 107, + 103, + 107, + 24, + -48, + -112, + -3, + -41, + 40, + 123, + -15, + -21, + -28, + -90, + 80, + -41, + 31, + -22, + -65, + 46, + -10, + 89, + 17, + 117, + -75, + 69, + -6, + -16, + -63, + 69, + -23, + -31, + 110, + 93, + -118, + 40, + -37, + -112, + -28, + 121, + -53, + -111, + -76, + -115, + -110, + -13, + -56, + 64, + -63, + 65, + 89, + 66, + 38, + -84, + -3, + -119, + 90, + 18, + -73, + 102, + 36, + 55, + 60, + 66, + -80, + 56, + -121, + -62, + 79, + 63, + 30, + 63, + -51, + 15, + 29, + -37, + 110, + 51, + 127, + 27, + -18, + 100, + -22, + 13, + 46, + 123, + 48, + 107, + -85, + 15, + -74, + 46, + 75, + 68, + -125, + 33, + 121, + -116, + 127, + -47, + -7, + -60, + 32, + -37, + 70, + 115, + -127, + -86, + 73, + 88, + 125, + -111, + -73, + 100, + 53, + 118, + -34, + -111, + -62, + 7, + 14, + -71, + -7, + -113, + -90, + -79, + -78, + -41, + -26, + 53, + 95, + 8, + 11, + 83, + -28, + 90, + 78, + -105, + -15, + 103, + 83, + -42, + 114, + 122, + -55, + 55, + -39, + -66, + 89, + 22, + 101, + 24, + 84, + -7, + 28, + 56, + 125, + 87, + 37, + -50, + -27, + -60, + -23, + -11, + -72, + -39, + 69, + 56, + -12, + -12, + -12, + -70, + -125, + -90, + -63, + 22, + -82, + 51, + 66, + 27, + 29, + 103, + 89, + -114, + 16, + 47, + 83, + -87, + 43, + -97, + -67, + 111, + -10, + -72, + -79, + 127, + 111, + 51, + -80, + 99, + -52, + -26, + 7, + 22, + 120, + -105, + 59, + 27, + 67, + -30, + -96, + 1, + -116, + 115, + -100, + 20, + 17, + -77, + 35, + 13, + 43, + 98, + 109, + -103, + -64, + 12, + 31, + 123, + 0, + -114, + 47, + 94, + -52, + -29, + 102, + -53, + 28, + 65, + -94, + -110, + 76, + 119, + 86, + 18, + -97, + -12, + 9, + -84, + -47, + -38, + -24, + -88, + 4, + 3, + 99, + 107, + -16, + -69, + 117, + -7, + 67, + -60, + 6, + 124, + -69, + -32, + -35, + 95, + 23, + -87, + -72, + -96, + -27, + -33, + 98, + -29, + 31, + -99, + -83, + 108, + -15, + 113, + 56, + -1, + 0, + -10, + 102, + -56, + 35, + 87, + -97, + -116, + -104, + 107, + -75, + -33, + 112, + 120, + -72, + -89, + 27, + -98, + 102, + -72, + -123, + 60, + -112, + 99, + 80, + 103, + -115, + -52, + 72, + 85, + -70, + -38, + 65, + -11, + 108, + -118, + 64, + -32, + 53, + 3, + -13, + -39, + -66, + 33, + -54, + -7, + -121, + 53, + -64, + -24, + -74, + -37, + -18, + 102, + 46, + 82, + 29, + 64, + 80, + 120, + -123, + -32, + -31, + -101, + 11, + 104, + -106, + 82, + -27, + 91, + 36, + -62, + -66, + 91, + -74, + 101, + -62, + 110, + -99, + 37, + 16, + -71, + -5, + -61, + -13, + -32, + -89, + -71, + -9, + 102, + 51, + -77, + 99, + 107, + 78, + -125, + 115, + -101, + 3, + -59, + -4, + -109, + -24, + -73, + -84, + -39, + -57, + 23, + 27, + 64, + 22, + 82, + -105, + 68, + 31, + 123, + 78, + 84, + -20, + -32, + -33, + -95, + 107, + 51, + -116, + 21, + 80, + -19, + -31, + 121, + 81, + -124, + -35, + 124, + -62, + 107, + 8, + 87, + 75, + 6, + -86, + 8, + -98, + 17, + -48, + 7, + 89, + 69, + -114, + -49, + -19, + 10, + -19, + -58, + 76, + -64, + -9, + -18, + -111, + -47, + 57, + 4, + 119, + 50, + 60, + -1, + 0, + 102, + 79, + 36, + 78, + -123, + 92, + -36, + -106, + -123, + -123, + -45, + 25, + 57, + 71, + 43, + -112, + -126, + -104, + 47, + -64, + -118, + 45, + 17, + 17, + 98, + 24, + 42, + 45, + -119, + 28, + -43, + 42, + -83, + -89, + -71, + -4, + -93, + -62, + -123, + 70, + 103, + 77, + -123, + 9, + 123, + 30, + 67, + 80, + 111, + 97, + 85, + 92, + -87, + -25, + 49, + -28, + -10, + 114, + 69, + 27, + -59, + 75, + 36, + -90, + 53, + -43, + -81, + 75, + -38, + 29, + 70, + 48, + -61, + 67, + 41, + 98, + 73, + 35, + 64, + 83, + 68, + -15, + 125, + -58, + -27, + 49, + 118, + -117, + 11, + 77, + -115, + 52, + -14, + 35, + 17, + 16, + -104, + -120, + -31, + 33, + 90, + -69, + 118, + 0, + 21, + 32, + -44, + -102, + 108, + 26, + 4, + 53, + 88, + -71, + -19, + -75, + -47, + -12, + 30, + 125, + -120, + -41, + 107, + -88, + -25, + 70, + -107, + 31, + -49, + 5, + 17, + 47, + -85, + 105, + 99, + -79, + 98, + 104, + 89, + -82, + 52, + 84, + -74, + 110, + -113, + 8, + 95, + 68, + 40, + -108, + -44, + 8, + -67, + -84, + 33, + 80, + 80, + -62, + 116, + 127, + 100, + -104, + -51, + 95, + -40, + -83, + -98, + 10, + 58, + 103, + 105, + -21, + 83, + 32, + 13, + -10, + 3, + -28, + 55, + -55, + -82, + -123, + -66, + -69, + 102, + 76, + -114, + 60, + -49, + -57, + 92, + 25, + 110, + -123, + 74, + 42, + -74, + -57, + 16, + 127, + 80, + 52, + -102, + 108, + -35, + 44, + -42, + -100, + -28, + 85, + 115, + -91, + 108, + -117, + -105, + 39, + -97, + -25, + 102, + -13, + -6, + 90, + -105, + -78, + -37, + 82, + -103, + 26, + -100, + -10, + -59, + 75, + 49, + -43, + 110, + 90, + 108, + -84, + -109, + -7, + 21, + 119, + -95, + 119, + 47, + -117, + 23, + -32, + -53, + -36, + 34, + 70, + -19, + -61, + -107, + -15, + -12, + 68, + -28, + -114, + 69, + -102, + 21, + -101, + -116, + 60, + -8, + -37, + -123, + 53, + 90, + -120, + 127, + 98, + -120, + -23, + -36, + 124, + 67, + -122, + 104, + -125, + -100, + -87, + -98, + 3, + -44, + 45, + 0, + -46, + 91, + -50, + -114, + -50, + -29, + 65, + -12, + 12, + -114, + -7, + 67, + -42, + 111, + -8, + -69, + -8, + 79, + -126, + -23, + 93, + -117, + -84, + -32, + 123, + 57, + 126, + -91, + -48, + 70, + 84, + -58, + -21, + -20, + -40, + 110, + 71, + -88, + 111, + 113, + 0, + -54, + 24, + -50, + -18, + -78, + 97, + -35, + 109, + -47, + -119, + 43, + -119, + 82, + -53, + 109, + -91, + -82, + 90, + -91, + 84, + -47, + 59, + -11, + 17, + -106, + 73, + 90, + 108, + 80, + -35, + -110, + 57, + -65, + 86, + 111, + 103, + 99, + -55, + -52, + -53, + 32, + 101, + 24, + 17, + 22, + 6, + 26, + -44, + 62, + -67, + 110, + -58, + 77, + 37, + 20, + 20, + -45, + 26, + -124, + -90, + 118, + -44, + 88, + 18, + 20, + -122, + -30, + 29, + 121, + -101, + -14, + 25, + 100, + -53, + 88, + -27, + 98, + 18, + 72, + -103, + -96, + 117, + -115, + -64, + 58, + 84, + -128, + 88, + -47, + 55, + -67, + -128, + 10, + -43, + -39, + 32, + 81, + 111, + 18, + -52, + 117, + 14, + -117, + 110, + -2, + 82, + 3, + 2, + 14, + 118, + -107, + 96, + 60, + -66, + 23, + 33, + -127, + 125, + 64, + 3, + -77, + 66, + -57, + -49, + 112, + -53, + -70, + -41, + 119, + -103, + 115, + 78, + 72, + 121, + 5, + 124, + 81, + 81, + 0, + 92, + 115, + 46, + 90, + 13, + 29, + -30, + 39, + 32, + -52, + -122, + -93, + -93, + -43, + 78, + 2, + -122, + -110, + -23, + 56, + 87, + -57, + 74, + -4, + 120, + -123, + -2, + -111, + -66, + -119, + 122, + -33, + -56, + -99, + 29, + 72, + -22, + 21, + -24, + -41, + -46, + 42, + -63, + 113, + -18, + 116, + 70, + -86, + -33, + 29, + -51, + -59, + -125, + 31, + 75, + 78, + 14, + -92, + -63, + 12, + 60, + 17, + 51, + 4, + 117, + 100, + 11, + 24, + -122, + 27, + -9, + 17, + 5, + 59, + 77, + -92, + -96, + 70, + 81, + -15, + -65, + -119, + 28, + 95, + -29, + -112, + 57, + -64, + -14, + 110, + 75, + -95, + -53, + 80, + -70, + -42, + 33, + 18, + -94, + 108, + 99, + -36, + 111, + 67, + 29, + 75, + 100, + 46, + -47, + -1, + 0, + 103, + -43, + 27, + 54, + 83, + 89, + -85, + -98, + -99, + -125, + 37, + -44, + 68, + -38, + 67, + 87, + -44, + 61, + 27, + -13, + 81, + -85, + 45, + 58, + 44, + 100, + 31, + -83, + 110, + -43, + -47, + 48, + -1, + 0, + 30, + -7, + -34, + -73, + -89, + -12, + 127, + 124, + -50, + 83, + 49, + 10, + -84, + -10, + 53, + 26, + 102, + -117, + -73, + 110, + -20, + -85, + 81, + 41, + -57, + 66, + -72, + -116, + -114, + -111, + -122, + 91, + 122, + 123, + 117, + 104, + -42, + -116, + 61, + -117, + -42, + -82, + 24, + -105, + -10, + 120, + 43, + -87, + 36, + -110, + -85, + 118, + -116, + 44, + 94, + 91, + 72, + -124, + 28, + -119, + -53, + 0, + -123, + -108, + -22, + -44, + 104, + 1, + 26, + 2, + 104, + -109, + -45, + 114, + -9, + -46, + -88, + 85, + 87, + -37, + 31, + 109, + -7, + -41, + -76, + -49, + 18, + 20, + 92, + 46, + 95, + -116, + -108, + -104, + -23, + 69, + -99, + -120, + 93, + 114, + 79, + 37, + 81, + -40, + 10, + 68, + -46, + -118, + 53, + 19, + 101, + -81, + -122, + -33, + -90, + 124, + -83, + -87, + -15, + -101, + 39, + 115, + -95, + 109, + -89, + 1, + 82, + -96, + -22, + -78, + 50, + 42, + -10, + 8, + -19, + -83, + 58, + 105, + 61, + -67, + -93, + -126, + 58, + -28, + -76, + 119, + -30, + -110, + -11, + -97, + 79, + -90, + -110, + -3, + 13, + -77, + 106, + -5, + -103, + 74, + -93, + -42, + 121, + -95, + 111, + -21, + -108, + 31, + -102, + 127, + 58, + -70, + -89, + -51, + -50, + -110, + -19, + 102, + -46, + -19, + -118, + -103, + 48, + -113, + 125, + 92, + -114, + 82, + 43, + -74, + -56, + 66, + 58, + -76, + -50, + -9, + -74, + 74, + -3, + -37, + -54, + -74, + 44, + -111, + -98, + 121, + 36, + -115, + 34, + 73, + 82, + -120, + -86, + 73, + 29, + 17, + -47, + -92, + -49, + -65, + 120, + -94, + 19, + -26, + 87, + -53, + -3, + 95, + -53, + 78, + -102, + 76, + -12, + -55, + 108, + 118, + 8, + 89, + 11, + 17, + -30, + -13, + 51, + 89, + 100, + -14, + -59, + 69, + -85, + 28, + 108, + -66, + 109, + -15, + 71, + 86, + -75, + -94, + -49, + -127, + -78, + -3, + 16, + -74, + 22, + 87, + 19, + 78, + -61, + -58, + -46, + -102, + -59, + -117, + 87, + -53, + 21, + -119, + 95, + -107, + -22, + -98, + -112, + 57, + -52, + 100, + -88, + -11, + 70, + -94, + 122, + -71, + 93, + -3, + 17, + 21, + 85, + -98, + -34, + -34, + -85, + -27, + -52, + 99, + 81, + 60, + -67, + 61, + -104, + -59, + -14, + -81, + 110, + -123, + -54, + 57, + 22, + 46, + 19, + -82, + 83, + -60, + -89, + 43, + 69, + -87, + 107, + 99, + 0, + 106, + -75, + 93, + 87, + 79, + -32, + -20, + 61, + 85, + 78, + -110, + 75, + 101, + 89, + -68, + -62, + 121, + -127, + -128, + 57, + 17, + 108, + 88, + 10, + 29, + -95, + 30, + 117, + 93, + -48, + 70, + -61, + -95, + 59, + -101, + -38, + -116, + -20, + 17, + 88, + -107, + -56, + -41, + -75, + 21, + 86, + 87, + -3, + 126, + -56, + -117, + -31, + -55, + -18, + -33, + -20, + -12, + 68, + 71, + 35, + 21, + 26, + -44, + 107, + -65, + -94, + -75, + 81, + -51, + 88, + -47, + 125, + 117, + -106, + -60, + -45, + -93, + 36, + 95, + -7, + 125, + -110, + 63, + 10, + -43, + -111, + 92, + -59, + 107, + 83, + -39, + 92, + -44, + 95, + 10, + -1, + 0, + 86, + 53, + -1, + 0, + -43, + 93, + -27, + -2, + -19, + 87, + 120, + 123, + 88, + -123, + 50, + 78, + -81, + -111, + 17, + 19, + -43, + -23, + 2, + -79, + 21, + 36, + -111, + -84, + 86, + -70, + 69, + -107, + -34, + 90, + -42, + -6, + -67, + -2, + -66, + 24, + -85, + 26, + -75, + -52, + 85, + -9, + 123, + 93, + 31, + -78, + -69, + -45, + 102, + 71, + -66, + 37, + 103, + -11, + 119, + -106, + -69, + -62, + 59, + -20, + 116, + 126, + 94, + -113, + -14, + -25, + 120, + 116, + -86, + -116, + -11, + 87, + -71, + 99, + 116, + 114, + 65, + -21, + 28, + -66, + -86, + -9, + 57, + -15, + -39, + 56, + -120, + 126, + -128, + -6, + -3, + 126, + -100, + 24, + -63, + 51, + -90, + 114, + 54, + 68, + 86, + 127, + 49, + 43, + 90, + -98, + 125, + 92, + -81, + -113, + -46, + 8, + -35, + 35, + -111, + -83, + 95, + 85, + -105, + -54, + 53, + 126, + -49, + -31, + 19, + -43, + -81, + -107, + 17, + -20, + -5, + -3, + -65, + -78, + 59, + -47, + -18, + -123, + 81, + -66, + -56, + -25, + -8, + 119, + -108, + 107, + 124, + -73, + -42, + 69, + 127, + -10, + 107, + 83, + -39, + 98, + 79, + 85, + 71, + 63, + -49, + -16, + -23, + 28, + -102, + 109, + -111, + -20, + -6, + -100, + -59, + 87, + 49, + -82, + 115, + -90, + -10, + 98, + -86, + 42, + -5, + 34, + -55, + 35, + -94, + 70, + -75, + 125, + 17, + 22, + 39, + 35, + -107, + 85, + -66, + 63, + -68, + 42, + -33, + 71, + -93, + -10, + 31, + 59, + -106, + 70, + -62, + -88, + -98, + -51, + -11, + 87, + 57, + 25, + -10, + 74, + -33, + 111, + 119, + -56, + -115, + 116, + -98, + -120, + -84, + 86, + 42, + 35, + 28, + -28, + 107, + -91, + 123, + -47, + 91, + -19, + -19, + -10, + -2, + -69, + -124, + -120, + -80, + 71, + -97, + 27, + 47, + 115, + -67, + 24, + -98, + 28, + -42, + -75, + 21, + -66, + -84, + -6, + -111, + 17, + -56, + -25, + -85, + -43, + -78, + 42, + -57, + -18, + -57, + 61, + -50, + 86, + -6, + -71, + -24, + -87, + -31, + 28, + -7, + 30, + -57, + 43, + 71, + -21, + -44, + -109, + 39, + -42, + -117, + 27, + 28, + -17, + 42, + -57, + 39, + -120, + -101, + -27, + -120, + -28, + 122, + -86, + 127, + -22, + 84, + -11, + 119, + -11, + -1, + 0, + -44, + -27, + 103, + -77, + 95, + -17, + -3, + -43, + 21, + 71, + -24, + -91, + -121, + -104, + -7, + -6, + -113, + -21, + 127, + 14, + 19, + -48, + 126, + -113, + -88, + -12, + -9, + -97, + -17, + -79, + -3, + 46, + -58, + -36, + -88, + 90, + -70, + -79, + -5, + 17, + 18, + -53, + 94, + -81, + -27, + 50, + 44, + -68, + 53, + -90, + 50, + -116, + -85, + 2, + -53, + 44, + -51, + -91, + 102, + 109, + 21, + -101, + -113, + 111, + -4, + -98, + 89, + 82, + -113, + -39, + 43, + 21, + -22, + -40, + -106, + 73, + 21, + -83, + 56, + -71, + 28, + -13, + -62, + -83, + -83, + 82, + -23, + 89, + -37, + 75, + -2, + 7, + 29, + -66, + -125, + 70, + -110, + -85, + 117, + -53, + 28, + -16, + -112, + 19, + 66, + 23, + -58, + -5, + 76, + -119, + -66, + -54, + -37, + -7, + -106, + 36, + 105, + 34, + 54, + 59, + 49, + -51, + -19, + 19, + 119, + 104, + 48, + -13, + -86, + 73, + 28, + -45, + 9, + -87, + 50, + -55, + 26, + 71, + 36, + 75, + 112, + -60, + 111, + -115, + -115, + 123, + 108, + -75, + -15, + -84, + 89, + -9, + 69, + -4, + 35, + 22, + 41, + 18, + 121, + -111, + -50, + 87, + -85, + -93, + 68, + 108, + 104, + -4, + 118, + -98, + 29, + -106, + -36, + 60, + -74, + -83, + 82, + -60, + -45, + 44, + -11, + -88, + -40, + 63, + 76, + 28, + -15, + 35, + -33, + 35, + 35, + 99, + 34, + 17, + -5, + 77, + -39, + -31, + 95, + -71, + -79, + 66, + -37, + -82, + -68, + -41, + -57, + 28, + 50, + -94, + 75, + 58, + 125, + -119, + -25, + -126, + -28, + 53, + 117, + -81, + -61, + -16, + -37, + 97, + 94, + 94, + 59, + 87, + -98, + -36, + 107, + 65, + 69, + 15, + 61, + -73, + -33, + -49, + -3, + 95, + -45, + 127, + -113, + 13, + 67, + 67, + -53, + 94, + -46, + 58, + 48, + 15, + -93, + 37, + 117, + -107, + -11, + -87, + -27, + -83, + -41, + -114, + 42, + 95, + 111, + -108, + 91, + 75, + 1, + 70, + -127, + 23, + 101, + -18, + 89, + 60, + -86, + 89, + -93, + 103, + -47, + -2, + -85, + -3, + -107, + 35, + 114, + -85, + -50, + 20, + 72, + -60, + 5, + -122, + -64, + -85, + -27, + 108, + -95, + 10, + 76, + -73, + 76, + -84, + -94, + 100, + 42, + -75, + -35, + 101, + 71, + -59, + 37, + 90, + -44, + 28, + -48, + 78, + -74, + -82, + -66, + -56, + -107, + -19, + -73, + 69, + -51, + -92, + -110, + -55, + 52, + -50, + 68, + -15, + 34, + 64, + -15, + 48, + -105, + -81, + 90, + -87, + 76, + -109, + 62, + -6, + 113, + -6, + 122, + -122, + 41, + 36, + 119, + 91, + 28, + -51, + 119, + -92, + -73, + 127, + 6, + -52, + 54, + -91, + -106, + 69, + -14, + -58, + -53, + 101, + -1, + 0, + 108, + -81, + 115, + -36, + -55, + 21, + -49, + 115, + -45, + -42, + 127, + 32, + 126, + -29, + -24, + 17, + -83, + -85, + 127, + -46, + -91, + 41, + -41, + 74, + 102, + -58, + 87, + 40, + -85, + 93, + -61, + 52, + -74, + 34, + 124, + 86, + 43, + -37, + 22, + 82, + 73, + -47, + -47, + 84, + 100, + -82, + -78, + 74, + 101, + -107, + -116, + 89, + -92, + -2, + -18, + 107, + -38, + 98, + -44, + 44, + -102, + -86, + 59, + -22, + -70, + 53, + 95, + -79, + -16, + -81, + 14, + 59, + 77, + 120, + 93, + -11, + -36, + 109, + -45, + -64, + -128, + 60, + -2, + 31, + 1, + -60, + 80, + -7, + -1, + 0, + -15, + -83, + 122, + -122, + 47, + -98, + 106, + -122, + 1, + -53, + 5, + -71, + -52, + -9, + 116, + 37, + -78, + -51, + -52, + -9, + 44, + -113, + 120, + 13, + 80, + 50, + -7, + 24, + 26, + 31, + 60, + 24, + -59, + -52, + 89, + 3, + 2, + 119, + -90, + -7, + -2, + -58, + 56, + 53, + -43, + 36, + -96, + 82, + -90, + 58, + -58, + 98, + 73, + -85, + -117, + -47, + 20, + -118, + -35, + 57, + 124, + -115, + -49, + -11, + 94, + 89, + -35, + 56, + -49, + 122, + -85, + -52, + 39, + -52, + -14, + -2, + 49, + 29, + -78, + 79, + -89, + 92, + -73, + 54, + 59, + 79, + 81, + 25, + 58, + -72, + -85, + -92, + 50, + -10, + -35, + 91, + 66, + -52, + -100, + -82, + 24, + 73, + -64, + 9, + -117, + -63, + -72, + -113, + 46, + 57, + -43, + -14, + 86, + 107, + 65, + -111, + -81, + 84, + -106, + 112, + -71, + -95, + -67, + 81, + -104, + -54, + 17, + 60, + 20, + -48, + 2, + -26, + -96, + 101, + 114, + -76, + 36, + -89, + 5, + -112, + 97, + -30, + -86, + 70, + -94, + -52, + -40, + -47, + -109, + 87, + -104, + -51, + -51, + 32, + -25, + 72, + -120, + -23, + 17, + 22, + 81, + 40, + -83, + -103, + 98, + -103, + -81, + 98, + -62, + -87, + 45, + 105, + -19, + 126, + 41, + -18, + -77, + -38, + 123, + -60, + -23, + 23, + -28, + 114, + -120, + -95, + 27, + -103, + -102, + -87, + -48, + -70, + -121, + 71, + -54, + 65, + -95, + -65, + 38, + -52, + 6, + -48, + 9, + -5, + -72, + -118, + -103, + 125, + 94, + 56, + 86, + -61, + 36, + 84, + 76, + 80, + 87, + -40, + 71, + 41, + -109, + -27, + 47, + 10, + -82, + 116, + 45, + -52, + 27, + 116, + 5, + 115, + -15, + 102, + -2, + -43, + 114, + 12, + -84, + -52, + -1, + 0, + -13, + 12, + 56, + 59, + 99, + 60, + 17, + -61, + 58, + -57, + -89, + 87, + 107, + 17, + 96, + -78, + -70, + 48, + -73, + 13, + 9, + 84, + 4, + 16, + 84, + -60, + -96, + -40, + -82, + 47, + -98, + -54, + 115, + 124, + 44, + 60, + 103, + -59, + -52, + -108, + 68, + 82, + 103, + -107, + 29, + -44, + -128, + -15, + -55, + 26, + 41, + -119, + 93, + 8, + 8, + -62, + 69, + 102, + -17, + 41, + 4, + 72, + 74, + -47, + 4, + -16, + 35, + -22, + -47, + -20, + 97, + -94, + -51, + 5, + 100, + -92, + 50, + -51, + -70, + -11, + -24, + -26, + 102, + -55, + -66, + -98, + 86, + -111, + 12, + -50, + -105, + 56, + 93, + 9, + -109, + -110, + -75, + 107, + 18, + -112, + 59, + 24, + -107, + -84, + 110, + 22, + -47, + 29, + -119, + 47, + 78, + 36, + 91, + 25, + -22, + 58, + 31, + -36, + 127, + 108, + 46, + -40, + 110, + 23, + 65, + -67, + -25, + 31, + 33, + -18, + 115, + 49, + 24, + -67, + 4, + -103, + -64, + -112, + -13, + -84, + 38, + 83, + 95, + -114, + 1, + 32, + -29, + 91, + 110, + 113, + 73, + -18, + 26, + 56, + -109, + 110, + 79, + -7, + -30, + -14, + 102, + 55, + -77, + 80, + -49, + 11, + -68, + 96, + -56, + -8, + 48, + -96, + 29, + 127, + 76, + 52, + -109, + -83, + -113, + 42, + 92, + -61, + -117, + -56, + -2, + 34, + -17, + 11, + -28, + 55, + -76, + -10, + -37, + 60, + 24, + 13, + 6, + -114, + -35, + 8, + 71, + -49, + -122, + 60, + 67, + -76, + 3, + -116, + 61, + 29, + 55, + -5, + 19, + 6, + -39, + -72, + 91, + 47, + -56, + 110, + 15, + -91, + 70, + 41, + -81, + -114, + -91, + 86, + 74, + -57, + -116, + -54, + -77, + -48, + -67, + 123, + 81, + 114, + -64, + 102, + 71, + 125, + 111, + -100, + -8, + 21, + -97, + 10, + 42, + -107, + -21, + -67, + -117, + -92, + 13, + -42, + -92, + -81, + -113, + 72, + 67, + 11, + 95, + 30, + 31, + 48, + 88, + 84, + -106, + -115, + 54, + -26, + 114, + -106, + 67, + 123, + -101, + -22, + 83, + -121, + -51, + -34, + 0, + 74, + -90, + 112, + -124, + 110, + 58, + 79, + 76, + -16, + -62, + 0, + -64, + -102, + -90, + 52, + 24, + -65, + -37, + -31, + -80, + -7, + 39, + -76, + -14, + -74, + 50, + -49, + -125, + 2, + -59, + -92, + -103, + 27, + 35, + 37, + 16, + -58, + 109, + -107, + 80, + 36, + 93, + -93, + -23, + 11, + 76, + 87, + 70, + -9, + -92, + 21, + 42, + 79, + 19, + -103, + 124, + -29, + -39, + -104, + -105, + 35, + -80, + -51, + -104, + -55, + -80, + -116, + 65, + -115, + 36, + -127, + -17, + 67, + 51, + 106, + -105, + -77, + 93, + 68, + -126, + -95, + -117, + -40, + 61, + -22, + 55, + -73, + 30, + 26, + -113, + -14, + 113, + -14, + -64, + -17, + 74, + -37, + 3, + -109, + 31, + 113, + -35, + 7, + 81, + 102, + 30, + 101, + 103, + 2, + 63, + 65, + -40, + -37, + 70, + 45, + 36, + 3, + 9, + 96, + 7, + -43, + 94, + 118, + 79, + 71, + -84, + -95, + 38, + -22, + -111, + 10, + 25, + -40, + 51, + 116, + -127, + -128, + 22, + 38, + -85, + -29, + -46, + 103, + -86, + 101, + 108, + -40, + -42, + 65, + 104, + 103, + 84, + 63, + 6, + 56, + 70, + 79, + 35, + -110, + -65, + -43, + 122, + 20, + 56, + -80, + -37, + -18, + -55, + 110, + -42, + -88, + -34, + 51, + 110, + 27, + 59, + 38, + -89, + 14, + 10, + -3, + -5, + -28, + -125, + 0, + -73, + 121, + 9, + 86, + -108, + 30, + -112, + -60, + 54, + -86, + 104, + 55, + -62, + 34, + -93, + 21, + 65, + -122, + -97, + 79, + 48, + -31, + 15, + -79, + -111, + 105, + -94, + -81, + -17, + 3, + -1, + 0, + 31, + 63, + 25, + -2, + 51, + 26, + -109, + 83, + -58, + -7, + 23, + 49, + 0, + 125, + -9, + -17, + -34, + -83, + -85, + -72, + 39, + 79, + -78, + -23, + 35, + -17, + -102, + 27, + 24, + 98, + -88, + 59, + -90, + 116, + 125, + -114, + -45, + 92, + 54, + -127, + 42, + 47, + -75, + 9, + 48, + 65, + -56, + -117, + 5, + 101, + 110, + 20, + -6, + 106, + 68, + -73, + -18, + -74, + -53, + -3, + -42, + -70, + 72, + 94, + 31, + -104, + -67, + -72, + -33, + 109, + -15, + -71, + -52, + -64, + -118, + -81, + 117, + -97, + -34, + -104, + -76, + -97, + -21, + 4, + 47, + 89, + 95, + 96, + -75, + -61, + -29, + -22, + -44, + -83, + -24, + -57, + 58, + 91, + 22, + 106, + 51, + -47, + 24, + -27, + 115, + -43, + 92, + -33, + 93, + 51, + -105, + 114, + -68, + 92, + 57, + 22, + 76, + 120, + 66, + 78, + -54, + 19, + 76, + 69, + -54, + -77, + 29, + 54, + 85, + 91, + 81, + -43, + 96, + -123, + -96, + 58, + -110, + 65, + 59, + -15, + -101, + -27, + -13, + 28, + -84, + -88, + -52, + 83, + 77, + -82, + 32, + -63, + -127, + 101, + 80, + -6, + 84, + -110, + 3, + 50, + -23, + -79, + 85, + -86, + -1, + 0, + 8, + 0, + -123, + -37, + -116, + 29, + 71, + -87, + -32, + 56, + 102, + 58, + -18, + -65, + 102, + 86, + 96, + -39, + 16, + -63, + 30, + 89, + -10, + 27, + 72, + -84, + -30, + 32, + 27, + 90, + 54, + -67, + -10, + -112, + -120, + -63, + 118, + -32, + -122, + 8, + -93, + -111, + -118, + -82, + 91, + 77, + -119, + 26, + -8, + -107, + 98, + 70, + -94, + -67, + -36, + 70, + -1, + 0, + -110, + 127, + -14, + 33, + -93, + -7, + -111, + -47, + 108, + 103, + -13, + 22, + 72, + -120, + -30, + 121, + -78, + 9, + 0, + 97, + 118, + 81, + 97, + 93, + 17, + 65, + -10, + 8, + 70, + -19, + 69, + -86, + -17, + -122, + 59, + 98, + 7, + -52, + -74, + -103, + -5, + 40, + 91, + -109, + -51, + 106, + -75, + 127, + -94, + -39, + 23, + 68, + 70, + -46, + 14, + 21, + -65, + -2, + 74, + -1, + 0, + -54, + 14, + -45, + -26, + 78, + -68, + -122, + 47, + 17, + 104, + -90, + 123, + -29, + -48, + -85, + -115, + -128, + 104, + -23, + -37, + -8, + -109, + -17, + 103, + 27, + 42, + 75, + 6, + -128, + -59, + 91, + 16, + 71, + 124, + 112, + 111, + -55, + -11, + -78, + 15, + 63, + 119, + -60, + -88, + -10, + -43, + 62, + 114, + -69, + 11, + 58, + -128, + -84, + -3, + 80, + 49, + 88, + -25, + -5, + 57, + -56, + -28, + -11, + 70, + -5, + -79, + 90, + -113, + 107, + -46, + 79, + 11, + 39, + -10, + 122, + 43, + 61, + -107, + -51, + 115, + -65, + -108, + 84, + -11, + 86, + -85, + -110, + 69, + 111, + -82, + -61, + -20, + -41, + 34, + 56, + -70, + 115, + 115, + 22, + -14, + -104, + 19, + 28, + 70, + -120, + -127, + 72, + -5, + -52, + 52, + -125, + -37, + 27, + -94, + 44, + -124, + 31, + -21, + -67, + 52, + 126, + 103, + -97, + -38, + 92, + 16, + 55, + -16, + -10, + 12, + -21, + 96, + -71, + 29, + 84, + 111, + -9, + 5, + 110, + 127, + -104, + -19, + -9, + 122, + -88, + -65, + 61, + -115, + -5, + 28, + -55, + 27, + -24, + -49, + 14, + 79, + 31, + -14, + -77, + -43, + -84, + -10, + 69, + 69, + 106, + 54, + 84, + 122, + 57, + 85, + 82, + 57, + 61, + 28, + -82, + 108, + -84, + -113, + -61, + 93, + -4, + -4, + 100, + -19, + -11, + 86, + 50, + 69, + -9, + -10, + 68, + 79, + 68, + 115, + 23, + -8, + 103, + -44, + -82, + 107, + 81, + -120, + -66, + -66, + 21, + -82, + -2, + -97, + 66, + 49, + 95, + 31, + -70, + 36, + 40, + -17, + 114, + -92, + 106, + -71, + -83, + 79, + 79, + 119, + 57, + -2, + 81, + 28, + -81, + 111, + -86, + -75, + 81, + -47, + -58, + -60, + -2, + 85, + -47, + -67, + 60, + 34, + 58, + 36, + -115, + -52, + 84, + -5, + 30, + -87, + -24, + -114, + 118, + 100, + -16, + -7, + 81, + -17, + 68, + 122, + 68, + -40, + -105, + -47, + -22, + -86, + -44, + -1, + 0, + -125, + -52, + -110, + 58, + 89, + 61, + 35, + 124, + 74, + -24, + -92, + 87, + -73, + -8, + 68, + 72, + -1, + 0, + -81, + -107, + 87, + 49, + 110, + -128, + -111, + -45, + -118, + -39, + 54, + 73, + -7, + 123, + -72, + 53, + -10, + -99, + 85, + -17, + 107, + -67, + 98, + 71, + 57, + 101, + 123, + 30, + -83, + 111, + -93, + -107, + 29, + -1, + 0, + 34, + 42, + 42, + -75, + 61, + 21, + 62, + -87, + 24, + -49, + 45, + -11, + -11, + 73, + 28, + -65, + 90, + 63, + 58, + 39, + -41, + 51, + -67, + -45, + -47, + -113, + 79, + -27, + -81, + 114, + -93, + -107, + -55, + -31, + 18, + 37, + 70, + -6, + 59, + -41, + -39, + -98, + -118, + -23, + -99, + -23, + 31, + -92, + -119, + 34, + -5, + -71, + 95, + 38, + -124, + 108, + 89, + 17, + 63, + -18, + -83, + 119, + -105, + 43, + 93, + -4, + -84, + -66, + -56, + -49, + 47, + 116, + -120, + -33, + 68, + 87, + -69, + -43, + -46, + 57, + -98, + 94, + -28, + 68, + -2, + -34, + -20, + 103, + -37, + -68, + -58, + -86, + -3, + 127, + -35, + 22, + 41, + -38, + -10, + -60, + -80, + -3, + 110, + -115, + -19, + 111, + -106, + -57, + 34, + -67, + -66, + -15, + -7, + 70, + 63, + -61, + 37, + -13, + -24, + -85, + 10, + -94, + 122, + -89, + -81, + -21, + -75, + 55, + -103, + -3, + 63, + 78, + 3, + -81, + 27, + 72, + -97, + 106, + -94, + 120, + 107, + 17, + -114, + -16, + -42, + -86, + -94, + -71, + -34, + -66, + -88, + -81, + -5, + 26, + -118, + -57, + 49, + 63, + -69, + 92, + -12, + -1, + 0, + -117, + -20, + 86, + 53, + -82, + 107, + 94, + -83, + -3, + 109, + -44, + 70, + -86, + 120, + 87, + 127, + -54, + -8, + -47, + 125, + -47, + 21, + 62, + -91, + 79, + 70, + -6, + -75, + -24, + -33, + -7, + 124, + 72, + -118, + -27, + 108, + 126, + 30, + -115, + 99, + -101, + -4, + 57, + -83, + 87, + 105, + -93, + -68, + -66, + 31, + 95, + 103, + 121, + 71, + 39, + -44, + -115, + -110, + 63, + 103, + 44, + 126, + 99, + 114, + -56, + -42, + 49, + 28, + -83, + 115, + 92, + -114, + -115, + 81, + 35, + 103, + -122, + -7, + 79, + 8, + -33, + -84, + -27, + -19, + 122, + 54, + 31, + 116, + -12, + 116, + 76, + 107, + 125, + 94, + -28, + 79, + 12, + -5, + 61, + 81, + 17, + -49, + -119, + -116, + 115, + -107, + 22, + 111, + 46, + -119, + 21, + -120, + -78, + -79, + 61, + -36, + -116, + 123, + -35, + -60, + -109, + -44, + -109, + -17, + -31, + 6, + 20, + 72, + -6, + -3, + -8, + 15, + 115, + 82, + 87, + -67, + 24, + -110, + -5, + -6, + 47, + -39, + -31, + -51, + -2, + 21, + -120, + -88, + -44, + -12, + 123, + 60, + 51, + -62, + -94, + -79, + -113, + -16, + -10, + -86, + 73, + -3, + 27, + -4, + -2, + -121, + -21, + 73, + -51, + -122, + 118, + -60, + -82, + 72, + -106, + 38, + -58, + -66, + -88, + -66, + -120, + -98, + -54, + -11, + 68, + 86, + -89, + -46, + -66, + -66, + 90, + -33, + 46, + 70, + -65, + -43, + -53, + -31, + -34, + 29, + -31, + -86, + -47, + -6, + -21, + -12, + 7, + -33, + -17, + 7, + -10, + -4, + -49, + -97, + 1, + -57, + -23, + -30, + -36, + -56, + 68, + 116, + -65, + -109, + 4, + -41, + -2, + -41, + -74, + 118, + -58, + 102, + -51, + -62, + -16, + 53, + -20, + -113, + -61, + 126, + -88, + 75, + 77, + 114, + 24, + -90, + 115, + 88, + -84, + 124, + -79, + -60, + -55, + -66, + -105, + -56, + -97, + 111, + -94, + -86, + 63, + -51, + -46, + 80, + -116, + -92, + -38, + -47, + 69, + 28, + 76, + -122, + 6, + -57, + 82, + 24, + 81, + 35, + -126, + 24, + 88, + -114, + -118, + 40, + -95, + 106, + 53, + 89, + 12, + 12, + 106, + 122, + 69, + 26, + -75, + 24, + -56, + -40, + -82, + -113, + -62, + 39, + -10, + 60, + -77, + 36, + 112, + -79, + 22, + 38, + -75, + 29, + 26, + 35, + 28, + -82, + 111, + -108, + 107, + 60, + 123, + 42, + 53, + 63, + -14, + 106, + -75, + 17, + 92, + -85, + -31, + -88, + -119, + -19, + -25, + -43, + 17, + -52, + 106, + 16, + -113, + -117, + 110, + -89, + -31, + 24, + -24, + -46, + 71, + 53, + -50, + 122, + 127, + 79, + 127, + -95, + -18, + -10, + 119, + -97, + -83, + -50, + 103, + -94, + -75, + 62, + -33, + -1, + 0, + -84, + 115, + -107, + 127, + -78, + 122, + 121, + -44, + 49, + 109, + -51, + -4, + 79, + 93, + -67, + 125, + 43, + -24, + 113, + -84, + 80, + 29, + 5, + 112, + -114, + 29, + -103, + -93, + -95, + 97, + 2, + 37, + 71, + 86, + -78, + -93, + -31, + -98, + 90, + -77, + -40, + -87, + 20, + -33, + -113, + 60, + -112, + 55, + -21, + -106, + -85, + -27, + -119, + -50, + -82, + -12, + 86, + -94, + -3, + -107, + -27, + -114, + 88, + -33, + 28, + 46, + 106, + 36, + -54, + -49, + -87, + 119, + -102, + 18, + 46, + -91, + 92, + -76, + -23, + 33, + 71, + 50, + 97, + 102, + 103, + 86, + -52, + 116, + -4, + -15, + 73, + 122, + 24, + -88, + 86, + -114, + 87, + -41, + -69, + 118, + -52, + 81, + 73, + 12, + 119, + 9, + 69, + 5, + -104, + 89, + 29, + -90, + 54, + 111, + -91, + -81, + -115, + -88, + -24, + -34, + 119, + 74, + -67, + 122, + 57, + -13, + 81, + 122, + 53, + -79, + 36, + 78, + 85, + 114, + 63, + -33, + -6, + -93, + 23, + -35, + -51, + 86, + -75, + -66, + 81, + 81, + 63, + -69, + 81, + 87, + -49, + -10, + -15, + -27, + -2, + 124, + -3, + 95, + 72, + 106, + 103, + 91, + 11, + 25, + 29, + -118, + -62, + -86, + -71, + 97, + -106, + 103, + 87, + -6, + -37, + 44, + -15, + -49, + 110, + 53, + -110, + 54, + -52, + -114, + -102, + 38, + 77, + 52, + -116, + -82, + -114, + -115, + -106, + 100, + -114, + 56, + -2, + -54, + -16, + -93, + -89, + -120, + -59, + -119, + 20, + 73, + -81, + 47, + -105, + -12, + 28, + 117, + 15, + 47, + -81, + -96, + 62, + 92, + 123, + -100, + 88, + 127, + -90, + 122, + -9, + 42, + -72, + -76, + 50, + -53, + 28, + -113, + -124, + -35, + -53, + -25, + -96, + -114, + 72, + -66, + -58, + 71, + 98, + 10, + -58, + 44, + -33, + -114, + -110, + 53, + -50, + 127, + -15, + 85, + -79, + -7, + 68, + 68, + -111, + -21, + -24, + -115, + -113, + 122, + 39, + -59, + 4, + 13, + -85, + 85, + -119, + 90, + 8, + 99, + 98, + -61, + 90, + 38, + -57, + 20, + 80, + 127, + 85, + 111, + -83, + 102, + 53, + -83, + -118, + 38, + 58, + 52, + -1, + 0, + -59, + 87, + -2, + -24, + -110, + 53, + 90, + -66, + -50, + 95, + 109, + -74, + -44, + 111, + -4, + -17, + -115, + -18, + 122, + -77, + -61, + -111, + -47, + -75, + 28, + -9, + 49, + -114, + -107, + 35, + 98, + 74, + -12, + 79, + -27, + -23, + -27, + -98, + -46, + -85, + 124, + -75, + -85, + -27, + -34, + 21, + -38, + 72, + -40, + -38, + -12, + -12, + -2, + 24, + -86, + -115, + 70, + -71, + 94, + -82, + 119, + -10, + 79, + -24, + -25, + 43, + 36, + -14, + -98, + -34, + 124, + -69, + -53, + 125, + 17, + -34, + -114, + 95, + 14, + 79, + 8, + -112, + -28, + -17, + -6, + -115, + -65, + 63, + 13, + -66, + 67, + -125, + 41, + 11, + 118, + 54, + -37, + -14, + -32, + -74, + -11, + 40, + 46, + -60, + -8, + 108, + 87, + -122, + 120, + 60, + 57, + 103, + -126, + 88, + -46, + 72, + -91, + 79, + 10, + -25, + 50, + 70, + -3, + 104, + -82, + 107, + -68, + -81, + -76, + 111, + 103, + -10, + 87, + 53, + -50, + 69, + 70, + -79, + -82, + 74, + -45, + -53, + 101, + -100, + -39, + -96, + -71, + -108, + -49, + 57, + -78, + -54, + -28, + 98, + -72, + 61, + 5, + -16, + -26, + 54, + 38, + -71, + 28, + -81, + -81, + 59, + 92, + -43, + 106, + 120, + 70, + 53, + 125, + 35, + 85, + 107, + 124, + 43, + 92, + -65, + -91, + -37, + 108, + 87, + -127, + 38, + -107, + -54, + -28, + -11, + 107, + -100, + -26, + -86, + -86, + 35, + 81, + 21, + 25, + -4, + 42, + -86, + -77, + -38, + 69, + 68, + 68, + 122, + -1, + 0, + 10, + -43, + 86, + -85, + -107, + 21, + -120, + -24, + -3, + -14, + 27, + -71, + -13, + 79, + -114, + 28, + -69, + 89, + -42, + -6, + 113, + -88, + -77, + -7, + -84, + -51, + 27, + 68, + 95, + 61, + -108, + 123, + -27, + 123, + -37, + 19, + -105, + -15, + -22, + 81, + -92, + -39, + 73, + 18, + -67, + 98, + 68, + -122, + 10, + -62, + -121, + 87, + -75, + 122, + -4, + -17, + -85, + 82, + -124, + 19, + -51, + 35, + 90, + -85, + 32, + 118, + 42, + -118, + 11, + 51, + 21, + 85, + 85, + -78, + -52, + -58, + -128, + 0, + 13, + -55, + 38, + -128, + 2, + -20, + -41, + 0, + -52, + 55, + 59, + 0, + 7, + 83, + -75, + 87, + -97, + -128, + -32, + -113, + -28, + -65, + 122, + -27, + 63, + 24, + -7, + -71, + 46, + -125, + -45, + -10, + 11, + -105, + -50, + -123, + -89, + 36, + -11, + -32, + -88, + 112, + -56, + 69, + 115, + -36, + -66, + -107, + 106, + 83, + -95, + -101, + -73, + 90, + -19, + -69, + 82, + -51, + 44, + 21, + -24, + -46, + -89, + 90, + -51, + -23, + -20, + 77, + 12, + 20, + -21, + 77, + 114, + 88, + 34, + -109, + -123, + 15, + -98, + -65, + -28, + 67, + -88, + -4, + -44, + -37, + 88, + -5, + -119, + 25, + -49, + -14, + 1, + 36, + 86, + 76, + -74, + 30, + -39, + -14, + 55, + -28, + -110, + -75, + 104, + 82, + 10, + -90, + 116, + 78, + -73, + 106, + 88, + -27, + 53, + 106, + 22, + -2, + 82, + 87, + -119, + -83, + -88, + 39, + -19, + 125, + 86, + -68, + -124, + -87, + 124, + -47, + 4, + 55, + -50, + 111, + -97, + 61, + 87, + -26, + -25, + 69, + -75, + -96, + -46, + 95, + 32, + 43, + -102, + -123, + 39, + 114, + 92, + 6, + 25, + -33, + -115, + 4, + 35, + 43, + -52, + -85, + 94, + 18, + 102, + 25, + 74, + 75, + 48, + 91, + 61, + 56, + -43, + -6, + 28, + -41, + -36, + 35, + 0, + 106, + 118, + -25, + 30, + 50, + -44, + -87, + 100, + -103, + 34, + -16, + 98, + -92, + -87, + -10, + 123, + 61, + 126, + -58, + -67, + -78, + -71, + 61, + -43, + -82, + -2, + 61, + -47, + -1, + 0, + 95, + -121, + -54, + -27, + -115, + -78, + 57, + -19, + -109, + -61, + 60, + 53, + -116, + 115, + -47, + -56, + -17, + 63, + 100, + 122, + 87, + -77, + -36, + -119, + 112, + -126, + -28, + 100, + 0, + -7, + 108, + 20, + -123, + -80, + 82, + 5, + 59, + -46, + -19, + -68, + -89, + 96, + -17, + -48, + 30, + -22, + 108, + 11, + 53, + 111, + -104, + -26, + -10, + -97, + -61, + -116, + -111, + 16, + -22, + 70, + -58, + 75, + 3, + -88, + -4, + 62, + 3, + 125, + -58, + -25, + -83, + 3, + -40, + 92, + -25, + -5, + -85, + 124, + 49, + -51, + -9, + -10, + -119, + 19, + -47, + -47, + -85, + 28, + -120, + -11, + -114, + 79, + -83, + 18, + 73, + 17, + 60, + -71, + -87, + -3, + 124, + 70, + -57, + 61, + 61, + 126, + -73, + 70, + -35, + -58, + 42, + -92, + -114, + 87, + -73, + -52, + -120, + -49, + 69, + -111, + -16, + -84, + 104, + -86, + -114, + 106, + -79, + -66, + 92, + -33, + 86, + -75, + -114, + 114, + 70, + -81, + 123, + 63, + -86, + -67, + -87, + -20, + -9, + 53, + -84, + 119, + -102, + -66, + -15, + 54, + 54, + -1, + 0, + 40, + -10, + 42, + -71, + 21, + 31, + 43, + -92, + 85, + -16, + -10, + -65, + -54, + -94, + -86, + -75, + -49, + -5, + 85, + 31, + 36, + 113, + -85, + 88, + -25, + 53, + -2, + -115, + 72, + -105, + -19, + -34, + -119, + -98, + -17, + 108, + -111, + -75, + -18, + 71, + -67, + 125, + -111, + -79, + -71, + 94, + -83, + 107, + 25, + -18, + -98, + -24, + -118, + -114, + -5, + 30, + -58, + -77, + -38, + 70, + -94, + 74, + -98, + 126, + -42, + 125, + -98, + 99, + 125, + -26, + 53, + -46, + -66, + -89, + -24, + -4, + -49, + -19, + -59, + 109, + -36, + 94, + -25, + 111, + 13, + -67, + -41, + -12, + 120, + 8, + -33, + 102, + 63, + -62, + -81, + -40, + -28, + 99, + 101, + 98, + 35, + -30, + 106, + -94, + 50, + 38, + -86, + -8, + -10, + 85, + 87, + 54, + 73, + 24, + -83, + -106, + 79, + 30, + 27, + 35, + -111, + -34, + 27, + -20, + -111, + -104, + -79, + 24, + -111, + -89, + -93, + -1, + 0, + -69, + -102, + -120, + -11, + 115, + 124, + -69, + -43, + 34, + -115, + -52, + -113, + -43, + 21, + -110, + 121, + 71, + -71, + 85, + -56, + -26, + -71, + -50, + 68, + 122, + 34, + -71, + -82, + 85, + 113, + 84, + 126, + -115, + 107, + -98, + -66, + -97, + 99, + -3, + -111, + -56, + -79, + -75, + 81, + -98, + 26, + -114, + -102, + 25, + -36, + -119, + 35, + 17, + -33, + -39, + 93, + 27, + 28, + -66, + 27, + 27, + 90, + -41, + -8, + 70, + -5, + 41, + -92, + 109, + 95, + 8, + -49, + 120, + -2, + -58, + 73, + 23, + -11, + 79, + 101, + 86, + -85, + 81, + -50, + 89, + 90, + -57, + 57, + -2, + -22, + -88, + -86, + -118, + -113, + 108, + 78, + 68, + 86, + -81, + -94, + -71, + -53, + -11, + -87, + -61, + 115, + 87, + -73, + 79, + -105, + -23, + -73, + 6, + 12, + 68, + -4, + 120, + 37, + 70, + -56, + -83, + -10, + 124, + 75, + 35, + -35, + 55, + -76, + -56, + -33, + 103, + 36, + 113, + 35, + 85, + -86, + -25, + 43, + 100, + -115, + -65, + -15, + -1, + 0, + 118, + 123, + 57, + -81, + 122, + 70, + -23, + 26, + -66, + -29, + 75, + 19, + 70, + -26, + 44, + 82, + 120, + 106, + -93, + -91, + -2, + -81, + 114, + 53, + -66, + 28, + -26, + -75, + -2, + 95, + -31, + 17, + -54, + -66, + -51, + -11, + 107, + -111, + -77, + 61, + 26, + -10, + -75, + -54, + -111, + 32, + -115, + -22, + -12, + -117, + -20, + -115, + -88, + -27, + 116, + -33, + -35, + -49, + -11, + 99, + -93, + 107, + 26, + -120, + -79, + 72, + -86, + -59, + 69, + 106, + 43, + 29, + 35, + 100, + 71, + 53, + 82, + 70, + -71, + 24, + -83, + 115, + 30, + -51, + -42, + -67, + 61, + -42, + 55, + 53, + -81, + 116, + 111, + -10, + 111, + -14, + -66, + -14, + -67, + -85, + -10, + 49, + -117, + -24, + -1, + 0, + 45, + -11, + 69, + 70, + -52, + -43, + 114, + 73, + -4, + 47, + -14, + -79, + -66, + 37, + 119, + 112, + 28, + 123, + -115, + 29, + 26, + 53, + -50, + 69, + 127, + -122, + -8, + -115, + -118, + -84, + 73, + 99, + 88, + -109, + -47, + 85, + -86, + -28, + 86, + -58, + -17, + 11, + 27, + 81, + 90, + -12, + -6, + -40, + -66, + 60, + 34, + -93, + -40, + -19, + -87, + 28, + -59, + -126, + 70, + -71, + 90, + -27, + 122, + 55, + -7, + 107, + 21, + -54, + -116, + 107, + 83, + -39, + -56, + -44, + 115, + -101, + 26, + -78, + -65, + -78, + -79, + -56, + -27, + 85, + 71, + 51, + -21, + 106, + -54, + -79, + -71, + 116, + 101, + 116, + -98, + -18, + -109, + -49, + -78, + -62, + -55, + -105, + -38, + 63, + 49, + -71, + 34, + 119, + -70, + 123, + 57, + 28, + -9, + -62, + -118, + -17, + 17, + -71, + 17, + -18, + 88, + 39, + -111, + -49, + 70, + 127, + -5, + -7, + -48, + -106, + 104, + -39, + 35, + 90, + -26, + 34, + -73, + -38, + 100, + 107, + 92, + -56, + -98, + -8, + -104, + -116, + 119, + -78, + 70, + -113, + 95, + 111, + -81, + -1, + 0, + -112, + -66, + -34, + -79, + -93, + 88, + -41, + -71, + -66, + 60, + -93, + -3, + 10, + 92, + 14, + -101, + -3, + 125, + 125, + 95, + 9, + 21, + 98, + 77, + -41, + -65, + -5, + 125, + 123, + -8, + -15, + 101, + -46, + -55, + 27, + 24, + -65, + 83, + -101, + 28, + -113, + -12, + 89, + -101, + 26, + -67, + 83, + -43, + -116, + 123, + -102, + -82, + 71, + 49, + 88, + -25, + 71, + -25, + -5, + 53, + -49, + 79, + -31, + 91, + 52, + -116, + 114, + -8, + 31, + -83, + 91, + 10, + -87, + -31, + -75, + -35, + -1, + 0, + -110, + -85, + -43, + 98, + -110, + -78, + -85, + -111, + 85, + -50, + 98, + -6, + 59, + -8, + 103, + -85, + 30, + -42, + -56, + -83, + 115, + -46, + 71, + 35, + 37, + -14, + -49, + -77, + -43, + 71, + -23, + 43, + 39, + 123, + -4, + -21, + -53, + -5, + 126, + -66, + 28, + 31, + 74, + -113, + 15, + -97, + -41, + -41, + -57, + -113, + -45, + 88, + -99, + 115, + 49, + -46, + 124, + -73, + -12, + 118, + -39, + 36, + -88, + -1, + 0, + -8, + -121, + 15, + 29, + 20, + 10, + -39, + 22, + 69, + -103, + -120, + -73, + 34, + 37, + 105, + 125, + -111, + 61, + 126, + -26, + -54, + -118, + -43, + 123, + 93, + 19, + 124, + 53, + 63, + 68, + 21, + 4, + -100, + 32, + -54, + -83, + 25, + -95, + -68, + -55, + -94, + 98, + -56, + -81, + -102, + -112, + -89, + 67, + 51, + 29, + 59, + 30, + -56, + -27, + -114, + -72, + -72, + 102, + -111, + -117, + 3, + -83, + 49, + -78, + 37, + -88, + 36, + -122, + 85, + 107, + -39, + -19, + -27, + 88, + -87, + -61, + 122, + 93, + 69, + -46, + 11, + 8, + -54, + -39, + -102, + -83, + 111, + -86, + -40, + 117, + -78, + 36, + 8, + 53, + 33, + -14, + -115, + 95, + -90, + 24, + 41, + 80, + 70, + -79, + -56, + -23, + 124, + 62, + 85, + -123, + -82, + 123, + 26, + -116, + 127, + -113, + 46, + 83, + -36, + -30, + -20, + -46, + -68, + 110, + -122, + 124, + -28, + 113, + 53, + -50, + 91, + 115, + 36, + 68, + 38, + 89, + 99, + -111, + -51, + 79, + 16, + -61, + 45, + -120, + 125, + -93, + -115, + 99, + 84, + 91, + 47, + -77, + 26, + -39, + 89, + 35, + -107, + 99, + 107, + -111, + -98, + 48, + 109, + 61, + -33, + -27, + 4, + -113, + 79, + 79, + 121, + -85, + -9, + -111, + 71, + 110, + 52, + -3, + -68, + -97, + -26, + -61, + -11, + 35, + -123, + -90, + -126, + -124, + -108, + 65, + -57, + 88, + -119, + -46, + 23, + 39, + -99, + -65, + 101, + -120, + -37, + 125, + -126, + 34, + -2, + -22, + -44, + 127, + -42, + -48, + 114, + 80, + -78, + -6, + -50, + -81, + -11, + -73, + -21, + -75, + 61, + -8, + -47, + -47, + 61, + -47, + -54, + -55, + 92, + -84, + 118, + -115, + -95, + 31, + 97, + 113, + 13, + -104, + -119, + 68, + 75, + -79, + -39, + -5, + 94, + -70, + 3, + 51, + -81, + -14, + 58, + 41, + 25, + 26, + 57, + -58, + -28, + 116, + -80, + -75, + 85, + -115, + 100, + 78, + 84, + 71, + -71, + 28, + -10, + -75, + 26, + -78, + 54, + 22, + -72, + -52, + 90, + -83, + 6, + -86, + 74, + 45, + -41, + 85, + -83, + 28, + 117, + 91, + 39, + -29, + -41, + 7, + -17, + 26, + 49, + 36, + -84, + -41, + 62, + 71, + 91, + 39, + 105, + 126, + -33, + 15, + 116, + 105, + -23, + 34, + -60, + -56, + -91, + -11, + 116, + 78, + 86, + 53, + -83, + 87, + 73, + 5, + -86, + -6, + 0, + -43, + 25, + -93, + -70, + -25, + -48, + 71, + 77, + 59, + -30, + -85, + -99, + 99, + -4, + 54, + 40, + 85, + -51, + -110, + 63, + -39, + 94, + -12, + 109, + -119, + 43, + -75, + -2, + 37, + 117, + -73, + 42, + 55, + -47, + -45, + 78, + -82, + -107, + -23, + -64, + 80, + -94, + -64, + -5, + -127, + 3, + -1, + 0, + -88, + -23, + -44, + -2, + 87, + -64, + -11, + -22, + -121, + 109, + -84, + -24, + 55, + -1, + 0, + -56, + -97, + -97, + 6, + -60, + 51, + 25, + -8, + 37, + -126, + 100, + 28, + -37, + -14, + -59, + 106, + 25, + -66, + -21, + -45, + -37, + -70, + -7, + 94, + -42, + 35, + 61, + -37, + 37, + -55, + -19, + -67, + 99, + 84, + 111, + -119, + 24, + -55, + 29, + 12, + -98, + 125, + -91, + 69, + 95, + 15, + 118, + 74, + -95, + 64, + 87, + 89, + 60, + -126, + -49, + -67, + -17, + 85, + 85, + -113, + -10, + 74, + -97, + -14, + 61, + 88, + -10, + -85, + -107, + -49, + -95, + -31, + 26, + -79, + -71, + -34, + -51, + -119, + 81, + 36, + -111, + -88, + -9, + -71, + -34, + 124, + 41, + 77, + -70, + -13, + 92, + -71, + -18, + -70, + 83, + -1, + 0, + 100, + 109, + 114, + -75, + -112, + -96, + 40, + -93, + 122, + 120, + 89, + 28, + -81, + -82, + -103, + -27, + 71, + 35, + 93, + -11, + -75, + -47, + -71, + -86, + -80, + -75, + -98, + -116, + 70, + -58, + -114, + 98, + -27, + -74, + 14, + 123, + 127, + -5, + 52, + -102, + 24, + -43, + 124, + 61, + -13, + 83, + -80, + 30, + -97, + -113, + 8, + -85, + -4, + 77, + 72, + 125, + 89, + 28, + -43, + -2, + 35, + 114, + 123, + 53, + -82, + 122, + -1, + 0, + 14, + 87, + 63, + -35, + -90, + 4, + -2, + 42, + -1, + 0, + 119, + 1, + 67, + -16, + 121, + 126, + 31, + -21, + -31, + -12, + 120, + -50, + 71, + 55, + -103, + 33, + 74, + 127, + -54, + 12, + 58, + -68, + 107, + 93, + -55, + -17, + 16, + -6, + 116, + -36, + -40, + -43, + 26, + -7, + 31, + 27, + -24, + -74, + -92, + -79, + -79, + -53, + 19, + 92, + -59, + 122, + -93, + -111, + -52, + -11, + 98, + -75, + -2, + -110, + -89, + 21, + 95, + -25, + 3, + -25, + 21, + -82, + -57, + -39, + 27, + -15, + -97, + -99, + 104, + -50, + -53, + -52, + 121, + 124, + -53, + 22, + -69, + -15, + 15, + 95, + 34, + 39, + 81, + -87, + -13, + 29, + -72, + 107, + 57, + -46, + -111, + -66, + -62, + 116, + -77, + 117, + -27, + -102, + -29, + 125, + 101, + 108, + 18, + -101, + 42, + -79, + -36, + 31, + -5, + -122, + 110, + -99, + -104, + 58, + 115, + -7, + -21, + -40, + 66, + 124, + 88, + -8, + -93, + -42, + -6, + -84, + -70, + 83, + 18, + 23, + 5, + -103, + -69, + 22, + 86, + 11, + 71, + -17, + 68, + -53, + -38, + -117, + -14, + 52, + 126, + 112, + 76, + -49, + 101, + 73, + -4, + 69, + 116, + -115, + -70, + 84, + -100, + -78, + 71, + 36, + 108, + 99, + -98, + -33, + -17, + 35, + -111, + 23, + -13, + -76, + -74, + 96, + -55, + -78, + 6, + 116, + -38, + 2, + 22, + 76, + 104, + 52, + -92, + 110, + 23, + 48, + 82, + -20, + -85, + 96, + -123, + -21, + -9, + -19, + 58, + -51, + -21, + 118, + -20, + -56, + -43, + 87, + -35, + -67, + 102, + 121, + -89, + -77, + 58, + 122, + -66, + 71, + 75, + 98, + 85, + -14, + -1, + 0, + 15, + -3, + 88, + -3, + -97, + -59, + 18, + 74, + -39, + 78, + 75, + 44, + 103, + -77, + 69, + 32, + -47, + -112, + -47, + 45, + -66, + -57, + 74, + -12, + -15, + -74, + 7, + 98, + 7, + 17, + -7, + -14, + 4, + 65, + 30, + -128, + -91, + -73, + 36, + 87, + -35, + 7, + -96, + -86, + -22, + 64, + 27, + -6, + 14, + 54, + -91, + -80, + -44, + 114, + 65, + 27, + 90, + -17, + 88, + -2, + -74, + 53, + -52, + -13, + -4, + 51, + -47, + 81, + 85, + 88, + -27, + 85, + 87, + 49, + -46, + 42, + -67, + 85, + 30, + -65, + -62, + 57, + 93, + -27, + -23, + -6, + 50, + -95, + -17, + 28, + -49, + 84, + 116, + 126, + -81, + 68, + 107, + -99, + -31, + -51, + -15, + -11, + 42, + 61, + -66, + 81, + -84, + -115, + -51, + 119, + -85, + -4, + -94, + -89, + -122, + -3, + 110, + 115, + -102, + -116, + -9, + -11, + 122, + 106, + 21, + 71, + -69, + -62, + 127, + 14, + -2, + -34, + 19, + -43, + -50, + 71, + 71, + 43, + -105, + -49, + -39, + -18, + -42, + 123, + 57, + 30, + -40, + -1, + 0, + -20, + -88, + -83, + 68, + 115, + 93, + 27, + -99, + -19, + -20, + -96, + -123, + 61, + -37, + -11, + 71, + -18, + -27, + 127, + -107, + -16, + -44, + 87, + 35, + -66, + -57, + 120, + 111, + -84, + 104, + -88, + -114, + 72, + -29, + 119, + -85, + -107, + -66, + -81, + 115, + 90, + -9, + 121, + 87, + 35, + -43, + 52, + 60, + 125, + -121, + -88, + -3, + -76, + -15, + 88, + -99, + -55, + 4, + 122, + 31, + 126, + -34, + 63, + 19, + -29, + -23, + -62, + -94, + 9, + 30, + -7, + 34, + 85, + 107, + 89, + 15, + -81, + -78, + 35, + -94, + 98, + -85, + -102, + -42, + -75, + 17, + -83, + -12, + 70, + -94, + -71, + -51, + 99, + -47, + 99, + 68, + 69, + 108, + -114, + 103, + -69, + -98, + -113, + 114, + 126, + -113, + 99, + 116, + 95, + 92, + -97, + -38, + 54, + -73, + -53, + -94, + 79, + 111, + 117, + 122, + 43, + 21, + -115, + 115, + -107, + -82, + 114, + -94, + 49, + -88, + -26, + 57, + -2, + -117, + -27, + -18, + 87, + -67, + 81, + 85, + -88, + -120, + -98, + -86, + -25, + 70, + -11, + 107, + 17, + -14, + -86, + 68, + -49, + -8, + -43, + -14, + 53, + -34, + -2, + 124, + 57, + -86, + -43, + 86, + 61, + -56, + -78, + 121, + -107, + 95, + -4, + -85, + -67, + -100, + -111, + -67, + -88, + -82, + -11, + 54, + -113, + -19, + -81, + -22, + -82, + 127, + -39, + 3, + -37, + -22, + -116, + 127, + -86, + -94, + -86, + 34, + -86, + -78, + 95, + 87, + 120, + 115, + -34, + -114, + 107, + -92, + -115, + -19, + -103, + -82, + -111, + -114, + -6, + -43, + -50, + 106, + -56, + -78, + 74, + -12, + 7, + -111, + -33, + -44, + 95, + 17, + -113, + -44, + 123, + -72, + -36, + -86, + -39, + 30, + -82, + 123, + -38, + -25, + 44, + -111, + -71, + -111, + -54, + -44, + 69, + 99, + 127, + -97, + 15, + 115, + 17, + -78, + 120, + 84, + -107, + -45, + 57, + 60, + 35, + -43, + -50, + -119, + -110, + 42, + 43, + -40, + -82, + -3, + 25, + 51, + -35, + -50, + -6, + 98, + -16, + -78, + 39, + -124, + 107, + 92, + -58, + -6, + 59, + -57, + -70, + 73, + -10, + 53, + -117, + -20, + -57, + 44, + 73, + 28, + 76, + -122, + 53, + -10, + -14, + -118, + -28, + -2, + 124, + 35, + -54, + -43, + 92, + -11, + -123, + -116, + 107, + -28, + 79, + 12, + -2, + 35, + 98, + -74, + 54, + 57, + 26, + -82, + 87, + 57, + 21, + 92, + -58, + 49, + -83, + 86, + -58, + -42, + -74, + 68, + 87, + 63, + -21, + -97, + -61, + 88, + -25, + 126, + -114, + 106, + 51, + -34, + 6, + -81, + -43, + -22, + -78, + -71, + -66, + -82, + 115, + 17, + -56, + -43, + 106, + -89, + -124, + -111, + 61, + 127, + -92, + -98, + 94, + -40, + -2, + -107, + -11, + -12, + -2, + 21, + -46, + -75, + 91, + -6, + -30, + -42, + 108, + 88, + -16, + -14, + -3, + 61, + 120, + 39, + 27, + 78, + 111, + -48, + -59, + 87, + 47, + -94, + 127, + 46, + 86, + -75, + -51, + 106, + -6, + 120, + 68, + -5, + 86, + 39, + 42, + 53, + -56, + -98, + 28, + -118, + -25, + -58, + -42, + -56, + -112, + -73, + -33, + -45, + -21, + -123, + -114, + -9, + 27, + -67, + 17, + 27, + 27, + 90, + -60, + -115, + -50, + 71, + -6, + -86, + 61, + -24, + -82, + 107, + -98, + -1, + 0, + 86, + 53, + -83, + -16, + -44, + 70, + -85, + 28, + -26, + -71, + -34, + -20, + 111, + -120, + -43, + -33, + -15, + -67, + 113, + 76, + -86, + -26, + 66, + -55, + 26, + -25, + 51, + -49, + -81, + -78, + 74, + -58, + 57, + -83, + 79, + 103, + -60, + -98, + 81, + -51, + -10, + 106, + -79, + -33, + -2, + -20, + 70, + -8, + -106, + 55, + 63, + -39, + -24, + -17, + -85, + 4, + -115, + 68, + 108, + -86, + -1, + 0, + -4, + 88, + -58, + 59, + -22, + 98, + -71, + -86, + -24, + -35, + 27, + -40, + -9, + 43, + -43, + -53, + -1, + 0, + -109, + 98, + 114, + -75, + 24, + -10, + 74, + -41, + 72, + -43, + 108, + 113, + -75, + 29, + 11, + -126, + -49, + -103, + -7, + -15, + -36, + 122, + -98, + 117, + -115, + -34, + 87, + -45, + -20, + -111, + 94, + -25, + -86, + -84, + -110, + 34, + 43, + -43, + 124, + 53, + -54, + -88, + -66, + -82, + 85, + -11, + -14, + -66, + -78, + 57, + -17, + 106, + -71, + -51, + 107, + 90, + -43, + 105, + 108, + -46, + 76, + -42, + 72, + -86, + -8, + 87, + -1, + 0, + -25, + -106, + -92, + 77, + 85, + 86, + -79, + 29, + -27, + -24, + -10, + -71, + 21, + 91, + 31, + -105, + -94, + 53, + -52, + -119, + -56, + -49, + 30, + 21, + 17, + 91, + -27, + -46, + 127, + -28, + -42, + 47, + -10, + -6, + 26, + -44, + 71, + 35, + -103, + -20, + -42, + 51, + -20, + 119, + -65, + -69, + 37, + 108, + 78, + 87, + 121, + 119, + -69, + -68, + 61, + 81, + 19, + -61, + 17, + -49, + 84, + 97, + 101, + -7, + -42, + 69, + 68, + -109, + -49, + -107, + 106, + -8, + 123, + -43, + 126, + -24, + -45, + -39, + 93, + 18, + -53, + -22, + -11, + 73, + 30, + -39, + 60, + 42, + 53, + -86, + -58, + -5, + -93, + -38, + -66, + -82, + 123, + -102, + -92, + 102, + -46, + 62, + -85, + 110, + -73, + -64, + -88, + -77, + 95, + 62, + 60, + -55, + 117, + 99, + -103, + -17, + 116, + 110, + -16, + -27, + -15, + 26, + -67, + -55, + 47, + -104, + -47, + -111, + 42, + 42, + -70, + 56, + -41, + -43, + -54, + -27, + 85, + 115, + 17, + 28, + -44, + -2, + 24, + -81, + 87, + 68, + -86, + -31, + -6, + 42, + -69, + 109, + 36, + 72, + -37, + -10, + 55, + -8, + -14, + -86, + -88, + -9, + -85, + -100, + -98, + 85, + 90, + -17, + 116, + -101, + -49, + -14, + -82, + -111, + 28, + -120, + -17, + 14, + 123, + 85, + -50, + 106, + 59, + -62, + -2, + -121, + -23, + 3, + 37, + -97, + -26, + 62, + -93, + -89, + -121, + 79, + -115, + 124, + 107, + -123, + -88, + 15, + 1, + -11, + -1, + 0, + 3, + -113, + -47, + 108, + 118, + -56, + -96, + -37, + -10, + 43, + -55, + -111, + 109, + -74, + -34, + -5, + 81, + 108, + -82, + -110, + -77, + 92, + -17, + 119, + 36, + 45, + 100, + -61, + 85, + 102, + -14, + -115, + -11, + 107, + 108, + 73, + 93, + -45, + -58, + -10, + 75, + 26, + 121, + -9, + 71, + 67, + 1, + -66, + -125, + -89, + -102, + -62, + 6, + 119, + -68, + 2, + 98, + 100, + -14, + 122, + 86, + 108, + 38, + -117, + -111, + 108, + 106, + -84, + -110, + 120, + -40, + -24, + 24, + 9, + 36, + 127, + -42, + -44, + 95, + 62, + 108, + -63, + 19, + -102, + -44, + -113, + -9, + 8, + -107, + -56, + -65, + -95, + -6, + 31, + -84, + 76, + 17, + -8, + 23, + -95, + 63, + -51, + -32, + 47, + -15, + 87, + 26, + 48, + 82, + 64, + -17, + -74, + -32, + 126, + 31, + 67, + -8, + 127, + 94, + 53, + -78, + 7, + -75, + -124, + -18, + 92, + 34, + -30, + 0, + -31, + 121, + -118, + 113, + 43, + -90, + -86, + 60, + -99, + -105, + 50, + 37, + 124, + 18, + 42, + -75, + -109, + 24, + -125, + -47, + -19, + 79, + -79, + 86, + 71, + -6, + -74, + 85, + 99, + -28, + 70, + 66, + -88, + -116, + 105, + -4, + -58, + 8, + -61, + -93, + 50, + -43, + -40, + -54, + 53, + -79, + -37, + -82, + -58, + 42, + 5, + -89, + 36, + 17, + -70, + 49, + 85, + -28, + -110, + -100, + 54, + -90, + 124, + -42, + 36, + -111, + 101, + 88, + 45, + -38, + 71, + 76, + -26, + -79, + -42, + 81, + -83, + -110, + 6, + -54, + -66, + -93, + -12, + 63, + 65, + -88, + -7, + 47, + -5, + 65, + -3, + 65, + -6, + -65, + 14, + 7, + 79, + -103, + 99, + -1, + 0, + -88, + -113, + -46, + -72, + -40, + -84, + 88, + -53, + -93, + 109, + -87, + -75, + -124, + -99, + 15, + -68, + -17, + -84, + -56, + -30, + 9, + 12, + 76, + -115, + 125, + -100, + -120, + -58, + -76, + 28, + -83, + 107, + 26, + -86, + -115, + 89, + -84, + 36, + -14, + -93, + -33, + 35, + -43, + 92, + -55, + 21, + 35, + 31, + -65, + -110, + 100, + -111, + 61, + 77, + -36, + -99, + -120, + -10, + -67, + -46, + 50, + 16, + 106, + -42, + -71, + 102, + 99, + 101, + 99, + 29, + 32, + 63, + 100, + 116, + -77, + 54, + 86, + -56, + -42, + -40, + 99, + 89, + 44, + 105, + -27, + -113, + 84, + 87, + -88, + -3, + 15, + -48, + 106, + 62, + -97, + -19, + 95, + -23, + -23, + -11, + 103, + -114, + -46, + 60, + -37, + -3, + -17, + -1, + 0, + 119, + 28, + -45, + -1, + 0, + -7, + 6, + -9, + -71, + -17, + 87, + -29, + -97, + 29, + -58, + -24, + 8, + -56, + -106, + -18, + -108, + -24, + 90, + -38, + -88, + 68, + 116, + 77, + 81, + -61, + 98, + -116, + 118, + 122, + -79, + 49, + -76, + 70, + 87, + -107, + -16, + -33, + 33, + 104, + -99, + -38, + -53, + 44, + -81, + -119, + 108, + 7, + -5, + 18, + 9, + 101, + -114, + -93, + -31, + -27, + -26, + -51, + -120, + -28, + 114, + -94, + 127, + 72, + -43, + -24, + -58, + -86, + 39, + -97, + 40, + -44, + -5, + 26, + -82, + 116, + 74, + -82, + 73, + 26, + -41, + 127, + 117, + -111, + 127, + -105, + -8, + 70, + 127, + -39, + -79, + -72, + 126, + -121, + -22, + -5, + -55, + 21, + 70, + 6, + 61, + 0, + 53, + 25, + 25, + -88, + 1, + 109, + -83, + -123, + -102, + -85, + 52, + 0, + -9, + 1, + -60, + 14, + 125, + -10, + -50, + 44, + -112, + 2, + -127, + 100, + -102, + 27, + 121, + -109, + -63, + -107, + 8, + -98, + -79, + 54, + 79, + -77, + -2, + -2, + 17, + -51, + 114, + -71, + 87, + -45, + -8, + 127, + -106, + -93, + -111, + -66, + 92, + -115, + 71, + -6, + -71, + 35, + 98, + 44, + -65, + -53, + 19, + -39, + -120, + -118, + 121, + 11, + 95, + 20, + 109, + 115, + 27, + 55, + -122, + 74, + -23, + 37, + 99, + 101, + -16, + -41, + 53, + 24, + -111, + -93, + 81, + -34, + 87, + -42, + 37, + 103, + -85, + -40, + -81, + 70, + -71, + -54, + -41, + 50, + 87, + 49, + -81, + -107, + -14, + 15, + -48, + -3, + 91, + 98, + 3, + 72, + 62, + 63, + -42, + -113, + -21, + -59, + 126, + 99, + 95, + 26, + 31, + -81, + 79, + -105, + -21, + -63, + -52, + 12, + 122, + -54, + -88, + -49, + 85, + 86, + 42, + -62, + -118, + -17, + 121, + -65, + -85, + -67, + 93, + 7, + -39, + 34, + -57, + -11, + -66, + 71, + 57, + -55, + -27, + 88, + -58, + 34, + 57, + 81, + -66, + -115, + -6, + -43, + 85, + 73, + 4, + 45, + -103, + 60, + 122, + -7, + -111, + -54, + -85, + -27, + -86, + -26, + -79, + 27, + -26, + 23, + 121, + 88, + -3, + -34, + -110, + 49, + -66, + 91, + -24, + -82, + 119, + -107, + 106, + -86, + -79, + -15, + -71, + -56, + -97, + -95, + -6, + 31, + -89, + -96, + 80, + -81, + 46, + 25, + -55, + -31, + -15, + -6, + -4, + -8, + 49, + -6, + -38, + -39, + 86, + 38, + -69, + -49, + -40, + -60, + 73, + 94, + -41, + 42, + 44, + -83, + -13, + -4, + 49, + 19, + -52, + 111, + 106, + 63, + -43, + -66, + 27, + 60, + -86, + -10, + 35, + 92, + -25, + -85, + 90, + -25, + -56, + -35, + -72, + -33, + 34, + 35, + -46, + 63, + 87, + 68, + -33, + -87, + 21, + 24, + -12, + 123, + 125, + -67, + -29, + 107, + 81, + -113, + 70, + -75, + -65, + -60, + 127, + 98, + -84, + 50, + 123, + 61, + -56, + -82, + -9, + -5, + 88, + -111, + -60, + -15, + -6, + 31, + -82, + -31, + 62, + 62, + -85, + -107, + -78, + 54, + 100, + 115, + 63, + -124, + 69, + 86, + 57, + 127, + -11, + -69, + -6, + -67, + 83, + -61, + -3, + 91, + 23, + -68, + 126, + 17, + -85, + -10, + 49, + -82, + 117, + 103, + 59, + -54, + 123, + -92, + -115, + 42, + -77, + 97, + 85, + 81, + -2, + -34, + -66, + 90, + -1, + 0, + 14, + 86, + -79, + -34, + -86, + -114, + 115, + 101, + -115, + 99, + 89, + 31, + -4, + 57, + -14, + 127, + 103, + 57, + 93, + 43, + 85, + -52, + 114, + 57, + 93, + 23, + -85, + -121, + -24, + 126, + -120, + -28, + -118, + -94, + 71, + 95, + -37, + -114, + -32, + -90, + -43, + -59, + -11, + 124, + 108, + 68, + 68, + 86, + 35, + 88, + -119, + 35, + -40, + -24, + 95, + -27, + -50, + -1, + 0, + -76, + 113, + 76, + -57, + 53, + 17, + 17, + -115, + 103, + -81, + -85, + -2, + -87, + 90, + -118, + -97, + -57, + -126, + 57, + -90, + -111, + -46, + 53, + -49, + 122, + 34, + -93, + 85, + -50, + 69, + -78, + -43, + 99, + 27, + -19, + -31, + -21, + 59, + 124, + -6, + 34, + 123, + 61, + 60, + 50, + 41, + 19, + -60, + 106, + -118, + -58, + -85, + 94, + -11, + 120, + -3, + 15, + -46, + 12, + 123, + -89, + -21, + -87, + -31, + 101, + 0, + 1, + -22, + 47, + -21, + -45, + -115, + 73, + -38, + -7, + 61, + 36, + 86, + -93, + 127, + -81, + -85, + -4, + 61, + -114, + 85, + -111, + 28, + -12, + -2, + -53, + -26, + 53, + -10, + 84, + 111, + -107, + 69, + 85, + 69, + 69, + 71, + -75, + 85, + 30, + -66, + -93, + -12, + 63, + 67, + -12, + -56, + -101, + 36, + -7, + -16, + -70, + -88, + 32, + 18, + 62, + -81, + -5, + 125, + 89, + -29, + -1, + -39 + ], + "year": 2020 + } + ] +} \ No newline at end of file diff --git a/server/data.json b/server/data.json new file mode 100644 index 0000000..2a838fe --- /dev/null +++ b/server/data.json @@ -0,0 +1,70088 @@ +{ + "users": [ + { + "id": 1, + "login": "login", + "password": "password", + "sessions": [ + { + "id": 5, + "count": 4, + "cinemaId": 2 + } + ] + } + ], + "orders": [ + { + "id": 2, + "userId": 1, + "sessions": [ + { + "id": 1, + "dateTime": "20.12.2022 02:15", + "frozenPrice": 150, + "count": 3, + "cinemaId": 3 + } + ] + }, + { + "id": 3, + "userId": 1, + "sessions": [ + { + "id": 1, + "dateTime": "20.12.2022 02:15", + "frozenPrice": 150, + "count": 3, + "cinemaId": 3 + }, + { + "id": 5, + "dateTime": "04.04.2004 00:00", + "frozenPrice": 1234, + "count": 1, + "cinemaId": 2 + } + ] + }, + { + "id": 4, + "userId": 1, + "sessions": [ + { + "id": 1, + "dateTime": "20.12.2022 02:15", + "frozenPrice": 150, + "count": 1, + "cinemaId": 3 + }, + { + "id": 5, + "dateTime": "04.04.2004 00:00", + "frozenPrice": 1234, + "count": 1, + "cinemaId": 2 + } + ] + }, + { + "id": 5, + "userId": 1 + }, + { + "id": 6, + "userId": 1, + "sessions": [ + { + "id": 5, + "dateTime": "04.04.2004 00:00", + "frozenPrice": 1234, + "count": 5, + "cinemaId": 2 + }, + { + "id": 2, + "dateTime": "22.03.2021 03:15", + "frozenPrice": 100, + "count": 5, + "cinemaId": 3 + } + ] + } + ], + "sessions": [ + { + "dateTime": "20.12.2022 02:15", + "price": 150, + "maxCount": 15, + "cinemaId": 3, + "id": 1 + }, + { + "dateTime": "22.03.2021 03:15", + "price": 100, + "maxCount": 5, + "cinemaId": 3, + "id": 2 + }, + { + "dateTime": "04.04.2004 00:00", + "price": 1234, + "maxCount": 15, + "cinemaId": 2, + "id": 5 + } + ], + "cinemas": [ + { + "name": "кино", + "description": "кино", + "image": [ + -1, + -40, + -1, + -32, + 0, + 16, + 74, + 70, + 73, + 70, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + -1, + -30, + 2, + 40, + 73, + 67, + 67, + 95, + 80, + 82, + 79, + 70, + 73, + 76, + 69, + 0, + 1, + 1, + 0, + 0, + 2, + 24, + 0, + 0, + 0, + 0, + 4, + 48, + 0, + 0, + 109, + 110, + 116, + 114, + 82, + 71, + 66, + 32, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 97, + 99, + 115, + 112, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + -10, + -42, + 0, + 1, + 0, + 0, + 0, + 0, + -45, + 45, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 100, + 101, + 115, + 99, + 0, + 0, + 0, + -16, + 0, + 0, + 0, + 116, + 114, + 88, + 89, + 90, + 0, + 0, + 1, + 100, + 0, + 0, + 0, + 20, + 103, + 88, + 89, + 90, + 0, + 0, + 1, + 120, + 0, + 0, + 0, + 20, + 98, + 88, + 89, + 90, + 0, + 0, + 1, + -116, + 0, + 0, + 0, + 20, + 114, + 84, + 82, + 67, + 0, + 0, + 1, + -96, + 0, + 0, + 0, + 40, + 103, + 84, + 82, + 67, + 0, + 0, + 1, + -96, + 0, + 0, + 0, + 40, + 98, + 84, + 82, + 67, + 0, + 0, + 1, + -96, + 0, + 0, + 0, + 40, + 119, + 116, + 112, + 116, + 0, + 0, + 1, + -56, + 0, + 0, + 0, + 20, + 99, + 112, + 114, + 116, + 0, + 0, + 1, + -36, + 0, + 0, + 0, + 60, + 109, + 108, + 117, + 99, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 12, + 101, + 110, + 85, + 83, + 0, + 0, + 0, + 88, + 0, + 0, + 0, + 28, + 0, + 115, + 0, + 82, + 0, + 71, + 0, + 66, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 111, + -94, + 0, + 0, + 56, + -11, + 0, + 0, + 3, + -112, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + -103, + 0, + 0, + -73, + -123, + 0, + 0, + 24, + -38, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 36, + -96, + 0, + 0, + 15, + -124, + 0, + 0, + -74, + -49, + 112, + 97, + 114, + 97, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 2, + 102, + 102, + 0, + 0, + -14, + -89, + 0, + 0, + 13, + 89, + 0, + 0, + 19, + -48, + 0, + 0, + 10, + 91, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + -10, + -42, + 0, + 1, + 0, + 0, + 0, + 0, + -45, + 45, + 109, + 108, + 117, + 99, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 12, + 101, + 110, + 85, + 83, + 0, + 0, + 0, + 32, + 0, + 0, + 0, + 28, + 0, + 71, + 0, + 111, + 0, + 111, + 0, + 103, + 0, + 108, + 0, + 101, + 0, + 32, + 0, + 73, + 0, + 110, + 0, + 99, + 0, + 46, + 0, + 32, + 0, + 50, + 0, + 48, + 0, + 49, + 0, + 54, + -1, + -37, + 0, + 67, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -37, + 0, + 67, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -64, + 0, + 17, + 8, + 0, + -56, + 0, + -106, + 3, + 1, + 34, + 0, + 2, + 17, + 1, + 3, + 17, + 1, + -1, + -60, + 0, + 30, + 0, + 0, + 2, + 2, + 3, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 7, + 8, + 6, + 9, + 0, + 5, + 10, + 4, + 3, + 2, + 1, + -1, + -60, + 0, + 40, + 16, + 0, + 2, + 3, + 1, + 1, + 1, + 0, + 1, + 5, + 1, + 1, + 1, + 1, + 0, + 3, + 0, + 5, + 6, + 3, + 4, + 7, + 2, + 8, + 1, + 21, + 0, + 9, + 20, + 22, + 23, + 19, + 18, + 17, + 36, + 24, + 37, + 39, + -1, + -60, + 0, + 28, + 1, + 0, + 2, + 3, + 0, + 3, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 6, + 3, + 4, + 7, + 0, + 2, + 8, + 1, + -1, + -60, + 0, + 50, + 17, + 0, + 2, + 2, + 2, + 2, + 1, + 3, + 3, + 2, + 6, + 1, + 4, + 3, + 0, + 0, + 0, + 1, + 2, + 3, + 17, + 4, + 18, + 5, + 33, + 19, + 0, + 34, + 49, + 6, + 20, + 65, + 50, + 81, + 7, + 35, + 51, + 66, + 97, + 113, + -127, + 21, + 36, + 82, + -95, + 22, + -111, + -47, + -1, + -38, + 0, + 12, + 3, + 1, + 0, + 2, + 17, + 3, + 17, + 0, + 63, + 0, + 14, + -36, + -86, + -126, + -37, + -107, + -125, + -83, + -83, + 104, + -71, + -30, + -40, + 19, + -123, + 95, + 72, + -99, + 30, + -17, + -47, + -4, + -47, + -100, + -28, + -108, + -102, + -124, + -40, + 70, + 80, + 101, + -44, + -52, + 27, + -90, + 62, + -107, + -93, + -109, + -60, + 101, + -104, + -124, + 71, + 90, + 72, + 89, + -2, + -88, + -89, + 94, + -24, + -44, + -9, + 113, + -102, + 110, + 104, + 28, + -31, + -80, + -93, + -114, + 85, + 112, + 106, + 38, + -94, + -47, + -23, + -108, + -89, + -58, + -73, + 108, + -27, + 54, + -42, + -89, + -96, + 47, + -70, + 40, + 89, + -28, + -55, + 36, + -91, + -115, + 59, + 68, + 52, + -18, + -32, + -110, + -121, + -15, + 116, + 113, + -109, + 24, + -88, + -58, + 88, + -81, + -46, + 18, + 33, + 82, + -29, + 89, + 110, + 72, + -108, + 11, + 109, + -119, + -2, + 42, + -17, + -10, + 7, + -8, + 50, + 12, + -104, + 59, + -97, + -120, + -12, + -30, + 91, + 3, + 50, + -119, + 102, + 117, + -123, + -19, + 17, + -93, + 12, + -118, + -80, + -65, + -95, + -100, + -125, + -48, + 8, + 1, + -114, + 23, + 92, + -55, + -107, + -60, + 43, + 118, + 109, + 1, + 62, + -114, + 49, + 101, + -9, + -97, + -117, + -118, + 123, + -8, + -26, + 34, + -122, + 33, + 117, + -96, + 104, + -75, + -21, + 55, + 106, + -53, + 0, + 51, + -34, + 79, + -81, + 32, + 38, + 40, + 109, + -63, + -36, + -43, + -78, + 28, + 15, + 65, + 96, + 86, + -29, + -13, + -30, + 16, + 43, + -47, + 94, + -51, + -81, + 37, + -24, + -127, + 122, + -46, + 112, + -46, + -95, + -101, + -76, + 79, + -91, + -103, + -74, + -74, + -51, + 50, + -67, + -80, + 117, + -12, + -117, + 87, + -125, + -25, + 25, + -63, + 53, + 33, + -71, + -40, + 43, + -93, + -56, + 85, + 22, + -97, + 3, + -54, + -97, + 37, + -12, + 103, + 23, + -49, + -15, + -68, + 126, + 6, + 44, + 83, + 98, + -3, + -52, + -80, + -55, + 51, + 12, + -116, + -123, + 19, + 101, + 125, + -76, + -80, + -28, + 72, + -24, + 39, + -47, + 126, + -30, + 44, + -55, + 97, + 104, + -93, + 43, + 19, + 33, + -124, + -78, + -77, + 65, + 6, + -121, + -94, + -6, + -113, + 59, + -114, + -101, + 59, + 35, + 38, + 113, + 58, + -29, + -57, + 58, + -62, + -118, + -79, + 92, + 24, + -14, + 74, + -110, + 69, + 26, + -72, + 79, + 35, + -92, + 114, + 66, + -109, + 111, + 38, + -51, + 27, + -121, + 10, + 85, + 94, + 66, + -53, + 125, + -41, + 28, + -11, + 85, + 70, + 101, + -117, + -114, + 53, + -41, + 111, + -78, + 50, + 24, + -114, + -111, + -88, + 90, + -4, + -42, + -17, + 18, + -111, + 53, + -27, + 6, + 18, + 71, + -103, + 87, + -118, + 53, + 86, + -49, + -112, + -17, + -11, + 90, + -107, + 58, + 37, + 7, + -117, + 56, + 124, + -70, + 109, + -59, + 56, + -105, + -24, + 55, + -105, + 3, + -101, + 18, + 107, + 35, + 4, + 111, + 78, + -31, + 103, + 91, + 29, + -107, + -36, + 79, + -10, + -82, + 126, + 56, + -7, + 93, + 23, + 61, + 111, + 0, + -82, + -45, + 105, + 50, + -59, + 125, + 21, + -11, + -111, + 80, + -123, + -46, + 59, + 115, + 102, + 82, + 107, + -47, + -119, + -23, + -53, + -123, + 24, + 42, + 78, + -26, + -84, + 52, + 43, + 58, + 63, + -48, + -122, + -104, + -1, + 0, + -89, + -29, + -49, + 110, + -31, + -15, + -45, + -91, + -85, + -83, + -98, + -40, + 88, + -108, + -46, + 64, + 122, + 115, + 82, + -53, + -34, + 108, + 101, + -93, + -123, + -7, + -116, + 38, + -123, + -102, + -109, + -73, + 102, + -63, + 57, + -44, + -116, + -104, + -71, + -128, + -62, + -65, + 1, + -26, + 102, + 21, + -74, + -101, + -25, + 109, + -117, + 113, + 40, + 49, + 79, + -77, + -82, + -123, + 64, + -47, + 84, + -37, + 58, + -128, + -108, + 38, + -106, + 44, + -88, + 66, + 18, + -90, + -97, + 67, + -13, + -77, + 68, + -27, + 74, + -84, + -60, + -78, + -74, + -53, + -104, + -40, + 76, + -74, + -70, + -65, + -49, + -95, + 62, + -89, + -36, + -98, + -77, + 43, + -122, + -118, + 54, + -102, + 51, + -62, + 23, + -103, + 24, + -43, + -60, + -72, + 91, + -41, + 93, + 81, + -46, + -99, + -13, + -117, + 55, + 18, + 90, + 23, + 119, + 42, + 95, + 98, + 114, + 102, + 48, + -116, + -94, + -32, + 43, + 61, + -83, + -96, + -81, + 127, + 14, + 126, + -126, + 60, + 86, + 103, + 33, + -54, + 54, + 92, + -123, + -72, + -18, + 127, + -22, + 86, + 104, + -2, + -29, + 33, + -111, + -68, + -50, + 48, + -96, + -48, + 121, + 66, + -80, + -117, + 13, + 74, + -80, + 117, + -110, + -62, + -122, + 99, + -79, + 86, + 94, + -1, + 0, + 83, + 125, + 66, + -103, + -65, + 97, + -114, + -63, + 91, + -17, + 48, + -8, + -26, + -116, + -76, + 81, + 108, + -86, + 35, + 92, + -121, + -40, + -107, + 36, + 19, + 51, + -128, + -70, + -107, + 33, + -127, + 8, + 40, + 54, + -37, + -36, + -115, + 31, + -45, + 10, + -39, + -38, + 83, + 90, + 51, + 22, + 108, + -57, + -108, + -85, + -111, + -8, + 119, + 57, + 63, + 112, + 17, + -36, + 126, + -26, + 56, + 50, + -40, + -118, + 82, + 105, + 96, + 11, + -94, + 121, + -115, + 50, + 25, + 52, + 77, + 22, + -69, + -125, + 23, + -47, + 87, + 29, + 14, + 40, + 97, + 45, + 112, + -111, + -61, + -109, + -103, + 124, + -76, + 86, + 86, + 77, + -4, + -72, + -104, + -31, + 90, + 34, + -17, + -95, + 6, + 59, + 122, + -78, + -88, + 47, + 57, + -59, + -83, + -64, + 33, + -123, + 19, + -49, + 90, + -125, + -32, + 39, + -59, + 60, + 41, + 21, + 93, + 41, + -92, + 114, + -90, + -97, + 30, + -109, + 80, + 59, + -67, + 33, + -32, + -72, + 15, + 74, + 67, + -127, + -66, + -101, + -49, + 85, + 19, + 87, + -29, + 69, + 82, + 73, + -51, + 62, + -101, + 54, + -14, + -82, + -4, + 120, + -15, + 109, + 102, + -87, + -29, + 44, + 104, + 107, + 118, + 107, + -80, + 23, + 71, + 77, + -54, + 26, + 95, + 124, + -47, + 61, + -10, + -15, + 11, + 89, + -89, + -107, + 8, + -7, + -67, + 79, + -16, + 57, + -78, + 92, + -30, + -101, + 3, + -29, + -9, + -78, + -7, + -51, + 77, + 101, + -29, + 66, + 36, + -48, + -67, + 100, + 88, + -21, + -94, + 61, + 46, + 64, + -26, + 121, + -88, + -41, + 73, + 102, + -92, + -98, + 32, + -125, + -94, + 96, + -58, + -9, + -100, + 60, + -72, + -78, + 83, + 72, + 40, + -17, + -27, + 1, + -75, + 66, + -30, + 94, + -98, + -33, + -13, + 98, + -52, + -85, + -116, + 14, + 38, + -111, + -40, + -78, + 116, + -1, + 0, + 78, + 48, + 25, + -112, + 124, + -24, + 25, + 11, + -102, + -90, + -75, + -26, + -19, + 49, + 77, + 17, + 60, + 42, + -18, + 102, + -5, + 74, + 6, + 69, + -117, + 74, + 76, + -61, + 15, + -6, + 53, + -76, + 114, + -10, + -94, + -94, + -30, + 55, + 111, + -64, + -30, + -102, + 92, + -106, + -49, + -111, + -110, + 24, + -95, + 27, + -53, + 36, + -14, + -94, + -120, + -42, + 12, + 89, + 15, + -111, + 100, + 120, + -89, + 80, + -86, + 101, + 37, + -55, + -48, + 44, + 108, + -44, + -5, + -128, + 89, + 31, + 63, + 62, + 40, + -79, + -101, + 26, + 53, + 50, + -51, + 40, + 11, + 20, + 112, + -60, + -25, + 99, + 46, + 76, + 86, + -116, + -111, + -51, + 9, + 59, + 8, + -56, + 82, + -123, + -18, + 80, + -92, + -82, + -91, + -86, + -47, + -11, + 31, + -36, + 39, + 39, + 49, + -117, + -25, + -7, + 70, + -111, + 27, + -17, + -103, + 111, + -20, + -75, + 51, + -57, + -20, + -87, + -47, + -21, + 26, + -38, + -45, + -111, + -106, + 44, + 102, + -81, + 73, + -113, + 122, + -118, + -17, + -6, + -99, + -50, + -108, + 13, + -119, + 75, + -122, + -43, + -92, + 124, + -8, + 14, + -55, + -108, + -40, + 52, + 65, + 10, + -61, + 8, + 77, + 113, + 98, + -30, + 9, + 18, + 40, + -86, + 72, + -102, + 109, + 87, + 43, + -15, + -105, + -96, + 20, + -42, + 43, + 102, + 29, + 106, + 94, + -119, + -33, + 85, + 111, + 106, + 76, + 42, + -6, + 38, + 97, + 82, + 120, + -3, + 1, + -112, + -121, + 39, + -98, + 42, + -23, + 11, + 101, + -75, + 10, + -44, + -105, + 59, + 46, + -32, + 36, + -21, + 61, + -79, + 64, + 87, + -7, + -103, + 64, + -83, + -124, + -86, + 26, + -45, + 66, + 122, + -96, + -32, + -70, + 40, + 123, + 43, + 127, + 83, + -64, + -6, + -98, + 80, + -112, + 120, + 51, + 22, + 53, + -7, + 72, + 70, + 9, + 125, + 75, + -51, + 85, + -13, + 60, + -77, + 95, + -38, + -78, + -124, + 6, + 12, + -77, + 80, + 100, + -101, + -74, + -52, + -121, + 63, + 58, + -88, + -69, + 84, + -56, + 118, + -127, + 12, + 2, + 93, + -61, + 72, + -69, + -12, + -89, + -97, + 93, + 116, + -89, + -128, + 57, + 60, + 38, + 14, + -74, + 60, + -85, + 6, + -63, + 17, + 9, + -62, + -16, + 108, + 4, + -58, + -47, + -34, + 104, + -67, + -23, + -113, + 76, + -7, + 51, + -44, + 7, + 26, + 69, + -91, + 84, + -126, + -119, + -75, + 72, + 115, + 6, + 106, + 78, + 73, + -123, + -10, + -68, + -78, + -42, + -48, + -73, + -87, + 51, + -79, + 45, + 122, + -112, + 100, + 67, + 50, + 112, + -108, + -93, + 84, + -101, + 74, + 26, + -47, + -85, + 76, + 85, + -110, + 86, + 101, + 118, + 53, + -17, + -84, + -80, + -45, + -95, + -60, + -1, + 0, + 16, + 115, + -71, + -68, + -50, + 50, + 9, + -72, + 101, + -109, + 11, + 51, + 59, + 58, + 15, + -68, + -97, + 33, + 35, + -5, + 108, + 44, + 100, + 85, + 76, + -120, + -27, + 92, + 117, + -119, + -33, + -111, + 97, + 20, + -72, + 24, + -116, + -104, + 83, + 72, + -123, + 50, + 3, + -115, + 100, + 71, + 3, + -53, + 125, + 23, + -117, + -60, + -30, + -27, + 101, + 98, + -14, + 82, + -29, + 101, + 66, + -80, + -27, + -49, + -117, + 12, + 109, + 42, + 79, + -109, + 32, + 96, + 86, + 104, + 30, + 89, + 39, + 88, + 113, + 81, + -54, + 100, + 76, + -113, + -109, + 16, + 114, + -56, + 99, + 80, + -54, + -54, + -113, + 126, + -13, + 120, + -34, + -20, + 97, + 77, + 15, + 121, + -46, + 115, + -31, + -56, + 119, + -113, + -74, + -73, + -118, + 113, + -47, + 83, + 52, + 122, + -51, + 29, + -68, + -43, + -48, + -53, + -41, + -48, + -4, + -2, + -119, + -87, + -25, + -10, + -114, + -80, + 52, + 103, + -70, + 114, + 118, + 105, + -108, + 11, + 60, + 122, + -81, + -37, + 90, + -118, + -35, + -111, + 63, + 83, + 1, + -115, + -45, + 65, + -125, + 95, + 83, + 78, + 75, + 118, + 127, + 102, + 69, + -116, + -36, + -41, + -125, + 90, + 21, + -18, + -21, + -125, + -26, + 78, + -42, + 34, + -47, + 51, + -106, + 20, + -77, + -49, + -105, + 49, + -75, + -75, + 109, + -119, + 8, + -74, + -103, + -87, + 89, + -107, + -51, + -112, + 78, + 124, + -14, + -82, + -58, + -112, + -35, + -126, + 86, + -46, + 15, + -99, + -21, + 79, + 93, + -48, + 114, + 54, + -27, + -20, + -74, + -10, + 51, + -88, + 36, + 48, + -85, + 9, + -6, + -67, + -43, + 82, + -2, + -31, + 104, + -34, + -119, + -52, + -29, + 27, + -100, + -6, + 48, + -121, + -98, + 44, + -25, + -108, + 78, + -57, + -84, + -81, + 122, + 75, + 28, + 86, + 81, + -88, + -83, + -72, + 50, + -65, + 33, + 16, + -17, + 59, + -104, + 101, + -108, + 75, + 11, + 42, + 42, + -21, + -18, + 20, + -47, + 11, + -47, + 100, + 83, + 17, + -109, + 100, + -96, + -82, + 41, + 100, + 76, + 58, + 74, + -28, + -5, + 11, + -71, + 102, + 3, + 45, + -122, + -49, + -37, + 61, + -65, + -46, + 122, + 126, + 62, + 87, + 43, + -60, + -12, + 53, + 116, + 45, + 3, + -50, + -117, + -6, + -95, + 102, + 77, + 57, + -99, + -112, + -34, + 100, + 89, + 111, + 17, + -47, + -100, + 115, + -14, + 47, + 12, + 52, + -98, + -59, + -50, + 50, + 9, + 19, + 84, + 116, + -92, + -56, + -40, + 25, + -19, + 104, + 116, + 79, + 43, + -13, + -15, + -78, + -47, + 6, + -81, + -8, + 3, + -49, + 41, + -108, + 5, + 127, + -110, + -49, + -61, + -58, + -26, + -79, + 39, + -64, + -62, + -56, + -110, + 56, + 103, + -115, + 39, + -128, + 40, + 73, + -30, + 121, + -79, + -34, + 41, + 100, + 69, + 37, + -106, + 109, + 11, + -84, + -109, + 15, + 47, + -13, + 20, + -77, + 9, + 118, + 32, + -6, + -30, + 97, + 101, + 102, + -3, + 33, + -101, + -115, + -107, + -101, + -120, + -109, + 73, + 17, + 120, + -78, + -29, + 44, + 96, + 8, + -109, + -59, + 52, + 126, + -22, + 87, + -115, + -40, + 41, + 84, + 26, + 43, + 70, + 89, + 84, + -96, + 3, + 80, + -68, + 122, + 83, + 33, + 127, + -13, + 7, + -70, + 54, + -1, + 0, + 60, + -83, + -120, + -18, + -8, + -121, + 23, + -106, + 58, + -81, + 89, + 38, + 41, + 88, + -57, + 1, + -25, + 69, + 120, + -5, + 54, + -90, + 53, + -100, + 69, + 2, + 9, + 93, + -102, + 6, + -125, + -114, + -39, + 105, + 24, + 113, + 38, + 9, + -110, + -49, + 18, + -94, + 20, + 101, + -11, + -40, + -76, + 119, + 96, + 115, + 124, + 116, + 99, + 101, + 82, + -123, + 94, + 95, + 57, + 117, + 100, + -55, + 64, + 100, + -121, + -114, + -76, + -23, + -95, + 124, + 58, + -56, + -46, + -66, + 0, + -11, + 118, + 107, + -99, + 114, + 48, + 117, + 6, + 60, + 40, + 66, + -32, + 17, + -85, + 43, + -99, + -125, + 63, + 78, + 118, + 14, + 72, + 41, + 17, + -108, + 127, + -34, + -103, + -94, + -123, + -118, + -97, + -26, + -117, + 102, + -3, + 108, + 61, + -79, + -82, + -74, + 90, + -11, + 67, + -99, + -41, + -54, + 33, + 114, + -74, + -75, + -106, + 64, + 89, + -87, + -92, + 51, + 21, + -42, + -87, + 7, + -6, + 105, + 111, + 46, + -117, + 63, + 85, + -7, + -35, + 114, + 12, + 26, + 21, + -103, + -95, + 42, + 10, + -107, + -74, + 17, + -71, + -44, + -73, + -97, + -105, + 75, + 45, + 125, + 30, + 58, + 7, + 61, + 117, + 53, + 84, + 75, + 117, + 8, + 1, + 54, + 71, + 73, + -100, + -44, + 29, + 29, + -13, + 98, + -123, + 105, + -122, + -104, + -107, + -122, + 60, + -28, + 5, + 125, + 49, + -72, + 101, + 114, + -49, + -83, + -18, + 26, + -125, + 88, + -29, + -6, + 85, + 99, + -17, + 77, + 38, + -24, + -110, + 101, + 123, + -7, + 75, + -65, + -109, + 16, + -81, + -7, + 80, + 61, + -104, + 86, + -69, + 83, + -126, + 13, + 43, + 83, + -59, + -26, + 127, + -30, + -116, + -104, + 124, + -41, + 43, + -98, + 19, + 27, + 24, + 105, + 6, + 110, + 41, + 89, + 84, + -57, + -106, + -39, + 18, + 100, + 60, + 126, + 88, + -74, + -16, + -100, + 89, + 33, + 88, + 91, + -60, + -59, + -28, + -115, + -117, + -22, + -56, + -60, + 2, + -70, + -121, + -45, + -4, + 86, + 68, + -4, + 55, + 22, + 103, + -24, + -116, + 108, + 64, + -7, + 69, + 76, + -79, + -123, + -15, + -29, + -17, + 82, + 38, + -37, + -101, + 102, + 110, + -69, + -78, + 77, + -111, + -14, + -35, + -27, + -12, + 49, + -100, + -23, + 113, + -111, + -128, + -72, + -122, + -5, + -39, + -10, + 86, + -82, + 69, + -38, + -6, + -16, + 101, + 122, + 31, + 102, + 108, + 83, + 94, + 97, + -98, + -89, + 42, + 66, + -44, + -110, + 86, + 107, + -128, + 38, + -25, + -57, + 78, + -43, + -8, + 92, + 62, + 111, + -16, + -84, + -111, + -63, + -12, + -48, + -109, + 46, + 23, + -113, + -42, + -80, + -56, + -24, + -67, + 28, + -11, + 34, + 46, + 96, + -39, + -104, + -54, + -41, + 106, + 90, + 71, + -13, + -51, + 7, + -83, + 42, + 118, + 48, + 119, + -36, + 78, + -128, + 75, + 5, + 83, + 65, + -31, + -96, + 97, + 104, + -109, + 28, + -119, + 38, + -119, + 113, + -8, + -68, + -34, + -122, + 19, + -119, + 86, + -89, + 106, + -51, + 7, + -22, + 28, + -109, + 90, + 18, + 89, + -54, + -118, + -16, + 7, + 11, + -94, + -105, + -90, + 109, + 79, + 82, + 14, + -82, + -62, + 37, + -125, + -70, + -71, + 10, + -92, + 22, + -82, + -98, + 82, + -93, + 84, + 52, + -16, + -82, + -11, + 102, + 70, + 36, + 113, + 52, + -105, + -65, + -18, + 32, + -23, + 112, + -41, + -121, + -61, + 123, + 47, + 1, + 123, + 49, + 92, + -116, + 125, + -14, + -39, + -8, + -74, + -110, + -36, + 44, + -46, + -110, + 107, + -105, + 64, + 86, + -16, + -48, + 66, + 91, + -112, + 27, + 112, + 18, + -113, + 114, + 21, + 23, + -93, + 23, + 29, + 58, + -72, + -117, + 0, + 64, + 112, + 60, + -20, + 37, + -84, + -42, + 106, + -127, + -98, + 75, + 84, + 116, + 114, + 34, + -116, + -114, + 103, + 15, + 91, + -69, + 85, + 21, + 72, + -2, + 72, + -1, + 0, + 33, + 89, + 59, + -128, + -63, + 43, + 0, + 42, + 126, + 20, + 62, + 111, + -57, + -3, + 51, + 3, + -53, + 7, + 37, + -51, + -7, + -78, + 115, + 97, + -53, + 89, + 68, + -112, + -26, + 74, + -14, + 120, + -40, + -29, + -78, + 3, + 44, + 108, + -74, + 98, + 101, + -112, + -54, + -72, + -20, + -85, + 41, + 27, + 18, + 69, + 32, + 108, + -117, + -110, + -28, + -91, + 105, + 112, + -72, + -44, + -114, + 24, + -126, + 24, + -111, + 114, + -96, + -96, + -15, + -86, + -107, + -14, + -54, + 36, + 32, + 9, + 30, + -9, + 83, + 45, + -5, + -103, + 125, + -90, + -57, + -87, + -122, + -105, + -24, + 5, + -76, + 29, + -42, + -82, + -85, + -111, + 81, + 118, + 77, + -125, + 27, + -86, + -72, + 24, + 57, + -67, + -59, + 116, + 105, + 49, + -89, + -44, + -52, + 41, + 13, + -44, + 105, + -24, + 84, + 0, + -30, + 23, + 120, + 4, + -86, + -27, + 79, + -13, + 71, + -34, + 81, + 45, + -51, + -1, + 0, + 51, + 86, + -125, + -109, + 92, + -51, + -28, + -52, + -69, + -32, + -4, + -93, + 111, + -61, + -125, + -68, + -18, + 36, + 64, + -118, + 69, + 28, + -8, + -42, + 48, + 38, + 88, + 16, + 96, + 1, + -108, + -44, + 56, + -97, + -118, + 76, + 52, + -53, + 52, + -112, + 34, + 30, + 18, + 3, + -44, + -8, + -28, + -60, + -91, + 87, + 24, + -33, + -101, + 24, + -105, + -28, + 59, + 20, + 81, + -119, + 18, + -58, + 116, + -110, + -49, + 92, + 46, + -43, + -79, + -14, + -96, + -75, + -11, + 88, + -62, + -64, + -47, + -51, + 3, + -23, + -54, + -11, + 61, + 11, + -65, + 35, + -1, + 0, + -43, + -1, + 0, + -93, + 126, + -80, + -46, + -123, + -87, + -108, + -1, + 0, + 102, + -85, + -97, + -77, + -1, + 0, + -57, + -53, + 95, + 22, + -123, + -86, + -75, + 5, + -2, + 61, + 116, + 117, + 38, + 115, + -89, + 29, + 4, + -36, + 119, + 103, + -8, + 64, + 79, + 83, + 42, + -77, + 108, + -128, + 57, + -81, + -24, + -12, + 85, + -87, + 76, + -68, + 68, + 17, + 66, + -85, + 45, + 54, + 73, + -120, + -73, + -55, + -42, + 56, + 11, + -42, + 35, + -43, + 122, + -60, + 72, + 24, + -75, + 23, + -39, + 88, + -99, + -57, + 75, + 94, + 90, + -12, + -106, + -83, + -103, + 27, + -15, + 107, + -19, + -14, + 49, + 67, + 24, + -56, + 102, + -27, + 117, + 118, + 109, + 35, + 44, + -53, + -111, + 1, + -109, + 9, + 9, + -60, + -103, + -54, + -8, + -106, + 82, + 99, + 81, + 18, + -94, + 34, + -68, + 82, + 56, + 116, + 17, + -84, + 64, + 70, + -84, + 10, + -123, + 96, + -125, + 85, + 80, + -92, + 12, + 31, + 79, + 59, + -50, + -55, + -101, + 34, + -59, + 50, + 121, + 11, + 7, + -22, + -9, + -112, + -80, + 37, + -126, + -23, + 101, + -100, + -73, + 76, + 122, + -90, + -17, + 107, + -11, + -70, + -125, + 52, + 18, + -72, + -98, + -61, + -63, + -53, + 51, + -90, + -50, + -46, + 9, + -88, + 37, + 67, + 84, + -125, + -45, + 14, + -76, + 44, + -107, + -75, + -48, + 3, + 85, + -62, + 9, + 2, + -88, + 24, + -95, + -13, + 22, + -94, + 62, + 82, + -60, + -52, + 113, + -79, + 119, + 98, + 96, + -53, + 4, + -7, + 96, + -8, + 98, + -56, + 101, + -127, + -27, + -95, + 5, + -42, + -13, + -126, + 39, + 55, + -118, + -128, + 23, + -90, + -97, + 56, + -62, + 30, + -61, + 80, + 123, + -123, + 66, + 127, + 93, + 52, + 28, + -121, + 84, + 47, + -112, + -83, + 56, + 112, + 36, + -124, + 56, + 26, + 92, + 21, + -7, + -14, + -107, + 76, + -73, + 19, + 42, + 97, + -83, + -63, + 11, + -85, + 80, + -117, + 47, + 36, + -87, + -30, + 13, + 24, + -65, + 33, + 28, + -79, + 55, + -36, + -8, + 105, + 27, + 32, + 41, + 118, + 64, + 45, + 48, + 122, + 51, + 39, + 84, + 46, + -54, + 74, + -31, + 115, + -22, + 99, + 126, + 20, + -29, + -5, + 77, + -13, + -115, + -89, + -126, + 84, + -88, + -96, + -75, + -43, + 43, + -33, + -39, + 110, + 83, + -104, + -12, + -105, + -57, + 119, + 61, + -104, + -59, + -125, + -72, + 79, + -30, + -3, + 104, + 118, + 91, + -96, + -118, + 34, + 120, + -20, + 46, + -103, + -38, + -6, + -3, + 105, + -29, + -82, + 118, + 0, + -125, + -89, + 26, + -50, + -47, + 60, + -11, + 104, + 6, + 112, + 61, + 77, + 104, + -28, + 10, + -105, + -89, + -100, + -72, + -12, + -11, + -42, + 7, + 113, + -21, + 18, + -24, + -62, + 73, + -55, + 61, + 91, + 72, + -118, + -119, + 93, + -80, + 58, + -87, + -115, + -73, + 99, + -118, + -121, + -110, + -113, + 31, + 33, + -105, + 38, + 56, + -23, + -124, + -117, + -10, + -51, + 8, + -110, + 70, + 10, + -87, + -31, + 120, + -99, + -124, + -120, + 7, + -80, + -122, + 66, + -56, + -31, + -118, + -80, + 103, + 96, + 61, + 83, + -28, + -15, + -101, + 25, + -94, + -57, + -57, + 67, + -42, + -91, + -40, + -95, + -76, + 1, + -127, + 98, + 92, + 19, + -27, + 83, + 102, + -64, + 3, + 82, + 47, + -37, + 68, + -6, + 36, + -58, + 3, + 56, + 105, + -79, + 69, + 100, + 69, + -25, + -22, + -51, + -42, + -90, + 101, + 57, + 77, + -76, + 125, + 126, + -81, + 21, + 50, + 4, + 29, + 28, + -2, + 54, + -79, + -89, + -40, + 38, + -79, + 56, + 75, + 87, + 70, + -76, + -70, + -115, + -5, + 13, + 49, + -56, + -11, + 110, + 124, + -91, + 45, + 107, + -123, + 25, + 108, + -34, + -98, + -59, + 123, + 25, + -6, + 125, + -80, + -99, + -39, + -81, + -54, + -75, + 87, + -38, + -31, + -31, + -117, + -112, + -27, + -41, + -38, + 87, + 23, + 126, + 16, + -69, + -72, + -123, + -97, + -8, + -74, + -104, + -61, + -14, + 86, + 1, + -90, + -14, + 119, + -107, + -109, + -58, + -24, + -48, + 38, + -113, + -10, + -99, + -23, + -83, + 53, + -77, + -119, + -102, + -17, + 16, + -38, + 41, + 39, + -45, + 93, + -44, + -26, + -98, + 126, + -119, + -32, + 47, + 9, + 38, + 44, + 79, + -105, + -99, + -52, + -63, + -112, + -64, + -103, + 99, + -115, + -103, + -112, + 49, + 99, + -18, + 66, + -86, + -64, + -85, + -118, + 97, + 68, + 10, + 52, + 21, + 65, + -44, + 12, + -102, + 14, + 94, + 41, + 90, + 56, + -95, + -64, + 100, + -116, + -22, + -92, + -78, + 6, + -21, + 91, + -38, + -40, + 29, + -127, + -80, + -42, + 44, + 16, + 67, + 29, + -121, + -87, + -98, + 110, + -42, + -100, + -43, + -27, + 100, + -20, + -70, + 9, + 61, + 10, + -106, + 94, + -17, + -99, + 118, + 62, + 51, + 36, + -107, + 60, + -125, + -48, + 54, + -125, + 110, + -69, + 69, + 0, + -10, + -105, + 117, + -53, + 87, + -55, + -28, + 25, + 126, + -127, + -36, + 11, + 11, + -21, + -59, + -2, + -83, + 51, + 38, + -36, + 40, + 88, + -69, + 121, + -88, + -84, + 29, + -48, + -126, + 100, + -118, + -84, + -76, + 78, + 49, + -53, + -68, + 19, + -19, + 63, + 28, + 1, + -22, + -46, + 55, + 111, + 89, + -50, + 15, + 111, + -24, + -125, + -90, + -36, + 127, + -40, + 2, + 104, + 76, + 97, + 64, + 51, + 86, + 68, + 68, + -96, + 14, + -22, + -113, + 47, + -122, + -60, + 125, + 26, + -90, + -94, + -39, + -87, + -6, + 15, + -19, + -112, + 101, + 68, + -3, + 98, + 126, + -50, + 2, + 15, + -49, + 117, + 86, + -61, + -91, + -18, + 68, + -40, + -61, + 104, + -11, + 46, + -85, + 2, + 80, + -56, + -4, + -65, + -91, + -25, + 38, + 111, + 30, + -48, + -13, + -47, + 56, + -13, + 58, + 101, + 15, + -53, + -81, + 94, + 93, + 18, + 110, + -106, + 106, + 103, + -48, + 37, + -122, + 21, + 53, + -12, + -32, + 83, + -41, + -121, + -41, + 97, + -20, + -21, + 77, + 57, + -103, + -43, + -41, + 28, + -28, + 91, + -85, + -1, + 0, + 110, + -50, + -106, + 24, + 40, + -34, + 118, + -79, + 105, + 51, + -91, + 2, + 121, + -11, + -96, + 60, + 35, + 73, + -60, + 110, + 48, + -58, + -70, + 63, + 121, + 42, + 11, + 43, + 15, + -97, + -24, + -101, + -118, + 61, + 84, + 52, + 102, + 103, + 19, + -38, + 9, + -79, + 0, + 109, + 103, + -106, + -62, + -76, + -13, + 39, + 86, + -14, + -95, + 122, + -70, + 118, + -109, + 125, + -45, + 63, + -2, + -17, + 69, + -122, + -59, + -91, + -42, + 77, + 116, + -93, + -91, + 63, + 71, + -81, + 30, + -104, + -77, + 96, + -68, + 64, + -85, + 98, + 73, + 28, + -71, + 42, + -55, + -4, + -76, + -106, + 88, + -106, + 82, + -127, + 45, + -85, + 84, + -57, + 100, + 42, + 40, + 7, + 117, + 52, + -37, + 91, + 34, + -100, + -57, + -56, + -57, + -28, + 34, + -112, + -126, + -71, + -120, + -47, + -30, + -70, + -74, + -50, + -15, + 69, + 39, + -120, + 62, + -32, + 11, + 5, + -89, + 87, + 7, + -65, + 108, + 77, + 68, + 5, + 53, + 94, + -69, + -17, + -78, + 60, + 120, + -20, + -13, + 79, + -112, + 13, + -20, + -38, + 22, + 47, + -89, + 106, + -24, + -120, + 46, + -26, + 86, + -45, + 125, + 30, + 21, + 88, + 110, + 99, + 75, + 117, + -117, + 82, + 25, + -95, + -108, + -123, + -29, + 30, + 95, + -125, + 74, + 115, + 101, + 20, + -116, + -23, + 81, + -127, + 32, + -107, + 54, + 121, + 111, + -23, + 109, + 12, + -82, + 10, + -126, + 26, + -66, + 44, + 127, + 55, + -12, + -19, + -95, + 126, + -21, + -2, + 120, + -48, + -97, + -38, + -126, + 44, + 122, + 77, + 75, + 61, + -43, + 117, + 6, + -59, + -30, + 36, + -36, + -12, + 121, + 116, + -36, + -9, + -54, + -100, + -78, + 103, + -123, + 115, + 53, + 5, + 54, + -11, + 85, + -9, + -100, + -83, + 89, + -87, + 92, + 6, + -31, + -103, + -48, + 34, + 107, + 72, + -94, + 124, + -56, + 94, + -106, + 26, + 104, + 30, + 7, + -45, + 115, + 69, + 75, + 74, + -49, + -75, + -128, + 67, + -9, + 67, + -5, + 117, + -65, + 13, + 86, + -27, + 122, + 60, + -5, + 69, + 121, + 109, + 110, + -45, + 73, + -93, + -42, + 9, + 71, + -50, + -63, + 19, + -78, + 84, + -4, + -36, + -3, + 21, + 67, + 34, + -39, + 83, + -21, + 29, + 36, + 40, + 90, + 22, + 127, + 55, + 90, + 31, + -99, + 94, + 22, + 81, + -103, + 122, + 78, + -111, + -27, + -78, + -41, + 52, + 29, + -119, + 124, + -90, + 85, + -82, + -58, + 23, + 111, + 48, + 99, + -52, + -51, + -38, + -110, + 42, + -98, + 124, + 106, + -112, + 125, + 84, + -58, + 29, + -84, + 41, + 103, + 26, + 3, + 27, + 20, + -71, + -125, + -106, + -77, + 83, + 39, + 87, + -98, + 28, + -33, + 44, + -91, + -118, + -121, + 77, + 4, + 115, + -83, + 23, + 35, + 82, + -24, + -65, + -30, + 43, + 50, + 39, + 54, + -72, + 9, + 44, + -50, + -69, + 4, + -113, + 14, + 102, + 86, + -85, + 81, + -30, + -32, + -58, + -117, + 11, + -100, + -15, + 24, + -30, + -118, + 121, + -78, + 115, + -62, + 40, + -80, + -45, + 100, + -51, + 48, + -98, + -127, + -8, + -9, + 54, + -96, + -9, + 65, + -107, + 64, + -24, + -43, + -20, + -28, + -112, + 102, + 112, + -91, + -29, + 121, + 101, + -114, + 56, + 113, + 119, + 118, + 1, + -107, + 35, + -113, + 28, + -57, + 100, + 124, + -17, + -96, + 36, + 88, + -74, + 82, + 79, + 95, + 27, + 12, + 57, + -17, + -57, + 69, + 73, + 45, + 47, + 101, + 91, + -54, + 118, + -31, + -65, + 52, + 0, + 16, + 111, + -126, + -112, + 109, + -8, + -91, + -53, + 90, + -119, + -77, + 21, + 57, + -74, + 78, + 59, + 89, + 118, + 124, + 94, + -77, + 22, + 97, + -93, + 40, + -35, + -48, + 54, + 37, + -95, + 4, + -60, + -125, + -77, + -2, + 63, + -116, + 34, + 6, + 122, + -89, + 105, + -67, + 33, + 66, + -118, + 105, + 116, + -52, + -93, + -30, + -21, + 46, + 119, + -22, + 109, + -128, + 14, + -41, + 5, + -28, + -100, + 61, + -73, + -42, + -80, + 4, + 70, + 2, + -39, + -106, + -101, + -7, + -83, + 105, + 2, + -3, + 89, + -93, + -79, + 103, + 62, + -112, + 123, + 89, + -75, + 117, + -65, + 63, + 111, + -64, + 51, + -75, + -93, + -39, + -9, + 104, + 55, + -20, + 32, + 86, + 50, + -63, + -78, + 49, + -71, + -104, + 9, + -3, + 86, + -50, + 121, + -26, + -78, + 80, + -55, + 61, + 69, + -127, + -7, + -15, + -42, + 21, + 28, + -63, + 59, + -55, + -104, + -58, + 83, + -23, + 63, + 79, + 28, + 93, + -59, + -27, + -82, + -41, + -121, + -64, + 61, + -109, + 9, + 3, + 18, + -16, + -35, + 87, + -47, + -6, + -92, + -83, + 35, + -112, + -75, + 76, + -14, + -79, + 37, + 22, + 13, + 82, + -98, + 72, + -76, + 79, + -122, + 117, + -105, + 21, + -90, + -83, + 22, + -99, + -25, + 119, + 34, + -38, + 54, + 63, + 98, + -38, + -50, + -29, + 103, + -3, + -80, + 112, + 127, + 49, + 121, + -128, + -86, + -38, + 35, + 46, + -60, + -92, + -63, + -96, + -109, + 93, + -125, + -118, + 97, + 117, + -89, + 81, + -30, + -51, + -67, + -47, + 94, + 32, + -49, + 85, + 127, + 90, + 6, + 87, + 101, + 17, + -111, + -76, + -51, + 33, + -128, + 57, + 17, + 34, + -77, + -46, + -58, + -56, + 55, + -80, + 36, + -83, + -43, + 121, + 91, + 21, + -12, + 56, + -25, + -41, + -76, + -26, + 110, + 37, + 95, + -2, + -109, + 44, + 94, + 36, + -106, + 41, + 56, + -7, + -84, + 26, + -14, + -77, + 75, + 16, + 97, + 24, + 82, + 8, + 37, + 80, + -126, + -52, + 69, + 0, + 16, + 22, + 10, + 0, + 11, + 124, + -60, + -48, + -57, + -54, + 99, + 19, + 60, + -112, + -50, + 57, + 24, + 66, + -90, + -82, + 99, + -46, + 39, + 8, + -14, + -110, + -92, + 29, + 9, + -40, + 0, + 7, + 100, + 59, + 80, + 85, + 62, + -109, + 87, + -84, + -72, + -98, + 124, + 55, + 93, + 83, + 35, + 46, + -66, + -37, + -67, + -125, + -64, + 115, + 48, + 2, + -107, + -107, + -12, + 7, + 21, + -83, + -89, + 84, + 37, + -89, + -110, + -36, + 51, + -12, + -108, + -78, + -39, + -93, + 113, + -83, + 51, + 37, + 127, + -41, + -26, + 105, + -92, + -73, + 105, + -114, + -116, + 79, + 0, + -115, + -51, + -107, + 11, + 99, + 106, + -60, + -40, + 110, + -21, + 46, + 76, + -125, + -51, + -23, + -72, + 77, + 126, + -63, + -47, + -11, + 105, + -35, + 52, + -52, + -61, + 99, + -52, + -76, + 20, + -111, + -76, + 105, + 49, + -96, + 49, + -87, + 108, + 25, + 120, + -19, + -79, + -31, + -85, + 77, + -90, + -36, + -20, + -22, + -115, + 93, + 105, + -77, + 80, + -99, + -66, + -110, + -118, + -83, + -23, + 116, + -42, + -11, + 37, + 111, + 71, + 36, + -106, + -121, + 56, + 127, + -53, + -59, + 63, + -9, + -85, + -88, + 103, + 5, + -79, + -10, + 71, + 12, + -14, + -90, + -21, + -83, + 2, + -87, + -75, + 34, + -20, + 120, + -93, + -72, + 108, + -29, + 71, + -56, + 66, + 121, + -79, + 111, + -47, + 95, + 116, + 10, + -97, + -22, + 123, + 78, + 88, + -97, + 95, + 60, + 85, + 100, + 60, + 83, + -50, + -113, + -124, + -51, + 2, + 15, + -124, + -42, + -118, + -69, + 80, + 117, + -6, + 34, + -11, + 27, + 98, + -65, + -96, + 25, + 61, + 105, + -70, + -112, + 114, + -20, + 123, + 51, + -96, + 67, + -48, + -82, + -66, + -101, + -6, + -45, + -87, + 104, + 126, + -124, + 83, + -55, + -75, + -43, + -15, + 85, + 108, + 97, + 90, + 67, + 55, + -97, + -12, + -19, + 87, + 36, + -49, + 94, + -103, + -37, + 5, + -12, + -122, + -50, + 9, + -81, + 30, + 17, + -10, + -29, + 30, + -85, + 6, + -59, + 58, + 30, + 80, + 13, + 57, + -102, + -62, + -12, + 99, + 38, + -96, + 49, + -112, + -52, + -23, + 59, + 72, + -107, + -60, + -59, + -68, + 121, + 104, + 46, + 38, + 15, + 23, + 46, + 86, + 55, + 31, + -107, + -116, + -50, + -78, + -84, + 48, + -92, + 99, + 33, + 21, + 104, + -56, + -14, + -53, + 14, + 49, + 116, + 118, + 117, + 0, + -8, + -101, + 89, + 24, + -21, + -95, + -39, + -104, + -87, + -120, + -114, + 70, + 103, + 42, + -80, + 100, + -26, + -30, + -50, + -111, + 60, + 109, + -111, + 51, + -69, + 66, + -51, + 46, + -23, + 28, + 112, + -57, + 44, + -22, + -91, + 80, + 89, + 34, + 68, + -39, + 69, + -97, + 37, + -88, + 90, + -125, + -20, + -103, + 30, + 66, + 51, + 34, + -12, + 91, + -11, + -121, + -90, + -84, + -59, + 19, + 71, + -117, + 16, + 70, + -50, + 115, + -38, + 58, + 38, + -114, + -54, + -95, + -24, + -127, + -103, + 115, + 9, + -37, + -1, + 0, + 78, + -90, + 40, + 85, + 115, + -48, + 51, + 16, + 107, + -6, + 91, + -27, + 26, + 78, + -104, + 22, + -99, + -87, + 104, + -51, + -112, + -23, + 84, + 81, + -104, + -85, + 103, + -87, + -28, + 106, + -44, + 59, + -24, + 125, + -95, + 116, + -13, + -49, + -82, + 125, + 1, + -120, + -67, + 111, + 110, + -64, + 45, + 47, + -106, + -46, + 53, + -60, + 70, + 21, + -119, + 93, + -40, + 24, + -104, + -76, + 45, + 51, + -84, + -31, + -128, + -124, + -118, + -117, + -26, + -83, + -82, + -79, + -9, + 5, + 99, + -92, + 59, + -78, + 9, + 122, + 20, + 17, + -84, + 2, + -101, + -13, + -65, + -30, + -57, + 115, + -94, + 99, + -19, + -58, + -85, + 76, + 69, + 75, + 49, + 117, + 50, + -78, + -90, + 11, + 125, + 20, + -122, + -4, + -77, + -30, + -64, + 45, + -104, + -84, + 106, + -5, + -121, + -116, + 118, + 3, + 4, + -77, + -94, + -85, + -19, + 74, + -117, + 108, + 36, + -107, + -120, + -27, + 41, + -81, + 5, + 33, + 103, + 6, + -17, + -93, + -26, + 60, + 70, + 75, + 86, + 45, + -101, + -23, + -6, + -87, + -3, + 101, + -36, + 122, + 105, + -97, + 68, + 102, + -53, + 107, + -70, + 87, + 101, + 105, + 82, + -113, + -62, + 87, + -57, + -43, + -85, + 124, + -88, + -107, + -26, + -118, + -94, + -43, + -117, + 19, + -118, + -24, + 32, + -31, + 12, + -42, + 101, + -22, + -24, + 43, + -13, + 16, + -77, + -36, + 37, + 33, + 117, + 38, + -75, + 8, + -22, + -80, + 85, + 75, + 59, + -59, + -95, + -36, + -79, + -12, + 92, + -28, + 83, + 42, + -38, + -22, + -76, + 107, + 95, + 78, + 102, + -65, + 87, + -52, + -8, + -36, + -105, + 19, + -107, + -57, + -14, + 94, + 24, + -90, + -29, + -19, + 102, + 70, + -16, + 120, + 100, + 92, + -95, + 28, + -56, + -80, + -85, + -86, + 70, + 99, + 102, + -42, + 72, + -68, + 72, + -22, + 20, + -110, + 11, + 70, + 72, + -48, + 62, + -110, + -61, + -113, + 39, + 27, + -111, + -117, + -108, + -29, + -9, + 72, + -13, + 124, + 71, + 10, + 84, + -14, + -119, + -106, + 76, + 85, + -106, + 41, + -98, + 74, + 62, + 84, + 120, + -48, + -70, + 75, + -26, + -110, + 57, + 73, + 82, + -115, + 76, + 7, + -90, + -76, + -99, + 3, + -7, + -77, + 99, + 61, + -74, + -56, + 100, + 44, + 37, + -72, + -51, + -41, + 17, + -50, + -44, + 105, + -14, + 109, + 83, + 77, + 89, + -76, + -36, + 124, + 5, + 87, + 76, + -6, + -57, + 66, + -7, + -79, + -3, + 64, + -84, + -96, + -19, + -38, + 77, + -90, + -88, + 8, + 120, + -2, + -17, + 85, + 52, + 18, + 32, + -103, + -79, + -80, + -92, + -124, + -82, + 10, + -17, + -78, + -37, + -46, + 4, + 47, + -73, + 45, + -101, + 100, + 8, + 87, + -123, + -53, + -93, + 97, + 7, + 98, + 9, + -29, + -108, + -64, + 74, + 108, + 50, + -109, + 11, + 105, + -80, + 59, + 28, + -68, + -85, + 83, + 56, + -85, + 31, + 100, + 127, + -112, + 70, + -76, + -93, + -86, + 94, + 38, + 94, + -103, + -66, + -37, + 68, + 40, + 23, + -108, + 65, + 13, + 121, + 42, + 16, + 6, + 36, + 5, + 36, + 59, + -5, + -58, + -126, + -65, + 43, + 107, + -80, + -4, + -15, + -118, + -55, + 123, + -49, + 74, + 97, + -13, + -15, + -6, + 19, + 60, + 97, + -31, + 74, + 46, + 88, + 20, + -76, + -86, + -62, + 1, + -88, + -43, + -90, + -77, + -31, + -20, + 39, + -89, + 89, + -73, + -96, + -99, + 38, + 105, + -95, + 105, + 60, + -36, + -35, + 3, + -29, + -9, + -113, + -84, + -110, + 31, + 116, + 80, + -79, + -107, + -31, + 41, + -15, + 105, + 28, + 101, + 26, + 95, + 9, + -51, + 86, + -27, + -85, + 81, + 43, + 18, + 39, + 57, + -102, + -80, + -59, + 124, + -117, + 29, + -21, + 11, + 37, + -59, + -66, + 44, + 20, + -83, + 123, + -97, + -110, + -55, + 61, + 42, + 32, + 21, + -30, + 101, + -112, + 24, + 65, + -86, + 20, + -14, + 110, + 119, + -113, + -125, + -113, + -28, + -14, + -14, + -79, + -110, + 86, + -51, + -126, + 117, + -72, + -14, + 46, + 83, + 50, + 74, + -91, + 103, + 15, + -26, + 7, + 97, + 33, + 97, + -29, + 103, + -73, + 55, + 27, + -128, + -89, + -65, + 90, + -34, + 6, + 115, + 102, + -15, + -40, + 120, + -63, + 113, + -58, + 36, + -56, + -1, + 0, + -51, + -128, + 44, + 81, + -59, + 36, + 76, + 12, + 5, + 74, + 48, + 10, + 19, + 93, + 101, + 81, + -19, + 83, + -70, + -99, + -86, + -124, + 106, + -74, + 43, + -93, + -116, + 105, + -5, + -96, + 87, + -33, + 51, + -55, + -41, + 15, + -44, + 7, + -96, + 125, + 64, + 103, + -80, + -5, + 25, + 110, + 87, + 8, + 90, + -43, + -93, + -23, + 94, + -14, + -86, + 29, + 54, + -99, + 39, + -121, + 58, + -107, + 50, + -27, + 25, + -64, + 108, + 108, + -53, + 11, + -56, + 65, + -85, + -38, + -26, + 127, + -79, + -127, + 5, + -98, + 88, + 16, + 84, + 11, + 83, + -103, + 50, + -104, + -26, + 91, + 106, + -92, + -32, + 101, + 92, + -97, + -40, + 47, + -45, + -84, + -96, + -58, + -38, + -42, + 6, + -104, + -87, + 44, + 41, + -121, + 24, + -78, + 30, + 111, + -85, + 48, + -71, + 116, + 92, + -71, + -125, + 60, + 37, + 45, + 20, + 72, + 9, + 13, + 115, + -51, + 18, + 52, + 81, + -4, + 101, + 58, + -76, + 126, + -122, + 22, + -51, + 85, + 26, + 69, + 41, + -98, + 65, + 50, + -25, + -32, + -34, + -126, + 87, + -52, + 90, + 85, + 57, + 45, + 101, + -116, + 51, + 12, + 73, + -11, + -18, + -2, + 61, + -110, + 86, + -11, + -8, + 8, + -63, + 115, + -114, + -52, + 32, + -106, + 88, + -53, + 35, + -106, + -3, + -85, + 52, + 25, + 115, + -8, + 111, + -103, + 57, + 13, + -110, + 86, + -96, + -5, + 53, + 80, + 11, + -43, + 70, + -96, + 98, + -53, + -55, + 82, + 25, + 106, + -58, + -55, + -15, + -43, + 63, + -106, + 87, + -63, + -20, + 54, + -107, + 86, + 8, + -57, + 127, + -95, + -28, + -50, + -52, + 59, + -107, + 118, + 48, + -1, + 0, + 0, + -70, + 64, + 66, + 32, + 118, + -27, + -80, + 32, + -72, + -16, + -100, + 53, + 102, + 97, + 24, + 11, + -63, + -37, + 84, + -53, + -46, + 21, + -64, + -122, + 108, + -100, + 88, + -46, + 71, + -58, + -110, + 60, + -120, + 97, + 16, + -92, + 73, + -115, + -116, + -31, + -30, + 103, + 79, + 28, + -117, + 18, + 42, + -90, + 66, + 58, + 74, + -63, + -92, + 71, + 102, + 87, + -75, + 38, + 54, + -41, + -48, + 111, + 118, + 23, + -35, + 54, + 71, + -103, + -89, + -118, + 114, + -49, + 44, + -118, + -46, + -95, + 89, + 99, + 87, + 102, + -115, + 88, + -112, + -15, + 83, + -94, + -128, + -84, + 6, + -64, + 88, + 13, + -23, + -112, + 117, + 4, + -111, + 10, + -53, + 5, + -88, + -84, + -79, + 55, + -86, + -126, + -87, + -35, + 51, + 13, + 68, + -63, + 63, + 54, + -27, + 93, + -122, + 35, + -86, + -25, + -40, + -37, + 17, + 2, + -50, + 74, + 11, + -124, + -62, + -126, + 22, + 102, + 22, + 127, + -84, + -94, + 30, + -127, + 80, + -84, + 24, + -125, + 0, + -114, + -111, + -92, + 12, + 32, + -47, + -123, + 8, + 91, + -92, + -72, + -26, + 101, + 27, + -19, + -45, + -92, + 92, + 18, + -20, + 28, + -55, + -68, + -61, + 21, + 102, + 27, + -1, + 0, + 41, + 103, + -28, + 116, + -95, + -20, + 2, + 0, + -107, + 65, + -46, + -5, + -49, + -104, + 86, + 40, + 14, + 99, + 32, + 30, + 18, + -8, + -24, + -83, + 46, + -99, + -39, + 26, + 86, + -21, + -92, + 15, + -111, + 49, + 2, + -39, + 67, + -62, + 68, + -37, + 101, + -95, + 3, + 55, + -25, + -19, + 102, + -87, + 53, + -41, + 112, + 91, + 35, + -63, + -71, + 56, + -52, + 44, + 104, + -10, + 20, + -35, + -112, + -60, + 35, + 84, + -94, + -26, + -62, + 106, + -79, + -80, + 71, + 92, + 12, + 50, + -79, + 85, + -74, + -7, + 8, + -3, + 44, + 81, + 37, + 112, + 0, + 52, + -88, + 93, + -59, + 55, + 41, + 99, + -36, + 49, + 19, + -50, + -42, + -48, + 108, + 51, + 50, + -127, + 97, + -36, + 120, + 83, + -52, + 100, + 89, + 92, + -107, + -88, + -35, + -50, + -116, + 122, + 19, + 35, + -48, + 25, + -26, + 20, + -46, + -93, + 101, + -23, + 85, + 36, + 92, + 101, + -78, + -4, + 74, + -98, + -49, + 90, + -110, + 86, + -33, + 93, + -38, + -82, + -127, + -99, + -24, + -107, + 66, + 62, + 70, + -62, + 60, + 56, + -78, + -7, + -78, + 27, + -35, + 100, + 78, + 80, + -37, + -12, + 121, + -58, + 57, + 107, + -60, + -126, + 92, + -6, + 123, + -120, + 94, + 99, + 46, + 30, + 57, + 39, + 50, + -107, + 57, + 18, + -26, + -84, + -46, + 24, + 86, + 25, + -93, + 0, + 71, + 72, + -70, + 32, + 67, + -76, + 115, + -59, + -107, + -76, + -127, + -125, + 74, + -124, + 6, + -115, + -94, + 80, + -36, + -33, + 50, + -8, + 56, + 25, + -39, + -77, + -90, + -122, + 51, + -113, + -10, + -46, + 44, + 106, + -26, + 120, + 73, + 81, + 42, + -126, + -56, + -92, + -20, + -86, + 119, + -120, + -127, + -92, + -115, + 91, + 16, + 3, + 122, + 79, + -115, + -7, + -21, + -120, + -113, + -67, + 73, + 68, + -32, + 44, + -63, + 47, + 53, + 80, + -51, + -57, + -52, + -90, + 114, + -64, + 112, + 58, + 14, + -87, + 3, + -88, + 116, + 68, + 122, + -60, + 68, + 44, + 89, + 71, + 89, + 37, + 71, + -95, + 42, + -58, + 83, + 90, + 53, + 109, + 24, + 34, + -24, + -111, + 68, + 45, + -42, + 37, + 25, + -70, + 97, + -17, + 74, + 82, + 67, + -66, + -86, + -39, + -15, + 121, + 107, + -2, + 86, + -28, + 28, + -74, + 25, + -77, + -51, + 64, + -50, + 48, + 28, + 95, + 110, + 117, + -65, + 63, + -30, + -107, + -19, + -59, + -1, + 0, + 42, + 1, + -63, + 86, + 88, + 1, + -113, + 8, + 32, + 65, + -80, + 81, + 19, + -12, + 39, + 27, + -40, + -128, + 106, + -73, + -116, + 20, + -103, + -37, + -96, + -50, + -48, + 49, + 19, + -76, + 5, + 66, + 119, + 83, + -62, + -109, + -14, + 106, + 79, + 75, + -79, + 8, + -40, + -12, + -108, + -1, + 0, + -107, + -23, + 114, + -68, + 101, + -91, + -34, + -25, + 16, + 39, + 18, + -35, + -17, + -25, + -81, + -114, + -108, + 114, + 28, + -124, + 109, + 18, + 74, + -38, + 5, + 4, + -44, + -56, + -46, + 52, + -86, + 43, + -58, + 48, + -51, + 13, + 126, + 92, + 71, + -28, + 46, + 32, + 68, + -77, + 50, + 88, + -45, + -24, + 25, + -98, + -116, + 52, + 56, + -51, + 7, + -108, + -11, + 38, + 104, + 20, + 48, + -14, + 104, + -95, + 43, + 26, + -94, + -66, + 18, + 16, + -39, + -114, + 5, + -97, + 97, + 73, + -70, + -117, + -17, + 116, + -91, + -98, + -71, + -86, + -67, + 49, + -23, + 122, + -64, + -23, + -59, + -56, + -48, + -119, + -99, + 106, + -97, + 17, + -42, + -109, + 26, + -116, + -97, + 30, + -91, + -35, + 21, + 27, + -27, + -71, + 63, + -94, + -71, + 72, + 101, + 19, + 67, + 36, + -111, + 38, + 14, + 24, + 105, + -95, + -123, + 29, + -50, + 68, + -79, + 100, + -56, + -109, + 66, + 1, + -112, + -68, + -82, + -15, + -86, + 100, + 43, + -86, + -126, + -56, + 33, + 96, + -95, + -63, + 1, + 101, + 62, + -83, + -63, + -104, + 36, + 106, + -79, + 72, + -39, + 83, + 68, + -111, + -54, + -20, + -96, + 44, + 45, + 20, + 50, + -119, + 72, + 8, + 18, + 53, + -74, + 120, + -118, + 51, + 117, + 39, + -111, + 108, + -81, + -62, + -7, + -114, + 86, + 30, + -50, + 101, + 21, + 87, + 68, + -13, + 113, + -51, + -62, + 112, + 56, + -31, + 34, + 18, + -83, + 28, + 58, + 53, + 6, + -100, + -74, + 45, + -66, + 114, + 62, + -85, + 114, + -31, + 50, + -70, + 13, + -26, + 55, + 46, + -122, + -54, + 60, + -32, + -26, + -117, + -3, + 103, + -62, + -86, + -113, + -103, + -103, + 119, + -94, + 12, + -59, + -17, + 22, + -85, + 100, + -90, + 126, + -128, + -24, + 117, + -122, + 86, + 15, + 6, + -110, + -2, + -93, + 17, + -68, + -16, + -105, + -62, + 2, + 82, + 62, + 87, + 20, + -96, + 116, + 45, + -49, + -92, + -39, + 24, + 44, + 12, + -6, + -66, + 46, + 106, + 76, + 85, + -31, + -94, + 9, + 61, + 104, + 12, + 87, + 77, + -35, + -71, + -35, + -126, + -26, + 15, + 16, + -5, + 70, + 1, + -74, + -30, + 102, + -83, + 54, + 126, + -106, + 113, + 62, + -90, + -58, + -64, + -57, + -113, + 17, + -8, + 12, + 60, + -71, + 32, + -35, + 36, + -97, + 34, + 5, + 121, + -117, + -119, + 73, + 42, + -27, + 20, + 11, + -116, + 123, + 0, + 35, + 96, + -88, + -95, + -83, + -82, + -22, + 114, + 24, + -71, + 50, + 102, + -28, + -53, + 7, + 33, + 42, + 67, + 52, + -83, + 44, + 98, + 41, + 74, + 71, + 82, + 21, + 123, + 69, + 39, + -12, + -110, + 108, + 17, + -47, + 22, + 65, + 34, + -67, + 90, + -54, + 62, + 73, + -73, + 17, + -12, + 66, + 85, + -99, + 19, + 125, + 92, + -46, + 116, + -75, + -117, + -60, + -51, + 91, + 107, + -12, + -54, + -15, + -113, + 77, + 117, + 14, + -86, + -54, + 116, + 34, + 107, + 31, + -33, + 42, + 99, + -71, + -124, + 94, + 104, + 95, + -59, + -87, + -26, + 119, + -79, + -105, + -91, + 111, + -20, + -75, + -28, + -96, + -44, + -42, + 56, + 17, + -51, + 69, + 87, + 58, + 7, + -101, + -40, + 58, + -39, + 69, + 97, + 35, + -77, + -6, + -76, + 78, + -58, + 37, + -3, + 63, + 14, + -114, + -87, + 53, + 118, + 29, + -65, + 5, + -48, + -16, + 12, + -53, + 74, + 106, + -46, + 91, + 13, + -94, + -25, + -99, + -22, + 2, + 24, + 8, + 105, + 103, + -10, + 53, + 76, + 64, + 61, + 112, + 2, + 5, + 122, + 0, + -24, + 20, + -126, + 68, + 95, + 11, + -114, + -122, + -40, + 69, + -125, + 7, + -112, + -26, + 110, + 88, + 19, + 126, + 27, + 93, + -62, + -35, + -95, + 97, + -39, + 53, + -105, + -43, + 79, + 66, + 40, + 12, + 95, + 57, + -83, + 105, + -39, + -54, + -5, + 9, + 36, + 92, + -35, + -125, + -121, + 17, + 57, + -10, + 12, + 30, + 115, + 29, + 56, + -58, + 36, + -46, + 35, + 24, + 92, + -12, + 89, + -76, + -57, + 29, + 25, + 80, + 38, + 87, + 68, + 12, + 103, + 30, + 7, + -67, + 31, + 121, + 54, + -65, + 117, + -15, + 107, + -85, + 20, + -13, + -19, + -51, + 2, + -81, + -105, + 118, + 66, + -35, + 103, + -13, + -82, + 30, + 33, + -80, + -59, + 107, + 80, + 1, + -24, + 49, + -49, + -50, + -53, + -94, + -116, + 40, + 106, + 54, + 52, + 62, + 104, + 41, + -103, + -100, + 25, + -124, + -62, + 69, + -79, + 80, + -3, + -42, + -6, + -11, + -78, + -118, + 14, + -8, + -26, + 89, + -111, + -108, + 8, + -106, + -67, + 1, + 77, + -67, + 109, + -116, + 112, + 90, + 62, + -73, + -27, + 83, + -59, + -61, + 52, + -125, + 119, + 119, + -50, + 39, + -18, + 20, + 16, + -82, + -118, + -14, + 68, + 11, + 91, + 45, + -126, + -111, + 40, + 4, + 22, + 5, + -101, + -31, + 42, + -101, + 47, + -31, + 50, + 90, + 126, + 113, + 113, + -120, + -118, + 52, + -117, + -115, + 64, + 113, + 74, + -99, + -110, + 86, + -114, + 41, + 92, + 41, + -46, + -120, + 67, + 45, + -112, + 74, + -80, + 81, + -7, + -69, + -12, + -69, + -91, + 8, + -51, + 1, + -19, + -104, + -93, + 55, + 62, + 125, + -12, + -106, + 58, + 81, + -97, + 5, + 55, + -90, + 10, + 16, + -115, + -126, + -85, + -15, + -88, + 105, + -24, + -5, + 24, + 10, + -39, + 70, + 108, + 74, + -87, + -17, + 41, + -85, + 104, + 44, + 10, + -4, + 55, + 104, + 82, + -69, + 42, + -41, + 40, + -13, + -102, + 46, + -106, + 28, + 60, + -88, + -54, + -29, + 120, + 102, + 60, + -29, + 88, + 18, + -45, + 71, + -102, + 123, + -121, + -49, + 48, + -40, + 125, + -54, + -14, + -121, + 76, + -102, + 124, + -6, + 127, + 67, + 96, + -102, + -126, + -82, + 109, + -23, + 109, + -52, + 30, + 109, + 76, + 24, + 52, + 60, + -89, + 91, + -116, + -86, + 46, + -77, + -82, + -21, + -31, + -17, + -52, + -18, + 99, + 71, + -96, + 9, + 101, + -16, + -71, + -52, + -60, + -35, + 95, + -76, + -74, + 70, + -106, + -68, + -97, + 87, + -35, + 11, + -52, + -61, + -104, + -81, + -17, + 82, + -113, + -37, + -110, + -117, + -65, + -80, + -85, + 113, + -24, + -16, + 45, + 24, + -25, + -97, + 22, + -121, + 107, + -107, + -105, + 17, + -14, + -61, + -76, + 44, + 10, + -84, + -71, + -104, + -25, + 99, + -81, + -6, + -64, + -102, + -106, + 56, + -3, + 123, + -21, + 43, + 63, + 1, + -33, + 41, + -79, + -19, + -102, + -125, + -110, + -69, + -50, + 125, + -84, + 5, + 28, + -78, + 16, + -50, + 93, + 74, + -112, + -12, + -16, + -64, + -62, + -25, + 73, + 6, + -29, + -9, + 72, + -46, + -75, + 53, + -5, + -117, + 124, + -34, + 120, + -8, + -32, + 85, + 61, + -29, + 115, + 114, + -63, + 116, + -5, + 9, + -73, + 54, + 58, + -49, + 26, + 39, + -91, + 85, + 108, + 40, + -24, + -22, + 48, + 82, + -13, + -59, + 118, + 83, + 27, + 105, + 29, + -57, + 75, + -94, + -102, + 50, + 77, + 36, + 27, + 77, + -52, + -55, + -106, + 90, + 45, + -126, + 87, + 94, + 93, + -18, + -81, + -3, + 73, + 103, + 17, + 4, + -115, + 36, + 113, + 28, + -48, + 13, + -93, + 58, + -110, + 67, + 16, + -66, + -21, + 7, + 107, + -108, + -18, + -121, + -80, + 72, + 81, + -16, + 125, + 63, + 4, + -5, + -122, + 103, + -110, + 53, + 50, + 65, + 53, + -85, + 86, + -95, + 74, + -80, + 113, + -83, + 16, + 22, + -111, + 116, + 99, + 125, + 11, + 0, + -125, + -16, + -25, + -7, + -83, + -67, + 39, + -34, + -66, + -100, + -45, + 13, + -38, + -45, + -112, + 45, + -18, + 27, + 66, + -111, + -108, + -84, + 49, + 109, + 80, + -14, + -82, + 96, + 75, + 36, + 77, + 93, + 107, + 61, + 117, + 93, + -23, + 99, + 68, + 4, + 111, + 82, + -40, + 50, + -67, + 26, + 103, + 127, + -82, + -69, + 12, + -7, + -51, + 2, + -21, + -6, + 99, + 105, + 113, + -22, + 65, + 27, + 8, + -23, + 88, + -42, + -122, + -52, + -63, + -116, + 92, + 20, + -44, + 1, + 10, + 89, + -11, + 17, + -93, + 109, + -39, + 122, + -29, + -120, + 54, + 23, + -100, + -23, + -60, + 18, + -10, + 124, + -111, + 79, + -75, + 92, + 112, + 90, + -8, + -84, + -60, + 125, + -84, + 89, + 113, + -59, + -55, + 34, + 66, + -54, + -19, + -102, + -96, + -62, + -85, + 55, + -63, + 45, + -52, + 121, + 84, + 95, + -86, + 78, + -71, + -29, + -63, + 25, + -76, + 6, + 124, + -55, + -13, + 91, + -47, + 87, + -127, + 82, + -95, + -95, + 99, + 66, + 65, + -5, + 35, + -56, + -43, + -58, + -90, + -20, + 86, + 88, + 79, + 48, + -23, + 124, + 0, + -13, + 46, + -95, + -25, + 124, + 85, + -54, + 69, + 38, + -64, + -105, + -3, + 14, + 124, + -66, + -68, + -30, + -44, + 84, + 5, + 121, + 12, + -82, + -48, + -79, + -101, + 62, + -71, + 98, + 91, + -118, + 58, + -30, + 123, + 10, + 15, + -97, + 124, + -56, + -19, + -86, + 103, + -92, + 115, + -11, + -26, + 93, + 30, + -117, + -125, + -7, + 115, + -43, + -117, + 88, + 43, + 95, + -106, + -68, + -71, + -29, + 53, + 44, + 58, + 123, + -46, + -118, + -44, + -76, + -44, + -27, + 67, + 126, + 111, + -80, + -29, + -83, + -72, + -68, + -25, + 25, + 124, + -39, + 126, + 89, + -74, + 84, + -56, + 112, + 87, + 115, + -55, + 61, + -112, + 58, + -23, + -109, + 61, + -80, + -60, + -71, + 96, + 19, + -14, + 115, + 46, + -106, + -94, + -119, + -108, + -111, + -12, + 6, + 104, + -66, + -96, + -81, + -90, + -32, + 98, + -27, + 99, + -32, + -57, + 20, + 34, + 50, + 36, + -57, + 109, + -90, + 101, + 2, + 49, + -78, + 2, + -31, + -28, + 102, + 0, + 48, + -43, + 71, + -114, + 36, + 50, + 43, + -93, + 19, + -78, + -88, + 3, + 13, + -26, + 121, + 120, + -14, + -71, + -48, + -20, + -78, + -90, + 52, + 83, + -92, + 110, + -22, + 35, + -109, + -12, + 57, + -75, + -116, + -87, + 34, + -98, + -103, + 25, + -104, + -125, + -42, + -28, + -112, + 67, + 122, + 72, + 83, + -52, + -28, + -31, + -12, + -108, + 122, + -93, + 116, + 44, + 55, + 48, + 40, + -50, + -109, + 84, + 55, + -6, + -69, + -63, + 12, + -116, + 74, + -102, + 57, + 16, + -104, + -126, + -110, + -39, + 56, + 90, + 37, + 35, + -95, + 58, + -76, + 34, + 51, + 46, + 60, + -25, + -71, + -52, + 51, + 14, + -40, + -91, + 73, + 19, + -78, + -4, + 100, + -45, + 115, + 71, + 4, + 66, + 99, + 69, + 22, + 88, + 55, + 99, + -121, + -3, + 23, + -25, + 126, + -4, + -25, + -127, + -95, + 102, + -18, + 57, + 35, + -43, + -63, + 126, + -92, + -62, + -83, + 102, + -55, + -103, + 80, + -80, + 34, + -91, + -49, + 84, + 50, + -35, + -43, + 91, + 70, + -115, + 37, + 80, + 93, + -75, + -116, + -22, + -120, + 65, + 7, + 82, + -77, + 65, + -87, + -61, + 115, + 27, + 64, + 80, + 41, + -122, + 22, + 81, + -76, + -56, + 123, + -27, + -13, + 36, + 2, + 60, + 41, + 35, + -12, + -79, + -116, + 127, + -90, + -62, + -7, + -125, + 2, + -90, + -122, + 95, + 29, + -27, + -105, + -26, + 46, + -96, + 99, + 112, + -33, + -76, + 12, + -23, + -29, + 4, + -37, + 43, + 0, + 69, + 92, + -113, + 49, + 29, + 98, + 77, + -43, + -115, + 26, + -18, + -125, + -25, + -36, + -87, + 5, + -27, + -123, + -61, + -122, + -93, + -107, + -79, + -19, + 118, + -46, + 62, + 124, + -97, + -117, + -98, + 79, + -49, + 76, + 100, + -63, + 116, + -42, + 55, + -46, + -2, + 80, + -2, + -95, + -96, + 96, + -2, + 124, + -57, + -3, + -36, + -34, + -109, + -58, + -95, + -75, + -34, + -36, + 24, + -55, + -73, + -92, + -32, + 29, + 67, + -101, + 124, + 8, + -102, + 123, + 124, + 94, + -41, + -20, + 2, + 7, + -117, + 99, + -62, + -117, + -123, + 85, + 102, + 18, + -20, + -58, + -61, + -102, + 51, + -22, + 87, + -46, + -112, + 59, + 108, + -53, + 95, + -2, + -28, + -76, + -121, + -14, + 15, + -70, + -12, + -72, + -36, + 54, + -59, + 76, + -123, + 108, + 120, + -108, + 73, + 60, + -77, + 64, + -29, + 103, + 18, + 71, + 8, + -119, + 12, + -110, + 41, + -82, + -102, + 37, + 45, + -96, + 0, + 80, + 85, + 22, + -29, + -85, + -4, + -17, + 45, + -113, + 52, + -40, + 113, + 62, + 84, + -76, + -80, + 66, + -19, + 26, + -115, + 52, + -79, + 35, + -112, + -78, + 32, + 99, + -19, + 119, + -42, + -24, + -110, + -59, + -37, + -12, + -4, + -8, + 125, + -5, + -25, + 39, + -9, + 2, + 66, + 53, + 93, + -120, + 44, + -87, + -27, + 82, + 115, + 18, + -58, + -94, + 94, + -95, + -119, + -18, + 94, + -121, + -48, + -82, + -22, + -102, + 93, + 34, + 107, + -60, + -110, + -119, + -6, + -78, + -57, + -99, + -48, + -123, + -48, + -56, + -66, + -87, + -66, + 83, + 95, + -76, + -51, + 15, + 10, + 11, + 24, + -45, + -62, + -46, + 12, + -59, + 88, + -61, + -112, + 30, + -113, + 0, + -38, + 83, + -42, + -127, + -77, + -26, + -18, + -114, + -86, + -125, + 43, + -74, + -44, + 52, + 115, + 50, + 75, + 113, + 28, + -94, + -47, + 124, + 28, + 2, + 109, + 27, + 52, + 18, + 14, + 71, + 81, + 46, + -84, + 29, + 61, + 122, + -72, + 113, + 20, + 14, + 59, + -42, + -107, + -114, + -45, + 38, + -120, + 80, + -56, + -85, + -100, + -109, + 34, + 40, + -75, + 106, + 1, + -82, + 44, + 65, + -46, + 75, + -73, + -97, + 125, + 44, + -28, + -52, + -109, + -101, + -18, + 31, + -70, + 59, + -44, + -55, + 79, + -99, + 125, + -48, + 84, + -102, + -53, + 96, + -34, + 90, + -87, + -92, + -46, + -48, + -48, + 45, + -47, + 64, + 43, + -118, + 78, + 45, + 95, + 18, + -75, + -110, + -75, + -103, + 28, + -36, + 87, + -127, + -106, + -43, + -53, + -42, + 38, + -53, + 87, + 74, + -75, + 85, + 72, + 74, + -87, + 86, + -63, + 11, + -116, + -90, + -24, + 3, + -44, + -81, + 15, + -54, + 27, + -31, + 112, + 22, + 118, + 18, + 90, + 19, + -34, + 51, + 119, + 107, + 97, + 84, + 63, + 71, + -66, + 75, + 53, + 8, + -75, + -109, + -112, + 89, + 123, + 94, + 87, + -126, + 5, + -79, + 118, + -93, + 104, + 16, + 76, + -55, + -119, + 88, + 103, + -92, + 64, + -57, + 117, + 43, + -25, + -87, + 76, + -93, + 117, + -23, + -109, + -40, + -44, + -12, + -42, + 122, + 62, + 125, + -2, + 45, + 96, + 101, + -63, + -56, + 112, + -36, + -74, + 60, + 75, + -10, + -70, + -25, + -63, + -56, + -38, + 49, + -57, + 100, + -16, + -57, + -106, + -124, + -108, + -110, + 66, + -93, + -49, + 20, + -119, + -69, + 42, + -54, + -6, + -97, + 105, + -91, + 45, + -72, + 127, + 10, + -7, + -88, + 50, + 120, + -52, + -98, + 61, + -14, + 4, + -39, + 11, + 14, + 20, + -72, + -62, + 38, + 125, + -63, + 38, + 108, + 82, + -88, + 101, + -126, + 34, + -52, + -79, + 5, + 102, + 31, + -39, + -78, + -110, + 70, + -44, + -70, + 13, + 53, + 83, + 34, + -54, + 82, + 51, + 50, + 111, + 57, + -8, + 44, + -92, + -43, + 105, + 94, + -88, + -64, + -29, + -54, + -30, + -6, + -59, + -74, + -5, + 76, + -71, + 54, + 14, + -20, + -122, + 57, + -37, + -4, + 93, + 106, + 75, + 113, + 106, + 114, + -22, + 122, + 59, + -57, + 29, + 48, + -78, + -111, + 117, + 20, + 94, + 56, + -122, + -1, + 0, + 32, + -78, + 102, + 94, + -4, + 49, + -128, + -24, + 85, + 99, + -23, + 0, + -49, + -13, + -98, + 95, + -68, + 57, + -103, + -8, + -120, + -24, + 24, + 122, + -104, + -128, + 25, + -66, + 1, + -95, + -98, + 91, + 118, + -112, + -105, + 103, + 89, + 27, + 57, + -70, + -65, + 68, + -46, + -55, + 107, + 43, + -54, + -64, + 79, + -127, + -110, + 41, + 12, + 15, + 45, + 85, + 105, + 120, + 109, + 105, + -58, + -109, + -103, + 49, + -114, + 101, + -23, + 38, + 103, + 44, + -9, + 4, + -51, + -83, + 71, + 82, + 87, + 72, + -79, + 50, + -95, + 2, + 34, + 53, + -100, + 23, + -81, + -111, + 77, + -111, + -35, + -21, + 10, + -62, + 28, + -41, + 36, + 118, + -12, + 37, + -28, + 21, + 20, + 93, + 8, + -30, + -98, + 25, + -115, + 101, + -28, + -39, + -77, + -14, + -22, + -55, + -50, + 121, + 12, + 63, + 115, + 107, + 121, + 51, + 126, + -122, + -117, + -96, + 53, + 52, + 96, + 2, + 42, + 36, + -88, + 22, + 50, + -120, + -35, + 40, + -15, + -85, + 84, + 38, + 67, + 126, + 50, + 100, + 64, + -49, + -18, + 100, + -61, + -75, + -45, + 76, + -25, + 29, + -84, + 64, + 15, + 20, + 76, + -92, + -112, + 24, + 6, + -114, + -91, + 87, + -110, + -53, + -76, + -12, + 21, + 100, + 69, + -107, + 27, + -117, + -113, + -108, + -125, + -110, + -75, + 53, + 27, + -90, + -53, + 48, + 44, + 115, + -36, + 86, + 64, + 120, + 51, + 67, + -53, + 56, + -53, + -29, + 98, + 88, + 27, + 41, + 82, + 41, + 88, + -29, + -32, + -84, + -79, + -60, + -2, + 50, + -59, + -98, + 19, + 0, + -125, + -56, + 116, + 51, + 48, + -115, + -35, + -10, + 102, + 98, + -7, + -64, + 102, + 43, + -61, + -105, + -120, + -6, + -86, + -30, + -26, + 49, + -109, + -60, + -26, + 68, + 7, + 39, + -111, + 116, + -106, + 72, + -9, + 17, + -128, + 29, + 103, + -14, + 105, + -40, + -115, + 118, + 65, + -80, + 79, + 69, + -3, + -93, + 107, + -47, + 21, + 41, + -99, + -45, + 42, + -89, + 41, + 112, + 33, + -91, + 81, + -126, + 83, + 98, + 3, + -36, + 85, + 127, + 109, + 75, + 48, + 94, + 10, + 76, + -53, + 50, + 81, + -81, + 121, + 3, + -107, + -15, + -100, + 82, + 115, + 77, + 11, + -4, + 54, + -39, + -110, + -116, + -71, + 14, + -96, + -51, + -61, + -111, + -92, + -15, + -91, + -12, + 80, + -28, + 65, + -2, + 124, + -112, + -6, + -36, + 88, + -123, + -74, + -21, + 54, + -110, + -90, + -77, + 83, + -117, + 115, + -52, + -62, + 112, + -53, + -104, + -64, + -119, + -91, + 115, + -15, + 101, + 53, + -71, + -97, + -66, + 51, + 32, + 92, + 124, + 56, + 56, + -88, + -123, + 108, + -34, + 2, + -33, + 4, + -40, + 23, + 2, + -107, + 86, + 69, + 81, + -91, + -101, + 35, + 17, + 3, + 12, + 12, + 85, + 52, + -51, + -70, + -128, + 112, + 90, + 51, + -57, + 58, + 7, + 53, + -102, + 20, + -123, + -53, + 82, + 75, + 25, + 82, + -5, + 125, + 97, + 79, + 77, + -87, + 26, + 85, + 101, + -36, + -15, + -84, + 42, + -94, + -16, + -93, + 100, + 12, + 112, + 46, + -65, + 36, + -128, + 48, + -76, + -4, + -117, + -75, + 59, + 12, + -106, + 70, + -107, + 106, + -127, + -118, + -120, + -101, + -4, + -107, + -77, + 16, + -58, + 93, + 84, + -55, + -96, + -115, + 121, + 37, + 69, + 18, + -107, + 64, + -88, + -70, + -5, + -7, + -49, + -70, + 99, + 77, + -38, + 72, + -106, + 97, + 73, + -49, + -103, + -44, + 10, + 33, + 16, + -80, + -60, + -115, + 7, + 23, + 14, + 104, + 34, + 101, + -92, + -127, + -117, + 81, + -118, + 8, + 106, + 85, + -46, + 27, + -41, + 43, + -114, + -80, + 54, + -24, + -38, + -107, + 63, + 65, + 56, + -36, + 38, + -57, + -32, + -16, + 95, + -111, + -60, + 101, + -102, + 126, + 87, + 14, + 31, + -68, + -96, + -88, + -8, + -78, + -96, + -102, + 4, + 73, + 81, + -116, + -122, + 86, + 105, + 127, + -103, + 42, + 55, + -10, + 1, + -70, + -70, + 49, + 98, + -103, + 18, + 121, + 51, + 115, + 112, + -30, + -56, + 105, + 96, + -113, + -114, + -54, + 105, + 33, + -39, + -117, + 46, + 68, + 82, + -76, + 108, + -59, + 122, + 52, + -79, + -58, + -91, + 84, + -123, + 22, + -59, + -128, + 109, + -85, + -45, + -93, + -80, + -7, + -44, + -30, + -42, + -115, + 104, + -54, + -16, + -75, + 3, + 89, + 21, + 7, + -96, + -44, + -43, + -76, + 28, + 42, + 72, + 32, + 92, + -12, + 47, + 123, + 26, + 110, + 101, + -51, + 0, + -55, + 38, + 7, + -4, + 40, + 63, + 55, + 74, + 71, + 42, + -23, + -3, + -83, + 106, + -48, + 45, + 22, + 26, + 51, + 48, + 118, + -19, + 121, + -106, + -69, + -19, + -59, + -73, + -73, + -54, + 44, + 119, + -104, + 73, + 7, + -61, + 89, + 44, + -6, + 102, + -4, + 112, + -64, + -106, + -6, + -20, + -46, + 16, + 67, + 56, + -42, + 15, + -3, + -6, + 57, + 25, + 44, + -46, + 81, + 121, + -41, + 52, + -84, + 108, + 107, + -19, + 120, + 50, + 97, + -17, + -61, + 89, + 50, + -75, + -78, + -123, + -64, + -24, + 42, + -90, + 42, + 59, + -45, + -5, + -89, + -28, + -102, + -64, + 103, + -54, + 47, + -111, + -114, + 102, + 32, + 108, + -39, + 117, + 65, + 69, + 119, + 1, + -8, + 25, + 103, + 64, + 76, + 41, + -115, + -37, + 82, + -10, + -95, + -109, + -75, + 118, + -92, + 45, + -41, + -98, + -77, + -23, + -15, + -89, + 10, + 26, + 82, + 13, + -46, + 124, + -86, + 44, + -50, + -104, + 79, + 15, + 111, + 91, + 105, + 68, + 76, + -57, + -87, + 46, + 124, + 16, + -106, + 121, + -48, + 113, + 98, + -49, + -47, + 12, + 104, + 110, + 96, + -8, + 121, + -26, + -67, + -97, + 74, + 109, + 87, + -77, + -100, + 124, + 3, + -8, + -97, + 80, + 35, + -90, + 46, + -36, + -27, + -91, + -33, + -69, + 42, + -103, + -66, + 46, + -84, + 69, + -125, + 27, + -79, + -90, + -102, + 58, + -58, + -101, + 33, + -41, + -87, + -100, + -36, + -40, + 58, + 16, + 57, + 48, + 123, + 102, + 106, + -17, + 121, + 45, + -126, + 82, + 122, + -80, + -121, + -36, + -22, + -64, + 6, + 26, + 64, + 11, + -30, + 113, + -100, + -89, + 23, + -11, + -100, + 82, + -16, + -40, + -7, + 26, + -29, + -61, + -27, + 88, + -88, + -52, + -39, + 24, + -31, + -79, + -93, + -108, + 40, + 105, + 41, + -47, + 95, + 43, + -54, + -19, + 35, + 37, + 32, + 120, + -125, + 41, + -119, + 28, + 36, + 115, + 121, + 24, + -39, + 60, + 16, + 25, + -46, + 69, + 38, + 54, + 66, + -74, + 46, + 86, + -46, + 24, + 87, + 28, + 23, + 105, + 17, + -125, + 19, + 81, + -53, + -4, + -126, + -88, + -38, + -71, + 102, + 101, + 98, + -81, + -71, + 95, + 69, + -5, + -40, + 74, + 57, + 23, + 5, + 106, + -70, + -5, + -5, + 24, + 119, + 6, + 2, + 62, + 122, + -1, + 0, + -32, + -104, + 11, + 2, + 97, + -50, + 3, + -118, + -2, + -103, + 80, + -125, + 90, + 6, + -60, + 121, + -83, + -121, + 69, + -50, + 123, + 23, + -15, + 73, + 52, + -31, + -53, + 80, + -111, + 110, + -55, + -110, + 44, + 107, + -78, + -80, + 22, + 25, + -100, + -62, + 46, + -34, + 116, + -57, + 73, + -108, + 54, + -84, + -5, + -78, + 56, + 98, + 26, + -8, + 60, + 127, + 64, + -13, + 6, + 76, + -53, + -109, + 33, + -7, + -31, + 53, + 121, + -36, + 96, + -124, + -73, + 98, + 3, + -111, + -116, + 23, + -35, + 5, + -104, + 4, + -126, + 82, + -7, + -126, + 42, + -59, + -37, + 115, + -28, + 4, + 101, + -11, + -82, + 10, + -77, + -67, + 27, + -51, + 10, + 53, + -51, + 66, + -128, + -74, + 45, + 15, + 60, + 59, + 4, + 106, + 89, + -68, + -3, + -125, + -55, + 62, + -88, + 81, + 0, + 120, + 113, + -57, + -118, + 62, + 123, + 109, + 94, + 53, + -55, + 93, + 73, + 106, + -114, + -125, + 21, + -32, + 102, + 52, + -40, + -47, + -79, + -61, + 3, + 19, + -79, + 18, + -52, + -107, + 82, + -122, + -69, + -38, + 114, + -87, + 84, + 58, + -92, + 89, + -43, + -3, + 83, + -106, + -6, + 2, + 30, + 121, + -110, + -1, + 0, + -33, + -100, + -85, + 47, + 94, + 40, + -116, + -41, + 78, + -10, + 2, + -31, + 66, + -6, + -69, + -34, + 49, + 113, + 25, + -80, + 69, + -60, + -105, + -52, + -88, + 38, + 44, + -21, + -15, + -88, + 44, + 20, + 47, + 15, + 50, + 84, + 80, + -41, + 82, + 30, + -114, + 54, + -73, + 89, + -102, + -28, + -30, + 19, + 111, + 9, + 113, + 35, + -100, + -78, + -93, + -3, + 21, + 52, + 7, + -14, + 91, + 77, + 41, + -17, + 95, + 52, + 29, + 7, + 103, + -29, + 113, + 115, + 115, + -14, + 57, + 121, + -7, + 31, + -5, + 76, + 88, + -71, + 28, + 124, + 125, + 99, + 44, + -50, + -54, + 82, + 60, + -20, + -115, + 102, + 5, + -65, + -107, + -110, + -39, + 26, + 29, + 52, + 62, + 28, + 120, + -108, + -55, + -35, + 46, + 81, + -50, + -26, + -32, + 113, + -17, + -59, + -73, + 27, + -1, + 0, + 120, + -77, + 113, + 42, + -15, + -52, + -38, + -92, + 73, + -82, + -40, + 49, + -87, + -124, + -22, + 26, + 88, + -124, + 42, + -18, + -14, + 23, + 27, + 72, + -19, + -85, + 53, + -65, + -82, + 107, + -40, + 17, + -51, + -57, + -82, + -23, + -62, + -68, + -13, + -95, + -50, + -35, + -16, + -87, + -29, + 15, + -124, + 13, + 15, + 116, + -1, + 0, + 89, + -72, + 74, + -85, + -117, + 99, + 41, + -49, + -79, + -99, + 97, + 5, + 105, + -68, + -3, + 51, + -85, + -67, + 18, + -96, + -66, + 88, + 67, + -51, + -62, + 110, + 112, + -33, + -83, + 98, + -21, + 44, + 72, + -59, + 111, + -50, + -97, + -13, + 63, + 78, + -57, + -78, + -121, + -126, + 15, + -24, + 71, + -107, + -68, + -83, + 116, + -83, + -81, + -119, + -11, + -59, + 4, + 103, + -44, + 68, + 116, + -108, + -2, + -76, + -84, + -45, + 120, + -5, + -39, + -90, + -116, + -62, + -73, + -32, + 20, + 25, + 18, + 66, + 21, + 97, + 63, + 106, + -23, + -74, + 42, + -70, + -120, + 113, + -5, + -67, + -105, + 116, + 87, + -114, + -23, + -9, + -62, + 12, + 49, + -33, + 97, + -49, + -42, + 89, + -50, + -3, + 59, + 60, + 92, + -57, + 32, + 113, + -13, + 121, + 24, + -31, + -101, + 42, + 73, + -111, + 48, + 120, + -7, + 50, + 113, + -107, + 93, + -108, + 40, + -114, + 88, + -16, + -91, + 91, + -44, + 2, + -54, + 28, + -107, + 110, + -113, + 127, + 44, + -104, + 57, + 56, + -13, + -31, + -30, + -68, + -26, + 36, + -112, + 65, + 18, + -78, + -49, + 50, + 69, + 40, + -10, + -95, + -9, + 35, + 78, + -92, + 2, + 73, + -44, + -127, + 69, + 72, + 35, + -28, + 15, + 94, + 108, + -113, + -49, + -86, + 122, + -74, + 8, + -85, + 116, + 127, + 6, + 58, + 100, + 98, + 49, + -71, + 108, + 105, + -111, + -87, + -6, + -81, + 120, + 84, + 95, + -55, + 30, + 52, + -65, + -79, + -104, + -127, + 9, + 17, + 67, + 23, + -45, + -78, + 60, + -9, + 63, + -69, + -102, + 32, + 53, + -63, + -16, + -86, + -84, + -106, + -29, + 63, + 30, + 111, + -15, + -15, + -105, + -111, + 107, + 20, + -40, + -117, + 7, + -75, + 84, + -65, + -72, + -71, + 86, + 46, + 7, + -11, + -121, + -17, + -5, + 122, + -55, + -99, + -78, + 109, + 8, + 121, + 90, + -54, + -6, + 84, + 52, + -18, + 24, + -64, + 112, + -35, + 108, + 35, + 102, + 92, + -59, + -4, + 93, + 67, + -105, + -122, + 22, + 67, + 0, + 114, + -102, + 94, + 91, + -8, + 47, + 71, + 45, + -1, + 0, + -6, + 37, + 99, + -100, + 122, + 4, + 99, + -98, + -110, + -21, + -96, + 107, + -117, + -127, + -76, + 24, + -82, + 9, + 3, + -10, + -5, + -112, + 118, + 87, + -103, + -6, + 69, + -1, + 0, + -47, + 91, + -15, + -98, + 23, + -4, + 87, + -57, + 105, + -51, + 25, + 3, + -123, + 60, + 44, + -82, + 22, + -27, + -87, + -25, + 101, + 14, + -67, + 105, + 67, + 28, + -4, + -41, + -103, + -25, + -10, + 119, + -80, + 108, + -81, + 20, + -87, + -107, + 30, + -50, + -40, + 101, + -90, + -62, + -89, + 48, + -60, + -5, + -89, + -114, + -39, + 20, + 92, + -20, + -75, + -126, + -90, + -67, + -121, + -54, + -104, + 30, + 127, + -18, + 93, + 87, + -52, + 82, + 36, + -123, + 56, + -64, + -127, + -119, + 87, + 97, + -23, + 108, + 36, + 44, + -38, + -87, + 50, + -5, + 30, + -72, + -34, + -71, + -110, + 36, + -43, + 95, + -97, + 84, + 11, + -93, + -24, + 68, + -125, + -126, + -56, + 42, + -87, + 104, + 33, + -13, + -106, + -13, + 90, + 93, + 108, + 84, + -107, + -58, + -18, + -87, + 104, + -52, + -118, + -93, + 46, + 55, + 94, + -12, + -9, + 43, + -84, + -97, + 76, + 40, + 42, + -78, + 24, + 35, + -57, + 18, + 48, + -40, + 48, + -103, + -34, + 37, + -106, + -83, + -120, + 93, + 75, + -93, + 50, + 50, + -81, + -71, + -74, + 20, + -84, + -115, + 46, + 93, + -12, + -42, + 114, + 77, + -11, + -82, + 108, + 80, + 100, + 72, + 19, + -55, + -111, + 81, + 104, + 41, + 81, + 22, + 70, + 4, + -71, + -19, + -29, + 40, + -98, + 48, + 99, + 53, + -40, + 94, + -75, + 32, + 23, + 61, + -17, + -83, + -7, + -65, + 47, + -114, + 28, + -73, + -51, + -6, + -64, + 31, + 73, + 1, + 93, + -61, + -27, + -42, + -76, + -67, + -89, + 63, + 36, + 115, + 76, + -82, + -89, + -89, + 103, + 77, + -81, + 52, + -42, + 52, + -14, + 12, + -87, + -57, + 74, + 12, + 2, + -77, + -22, + -3, + -11, + -99, + 69, + 77, + -64, + -51, + -115, + 114, + -112, + -123, + 109, + 7, + 104, + 37, + -77, + -103, + 87, + 121, + -46, + 125, + 44, + -7, + -86, + 31, + -118, + -2, + -36, + -6, + 120, + -16, + 65, + 52, + 66, + 114, + -7, + -33, + 100, + -46, + -11, + -2, + -89, + 81, + -11, + 45, + 7, + -61, + 42, + -103, + 50, + 54, + 75, + 85, + -33, + -49, + -65, + 107, + -78, + -3, + 86, + -87, + -71, + 122, + 117, + -97, + 45, + 60, + 47, + 57, + 85, + 83, + -33, + 124, + -20, + -85, + -92, + -56, + 39, + -90, + 77, + 6, + -47, + -99, + 125, + -110, + -14, + -61, + 9, + 117, + -13, + -119, + 109, + 39, + -73, + 59, + -67, + 100, + -35, + 75, + 87, + -93, + -26, + -100, + -62, + -34, + 110, + -23, + -127, + 84, + 39, + -105, + -37, + -48, + -9, + -79, + -15, + 57, + 53, + -124, + -109, + 52, + 101, + 103, + 82, + 93, + -13, + 70, + 79, + 34, + -107, + 70, + 86, + 16, + -127, + -98, + -38, + 57, + 19, + -99, + 19, + -45, + 18, + 95, + -45, + 43, + -98, + 21, + 4, + 127, + 84, + -77, + 63, + -22, + 56, + -46, + 120, + 76, + -56, + 35, + 54, + -43, + -73, + -26, + 43, + 94, + -98, + -48, + -81, + -99, + -39, + 113, + -76, + -106, + -68, + -60, + -71, + -96, + 95, + 117, + 125, + 92, + 74, + 46, + 5, + -87, + -13, + 116, + 117, + -58, + 44, + -32, + 59, + -42, + 119, + 3, + -112, + -37, + 53, + -127, + 73, + 79, + -49, + -55, + 57, + 114, + 30, + 101, + -103, + 55, + 47, + -79, + 50, + -76, + -124, + 113, + -48, + -67, + 15, + 69, + 19, + -47, + -76, + -64, + -13, + -105, + -55, + -104, + 78, + -30, + 110, + 66, + 24, + -124, + 107, + 30, + -19, + 8, + 12, + -123, + -76, + 93, + 116, + 11, + -78, + 0, + 58, + -79, + -77, + 37, + 83, + 31, + 104, + 4, + -110, + 61, + 108, + -16, + 41, + -125, + -114, + -102, + 71, + -107, + -28, + -95, + 51, + 48, + 113, + -4, + -46, + -92, + -39, + 1, + -44, + -19, + -79, + -40, + -94, + -80, + 109, + -128, + 80, + 75, + 89, + -65, + 82, + -4, + -37, + -40, + 17, + -17, + 8, + -111, + -25, + 52, + 60, + 97, + -18, + 82, + 90, + 0, + 36, + -81, + 47, + -28, + -6, + 70, + -128, + -37, + -29, + -19, + 22, + -62, + -8, + -118, + 11, + -29, + 50, + -26, + -6, + -52, + 95, + -15, + -58, + -83, + -17, + -67, + 59, + 124, + 98, + 21, + -42, + 57, + -91, + 81, + 3, + -71, + 103, + 4, + 6, + 87, + 64, + -124, + -61, + -5, + 10, + 31, + -85, + -24, + -117, + -52, + 124, + 56, + -5, + -82, + 32, + -21, + -25, + -3, + -65, + 28, + 101, + -59, + 124, + -69, + -70, + 33, + -53, + -76, + -79, + -24, + -118, + 126, + 86, + 5, + -98, + -21, + -27, + 81, + 56, + 60, + -22, + 13, + 105, + -12, + 56, + 70, + -128, + -69, + -78, + 111, + -95, + -20, + 0, + -12, + 86, + -74, + 125, + -64, + -101, + -125, + 17, + -109, + 122, + 61, + 12, + 91, + 77, + -44, + 124, + -23, + -2, + 96, + -33, + 103, + 16, + 30, + -100, + 16, + -113, + -47, + -19, + -17, + -33, + 94, + -11, + -3, + -75, + -68, + -20, + -125, + 13, + 84, + -49, + 69, + 121, + 24, + 86, + 100, + -116, + 121, + 52, + -70, + 82, + 10, + 22, + -83, + -25, + -122, + -94, + 21, + 26, + -11, + 43, + 98, + 42, + -97, + -12, + 56, + -72, + 115, + -57, + -121, + 109, + 61, + -46, + -22, + 101, + 70, + 11, + 2, + -104, + -105, + 104, + 70, + 1, + -62, + -11, + -98, + 54, + 9, + -37, + 96, + -47, + 51, + 86, + -68, + -46, + -32, + 117, + -49, + 84, + -10, + 15, + -19, + 107, + -22, + -26, + 67, + 35, + 61, + 29, + -80, + -8, + -23, + -65, + -77, + 108, + -14, + 37, + 1, + 35, + -85, + -65, + -117, + 91, + 84, + 88, + 87, + 101, + -29, + -14, + -115, + -90, + 49, + 77, + 9, + -23, + 89, + -34, + 28, + -104, + -4, + -8, + 42, + -14, + -110, + 83, + -18, + -127, + -123, + 110, + 10, + 10, + 46, + 94, + -126, + -49, + -126, + 48, + 6, + -8, + -73, + -37, + -50, + 122, + -40, + -19, + -84, + -55, + -103, + -101, + 4, + 8, + 29, + 44, + 4, + -119, + -103, + -46, + -56, + -43, + 17, + 85, + -104, + 42, + 1, + -95, + -109, + -92, + -91, + -44, + -124, + -43, + 88, + 72, + -83, + 46, + -40, + 126, + 31, + 29, + -121, + -109, + -99, + 35, + -61, + 4, + -80, + 71, + 52, + -45, + 50, + -95, + 54, + 4, + -79, + 74, + 12, + 106, + -23, + 39, + 68, + 20, + 45, + 33, + -40, + -42, + -37, + 45, + 89, + 66, + 61, + 56, + -34, + -39, + -102, + -100, + 102, + -93, + -73, + -6, + 43, + 60, + 56, + 53, + 79, + 67, + -42, + -14, + -105, + 80, + -35, + 39, + -91, + 94, + -4, + -110, + -86, + -114, + 97, + -27, + -111, + 111, + 86, + 74, + -63, + -26, + 108, + -19, + -45, + -47, + 87, + 66, + -82, + 114, + -111, + 97, + 88, + 49, + -10, + -60, + -35, + 103, + -47, + 20, + 74, + 99, + -6, + 30, + -86, + -92, + -14, + 35, + 8, + 93, + 36, + 60, + 59, + -79, + -78, + 119, + 125, + 29, + -37, + 95, + -96, + -51, + -112, + -76, + -87, + 83, + -14, + -65, + -106, + 53, + 121, + 118, + 27, + -113, + 26, + 86, + -104, + 105, + 104, + -19, + -3, + 69, + -109, + -69, + 84, + 61, + 42, + -104, + -36, + -77, + -113, + -85, + 117, + -90, + -82, + -3, + -93, + -88, + 104, + 6, + 10, + -80, + 3, + 103, + 85, + 4, + -113, + -102, + 93, + 46, + -52, + 101, + -127, + 117, + -89, + 26, + 45, + -109, + -96, + 32, + 87, + 78, + 55, + -27, + 79, + 29, + 51, + 108, + -111, + -84, + 120, + -99, + 91, + -80, + -125, + 126, + 125, + 99, + -20, + -41, + -85, + -4, + -35, + -18, + 79, + -124, + 37, + -50, + -84, + -21, + 21, + -40, + 102, + 86, + 92, + -13, + -87, + -128, + 94, + -108, + 113, + 90, + 112, + -12, + 51, + -41, + 24, + -50, + -59, + 98, + -98, + 122, + -46, + -40, + -98, + 55, + 41, + 95, + -45, + -43, + -20, + -21, + 104, + 91, + 66, + -30, + -16, + 88, + -10, + -104, + -7, + 47, + -38, + 109, + 35, + 65, + -13, + -90, + 17, + -75, + -126, + -41, + -3, + 121, + -24, + 127, + 72, + 31, + -72, + -61, + -9, + -49, + -55, + -25, + 61, + 7, + -111, + -23, + -22, + 106, + 75, + 106, + 102, + 89, + 52, + 69, + 60, + -68, + -125, + 118, + -55, + -124, + -89, + -81, + -76, + -85, + -46, + 31, + 70, + 48, + 54, + -110, + -122, + 90, + 29, + -105, + 59, + -22, + -84, + -51, + -105, + 87, + 86, + -81, + 103, + 44, + 44, + -52, + -92, + 41, + 98, + -49, + -111, + -111, + 38, + 79, + -112, + -97, + 28, + 83, + -120, + 34, + 107, + 5, + 98, + -119, + -93, + -115, + -125, + -115, + -128, + 2, + 82, + -90, + 88, + -38, + 70, + 102, + 5, + 3, + 85, + -113, + 97, + -71, + -56, + 113, + 56, + 75, + 46, + 60, + -124, + -107, + -102, + 92, + 89, + 9, + 86, + 82, + 70, + -56, + -18, + -113, + 125, + -77, + 42, + 123, + 85, + -111, + 85, + -88, + 16, + 9, + 55, + -18, + 110, + -93, + -75, + 73, + -109, + 21, + 82, + -14, + -11, + 87, + 0, + 9, + 116, + 70, + -124, + -76, + -107, + -40, + 108, + -65, + 52, + -126, + -79, + 114, + 121, + 91, + 104, + 126, + 98, + -21, + 34, + 111, + -55, + -81, + -11, + 76, + 5, + 33, + -118, + 25, + -44, + -55, + 44, + -75, + -69, + -85, + -42, + 85, + 13, + 3, + -21, + -12, + 111, + 117, + 88, + 15, + 20, + -106, + 90, + 82, + 30, + -72, + 127, + -3, + -59, + -117, + -22, + -128, + -67, + 11, + -23, + -73, + 50, + -103, + 120, + 124, + -44, + 99, + -62, + 54, + 90, + -48, + -92, + 50, + -113, + 76, + -39, + 65, + 19, + 2, + -39, + 115, + -123, + 47, + -102, + -101, + -81, + 40, + -115, + 1, + -78, + 19, + -26, + -15, + 125, + 65, + -24, + 86, + -42, + -86, + -33, + 56, + 104, + 35, + 122, + 7, + -83, + 90, + -66, + -37, + 23, + 54, + -61, + -3, + 46, + -20, + 113, + -51, + -87, + -13, + 72, + -14, + -8, + -7, + 17, + -38, + -65, + 112, + 45, + -125, + 51, + -98, + -1, + 0, + -53, + 94, + 126, + -39, + 23, + 26, + 118, + -33, + 56, + 105, + -91, + -77, + -79, + 106, + 107, + 16, + 19, + -94, + 39, + 86, + -15, + 118, + 15, + 119, + 107, + -93, + -26, + 34, + -121, + -29, + 11, + -13, + -79, + -98, + -107, + -54, + 125, + 63, + -69, + 109, + -14, + -24, + 22, + 111, + -104, + 103, + -51, + 68, + -110, + -44, + 116, + 118, + 117, + 26, + -14, + -10, + 71, + -84, + 81, + 54, + -35, + -25, + 8, + -43, + 61, + 94, + -25, + 6, + -1, + 0, + -97, + -28, + -125, + 113, + 12, + -5, + 61, + 126, + -54, + -68, + -3, + -74, + 102, + 86, + 116, + 117, + -52, + -44, + -42, + -13, + 116, + -59, + -57, + -59, + 63, + 75, + -3, + -6, + -76, + 75, + 80, + 102, + -73, + 84, + -95, + 39, + -2, + 103, + 32, + 121, + 42, + 97, + -83, + 41, + -47, + 15, + -22, + -3, + -48, + 59, + 86, + 85, + -15, + 43, + -21, + 37, + -61, + -1, + 0, + -96, + -26, + 98, + -74, + 52, + -36, + -112, + -117, + 35, + 11, + 33, + -29, + -127, + 98, + -108, + -28, + 23, + -108, + -124, + -59, + -118, + 38, + 113, + -92, + -77, + 91, + 41, + -110, + 87, + 85, + -48, + -60, + -19, + 55, + 68, + 43, + 15, + -16, + -21, + -113, + -55, + -29, + 121, + 88, + -78, + 82, + 120, + 68, + 89, + 48, + 103, + -62, + -82, + 78, + 68, + 109, + 26, + -61, + 12, + 119, + 49, + -72, + -62, + 50, + 7, + 29, + 44, + 101, + -9, + 84, + 125, + 80, + 18, + 46, + 95, + -24, + -109, + 102, + 116, + 111, + -38, + 83, + -64, + 75, + -127, + 4, + -82, + 54, + -82, + 88, + 46, + -5, + 124, + 85, + 78, + -2, + -114, + 37, + -96, + -93, + 1, + -55, + -74, + -81, + 81, + -82, + 81, + -94, + -56, + 112, + 104, + -6, + 2, + 65, + 112, + 116, + 123, + -2, + 71, + 80, + -112, + 5, + -15, + -51, + 97, + -11, + 84, + 28, + -59, + -115, + -120, + -119, + -20, + 126, + 60, + -99, + 64, + -93, + 106, + 79, + -121, + 24, + -98, + 13, + 7, + 16, + 80, + 3, + 106, + -54, + -10, + -120, + -119, + -36, + -108, + 23, + 35, + 109, + 116, + -124, + 21, + 20, + -61, + 75, + -61, + -111, + -12, + -45, + -38, + 48, + 70, + 40, + 0, + 12, + -94, + -43, + 81, + -46, + -56, + 59, + -119, + 86, + -78, + -2, + 127, + -75, + -97, + -104, + -48, + 117, + 73, + -124, + 9, + -74, + 100, + 114, + -100, + 63, + 108, + 102, + 22, + 28, + -46, + -41, + -119, + 125, + -31, + 100, + 38, + 76, + -96, + 32, + 55, + 118, + 124, + -20, + -78, + 44, + -54, + -77, + 99, + -69, + 34, + -46, + -104, + 127, + -91, + -77, + -28, + -4, + -74, + 5, + 16, + 31, + -11, + 100, + 89, + -43, + -99, + -76, + -108, + -59, + 61, + 118, + 48, + 58, + -116, + -1, + 0, + 71, + 22, + 55, + 8, + -51, + -60, + -66, + -90, + 11, + 15, + -71, + -81, + 43, + 46, + -17, + 21, + -109, + -26, + 109, + 40, + -82, + 87, + -70, + 102, + -3, + -126, + 105, + -50, + -24, + 67, + 123, + 72, + -54, + 0, + 58, + -101, + -46, + 84, + -39, + -100, + 2, + 1, + -96, + 73, + -64, + 19, + 39, + -42, + -103, + 65, + -28, + 109, + 97, + 52, + 79, + -107, + 66, + 49, + -127, + 3, + -95, + -4, + -17, + 42, + -99, + 97, + -94, + 115, + 74, + -117, + 10, + -9, + -128, + 24, + 82, + -98, + -8, + -2, + 84, + -7, + 72, + 98, + -27, + 56, + -114, + 55, + 33, + 49, + 62, + -39, + -121, + 18, + -110, + 65, + -114, + -27, + 11, + -29, + -54, + 113, + -91, + -124, + -60, + -27, + 85, + -46, + -47, + 36, + 41, + -20, + 6, + -11, + 5, + -113, + 100, + 122, + -43, + 56, + 25, + 100, + -64, + -28, + 57, + 8, + 103, + -105, + -18, + 34, + 110, + 89, + -42, + 105, + -108, + 49, + 92, + -120, + 31, + 34, + 12, + -128, + -63, + 122, + 110, + -70, + -96, + -3, + -109, + 69, + 65, + -10, + -111, + 36, + -10, + 89, + -119, + 67, + 107, + 28, + 20, + 79, + 49, + -91, + -94, + -109, + -107, + 63, + 48, + 41, + 99, + -117, + 67, + -22, + -77, + 119, + 98, + -97, + -55, + 40, + 64, + 34, + 117, + 98, + 108, + 102, + 40, + -111, + 26, + -89, + 4, + -15, + 46, + 79, + -14, + 24, + -56, + 93, + 47, + -47, + -62, + -124, + 72, + -40, + -93, + 40, + 110, + -26, + -71, + -6, + 23, + -7, + -113, + 105, + -86, + -106, + -107, + -92, + -45, + 2, + -65, + 76, + -53, + 69, + -36, + -8, + -70, + -3, + -34, + 72, + -44, + 34, + 80, + -101, + 37, + 45, + 4, + -14, + -30, + 89, + 10, + 10, + -36, + 45, + 56, + -88, + -79, + -41, + -76, + -88, + -66, + 112, + -95, + -22, + -126, + 43, + 25, + 17, + 45, + -6, + 117, + 10, + -33, + -68, + 108, + 42, + -62, + -7, + -127, + 83, + 61, + 94, + -3, + -13, + -98, + -98, + 49, + -1, + 0, + -44, + 12, + 92, + 35, + -87, + -43, + -13, + -114, + 38, + -36, + -64, + -68, + -76, + 89, + -111, + -17, + 31, + -82, + -17, + 72, + 119, + -51, + -31, + 117, + 86, + 14, + 7, + 42, + -25, + -9, + 10, + -75, + -82, + -97, + 114, + -66, + 120, + 115, + 83, + -46, + 102, + -128, + 1, + 52, + 104, + 85, + 56, + 31, + -72, + -67, + -15, + 77, + -13, + -107, + -70, + 118, + 126, + -33, + -79, + -61, + 106, + -34, + 123, + -24, + 93, + 48, + 99, + 14, + 65, + -42, + -105, + 6, + -109, + -110, + 86, + -53, + 1, + 3, + -85, + 94, + -43, + -84, + 98, + 105, + -114, + -19, + 121, + -97, + -46, + 60, + -20, + -35, + -43, + 88, + 114, + 102, + -84, + -120, + -64, + 54, + -107, + -27, + -48, + 100, + -28, + -105, + -24, + -62, + -58, + -49, + -123, + 79, + 56, + 21, + -100, + -125, + 112, + -114, + -108, + -43, + 48, + 32, + -59, + -54, + -6, + 83, + 30, + 12, + -91, + -57, + -51, + 60, + 121, + -58, + 50, + 8, + 36, + 98, + -98, + 124, + 65, + 12, + -86, + 25, + -112, + -85, + 121, + 34, + -119, + -43, + 36, + 0, + -122, + -40, + 53, + 93, + -117, + 102, + -50, + 105, + -96, + -6, + -114, + 105, + -15, + -4, + -8, + -53, + -102, + -110, + -72, + 50, + -86, + 43, + 50, + 100, + 25, + 16, + -78, + -105, + -39, + 76, + 110, + -23, + -70, + -77, + 116, + 84, + -47, + -82, + -3, + 61, + 104, + 73, + 102, + -123, + -115, + -45, + 116, + -93, + -63, + -5, + 47, + -67, + -18, + -15, + -108, + 104, + -44, + 88, + 66, + -104, + 47, + 69, + 71, + -18, + -84, + -46, + -23, + 115, + 108, + 17, + -102, + 58, + -71, + 101, + -74, + 126, + -93, + -60, + 93, + -94, + -87, + -106, + -83, + 93, + 40, + -35, + 45, + 7, + 69, + 55, + 107, + 63, + 118, + 94, + 20, + -44, + -49, + -11, + 92, + -42, + 118, + -55, + -94, + 58, + 126, + 83, + -34, + -67, + -115, + -98, + 43, + 39, + 101, + 25, + 46, + 72, + 119, + 64, + 20, + 17, + 49, + -38, + -61, + 66, + -64, + -105, + 60, + 91, + 38, + -74, + -93, + 118, + 118, + 13, + -104, + 0, + 22, + -16, + 76, + -90, + 47, + 104, + -102, + 29, + 105, + 23, + -93, + 110, + 13, + 78, + -48, + 101, + 44, + 115, + -101, + 63, + 89, + 67, + 81, + 15, + -63, + -67, + -122, + -61, + 93, + 120, + -101, + -12, + -98, + -115, + -7, + -88, + 51, + 35, + 121, + -39, + -75, + -9, + 76, + 107, + -53, + -91, + -45, + -64, + 17, + -43, + -44, + -79, + -84, + -56, + 119, + -47, + -52, + -100, + 20, + -46, + 25, + 104, + 84, + 81, + -39, + 19, + -103, + 80, + 27, + 24, + -39, + 72, + -94, + 39, + -4, + -48, + -60, + -25, + 99, + -55, + -19, + 43, + -32, + 68, + 92, + -72, + 70, + 106, + 31, + 93, + 86, + -61, + -23, + -78, + 60, + -44, + -108, + -98, + -56, + -100, + -18, + -46, + 109, + 23, + -98, + -11, + 67, + -51, + -29, + 103, + 43, + -87, + 98, + 89, + 110, + -83, + 45, + -43, + -59, + 25, + -89, + 94, + -89, + -93, + 14, + 47, + -37, + 21, + 60, + -23, + -104, + -19, + 119, + 28, + -67, + -80, + 98, + 90, + -68, + 13, + 37, + -70, + 49, + 75, + -105, + 97, + -72, + 60, + 42, + -46, + -92, + 36, + -73, + -34, + -26, + -27, + 23, + 64, + 63, + 65, + -25, + -14, + 113, + 125, + 89, + -55, + -26, + -14, + -80, + 109, + -103, + -113, + -107, + -113, + -117, + -56, + -30, + -59, + 35, + -49, + 39, + -122, + 121, + 12, + 49, + 79, + -113, + 42, + 105, + -113, + 30, + 20, + 113, + -90, + 27, + -78, + 100, + 0, + 99, + 91, + 38, + 114, + -46, + 34, + -80, + 63, + -85, + -50, + 25, + -6, + 111, + 27, + 22, + 25, + 33, + -106, + 25, + -50, + 68, + -104, + -19, + 36, + 107, + 26, + -87, + 86, + 46, + 76, + -118, + 127, + -102, + -45, + -112, + -13, + -58, + 4, + 74, + 78, + -22, + 89, + 85, + 74, + -73, + -81, + 69, + -1, + 0, + 94, + -128, + 85, + 104, + 55, + -91, + 88, + 109, + -72, + 81, + -90, + -30, + 89, + -54, + -53, + 94, + 74, + 93, + 18, + -18, + -47, + -76, + 58, + 42, + 33, + -37, + -37, + 79, + -115, + 31, + -112, + -103, + -56, + -45, + 25, + -18, + 117, + -110, + 61, + -29, + 57, + -29, + 83, + -99, + 109, + 108, + -42, + -103, + 94, + 60, + -23, + 66, + -67, + -43, + 95, + -70, + -111, + -20, + -111, + -11, + 91, + -102, + -89, + -20, + -41, + -51, + -43, + -10, + 33, + -20, + 90, + -108, + 47, + -84, + 30, + 116, + 82, + -70, + -82, + 32, + -72, + -116, + 115, + 2, + -117, + 49, + -121, + 107, + 15, + -108, + 8, + 112, + -23, + 20, + -85, + -110, + 102, + -93, + -97, + 101, + -6, + 49, + 52, + -84, + -4, + -7, + -4, + -45, + 104, + -2, + -105, + -25, + 111, + 34, + -115, + 106, + -83, + -91, + -39, + -38, + -25, + 79, + -65, + -92, + 22, + 7, + -77, + -38, + 31, + 75, + -9, + -30, + -116, + -1, + 0, + 55, + -3, + -65, + -121, + -20, + 104, + -36, + 8, + 4, + 13, + 10, + 88, + 97, + -35, + -24, + 110, + 15, + -108, + 51, + -125, + 65, + 90, + 16, + -14, + 16, + 127, + 75, + 13, + 96, + -42, + 44, + -89, + -52, + 19, + 77, + 81, + -43, + -35, + 94, + -36, + -26, + 58, + -121, + -105, + 124, + -56, + 73, + -65, + -27, + -27, + 36, + 46, + -74, + 34, + -37, + 127, + 35, + 6, + -10, + 110, + -40, + 29, + 54, + -80, + 102, + 49, + -9, + 17, + 52, + 118, + 28, + 88, + -34, + -115, + 47, + 122, + 110, + 78, + -88, + 34, + -85, + 120, + 26, + -35, + -71, + 107, + 43, + -65, + 45, + -10, + 105, + 70, + 85, + -4, + -5, + 69, + 99, + -7, + -3, + -108, + 48, + -118, + -86, + -25, + 14, + -3, + -32, + 101, + 71, + 69, + 17, + 101, + 110, + 49, + -34, + 85, + -51, + -90, + -106, + -48, + -95, + -66, + -91, + -103, + -38, + 50, + -111, + -61, + 18, + 19, + -109, + 36, + 67, + -40, + -59, + -125, + -85, + -48, + 42, + -54, + 35, + 40, + -60, + 5, + -89, + 125, + -68, + -111, + -10, + 11, + 21, + 3, + -57, + -25, + 60, + -100, + -122, + -106, + 74, + -113, + 101, + -114, + 40, + -60, + 104, + -50, + -65, + 4, + 40, + 36, + 34, + -97, + -23, + -117, + 54, + -76, + 14, + -42, + 8, + -42, + -114, + -54, + -105, + -102, + 63, + 107, + -49, + 53, + -33, + -96, + -57, + -46, + -101, + 11, + -20, + 94, + 123, + 101, + -112, + 35, + 74, + -62, + -74, + 89, + -66, + -73, + 88, + -49, + -50, + -79, + 86, + 2, + 49, + 124, + 30, + -117, + 9, + 49, + -106, + -106, + 11, + 78, + 105, + -95, + 42, + -100, + 79, + -78, + 92, + -28, + 115, + 10, + 57, + -15, + 122, + -83, + 27, + -39, + -93, + 93, + -92, + -102, + 97, + -92, + 35, + -97, + -93, + -56, + 111, + 88, + -46, + 78, + 48, + -84, + -35, + -95, + -80, + -43, + -50, + -124, + -22, + 24, + -22, + 89, + -79, + 54, + -38, + -61, + 91, + -49, + 114, + -39, + 24, + -122, + -36, + 39, + 105, + -36, + 45, + 95, + -5, + 81, + 121, + 98, + 21, + -90, + -115, + 99, + 102, + -70, + 52, + -54, + 111, + -49, + -91, + 96, + 26, + 0, + 45, + 34, + 39, + -101, + 111, + -33, + -70, + 34, + -84, + 121, + -6, + 7, + -109, + -121, + -54, + -68, + -52, + -22, + 66, + -125, + 84, + -79, + -119, + 10, + -82, + -70, + -87, + 86, + 40, + -124, + 23, + 82, + 10, + -67, + -47, + -40, + 48, + 33, + 126, + 1, + 56, + 50, + -47, + 98, + -115, + 64, + 50, + 82, + -128, + 94, + 64, + -69, + 59, + 123, + 109, + -114, + -42, + 64, + 39, + -12, + -117, + -24, + 87, + -25, + -80, + -89, + -8, + -111, + 56, + 58, + -34, + -63, + -86, + 100, + 78, + -71, + -2, + 101, + -114, + -36, + -42, + 10, + 109, + -102, + 97, + 12, + -41, + 37, + -55, + 6, + 101, + 11, + -122, + 50, + 28, + -39, + -13, + 45, + -52, + 49, + 75, + 0, + 26, + 22, + 90, + 10, + -100, + 125, + 8, + -36, + -67, + 121, + -23, + -85, + 87, + 95, + 96, + -8, + 60, + 117, + -110, + -19, + -110, + 51, + 11, + -50, + 84, + 51, + -122, + 52, + -9, + 29, + -102, + -121, + 61, + -44, + -125, + -104, + -69, + 126, + -21, + -59, + 53, + 77, + 85, + 5, + 105, + 106, + -86, + 46, + 111, + 67, + 90, + -42, + -13, + 31, + 74, + 41, + -95, + 90, + 83, + -40, + -44, + 60, + -29, + -23, + 109, + -115, + 126, + -40, + -5, + -3, + 90, + 24, + -14, + 49, + -8, + 51, + 39, + -107, + -107, + -125, + -36, + 83, + -87, + 2, + 9, + 87, + 99, + -21, + 112, + -83, + 100, + -53, + 103, + -18, + 63, + 29, + 92, + 104, + 86, + -77, + 31, + 55, + 122, + 43, + 58, + 108, + -14, + 123, + 110, + 57, + -107, + -85, + -17, + 95, + -73, + -19, + 10, + 11, + 109, + -7, + 26, + 29, + -20, + 107, + -53, + -52, + -108, + -68, + -20, + -1, + 0, + -72, + -77, + 29, + 41, + -105, + 84, + 50, + 3, + 105, + 40, + -110, + 56, + -78, + -117, + 43, + -34, + -81, + 121, + 81, + 109, + 43, + 22, + -48, + 52, + -1, + 0, + 55, + -17, + 98, + 94, + 45, + 81, + -53, + 75, + 104, + 67, + -35, + 12, + -123, + 22, + -115, + -49, + -25, + -86, + -13, + 74, + 78, + 126, + -36, + 108, + 88, + 11, + 105, + -106, + -54, + -85, + -10, + 29, + -98, + -33, + -11, + 35, + 57, + -99, + 36, + -105, + -94, + -34, + 27, + -121, + 46, + -23, + -31, + -8, + 83, + 114, + 94, + -40, + 55, + -95, + 121, + -49, + 54, + -66, + 106, + 127, + -46, + -68, + -14, + 85, + 59, + 68, + 4, + 37, + 99, + 54, + -119, + 113, + -103, + 125, + -57, + 49, + -72, + 67, + -50, + 87, + -122, + -4, + 60, + 67, + -102, + -54, + -111, + -8, + 87, + -55, + -71, + 98, + 108, + -81, + 12, + 126, + 39, + 86, + 86, + -120, + 42, + -92, + -35, + -60, + -24, + -74, + -20, + -94, + 37, + 101, + -87, + 25, + 52, + -115, + 90, + 93, + -83, + 12, + 31, + 70, + 113, + -15, + -89, + -43, + -71, + -79, + 88, + 39, + 21, + 101, + -9, + -110, + -89, + -50, + 36, + 43, + 29, + -119, + 17, + -118, + -104, + -111, + -51, + -99, + 91, + -78, + 75, + 40, + 80, + 85, + -114, + -17, + -49, + 89, + -64, + -84, + -21, + -49, + 96, + -67, + 52, + -112, + -77, + -107, + 33, + -68, + 107, + -113, + 124, + -25, + -13, + 93, + -117, + 7, + -66, + 57, + 3, + 27, + -23, + -31, + 67, + 64, + 25, + -109, + -84, + 36, + -100, + 87, + -42, + -87, + -68, + -86, + -106, + -29, + 47, + -54, + 117, + 13, + 25, + 123, + 71, + 71, + 74, + 104, + 123, + -47, + 24, + 90, + -125, + -29, + -6, + 100, + -113, + -50, + 58, + 60, + 100, + 11, + -71, + 62, + 97, + -49, + -103, + -101, + -104, + -77, + -52, + 117, + -21, + -59, + -8, + -30, + 7, + 69, + -76, + 93, + 112, + 8, + 69, + -13, + 44, + -85, + -51, + 53, + 83, + 117, + -71, + 109, + -28, + 121, + -36, + -119, + -113, + -71, + -127, + -12, + 90, + -117, + 41, + -39, + -86, + -55, + 69, + 113, + -82, + 76, + 76, + 98, + -116, + -86, + -24, + -20, + -24, + -128, + 13, + -44, + 69, + 123, + -44, + 94, + 30, + 22, + -24, + -17, + -62, + 109, + 87, + 0, + -52, + -12, + 33, + 102, + 94, + 51, + -68, + 119, + -2, + 43, + 24, + -122, + -128, + -105, + -106, + 102, + -61, + 119, + -67, + -5, + -46, + -22, + -23, + -61, + 85, + -69, + 11, + -22, + -6, + -62, + -48, + 108, + 2, + 123, + -48, + -15, + -19, + -3, + 108, + -17, + 124, + -27, + 24, + -126, + -127, + -77, + -59, + 55, + -50, + -24, + -122, + -25, + 33, + -68, + -101, + -97, + 104, + 34, + -15, + -82, + 51, + -20, + -15, + 48, + -83, + -114, + -12, + -94, + 47, + 105, + 70, + -66, + -71, + 110, + -31, + 112, + -118, + 79, + -56, + -38, + -58, + -44, + -67, + -105, + -66, + 25, + -44, + -48, + -43, + 6, + -118, + -45, + 115, + -20, + 25, + -66, + -71, + -46, + 118, + -102, + -42, + 65, + -52, + -52, + -117, + -103, + -7, + -98, + -78, + -76, + 58, + -122, + 118, + -120, + -30, + -21, + -96, + -27, + 122, + 93, + 127, + 71, + -6, + 15, + -48, + 57, + -82, + 33, + -105, + -65, + 79, + 38, + 120, + -82, + -113, + -97, + -114, + 124, + -98, + -42, + 101, + -108, + -17, + 106, + 109, + 36, + 70, + -115, + -115, + 53, + 42, + -112, + -78, + 90, + -108, + -19, + -118, + -83, + -83, + 81, + -37, + 29, + 91, + -20, + 50, + 84, + 45, + 50, + -115, + 40, + 5, + 97, + 82, + 69, + 76, + -128, + 21, + -74, + 112, + 76, + 116, + 67, + 15, + 109, + -102, + 107, + -65, + 87, + -80, + -71, + -92, + 112, + 123, + 41, + -62, + 25, + 19, + -121, + 35, + -126, + 68, + -44, + 89, + 18, + -122, + 121, + 114, + 5, + -89, + 23, + 26, + 77, + 100, + 52, + 100, + -84, + -57, + 71, + 57, + -85, + -94, + -19, + 60, + -76, + 73, + -56, + 14, + -73, + 37, + -3, + -88, + 110, + -93, + -52, + 116, + -10, + 77, + -113, + -77, + 54, + -76, + 26, + -41, + -97, + -12, + 117, + -70, + -69, + -74, + 55, + 112, + 62, + -120, + -68, + 23, + -40, + 28, + 39, + -7, + 43, + 98, + -115, + -48, + -86, + -98, + 86, + -59, + 75, + -73, + -25, + -87, + -52, + 83, + 23, + 91, + -49, + 94, + -118, + -116, + -112, + 94, + 127, + -57, + -34, + -121, + 0, + 44, + -14, + -7, + -103, + 119, + -25, + 45, + 124, + -114, + -92, + -116, + -51, + -25, + 103, + -9, + 32, + -116, + 42, + -93, + 16, + 2, + -96, + 35, + -96, + -31, + -7, + -62, + -117, + 70, + 107, + -22, + 33, + -22, + 109, + 15, + 44, + 2, + -44, + -100, + -11, + 61, + -82, + -106, + -9, + -74, + 98, + -71, + -17, + -103, + 109, + -72, + 101, + -43, + -128, + 64, + -39, + -124, + 42, + 98, + 121, + 6, + 47, + -97, + 56, + -15, + -72, + -22, + -63, + 54, + -20, + -32, + -30, + 59, + 50, + -41, + -7, + 115, + -65, + -96, + -54, + -23, + -39, + -106, + 75, + 89, + -45, + 35, + 93, + -29, + 15, + 29, + -110, + 71, + 38, + -70, + -75, + 116, + -34, + 96, + -11, + -98, + -85, + 31, + -91, + 63, + -94, + 102, + -40, + 109, + 39, + -70, + -2, + -124, + -50, + 23, + -125, + 74, + -112, + -3, + -119, + -27, + 25, + -2, + -23, + 74, + 28, + -51, + -43, + -86, + 50, + -61, + -107, + 45, + -80, + -24, + -100, + -6, + 59, + -49, + -91, + -53, + -28, + 110, + -14, + -48, + 59, + -87, + 37, + 57, + -25, + 47, + 8, + -2, + 55, + 60, + 13, + -61, + -4, + -1, + 0, + 45, + -87, + -95, + 51, + -88, + 104, + -82, + -20, + -18, + 51, + -24, + -51, + 57, + 10, + -17, + -78, + 0, + -15, + 5, + -123, + -119, + 47, + -18, + 22, + -94, + -57, + -69, + 86, + 8, + 118, + 102, + -10, + -125, + -79, + 20, + -87, + 32, + -68, + -90, + 30, + 61, + 32, + 49, + -94, + 35, + -54, + -15, + 101, + -56, + -50, + -70, + 106, + -60, + 56, + 46, + 21, + 92, + -99, + 73, + -82, + -69, + 0, + 2, + -91, + -49, + 106, + 61, + 29, + 53, + -17, + 57, + -29, + -2, + -122, + -75, + -103, + 49, + -17, + -72, + 8, + -35, + -109, + 49, + -50, + -39, + 29, + 52, + 12, + -93, + -16, + 11, + 75, + -70, + -25, + 124, + 117, + -109, + 30, + 102, + -48, + 54, + 107, + 33, + 109, + -38, + 82, + 92, + -45, + 93, + -18, + 122, + 107, + -6, + 64, + -55, + 24, + 84, + 28, + 89, + -75, + -83, + 23, + 84, + 61, + 84, + -27, + -73, + 20, + 125, + 12, + 41, + 54, + 83, + 116, + 4, + 99, + -68, + -27, + -31, + 96, + -92, + -32, + -86, + -11, + -29, + 63, + 45, + 74, + 107, + -99, + -87, + 108, + 88, + 13, + 13, + 115, + -54, + -98, + 125, + 81, + -55, + 90, + 67, + -79, + 11, + 107, + 99, + 68, + -8, + -78, + -10, + -80, + -87, + 37, + 6, + -102, + 46, + -126, + -115, + -26, + -58, + 59, + 64, + 44, + -2, + 73, + -120, + -113, + -50, + 82, + -85, + -112, + 109, + 61, + 11, + -36, + 89, + -11, + 31, + -82, + 127, + -24, + 61, + 27, + -8, + -39, + -74, + -116, + -23, + -25, + 79, + 94, + 106, + 114, + 121, + -48, + 118, + -95, + -117, + -21, + -89, + -109, + 19, + 42, + -110, + -56, + 118, + 39, + 10, + -76, + 9, + 15, + -46, + 28, + 68, + -25, + -6, + -42, + -39, + -102, + 111, + 26, + 37, + 81, + 26, + 16, + -89, + 97, + -115, + -18, + 68, + -4, + -16, + 44, + -50, + -112, + -14, + -27, + 89, + 24, + -72, + 112, + 100, + 87, + -45, + 76, + -53, + -31, + -16, + -57, + -89, + 114, + -61, + 126, + 102, + 105, + -62, + 108, + -25, + -110, + 88, + -34, + -90, + -46, + 88, + 51, + 103, + 12, + 81, + 111, + 73, + 78, + -50, + -98, + -78, + -68, + -7, + 24, + 49, + 70, + 119, + -113, + 68, + -81, + 98, + 103, + 42, + 41, + 106, + -71, + 91, + -99, + 5, + 61, + 17, + -123, + 90, + -42, + -128, + 71, + 38, + -95, + -84, + 106, + -6, + -40, + 85, + -15, + -89, + -11, + 89, + 98, + 59, + -103, + -68, + 85, + -96, + 51, + 14, + 63, + -34, + 37, + 63, + -22, + -126, + 64, + -95, + -40, + 110, + -102, + -58, + 73, + -115, + -117, + 20, + 20, + -92, + 22, + 10, + 7, + -112, + -126, + 77, + 18, + 16, + 19, + 124, + 92, + -100, + -127, + -128, + -32, + -86, + -91, + -53, + 19, + -78, + -22, + -64, + 6, + -102, + 64, + -86, + -6, + -47, + 109, + -87, + 111, + 125, + -75, + -38, + -88, + 1, + -22, + -52, + -77, + -33, + 59, + 121, + -81, + 26, + 90, + 28, + -23, + -111, + -7, + 103, + 36, + -13, + 79, + -94, + 111, + -1, + 0, + 8, + -116, + 52, + 115, + 47, + 59, + -30, + 35, + 52, + 70, + -71, + 102, + -29, + -86, + -121, + 83, + -82, + 8, + -50, + -114, + 8, + -86, + -12, + -81, + 82, + -127, + -126, + -3, + 16, + -5, + 71, + 82, + -89, + -56, + -59, + -6, + 52, + 94, + 126, + 49, + -113, + -120, + 52, + -74, + 96, + -26, + -117, + -9, + -35, + 87, + 17, + -85, + -29, + 105, + 91, + -48, + 92, + -15, + -117, + -91, + -90, + 45, + -67, + -16, + 11, + 67, + 33, + 10, + -118, + -26, + 30, + 23, + 116, + 65, + -127, + 84, + 57, + -95, + 67, + 88, + 97, + -99, + -96, + 123, + 50, + -7, + -81, + -60, + -85, + 105, + 8, + -15, + -31, + 102, + -65, + -83, + -4, + -56, + -101, + 84, + 104, + -96, + 15, + -50, + -41, + -19, + -55, + -43, + -35, + 2, + -22, + 82, + 78, + -97, + -58, + 30, + 21, + -115, + -89, + -84, + -99, + 92, + 106, + -11, + 44, + -69, + -74, + -60, + -19, + 98, + -19, + 28, + -111, + 91, + 67, + 17, + 24, + -10, + 11, + -33, + 21, + -127, + -86, + -86, + -39, + -52, + -120, + -44, + 119, + -45, + -17, + 19, + -44, + -64, + -90, + -44, + 96, + 17, + 77, + -49, + -106, + -35, + 57, + 111, + 35, + -60, + -103, + -75, + 45, + 43, + 62, + 106, + -49, + 117, + 71, + 58, + -67, + -3, + -33, + -60, + -93, + 110, + 121, + 118, + -125, + -80, + 43, + -81, + -86, + -96, + -23, + -21, + 14, + 11, + 22, + -67, + 77, + 85, + 106, + 93, + 30, + -128, + 115, + 113, + -25, + 96, + -76, + -4, + -32, + -28, + -58, + -29, + 30, + 60, + 120, + 46, + -11, + -59, + 72, + -75, + -63, + -116, + -64, + -100, + 52, + -36, + -19, + 84, + 59, + 110, + 100, + -62, + -123, + 71, + 44, + -12, + 78, + -119, + 76, + -19, + 4, + -77, + 124, + -50, + -58, + 25, + -36, + 108, + -45, + 23, + -76, + -72, + 50, + -111, + -74, + 2, + 85, + -110, + 25, + 82, + 83, + 25, + 78, + -22, + 57, + 10, + 85, + -101, + -96, + -84, + 6, + -83, + 37, + 10, + 60, + 50, + 73, + -59, + -3, + 72, + -111, + -101, + 113, + 42, + -53, + 11, + 3, + 101, + 4, + 115, + 33, + 75, + 83, + 99, + -6, + 108, + 118, + 64, + 58, + -37, + 81, + 77, + -83, + -98, + 112, + -4, + -114, + 86, + -82, + -123, + -109, + -6, + 55, + 46, + 100, + 120, + 75, + -69, + 67, + -24, + 60, + -21, + 70, + -17, + 25, + 106, + -108, + -120, + 61, + 3, + 67, + 23, + -25, + -6, + 15, + 12, + -43, + 29, + 114, + 55, + 1, + 10, + 90, + 53, + 25, + -55, + 99, + 101, + -22, + -84, + 28, + 124, + -51, + 123, + 8, + 26, + -45, + -98, + 20, + 67, + 93, + 48, + 9, + -87, + 53, + 83, + 55, + 115, + 99, + -119, + 102, + 127, + 102, + -108, + 13, + -34, + -54, + 79, + 92, + 15, + 112, + 65, + 15, + 18, + -60, + 44, + -67, + 34, + 84, + 67, + 16, + 7, + 19, + 20, + 4, + -124, + 6, + -97, + -102, + 19, + 47, + -100, + 14, + 23, + -94, + 43, + 92, + -124, + -5, + 64, + -27, + -119, + -82, + -114, + 37, + 36, + -96, + 98, + -5, + 64, + -88, + -77, + 118, + 104, + -103, + 124, + -92, + -15, + 50, + 35, + -21, + -90, + 100, + -92, + 74, + -121, + 45, + 58, + -2, + 65, + -94, + 99, + -117, + -59, + -66, + -97, + 94, + -83, + 121, + 91, + -31, + -34, + 3, + 49, + 58, + -111, + 7, + 120, + -14, + -23, + -49, + -56, + -38, + 102, + 2, + -102, + 75, + 36, + 24, + -80, + 42, + -40, + -55, + 30, + -113, + 93, + -128, + 28, + 19, + -34, + -24, + -72, + -79, + 12, + 66, + -42, + -102, + 125, + 51, + 10, + 25, + 58, + -11, + 104, + -23, + -61, + 49, + 26, + -108, + -48, + 8, + -38, + -98, + -84, + -95, + -19, + -35, + 39, + 127, + -69, + 82, + -114, + 96, + 84, + 103, + -124, + -119, + 6, + 122, + -60, + 123, + -18, + -87, + 65, + 124, + 23, + -100, + -104, + -1, + 0, + -97, + -53, + 29, + 61, + 106, + -42, + -121, + 89, + -22, + -111, + 101, + 44, + -113, + -124, + 64, + 0, + 68, + 82, + -86, + 43, + -96, + 62, + 104, + 87, + 103, + -78, + 15, + -8, + -66, + -67, + 106, + 56, + -61, + -35, + 33, + 4, + 41, + 102, + 86, + 52, + 59, + 63, + -92, + 89, + -4, + 126, + 13, + 117, + -35, + 30, + -70, + -12, + -31, + 111, + 90, + 94, + 123, + -67, + 7, + 89, + -12, + 91, + 56, + -19, + 20, + 11, + 107, + -126, + 74, + -126, + -54, + 106, + -58, + -109, + 70, + 13, + 16, + -27, + -38, + 25, + 81, + 20, + -4, + 121, + 87, + -5, + 14, + -48, + -56, + 29, + 122, + -58, + -107, + 39, + -8, + 80, + 17, + 77, + 115, + -67, + 17, + 68, + 1, + 27, + 65, + 3, + 86, + -66, + -54, + -33, + 43, + -62, + -11, + 56, + -114, + 107, + 124, + 41, + -75, + 53, + 121, + -45, + 64, + -128, + -48, + -30, + 32, + 71, + 74, + 95, + -111, + 53, + 39, + 117, + -106, + 113, + 95, + 9, + 37, + -118, + -50, + 30, + -112, + 118, + -2, + -55, + -86, + -45, + 110, + -91, + -62, + -44, + -82, + -45, + 87, + -57, + -29, + -76, + -82, + -78, + -52, + -13, + -101, + -54, + 98, + -53, + 34, + -71, + -47, + -50, + 75, + 17, + 8, + 41, + -55, + 22, + 71, + -33, + -38, + 69, + -26, + -36, + -77, + -52, + 98, + 77, + -67, + 102, + 76, + 78, + 96, + -19, + -23, + 90, + 63, + -37, + -117, + -50, + 36, + -97, + 120, + -47, + -107, + -75, + -83, + -17, + -41, + -89, + -35, + -102, + 70, + 53, + -116, + 24, + -121, + -34, + -103, + 21, + -78, + -72, + -104, + -35, + 77, + -85, + 125, + 88, + 64, + 26, + 93, + -126, + -90, + -79, + -52, + 100, + 111, + -85, + -24, + -124, + -52, + -101, + -42, + -44, + 95, + 30, + -84, + -23, + 110, + -6, + 124, + 81, + 9, + 109, + -94, + -123, + 121, + 80, + 11, + 59, + -94, + 11, + 27, + 125, + 69, + -25, + 85, + 43, + -121, + -107, + -95, + -66, + 68, + 42, + -7, + -75, + -57, + -117, + -91, + -77, + -105, + -60, + -13, + -57, + -28, + 14, + -91, + -89, + 14, + -110, + -103, + 66, + 11, + -71, + -45, + 35, + 33, + -10, + 62, + -23, + 101, + -55, + 46, + 63, + 41, + 44, + -82, + 87, + -109, + -124, + -98, + 89, + 68, + 112, + 44, + 75, + 48, + 10, + -18, + -116, + -87, + 28, + 38, + -93, + 12, + -54, + 123, + 20, + 20, + -82, + -60, + -71, + 70, + 93, + -83, + -119, + 44, + 113, + -32, + 16, + -14, + -47, + 70, + 11, + -66, + -2, + 50, + -18, + 23, + 91, + 46, + 8, + -111, + -42, + -59, + 117, + 76, + 88, + -123, + 8, + 28, + 48, + 69, + -44, + 15, + 93, + 27, + -77, + -29, + -34, + 106, + -59, + 52, + -87, + -77, + -95, + -18, + 89, + -93, + -89, + 38, + -118, + -33, + 114, + -33, + 24, + 24, + -74, + 125, + 13, + 85, + -65, + 15, + 67, + -91, + -46, + -121, + -16, + 60, + -69, + -98, + 45, + -119, + -38, + 108, + -94, + 66, + 41, + 18, + -74, + 72, + -22, + 74, + -13, + -79, + 101, + 71, + -64, + -82, + -31, + 45, + 100, + -44, + 0, + 81, + 96, + 85, + 70, + 80, + 6, + 109, + -77, + -51, + 87, + 118, + -19, + 90, + -69, + 98, + -114, + 92, + -81, + -70, + 108, + 116, + 82, + 77, + 89, + 119, + 78, + -57, + -85, + 60, + -25, + -87, + 10, + -71, + 91, + 13, + -41, + -109, + 8, + -103, + -16, + 87, + -10, + 98, + -70, + 18, + -8, + -42, + -84, + 127, + 57, + 79, + 87, + 93, + 57, + -54, + 74, + -68, + 21, + 111, + -14, + -45, + -115, + -27, + -117, + 57, + 69, + -6, + -55, + -100, + 122, + 38, + 10, + -107, + -42, + -58, + -102, + -6, + -55, + -17, + 109, + -119, + 83, + -18, + -83, + -28, + -9, + 46, + 18, + 21, + -34, + 40, + 91, + -8, + -92, + -87, + 117, + 105, + 61, + 91, + 58, + -39, + 116, + 114, + -12, + 12, + -27, + -92, + -26, + -56, + -77, + 74, + -106, + -19, + 108, + -60, + -10, + 15, + 78, + -44, + 44, + -14, + -8, + -60, + 53, + -42, + -122, + 119, + -94, + -80, + -71, + -84, + 54, + -20, + -50, + -114, + 11, + 122, + 65, + -34, + -19, + 35, + 8, + -13, + 116, + -70, + 74, + 63, + -101, + -11, + -61, + 122, + -73, + -99, + -77, + 42, + -91, + 4, + 32, + 49, + -89, + 103, + -70, + -66, + 23, + 14, + -87, + -25, + -62, + 76, + 96, + -79, + -115, + 24, + -96, + 39, + 74, + -57, + -37, + -3, + 41, + -97, + 127, + -88, + -23, + 105, + 98, + -77, + -110, + 78, + -59, + 74, + 101, + 77, + 101, + 90, + 16, + -126, + -9, + 24, + -106, + -112, + -21, + 36, + -105, + 10, + -65, + -90, + -82, + -15, + 88, + -4, + -81, + -1, + 0, + 57, + -33, + 11, + 19, + 27, + 27, + -23, + -2, + 67, + 10, + 9, + 51, + -78, + 112, + -15, + 96, + 101, + -98, + 44, + 126, + 53, + 32, + -113, + -18, + 15, + -99, + 7, + -112, + -55, + 44, + 100, + 43, + 67, + 47, + -111, + 53, + -47, + 13, + 79, + 44, + 8, + -33, + 84, + 79, + 26, + -15, + -120, + -110, + 76, + -7, + 25, + -16, + -53, + 33, + -115, + 114, + 37, + 125, + -44, + -53, + -108, + -45, + -106, + 74, + -116, + -5, + 69, + -112, + -95, + 92, + -48, + -91, + 39, + 82, + -86, + -38, + 109, + 19, + 113, + -60, + 49, + -59, + -64, + 33, + 127, + 113, + -33, + 8, + -15, + -14, + 70, + 61, + 20, + 30, + 26, + -89, + -22, + -1, + 0, + 75, + -51, + -25, + 79, + 69, + 81, + -114, + 97, + -36, + 88, + -119, + 83, + -106, + -109, + -53, + -104, + -8, + -36, + -69, + 17, + -51, + -109, + 43, + -118, + -46, + 96, + -83, + -99, + -27, + -55, + -47, + -84, + -85, + -106, + -5, + 100, + -89, + -32, + -2, + -20, + -114, + -69, + 28, + -21, + 1, + -6, + 62, + -111, + -55, + -8, + -15, + 79, + -97, + -70, + -10, + 30, + 91, + -89, + -87, + 103, + -118, + -51, + 13, + 119, + -31, + 108, + 74, + 71, + -46, + 49, + 37, + 76, + 71, + 75, + -50, + 125, + 40, + 44, + -86, + 125, + -5, + 25, + 15, + -104, + -12, + -123, + -9, + -36, + -77, + -69, + 41, + -17, + -78, + -98, + -105, + 57, + 103, + 111, + 12, + -23, + 118, + 60, + -104, + 21, + -84, + -47, + 85, + -119, + -97, + -27, + 38, + 67, + -1, + 0, + 15, + -36, + 19, + 57, + 95, + 65, + -93, + -90, + -82, + 75, + -91, + -21, + 91, + -2, + -8, + 93, + -128, + 83, + -63, + 40, + 125, + 63, + -116, + -8, + -38, + -40, + -9, + -93, + -121, + -99, + -46, + 50, + -90, + -29, + 107, + -117, + -102, + -113, + -104, + -11, + -73, + 49, + 57, + -9, + -53, + -39, + 80, + -5, + -39, + 59, + 64, + 84, + -52, + -121, + -50, + 73, + 10, + 21, + -51, + -37, + 72, + -37, + -50, + 94, + 16, + 93, + 120, + -115, + 49, + 127, + -127, + 6, + -21, + 110, + 85, + -86, + -62, + 34, + -107, + 28, + 73, + -76, + 102, + -99, + -111, + 103, + -62, + -118, + -69, + -79, + -18, + -119, + 8, + -93, + 49, + 116, + 18, + 85, + 78, + -100, + -61, + 46, + 48, + -24, + -82, + -58, + -20, + -96, + -84, + 110, + 2, + -25, + -30, + -33, + -58, + 22, + -87, + 77, + 127, + 65, + -20, + -103, + 37, + 0, + -71, + -71, + 82, + -93, + -51, + -91, + -19, + 121, + 28, + -7, + -29, + -126, + -63, + -113, + 1, + -102, + 70, + 43, + 63, + -112, + -7, + -56, + -119, + -112, + 15, + 104, + 101, + 42, + 118, + -9, + -20, + -48, + -105, + 23, + 16, + 45, + -29, + 10, + 117, + -12, + -81, + -61, + 125, + 43, + -113, + -53, + 99, + 46, + 102, + 92, + -19, + 10, + -101, + 93, + 20, + -94, + 52, + -96, + 17, + -85, + -44, + -128, + -78, + -95, + 11, + -96, + -108, + 68, + -47, + -105, + 0, + 6, + 102, + -78, + 108, + 63, + 80, + -33, + 21, + 25, + 116, + 109, + 13, + 16, + 68, + -98, + -81, + 65, + -63, + 22, + -40, + 62, + 89, + -55, + -43, + 20, + -9, + 86, + -121, + 77, + -87, + -56, + -108, + -58, + 92, + 75, + 55, + 29, + 126, + 45, + -82, + 48, + 111, + -68, + -7, + -15, + 125, + 7, + -106, + -48, + 112, + -115, + -13, + -29, + 74, + 24, + -3, + -63, + -120, + -114, + -87, + 54, + -126, + -8, + -36, + -82, + -98, + 55, + 56, + -57, + -108, + 115, + -12, + 62, + -49, + -99, + -57, + 60, + -25, + -18, + -44, + 18, + 87, + -58, + 101, + -41, + 22, + 29, + -13, + 66, + -121, + -21, + 97, + 91, + 34, + -105, + -114, + -61, + 81, + 120, + 121, + -53, + -19, + 67, + -94, + -46, + -89, + 18, + 123, + 29, + -93, + -59, + -127, + -107, + -6, + -120, + -115, + -41, + 11, + -10, + -72, + -22, + -88, + 115, + 75, + -59, + 102, + 55, + -4, + 86, + 9, + 62, + 113, + 107, + 63, + 66, + -101, + -98, + -26, + 100, + 98, + -53, + 18, + 72, + -65, + -121, + 97, + 33, + 39, + -32, + -101, + 42, + 88, + 93, + -33, + 101, + -119, + -80, + 9, + -81, + -128, + -49, + 31, + -45, + 92, + 12, + 40, + -79, + -76, + -78, + -85, + 40, + -94, + -94, + 69, + 32, + 118, + 62, + 54, + 80, + 126, + 7, + -20, + 0, + 53, + 93, + 1, + -21, + -96, + 95, + 9, + -29, + 96, + 53, + 47, + 24, + -32, + -85, + 79, + -118, + -81, + -63, + -22, + 105, + -34, + 92, + -23, + 91, + 69, + -29, + -66, + 20, + -86, + 81, + 46, + 43, + 81, + 91, + 86, + 108, + 127, + -6, + 57, + -111, + 81, + -83, + -79, + -102, + 90, + 123, + -120, + -25, + -119, + -53, + 127, + 35, + 76, + 103, + 57, + -85, + -60, + -66, + -79, + -55, + -21, + 3, + 80, + 116, + 111, + -2, + -79, + -110, + -26, + -81, + -44, + 26, + -86, + -1, + 0, + -105, + 61, + -13, + -18, + 44, + -77, + 49, + -43, + -24, + 95, + -110, + -111, + -68, + -97, + -84, + -35, + 25, + 112, + -110, + -5, + -128, + 82, + -102, + -100, + -50, + -34, + 83, + 104, + -108, + 18, + -34, + 121, + 113, + -43, + 92, + 41, + -35, + 9, + 39, + 88, + 91, + -29, + -99, + -5, + 72, + -47, + -39, + -26, + -70, + 92, + 90, + 99, + -15, + -3, + 30, + -68, + -102, + 53, + -85, + -43, + -118, + -12, + 67, + -29, + -125, + 73, + 104, + -126, + -4, + -15, + 111, + -6, + -27, + 82, + 39, + -58, + 37, + 97, + 38, + 30, + 93, + 82, + -100, + -12, + -99, + -118, + -93, + 101, + 5, + -113, + 22, + 42, + 96, + 100, + 24, + -106, + 17, + -59, + -120, + 31, + 79, + 57, + -68, + -71, + -87, + 113, + 14, + 91, + -78, + -85, + -120, + 18, + -62, + 89, + 86, + -72, + -1, + 0, + 63, + -71, + 108, + 43, + -117, + -78, + -21, + 121, + -19, + -4, + -53, + -103, + 124, + -113, + 71, + -61, + 54, + 92, + -77, + -34, + -98, + -114, + 49, + 111, + 71, + -59, + -53, + 122, + -61, + -40, + -29, + 17, + 66, + 73, + -44, + -85, + -83, + -61, + -43, + -6, + -12, + -74, + -54, + -45, + -21, + -47, + -97, + 30, + 70, + -114, + -93, + 9, + 110, + -19, + 100, + 115, + 121, + -51, + -87, + -58, + -61, + 54, + 122, + -50, + -108, + -53, + 12, + -43, + -61, + -45, + 9, + 98, + -96, + 6, + -81, + -89, + -127, + 27, + -6, + -117, + 38, + 73, + 48, + -29, + 79, + 35, + 24, + 101, + 88, + -27, + 83, + -19, + -43, + 92, + 69, + 44, + -114, + 83, + 86, + -111, + 64, + 84, + -40, + 107, + 65, + -114, + -22, + -14, + -86, + -69, + 49, + -11, + -100, + 125, + 7, + -58, + -49, + -115, + -11, + 7, + 39, + -107, + 60, + 108, + 6, + -65, + 110, + -64, + -105, + -42, + 70, + -97, + 50, + 36, + -116, + 48, + 122, + 37, + -59, + 7, + 46, + -122, + -128, + 14, + 20, + -107, + 8, + 61, + 56, + 28, + 57, + 103, + -10, + -103, + -35, + -43, + 84, + -12, + -36, + -72, + 86, + 66, + -86, + 107, + 36, + -55, + 109, + -28, + 58, + -64, + 96, + -5, + 102, + -96, + 2, + 83, + -30, + -40, + -78, + -13, + 111, + -120, + 96, + -82, + 0, + -123, + 101, + -65, + 55, + -60, + 61, + 2, + -73, + 99, + -49, + -56, + -65, + -25, + -85, + 26, + -123, + -75, + 20, + -101, + 58, + -46, + -19, + 97, + -6, + 26, + -29, + 27, + -90, + 88, + -60, + 51, + -52, + 124, + -52, + -36, + -30, + -94, + -123, + 64, + -22, + 41, + -119, + -4, + -40, + 21, + -11, + 98, + -53, + 81, + -40, + -16, + -68, + -69, + 76, + 114, + 120, + -95, + -89, + 105, + 119, + 1, + 102, + 4, + -66, + 101, + 47, + -122, + -37, + 83, + -76, + 126, + -44, + 10, + 20, + -48, + -117, + 99, + -1, + 0, + 126, + -35, + 100, + 79, + -65, + -125, + 86, + -29, + 93, + -35, + -78, + -10, + 10, + 47, + -39, + 118, + 39, + -88, + -64, + -76, + -58, + 100, + -17, + 73, + 95, + -13, + -123, + 12, + -94, + -5, + -83, + 3, + 14, + -54, + 90, + 96, + -115, + 119, + 49, + 65, + -45, + 46, + 12, + 97, + -52, + -78, + -1, + 0, + 42, + -7, + -1, + 0, + 41, + -85, + 86, + -58, + 91, + -94, + -42, + 61, + -105, + 100, + -123, + 86, + -42, + -36, + 29, + -67, + 96, + 98, + -107, + 71, + 115, + 76, + 86, + 86, + 60, + -49, + -24, + 54, + -62, + -40, + 122, + -82, + 120, + 42, + -26, + 47, + 21, + -46, + -73, + -118, + -108, + -13, + -22, + -88, + -92, + -75, + -90, + 8, + -59, + -82, + -24, + -102, + 109, + 99, + -103, + -126, + -5, + -101, + 35, + 86, + -69, + -109, + 42, + 91, + 90, + -23, + 111, + 123, + -24, + -31, + 89, + -104, + 116, + -62, + -74, + -78, + 86, + -85, + 107, + 64, + -56, + -30, + -3, + -31, + -34, + 93, + 83, + 53, + -106, + 42, + 88, + 90, + -62, + -109, + 54, + 69, + 78, + -16, + -46, + -7, + 86, + -7, + 14, + 60, + -121, + 12, + 113, + -51, + -100, + -86, + -3, + -56, + -79, + -119, + 20, + -22, + 117, + -38, + -42, + -123, + -46, + -87, + 96, + 80, + -74, + -95, + -83, + 80, + -37, + 42, + -119, + 1, + 59, + 100, + -110, + -76, + 24, + 114, + 52, + 68, + -86, + -68, + -102, + 72, + -75, + 82, + 107, + 125, + 26, + 37, + -104, + 46, + -70, + -83, + -80, + 0, + 21, + 21, + -74, + -106, + -74, + 65, + -123, + 114, + -95, + -97, + 72, + -68, + 123, + 78, + -37, + 52, + 69, + 122, + 58, + -114, + 18, + -30, + 63, + 25, + -42, + -11, + 39, + -70, + -38, + 3, + -24, + -83, + 51, + 80, + -55, + -77, + -15, + 85, + -77, + 32, + -56, + 116, + 117, + -118, + -102, + -18, + -29, + -74, + -17, + 41, + -119, + 57, + -90, + -61, + 14, + 51, + 75, + 4, + 83, + 45, + 107, + 112, + -17, + 126, + -47, + -57, + 40, + 41, + 20, + -12, + 127, + -103, + -13, + 28, + -118, + 35, + -24, + 21, + -113, + -110, + 101, + -98, + -122, + 112, + -63, + -72, + -50, + -79, + 92, + -60, + 59, + -106, + 74, + -56, + -41, + -102, + 92, + -55, + 53, + -33, + 23, + 24, + -20, + 51, + -1, + 0, + -37, + -66, + 109, + -82, + -53, + -89, + 4, + -34, + 87, + 80, + -12, + -36, + -16, + -117, + -88, + 13, + 5, + -110, + 117, + 58, + -95, + 113, + 29, + 43, + 3, + -95, + -42, + 6, + 109, + -79, + 16, + -95, + 22, + 91, + -102, + -74, + 43, + -86, + 64, + -120, + -1, + 0, + -4, + 122, + 15, + -110, + -97, + 66, + -13, + -4, + 89, + 91, + -32, + 48, + -50, + 107, + -76, + 48, + -19, + 35, + 125, + 51, + -27, + -122, + 44, + -32, + -118, + 102, + -108, + 73, + -68, + 23, + -96, + 9, + -22, + 123, + 69, + 119, + 42, + 76, + -87, + -69, + -81, + -96, + 23, + 115, + -30, + 43, + -113, + -118, + -100, + 84, + 42, + -15, + -24, + -107, + -80, + -124, + 93, + 97, + 65, + -47, + -69, + -44, + -67, + 56, + 66, + -116, + -109, + 117, + 114, + 35, + -24, + -20, + 101, + 79, + 66, + 101, + 90, + 32, + -32, + -92, + 110, + -115, + -1, + 0, + 63, + -93, + -23, + -25, + -40, + 5, + 16, + 64, + 59, + -87, + 67, + -80, + -93, + -67, + 41, + 99, + -37, + 10, + 38, + 84, + -73, + -26, + 38, + 97, + -70, + 35, + 41, + 92, + -77, + 72, + -24, + -63, + -111, + 10, + 106, + -40, + -110, + -125, + 19, + 50, + 118, + -106, + 35, + -46, + -101, + -30, + 38, + -127, + -104, + 83, + 71, + 124, + -102, + 102, + 49, + 75, + 27, + 92, + -47, + -60, + -111, + -20, + -125, + 85, + 36, + 50, + -93, + 5, + 5, + -119, + 98, + 78, + -92, + 127, + 81, + 74, + -79, + 44, + -69, + 49, + 109, + -77, + -120, + -96, + 83, + -105, + -119, + -110, + -116, + -48, + 73, + 52, + -113, + 14, + -17, + -69, + 37, + -93, + 108, + 24, + -86, + -87, + 27, + 20, + 58, + -4, + 48, + 106, + 61, + -98, + -67, + 3, + 125, + 53, + -23, + -113, + 67, + 32, + -106, + 25, + -97, + -88, + 121, + -25, + 88, + -14, + -26, + 84, + -123, + -67, + 57, + -95, + -77, + 81, + -67, + -85, + 97, + -24, + 106, + 87, + 18, + -38, + 60, + 117, + -106, + 43, + 35, + 118, + 96, + -114, + 39, + -23, + -81, + 65, + 58, + 71, + -86, + 13, + -52, + -46, + -12, + -61, + -54, + -38, + 56, + 6, + 51, + 41, + -41, + 88, + 5, + 50, + -74, + -118, + -99, + -77, + 77, + -57, + 27, + 16, + 42, + -73, + -71, + 110, + 121, + -101, + 53, + -27, + -87, + -71, + 39, + -18, + 41, + -98, + -84, + 74, + 33, + -100, + -112, + -19, + 52, + 19, + -98, + -81, + -106, + 35, + 79, + -125, + -117, + -127, + 75, + 54, + 82, + -14, + -109, + -77, + -10, + -13, + -92, + 43, + -52, + 117, + 73, + 113, + -85, + 84, + -115, + -101, + 96, + -85, + -127, + -6, + 3, + 67, + 124, + 76, + 15, + -76, + 16, + 69, + 82, + 122, + -55, + 88, + -100, + -29, + 29, + -104, + 102, + 96, + 127, + 122, + -56, + -123, + 81, + -40, + 62, + 87, + -23, + -79, + 119, + -76, + -67, + -41, + 87, + -85, + -124, + 44, + 99, + 108, + 108, + -21, + -110, + -96, + -39, + 112, + -37, + -62, + 1, + -62, + -103, + -27, + -47, + 20, + -111, + 23, + -23, + -42, + 74, + -45, + 64, + -12, + 24, + 55, + -98, + -67, + 6, + -54, + -44, + -4, + -45, + -88, + 46, + 90, + -40, + 7, + 46, + 13, + -55, + 110, + 63, + 122, + 49, + 123, + -30, + 47, + 88, + -71, + 67, + -46, + -115, + 122, + 74, + 121, + -20, + -29, + -43, + -87, + 25, + -3, + -6, + 58, + 95, + 122, + -27, + 76, + -72, + -74, + 62, + -41, + -45, + 106, + -1, + 0, + -50, + -75, + -8, + 3, + 125, + 117, + -56, + 1, + -78, + -27, + -56, + -54, + 77, + -33, + 3, + -68, + 72, + -25, + -83, + -6, + 107, + 90, + -70, + -69, + -95, + -74, + 53, + 37, + -3, + -53, + 94, + -36, + 53, + 96, + -69, + 26, + -34, + -115, + -87, + -7, + -59, + -75, + 118, + 2, + 72, + -125, + -54, + -79, + -89, + -12, + 117, + -73, + 98, + 77, + -22, + 30, + -66, + 89, + -117, + 123, + 74, + -33, + 123, + 116, + -124, + 38, + -61, + 91, + 17, + -54, + -78, + 76, + -104, + -54, + -52, + -118, + 50, + -99, + -100, + -57, + -78, + -44, + -111, + -52, + -79, + 16, + 118, + -80, + 21, + -103, + -119, + -8, + 2, + -123, + 88, + -93, + -22, + -73, + -100, + 115, + -5, + 104, + 84, + 60, + -6, + -106, + -92, + -19, + -79, + -91, + -3, + 15, + 109, + 54, + -28, + 26, + -89, + -6, + 83, + -65, + -86, + 49, + 71, + -115, + -23, + 108, + 32, + 54, + 114, + 46, + -32, + 16, + 54, + -64, + -127, + -21, + 84, + 78, + 58, + 125, + -96, + -33, + -43, + 103, + -84, + 103, + -44, + 89, + 6, + 108, + -49, + 127, + 69, + 4, + 118, + -5, + 76, + -116, + 62, + 111, + -46, + -84, + 96, + 48, + -97, + 99, + 49, + 104, + 76, + -2, + 117, + -38, + 73, + 61, + 32, + 89, + -43, + -18, + 122, + -104, + 40, + -3, + 70, + 95, + 65, + -32, + 1, + -35, + 18, + -5, + -117, + -100, + 101, + -38, + -90, + -61, + 88, + 47, + -94, + 51, + 38, + -53, + -86, + -84, + -39, + -114, + 107, + 20, + -18, + 26, + -126, + 56, + 115, + 55, + 54, + 109, + -79, + 53, + 115, + -116, + -120, + 69, + -7, + 112, + 124, + -109, + 113, + 126, + 83, + -98, + -117, + -119, + -23, + -107, + 47, + 63, + -57, + -121, + 51, + -24, + 72, + -70, + 70, + 13, + -5, + 120, + 61, + -127, + -91, + 14, + -99, + -30, + -11, + -106, + 55, + 8, + 112, + 43, + 26, + -114, + -75, + -104, + -89, + -89, + 60, + 40, + -78, + -53, + 119, + 124, + -123, + 1, + 119, + 110, + -46, + -56, + -89, + 51, + 103, + -42, + -33, + -9, + 85, + -20, + -88, + -79, + -43, + 67, + 58, + -117, + 55, + -101, + -50, + 105, + 78, + 117, + 20, + -39, + -103, + -104, + 121, + -16, + -13, + -121, + -83, + 46, + 74, + -65, + -17, + 60, + 7, + 105, + -12, + -94, + -51, + 28, + -63, + -113, + -56, + 94, + -106, + -20, + 106, + -77, + 59, + -38, + 55, + -59, + -110, + -37, + 85, + 95, + -93, + -125, + -127, + -117, + -49, + 65, + 97, + 49, + -40, + -87, + 88, + 72, + -99, + 48, + 70, + 81, + -125, + 112, + 50, + -93, + -62, + -23, + 9, + -43, + -81, + -105, + -126, + -71, + -38, + -61, + -62, + -56, + 54, + -113, + 37, + -97, + -55, + 113, + -48, + -58, + 113, + -15, + -30, + -54, + -60, + -105, + -87, + -30, + 86, + -112, + -50, + 22, + 84, + 88, + -40, + 67, + -96, + 116, + 105, + 98, + 102, + 87, + 116, + 118, + -42, + 68, + 86, + 80, + -54, + -56, + -83, + -24, + -1, + 0, + 13, + -127, + -61, + -14, + -17, + 43, + -27, + 79, + 54, + 31, + 35, + -113, + -87, + -122, + 86, + 68, + -16, + 9, + 35, + 38, + 65, + -9, + 46, + 89, + 100, + 16, + -52, + 17, + -94, + 87, + -116, + 56, + -114, + 66, + -82, + -24, + -24, + 72, + 84, + 19, + 33, + 40, + 117, + 39, + 123, + 84, + 23, + -102, + -57, + 90, + 93, + 0, + -23, + 65, + 10, + 40, + -116, + 1, + -97, + 100, + 83, + -80, + 24, + -18, + -99, + 13, + -96, + 83, + 54, + 94, + -47, + 83, + -101, + 84, + 33, + 95, + 60, + -115, + 85, + -104, + -85, + -118, + -29, + 80, + 115, + -106, + 70, + -46, + 109, + 77, + 87, + -124, + -52, + 12, + 107, + 93, + -36, + 94, + -76, + 42, + -5, + 9, + 98, + 1, + 37, + -5, + 102, + -11, + 117, + -71, + -32, + 98, + -72, + 54, + 27, + -73, + -107, + 121, + -122, + 123, + -36, + -109, + 21, + 8, + -104, + -32, + -112, + 120, + 95, + -109, + 125, + -1, + 0, + -28, + 66, + -125, + 44, + -44, + -32, + 119, + 67, + -22, + -41, + -30, + 67, + -65, + 38, + -83, + -56, + -32, + -78, + -120, + -108, + -58, + -78, + -53, + 52, + 40, + 26, + 21, + 109, + 61, + 100, + 72, + -5, + 50, + -83, + -79, + 21, + 56, + -68, + 22, + -53, + -89, + 105, + -97, + -5, + 96, + 86, + 50, + 20, + -43, + -64, + 84, + 94, + 82, + -66, + -127, + 99, + -7, + 40, + -111, + 70, + 37, + -91, + 88, + -96, + 67, + -118, + -116, + 125, + -119, + -83, + 91, + -96, + -84, + -43, + 25, + 46, + -47, + -83, + 51, + 25, + -91, + 13, + -117, + 13, + 124, + 117, + -49, + -38, + 44, + 50, + 59, + -113, + -70, + -50, + -4, + 77, + -58, + 123, + -41, + -18, + 125, + -89, + 41, + 63, + -90, + -99, + -43, + -106, + -39, + -66, + -35, + 50, + 116, + 108, + -3, + -56, + 77, + 97, + 40, + 3, + -121, + -50, + 11, + 3, + 26, + 96, + 93, + 121, + 71, + 94, + -84, + 82, + 46, + -1, + 0, + 17, + 7, + 2, + -25, + -81, + 26, + -128, + -66, + -17, + -101, + -4, + 17, + 67, + -82, + -123, + -110, + 8, + -3, + -1, + 0, + 63, + -17, + -47, + -84, + 99, + 82, + -80, + 44, + 2, + -80, + 0, + -98, + -55, + 20, + -57, + -79, + 125, + 30, + -65, + -28, + -4, + -97, + -114, + -113, + -82, + -3, + 40, + -74, + 121, + 111, + -56, + -83, + 73, + 54, + -19, + -49, + 41, + 118, + 6, + -36, + -3, + -91, + 56, + -47, + 91, + -89, + 68, + -117, + -7, + -126, + 100, + -93, + 86, + 67, + -110, + 76, + -112, + -126, + -4, + 38, + -44, + 83, + -75, + 43, + 27, + 91, + -74, + -62, + -61, + -104, + 85, + 48, + 98, + -111, + 39, + 45, + -91, + -7, + -89, + -71, + -50, + 2, + 121, + 82, + -75, + 27, + 9, + -5, + 82, + 110, + -86, + -24, + -53, + -69, + 76, + 26, + 1, + 21, + 40, + -87, + 30, + -18, + 100, + -117, + -46, + 104, + 8, + -77, + 60, + -92, + 8, + -92, + -27, + -24, + 79, + 37, + -36, + 95, + 62, + -63, + -43, + 6, + 69, + -1, + 0, + -12, + -76, + 33, + 21, + -125, + 104, + 54, + 110, + 36, + -116, + -18, + -99, + -128, + 13, + -44, + 17, + -19, + -39, + -102, + 16, + -19, + 44, + -124, + 108, + 1, + 125, + 42, + -125, + 121, + -121, + -52, + 30, + 39, + -35, + -86, + 24, + -55, + -103, + -62, + -70, + -83, + -65, + -30, + -84, + 55, + -107, + 29, + 51, + 48, + 110, + -108, + 53, + -111, + 69, + 8, + -11, + 90, + 109, + 49, + 16, + 28, + 63, + 9, + 24, + -67, + 75, + 2, + -77, + -120, + 9, + -8, + -31, + -4, + 9, + 127, + -81, + 58, + -27, + 111, + -124, + -10, + 62, + -82, + -66, + -18, + 117, + 25, + -101, + -12, + -66, + 47, + -87, + -80, + -4, + -46, + -78, + -29, + 25, + 77, + -31, + -106, + -17, + 49, + -19, + -94, + -21, + -97, + -49, + 87, + 16, + -50, + -18, + 93, + -70, + -69, + 36, + -43, + 37, + -88, + 41, + -81, + -97, + -54, + 12, + -101, + -28, + 125, + -63, + -6, + 57, + 69, + -56, + -19, + -115, + 75, + -65, + -96, + -94, + -36, + -47, + 8, + 43, + -80, + 13, + 19, + 16, + 37, + -60, + 18, + -81, + 25, + -62, + 39, + 37, + -121, + 39, + 41, + -64, + -28, + 99, + 7, + -5, + 96, + 50, + 50, + -106, + 114, + -85, + -18, + -111, + 34, + -106, + 104, + -11, + 44, + 87, + -35, + 117, + 9, + -14, + 50, + 53, + -58, + -126, + -125, + 6, + 7, + -45, + 75, + -21, + 15, + 45, + 16, + 18, + -105, + 71, + -125, + 25, + -61, + 31, + -127, + 27, + -29, + -58, + -60, + 11, + -80, + -127, + 95, + 118, + 0, + 3, + -77, + -106, + -39, + 84, + -40, + 29, + 42, + 100, + 34, + -63, + -65, + -2, + -28, + 123, + -66, + -99, + 91, + 122, + -60, + 112, + 35, + 47, + 120, + 31, + 63, + 11, + 7, + 97, + 75, + 21, + -95, + 98, + -2, + -127, + -82, + -48, + -110, + -9, + 51, + 3, + 15, + 6, + 16, + 117, + 34, + -56, + -83, + 42, + 15, + 25, + -33, + -97, + 64, + 123, + 28, + -122, + 64, + -29, + -89, + 64, + 94, + 20, + -90, + -37, + -122, + -54, + -121, + -48, + -77, + 60, + -121, + 64, + 57, + -94, + 26, + 53, + -10, + 80, + -98, + -39, + -14, + -10, + -71, + -103, + -109, + -53, + 6, + 86, + 102, + -41, + 100, + 98, + -54, + 54, + 15, + 85, + 86, + 74, + -45, + -54, + 23, + 5, + -92, + 47, + -77, + 45, + -18, + 121, + -18, + 89, + -104, + 32, + 35, + -109, + -50, + -12, + -115, + -94, + -94, + 46, + -98, + 95, + 124, + 105, + 67, + -21, + 77, + -44, + -109, + -79, + 79, + 56, + -75, + -25, + 68, + -110, + 28, + 25, + -76, + -116, + -12, + -82, + -122, + 120, + -126, + 100, + 97, + 7, + 10, + -83, + -23, + -92, + -51, + 68, + -90, + 86, + 41, + -119, + -88, + 86, + -117, + -92, + -26, + -66, + 104, + 17, + -59, + 29, + -58, + -90, + 60, + -113, + -97, + -32, + -102, + -2, + -113, + -111, + -46, + 65, + 47, + 13, + -104, + -50, + 100, + 11, + -25, + -22, + -25, + -45, + -116, + 99, + -110, + -63, + 119, + -64, + 34, + 40, + -21, + -125, + -22, + 127, + 118, + -54, + -13, + 52, + 33, + -44, + -77, + -83, + -115, + -101, + 123, + -35, + 45, + -7, + 33, + 84, + 93, + -83, + -67, + -116, + -36, + -9, + 106, + 104, + -109, + 87, + -59, + 101, + 48, + 96, + -30, + -22, + -7, + -68, + -67, + -88, + 123, + -79, + -27, + 124, + 76, + -113, + -96, + 60, + -23, + -102, + 107, + 26, + -74, + -112, + -16, + -58, + -62, + 39, + 78, + -46, + -13, + 29, + -105, + -18, + 77, + 86, + -26, + -110, + 28, + 57, + -94, + 20, + 32, + -96, + -16, + -55, + -90, + -59, + 104, + -121, + 17, + -56, + 114, + -14, + 96, + 112, + -111, + 56, + -114, + 1, + 20, + -77, + 62, + 97, + -122, + 27, + -110, + 85, + 89, + -13, + 68, + 49, + -79, + 17, + -70, + 99, + 66, + 33, + 76, + 51, + 20, + -123, + -98, + 121, + 75, + 20, + 69, + -58, + -44, + -72, + 71, + -26, + -8, + 108, + 81, + -53, + -26, + 56, + 73, + -53, + 72, + 33, + -117, + 16, + 74, + -6, + -61, + 26, + 67, + 12, + 49, + -69, + 32, + 13, + -76, + -52, + -46, + -76, + -110, + 50, + -79, + 72, + -48, + -117, + 111, + 38, + -12, + 3, + -49, + -58, + 122, + 75, + 71, + 85, + 39, + -105, + -20, + 59, + 81, + 61, + 86, + -126, + 82, + 97, + -112, + -109, + 91, + 22, + -87, + 111, + 48, + 41, + -87, + 47, + -23, + 122, + 97, + -96, + 16, + 122, + -37, + 65, + 99, + -49, + -110, + -76, + 61, + 25, + -99, + -38, + -92, + -83, + 9, + -7, + 93, + -14, + 22, + 38, + 23, + -93, + 33, + 24, + 56, + -2, + 102, + -112, + 98, + 58, + -101, + 1, + -90, + -127, + 71, + -87, + 66, + 125, + -71, + -124, + -23, + -58, + 61, + 75, + -91, + -7, + -3, + -105, + 83, + 60, + 52, + -88, + 86, + 39, + -107, + -113, + 56, + -12, + -29, + -45, + 91, + -42, + 68, + 5, + 55, + 50, + 112, + 4, + -17, + 47, + -35, + -11, + -2, + 84, + -78, + 124, + 47, + 57, + 58, + -114, + 90, + -119, + 46, + -122, + 30, + 0, + 75, + 55, + 26, + 54, + -82, + -70, + 107, + -102, + -31, + 85, + -21, + -44, + 43, + -105, + -27, + -35, + 93, + 7, + 122, + 7, + 97, + 115, + 20, + 76, + 64, + 124, + 15, + -93, + -10, + -49, + -34, + 115, + 14, + -122, + -58, + 91, + 63, + 114, + -24, + 49, + 13, + 43, + -90, + 82, + 121, + -80, + -124, + -114, + -111, + -50, + -23, + -121, + 92, + 20, + -11, + 4, + -58, + -55, + 59, + -31, + -15, + -41, + 35, + -48, + 1, + -51, + 38, + 118, + 39, + 66, + -48, + -112, + -69, + 94, + 124, + 88, + -68, + -13, + -82, + 0, + -12, + -121, + -101, + 25, + -49, + -84, + 86, + -11, + 59, + 79, + 50, + 53, + -88, + -90, + 79, + -25, + -110, + -86, + -70, + -116, + -63, + -55, + -119, + 88, + -69, + 76, + -30, + -71, + -85, + -5, + -65, + -99, + -15, + -30, + 121, + -52, + 78, + -13, + -75, + -68, + 81, + 56, + -126, + -109, + -88, + -45, + 66, + 23, + -107, + 86, + 103, + 75, + 18, + -62, + -84, + -5, + -106, + 112, + -103, + 103, + 80, + 111, + -29, + -92, + -109, + 35, + -114, + -114, + 65, + 18, + -111, + -29, + -90, + -80, + -56, + -23, + 36, + 96, + 6, + 36, + 49, + 14, + 119, + -7, + 63, + -36, + 65, + -70, + 55, + 126, + -93, + -53, + -116, + 98, + -26, + -24, + -46, + -80, + 96, + -56, + 75, + 123, + 93, + 26, + 57, + 21, + 74, + 40, + 100, + -76, + 1, + 13, + -83, + 118, + 20, + -83, + 10, + -95, + -23, + 126, + 99, + -13, + -64, + -107, + 57, + -115, + -69, + -20, + 56, + -31, + 127, + 76, + 1, + 114, + 59, + 17, + 97, + -6, + -42, + 122, + -109, + -79, + 32, + 104, + 25, + -39, + -93, + -11, + 109, + 93, + -121, + 6, + 96, + 73, + -56, + -12, + 109, + 116, + 93, + 84, + -112, + -63, + 5, + -58, + 117, + 52, + 56, + -78, + 86, + -58, + -26, + 85, + -69, + -8, + -115, + 104, + -75, + 120, + 62, + -83, + -83, + 4, + -49, + -45, + 78, + -59, + -115, + -74, + -72, + -52, + 25, + 87, + 19, + -51, + 97, + 59, + -12, + -52, + 45, + 110, + -68, + -91, + 61, + 111, + 58, + 126, + -102, + -46, + 71, + -123, + 23, + 66, + -39, + 91, + -5, + -83, + 62, + 45, + 104, + -17, + -71, + -58, + 111, + -36, + 90, + 112, + 83, + 100, + 28, + -60, + 45, + 54, + 27, + -111, + -58, + -50, + -116, + -99, + 90, + -79, + 11, + -73, + 115, + 22, + -37, + 115, + 103, + -24, + 108, + -103, + -103, + -59, + -127, + -58, + -99, + 35, + -124, + -86, + -107, + 73, + 18, + 101, + 101, + -23, + 118, + 5, + 64, + -95, + 70, + -64, + 3, + -81, + -14, + 67, + 122, + 34, + -72, + -104, + 74, + 43, + 37, + 25, + -26, + 12, + -63, + -103, + 36, + -120, + -85, + 0, + -64, + 3, + 123, + -10, + 104, + 119, + -7, + -69, + 4, + 88, + -94, + 122, + 5, + -92, + -6, + 79, + 25, + -15, + -115, + -57, + 83, + 27, + -74, + 74, + -70, + -17, + 95, + -58, + 79, + 27, + 40, + -39, + 12, + 36, + 110, + 69, + -75, + 109, + 33, + 67, + 45, + -60, + -124, + 108, + -32, + 115, + 5, + -35, + -115, + 87, + -45, + 88, + -61, + -86, + -7, + 18, + -120, + 77, + 8, + -4, + -3, + -128, + 124, + 31, + 56, + 0, + -32, + -50, + -13, + -11, + 10, + -125, + 106, + -42, + 109, + 97, + -19, + 82, + -123, + 114, + 105, + 116, + 94, + 124, + -62, + 63, + 28, + -81, + -2, + 5, + -37, + 97, + 109, + 75, + 20, + -44, + -13, + 62, + -34, + 115, + -10, + 120, + -100, + -122, + -3, + 101, + -89, + -23, + 42, + -65, + 90, + 102, + 58, + -58, + -9, + 67, + 50, + -123, + 66, + -120, + 20, + -77, + 63, + -59, + 40, + 64, + 100, + -83, + 39, + -93, + 100, + -112, + 72, + -30, + 63, + -57, + 92, + -126, + -23, + 123, + 32, + -37, + 52, + -47, + -125, + -4, + 20, + 44, + -50, + -61, + -15, + -128, + -79, + 118, + 127, + 12, + 41, + -26, + -72, + -111, + -9, + 75, + 73, + 85, + -15, + -76, + -91, + 58, + -87, + 57, + -34, + 122, + 46, + -82, + 115, + -95, + 87, + -54, + 52, + 86, + 38, + 77, + -21, + 82, + 96, + -92, + 122, + -67, + -100, + -13, + 60, + 99, + 8, + 64, + -70, + -19, + -119, + 19, + 53, + 58, + 57, + -102, + -62, + 53, + -57, + -91, + 58, + -37, + -49, + 79, + 17, + 83, + 81, + -51, + -25, + 48, + -88, + -35, + 29, + 29, + 6, + -104, + 12, + -115, + 33, + -12, + -128, + -106, + 53, + 1, + -94, + -114, + 63, + 28, + 108, + 13, + -79, + -75, + 81, + 56, + -34, + -65, + 97, + 3, + 70, + 30, + -101, + -119, + 92, + 3, + -98, + -66, + -84, + 44, + 56, + -27, + 36, + 36, + -1, + 0, + 82, + 25, + 116, + 94, + -128, + -93, + 105, + 127, + 72, + 6, + -62, + 103, + -111, + -54, + -72, + 48, + -47, + 9, + 26, + -60, + -56, + -64, + -5, + -85, + 117, + 42, + 69, + -102, + 63, + 31, + -98, + -67, + -70, + -48, + -82, + -3, + 8, + -29, + 113, + -126, + -28, + 102, + -68, + -120, + 44, + -52, + -82, + -116, + -95, + 83, + 99, + 25, + 14, + 46, + -127, + -67, + 73, + -20, + 18, + 78, + -37, + 118, + 15, + -61, + 90, + -24, + -6, + 111, + 60, + -12, + -122, + 118, + -95, + -15, + -45, + -46, + 30, + 84, + -77, + -106, + -7, + 109, + 68, + -38, + 15, + -33, + -92, + 51, + 126, + -124, + 48, + -18, + -6, + 87, + -84, + -75, + 66, + -62, + -97, + -21, + 17, + 3, + 121, + -13, + 38, + 89, + -89, + -2, + 123, + 115, + 51, + -14, + -37, + 38, + -38, + -17, + 3, + 41, + -108, + -111, + 57, + 127, + 42, + 90, + 73, + 77, + 83, + -91, + 73, + 5, + -76, + -78, + 57, + 38, + 32, + 96, + 102, + 29, + -25, + -67, + 107, + 52, + 75, + 113, + -7, + -72, + 47, + -76, + 17, + -35, + -4, + -52, + -83, + -72, + 56, + 101, + -71, + -120, + 21, + 76, + -99, + -120, + -46, + 50, + -66, + -79, + -85, + 122, + 11, + 1, + -51, + -32, + 72, + 44, + -43, + -116, + -6, + 0, + 0, + 97, + 92, + 44, + -22, + -32, + 50, + -48, + 101, + -12, + -9, + 64, + 104, + 66, + 114, + -35, + 70, + 45, + 116, + -42, + 60, + 107, + -39, + -2, + 86, + -25, + 11, + -71, + -11, + -122, + 45, + 75, + 98, + 89, + 100, + 110, + 110, + 84, + -3, + -68, + -80, + 28, + 112, + -24, + -66, + 36, + 118, + 44, + -83, + 63, + -38, + 57, + 58, + -86, + -33, + -111, + -55, + 53, + -21, + 101, + -50, + 40, + 54, + -31, + 97, + -10, + -114, + 31, + 77, + -22, + 91, + 46, + 21, + -3, + -33, + 23, + -69, + -12, + 78, + 64, + -41, + -71, + 104, + 113, + 4, + -47, + -18, + -26, + -93, + -21, + -73, + 117, + -78, + -94, + -90, + -110, + -102, + -3, + 38, + -7, + 38, + -50, + -5, + -65, + 108, + -1, + 0, + 117, + 36, + -128, + -21, + 90, + 75, + 30, + 107, + -123, + -95, + 49, + -78, + 68, + -80, + 39, + 54, + -93, + -15, + 117, + 21, + -73, + 40, + 8, + 111, + 31, + -79, + -95, + 84, + -73, + -24, + -118, + 107, + 122, + 61, + -60, + -15, + -51, + 10, + 84, + 13, + 55, + -84, + -36, + 116, + 3, + -81, + 106, + 123, + 44, + -59, + 32, + -30, + -32, + 73, + -26, + -103, + -68, + 59, + -104, + -32, + 117, + 82, + 8, + 52, + -46, + 8, + -87, + -24, + 106, + -63, + -82, + 50, + 64, + 63, + 0, + -83, + 108, + 122, + 18, + 114, + -103, + 50, + 65, + 6, + 48, + -5, + -111, + 26, + -53, + -107, + 11, + 56, + 40, + 65, + 101, + -120, + -54, + -58, + 48, + -35, + -126, + -83, + -26, + -94, + -41, + 100, + -118, + 32, + 10, + -76, + 11, + -49, + 62, + 56, + 40, + -125, + -24, + -11, + -4, + -31, + -101, + -53, + -2, + 77, + 127, + -44, + 110, + -29, + 105, + -51, + 96, + -63, + 110, + 40, + -88, + -73, + 115, + 98, + -76, + -55, + -24, + 6, + 74, + -22, + 100, + -40, + 15, + 42, + -127, + 41, + -113, + 107, + 109, + 13, + -125, + -20, + 15, + -85, + -101, + -21, + 103, + 85, + -77, + -47, + -90, + 114, + 119, + -86, + 77, + 75, + 108, + -39, + -83, + 100, + -36, + -96, + 123, + 29, + -79, + 108, + -103, + -35, + -74, + -73, + -121, + 5, + -12, + 59, + -70, + -26, + -107, + -24, + -36, + 29, + 7, + -83, + -57, + 42, + -62, + 86, + 61, + -83, + -82, + 101, + -7, + -12, + 61, + 66, + -80, + -120, + -117, + -10, + -116, + 89, + -49, + -103, + 117, + -76, + -37, + 62, + 103, + -75, + -108, + -115, + -48, + -59, + -24, + 62, + 118, + 1, + 107, + 72, + -47, + 53, + 125, + 87, + -56, + -48, + 60, + -27, + 103, + 29, + -55, + -38, + -74, + 41, + -81, + 13, + -86, + -36, + 59, + -45, + -122, + -24, + 39, + -23, + 43, + 27, + 108, + -5, + 5, + 55, + 121, + 55, + -113, + 43, + 104, + -126, + -3, + 12, + 60, + -37, + 46, + -41, + 118, + -115, + 5, + -54, + 26, + -117, + -16, + -126, + -105, + -21, + -35, + -8, + -68, + 83, + 69, + 80, + -47, + -69, + -77, + -110, + 16, + 91, + -55, + 104, + 59, + 78, + 71, + -45, + -103, + -56, + -48, + 96, + -2, + 22, + 85, + 123, + -71, + 119, + -124, + -69, + 99, + -85, + 105, + 117, + -5, + -86, + -8, + 69, + -22, + 58, + 72, + -4, + 63, + 117, + -49, + -10, + -52, + -34, + -37, + 86, + 109, + -86, + 86, + 98, + 102, + -67, + -88, + -79, + -105, + 98, + 87, + -54, + 113, + -84, + 109, + -110, + -61, + 97, + 95, + 48, + -30, + 88, + 120, + 116, + -97, + 65, + -73, + 121, + 53, + 96, + 122, + 17, + 32, + -87, + -116, + -101, + -127, + 53, + 116, + -102, + 110, + 55, + -77, + -16, + -72, + 27, + 79, + -95, + 77, + 113, + -103, + 68, + -30, + 100, + -55, + -112, + -47, + -84, + -116, + 68, + 67, + 80, + 127, + 73, + 68, + 1, + 92, + -106, + 6, + -35, + 80, + -20, + 21, + 109, + 75, + 54, + -42, + 31, + 96, + 11, + -104, + -57, + 99, + -99, + -120, + -72, + -58, + 86, + 69, + -116, + 72, + -37, + 26, + 13, + -29, + 113, + 51, + 56, + -85, + 1, + 16, + -74, + -96, + -101, + 102, + -75, + -42, + -126, + -41, + -96, + -114, + 125, + -107, + -123, + -37, + 114, + -33, + 34, + -69, + -26, + -36, + 122, + -113, + 38, + -12, + -82, + -123, + -88, + -98, + 93, + -104, + 20, + -2, + -40, + -9, + 84, + 115, + 104, + 40, + -8, + -123, + 45, + -38, + 125, + 45, + 25, + -1, + 0, + 94, + 40, + -25, + -98, + 101, + 98, + 94, + -38, + 29, + -59, + 60, + 46, + 112, + -65, + -107, + -107, + 13, + 40, + -54, + 90, + 121, + -106, + -106, + 67, + 60, + -109, + -40, + 106, + 85, + -87, + 10, + 66, + -54, + -68, + -77, + -88, + 91, + -35, + -23, + -30, + -44, + 6, + -5, + 28, + 55, + -99, + 124, + 102, + 83, + -47, + -95, + -106, + 125, + 89, + -80, + -79, + 122, + -69, + -108, + -34, + -87, + 121, + 72, + 58, + 94, + 53, + 65, + -29, + 35, + 126, + 99, + 123, + -50, + 44, + -6, + 33, + 69, + -10, + -61, + 61, + 1, + 2, + 57, + -92, + 109, + 7, + 15, + 77, + -119, + -31, + 19, + -15, + 53, + 89, + 44, + -25, + 118, + -105, + 100, + -103, + -101, + 6, + -40, + -38, + -69, + -115, + 93, + -53, + 117, + -43, + 35, + -104, + -3, + -23, + 52, + 79, + 79, + 61, + -81, + -74, + -128, + -59, + 105, + -45, + 8, + 80, + 91, + -110, + -114, + -103, + -23, + -69, + -34, + 65, + 58, + 75, + -122, + -63, + -61, + -97, + -110, + -51, + -55, + -14, + -112, + 33, + -98, + -122, + 44, + -89, + -99, + -96, + -40, + 39, + 30, + -84, + 69, + 124, + 93, + -16, + -4, + -106, + 68, + 95, + -44, + 77, + 59, + -30, + 13, + -70, + 46, + -109, + -104, + 109, + -110, + 99, + 45, + -119, + 30, + 82, + -45, + -95, + 54, + -52, + 20, + 17, + 85, + -125, + -6, + -118, + -66, + 31, + -24, + -115, + 11, + -61, + -39, + 88, + 67, + 82, + 50, + -113, + 117, + 119, + -17, + -19, + -85, + 94, + 121, + -102, + 37, + 85, + 114, + -127, + 52, + -35, + 10, + 55, + -51, + 104, + -112, + -59, + -44, + -20, + 124, + -118, + -104, + -99, + 107, + -51, + -45, + -58, + -21, + 38, + 60, + 27, + 88, + 0, + 70, + 29, + -40, + -105, + 85, + 2, + 56, + -40, + -82, + -57, + -75, + 26, + -77, + 70, + 14, + -83, + -87, + 93, + -127, + 112, + -75, + -22, + -68, + -47, + -28, + 65, + 46, + 122, + 44, + -127, + 100, + -106, + 73, + -33, + 25, + 80, + -24, + -57, + -53, + 60, + -127, + 11, + 15, + -125, + 90, + 35, + -48, + -7, + 12, + -54, + 53, + 36, + -128, + -31, + 101, + 56, + 20, + 95, + -73, + -70, + -35, + -35, + 127, + -49, + 33, + 114, + 109, + 68, + 62, + -116, + 32, + -72, + -77, + 67, + -13, + 113, + 67, + 90, + -40, + -10, + 12, + -82, + 103, + -69, + -102, + 18, + 63, + 105, + -56, + -8, + -116, + 57, + 24, + -85, + -102, + -76, + -47, + 61, + -107, + -127, + 77, + 79, + 88, + -12, + 3, + -119, + 82, + -112, + -29, + -106, + 18, + -79, + 17, + -32, + 127, + 52, + 55, + -84, + 97, + 116, + 29, + -105, + 26, + -35, + -22, + -3, + -51, + -44, + -25, + -123, + -11, + 29, + -57, + -55, + 96, + -57, + 97, + -120, + 27, + 86, + 98, + -117, + -27, + 31, + 57, + -20, + 2, + -63, + -76, + -96, + -22, + 58, + 4, + 65, + 109, + -23, + 11, + -87, + -60, + -36, + 52, + -34, + -78, + 60, + -7, + 12, + -86, + -106, + -86, + 31, + -49, + 49, + -77, + 41, + 43, + 7, + 79, + 125, + 40, + 59, + -50, + 5, + -41, + 96, + -67, + -100, + 92, + 108, + 126, + 63, + -29, + 110, + -96, + 63, + 50, + -36, + -88, + -107, + -86, + -37, + 89, + -51, + 18, + -108, + -83, + 116, + -54, + 57, + 41, + -85, + -97, + 17, + -26, + 70, + 61, + 86, + -123, + 68, + 108, + 105, + 68, + -10, + -113, + -81, + 48, + 96, + 44, + 55, + 82, + 29, + 31, + -59, + -121, + 94, + -57, + 55, + 96, + 5, + 77, + -30, + -19, + 50, + -72, + -67, + 27, + -88, + -89, + 115, + 103, + -13, + -63, + -11, + -89, + 82, + -12, + 115, + 6, + 1, + -77, + 106, + -58, + -99, + -14, + -85, + 118, + -4, + -21, + -80, + -23, + -14, + 101, + 90, + -96, + 85, + -54, + -85, + -121, + 5, + 50, + -128, + 96, + -5, + -80, + 41, + -106, + 106, + -80, + -2, + -50, + -85, + -117, + -127, + 76, + -43, + -16, + -105, + -116, + -64, + -100, + 26, + 34, + 89, + -19, + 83, + -46, + 18, + -114, + 70, + -40, + -84, + 74, + -115, + 97, + -49, + -49, + 86, + -80, + 115, + 41, + 71, + 14, + 46, + 34, + -64, + -56, + 101, + 4, + -21, + -69, + 2, + 65, + 33, + 88, + 42, + -7, + 3, + 13, + -128, + 52, + 36, + 2, + 50, + 85, + -118, + -91, + -74, + -93, + -76, + 88, + -58, + -25, + -78, + -14, + -78, + 8, + -126, + 27, + -55, + 87, + 40, + 21, + -86, + 53, + 127, + 28, + -108, + 84, + -122, + 6, + -55, + -10, + -112, + -53, + -41, + 118, + 1, + -24, + -98, + 14, + -10, + 108, + -90, + 92, + -91, + -103, + -13, + 35, + 53, + -8, + 63, + -106, + -13, + -73, + 38, + -43, + 38, + 50, + -118, + -73, + 71, + 59, + -121, + -68, + 109, + 101, + -126, + -22, + -83, + -66, + -64, + 16, + -5, + 74, + -91, + -50, + 71, + 125, + -87, + 83, + -78, + -86, + -94, + -40, + -59, + 1, + 101, + -80, + 54, + 62, + 110, + -97, + -22, + -111, + 8, + -57, + 65, + 25, + 95, + -48, + 13, + 76, + 77, + 6, + -105, + 107, + -72, + -106, + 90, + -95, + 86, + -90, + 91, + -104, + 11, + 40, + 109, + 68, + 116, + -96, + -50, + -41, + 14, + -82, + -87, + 93, + 84, + -111, + -54, + -96, + -84, + -43, + 81, + -22, + -115, + 56, + -50, + 78, + 97, + -126, + -50, + 127, + 65, + 116, + 84, + 31, + 63, + 56, + 77, + 84, + 36, + 75, + 84, + -44, + -23, + -119, + 17, + 59, + -10, + 40, + -44, + -42, + -35, + 71, + 88, + 53, + -99, + 74, + -99, + -48, + -106, + -3, + 119, + 66, + -46, + 1, + 11, + -52, + -83, + 88, + -17, + 37, + 83, + -125, + 81, + -44, + -56, + -76, + 74, + -128, + -74, + 80, + -82, + 111, + -110, + -33, + -65, + 101, + 71, + -29, + -88, + -22, + 69, + -86, + -35, + 80, + 11, + 13, + 46, + 76, + -128, + -99, + 116, + 108, + 121, + -80, + -27, + 11, + -77, + -92, + -117, + 36, + -117, + 115, + 0, + 37, + -49, + -126, + -70, + -29, + -32, + 102, + -118, + 84, + -23, + -76, + -126, + -70, + 35, + -31, + 8, + 65, + 93, + -85, + 98, + -61, + 61, + 91, + 4, + 126, + -61, + 23, + -54, + 81, + -43, + -102, + -49, + -58, + 15, + -29, + 22, + 43, + -48, + -102, + 92, + -33, + -25, + -1, + 0, + -50, + 62, + -120, + -6, + -46, + -35, + -49, + -89, + -10, + -105, + 85, + 32, + -124, + -107, + -128, + 53, + 123, + 37, + -127, + -19, + 36, + -33, + 96, + 6, + 23, + -8, + -22, + -115, + 15, + 90, + -2, + 43, + 6, + 17, + 52, + -128, + -85, + 75, + -114, + -116, + 106, + -120, + -114, + 82, + -86, + 78, + -62, + -120, + 33, + 125, + -56, + 87, + -86, + 4, + 27, + 7, + -44, + -56, + 11, + -82, + -111, + -84, + 44, + 43, + -26, + 2, + -40, + 104, + 89, + -82, + 8, + -90, + -122, + -64, + 0, + 65, + -37, + -25, + 35, + -127, + 114, + -91, + 36, + 21, + -62, + 44, + -60, + -43, + -88, + 28, + 62, + 68, + 24, + 27, + -116, + -64, + 80, + 42, + 86, + -65, + -54, + 48, + -80, + -83, + 103, + 32, + 94, + -32, + 89, + 114, + 101, + -127, + 71, + 24, + -95, + -17, + -25, + -106, + 86, + -76, + -94, + -83, + 122, + 117, + 113, + -11, + 115, + 118, + 21, + -55, + -4, + -79, + -24, + 33, + 90, + -125, + 67, + 100, + 72, + -21, + 106, + -8, + -56, + -113, + 84, + 46, + -106, + -13, + -76, + -102, + -19, + -126, + 20, + -106, + 31, + -86, + 37, + -92, + 36, + 50, + -70, + -62, + -33, + 90, + -78, + -39, + 60, + -12, + -124, + -96, + 38, + 97, + 0, + -78, + 90, + -104, + -26, + -110, + 2, + -101, + 119, + 31, + -74, + 86, + 40, + -83, + -76, + -38, + -38, + -4, + -9, + 103, + 36, + -75, + 121, + -49, + 87, + 29, + -25, + 114, + 119, + -12, + -21, + -92, + 7, + -122, + 104, + 70, + -59, + -63, + 122, + -49, + 26, + -7, + -69, + -62, + -97, + 80, + -27, + 26, + -106, + -115, + 70, + -18, + -104, + -49, + 81, + 82, + 69, + -100, + -19, + -38, + 29, + -125, + 67, + 55, + -11, + 20, + 24, + 68, + 125, + 0, + 118, + -102, + 73, + 100, + 38, + -33, + -61, + -102, + 3, + -118, + 15, + -96, + 87, + 23, + 19, + -117, + -10, + 44, + -117, + 8, + -73, + 4, + 2, + 17, + 18, + -7, + -87, + 26, + 70, + 119, + -53, + -49, + -102, + 88, + -8, + 71, + -5, + 66, + -58, + 66, + 75, + 47, + 41, + -75, + -118, + -69, + 64, + 17, + 50, + 12, + -39, + 3, + 47, + 103, + -62, + -23, + 74, + -28, + 8, + 38, + -96, + -124, + 88, + -43, + 88, + 21, + 12, + 125, + 94, + -52, + -107, + 29, + 51, + 96, + 68, + 0, + -94, + -85, + -123, + 80, + 87, + 127, + 34, + 6, + 103, + 109, + 108, + 18, + 105, + -123, + -47, + 54, + -74, + 127, + 127, + 76, + 56, + 80, + 60, + 67, + 27, + 33, + -28, + 102, + 99, + 113, + -77, + 59, + -20, + 19, + 71, + 34, + 52, + 93, + -120, + -43, + 106, + -113, + -51, + 89, + -24, + -112, + 40, + 116, + -89, + -113, + -7, + 87, + 114, + -33, + -19, + 107, + -83, + 122, + 31, + -90, + -84, + -94, + -95, + 109, + -102, + 114, + -47, + -84, + -13, + 84, + -50, + 23, + -48, + -1, + 0, + -29, + -24, + 6, + -30, + -53, + 23, + -77, + -127, + 58, + -9, + 115, + -110, + 106, + 14, + 62, + 6, + 110, + 22, + 111, + 99, + -113, + -31, + -57, + 38, + 55, + -82, + -46, + 40, + -9, + -109, + -121, + 40, + -124, + -95, + 91, + 78, + -53, + -109, + 90, + 89, + -96, + -6, + 15, + -103, + -4, + -86, + -35, + 98, + -46, + 67, + -58, + -60, + -9, + -76, + 22, + 89, + 75, + -49, + 53, + -116, + -65, + 11, + 100, + 40, + 70, + -125, + -120, + 97, + -103, + 108, + -84, + -7, + 109, + -19, + -91, + 87, + 18, + -55, + 4, + 98, + -83, + -119, + -101, + 38, + 120, + -67, + 113, + -11, + -126, + -87, + -13, + -66, + 127, + -13, + -18, + 91, + -88, + -69, + 74, + 20, + -127, + -58, + 58, + 40, + -56, + -20, + 110, + 45, + -51, + -9, + -115, + 51, + -67, + 101, + 111, + -56, + 105, + 58, + -110, + 70, + 96, + 41, + 77, + 114, + -58, + 53, + -87, + -97, + 122, + 92, + 36, + -83, + -108, + -43, + -43, + -78, + -54, + -6, + 77, + 48, + 62, + -120, + 120, + 24, + 77, + 67, + 36, + 19, + -100, + 60, + 125, + -2, + 16, + 109, + 8, + -34, + 94, + -68, + -124, + -96, + 21, + 50, + -48, + -21, + -73, + -44, + 116, + -95, + 89, + -126, + 66, + -8, + -28, + -100, + -53, + -83, + -90, + -71, + 75, + -54, + -66, + -80, + -50, + -108, + 115, + 93, + 33, + -42, + 49, + -70, + -29, + 58, + 25, + 123, + 121, + 13, + -41, + 28, + -78, + -51, + 70, + -98, + -18, + 107, + 70, + -18, + 89, + -24, + 56, + -105, + 16, + 2, + -11, + 67, + 57, + 5, + -111, + 36, + 40, + -26, + 75, + -38, + 43, + 96, + 82, + 73, + -43, + -79, + 20, + 4, + 108, + -59, + 79, + -22, + 10, + -58, + 100, + 101, + -97, + 61, + -94, + -51, + 6, + 63, + 9, + -115, + -121, + -58, + 0, + -23, + 28, + -29, + 22, + 33, + -68, + -81, + 84, + 92, + -60, + 94, + 51, + 103, + -28, + -65, + -115, + 117, + 47, + -5, + 54, + -124, + 63, + -84, + -9, + 47, + -111, + -26, + 103, + -27, + 57, + 57, + 101, + 98, + -8, + -23, + -107, + 60, + 74, + -111, + 70, + -128, + 42, + -39, + 69, + -112, + 16, + -96, + -34, + -94, + -53, + 17, + -33, + 106, + 30, + -128, + -86, + -46, + -44, + -68, + -54, + 34, + -91, + -36, + 121, + 29, + 83, + -49, + 34, + -98, + -47, + 118, + -49, + 55, + -98, + -63, + 50, + -70, + 58, + 78, + -115, + 127, + 75, + 33, + -42, + 123, + -111, + 89, + -47, + -74, + 68, + 93, + 7, + -49, + -62, + 28, + 84, + -10, + -100, + -65, + -105, + -15, + -7, + -106, + -96, + -72, + -102, + -25, + -58, + 92, + -48, + -62, + -90, + -71, + 46, + -106, + -97, + 103, + 19, + -44, + 124, + -10, + 39, + 61, + -12, + -40, + 124, + -14, + 41, + 3, + 66, + -3, + -4, + -51, + 43, + 126, + -14, + -97, + -94, + -73, + 60, + -89, + 59, + 119, + -55, + -114, + -43, + 110, + -90, + 93, + -92, + -24, + 28, + -35, + -41, + 73, + -52, + -4, + -11, + -123, + 38, + 78, + -45, + 10, + -72, + 36, + -11, + -36, + -13, + -93, + 58, + -114, + -104, + -54, + 51, + 8, + 121, + 80, + -33, + -12, + 118, + 16, + -63, + 28, + 30, + 18, + 52, + 71, + 106, + -16, + -82, + -120, + -113, + 62, + 120, + 108, + -113, + -27, + 125, + 55, + -78, + -110, + 93, + 92, + -12, + -81, + -93, + -108, + -45, + 53, + 58, + -7, + -17, + -99, + 3, + 15, + -43, + -124, + -67, + -6, + 40, + -36, + -103, + 95, + -87, + -103, + -78, + 51, + 12, + 77, + 103, + 93, + 24, + 86, + -63, + -126, + -55, + -35, + 49, + 7, + -61, + -101, + 6, + 99, + 99, + 99, + 50, + 127, + -18, + -115, + 27, + -122, + 96, + -96, + -70, + -85, + -23, + 21, + 39, + -126, + -85, + -39, + 19, + 50, + 110, + -14, + -23, + 127, + 56, + -24, + 96, + -52, + -15, + -25, + 90, + 90, + 76, + -75, + -109, + 91, + 14, + -70, + -9, + -25, + -4, + 36, + 66, + -44, + 12, + 94, + 80, + 90, + 55, + -119, + 29, + 91, + 19, + 127, + 60, + 104, + -13, + -4, + 107, + 73, + 39, + -114, + 0, + 36, + -73, + -94, + -63, + -68, + -115, + 12, + 104, + -74, + 72, + -78, + 90, + 13, + 114, + 103, + -99, + 116, + 122, + -72, + 122, + 91, + 23, + 94, + 79, + 33, + 97, + 120, + 17, + 97, + 88, + 34, + -56, + 44, + -94, + 75, + 10, + -66, + 83, + 27, + 58, + -117, + 4, + -109, + -27, + 72, + -57, + 84, + 106, + -88, + 0, + 78, + -94, + -17, + 19, + 17, + -98, + 57, + 89, + -78, + 36, + -56, + -105, + 28, + 35, + -8, + -11, + 103, + 99, + 16, + 120, + -61, + 88, + 101, + -42, + -94, + 105, + 15, + 96, + -113, + 117, + -102, + 34, + -37, + -45, + 19, + -58, + -109, + 66, + -30, + 67, + -6, + 32, + 100, + 11, + -6, + 54, + -69, + -97, + 105, + -87, + -85, + 18, + -93, + 46, + 63, + 39, + -29, + 63, + 68, + -29, + -15, + 47, + -24, + 46, + -30, + 59, + -70, + -61, + -71, + -63, + -92, + -29, + 100, + 38, + -51, + 117, + 109, + 51, + 80, + -55, + 45, + -124, + 83, + -47, + 94, + -49, + 17, + 56, + 20, + -29, + 106, + 61, + -31, + -103, + 73, + 10, + 55, + -101, + 115, + -11, + 94, + -17, + 90, + -109, + -49, + -105, + 125, + 43, + -61, + 63, + -101, + -49, + 21, + -13, + 84, + -122, + -78, + 79, + -74, + -30, + -67, + 82, + -59, + -111, + -9, + 66, + 44, + 106, + -35, + 103, + 13, + -110, + 41, + -36, + 75, + 93, + 4, + -99, + -103, + 117, + 101, + -88, + -102, + 93, + 75, + -84, + -57, + -78, + -75, + -63, + -118, + -54, + -70, + 118, + 113, + -93, + 98, + -109, + 85, + -93, + 127, + 48, + -20, + 56, + -68, + -3, + 6, + -59, + 30, + 56, + 81, + 26, + 47, + 1, + 91, + 95, + 27, + -108, + 115, + -19, + 98, + 3, + -121, + 4, + -20, + -78, + 0, + 36, + 66, + 78, + -59, + 88, + 108, + 21, + -127, + 80, + 111, + 36, + -76, + -77, + 52, + -119, + 34, + 100, + 43, + -22, + -62, + 69, + -39, + 63, + 80, + 86, + 42, + 82, + -112, + 43, + 33, + 44, + -84, + 0, + -85, + 6, + -103, + -84, + 55, + -92, + -5, + 100, + 98, + 78, + -42, + 60, + -110, + -71, + -47, + 39, + -38, + 25, + -53, + 18, + 103, + 74, + 38, + 43, + 12, + 92, + 22, + -45, + 126, + 29, + 84, + -42, + -95, + -75, + -103, + 28, + -58, + -78, + -8, + -54, + 14, + 88, + -100, + -98, + -25, + -52, + 49, + 124, + -89, + 27, + 44, + -95, + 3, + 95, + -10, + -127, + 105, + -61, + -77, + -2, + -112, + -13, + 12, + -114, + -46, + -112, + -76, + 86, + 85, + 3, + -110, + -56, + -4, + -5, + 94, + 59, + -28, + -4, + -50, + 90, + -115, + -93, + 72, + 42, + -92, + 111, + 98, + 116, + 12, + 90, + -47, + 118, + 12, + -88, + 39, + -26, + -40, + -42, + 37, + -53, + 80, + 52, + -80, + 84, + 8, + -115, + -8, + -83, + 91, + 68, + -47, + 117, + 26, + 108, + -124, + -76, + 49, + -59, + -45, + 68, + 119, + 42, + -86, + 122, + 72, + 13, + -121, + -29, + -14, + -116, + 107, + 75, + 52, + 4, + 94, + -70, + -51, + 8, + -59, + -26, + -116, + 9, + 117, + -79, + -18, + 82, + 58, + 86, + -113, + 34, + 3, + -26, + 123, + 64, + 123, + 45, + 22, + 112, + -101, + 40, + -78, + 121, + -26, + -117, + 33, + 3, + 9, + 64, + 43, + 116, + 45, + -75, + 0, + -46, + 49, + 63, + -117, + -71, + -27, + -21, + 45, + -85, + -84, + 77, + -37, + -125, + -111, + -28, + -62, + 53, + 58, + 37, + 116, + -77, + 99, + 36, + 109, + 37, + 31, + -13, + -67, + 11, + -41, + -43, + -18, + 106, + 90, + -75, + 16, + -40, + -55, + 36, + -24, + -92, + -6, + -6, + -61, + -95, + 121, + -123, + -96, + 94, + 85, + -110, + -21, + 27, + 68, + 66, + 92, + 86, + 116, + 36, + -32, + -55, + 100, + -46, + 106, + -118, + 34, + -115, + -83, + 62, + 18, + -85, + -101, + -44, + 28, + -57, + -89, + -104, + 26, + -24, + 19, + -83, + 57, + -105, + 57, + -40, + -35, + 29, + -108, + -77, + 59, + 98, + 102, + -103, + 35, + 5, + -105, + 104, + -125, + -87, + 10, + -70, + -12, + -84, + 52, + 5, + 108, + -37, + 5, + 42, + -84, + 122, + -70, + 7, + 81, + -7, + -90, + -79, + -84, + 70, + 74, + 15, + 78, + -37, + 123, + -120, + 52, + -52, + -93, + -55, + -87, + 3, + -91, + 46, + 9, + 0, + -39, + 22, + 64, + 36, + 15, + 90, + 31, + 74, + -56, + -53, + 69, + -109, + 71, + 80, + -12, + -10, + 90, + 56, + 18, + -44, + 58, + -14, + 79, + 121, + -108, + 85, + 118, + -8, + 69, + 97, + -38, + -101, + -41, + -103, + 114, + -115, + 124, + 1, + -121, + -124, + 24, + 7, + -42, + 75, + 66, + -38, + 67, + -42, + 112, + 99, + -31, + -102, + -50, + 67, + 3, + 13, + 103, + -86, + -33, + 71, + 88, + -13, + 61, + -19, + 16, + 126, + -119, + -97, + -121, + 92, + 61, + 127, + 30, + 93, + -43, + 27, + -6, + 96, + 124, + -122, + -61, + 114, + -43, + -50, + -13, + 100, + 2, + 8, + 86, + -103, + 108, + 44, + -60, + 97, + -94, + 101, + 92, + 63, + -49, + -86, + 106, + -38, + 38, + 105, + -87, + -34, + 64, + -56, + -42, + 46, + -34, + -47, + 22, + 54, + -40, + 10, + 104, + 41, + 58, + 110, + -94, + 46, + 13, + 61, + -92, + 11, + -82, + -60, + 21, + 115, + -55, + 35, + 20, + 108, + -21, + 42, + -88, + 60, + -99, + -6, + 3, + -48, + 58, + -114, + -11, + -89, + -19, + -38, + -14, + 104, + -105, + -115, + 10, + -90, + -105, + -90, + -90, + 39, + -85, + 56, + -14, + 113, + -40, + -27, + -41, + -19, + -75, + -14, + -103, + -92, + 4, + 64, + 64, + 56, + 104, + -21, + 53, + 53, + -9, + 59, + 26, + -66, + -89, + -87, + 37, + 102, + 99, + 88, + -77, + 105, + -9, + 100, + -44, + 7, + -70, + 66, + -103, + 46, + -125, + 53, + 86, + -7, + -126, + 55, + 105, + -126, + 43, + 123, + 114, + -46, + 61, + -61, + -93, + 61, + 70, + -73, + -104, + 107, + 72, + 44, + 51, + 95, + 119, + -37, + -57, + 121, + -103, + 83, + 91, + -98, + -5, + 56, + 92, + -58, + -106, + 102, + 45, + -32, + -90, + -23, + -81, + -127, + -94, + -32, + -118, + 63, + 55, + -13, + 38, + -110, + -41, + -93, + 106, + -37, + 89, + -75, + -44, + 90, + -71, + -13, + 47, + -88, + -50, + 41, + 48, + 24, + 48, + -25, + -90, + -66, + 21, + 22, + 71, + -121, + 13, + 6, + 100, + -46, + -75, + 60, + 105, + 17, + 15, + 18, + -77, + 43, + 29, + 85, + 72, + 98, + -32, + 61, + -47, + 106, + 62, + -46, + -35, + -106, + 0, + -11, + 67, + 57, + -24, + -66, + -17, + -114, + -121, + 30, + 50, + -79, + 100, + 51, + -125, + 20, + -45, + 40, + 100, + 89, + 11, + 13, + 64, + 94, + -120, + -80, + -96, + 16, + -92, + 2, + 6, + -82, + 72, + 30, + -96, + 91, + -122, + 108, + -52, + -79, + -77, + -33, + -116, + 126, + 112, + -68, + -55, + 30, + 109, + -94, + -128, + 82, + -58, + 81, + -88, + -120, + -24, + -118, + 38, + -117, + -127, + 61, + 21, + -12, + -65, + -46, + -103, + -75, + -52, + -13, + 52, + -119, + -102, + -29, + -91, + 61, + 7, + 107, + -56, + -103, + -110, + -43, + 10, + 87, + 98, + 72, + -20, + -61, + 101, + -57, + 59, + -108, + 114, + -4, + -33, + 41, + 56, + 98, + -58, + 50, + -29, + -42, + 97, + -52, + 51, + 101, + -73, + 102, + -65, + 58, + -96, + -25, + -80, + -31, + 83, + -82, + -22, + -119, + 85, + 106, + -17, + 62, + -44, + -50, + 44, + -83, + -7, + -65, + 93, + -60, + 26, + -9, + -101, + -55, + -7, + 106, + 38, + 20, + -23, + 80, + -10, + -50, + -5, + -82, + 106, + 12, + -7, + 120, + 125, + -30, + -2, + 85, + -92, + -83, + -41, + 105, + 2, + 71, + 76, + 102, + 68, + 89, + 115, + -115, + 75, + -89, + 64, + -85, + 117, + -98, + -23, + -34, + -25, + 87, + 80, + 88, + 22, + 44, + -18, + 1, + -82, + 8, + 89, + 21, + -108, + -18, + -123, + -40, + 15, + -14, + 51, + -52, + 80, + -113, + 1, + -127, + -105, + -33, + -114, + -30, + -74, + 51, + -14, + 126, + 119, + -46, + -34, + 48, + -60, + -33, + 53, + 55, + -121, + 83, + 3, + 73, + 119, + 84, + 80, + 101, + 67, + 85, + 90, + 70, + -47, + -108, + 27, + -38, + -2, + 96, + -56, + 18, + -23, + -101, + -28, + -89, + -3, + -113, + 124, + 100, + 9, + 109, + 123, + 47, + -43, + 49, + -108, + -36, + 99, + 87, + -14, + -61, + -91, + -5, + -39, + -14, + -87, + -31, + 57, + 124, + 86, + -14, + 86, + 117, + -32, + 30, + 107, + 113, + 121, + 65, + -13, + 13, + -118, + 59, + 44, + 11, + -34, + -117, + -17, + -49, + -26, + 117, + -51, + 38, + -89, + -103, + 113, + -52, + 3, + 98, + 71, + 39, + -102, + -25, + 43, + 105, + 22, + -33, + 50, + -75, + -115, + -108, + -94, + -114, + -37, + -101, + -109, + -117, + 55, + 15, + -61, + -55, + 44, + 74, + -127, + 21, + -27, + -111, + 81, + -125, + 126, + -91, + -9, + -87, + 42, + 90, + -102, + 79, + 114, + -112, + -42, + 88, + 13, + 64, + 37, + 11, + -122, + 25, + 47, + 31, + -56, + 25, + -72, + 121, + 37, + -103, + -102, + 111, + 20, + 113, + 74, + -15, + -71, + -15, + -108, + 96, + -111, + -56, + 105, + 66, + -46, + 108, + -67, + 90, + -88, + 4, + -77, + 80, + 38, + -67, + 41, + 94, + 99, + 28, + -42, + -60, + 36, + 44, + -43, + 72, + 81, + 75, + -55, + 19, + 114, + 92, + -33, + 66, + -73, + -64, + 16, + 121, + 41, + 77, + 32, + 48, + -108, + 15, + 85, + 117, + 70, + 123, + 122, + 109, + -42, + -107, + -80, + 58, + 5, + -42, + 19, + 103, + 69, + 10, + -68, + 78, + -14, + 64, + 70, + -57, + -35, + -54, + 17, + -8, + -6, + -89, + -36, + -3, + -122, + 13, + 23, + 51, + 95, + -50, + 77, + -102, + -82, + -32, + 19, + 43, + -62, + -60, + -82, + -121, + -63, + 20, + 42, + 32, + -6, + -87, + 83, + 106, + 82, + 125, + 104, + 6, + -42, + -27, + 90, + 80, + 13, + 30, + 125, + -39, + -10, + 119, + -33, + -57, + 6, + 1, + -98, + 41, + -27, + -119, + -76, + -62, + -82, + 118, + 109, + 6, + 91, + -106, + 107, + 82, + 13, + -111, + -100, + 84, + -75, + 70, + -127, + 120, + -121, + -48, + -83, + -62, + -56, + -108, + -37, + 0, + 61, + -24, + -91, + -19, + 7, + 65, + -54, + -66, + -30, + -45, + -101, + 124, + 6, + -106, + -54, + 105, + 61, + 107, + 24, + 28, + -85, + -92, + -116, + 68, + 16, + -119, + -89, + 103, + 90, + 10, + -45, + 89, + -93, + -92, + 90, + -37, + -40, + -42, + -77, + -97, + -59, + 48, + 30, + 65, + 9, + -88, + -76, + -123, + 104, + -49, + -76, + -14, + -77, + 85, + -96, + -108, + 37, + -27, + -74, + 43, + 12, + -35, + -102, + 116, + -58, + 108, + -12, + 54, + 56, + 123, + 91, + 97, + 44, + -36, + 56, + 94, + -17, + -92, + -97, + -95, + -99, + 52, + 12, + 79, + 81, + 105, + 127, + 112, + -47, + -41, + -9, + -92, + -25, + -39, + -66, + -117, + -51, + -81, + 106, + 42, + 105, + -60, + -57, + -122, + -82, + -120, + -117, + 72, + -18, + -118, + -100, + 93, + -81, + -14, + 55, + -34, + 107, + -29, + -65, + 116, + 54, + 91, + -117, + 103, + 84, + -24, + -82, + -114, + 98, + 85, + -114, + 51, + 11, + -56, + 18, + 38, + 113, + -88, + 93, + -103, + -47, + 66, + -88, + -43, + 16, + -112, + -54, + -58, + 49, + -88, + 61, + -112, + 110, + -1, + 0, + 102, + -61, + -61, + -60, + -52, + -26, + 68, + -114, + 86, + -107, + 81, + -125, + 43, + 127, + 77, + -119, + 15, + -37, + -75, + 21, + 100, + 14, + -27, + -123, + 50, + -40, + 42, + 111, + -90, + -11, + -45, + 102, + -61, + -21, + -107, + 60, + -63, + 29, + -47, + 67, + -26, + 66, + -15, + -90, + -105, + -50, + -14, + -119, + -11, + -123, + -106, + 60, + -128, + 19, + 127, + -96, + 116, + -4, + -25, + 86, + 79, + -48, + 93, + 20, + 52, + -121, + 48, + 9, + -115, + 21, + -116, + -79, + 87, + -117, + 6, + -45, + -113, + -100, + 35, + 116, + 97, + 61, + 22, + -35, + -48, + -56, + 17, + 16, + 87, + -78, + -96, + 33, + 118, + 48, + 127, + 53, + 42, + -126, + -41, + -12, + 108, + -108, + -21, + -15, + 44, + 11, + 70, + -14, + -2, + 16, + -65, + 11, + -114, + -37, + -24, + -80, + 91, + 63, + -90, + 125, + 48, + -82, + 7, + 38, + 118, + -41, + 3, + -93, + -111, + -56, + -11, + 86, + 94, + -16, + 110, + 82, + 25, + 1, + -26, + -120, + -69, + 3, + 16, + 15, + 73, + -105, + 87, + 80, + 109, + -71, + -79, + 36, + 102, + 58, + -83, + 44, + -44, + 22, + -123, + -77, + 109, + -57, + 97, + 97, + 114, + -62, + 99, + 29, + 42, + 123, + 75, + -46, + 75, + -55, + 90, + -54, + -98, + 27, + -87, + -27, + -58, + -43, + -13, + 77, + 0, + 62, + 26, + -28, + 95, + 93, + -50, + -36, + -64, + -83, + 48, + -21, + -61, + 14, + 103, + -84, + -37, + 24, + -15, + 0, + 3, + -73, + -26, + -54, + 13, + 122, + -117, + -103, + -21, + 66, + -78, + 121, + 18, + 51, + -27, + -73, + -45, + -51, + 9, + 85, + -67, + 47, + -76, + 103, + -6, + 10, + -11, + 75, + 35, + -108, + -12, + -120, + -98, + -22, + -28, + -123, + -68, + 54, + -42, + 93, + -43, + -76, + 12, + -33, + 17, + 69, + -34, + -112, + -110, + -19, + 1, + 112, + -41, + 48, + 103, + -97, + -119, + 105, + -70, + -79, + -51, + -35, + -107, + 57, + -81, + 80, + -29, + 62, + 68, + -47, + -31, + -56, + 51, + 122, + -37, + 19, + 90, + -33, + -85, + -117, + -23, + 97, + 116, + -13, + -103, + -51, + 78, + 101, + -72, + 17, + -81, + 85, + 86, + 94, + 14, + -4, + -55, + -92, + -48, + 101, + -59, + -25, + 113, + -39, + -110, + 39, + 102, + 89, + 30, + 37, + -103, + -127, + 50, + -5, + -99, + -122, + -99, + -71, + 98, + -121, + 81, + -18, + 104, + -55, + -85, + 27, + -112, + 31, + 86, + 8, + -17, + -12, + -89, + -37, + 121, + 38, + -114, + 53, + 35, + -50, + -54, + 31, + 112, + 25, + 74, + -22, + -37, + 104, + 41, + -88, + -98, + -84, + 15, + 113, + -75, + -90, + 94, + -67, + 85, + 87, + -18, + -69, + -107, + -25, + -71, + -10, + -39, + -102, + 37, + -25, + -72, + -26, + -77, + -124, + -3, + 35, + -27, + 92, + -103, + -27, + -107, + 127, + 75, + -119, + 20, + -77, + 37, + -58, + -31, + 7, + 28, + 115, + 103, + -82, + -71, + -27, + 63, + -19, + -78, + -43, + 3, + 36, + -39, + -56, + 89, + 65, + -10, + -47, + -94, + -34, + 35, + -85, + -22, + 12, + 65, + -38, + 93, + 79, + 20, + 58, + -82, + -18, + 25, + -39, + -118, + -80, + -110, + 122, + -124, + -126, + -61, + -80, + -88, + 43, + 93, + 29, + 113, + 112, + -116, + 45, + 85, + 45, + -46, + 60, + 13, + 108, + 111, + -64, + -123, + -123, + 91, + 71, + -124, + -92, + -126, + -40, + -72, + -75, + 17, + 99, + -85, + 68, + 72, + 16, + -89, + 17, + 81, + 17, + -119, + -117, + -14, + -114, + -33, + 62, + -41, + -69, + 90, + 94, + -128, + -33, + -83, + 96, + -65, + -72, + -61, + 67, + -85, + -47, + 84, + -51, + 77, + -48, + -2, + 123, + -93, + -99, + -46, + 122, + 62, + -59, + -39, + -52, + -94, + -90, + -112, + 100, + 42, + 5, + -75, + -31, + 41, + 66, + 75, + -31, + 19, + 104, + -114, + -67, + -108, + -50, + 116, + 12, + -33, + 35, + 58, + 106, + -91, + 4, + 9, + 114, + -9, + -115, + 63, + -84, + -24, + 113, + 91, + 43, + 69, + 31, + 38, + -7, + 64, + 32, + 21, + 106, + -3, + -53, + 97, + -8, + 7, + -29, + -50, + -126, + 124, + 61, + 126, + 32, + 76, + 37, + 70, + 66, + -97, + 12, + -83, + 88, + -22, + -91, + 67, + -116, + 1, + -101, + -87, + 115, + 70, + 85, + -55, + 107, + -34, + -110, + -4, + -1, + 0, + 74, + 116, + 40, + 117, + -31, + 49, + 83, + -112, + 96, + -37, + 124, + 80, + 37, + -48, + 19, + -44, + 41, + -115, + -112, + 112, + 92, + -62, + -66, + 121, + -75, + 44, + -88, + 92, + 48, + 20, + 70, + -73, + -85, + 85, + 89, + -8, + 36, + -47, + 4, + -125, + -14, + 58, + 32, + 6, + -2, + 59, + 115, + 14, + 32, + -110, + -116, + -91, + 74, + 51, + 6, + 102, + -40, + -126, + 64, + -19, + -86, + -55, + -22, + -6, + 22, + 122, + -95, + -22, + -41, + -65, + 105, + 13, + 39, + 33, + 19, + -22, + 85, + -68, + 93, + -22, + 70, + -112, + 5, + 125, + 38, + 23, + 38, + -62, + 51, + -115, + 14, + -125, + -94, + -19, + 48, + 10, + -42, + 123, + -41, + 16, + 93, + 105, + 9, + 96, + 89, + 37, + 85, + -116, + 81, + 58, + -84, + 118, + 70, + 24, + -118, + 23, + 14, + 72, + 12, + 104, + 94, + 45, + 76, + 80, + -28, + -79, + 98, + 29, + 13, + -82, + 57, + 39, + 39, + -56, + 109, + -51, + 96, + -74, + -68, + 105, + -100, + 24, + -72, + -93, + -103, + 13, + -119, + 113, + -94, + -127, + -63, + -105, + -89, + 88, + -103, + -123, + 65, + 101, + 125, + 126, + 115, + 1, + 98, + 25, + 125, + -95, + 59, + -101, + -97, + 63, + -15, + 39, + 100, + 91, + 58, + -68, + 75, + -70, + 76, + 106, + -59, + -56, + -10, + 117, + -128, + 106, + 124, + -26, + 111, + 124, + 10, + -27, + 122, + 77, + -27, + 13, + -40, + 3, + 54, + 63, + -103, + 125, + -43, + -97, + 90, + 104, + -79, + -25, + 65, + -125, + -109, + 18, + 61, + -54, + -53, + 59, + -45, + 93, + 121, + -127, + -43, + 124, + -51, + -57, + 25, + -85, + 21, + -56, + 52, + 33, + 103, + -71, + 95, + 127, + -51, + -81, + -53, + 70, + -27, + -7, + -12, + 17, + 10, + 102, + -81, + 124, + -125, + -14, + 31, + -43, + -7, + 52, + -21, + 9, + 121, + -18, + 35, + -72, + -69, + 33, + 11, + 21, + 111, + 109, + 57, + -115, + -17, + 5, + -46, + 83, + 58, + 125, + 16, + 64, + 57, + 29, + 72, + 110, + 92, + -34, + -58, + -112, + 50, + 75, + 41, + -33, + 65, + 74, + 50, + -62, + 65, + 8, + -13, + -4, + -82, + -79, + 21, + -61, + 21, + 62, + -56, + -60, + 114, + 103, + 12, + -19, + 118, + -72, + -128, + -121, + -30, + -94, + 53, + 91, + 37, + 74, + 101, + -54, + -64, + 88, + -98, + 40, + -24, + 108, + 72, + -76, + -14, + 35, + -48, + 21, + -81, + 76, + -74, + 123, + -77, + 71, + -16, + -34, + -99, + 32, + 42, + -40, + -102, + 49, + 33, + -94, + 118, + 44, + 2, + -117, + 31, + -45, + 43, + -8, + 27, + 18, + 1, + -80, + 108, + 1, + -1, + 0, + -85, + -116, + -14, + 86, + -17, + -71, + 107, + -40, + -34, + -25, + -99, + 21, + -33, + 125, + 15, + 67, + 15, + 110, + -46, + -102, + 117, + 77, + 73, + 103, + -54, + 56, + -126, + 6, + 125, + 67, + 84, + 78, + 109, + 96, + -5, + -122, + -4, + 57, + -109, + 50, + 105, + -5, + 50, + -58, + -36, + 111, + 63, + -38, + 11, + -97, + 83, + -77, + -34, + 68, + 71, + 21, + 90, + 69, + -88, + 68, + -95, + 60, + -2, + 36, + 76, + -62, + -49, + -44, + 122, + -25, + -100, + 72, + -77, + 9, + 124, + -25, + -107, + -76, + -66, + 41, + 87, + 86, + -107, + -111, + 73, + -124, + -59, + -83, + -90, + -2, + -7, + -95, + -102, + 116, + -33, + 76, + 38, + -20, + -119, + -95, + 29, + 49, + -88, + 47, + -13, + -24, + 127, + 48, + -7, + -27, + 7, + 32, + -47, + -104, + -28, + -102, + -29, + 22, + -104, + 77, + 87, + 28, + -117, + 105, + 83, + -91, + -87, + -82, + -100, + -43, + -57, + -45, + 20, + 101, + -55, + 89, + 63, + -25, + -29, + -101, + 23, + -9, + -27, + -52, + -43, + -56, + -33, + -10, + 122, + -25, + -31, + 104, + 19, + -82, + -82, + 107, + 27, + 93, + -97, + -18, + 80, + -93, + 103, + -18, + 30, + 101, + -111, + -117, + 52, + 74, + -5, + 11, + 39, + 43, + 74, + -53, + 1, + 66, + 122, + 110, + 61, + -47, + 115, + 53, + -46, + -60, + -22, + -72, + -7, + -4, + -33, + 33, + -51, + -78, + -126, + -32, + -119, + 86, + 84, + -12, + 18, + -85, + 69, + -9, + 79, + -47, + 33, + -13, + -33, + 108, + 42, + -26, + 121, + 78, + -116, + -105, + -86, + -1, + 0, + -57, + 12, + -40, + 52, + -80, + -21, + -58, + -48, + 83, + 5, + 31, + -92, + 81, + 59, + 44, + -49, + 78, + 23, + 53, + -99, + -77, + 86, + -48, + 11, + 97, + 108, + -85, + 65, + -99, + -47, + 84, + -78, + -78, + 121, + -93, + -109, + 53, + -48, + -91, + 52, + 126, + 109, + 85, + 6, + -51, + -63, + -70, + -103, + -105, + 110, + 85, + 108, + -27, + 97, + 75, + 55, + -45, + 82, + 46, + 60, + -29, + 47, + 53, + -15, + -39, + -30, + -123, + -52, + 1, + -110, + -91, + 55, + 10, + 75, + 44, + 51, + -94, + -78, + 32, + 8, + -91, + -94, + 36, + -123, + 42, + -20, + 29, + -124, + -55, + -97, + -14, + -71, + 51, + 69, + -52, + -49, + -84, + 3, + 23, + 17, + -27, + 8, + 72, + 15, + -84, + -116, + 82, + 54, + 51, + 58, + 70, + 99, + 121, + 75, + -79, + 103, + 101, + -14, + 0, + 11, + 3, + 24, + -15, + -82, + -91, + 126, + -40, + -65, + 113, + -54, + -81, + -72, + -21, + 6, + 109, + 99, + 39, + -89, + 125, + 102, + -74, + 34, + 106, + 31, + 60, + 24, + -50, + -76, + -58, + 48, + 119, + 89, + 83, + -84, + -75, + -35, + 85, + 93, + 23, + 83, + 58, + -40, + 35, + 66, + 39, + 90, + 63, + -58, + 44, + -75, + 17, + 109, + -114, + -46, + -124, + 87, + 51, + -52, + -112, + 31, + 65, + -100, + -93, + 108, + 92, + 15, + 19, + 57, + 90, + -41, + 120, + -46, + -47, + 78, + -80, + -105, + -87, + -103, + -72, + 105, + 95, + 2, + 117, + 115, + 62, + 124, + 73, + 98, + 122, + 97, + 111, + 16, + -60, + 9, + -30, + -117, + 118, + -78, + -104, + -100, + -93, + -88, + -101, + -73, + -23, + 119, + -128, + -26, + 101, + -56, + 51, + 39, + -44, + -124, + 113, + 26, + 15, + 82, + -15, + 102, + 17, + -24, + 43, + -11, + -28, + 46, + 54, + 100, + 91, + 107, + -105, + -49, + 59, + -94, + 122, + 104, + -48, + -51, + 23, + 87, + -45, + 7, + 1, + 4, + -91, + 38, + -97, + -104, + -15, + 115, + 62, + -44, + 26, + -11, + 123, + -17, + 40, + -85, + 90, + 68, + 98, + 56, + -72, + 92, + 108, + -88, + -118, + -22, + -84, + 108, + 36, + -25, + 75, + 74, + 99, + -97, + 71, + 122, + -6, + 65, + -121, + -104, + 21, + -120, + -79, + 92, + 95, + -81, + 54, + 103, + -122, + -78, + 87, + 8, + 9, + 71, + -94, + 56, + -3, + 65, + 36, + -20, + -85, + -78, + -121, + 119, + 82, + -68, + 100, + -9, + 35, + -14, + 83, + 60, + -9, + 68, + -43, + 113, + 57, + -88, + 117, + 73, + -61, + -125, + -84, + 76, + 8, + 101, + 122, + -52, + -117, + 75, + -81, + 78, + -86, + -30, + -108, + -60, + -103, + -82, + -108, + 62, + -15, + 83, + -58, + 29, + 25, + -25, + -112, + 127, + -50, + -80, + 121, + 127, + -118, + -4, + -103, + -29, + -50, + 52, + -110, + -66, + -8, + -11, + 30, + 68, + 121, + 16, + -29, + 77, + 52, + 19, + -30, + 48, + 89, + -41, + 27, + 34, + 56, + 68, + 50, + -85, + -86, + -55, + 36, + 50, + -49, + 7, + -112, + -18, + -86, + -22, + -33, + -81, + -43, + -4, + 110, + 46, + 108, + 29, + -14, + 17, + -47, + 93, + -73, + 8, + -48, + -103, + 81, + 10, + -54, + -87, + 94, + 69, + 102, + 62, + 63, + -14, + 21, + -75, + 86, + 82, + 84, + -41, + 67, + 69, + -91, + -94, + 88, + -56, + 117, + -12, + -90, + -4, + 43, + -74, + -48, + -103, + 83, + -25, + -97, + 81, + -98, + 115, + 86, + -36, + -120, + 21, + -18, + -52, + -61, + -99, + -21, + -118, + -7, + -69, + -104, + 84, + 109, + 53, + 39, + 40, + -86, + 5, + 114, + -77, + -54, + -29, + 40, + -73, + 80, + 23, + -102, + -24, + -58, + 20, + 5, + -79, + 42, + 64, + 87, + 86, + -43, + 7, + 70, + 8, + -91, + -119, + -13, + -12, + -39, + -26, + 34, + -15, + 38, + 74, + -55, + -62, + 117, + 37, + -69, + -70, + 66, + 13, + -128, + 79, + -80, + -87, + 32, + 103, + 90, + 78, + -106, + 43, + -30, + -61, + 2, + 75, + 18, + -99, + -126, + -26, + -43, + -50, + -25, + 77, + 4, + 30, + 44, + 103, + 83, + 8, + -44, + 3, + 5, + 11, + 1, + 71, + 119, + -27, + -94, + 52, + -23, + -128, + -79, + 19, + 5, + 123, + 66, + -57, + 45, + -81, + 103, + -23, + -122, + 127, + -30, + -49, + 19, + 11, + 34, + 58, + 114, + 113, + -79, + -118, + 39, + -45, + 31, + -113, + -51, + -54, + -115, + 67, + -86, + -107, + 2, + 115, + -121, + 24, + -111, + -75, + 32, + -74, + -127, + -48, + 53, + -86, + -56, + -29, + -78, + 107, + 24, + 98, + 44, + 17, + 46, + 68, + 82, + 75, + 48, + 81, + -28, + 115, + 26, + -83, + -65, + -73, + 106, + 11, + 59, + -115, + 110, + -11, + 36, + -87, + 32, + 2, + 99, + 78, + -44, + 81, + -114, + -61, + -79, + 97, + -58, + 89, + -68, + 43, + -90, + -12, + -9, + -80, + 83, + -47, + -110, + 16, + 98, + -75, + -70, + 0, + -2, + -100, + -122, + 124, + 98, + -57, + -52, + -48, + -24, + -91, + -107, + 78, + -77, + -56, + -123, + -115, + 85, + -92, + -50, + -31, + -78, + -77, + -28, + -18, + 37, + 28, + 88, + -12, + -46, + -90, + 10, + -122, + -72, + 105, + 94, + -111, + -14, + 95, + 22, + 66, + 83, + 15, + 11, + 115, + -27, + -1, + 0, + 31, + 66, + 3, + 43, + -43, + 117, + -97, + 70, + 105, + 56, + -77, + 14, + -122, + 23, + -52, + -37, + 57, + -76, + -116, + -45, + 85, + 93, + 56, + -36, + -38, + -54, + 83, + 84, + -63, + 87, + 6, + 65, + -96, + -37, + -74, + 40, + 115, + 35, + 78, + -125, + 111, + 38, + -52, + 78, + 84, + -36, + 102, + 12, + -88, + 4, + -109, + 30, + 75, + 120, + 121, + -51, + -59, + -91, + -112, + 35, + 94, + 93, + -92, + 102, + -92, + 107, + -91, + 83, + 71, + -125, + -26, + -123, + -26, + -74, + -25, + 74, + -86, + -19, + 66, + -46, + 115, + -14, + 71, + -23, + 47, + 16, + 66, + 0, + -114, + 32, + -86, + -74, + 101, + -84, + 122, + 11, + 75, + 37, + -99, + -117, + -87, + 49, + 51, + 40, + -112, + -85, + -67, + -38, + -97, + -72, + 25, + 52, + 2, + 121, + -24, + 98, + 81, + 81, + 35, + -45, + -79, + 92, + -36, + -47, + -71, + -37, + 41, + -24, + 51, + -42, + -92, + -42, + -42, + 97, + 105, + -51, + 32, + -17, + 54, + 49, + 125, + 110, + 120, + -40, + 75, + -11, + 93, + 54, + 23, + 38, + 6, + 28, + -71, + 16, + -69, + -88, + 12, + -127, + 77, + 91, + -3, + 32, + 83, + -113, + 89, + -29, + 117, + 9, + -107, + -24, + -127, + 111, + 99, + 27, + -54, + 122, + -117, + -40, + -100, + -11, + 32, + 45, + 56, + -119, + 7, + -13, + -71, + 76, + 120, + 119, + 59, + 59, + -104, + -29, + 14, + -101, + 20, + 96, + 20, + 19, + -19, + -24, + 59, + 49, + -69, + -22, + -81, + -66, + -51, + -35, + 15, + -102, + -12, + 41, + 68, + -124, + -93, + -48, + 117, + 98, + -51, + -18, + 29, + 29, + 10, + 88, + 21, + -47, + 29, + -102, + -4, + -127, + -13, + -13, + -23, + -72, + -77, + -120, + 16, + -23, + -14, + -17, + -98, + 6, + -45, + 6, + -42, + 49, + -93, + -48, + 52, + 21, + 22, + -11, + 17, + 16, + -62, + -27, + -98, + -73, + -115, + 10, + -113, + -87, + 21, + 92, + 126, + 28, + 88, + 126, + -77, + 77, + 6, + -29, + -74, + -122, + -2, + 2, + -5, + 4, + -30, + -86, + 110, + -48, + -9, + -103, + -97, + -79, + 31, + -40, + 28, + -118, + -4, + -73, + -39, + 36, + 107, + 119, + -61, + -87, + 113, + -92, + 71, + -68, + 104, + 36, + 23, + 112, + -75, + 11, + 103, + -42, + -12, + -29, + -51, + -63, + 5, + 10, + 65, + 103, + 61, + 105, + 12, + 78, + 114, + -78, + -106, + 25, + -3, + 110, + -99, + 46, + 115, + -55, + -12, + 108, + 113, + 92, + -73, + -60, + -74, + 70, + -70, + -98, + -105, + 23, + -25, + 108, + 87, + -50, + -40, + 115, + -51, + 78, + 8, + 71, + -69, + -35, + -34, + -28, + -48, + 40, + -45, + 86, + 84, + -52, + -20, + 38, + -66, + -51, + -70, + 49, + 70, + -128, + 55, + 72, + -73, + 117, + -49, + 71, + 39, + -40, + -84, + -33, + -18, + -123, + -115, + -27, + -33, + 118, + 57, + 87, + 109, + -75, + 26, + -40, + 43, + -24, + -121, + 79, + -122, + -67, + 83, + -25, + -35, + 118, + 113, + -63, + -112, + -74, + 0, + 61, + 46, + -15, + -71, + 5, + 94, + 4, + -59, + 114, + 15, + -110, + 23, + 41, + -60, + -39, + -125, + 96, + -57, + 71, + 103, + 90, + 101, + -38, + -48, + 58, + -100, + 118, + 55, + -15, + 7, + 52, + 127, + -37, + 109, + 80, + 42, + -71, + -108, + 58, + 13, + 81, + -89, + 115, + 94, + 38, + 29, + 51, + 11, + -94, + -106, + 47, + 31, + 91, + 61, + -68, + -66, + 26, + -50, + -2, + 62, + 103, + -10, + -77, + 82, + -54, + -40, + -8, + -84, + -99, + 51, + 103, + -49, + -66, + 122, + 124, + -4, + 77, + 76, + 111, + -35, + -15, + 38, + -126, + 57, + 110, + 121, + -1, + 0, + -76, + -86, + 18, + 71, + -67, + -63, + -115, + 45, + -128, + 0, + 55, + 101, + 84, + -107, + 0, + 108, + 64, + -82, + -24, + 71, + -105, + -113, + 60, + -24, + 4, + 16, + -34, + -70, + -56, + -22, + -94, + -12, + 95, + -44, + 117, + 36, + -110, + -76, + 1, + 101, + -78, + -51, + -88, + 63, + -117, + 5, + -25, + 99, + -46, + -78, + 66, + 80, + -19, + -21, + -116, + -64, + -78, + -33, + -123, + 7, + 96, + -116, + -52, + 8, + -10, + -106, + -66, + 86, + -88, + -38, + 55, + -90, + 12, + 107, + 43, + 115, + -13, + -18, + -36, + -41, + -115, + -26, + 19, + 48, + -107, + 91, + -44, + 63, + -49, + -12, + 60, + -98, + 78, + 21, + -43, + -15, + -22, + -7, + -20, + -122, + 86, + 31, + -38, + -123, + -40, + -45, + -113, + 2, + -47, + 27, + 39, + -36, + 45, + 113, + -109, + 49, + -8, + 125, + 63, + 93, + -68, + -116, + -29, + -24, + 76, + -59, + 118, + -77, + -73, + -51, + 39, + 86, + -34, + 90, + 0, + -26, + -8, + 85, + -27, + 7, + 39, + -9, + -99, + 28, + -56, + 2, + -84, + -18, + -115, + -38, + 6, + -33, + -81, + -20, + -47, + -96, + 84, + -56, + -106, + 50, + -127, + 42, + 87, + 66, + -85, + -25, + -70, + 39, + -88, + 94, + 55, + 123, + 71, + 80, + -67, + 22, + -100, + -2, + -47, + -106, + -127, + 52, + -35, + 122, + 28, + -85, + 23, + 85, + -50, + 50, + 95, + 52, + 62, + 37, + -90, + -30, + 38, + -9, + -111, + -103, + 50, + -51, + -12, + 109, + 57, + -38, + -38, + -22, + 27, + -101, + -115, + -107, + 13, + 102, + -123, + -90, + 9, + 40, + 80, + -54, + -35, + -120, + -43, + -40, + 25, + 111, + 103, + 67, + 98, + -24, + 45, + -37, + -84, + -73, + 64, + 34, + 102, + -34, + -128, + 51, + -94, + -117, + 11, + -58, + 90, + -90, + 64, + 78, + 115, + 24, + 47, + 4, + -41, + 83, + 85, + -24, + -77, + 99, + 57, + -6, + 119, + -98, + 69, + -21, + -104, + -8, + 104, + 110, + -34, + 89, + -47, + -37, + -32, + -76, + 47, + -26, + -38, + 59, + 50, + 94, + -74, + -64, + -45, + 118, + 55, + 60, + -25, + -50, + 86, + -50, + 14, + 54, + 46, + -126, + -10, + 26, + 43, + -100, + -69, + 123, + -71, + 83, + 93, + -124, + 17, + 34, + 78, + 99, + 82, + -10, + 43, + 80, + 72, + -79, + 100, + -26, + -87, + -115, + 94, + 35, + 3, + -107, + 32, + -126, + -60, + -70, + -93, + -34, + -102, + -115, + 95, + -25, + 82, + 11, + 93, + 14, + -74, + 36, + -118, + 25, + 107, + 44, + -40, + -72, + 45, + 28, + -115, + 27, + -82, + 76, + 106, + -9, + -75, + 5, + -115, + -118, + 48, + -37, + 98, + 72, + 54, + 28, + -89, + 106, + -92, + 118, + 72, + 29, + -41, + -117, + 46, + 83, + -90, + 32, + 9, + 107, + -92, + -57, + -77, + -28, + -38, + -46, + -21, + 73, + 39, + -9, + 45, + 105, + 36, + -21, + 105, + 109, + -95, + -65, + -50, + -7, + -73, + -38, + 76, + -103, + -24, + 29, + -110, + 116, + -63, + -102, + -122, + 116, + -20, + -39, + 103, + 51, + 75, + 45, + -106, + -114, + 13, + 91, + 71, + 42, + 59, + -7, + -80, + -33, + -49, + -97, + -13, + 92, + -45, + 102, + 85, + -104, + 107, + -126, + 8, + -113, + 28, + -81, + -23, + 113, + 42, + -7, + 123, + 62, + 43, + -91, + 87, + -86, + -65, + 55, + -96, + 43, + -4, + 82, + 8, + -105, + -107, + 51, + -25, + 110, + 93, + -2, + 13, + 6, + -14, + 70, + -94, + -1, + 0, + -113, + -22, + -67, + 94, + -69, + -55, + 68, + -5, + -118, + 69, + 44, + -119, + 96, + 9, + 81, + -102, + -63, + 42, + 100, + 15, + -94, + 26, + -93, + -99, + -48, + 102, + 118, + 96, + 7, + 101, + -3, + -53, + -127, + -22, + 35, + -88, + -126, + 6, + -70, + 0, + 29, + -74, + 8, + -88, + 46, + 24, + 39, + -37, + -10, + 97, + -99, + 83, + 46, + -34, + 99, + 21, + -96, + -11, + -113, + 102, + 46, + -94, + 10, + 21, + -58, + -76, + -53, + 42, + 44, + 106, + -80, + -19, + 91, + 96, + 12, + -29, + 26, + -48, + 20, + 33, + -34, + -66, + 82, + 76, + 74, + -49, + -112, + -101, + -119, + 10, + 55, + -48, + -35, + 34, + -71, + 88, + -98, + -103, + -112, + 121, + -55, + -119, + 102, + 76, + -77, + -63, + -97, + 57, + 8, + 96, + 49, + -48, + 67, + 117, + -51, + -119, + -63, + 80, + 27, + 59, + 99, + 38, + 98, + -86, + -35, + -59, + -128, + 44, + 45, + 117, + -39, + -48, + 85, + -19, + 125, + 6, + -11, + 101, + 80, + -78, + 1, + -101, + -31, + 34, + -5, + 89, + -70, + -76, + 21, + -77, + -40, + -71, + -87, + 68, + 14, + 65, + 11, + 28, + 12, + 53, + 47, + 34, + -80, + 17, + -71, + -43, + 37, + 109, + 81, + -62, + -79, + 8, + 72, + 107, + 32, + -43, + 2, + 75, + 80, + 59, + 26, + 44, + 24, + -52, + -9, + 50, + -126, + -56, + -85, + 34, + 31, + 32, + 27, + 58, + -95, + 44, + -124, + -115, + -82, + -63, + 10, + -54, + 10, + -109, + 96, + 16, + 125, + -89, + -85, + 117, + 114, + -43, + -73, + -106, + 37, + 67, + -55, + -26, + 109, + 30, + 118, + -39, + 5, + 45, + -24, + -55, + -113, + -17, + -66, + 92, + -40, + -11, + 20, + -22, + 80, + 68, + -43, + -89, + -95, + 79, + -91, + 95, + 49, + 111, + 22, + -57, + -102, + 51, + -15, + 82, + -109, + 98, + 32, + 85, + -117, + 99, + -5, + -109, + -124, + -54, + -13, + -91, + -59, + -17, + -23, + 117, + 52, + -35, + 1, + -81, + 76, + -48, + 82, + 32, + 90, + -7, + -45, + -40, + 46, + 56, + -4, + 101, + -62, + -100, + -63, + -22, + 12, + 0, + 40, + -38, + 33, + -111, + 5, + 7, + -25, + 85, + 93, + 71, + -4, + 119, + 58, + -125, + 41, + -59, + -38, + -77, + -15, + 44, + -44, + 89, + -72, + 120, + 64, + 3, + 107, + 102, + 50, + 43, + -97, + -72, + 93, + 0, + 70, + 91, + 37, + -62, + 127, + -51, + 49, + -88, + -76, + -9, + 4, + -121, + -127, + -91, + -96, + 110, + 103, + 29, + 103, + 29, + -22, + 89, + 61, + -97, + 66, + 50, + 35, + 87, + -45, + -82, + 105, + 87, + 22, + -45, + 50, + 86, + 63, + -116, + -19, + 108, + 32, + -36, + -102, + 52, + 29, + 53, + -114, + -64, + -59, + -116, + 109, + 121, + 39, + 10, + 28, + -62, + -118, + 109, + -36, + 7, + 97, + 115, + -67, + 69, + -74, + -95, + 46, + 56, + 117, + -93, + -81, + -95, + -48, + -56, + 52, + -64, + -90, + -86, + -65, + -16, + -89, + 120, + 76, + -99, + -86, + -19, + 123, + -98, + -42, + 18, + 63, + 106, + 97, + -94, + -76, + -115, + 55, + 52, + 74, + 85, + -98, + 97, + -74, + 74, + -74, + 98, + 59, + -11, + 76, + -109, + -25, + 33, + -121, + -82, + 103, + -8, + -46, + 114, + 21, + -4, + 72, + 43, + 77, + 98, + 121, + 43, + -106, + -117, + -95, + -77, + 82, + -47, + 87, + 109, + -27, + 86, + 66, + -101, + 103, + -71, + 69, + -116, + -120, + -5, + 72, + 57, + 97, + 57, + 99, + -50, + -14, + 57, + -115, + 23, + -57, + -31, + 30, + 25, + 24, + 4, + 82, + 13, + -93, + 120, + -64, + -74, + 98, + 13, + 81, + 39, + -70, + 0, + -12, + 53, + 35, + -29, + 98, + -104, + -44, + -69, + 48, + -101, + -55, + 83, + 37, + -110, + 84, + 15, + 25, + -38, + 75, + -75, + -94, + 60, + -118, + -43, + -48, + -82, + -128, + 106, + 55, + -6, + -9, + -2, + 86, + 49, + 23, + 45, + -82, + 34, + -91, + -72, + 22, + 109, + 98, + 26, + -61, + 70, + 112, + 27, + 9, + 80, + -17, + 71, + 115, + 26, + -93, + 22, + -52, + -87, + 82, + -23, + -46, + 26, + 126, + -56, + -4, + -116, + 86, + -21, + 3, + 91, + 9, + -20, + 46, + -46, + 66, + -62, + 67, + -82, + -20, + 30, + 117, + 113, + -40, + -113, + 2, + 23, + -13, + -18, + -125, + -74, + 125, + -49, + -79, + -54, + 55, + 80, + 104, + 79, + 94, + -66, + -44, + 4, + -92, + -10, + -76, + 16, + -83, + 98, + -1, + 0, + -109, + 9, + 11, + 38, + -119, + -122, + -5, + 94, + -22, + -8, + -117, + 103, + -86, + 93, + 49, + 39, + -38, + -92, + 74, + 75, + -4, + -77, + -31, + -21, + 87, + -109, + -8, + 63, + -5, + 33, + 16, + -39, + -21, + -42, + -17, + -66, + -31, + -98, + -27, + 9, + -83, + -77, + -45, + -58, + -34, + -11, + 92, + 104, + -42, + -120, + -51, + -94, + -97, + 106, + 76, + 57, + -83, + 100, + -117, + 64, + -108, + -40, + 62, + -75, + -67, + -89, + 100, + -76, + 51, + -20, + -85, + 71, + 91, + 9, + -34, + -119, + -78, + -74, + 36, + -41, + 86, + 102, + -33, + 91, + -30, + -50, + 115, + 116, + 107, + 14, + 52, + 92, + 90, + 27, + 116, + 96, + 121, + 115, + -64, + 57, + 86, + 19, + 87, + 82, + 69, + -87, + 34, + -45, + -3, + 79, + -62, + 86, + 47, + 45, + 89, + -90, + -67, + 67, + -105, + -81, + -106, + -123, + 0, + 45, + 90, + 104, + -19, + -38, + 13, + 37, + 27, + 43, + 45, + 55, + -8, + 25, + 15, + 85, + 105, + -38, + -26, + -71, + -127, + -43, + -20, + 44, + -121, + 35, + -51, + 26, + 92, + 92, + 63, + -12, + -91, + -54, + 124, + 81, + -108, + 108, + 86, + -21, + -34, + 47, + -79, + 106, + -38, + -70, + 80, + 89, + -117, + 93, + 87, + 118, + 73, + -65, + -118, + 31, + -118, + -86, + -11, + 18, + 38, + -85, + 17, + -39, + 73, + 87, + 4, + -22, + -102, + 106, + 75, + 93, + 1, + 66, + -6, + 54, + 77, + 118, + 79, + 125, + 81, + 50, + 17, + 12, + -54, + -110, + 76, + 36, + 110, + -98, + 18, + -61, + 58, + 60, + -73, + 3, + -111, + 43, + 45, + 114, + -75, + -128, + -80, + 81, + -95, + 39, + -4, + 100, + -117, + -70, + 55, + 21, + -5, + -6, + 7, + -66, + 7, + 83, + -81, + 108, + -115, + -23, + -18, + 44, + -44, + -81, + 125, + 126, + 70, + 115, + -15, + 91, + -74, + -43, + 119, + -27, + -120, + -49, + 94, + -31, + 38, + 56, + 110, + -54, + -7, + 125, + 108, + -60, + -90, + 20, + 74, + 49, + -1, + 0, + 97, + -50, + -34, + 102, + -20, + 113, + -79, + -84, + -35, + -35, + -24, + 19, + 75, + 49, + 90, + 101, + -124, + -41, + 99, + 8, + 106, + -105, + -62, + 103, + -116, + -34, + 11, + 58, + -10, + -119, + -87, + -117, + -82, + 12, + -96, + -2, + 39, + -47, + -12, + 123, + 68, + 34, + 115, + 108, + 95, + -21, + 19, + 81, + -74, + 66, + -60, + -112, + -41, + 16, + 108, + -36, + 38, + -8, + -83, + 21, + 67, + 105, + -126, + 127, + -125, + -10, + 33, + 3, + -117, + 86, + -118, + 11, + -13, + 125, + -93, + 104, + 117, + -86, + -115, + -106, + 74, + 73, + -43, + -98, + 59, + -4, + 29, + 65, + 127, + 2, + -114, + -78, + 68, + -73, + 50, + 73, + 17, + -54, + 123, + 45, + 123, + 19, + -105, + 35, + 48, + -57, + 52, + -92, + -21, + -33, + 13, + -3, + -120, + -96, + 49, + 119, + -92, + -2, + 29, + 82, + 44, + 37, + -54, + 42, + 124, + 105, + 111, + -102, + 24, + 69, + 85, + -66, + -89, + 111, + -123, + 88, + 94, + -44, + 86, + -54, + -109, + 8, + -59, + 78, + 14, + -116, + -103, + 12, + 78, + -104, + 57, + 104, + -40, + 53, + 10, + -8, + -23, + -43, + 68, + -16, + -69, + 56, + 20, + 74, + -84, + 90, + -113, + 123, + 54, + -75, + 102, + -59, + 5, + -43, + -103, + -123, + 27, + 91, + -3, + -121, + -94, + -79, + 76, + -19, + -115, + 42, + 71, + 25, + 59, + -83, + 60, + -20, + -63, + 116, + 84, + 101, + 98, + -54, + -76, + 119, + 118, + 4, + 34, + -97, + 109, + 22, + 23, + 96, + -97, + 87, + 1, + -5, + 98, + -78, + 25, + -42, + 25, + 126, + 106, + 108, + -5, + 11, + 14, + 124, + 123, + 21, + -57, + 91, + -122, + -78, + -6, + -76, + -122, + -92, + 9, + 48, + 31, + -98, + 115, + 5, + -46, + 75, + 9, + -72, + 66, + -62, + -16, + 75, + 6, + -106, + -111, + -14, + -86, + 4, + -11, + 2, + -90, + 122, + 65, + 65, + 28, + -12, + -125, + 71, + 85, + 40, + 69, + -91, + 48, + -110, + -90, + -124, + -77, + -71, + -80, + 10, + -126, + -43, + 9, + 126, + -29, + 20, + -67, + 45, + 46, + -80, + -69, + -126, + -120, + 104, + 116, + -58, + 1, + -65, + 23, + 101, + 73, + -12, + 94, + -99, + -100, + 74, + -100, + 14, + -117, + -4, + 57, + -27, + 36, + -23, + 109, + -71, + 22, + 78, + -50, + -61, + 37, + 53, + -21, + 94, + -90, + -88, + 74, + -37, + -93, + -24, + -105, + -12, + -59, + 53, + -80, + -107, + -83, + -60, + -84, + -76, + -114, + -11, + -15, + -99, + -121, + -18, + 107, + 79, + -97, + -77, + 46, + 33, + -29, + -21, + 6, + -12, + 61, + -89, + -42, + -29, + -106, + -12, + -52, + -53, + 42, + -96, + -102, + 116, + -18, + 121, + -11, + 39, + 89, + -48, + 44, + 92, + 21, + -15, + -34, + 14, + -69, + 54, + 100, + -42, + 90, + 91, + -6, + 56, + -2, + 85, + 8, + 2, + 12, + -60, + -31, + -99, + 104, + -122, + -108, + 62, + -76, + -89, + -14, + 126, + -12, + -32, + 30, + -77, + -126, + 53, + 62, + -80, + -34, + -9, + -80, + -67, + 49, + -118, + -66, + -46, + 69, + -69, + -123, + -45, + -99, + 91, + 14, + 6, + -115, + 87, + 30, + 6, + -111, + -79, + 11, + 105, + -50, + 86, + -80, + -110, + 104, + 105, + -58, + -23, + 5, + 68, + 90, + 94, + 74, + 43, + 106, + -126, + -118, + 51, + -20, + -98, + 106, + -53, + -90, + -109, + -108, + 24, + 17, + -79, + 47, + -99, + 18, + -51, + 106, + -12, + -75, + -36, + -6, + 91, + -109, + 92, + -97, + 115, + 113, + 87, + 55, + -124, + -97, + 30, + 28, + -77, + -120, + -50, + -13, + -94, + -52, + 41, + 74, + 63, + 96, + -113, + 105, + -72, + -64, + -38, + -43, + -54, + -115, + 105, + 36, + 66, + 25, + -112, + -123, + -68, + -122, + -97, + -2, + -88, + -112, + 125, + -92, + -103, + 39, + -59, + 1, + -23, + 70, + -94, + 50, + 20, + -38, + -69, + 41, + 50, + 62, + -86, + 84, + -124, + 112, + 70, + -34, + 58, + 52, + -2, + -105, + 92, + -32, + -77, + 85, + 24, + -38, + 29, + 53, + -114, + -47, + 74, + 51, + 77, + 77, + -24, + -121, + -90, + 40, + 47, + -79, + 93, + 58, + -104, + -41, + 44, + -24, + 46, + 100, + -101, + -82, + -93, + 48, + 24, + 111, + 96, + 110, + 115, + -1, + 0, + -46, + -26, + -118, + -66, + 58, + 85, + -54, + -97, + 39, + -77, + 124, + 91, + 74, + -107, + 69, + -38, + 84, + -38, + -114, + -110, + 3, + 124, + 64, + 113, + 105, + -54, + -98, + -75, + 103, + -22, + -88, + -5, + -43, + 39, + 22, + 97, + 4, + 45, + 8, + -101, + 85, + -47, + -56, + 57, + -81, + -87, + 16, + 37, + -91, + -82, + 13, + -109, + -17, + -33, + -76, + 59, + 24, + 71, + -127, + 70, + 8, + 30, + 3, + 50, + -29, + 49, + 105, + -24, + -121, + 58, + 101, + 34, + -66, + 110, + 100, + -121, + -13, + 8, + 30, + 8, + -44, + 86, + -58, + 101, + -8, + -79, + 23, + -92, + 17, + -82, + 26, + -22, + -54, + 108, + -102, + 30, + 100, + -118, + -78, + -97, + -40, + -62, + 106, + -46, + -104, + -55, + -114, + -40, + 64, + 12, + 44, + 113, + 62, + 121, + -72, + -68, + 12, + 35, + -18, + 104, + -118, + 4, + 25, + -106, + -46, + 73, + -31, + -72, + 28, + 20, + -125, + 93, + -12, + 94, + 47, + -103, + 121, + 26, + -77, + 74, + 43, + -112, + 47, + -87, + -22, + -58, + -75, + 38, + 18, + -111, + 94, + -60, + 77, + 114, + -38, + -59, + -99, + -114, + 3, + 122, + 15, + -63, + -33, + 25, + 20, + -7, + -87, + 127, + -20, + 4, + 84, + 111, + -127, + 56, + -70, + -66, + -73, + 29, + -89, + 9, + 6, + -81, + -43, + 12, + 57, + 68, + -21, + 112, + -42, + -59, + 76, + -51, + -112, + -52, + -55, + -95, + -82, + -128, + -90, + 103, + -60, + -97, + 85, + -7, + -80, + -97, + -22, + -66, + 78, + 28, + 92, + -31, + -115, + -113, + -54, + 54, + 60, + -127, + -4, + -78, + 43, + 22, + -51, + -98, + 9, + -91, + 50, + 72, + -85, + 43, + 5, + -101, + -64, + -117, + 51, + -102, + -112, + 44, + -113, + 114, + 5, + -37, + -45, + 92, + -16, + 21, + -125, + 26, + 48, + -85, + -18, + -116, + 54, + -96, + 40, + 49, + -8, + -32, + -115, + -76, + -96, + 79, + 74, + 29, + -119, + -8, + 97, + 96, + 106, + 59, + 30, + -127, + 2, + 114, + -48, + 77, + -43, + 74, + 9, + 10, + -71, + 121, + -27, + -48, + 121, + 46, + -70, + 51, + -102, + -14, + 95, + 45, + -49, + 79, + -124, + 29, + 88, + -21, + -108, + -77, + 16, + -67, + -92, + -73, + 96, + -5, + 122, + -77, + 13, + 117, + -125, + 6, + -89, + 3, + 108, + 28, + -117, + 42, + 76, + -1, + 0, + 89, + -113, + 48, + 70, + 50, + -51, + -75, + 53, + 106, + -46, + 93, + -49, + -41, + -11, + -61, + -55, + 108, + -98, + -119, + 61, + -37, + -3, + -106, + 29, + 9, + 36, + 16, + 99, + -81, + 75, + -9, + -63, + 36, + 27, + 126, + -50, + 100, + 32, + -58, + 111, + -76, + -57, + 26, + -52, + 86, + 122, + -31, + 35, + 64, + 0, + -43, + 100, + -107, + 2, + -73, + -89, + 40, + 118, + -107, + 97, + -12, + 59, + -81, + 97, + 119, + -6, + -109, + 35, + -32, + 41, + -84, + -103, + -83, + -97, + -83, + -25, + -23, + -114, + 87, + -23, + -24, + 62, + -100, + -32, + -57, + 41, + -125, + 8, + -52, + -105, + -114, + -126, + 121, + 60, + -40, + 30, + 121, + 52, + -108, + -77, + 68, + 90, + 70, + -109, + -78, + 99, + -93, + 84, + -96, + 3, + -46, + 40, + 37, + 69, + 8, + -122, + 68, + -86, + 29, + 114, + -38, + 53, + -70, + 8, + 94, + 52, + -81, + -46, + 125, + -96, + -57, + 122, + -109, + -40, + 38, + -55, + -4, + -9, + -47, + -94, + -84, + -123, + 65, + 11, + 64, + -43, + 114, + -91, + -61, + -25, + -14, + -20, + -49, + 36, + 97, + -52, + 111, + -95, + -70, + -65, + 46, + -34, + 9, + 107, + -123, + -102, + -50, + 75, + 78, + -125, + 15, + 104, + -113, + -90, + 9, + -65, + -103, + 16, + 85, + -91, + 124, + -125, + -123, + 73, + -82, + 1, + -94, + -20, + 26, + 30, + -62, + 83, + 90, + -50, + -84, + 9, + -49, + 24, + 44, + -40, + 64, + 15, + 105, + 90, + 70, + -62, + -74, + -68, + 96, + 42, + -66, + 43, + -93, + 102, + -4, + 5, + 127, + -49, + -76, + 19, + -50, + 102, + 28, + -50, + 61, + 99, + 111, + -13, + 105, + -49, + -6, + 11, + 19, + -82, + -98, + 101, + -56, + 74, + -48, + 113, + 106, + 40, + -54, + 86, + 51, + -81, + 60, + -27, + 72, + -87, + -127, + -97, + 108, + -91, + -9, + 105, + 113, + -100, + 22, + -38, + -53, + -62, + -122, + 86, + -54, + -73, + -88, + -96, + 81, + -26, + 62, + 107, + 62, + 99, + 116, + -78, + 75, + 107, + 34, + -56, + 103, + 55, + 4, + 55, + -69, + 17, + -44, + 15, + 90, + -9, + -61, + -90, + 99, + -21, + -15, + 33, + -20, + -118, + 1, + 39, + 127, + 104, + 91, + -114, + -40, + 2, + -105, + 24, + 75, + 45, + -55, + -35, + -37, + -86, + -107, + -39, + -128, + 112, + 2, + 1, + 61, + -126, + -32, + -120, + -110, + 22, + 72, + -111, + 6, + 84, + 22, + -122, + 84, + 23, + 89, + 102, + -115, + 71, + -51, + -80, + 119, + -89, + 24, + -100, + 108, + -70, + -114, + -51, + -61, + 7, + -94, + -46, + 22, + -3, + 66, + 93, + 82, + -126, + -50, + -100, + 14, + 46, + 85, + -95, + 64, + 8, + 48, + 63, + -29, + -84, + -108, + 89, + -60, + -106, + -101, + 52, + -69, + -73, + -2, + -38, + -73, + 34, + -93, + -93, + 14, + -114, + -82, + -72, + -111, + -79, + 114, + 59, + -68, + 44, + -88, + -51, + 19, + -103, + 16, + 52, + -85, + -82, + -23, + 74, + 88, + 50, + 2, + 29, + 92, + -122, + 0, + 5, + 113, + -87, + 12, + 75, + 16, + 44, + -118, + 120, + -118, + -69, + -58, + 26, + -104, + 120, + -36, + -86, + 123, + -85, + -11, + -22, + 118, + 32, + 88, + -21, + 98, + 106, + -20, + 1, + 94, + -22, + -12, + 62, + -41, + -29, + -13, + 122, + -120, + 37, + 22, + -52, + -41, + 93, + 123, + -109, + 83, + -73, + 80, + -117, + -71, + -70, + 116, + 96, + -90, + 20, + -27, + 9, + 91, + -20, + 70, + 97, + -122, + -109, + 55, + 76, + -88, + -70, + -27, + -119, + 14, + -48, + 127, + 105, + -91, + 72, + -78, + 119, + 119, + 19, + -43, + -44, + 19, + -13, + 30, + -27, + 24, + 0, + -13, + -97, + -95, + 58, + -67, + -105, + 124, + -21, + -61, + -51, + 77, + 10, + -5, + -51, + -34, + -35, + 29, + 56, + -35, + -108, + -51, + 45, + -103, + 105, + -37, + 118, + 60, + 41, + 8, + 80, + -21, + 2, + 15, + -36, + 74, + -24, + -18, + -104, + -45, + -52, + 53, + -50, + 101, + 11, + -117, + -22, + -12, + 86, + -42, + 116, + 80, + 109, + 109, + 73, + -83, + -92, + 13, + 92, + 94, + -96, + 96, + -116, + -126, + 24, + 51, + -88, + -85, + 122, + 41, + 112, + 61, + 120, + 102, + -39, + -102, + 108, + 39, + -77, + -100, + -113, + -123, + -30, + -40, + 33, + 123, + 72, + 107, + 3, + -17, + 6, + -69, + -7, + 118, + 76, + -109, + 90, + -87, + 122, + 82, + -19, + -19, + -55, + -122, + 15, + 48, + -72, + 99, + -75, + -103, + 51, + -92, + 7, + -43, + 82, + -48, + -109, + 27, + 33, + -110, + 14, + 37, + 87, + 7, + 89, + -77, + 57, + 125, + 86, + 9, + -78, + -106, + 104, + -96, + 13, + -57, + -21, + 36, + 77, + 20, + -44, + -77, + 86, + 77, + 72, + 21, + -8, + 70, + -85, + 93, + 96, + -1, + 0, + 65, + 90, + 68, + -38, + 126, + -95, + 56, + 8, + 18, + -66, + 81, + 80, + 106, + -124, + 61, + 88, + 104, + 90, + 54, + 90, + 1, + -87, + -63, + -53, + 40, + 108, + 55, + 100, + -8, + 114, + 11, + -117, + -77, + -124, + -30, + 92, + -48, + -19, + 108, + 87, + -113, + -57, + 13, + -76, + -114, + -23, + 40, + -118, + 103, + -107, + 89, + -39, + 100, + -111, + 34, + 122, + 5, + 64, + 88, + -42, + 69, + 49, + 26, + -113, + 104, + 1, + 96, + -122, + -28, + -65, + 83, + 74, + 37, + 70, + -105, + -96, + 60, + -118, + -84, + -98, + 59, + 80, + -22, + -89, + -38, + 53, + 38, + -37, + 79, + 119, + 102, + -92, + -80, + 77, + -6, + -37, + 69, + -75, + 44, + 105, + 75, + -116, + 72, + -91, + -51, + -53, + -96, + 8, + 55, + 76, + 18, + 54, + 87, + 61, + -35, + 41, + -123, + 10, + -90, + 94, + -126, + 70, + -98, + -48, + -59, + 124, + -79, + 69, + 21, + 49, + -28, + 82, + 93, + -12, + 81, + 58, + 67, + -6, + -5, + 89, + 81, + 64, + 36, + 84, + 63, + 85, + 82, + -77, + -86, + -35, + 5, + -52, + -86, + -112, + 88, + -38, + -43, + 28, + 76, + 15, + 77, + 100, + 77, + -13, + 114, + 43, + 18, + -114, + -60, + -18, + -16, + -24, + -105, + -95, + 14, + 7, + 119, + 44, + 38, + -85, + -105, + -28, + -39, + -110, + -77, + -119, + -94, + -102, + 121, + 80, + 42, + 56, + -6, + -50, + 47, + -96, + 101, + 45, + -71, + -112, + 23, + -3, + 29, + -107, + 1, + 82, + -114, + -96, + -70, + 90, + -67, + -51, + 7, + 53, + 116, + -42, + -76, + 102, + 48, + 72, + -23, + 72, + -46, + -84, + 11, + 75, + -41, + 22, + 83, + -105, + 107, + 34, + 55, + -74, + 73, + 94, + -7, + 85, + -96, + 96, + -102, + 57, + -94, + -15, + -44, + -112, + -44, + -31, + 49, + -109, + -52, + 66, + -120, + 99, + 115, + 41, + 33, + -25, + -32, + -101, + 15, + 105, + -85, + -88, + 51, + -61, + -14, + -101, + 50, + -28, + 113, + -119, + -25, + 69, + -50, + -82, + 99, + -1, + 0, + 24, + -43, + -13, + 31, + 40, + 11, + 61, + 108, + -127, + 11, + -6, + -42, + -84, + 116, + -62, + 76, + -27, + -31, + 92, + -103, + 17, + -5, + 31, + 114, + -77, + -95, + 49, + -55, + -95, + 108, + 55, + -113, + 48, + 124, + -105, + 66, + -6, + -78, + -15, + 61, + -25, + -85, + -73, + -39, + 52, + 65, + -53, + -75, + -59, + 22, + 79, + -86, + -74, + 65, + 120, + 83, + -106, + 22, + 29, + 23, + -71, + -94, + -95, + -25, + 109, + 53, + -11, + -39, + -77, + 55, + -93, + 125, + -92, + -106, + 63, + 44, + -118, + -15, + -47, + 69, + 4, + -99, + -76, + 35, + -28, + -112, + 87, + 91, + 32, + 81, + 37, + -120, + -75, + 93, + 125, + 64, + -87, + 12, + -66, + 8, + 10, + 75, + 97, + -50, + -86, + 53, + -40, + 88, + 0, + 10, + 107, + 32, + -110, + -67, + 85, + -43, + -20, + 125, + 74, + -32, + -47, + 113, + -116, + -1, + 0, + -29, + -112, + -59, + -95, + -99, + 63, + -126, + 101, + 92, + 105, + 19, + -56, + -61, + 33, + -37, + 108, + 82, + -31, + 110, + -104, + -70, + 77, + 67, + -127, + 103, + -101, + 3, + 32, + 63, + 71, + -44, + 117, + 39, + -41, + 15, + 80, + -22, + 55, + 99, + 36, + -36, + 114, + -70, + -14, + 116, + -33, + 20, + 37, + 119, + -71, + 93, + -96, + 80, + -22, + -102, + -58, + -42, + -75, + -99, + -119, + 77, + 123, + 60, + 91, + -53, + 6, + 72, + -59, + 65, + 45, + -57, + -3, + 122, + 42, + -41, + -96, + -79, + -61, + -125, + 68, + -51, + -20, + -101, + 35, + 62, + 108, + -110, + -65, + -104, + -25, + 86, + -22, + 51, + 47, + 87, + 11, + 99, + 64, + -119, + 48, + -61, + 28, + -86, + 109, + -39, + 81, + 17, + 107, + -49, + -24, + -25, + -22, + -33, + 1, + -35, + 7, + -11, + -9, + 94, + -32, + 78, + 10, + 73, + 21, + -113, + 127, + 74, + 50, + 127, + 78, + 53, + 95, + -74, + 71, + 85, + -42, + 114, + -26, + -118, + -76, + 122, + 101, + 40, + -71, + -46, + -71, + -57, + -1, + 0, + -47, + -75, + -25, + -115, + -89, + 19, + 51, + 122, + -7, + -68, + 52, + 76, + 46, + 102, + -42, + -122, + -112, + 72, + 29, + 32, + -11, + -40, + 90, + 28, + -77, + 86, + -76, + -115, + 5, + 95, + 39, + 23, + 48, + 42, + -60, + -92, + -122, + 120, + -114, + 67, + 66, + -98, + -84, + -70, + -38, + 46, + -55, + 84, + -96, + 34, + 74, + 117, + -97, + -40, + -94, + -56, + -94, + -2, + -44, + -29, + 111, + -15, + -118, + -53, + 106, + -52, + -114, + 24, + -14, + -93, + 35, + -118, + -113, + -7, + -56, + -78, + 69, + -107, + -105, + -121, + 49, + -38, + -47, + -128, + 54, + -93, + -118, + 25, + -15, + -4, + 27, + -47, + 18, + -108, + 29, + 21, + -29, + 89, + 25, + -68, + -124, + -80, + 101, + -109, + -81, + 107, + -128, + -126, + -44, + -11, + -19, + -40, + 0, + -92, + 19, + -47, + 27, + -99, + -55, + 62, + -81, + -20, + 124, + -84, + -117, + 25, + -120, + 42, + -80, + 40, + 54, + 7, + 95, + 112, + 42, + 111, + -28, + -22, + 88, + -98, + -88, + -39, + 80, + 2, + -128, + -93, + -56, + -77, + -85, + -96, + 100, + 116, + 15, + -92, + -80, + 84, + 90, + 61, + -25, + 125, + -19, + 94, + -14, + -44, + 35, + 47, + 58, + 107, + 56, + -29, + 70, + 112, + 81, + 97, + -110, + 54, + -42, + -51, + 3, + -102, + 109, + 76, + -19, + 32, + -40, + -100, + -24, + -22, + -67, + 17, + 85, + 49, + -92, + -124, + 73, + 106, + 12, + 33, + 63, + 47, + -92, + 33, + 77, + 65, + 91, + 68, + -43, + 76, + 121, + -31, + -103, + -86, + 15, + -78, + 98, + 108, + -12, + -14, + 119, + -92, + 116, + -3, + 92, + -122, + -105, + 127, + -72, + -77, + 36, + -28, + -30, + -51, + 54, + 105, + 26, + 83, + 91, + -85, + 30, + 24, + -39, + -45, + -107, + -19, + 98, + -19, + 86, + 76, + 99, + 48, + 96, + -13, + -69, + -104, + -28, + 92, + 50, + -110, + -44, + -2, + 123, + -50, + -77, + -48, + -116, + 64, + 32, + 106, + 6, + -25, + 99, + 99, + -56, + -28, + 73, + 48, + -102, + 9, + 109, + 121, + -88, + 2, + -78, + 92, + -87, + 1, + -25, + 8, + -34, + 49, + 5, + -42, + -69, + 30, + -111, + -10, + -3, + -99, + 19, + 65, + 56, + 80, + -75, + -37, + 101, + 8, + -9, + 103, + 75, + 32, + -83, + -98, + 104, + 57, + -62, + 85, + 3, + 107, + 114, + 51, + 45, + 104, + 65, + -27, + -96, + -35, + 57, + 120, + 72, + 104, + -115, + 13, + -22, + 12, + 86, + -36, + 24, + 29, + -52, + -65, + 70, + -59, + -39, + 124, + -37, + -75, + 48, + -24, + -38, + 3, + -117, + -118, + -22, + 50, + 0, + -46, + -39, + -50, + -114, + -40, + 2, + -26, + -100, + -21, + 88, + -86, + -95, + -76, + -44, + 72, + -77, + -79, + 9, + -52, + -43, + -78, + -5, + -38, + -95, + 100, + -36, + 127, + 59, + 87, + -36, + -73, + 68, + -59, + 43, + -80, + 35, + 10, + 36, + 122, + 13, + 50, + 29, + 98, + -12, + -96, + -19, + -66, + -3, + -107, + 38, + 10, + 54, + 2, + 38, + 112, + -6, + 72, + -28, + 89, + 102, + 31, + -36, + -38, + -126, + 73, + 10, + 64, + 98, + -53, + -47, + 0, + 88, + 7, + -37, + 27, + -57, + -39, + 31, + -50, + 40, + -2, + -28, + 72, + -10, + 10, + -95, + -126, + 123, + 105, + -70, + 80, + -60, + 26, + -93, + 76, + 42, + -2, + 47, + -46, + 91, + -70, + 54, + 30, + -48, + -26, + -34, + 97, + 70, + 57, + 102, + -50, + 104, + -23, + 99, + -113, + -117, + 108, + 26, + 70, + 95, + -120, + 70, + -56, + 34, + -75, + 22, + 28, + 16, + 37, + 102, + 55, + -3, + 111, + -108, + -104, + -37, + -58, + -24, + 110, + 53, + 0, + 38, + -53, + -83, + -16, + -76, + 29, + 8, + 49, + -42, + 12, + -43, + 78, + 41, + -114, + 59, + 92, + 34, + 79, + 39, + 15, + 88, + -112, + 81, + 26, + 85, + -56, + 53, + 40, + -87, + -63, + 80, + 101, + 66, + -47, + 93, + -1, + 0, + -36, + 23, + 126, + 13, + 40, + 50, + -97, + 63, + 126, + -111, + -73, + 70, + 57, + -2, + 114, + 122, + -52, + 17, + -61, + 82, + -60, + -47, + -45, + -101, + -19, + -110, + 38, + -17, + 65, + 90, + -67, + 56, + 101, + -108, + -116, + -12, + 104, + -38, + -77, + -40, + -110, + -45, + 92, + 85, + 65, + -90, + -88, + 116, + 18, + -112, + 75, + 40, + -11, + 117, + -121, + -62, + -6, + 50, + 27, + 32, + 90, + -97, + 103, + -50, + 111, + 118, + -68, + 78, + 53, + 34, + 68, + 109, + -116, + 110, + -120, + -21, + -16, + 4, + -15, + 125, + 49, + 76, + 102, + 78, + 25, + 91, + -63, + 85, + 79, + 108, + 91, + -50, + -87, + 48, + -87, + 104, + 92, + -68, + -42, + 17, + 113, + -62, + 10, + 63, + 4, + 26, + -80, + 19, + -70, + 127, + -52, + 111, + -91, + 7, + 125, + 71, + 119, + -23, + 56, + -120, + -118, + 58, + 114, + -59, + 21, + -114, + 106, + 87, + 104, + -72, + 42, + -49, + -50, + 106, + 81, + -110, + -107, + 26, + -11, + -6, + -110, + -81, + 82, + 127, + 15, + -19, + -62, + 124, + 85, + -122, + 126, + -96, + 27, + 103, + 30, + 83, + 44, + 86, + 91, + -35, + -38, + -43, + 0, + 83, + -28, + 40, + 42, + 9, + -94, + 63, + 98, + 126, + 5, + -4, + 118, + 122, + -55, + 18, + -60, + -31, + -124, + 103, + 80, + -23, + 37, + 27, + 33, + -108, + 86, + -57, + -86, + -80, + 104, + -35, + 95, + 102, + -127, + 53, + -21, + -38, + 77, + 40, + 82, + -75, + -101, + 51, + 80, + 37, + 118, + -8, + -70, + -112, + 49, + -13, + 103, + -20, + 95, + 66, + 91, + -106, + -107, + 117, + -2, + 105, + 86, + 28, + 64, + -116, + 82, + 115, + -57, + 113, + 85, + -66, + 82, + -111, + 26, + -11, + -2, + 9, + 36, + 98, + -67, + -86, + 125, + 75, + 48, + -5, + -3, + 127, + 36, + -107, + 88, + 26, + 63, + 82, + 62, + -9, + -79, + 37, + 121, + 71, + -111, + -38, + -55, + 7, + 109, + 49, + 95, + 15, + 94, + -51, + 52, + 31, + -30, + 100, + -31, + 65, + -94, + -25, + 74, + -39, + -44, + 8, + 28, + 100, + 98, + -26, + -42, + 20, + -37, + 30, + -66, + -23, + -17, + 9, + -55, + 77, + -127, + -72, + -44, + -82, + 119, + 8, + 27, + -7, + 41, + 62, + -122, + 103, + -27, + 107, + 74, + -31, + -55, + 107, + -27, + -105, + 107, + -58, + -17, + -112, + 29, + 13, + 67, + 83, + 48, + 19, + 97, + -94, + -67, + 111, + -29, + 25, + -14, + -21, + -125, + 23, + -21, + 115, + 49, + -111, + 37, + 0, + 15, + -94, + -59, + 103, + -97, + -110, + -2, + 70, + -51, + -31, + -42, + 89, + 42, + 85, + -79, + 74, + -63, + 107, + 92, + 113, + -64, + -30, + 95, + 100, + 55, + 61, + 50, + -14, + 91, + 56, + -72, + 25, + 99, + 39, + -115, + 66, + -62, + 110, + 94, + 41, + 52, + 76, + 125, + 59, + -119, + 16, + -120, + 35, + -105, + 91, + 34, + -122, + 56, + 61, + 87, + 65, + -36, + -75, + -121, + 57, + 119, + 90, + 106, + -48, + 46, + 45, + -67, + 80, + 85, + 83, + 50, + 73, + -126, + 84, + 58, + -86, + 6, + -117, + 4, + 38, + -73, + 85, + -107, + 14, + -50, + 108, + 36, + 78, + -85, + 67, + 44, + 58, + -68, + 12, + 15, + 113, + -50, + 104, + -10, + 122, + 100, + 41, + 109, + 106, + 122, + -9, + -118, + 62, + -34, + -56, + -93, + 116, + 9, + -104, + 12, + 110, + -110, + 41, + 26, + -85, + -64, + 45, + 47, + 80, + 88, + 58, + -80, + -86, + -23, + 64, + -82, + -57, + -53, + 80, + -7, + 7, + -43, + -120, + -7, + -107, + 105, + 93, + -25, + -50, + -16, + -126, + -25, + -28, + -123, + -60, + -93, + -27, + 19, + 77, + 96, + 6, + -82, + 41, + 6, + -111, + 77, + 27, + 99, + 125, + 112, + 62, + 106, + 7, + -116, + -43, + 116, + 7, + 6, + -36, + 9, + -25, + -120, + -30, + -89, + -7, + 79, + 51, + -45, + 11, + 17, + 64, + 62, + -120, + -35, + -91, + 62, + 24, + 13, + 68, + 28, + 58, + 14, + -124, + 40, + -101, + 104, + -100, + -95, + -95, + -121, + -120, + -26, + 108, + 81, + 39, + -107, + -77, + 71, + 27, + 90, + 56, + -122, + 23, + 104, + -37, + 17, + 2, + -62, + -80, + -72, + -90, + -57, + 97, + 111, + 47, + 16, + 114, + -25, + 53, + 13, + -57, + -98, + -113, + -89, + 78, + 113, + 9, + -105, + 27, + 70, + -112, + -44, + -123, + 88, + -52, + -83, + 22, + -51, + -35, + 20, + -21, + -82, + 7, + -90, + 27, + 97, + -5, + 113, + -124, + 84, + 100, + -14, + 22, + 57, + 48, + -45, + -105, + 108, + 17, + 4, + -8, + -34, + -67, + 69, + 40, + -66, + -59, + 92, + -75, + -71, + -41, + -77, + 77, + 67, + 12, + -42, + 25, + 27, + -13, + 53, + 33, + 103, + -126, + 5, + 76, + 43, + 46, + -56, + -28, + 80, + -112, + 34, + -17, + 41, + 82, + -105, + 93, + -78, + -58, + -109, + -10, + -79, + 30, + 7, + 104, + -26, + 88, + -95, + 108, + -18, + -123, + 120, + -70, + -99, + 88, + -40, + 24, + -105, + 106, + 47, + 19, + 21, + -98, + -88, + 85, + 96, + 99, + 25, + 85, + -78, + -31, + 102, + -7, + 62, + -83, + -25, + -59, + 1, + 50, + 16, + -53, + -70, + -88, + -54, + 124, + -54, + 35, + -115, + -39, + -1, + 0, + -77, + -42, + -102, + 90, + 51, + 64, + 58, + -61, + 88, + -77, + 3, + -81, + -42, + 92, + -80, + 53, + 120, + 62, + 68, + -7, + 43, + -122, + 34, + -119, + 38, + -111, + -28, + -52, + -102, + 48, + -79, + -35, + -23, + 44, + -114, + -66, + 82, + 71, + -71, + -126, + -99, + 84, + 2, + 125, + -88, + 9, + -78, + 84, + 92, + -16, + -57, + -114, + 51, + 29, + -27, + 104, + -43, + 35, + -59, + -123, + -61, + 61, + 29, + 76, + 107, + 17, + 8, + -127, + -120, + 81, + 106, + 25, + -53, + 0, + -59, + -40, + -128, + 104, + 29, + -67, + 6, + -11, + -67, + 36, + -122, + 69, + -25, + -58, + -100, + -91, + -84, + 42, + 72, + -22, + -77, + 31, + 14, + 46, + -107, + 81, + -7, + -56, + -40, + 52, + 58, + 72, + 124, + -81, + -116, + -114, + -13, + -52, + 70, + -10, + -46, + 47, + -120, + -11, + -18, + -120, + 28, + -38, + 33, + 106, + 105, + 21, + -42, + 24, + -41, + -127, + -84, + -126, + 35, + 8, + 119, + -122, + 38, + 91, + 100, + -27, + 13, + -9, + 71, + 40, + -28, + -52, + 77, + 110, + -81, + 65, + 28, + 24, + 114, + 97, + -82, + -9, + 26, + 82, + 49, + 85, + -95, + -23, + -84, + -89, + 110, + 105, + 84, + -77, + -1, + 0, + -115, + 32, + 119, + 113, + 18, + 2, + 101, + -98, + 14, + 48, + -40, + 110, + 74, + -89, + -106, + 85, + 101, + 110, + -57, + 123, + 93, + -25, + 73, + 109, + -51, + -55, + -98, + -82, + 48, + 41, + 107, + 89, + 127, + -63, + 91, + -103, + -28, + -31, + -51, + 4, + -35, + 96, + -70, + -38, + 32, + 16, + 40, + 51, + -42, + -27, + -122, + 104, + 22, + 107, + 55, + 48, + 85, + 40, + 51, + -122, + -42, + -127, + 113, + -78, + 102, + 124, + -100, + -81, + -85, + -12, + -47, + 102, + -39, + 44, + -28, + -128, + -37, + -105, + -79, + -28, + 119, + 64, + 69, + 110, + -61, + 108, + -39, + -45, + -63, + -23, + -85, + -128, + -65, + -65, + 114, + -44, + 17, + 19, + -107, + -16, + -35, + 21, + -124, + 114, + 45, + 123, + -117, + 122, + 88, + -42, + -76, + 52, + -25, + -10, + -73, + -48, + -34, + -127, + 88, + -54, + -56, + -37, + 3, + -25, + 87, + 116, + -91, + 24, + -101, + -124, + -114, + -47, + -105, + 37, + 39, + -104, + -33, + -91, + 104, + 72, + -78, + 108, + -73, + 111, + -107, + 17, + -106, + -88, + 105, + -26, + 117, + 3, + 109, + -29, + 98, + 4, + -86, + -113, + -52, + -3, + 61, + -9, + 92, + 87, + 51, + -58, + -28, + -29, + -95, + -51, + -27, + -91, + 120, + -117, + 75, + -118, + 29, + 99, + 89, + -42, + 41, + -95, + -35, + -29, + 42, + 89, + 14, + 110, + 55, + -111, + 100, + 86, + 85, + 13, + 40, + 45, + 114, + 110, + 30, + -21, + -3, + -76, + -28, + -51, + -114, + -56, + -48, + 46, + 52, + -109, + 70, + 85, + -120, + 99, + 40, + -115, + 34, + -111, + 60, + 108, + -64, + -20, + 97, + 127, + 114, + -113, + 112, + -44, + -10, + 5, + 50, + -59, + -14, + -52, + -20, + 37, + -113, + 64, + -20, + 16, + -67, + 50, + -104, + -34, + 109, + 23, + -6, + 97, + -1, + 0, + 61, + 26, + -78, + -125, + -107, + 4, + 122, + -1, + 0, + 60, + 109, + 104, + -4, + 77, + 34, + -83, + -19, + -37, + 2, + -103, + -42, + 17, + 69, + 82, + 7, + -90, + -86, + -27, + -57, + -13, + -17, + -107, + 51, + 9, + 121, + -32, + 34, + -95, + -101, + -88, + -122, + -91, + -81, + 27, + 87, + -36, + -3, + 11, + 61, + -43, + -80, + 45, + 103, + -50, + 24, + 62, + -99, + -111, + 99, + -8, + -27, + -99, + 29, + -69, + 55, + -46, + 64, + 106, + 23, + -95, + 16, + -109, + -90, + 37, + 30, + 27, + -11, + -23, + 125, + -27, + 92, + -25, + 40, + -3, + 104, + -92, + -123, + 42, + 23, + -80, + 125, + -75, + -5, + -32, + 6, + 57, + 12, + 115, + 101, + -87, + 54, + 74, + 83, + -116, + -113, + -70, + 113, + -33, + 84, + -50, + 115, + -12, + -3, + -113, + -59, + 68, + -72, + -8, + -47, + -94, + 33, + 88, + -95, + 72, + 127, + -110, + -109, + 36, + 97, + -94, + 42, + -114, + 21, + 81, + -107, + 64, + -35, + 89, + -66, + 1, + -1, + 0, + -54, + -56, + 36, + -86, + -44, + 81, + -110, + -91, + 86, + 58, + 109, + -126, + -65, + -115, + -101, + 86, + 40, + -54, + 73, + 117, + 115, + -38, + -112, + 127, + 81, + 31, + -73, + 94, + -87, + -45, + -51, + 89, + -29, + 14, + -75, + -74, + 99, + -7, + -56, + -95, + -118, + -30, + 62, + -46, + -78, + 97, + 20, + 31, + 108, + 53, + 73, + 85, + -80, + -63, + 106, + -5, + -71, + 7, + -122, + 75, + 67, + 25, + -23, + 82, + -111, + 102, + 55, + -20, + -46, + -106, + -83, + -37, + 21, + 73, + 29, + 10, + 14, + 3, + 80, + 58, + -86, + -17, + 69, + 35, + 96, + -104, + -94, + -66, + 120, + -38, + 126, + 35, + -98, + -92, + -48, + 111, + -33, + 124, + -14, + -82, + -31, + 75, + 104, + 77, + 5, + -93, + -74, + -41, + -75, + -90, + 90, + 103, + -124, + -120, + 21, + -36, + -57, + 30, + -47, + 54, + 45, + -114, + -40, + 60, + 95, + 103, + 92, + 46, + 9, + 104, + 86, + 100, + -50, + -76, + -98, + -32, + -14, + 72, + -108, + 89, + 118, + -100, + -107, + -92, + 55, + 20, + 80, + 102, + 21, + -109, + -113, + -8, + -125, + 19, + 3, + 24, + -81, + -59, + -114, + -29, + 115, + -67, + 99, + 67, + -45, + -24, + 6, + 44, + -56, + -52, + -103, + -122, + 61, + -76, + 43, + -113, + -92, + 16, + -85, + 56, + 72, + -104, + 2, + 15, + -81, + 112, + -99, + -74, + -117, + 16, + -123, + 63, + 100, + 90, + -127, + 48, + -77, + -98, + -96, + -41, + -47, + 106, + 33, + 81, + -20, + -114, + 104, + -112, + 27, + -25, + 76, + 57, + -17, + -42, + 84, + 39, + -3, + -74, + 107, + -53, + 35, + -1, + 0, + 103, + -36, + -118, + 41, + 82, + -25, + 62, + -56, + -13, + -7, + 73, + -1, + 0, + -28, + 26, + -78, + -107, + 47, + -59, + 125, + 46, + -101, + -73, + 25, + 87, + -1, + 0, + 67, + 106, + 86, + 84, + 92, + 61, + -91, + 51, + -63, + -11, + -58, + -15, + 1, + -80, + -24, + 82, + 78, + 37, + -26, + -86, + -59, + -116, + -99, + -33, + -8, + 96, + 35, + 16, + 8, + 33, + -68, + -93, + 35, + -76, + -118, + 5, + -5, + 99, + -93, + 87, + -87, + -36, + 15, + -47, + 68, + 53, + -20, + 44, + -12, + 64, + 31, + -111, + 100, + 87, + -128, + -57, + 26, + 70, + -52, + -44, + 6, + -10, + 43, + -77, + 100, + 126, + -106, + 4, + 50, + 17, + 70, + -69, + -42, + -49, + 127, + 61, + -104, + 113, + -42, + 98, + -91, + 81, + 24, + 50, + -16, + 0, + -127, + 4, + -36, + -100, + 93, + 31, + -112, + 62, + 90, + -104, + 105, + 17, + 75, + -101, + -54, + 27, + 7, + -41, + 77, + 100, + 10, + 69, + 45, + 2, + 39, + 28, + -108, + 9, + 38, + -62, + -18, + -89, + 5, + -16, + -86, + 9, + -95, + -123, + -27, + -11, + -116, + 41, + 8, + -81, + -93, + -41, + 43, + -91, + -63, + -102, + 100, + -121, + -90, + 113, + -27, + -114, + -102, + -74, + -127, + -39, + -84, + -47, + 87, + 78, + -114, + 83, + -118, + 114, + 34, + -88, + 11, + 104, + 97, + -65, + -89, + -79, + 2, + -61, + 80, + 86, + -108, + -37, + -125, + -82, + 72, + -91, + 74, + -93, + -128, + 65, + 84, + -63, + 103, + 48, + -83, + -48, + 25, + 46, + 94, + -78, + -29, + 7, + 36, + -59, + -88, + 58, + -128, + -54, + 80, + 46, + 11, + -115, + 61, + -62, + 31, + -27, + 31, + -92, + -84, + 88, + 74, + 101, + -47, + -25, + 68, + 25, + -107, + -127, + -114, + -5, + -98, + -105, + -111, + -97, + 72, + 87, + -90, + -67, + -86, + 84, + 17, + -35, + 69, + 80, + -116, + 73, + 1, + 52, + 21, + 29, + -89, + 62, + 108, + -41, + 51, + 124, + -77, + 86, + -86, + -57, + -16, + 100, + 30, + 127, + -83, + 5, + 76, + -91, + -65, + -14, + 82, + 56, + 27, + 101, + -36, + 90, + 92, + -18, + 24, + 116, + -101, + -90, + 87, + -13, + -97, + 56, + -24, + -127, + -99, + -65, + -50, + -31, + 79, + -28, + -15, + -27, + -36, + -127, + -30, + 100, + 59, + 13, + 20, + 21, + 85, + -39, + 43, + -108, + -40, + 25, + 50, + 5, + -33, + -18, + -64, + -46, + 31, + 9, + 21, + 114, + -43, + -35, + -12, + -65, + 59, + 52, + 22, + 109, + -63, + -76, + -38, + -52, + 40, + 123, + 34, + -2, + 55, + -90, + 80, + -84, + -109, + -25, + -104, + 18, + -42, + 114, + 50, + -97, + 19, + 50, + 24, + 100, + 70, + -58, + -102, + 96, + 93, + 38, + -115, + 75, + -92, + -114, + 88, + -127, + 10, + 84, + 114, + -23, + 51, + -123, + 95, + 107, + -125, + -84, + 77, + 35, + 35, + 13, + 0, + 98, + -79, + 68, + -78, + -64, + -50, + 25, + 100, + -116, + 80, + 42, + -51, + -85, + -127, + -19, + -9, + 54, + -27, + 67, + 34, + -110, + 43, + -9, + 112, + 3, + 47, + 118, + 1, + -70, + -41, + -59, + 79, + -73, + -128, + 36, + 54, + 124, + 99, + 55, + 46, + 112, + -116, + 97, + 55, + 11, + 11, + -43, + -27, + -55, + -104, + 77, + 81, + -20, + 50, + -106, + -15, + -10, + -34, + -125, + -11, + 103, + 107, + -32, + -105, + -98, + 115, + -27, + 17, + -50, + -20, + 39, + -63, + -73, + 81, + -62, + -53, + -89, + 124, + -32, + 62, + -119, + 84, + -12, + 67, + -75, + 56, + 118, + -78, + -87, + 78, + -119, + -108, + 127, + -70, + 90, + -78, + -2, + 123, + -45, + -33, + 119, + 7, + 7, + -113, + 41, + -46, + -107, + 116, + -53, + -106, + -76, + 122, + 57, + -71, + 117, + 26, + -103, + -90, + 69, + -59, + -59, + 81, + -103, + -22, + 53, + -97, + -126, + -104, + -82, + 6, + 95, + -123, + -92, + -10, + -84, + 73, + 93, + -70, + 34, + -127, + -88, + 42, + -102, + -51, + -13, + -85, + 21, + -21, + -87, + 52, + -4, + 16, + 1, + -18, + 123, + -91, + 41, + 122, + 15, + 39, + 109, + -34, + 52, + -55, + -66, + 42, + 17, + 102, + 0, + 89, + 102, + 8, + 22, + 80, + -54, + -38, + -126, + -77, + -94, + 46, + 44, + -73, + 89, + 25, + -74, + -4, + 62, + -113, + 99, + -121, + 60, + -126, + -82, + -103, + 66, + 77, + 20, + -16, + -30, + -65, + 51, + 103, + 122, + 74, + -12, + 81, + 2, + 86, + -107, + 85, + 45, + 93, + -30, + 24, + 127, + 13, + 11, + -81, + 54, + 83, + -128, + -25, + -9, + 96, + 15, + -99, + -22, + -18, + 37, + -19, + 26, + 55, + 91, + 126, + -68, + 69, + -95, + 46, + -110, + 124, + 58, + -86, + 6, + 76, + 49, + -17, + -5, + 122, + -95, + -63, + 41, + -64, + -4, + -57, + -123, + -113, + 56, + 44, + 29, + -53, + -51, + -18, + -78, + 39, + 37, + -46, + -70, + -42, + 67, + 70, + -48, + -44, + 77, + -90, + 37, + -90, + -102, + 102, + -110, + 64, + 0, + 86, + 44, + 95, + 98, + -74, + 68, + 96, + 29, + 25, + -54, + -85, + 16, + 70, + -44, + -59, + 53, + -40, + 49, + 55, + 68, + 51, + 95, + 88, + 82, + 53, + 27, + -106, + 64, + -126, + 61, + 118, + -96, + -46, + -79, + 54, + 20, + 108, + 44, + 0, + -66, + -35, + -61, + 106, + -56, + 1, + 82, + 67, + 40, + 30, + -94, + -70, + -66, + 58, + -125, + -97, + -27, + -42, + -95, + -99, + -29, + 59, + 37, + -58, + 112, + -78, + 12, + 38, + 55, + 124, + 88, + -9, + 36, + -32, + 79, + -124, + -104, + 9, + -24, + 21, + 6, + -40, + -88, + 69, + -50, + -59, + 78, + -104, + 30, + 115, + -122, + -19, + 26, + -21, + 6, + -53, + 34, + -38, + -12, + -85, + -24, + -56, + 1, + -107, + 51, + 19, + -75, + -117, + -40, + 96, + 47, + 118, + -104, + 40, + -74, + -51, + 90, + -92, + -12, + -24, + -98, + -69, + 54, + -65, + 106, + 118, + -78, + -79, + -116, + 100, + 62, + -38, + 46, + 74, + 50, + 49, + 19, + 28, + 26, + -98, + -123, + -92, + 90, + 7, + 122, + -102, + 69, + 54, + -41, + 13, + -128, + -94, + 122, + -111, + -66, + 74, + -20, + 116, + 20, + 90, + 62, + 29, + 77, + -122, + -4, + -125, + -75, + -94, + 108, + -51, + -60, + -2, + 51, + 115, + 122, + -128, + -66, + -89, + -82, + 50, + -24, + -36, + -38, + -47, + 75, + 10, + 7, + 116, + -121, + 121, + -119, + 53, + -13, + -94, + -115, + -115, + 8, + -100, + -82, + 61, + 89, + -123, + -65, + 56, + 104, + 37, + -107, + 68, + -50, + -65, + -102, + 45, + -71, + -95, + -91, + 55, + 15, + 34, + 59, + 6, + -27, + 80, + 74, + 117, + -62, + 107, + -19, + -11, + 7, + 57, + -103, + -100, + -11, + -61, + 42, + 11, + 117, + -40, + -40, + -42, + 0, + -71, + 92, + 46, + 106, + -71, + 117, + 25, + 62, + 80, + 81, + -47, + -19, + 7, + 17, + 45, + 107, + -17, + -61, + 90, + -126, + -48, + 61, + -105, + 21, + -127, + 122, + -93, + 90, + -25, + 2, + -128, + 35, + -103, + -80, + 116, + -109, + 3, + 120, + 21, + -10, + 70, + -14, + -108, + -76, + -30, + 4, + -110, + 116, + 63, + -12, + 5, + -24, + -125, + -38, + -122, + 48, + 85, + -116, + -74, + 7, + -49, + -62, + -118, + -19, + 77, + 54, + -105, + 111, + 125, + 88, + -3, + 93, + -43, + -83, + 122, + -126, + 119, + 96, + 81, + 34, + 40, + -20, + -50, + 65, + 5, + -113, + -69, + -86, + 5, + 118, + 0, + 5, + -93, + 116, + 88, + -88, + 61, + -12, + 110, + -39, + 21, + -99, + -104, + 23, + -47, + -92, + 95, + -52, + -51, + 105, + -112, + -13, + 19, + -107, + -94, + 95, + 104, + 117, + -48, + 118, + 84, + 107, + 26, + -39, + 122, + 36, + -58, + 39, + -70, + 48, + 54, + -107, + 63, + 44, + -6, + -99, + -48, + 5, + 5, + -51, + -98, + 113, + 101, + -84, + -67, + -47, + -11, + 4, + 83, + 127, + -46, + 17, + 66, + 91, + -127, + -97, + -17, + -48, + -89, + 107, + -102, + 36, + 95, + -40, + 19, + 83, + -5, + -82, + -32, + 110, + -78, + 43, + 37, + 13, + 22, + 104, + 100, + 85, + 102, + 84, + 108, + -87, + -73, + 59, + 114, + -72, + 92, + -72, + 33, + -114, + 22, + -58, + 127, + -12, + 69, + -95, + 119, + -17, + 44, + -99, + 77, + 33, + 73, + -88, + 26, + -59, + 17, + -81, + 58, + 74, + -8, + 6, + 82, + 20, + 55, + 112, + -117, + -128, + -109, + -47, + 66, + -70, + -43, + 52, + 84, + 60, + -110, + -82, + -120, + -65, + 61, + -63, + -30, + 74, + -96, + 100, + 12, + 90, + -117, + -87, + 68, + -28, + -77, + -64, + 76, + -86, + -36, + -74, + -112, + -112, + -11, + 104, + -78, + 51, + 113, + 40, + -39, + 104, + -97, + 46, + -44, + -46, + -111, + 89, + -113, + 66, + 4, + 104, + -121, + 68, + -101, + -77, + 84, + -85, + -103, + -107, + -21, + -71, + 88, + -39, + 72, + 4, + -14, + -52, + -30, + -5, + -60, + -106, + 82, + 3, + -78, + -47, + -123, + 93, + 39, + -65, + -82, + -41, + -121, + 49, + 107, + -111, + 20, + -90, + 45, + 121, + 23, + -2, + -31, + 126, + 55, + -3, + 18, + -15, + 28, + 53, + 91, + 102, + 61, + -64, + -123, + 124, + -4, + 41, + 31, + -24, + 32, + 71, + 57, + -27, + 119, + -37, + 27, + 22, + -27, + 89, + -94, + -52, + -78, + -37, + -58, + -116, + 108, + -121, + 80, + 3, + 27, + 37, + -85, + 109, + 69, + -12, + 123, + -96, + 126, + 46, + -17, + -14, + 8, + 61, + 55, + -82, + -118, + -6, + -20, + 24, + -110, + 82, + -41, + 81, + 90, + -39, + 2, + -75, + -75, + 7, + -1, + 0, + 45, + 107, + -26, + -63, + -80, + 11, + 122, + -112, + 59, + -124, + 113, + 37, + 109, + -35, + 103, + 73, + -42, + -32, + -2, + -2, + 102, + 102, + 66, + -21, + 51, + -78, + 21, + 85, + 106, + -76, + -64, + -47, + 42, + 5, + -63, + 111, + -111, + 45, + 70, + -58, + -26, + -35, + 75, + 50, + -96, + -53, + 77, + 57, + 70, + -97, + 57, + -48, + -117, + 105, + 119, + -55, + -117, + -54, + -40, + 50, + -15, + 101, + 76, + -101, + 91, + -55, + -77, + 118, + 42, + -54, + 121, + -1, + 0, + -100, + 6, + -19, + 67, + -10, + -44, + 86, + -21, + -64, + 8, + 77, + -110, + 21, + -2, + -48, + -66, + 42, + 10, + -28, + 104, + -47, + -114, + -33, + 42, + -27, + -2, + -60, + 98, + -11, + -120, + -7, + 28, + 92, + -89, + -63, + 23, + -7, + -5, + 119, + -69, + -26, + 103, + 25, + 92, + -95, + 9, + 70, + 119, + -41, + -39, + -22, + 55, + 76, + 49, + 10, + 71, + 56, + -10, + -70, + 13, + 99, + 87, + 108, + -85, + -11, + 47, + -31, + -35, + 4, + 93, + -58, + -78, + -96, + 13, + -16, + -46, + -51, + 13, + -31, + -17, + 0, + 116, + 6, + 32, + 0, + -57, + 104, + 55, + -107, + -21, + 43, + -41, + 107, + -113, + 66, + 80, + -92, + 74, + -21, + 73, + 4, + -87, + -75, + 5, + 56, + -84, + -113, + 40, + 81, + -53, + 75, + 16, + -99, + -79, + -45, + -104, + 89, + 58, + -85, + -59, + 73, + 84, + -30, + 73, + 77, + 21, + 17, + 127, + -94, + -48, + 82, + -79, + 12, + -97, + 3, + -1, + 0, + -12, + 101, + 6, + -98, + -20, + 42, + 127, + -34, + -127, + 8, + -29, + 86, + -102, + -123, + -119, + -81, + -114, + -29, + -28, + -105, + -56, + -16, + 86, + -1, + 0, + -3, + -81, + -36, + -69, + 115, + -119, + 38, + -57, + 69, + -113, + 118, + 4, + -112, + -20, + 14, + -89, + 95, + 111, + 109, + 70, + -88, + 53, + -47, + -81, + -51, + -127, + -2, + -3, + 116, + -112, + -69, + -86, + -95, + 20, + 85, + 13, + -112, + 73, + 4, + -5, + 111, + -4, + 116, + 69, + -109, + 103, + -74, + 55, + -16, + 44, + -39, + 122, + -20, + -76, + -41, + 15, + -86, + 0, + 111, + -2, + -84, + 48, + 9, + -85, + 50, + 89, + -18, + -121, + 95, + 106, + 20, + -81, + -52, + 76, + 86, + -18, + -59, + 92, + 89, + -85, + -30, + 71, + -11, + 107, + -19, + 123, + -74, + 37, + -98, + -51, + -101, + 101, + 96, + -67, + -10, + -107, + -13, + 68, + 110, + 43, + -11, + 118, + -47, + 106, + -79, + -101, + 81, + 48, + 84, + -115, + 43, + -54, + 123, + -42, + -10, + -36, + -19, + 107, + -83, + 67, + 61, + -88, + 30, + -58, + 38, + -106, + 1, + 125, + -92, + 4, + 44, + -112, + -122, + -45, + 51, + -117, + 15, + -42, + 78, + -36, + -86, + -85, + 97, + 10, + -24, + 112, + 120, + -42, + -59, + -93, + -75, + -4, + 87, + 2, + -53, + -34, + -83, + -45, + 96, + 18, + 79, + -13, + 83, + 20, + -124, + -96, + -32, + 89, + -7, + 86, + -68, + -59, + 122, + -32, + -123, + -6, + 46, + -3, + -60, + 38, + -75, + 53, + 48, + 82, + -114, + 38, + 43, + -110, + -44, + -85, + 27, + 30, + 22, + -112, + 42, + -46, + 16, + -100, + -55, + 75, + 22, + 44, + -1, + 0, + 102, + 99, + -6, + 50, + -113, + -50, + -53, + -116, + 0, + 95, + -25, + -55, + -26, + -6, + 74, + -123, + -69, + 20, + 43, + 64, + 10, + -29, + -65, + -31, + -123, + -43, + -67, + 9, + -82, + 76, + -79, + 76, + 113, + -121, + 125, + 111, + 73, + -49, + 61, + 42, + -91, + -108, + 10, + 12, + -38, + 105, + 77, + 82, + 22, + 109, + 35, + 4, + 62, + -78, + -63, + 109, + -4, + -119, + 27, + 108, + 16, + 84, + 85, + -2, + -67, + 74, + -46, + 109, + -94, + -107, + 33, + -67, + -12, + -87, + 69, + -79, + -9, + -18, + 53, + -41, + 30, + 49, + 90, + -15, + 10, + 57, + -5, + 36, + 98, + 65, + 97, + 82, + 101, + 103, + -65, + -110, + -117, + -95, + 43, + 103, + -30, + -24, + -126, + 72, + -8, + 45, + 66, + -24, + -6, + 51, + -124, + 82, + 79, + 99, + 21, + -14, + 125, + -72, + 40, + 3, + 0, + 75, + 18, + 8, + 39, + -85, + -83, + 111, + 106, + 111, + 105, + -85, + -66, + -57, + -89, + -125, + -64, + -85, + -44, + 46, + 105, + -34, + 36, + 42, + -42, + -85, + -116, + -116, + -51, + -73, + 68, + 47, + 82, + -97, + 89, + 96, + -66, + 114, + -17, + 6, + -83, + 110, + 105, + 108, + -70, + 4, + -61, + 111, + -50, + -59, + -96, + 31, + 96, + -6, + 63, + 78, + -57, + -32, + -73, + -116, + -46, + 70, + 60, + -114, + -80, + -67, + 105, + 93, + 94, + 67, + 4, + 5, + -40, + -31, + -102, + -85, + 113, + 98, + 118, + -18, + 85, + 93, + -111, + -92, + 78, + 49, + -103, + -21, + 86, + -67, + 1, + 68, + -2, + 83, + 62, + -86, + 98, + -10, + 88, + -55, + -80, + 102, + 58, + 67, + -87, + -123, + 102, + 116, + 7, + 15, + -117, + 76, + 39, + -40, + 12, + -77, + -21, + 57, + -15, + 1, + 70, + -75, + 7, + 51, + -7, + -26, + 125, + 112, + -39, + 24, + -12, + -69, + -22, + 53, + 4, + -27, + 50, + 6, + 96, + -52, + 110, + 90, + 70, + -81, + -49, + -113, + -120, + -97, + -37, + 86, + 89, + -68, + -41, + -83, + -23, + 68, + -70, + 51, + -99, + 96, + 90, + -106, + -116, + 17, + -127, + -79, + -22, + 69, + -102, + -8, + -66, + 118, + -126, + -26, + 29, + 33, + -123, + 72, + 57, + -71, + 41, + 43, + -79, + -62, + 75, + -18, + -107, + 52, + 26, + 82, + 53, + 75, + -111, + 93, + 56, + 65, + 71, + 81, + -8, + -108, + 46, + -43, + 33, + 19, + -119, + -27, + 45, + -38, + -53, + -64, + -2, + -29, + -43, + -67, + 67, + 69, + -11, + 49, + -116, + 14, + 122, + -68, + -32, + 55, + 68, + 9, + -11, + 104, + 26, + -55, + 11, + -82, + -17, + 87, + -50, + 21, + 103, + 68, + 13, + 116, + -88, + -19, + 93, + 9, + -97, + 71, + -49, + 4, + 47, + -121, + 54, + -85, + -14, + -70, + -93, + 97, + 70, + 20, + 37, + -45, + -76, + -84, + -94, + 85, + 4, + -32, + -36, + 39, + -13, + -36, + -112, + 30, + -36, + -60, + -68, + 126, + 32, + -110, + 12, + 116, + -54, + -102, + 25, + -28, + -100, + 46, + -88, + -14, + 21, + 25, + 19, + -123, + -78, + -50, + 7, + -119, + 81, + -122, + -30, + -59, + -70, + 40, + 36, + 18, + -73, + 95, + 63, + -120, + -113, + 47, + 49, + -124, + -39, + 82, + 99, + -59, + 54, + 58, + -60, + -6, + -69, + -123, + 86, + 49, + -61, + -73, + -75, + 20, + -111, + 41, + 96, + 64, + 53, + -19, + 70, + 58, + -125, + -24, + -75, + 6, + 106, + 54, + -36, + 79, + -52, + 10, + 108, + -9, + 70, + 103, + -20, + 1, + 29, + 82, + 0, + 42, + -37, + 111, + -93, + 13, + 121, + 58, + 110, + 48, + -40, + 65, + -38, + -106, + -112, + 104, + -80, + 109, + 31, + 69, + -117, + -29, + -128, + -38, + -117, + 80, + 47, + -38, + -127, + -48, + 114, + -13, + -53, + 1, + -5, + 114, + -54, + -86, + -71, + 53, + 101, + -10, + 117, + 72, + -47, + -125, + 46, + 42, + 66, + -97, + -128, + -37, + -116, + 75, + 12, + -107, + -101, + -47, + -11, + 38, + 49, + -17, + -52, + -87, + -108, + -78, + 118, + -40, + -79, + 91, + -104, + 30, + -108, + -19, + -97, + -74, + -113, + 125, + 95, + 90, + -93, + -63, + 71, + 17, + 9, + -29, + 19, + -110, + -104, + -83, + 118, + -54, + 49, + 101, + -126, + 120, + -83, + -109, + 61, + -14, + -23, + -77, + 77, + -117, + -70, + 84, + -35, + 94, + 41, + -37, + 68, + -124, + 24, + 61, + -59, + 110, + 88, + 36, + 26, + -109, + -94, + 54, + 113, + -72, + -24, + -42, + 23, + -123, + 58, + 13, + 108, + 9, + -41, + -60, + 39, + -96, + 90, + -93, + 26, + 122, + 112, + -61, + 102, + 6, + -44, + -68, + -60, + -45, + 34, + -120, + -25, + -54, + -9, + 37, + -68, + 4, + -107, + 21, + 19, + -42, + 44, + -57, + 32, + 56, + 75, + -49, + 51, + 105, + 65, + 64, + 43, + 107, + 38, + 72, + 50, + 3, + -88, + 65, + -79, + -77, + 87, + 8, + -105, + 42, + -122, + 126, + 117, + -128, + 10, + -120, + -99, + 33, + 41, + -88, + 2, + -34, + -112, + 68, + 41, + 11, + 117, + -84, + -2, + 95, + -32, + 117, + -61, + 1, + 11, + -45, + 86, + 51, + 69, + -119, + -108, + 72, + -123, + -23, + -125, + -33, + -107, + 62, + 118, + 37, + 100, + -28, + 50, + 115, + -78, + -29, + -105, + 32, + -30, + -85, + -27, + -69, + 81, + -99, + 76, + -125, + 15, + 86, + 7, + -57, + 26, + 67, + 42, + -108, + 49, + -72, + 8, + -121, + -53, + -17, + 70, + -90, + -36, + -4, + -101, + -5, + 24, + 49, + -80, + 68, + 88, + -26, + 102, + -5, + 120, + -44, + -36, + 62, + -42, + -54, + 13, + 24, + 82, + -52, + 93, + 41, + -4, + -117, + 108, + -28, + 39, + -79, + -42, + -19, + 0, + -23, + -58, + -11, + 15, + -100, + 85, + -3, + 81, + -115, + 87, + -50, + -105, + -67, + 31, + 6, + 67, + 127, + 48, + -40, + 57, + 34, + 113, + -120, + -98, + 92, + -62, + 112, + -85, + 103, + 36, + 6, + -65, + 3, + 86, + -28, + -72, + 15, + -81, + -85, + 83, + 79, + 52, + 40, + -127, + -43, + 58, + 21, + 108, + -22, + -47, + 91, + -54, + 97, + -30, + -82, + 34, + -79, + 101, + -45, + -52, + 47, + -127, + -118, + 103, + -23, + 126, + -61, + 125, + 50, + -57, + -117, + -42, + 7, + -40, + -33, + -119, + 63, + 28, + -104, + 49, + 15, + 61, + -23, + -99, + -108, + -38, + -74, + -111, + 120, + 57, + 54, + -24, + -10, + -116, + -103, + 90, + 55, + -61, + -119, + -26, + 24, + 45, + 104, + 105, + -52, + 105, + 117, + 24, + -79, + -27, + -56, + -22, + 9, + 88, + -50, + -43, + -81, + -86, + 26, + 38, + 113, + 40, + -47, + 78, + -28, + 75, + -117, + -93, + -103, + -6, + 97, + -58, + 110, + 74, + 40, + -126, + 44, + -104, + -120, + 21, + -104, + 21, + 73, + 93, + 0, + 33, + -128, + 54, + -82, + 38, + 96, + -42, + 6, + -34, + -13, + -39, + -70, + 94, + -128, + 9, + 50, + -30, + 51, + -110, + -22, + -18, + 72, + 7, + 105, + 81, + -117, + -112, + 105, + -121, + -71, + 52, + 82, + 40, + -99, + 72, + 94, + -121, + 86, + -60, + 91, + 115, + -81, + -26, + -99, + 33, + 83, + 61, + -46, + -85, + -72, + -23, + -27, + 52, + -54, + -94, + -54, + 34, + 31, + -117, + -81, + -71, + -47, + 69, + -18, + 46, + -38, + 7, + 97, + 46, + 107, + -109, + -34, + 61, + -45, + 30, + 124, + -44, + 26, + -60, + -25, + -96, + -102, + -124, + 33, + -118, + -63, + 90, + 88, + -47, + -83, + -14, + 21, + -77, + -79, + 70, + 47, + 47, + -48, + 10, + 90, + 82, + -108, + -23, + 67, + -27, + 107, + -71, + -86, + -66, + 115, + -122, + -82, + -75, + -84, + 41, + -62, + 52, + -106, + -22, + 98, + -66, + -51, + -16, + -42, + -100, + 14, + 7, + -100, + -15, + -110, + -127, + -105, + 36, + 55, + 71, + 77, + 67, + 45, + -78, + -109, + 108, + 104, + 80, + 110, + -46, + -45, + 7, + -114, + 43, + 45, + -40, + 65, + 29, + 97, + -96, + -97, + 85, + -64, + 85, + -109, + -28, + 68, + -81, + 62, + -29, + -40, + -39, + -65, + 73, + 59, + 100, + 77, + 121, + 78, + -108, + 109, + 44, + 1, + 29, + -115, + 113, + -100, + -62, + 59, + -52, + -19, + -11, + 107, + -48, + 64, + -5, + 41, + -37, + 127, + 68, + 127, + 23, + -49, + -114, + 103, + 12, + -126, + 39, + 64, + 96, + 53, + 66, + -13, + 9, + 92, + -72, + 110, + -56, + -26, + 24, + -65, + -109, + -60, + 19, + 20, + -78, + -116, + -18, + -88, + 52, + 39, + -42, + 46, + 81, + -62, + -57, + -61, + 51, + -48, + 8, + -92, + -77, + 3, + 37, + -34, + -25, + -8, + -73, + 121, + -56, + -127, + 54, + -81, + -85, + 83, + 4, + -30, + 0, + -92, + 13, + -14, + 119, + -88, + 62, + 52, + 88, + 90, + 28, + 87, + -28, + 109, + 118, + -21, + -26, + -21, + -67, + 22, + -128, + -97, + 102, + -37, + 56, + -28, + 35, + -85, + 59, + 40, + 46, + 93, + 75, + 16, + -54, + -124, + -99, + -104, + -87, + 59, + 123, + 70, + -74, + 59, + 23, + 116, + 64, + 29, + -11, + -7, + -12, + 16, + -69, + 8, + -43, + 28, + 40, + 100, + 12, + 20, + 106, + -101, + 80, + -94, + -34, + -22, + 61, + -102, + -7, + -79, + 85, + -8, + 30, + -103, + -116, + -51, + -98, + 20, + 12, + -53, + -6, + -116, + -103, + 110, + 90, + -114, + 111, + 69, + -43, + 15, + 19, + 57, + -84, + -55, + -83, + 56, + 20, + 48, + -107, + -98, + 15, + 105, + 95, + -84, + 121, + 53, + -117, + 2, + -79, + -16, + -85, + -8, + 100, + 32, + 76, + 53, + -45, + 89, + 97, + 104, + -68, + -113, + 30, + -115, + 102, + 26, + 26, + 103, + 53, + 67, + 106, + -75, + -125, + 51, + -86, + 0, + -116, + 91, + 9, + -91, + 54, + -119, + -121, + -22, + 123, + 67, + -15, + -118, + -36, + -125, + -43, + -82, + 2, + 66, + -122, + 74, + 42, + 69, + 40, + 16, + -127, + 98, + -96, + 71, + -76, + -22, + -52, + 77, + -122, + 115, + -127, + 14, + 70, + -87, + -96, + -81, + -89, + 34, + 126, + 36, + 32, + 86, + -109, + 77, + -62, + -64, + 9, + 78, + -6, + -99, + 96, + -64, + -108, + -8, + 14, + 77, + 14, + 35, + -83, + -44, + 84, + 2, + -72, + 82, + -4, + 83, + -116, + 94, + 71, + 80, + 3, + 0, + -112, + 90, + 18, + -56, + 64, + -108, + 26, + 74, + -83, + -28, + 79, + -38, + 113, + 61, + 0, + -102, + 74, + 87, + 32, + -76, + 3, + 11, + 71, + -100, + -51, + -96, + 83, + -18, + -72, + -106, + 102, + -96, + 39, + 5, + 8, + 82, + -46, + 88, + 89, + 82, + -79, + 12, + -6, + -82, + -106, + 36, + -107, + 97, + -107, + 78, + 14, + -58, + 24, + 99, + -93, + -51, + -77, + 106, + 26, + 11, + -80, + -62, + 21, + -123, + -68, + 90, + 56, + -19, + -4, + 110, + -96, + 74, + -84, + 98, + -79, + -10, + 17, + 31, + 87, + -53, + -89, + -66, + -46, + 22, + 66, + 42, + 37, + 111, + 86, + -78, + 29, + 60, + -71, + 66, + -32, + -91, + -2, + -116, + -49, + 86, + -126, + -88, + 58, + -8, + -19, + 12, + -83, + 35, + 86, + -83, + -26, + -106, + 36, + 14, + 11, + 7, + -46, + -127, + 120, + -20, + -126, + 64, + 62, + -34, + -120, + 32, + -81, + 95, + 32, + -103, + 93, + -90, + -47, + 23, + 80, + 87, + 72, + -35, + -103, + 1, + -40, + 22, + -93, + -93, + 80, + 42, + 14, + -90, + -65, + 77, + 16, + 126, + 73, + 39, + -45, + 74, + -115, + 9, + 86, + -79, + 119, + -66, + -94, + -128, + 54, + -74, + 4, + 102, + 66, + 98, + 38, + -24, + 112, + -12, + -59, + 58, + 102, + 13, + 106, + 110, + 90, + 18, + -42, + -11, + 97, + 67, + -30, + 74, + 16, + 69, + 70, + -32, + 80, + -23, + -128, + -54, + 90, + -60, + -13, + -91, + -77, + 9, + 77, + -62, + -13, + 97, + 41, + -31, + -32, + 16, + 52, + -78, + -11, + -89, + -74, + 74, + 126, + 15, + 61, + -30, + 102, + -51, + -15, + -70, + -70, + -89, + -86, + 94, + -74, + -75, + 75, + 30, + -40, + 126, + -94, + 105, + -63, + -83, + 112, + 56, + 107, + -124, + 118, + -66, + -121, + 97, + 86, + -77, + 42, + -119, + -128, + -91, + 106, + -100, + -19, + -95, + -90, + 33, + 104, + -105, + -46, + 11, + -127, + 8, + 28, + -102, + 3, + 59, + 109, + -88, + -66, + -3, + 26, + -118, + 100, + 9, + -124, + -117, + -114, + 101, + 33, + -3, + -113, + -83, + 28, + -88, + -59, + 2, + 76, + 92, + 88, + -80, + -52, + -128, + 85, + -100, + -43, + 107, + 101, + -64, + -86, + -37, + 2, + 85, + 101, + 109, + -86, + -119, + 57, + -18, + -78, + -36, + -127, + -23, + -52, + 98, + 40, + -6, + 31, + 123, + -68, + 73, + -52, + 84, + 75, + -75, + -37, + -40, + -61, + 124, + 84, + 25, + -61, + -128, + -73, + 97, + 64, + -27, + -105, + -86, + 78, + -128, + -13, + -43, + -42, + 4, + -19, + 35, + 70, + 33, + 7, + 31, + 115, + -8, + -56, + 66, + -36, + 41, + 88, + -26, + -56, + 64, + 42, + -98, + -101, + 77, + 60, + 45, + 94, + 5, + 39, + 94, + 89, + -43, + -64, + -36, + 68, + -7, + -43, + 51, + -111, + -36, + 32, + -68, + 21, + 87, + -111, + 109, + 14, + 100, + -106, + -103, + -66, + 48, + 31, + -111, + 87, + 86, + 106, + -9, + -60, + 117, + 85, + -44, + -110, + 21, + -70, + 39, + -67, + -127, + -90, + 6, + -63, + 4, + -123, + -44, + 85, + -19, + -44, + -114, + -31, + -106, + 51, + 77, + 20, + -96, + 54, + -63, + -123, + 51, + 45, + 0, + 1, + 90, + 42, + 72, + -93, + 100, + -128, + 77, + -110, + 64, + 11, + -40, + -39, + 52, + 36, + -84, + 58, + 10, + -54, + 13, + 107, + 28, + -97, + -114, + -93, + -126, + 10, + -128, + -48, + -85, + -95, + -106, + 10, + 118, + -61, + -36, + 85, + 82, + -116, + 64, + -72, + -31, + 10, + 62, + -83, + -95, + 4, + 60, + 53, + -48, + 112, + -22, + -16, + -48, + 78, + 86, + 37, + -92, + 22, + 100, + 60, + -88, + -86, + 8, + 32, + -18, + 76, + -55, + -35, + 113, + -71, + 89, + -122, + -54, + 117, + -30, + 63, + -109, + 106, + -94, + -41, + -1, + 0, + -17, + -88, + -109, + -2, + 76, + -48, + -68, + 33, + -7, + 34, + -118, + 125, + -21, + -12, + 116, + -26, + 110, + 43, + -4, + -43, + 10, + -11, + 93, + 119, + -24, + -12, + -71, + -2, + 95, + -20, + -64, + -6, + 104, + -70, + -78, + 118, + -122, + 73, + 108, + 69, + -107, + 123, + -52, + 85, + 13, + -105, + 89, + 63, + -1, + 0, + 106, + 84, + -42, + -42, + 51, + 36, + 112, + -24, + 76, + -24, + -20, + 76, + 118, + 70, + -42, + 29, + -105, + -40, + 96, + -88, + -90, + 24, + 85, + 119, + 51, + 78, + -33, + -124, + -48, + -59, + 86, + 4, + 62, + 96, + 31, + 18, + 99, + 34, + -19, + -97, + -115, + -75, + 16, + -72, + -112, + -109, + 41, + 14, + 69, + -83, + 49, + -118, + 121, + 120, + 79, + -125, + -83, + -82, + 40, + 32, + -72, + -79, + 111, + 75, + -81, + 124, + 90, + -70, + 76, + -76, + -19, + -68, + 38, + 113, + 100, + 52, + 38, + -125, + -34, + -60, + 0, + -37, + 26, + -28, + -72, + -68, + 40, + -98, + -95, + 37, + 82, + 11, + 40, + 113, + -93, + 19, + 17, + -3, + -113, + -88, + 8, + -106, + -77, + 40, + 89, + 36, + -113, + -66, + -84, + -42, + 10, + 55, + -19, + -85, + -93, + 34, + 18, + 42, + -105, + 89, + 28, + -92, + 110, + 22, + -104, + -47, + -17, + -38, + 0, + 37, + -84, + 15, + 113, + -91, + 74, + 54, + 117, + -48, + -6, + -107, + -39, + 68, + 113, + 72, + 21, + 119, + -120, + -75, + -83, + -107, + 26, + -110, + 9, + -19, + 74, + -110, + 72, + 61, + -79, + -85, + -74, + 36, + 27, + -20, + -27, + 3, + -126, + -123, + -118, + -23, + 9, + -121, + -110, + 19, + 86, + 62, + 34, + 52, + 12, + -45, + -18, + 106, + -114, + 107, + -27, + -24, + -81, + -41, + 8, + 36, + 33, + -74, + -82, + 97, + 79, + 77, + 16, + -15, + -8, + -110, + -46, + -113, + 17, + -4, + 69, + -63, + -7, + 16, + -78, + -54, + 87, + 101, + -99, + -110, + -86, + -54, + -14, + -1, + 0, + -25, + -13, + 43, + -17, + -114, + 67, + -89, + 34, + 122, + 11, + -74, + -100, + -22, + 69, + -115, + 86, + -85, + 123, + -61, + 113, + 35, + 0, + -57, + -56, + 0, + -49, + -32, + -53, + -81, + 88, + 96, + -70, + -66, + -52, + 101, + -128, + 80, + 5, + -99, + 24, + 4, + -18, + -25, + 14, + -92, + -60, + 93, + 103, + 76, + -50, + -70, + -81, + 6, + 120, + -88, + -126, + -18, + 89, + -128, + 7, + 3, + -2, + -14, + 52, + -94, + 100, + -95, + -31, + 126, + -73, + -57, + -95, + -20, + -70, + 45, + -96, + 36, + -113, + -116, + 52, + 85, + -66, + 19, + 15, + -11, + -48, + -33, + 0, + -73, + -115, + -97, + -124, + 70, + 75, + 117, + 92, + 113, + -109, + -57, + -76, + -127, + -117, + 77, + 109, + 21, + -38, + -62, + 83, + 44, + 14, + -31, + -122, + 69, + 85, + 104, + 75, + 36, + -37, + -83, + 110, + 5, + 84, + -46, + 12, + 100, + 55, + -49, + -51, + 38, + 58, + 92, + 79, + 66, + 48, + 69, + 17, + -80, + 76, + -94, + -121, + -33, + -74, + -43, + -90, + 43, + -14, + -102, + -26, + 24, + -10, + -120, + -88, + 111, + 107, + -116, + -27, + 102, + -53, + 9, + -4, + 84, + -52, + -65, + -27, + 113, + -115, + -128, + -7, + -26, + -95, + 15, + 127, + -4, + -66, + -88, + -84, + -56, + -81, + 17, + 73, + 23, + 126, + 22, + 41, + -35, + -92, + 80, + 85, + 12, + 100, + 104, + -60, + -74, + -54, + 118, + 82, + 30, + -102, + -41, + -77, + 91, + -20, + 79, + 93, + 124, + 14, + -127, + -11, + 87, + -51, + 101, + -53, + 123, + -101, + 69, + 2, + -6, + 32, + -88, + 0, + 2, + 107, + -35, + -91, + 126, + 123, + 52, + 108, + -97, + -60, + -80, + -11, + 76, + -127, + 41, + 52, + 125, + -76, + -36, + -5, + 64, + -89, + 84, + -64, + -38, + -59, + 66, + 21, + 51, + -11, + 93, + -94, + 18, + -20, + 11, + -21, + 119, + -102, + -95, + -94, + 32, + -24, + -61, + 12, + -71, + -39, + -90, + -72, + -6, + 6, + -104, + -27, + 7, + 14, + 99, + -127, + 53, + -95, + 99, + -114, + 42, + -87, + -99, + -25, + 109, + 2, + 47, + 46, + -22, + -60, + 107, + 1, + -76, + -72, + -26, + 65, + -42, + 35, + 22, + 64, + -89, + 98, + 107, + 24, + -110, + -72, + 117, + -109, + 63, + 58, + -116, + -123, + 104, + -94, + -78, + 98, + -12, + 125, + 83, + 27, + -63, + 99, + -10, + 42, + 113, + 31, + 102, + 101, + 39, + 37, + 8, + -90, + -112, + 0, + -2, + 110, + -51, + -59, + 66, + 115, + -38, + -8, + 98, + 41, + 27, + 10, + 46, + -103, + 13, + -76, + -99, + 106, + -71, + -74, + -37, + 9, + -73, + 43, + 32, + -117, + 92, + -57, + -22, + 19, + 90, + 53, + 126, + -34, + -110, + -53, + 118, + -53, + 70, + 123, + -14, + 80, + -48, + 95, + 61, + 115, + -95, + 33, + -20, + 103, + 77, + 86, + 8, + -53, + 68, + -88, + 53, + 89, + -42, + -23, + -124, + 83, + -77, + -16, + -35, + -29, + -32, + 6, + 43, + -24, + -118, + 51, + 92, + 106, + -61, + 42, + -38, + -124, + 95, + -26, + 103, + -77, + 107, + -19, + 46, + -59, + -10, + 88, + -88, + -103, + 37, + -2, + -67, + -44, + 83, + 71, + 115, + -117, + -109, + 7, + -28, + -123, + 43, + 29, + -15, + 123, + -102, + -76, + 108, + -39, + 31, + 96, + 101, + 58, + -16, + -42, + -77, + 102, + 46, + 73, + -3, + -77, + -43, + -49, + -65, + 72, + -43, + -100, + 11, + 55, + 69, + -113, + 125, + 5, + -94, + -94, + -49, + 84, + 1, + -20, + -113, + -111, + -35, + -39, + -81, + 82, + -60, + -51, + 42, + -87, + 98, + 41, + 1, + 85, + -65, + 105, + 98, + -27, + 118, + 63, + -66, + -60, + -88, + -96, + 111, + -13, + -22, + 80, + -92, + -96, + 36, + -30, + 100, + -58, + -118, + -73, + -41, + 24, + -81, + -64, + 106, + 53, + -120, + -57, + 111, + -28, + 55, + 76, + 5, + -65, + 80, + -13, + 39, + -63, + -80, + -126, + -124, + -108, + -65, + 45, + 90, + -68, + 74, + -72, + -62, + -4, + -47, + 13, + -39, + 117, + -96, + -75, + -60, + -64, + -51, + 116, + -119, + 97, + -95, + 65, + 20, + 110, + 4, + -59, + 120, + 23, + 124, + -55, + -78, + 29, + -32, + 33, + 23, + -75, + -97, + -124, + -77, + 89, + 76, + -107, + -4, + -89, + -48, + -59, + 92, + 1, + 20, + -108, + -107, + -91, + 118, + 5, + 53, + 75, + -91, + 12, + -88, + 113, + 43, + 69, + -124, + -48, + -91, + -36, + -2, + -44, + 52, + 44, + 24, + -62, + -116, + -51, + -117, + -78, + 93, + -7, + 58, + -29, + 91, + 44, + 11, + -103, + 35, + -24, + 49, + 28, + 104, + 115, + -2, + 109, + 121, + -105, + -79, + -9, + -1, + 0, + 42, + -83, + -9, + -71, + 98, + -75, + 60, + -41, + -81, + -45, + -110, + -103, + 7, + 5, + 114, + -45, + -34, + 25, + 75, + -69, + 18, + -113, + 20, + 62, + -59, + 90, + -106, + -86, + -100, + -8, + 26, + 26, + 86, + 109, + -36, + 3, + 82, + -51, + -40, + -81, + -9, + 88, + 76, + 17, + -108, + -68, + 1, + -101, + 102, + 90, + 23, + -92, + -105, + 81, + -74, + -66, + 79, + -41, + -51, + 11, + 42, + 62, + -110, + -46, + 6, + -125, + -103, + -113, + -25, + 7, + -13, + -36, + -43, + 40, + -26, + -96, + -33, + 9, + 33, + 35, + 8, + -118, + 42, + -40, + -67, + 66, + 124, + -26, + -127, + -117, + -53, + 10, + -26, + 98, + 108, + -79, + 112, + 76, + -110, + 42, + 84, + -74, + -22, + 29, + 92, + 116, + -125, + 57, + 57, + -93, + -109, + 23, + 34, + 23, + 12, + 16, + 41, + 13, + 70, + -102, + -105, + 83, + 98, + -115, + -43, + 30, + -120, + -17, + -3, + 124, + -6, + 49, + -60, + 98, + -79, + -97, + 30, + 96, + 85, + -20, + 40, + -94, + 72, + 4, + 48, + -94, + 44, + -118, + 29, + -4, + -40, + 35, + -95, + -41, + 103, + -43, + -123, + 108, + 77, + 87, + -4, + -3, + -27, + -113, + 40, + 121, + 53, + -56, + -110, + -10, + 58, + 126, + -29, + 15, + 66, + -10, + 34, + -34, + 114, + 14, + 88, + -96, + 39, + -52, + 83, + 126, + -49, + 50, + 54, + -27, + -25, + 125, + 11, + 101, + 28, + 61, + -41, + -18, + -119, + -93, + -24, + 86, + 79, + 108, + -87, + -23, + 124, + -26, + -105, + 105, + -89, + 30, + -52, + 107, + -65, + -64, + -109, + 77, + -33, + 17, + 107, + -50, + -75, + 93, + 9, + -12, + 83, + -65, + -26, + -80, + 104, + -80, + 62, + -30, + 38, + 82, + 115, + -34, + 53, + 20, + 42, + 2, + 6, + 88, + 6, + 92, + -45, + -108, + 75, + -110, + 4, + 94, + 36, + -66, + 49, + -32, + -111, + -58, + 77, + 7, + -106, + -10, + -107, + -36, + -39, + 71, + 102, + 30, + -101, + -3, + -74, + 89, + -56, + -69, + -81, + -66, + 85, + 25, + 114, + -22, + 86, + 120, + 1, + -34, + 60, + -71, + -128, + 1, + -26, + 43, + -98, + -120, + 10, + -85, + -27, + -4, + -46, + 28, + 112, + 19, + -70, + 98, + 22, + -53, + -72, + 30, + 3, + -88, + -68, + 58, + -62, + -83, + -11, + 25, + -108, + 70, + 54, + 121, + -35, + 73, + 85, + -87, + -66, + 123, + -100, + -70, + 37, + -84, + -114, + 67, + 97, + -35, + 125, + 80, + -74, + 56, + 105, + 56, + -110, + 26, + 10, + -79, + 59, + -71, + 33, + -82, + -108, + -45, + 68, + 107, + 37, + -91, + 55, + 81, + 80, + 25, + -97, + -14, + 122, + -15, + -33, + 38, + 11, + 58, + 31, + 73, + 87, + -99, + -13, + 53, + -58, + -105, + -40, + -105, + 5, + 5, + 81, + -51, + -84, + 44, + -70, + -127, + -45, + -39, + -61, + 88, + -95, + -15, + 112, + -98, + 122, + -121, + 91, + 48, + 31, + -97, + 35, + -75, + -27, + -116, + -56, + 109, + -57, + -88, + 59, + -79, + -117, + -37, + 126, + 56, + 46, + 54, + -27, + -95, + 70, + 70, + -89, + 36, + 56, + -7, + -16, + 70, + 39, + -98, + 72, + 26, + 65, + -28, + -58, + 8, + 9, + 98, + -46, + 100, + -58, + 59, + 8, + -116, + 65, + -90, + -95, + -4, + -62, + 69, + -118, + -41, + -94, + 110, + -14, + 115, + 100, + 98, + -26, + 24, + -95, + 88, + -27, + 88, + 77, + -51, + 33, + 117, + 17, + 72, + 22, + 38, + 0, + -107, + 118, + 90, + 38, + -84, + 2, + -122, + -69, + -9, + 49, + 29, + -64, + 108, + -45, + -46, + 49, + -16, + 66, + 6, + -79, + -108, + -50, + 23, + 20, + -20, + 58, + -107, + 108, + 82, + -84, + 55, + 69, + 4, + 83, + -110, + 75, + -62, + 5, + -56, + 96, + 29, + -105, + 59, + -30, + -8, + 78, + -52, + -103, + 127, + -85, + -75, + 81, + -6, + -109, + 109, + -108, + 52, + -42, + -120, + 0, + -76, + -49, + -16, + 67, + -75, + 21, + 85, + -56, + -113, + -80, + 0, + 29, + -69, + 106, + -70, + 41, + -43, + -102, + -102, + 54, + 99, + 125, + -102, + -102, + 106, + 77, + 67, + 100, + 127, + -103, + -59, + 10, + -22, + 7, + 64, + -48, + 103, + -7, + 101, + -34, + -52, + -112, + -101, + 62, + -114, + 46, + -119, + -52, + -20, + -51, + -86, + 79, + 37, + 11, + -112, + -127, + -9, + -19, + -106, + 75, + 84, + -43, + -96, + -92, + -80, + 13, + -124, + 35, + 69, + 4, + -7, + 116, + -99, + 8, + 83, + 62, + -56, + 65, + 96, + -93, + -57, + -13, + 85, + -19, + 56, + -43, + 40, + -56, + 96, + -126, + 126, + 101, + 100, + 22, + 124, + -68, + 54, + -35, + 107, + 5, + -107, + 53, + 126, + -49, + -74, + 26, + 68, + -46, + -64, + -82, + -73, + -124, + -95, + -48, + 82, + 51, + -109, + -99, + 52, + -51, + 46, + 24, + 15, + -103, + -48, + 18, + 70, + -111, + 10, + 51, + -59, + -26, + 116, + 26, + 84, + 31, + -13, + -7, + 24, + 0, + 104, + 46, + 85, + 114, + -22, + 44, + 23, + -36, + 6, + -113, + -41, + 37, + 88, + 104, + 85, + -25, + 44, + 116, + 58, + -56, + 66, + 97, + -125, + 111, + -108, + -92, + -118, + -35, + -54, + -29, + 108, + 57, + -26, + -93, + 26, + 125, + 36, + 107, + 48, + 31, + 102, + 65, + 52, + -59, + 14, + 91, + 16, + -85, + -17, + -19, + 77, + 55, + -45, + -23, + -127, + -86, + 9, + 37, + -42, + 92, + 105, + 101, + 10, + -79, + 70, + -24, + -84, + -110, + -94, + -17, + 33, + 114, + 3, + 29, + -99, + 75, + 126, + -83, + 87, + -38, + 53, + 58, + -97, + 65, + -29, + -26, + -90, + 114, + -46, + -110, + 68, + 82, + 68, + -92, + -123, + 117, + 4, + -8, + -120, + -88, + -64, + 38, + -53, + 0, + -51, + -34, + -89, + 110, + -63, + 52, + 64, + -11, + 9, + 4, + -116, + 45, + -71, + -83, + -89, + 57, + 116, + -47, + -77, + 92, + 32, + -70, + 87, + 70, + 43, + -128, + -43, + -67, + 104, + 32, + -91, + 92, + -83, + -107, + 108, + 22, + -67, + -79, + -81, + 91, + 94, + 95, + 1, + -102, + 44, + -116, + 12, + 15, + 64, + -104, + -9, + -53, + 106, + -80, + 71, + 53, + -37, + -75, + -92, + 13, + -120, + 50, + -113, + 87, + -68, + 117, + 84, + 40, + -62, + -97, + 51, + -11, + -82, + -15, + -26, + -55, + -110, + -30, + -69, + -79, + -11, + 15, + 105, + 57, + 48, + 42, + -25, + -91, + 113, + -79, + -50, + -126, + -76, + -36, + -69, + -26, + -84, + 2, + -49, + 90, + 86, + -127, + 30, + 101, + -84, + -40, + -59, + 8, + 15, + 74, + -61, + 54, + 105, + -21, + -53, + -102, + 85, + -44, + 91, + -66, + 53, + 45, + 25, + -53, + -22, + 74, + -111, + -94, + 93, + 107, + -122, + -77, + -48, + -104, + 89, + 127, + -83, + 28, + -49, + -45, + 94, + 31, + 30, + -72, + -8, + -15, + 69, + 26, + 5, + 84, + 21, + -14, + 92, + -106, + -39, + 118, + 98, + -33, + -110, + -51, + 108, + 126, + 0, + -70, + 0, + 15, + 64, + 114, + -14, + -53, + -28, + 59, + 108, + -50, + 14, + -92, + 19, + 75, + 75, + 75, + 75, + 86, + 43, + 80, + 53, + -82, + -2, + 42, + -49, + -22, + -11, + 93, + -98, + 81, + 104, + -75, + 55, + -95, + -46, + -97, + -93, + 54, + -38, + -48, + -43, + 21, + -90, + -41, + -62, + -125, + -44, + -37, + 12, + 30, + -45, + 52, + 57, + -36, + -60, + -112, + -108, + -102, + -128, + 29, + 1, + 9, + -118, + 123, + 115, + 55, + 93, + 77, + 43, + 60, + -91, + 28, + 110, + 17, + -53, + -51, + -87, + 51, + -14, + 98, + 102, + 8, + -2, + -99, + 74, + 30, + 38, + 5, + 0, + -37, + -52, + -85, + 90, + 25, + 38, + 20, + -71, + 46, + 42, + 91, + 14, + 84, + -27, + -107, + -39, + -21, + -39, + -75, + 90, + -24, + 72, + 41, + 125, + -79, + -56, + -54, + -75, + 59, + -108, + 93, + 9, + -128, + 18, + 25, + 47, + 117, + -66, + 87, + -67, + 94, + -115, + 34, + 11, + -90, + 106, + -43, + 42, + -67, + 32, + -37, + 99, + 105, + 125, + -21, + 63, + 89, + -6, + -99, + 5, + -56, + -57, + -10, + 72, + -6, + -4, + 119, + -79, + -1, + 0, + -20, + 80, + -81, + 95, + 100, + 55, + 28, + 95, + -25, + 107, + -24, + 15, + -115, + 127, + 111, + -10, + 125, + 56, + -24, + -35, + 43, + -54, + -66, + 14, + 100, + -101, + 11, + 40, + 35, + -74, + 65, + -74, + 36, + 89, + -106, + 120, + -95, + 121, + -1, + 0, + 38, + -97, + -117, + -22, + -16, + 119, + 63, + 47, + -90, + 47, + 47, + 25, + 90, + -76, + -103, + -7, + 32, + 86, + 42, + -111, + 41, + 55, + 36, + -120, + -99, + 94, + -122, + 102, + 42, + 115, + -44, + -85, + 68, + -55, + -110, + 45, + -96, + -124, + 64, + -106, + -96, + 107, + -27, + -126, + 114, + -74, + 35, + -90, + -72, + 67, + 23, + 68, + 93, + 22, + -98, + 88, + -72, + -82, + -84, + 60, + -79, + 15, + -108, + 8, + -12, + -30, + -85, + -98, + 76, + -19, + 82, + -51, + -75, + 35, + 87, + 96, + 74, + -71, + 102, + -123, + 30, + 84, + -113, + -76, + 86, + -91, + 88, + 93, + 27, + -106, + -46, + 15, + -25, + -21, + 63, + 85, + -100, + -8, + -90, + -59, + -123, + 64, + -46, + 89, + 100, + 70, + 13, + -35, + 10, + -111, + -19, + 127, + 23, + 98, + -67, + -63, + -67, + -67, + 87, + -57, + -85, + 17, + -115, + -95, + 119, + 61, + 50, + -128, + 65, + 29, + 30, + -68, + 96, + 127, + -5, + -43, + 81, + 22, + 43, + -48, + 77, + -100, + -101, + 91, + 123, + 58, + -15, + -85, + -44, + 32, + -80, + 113, + -95, + 1, + 104, + -72, + 102, + -90, + 10, + 54, + 13, + 56, + 92, + 33, + 117, + -67, + 78, + -91, + -105, + -8, + 9, + 71, + -98, + -57, + -14, + -53, + 73, + 90, + -12, + 44, + -4, + -68, + 5, + 61, + -126, + 41, + 110, + -40, + 33, + 2, + -14, + -117, + 103, + 39, + -83, + 113, + -51, + -7, + -113, + -105, + -30, + -27, + -123, + -36, + 102, + 93, + -105, + -108, + -75, + 45, + -103, + 9, + -91, + -70, + -9, + 91, + -109, + -12, + -118, + -113, + -92, + 82, + -109, + -16, + 59, + 70, + -82, + 79, + 84, + 100, + -41, + 6, + -14, + 116, + 42, + -83, + -73, + 107, + 96, + 47, + -60, + 80, + 125, + 65, + -105, + -72, + 58, + 32, + 28, + 45, + 86, + 47, + 103, + 44, + -73, + 51, + -11, + -97, + -87, + 102, + 111, + 30, + 51, + 20, + 10, + 53, + -123, + -104, + 10, + -10, + -126, + -119, + 107, + -48, + -82, + -70, + 3, + -3, + 14, + -85, + -41, + 34, + 27, + -28, + 41, + 102, + 98, + -51, + 48, + 12, + -60, + -99, + -114, + -57, + -66, + -1, + 0, + 115, + 95, + 63, + 39, + -69, + -65, + 82, + 101, + -14, + 77, + 12, + 14, + 121, + -51, + 50, + 114, + -115, + -82, + -6, + 73, + -80, + 17, + 106, + 21, + 24, + 62, + 86, + -47, + 3, + -41, + 118, + -4, + -124, + -29, + -78, + -64, + -79, + 21, + 50, + -28, + 117, + 116, + -104, + -105, + -112, + -64, + 4, + -114, + 62, + 114, + -21, + -3, + 42, + -15, + 51, + -93, + 4, + -103, + -90, + -111, + -57, + 58, + -1, + 0, + 78, + 92, + 53, + 104, + 32, + 6, + 41, + -83, + -36, + 18, + 57, + -111, + 10, + -117, + 22, + -82, + 35, + 43, + 75, + 106, + -4, + 7, + 116, + 77, + -45, + 97, + -49, + -88, + 124, + 12, + 88, + -127, + 39, + 34, + -9, + -127, + 60, + -86, + 3, + -45, + -97, + 8, + 100, + -103, + -29, + -50, + -117, + 125, + -10, + -71, + -10, + -122, + 105, + -54, + 62, + 104, + -68, + -128, + 83, + -49, + 93, + 115, + -117, + -51, + 121, + -6, + -49, + -46, + -65, + 42, + 60, + -72, + 28, + 126, + 75, + 22, + 14, + -45, + -62, + -52, + -118, + -59, + 98, + 98, + -79, + 52, + -23, + -70, + 93, + 56, + 73, + 81, + 29, + 3, + -106, + -43, + -108, + 17, + -18, + -78, + 110, + -105, + 35, + 37, + -95, + -91, + 42, + 28, + 45, + -111, + 103, + 82, + -31, + 8, + -17, + -37, + -38, + -98, + -3, + -65, + -6, + -21, + -48, + 98, + -24, + -7, + 52, + 3, + -12, + 40, + 84, + -123, + -6, + -2, + 122, + -62, + -17, + 72, + -54, + -42, + -97, + 123, + 51, + -68, + 13, + -51, + 73, + -60, + -94, + 18, + -13, + 95, + 13, + 108, + -70, + 9, + 118, + 11, + 113, + -33, + -118, + 10, + -103, + -69, + 84, + 37, + 40, + -79, + -68, + 93, + -103, + 41, + 67, + -5, + 30, + -10, + -83, + -97, + -88, + -53, + -11, + -104, + 55, + -47, + 21, + -105, + -22, + -50, + 53, + -76, + 21, + -63, + 106, + -43, + -121, + 114, + 54, + -46, + 0, + 74, + 55, + 86, + -82, + -115, + 127, + -51, + 126, + 22, + 94, + -7, + 112, + 3, + -79, + 42, + -80, + -102, + 28, + 90, + -60, + 41, + -6, + 33, + -58, + -56, + 95, + 123, + -5, + -15, + -98, + 120, + 76, + 17, + -82, + 110, + -51, + 83, + -10, + 100, + 41, + 98, + -92, + 25, + -6, + -49, + -47, + -114, + 58, + 105, + 14, + 70, + 100, + 37, + -119, + 72, + -52, + 76, + -127, + -117, + 49, + 82, + -48, + 35, + 53, + 91, + 29, + 84, + -109, + 122, + -88, + 10, + 63, + -76, + 11, + 55, + 66, + 96, + -69, + 41, + 10, + 5, + -121, + 6, + -123, + 88, + 12, + -75, + 117, + -39, + -7, + 61, + -35, + -1, + 0, + -98, + -121, + -81, + 98, + 109, + -11, + -76, + -58, + -96, + 4, + -28, + -88, + -61, + 25, + 94, + -70, + 101, + -2, + -58, + 92, + 78, + -122, + 93, + 89, + -83, + 69, + 0, + -16, + 37, + -100, + 124, + -88, + -104, + -39, + -30, + 81, + 124, + 79, + -89, + -97, + 87, + -90, + 71, + 67, + 2, + -86, + 96, + 85, + 103, + -6, + -114, + -3, + -54, + 28, + 102, + -114, + -109, + 107, + 56, + -65, + 125, + 26, + -22, + -106, + -7, + -4, + -113, + -32, + -46, + -75, + 108, + 125, + 122, + -4, + -56, + 25, + 122, + -83, + 78, + -19, + 19, + -21, + -14, + -100, + 15, + 24, + 22, + 48, + -99, + -55, + 96, + 92, + 100, + -17, + 80, + -7, + 25, + 126, + 103, + -116, + -128, + -21, + 3, + -65, + 31, + 70, + 95, + -107, + 109, + -36, + 25, + 5, + -104, + -82, + -61, + -1, + 0, + -84, + -3, + 103, + -24, + -110, + -79, + -14, + 1, + -8, + 54, + 15, + -7, + 1, + 108, + 127, + -51, + -109, + -33, + -87, + 20, + 84, + 83, + 30, + -19, + 74, + 21, + -20, + -5, + 118, + 42, + 8, + 3, + -30, + -65, + 32, + 31, + -126, + 44, + 126, + 108, + -47, + -120, + 63, + -25, + 2, + -78, + 78, + -45, + -50, + 11, + 80, + -112, + -99, + -99, + 24, + -71, + 55, + 79, + -20, + -114, + 45, + 75, + 124, + -72, + -90, + -42, + -85, + -99, + 21, + 90, + 88, + 51, + 112, + 121, + 42, + -14, + 125, + -82, + 60, + -40, + 86, + 27, + -109, + -37, + 76, + -31, + 120, + -20, + 84, + 13, + 21, + -94, + 116, + -36, + -43, + 111, + 85, + -91, + 19, + 31, + -97, + -72, + -25, + 108, + 119, + 62, + 103, + 89, + 70, + 25, + -123, + -109, + -48, + 90, + 66, + 30, + 7, + 17, + 112, + 70, + 52, + 93, + -75, + -44, + -96, + 35, + -42, + -19, + 64, + 93, + 100, + 50, + -58, + -124, + 123, + 75, + 79, + 23, + 114, + -112, + -98, + 107, + 66, + 25, + -99, + 97, + 36, + 70, + -114, + -87, + 7, + 31, + 91, + 17, + -101, + 86, + 79, + 84, + -68, + -57, + -13, + 63, + 89, + -6, + 25, + -56, + -29, + -58, + -34, + 86, + 96, + 72, + -83, + -75, + 39, + -40, + 72, + 81, + -14, + -75, + 68, + 31, + -122, + 31, + 12, + 58, + 62, + -115, + -15, + 89, + 18, + 44, + 80, + -123, + 33, + 79, + -75, + 118, + 2, + -102, + -117, + 126, + -1, + 0, + -126, + 63, + -76, + -118, + -81, + 77, + -34, + 116, + 55, + 105, + -49, + -74, + 31, + 60, + 122, + 115, + 75, + -106, + 80, + -105, + 25, + 54, + -116, + 101, + 120, + 45, + -5, + -84, + 6, + 115, + -30, + -76, + -127, + 30, + -13, + -81, + -44, + -80, + 66, + 105, + 78, + -112, + 113, + 101, + -57, + 57, + 73, + -46, + 60, + -26, + -75, + -98, + 61, + -75, + 106, + 43, + 25, + 46, + -113, + 75, + 99, + 64, + -117, + 60, + -110, + -34, + -102, + 84, + -104, + -122, + 20, + -21, + 45, + -22, + 31, + -81, + -3, + 111, + -116, + -19, + -6, + 88, + 76, + -38, + -39, + 123, + -85, + -82, + 47, + 111, + -108, + -64, + 41, + -47, + -52, + 67, + 51, + 45, + -81, + 64, + -47, + -87, + 86, + 117, + 94, + -23, + 116, + 105, + 113, + 24, + -53, + 93, + -128, + -110, + -59, + 126, + 74, + -44, + -24, + -73, + 73, + 102, + -68, + 66, + 75, + -45, + 114, + -115, + 114, + -79, + -31, + 84, + 101, + 87, + -49, + -42, + 126, + -94, + -30, + 113, + -31, + -100, + -78, + 75, + 26, + 50, + -90, + -21, + 24, + -44, + 15, + 24, + 73, + -15, + -126, + -23, + 84, + 84, + -118, + 21, + -5, + 80, + 2, + -128, + -81, + 84, + 57, + -23, + -92, + -116, + -57, + 34, + 49, + -35, + -62, + 23, + 38, + -40, + -67, + -59, + -111, + 97, + -10, + 39, + 96, + 72, + -66, + -5, + 37, + -104, + -109, + -33, + -95, + 89, + 66, + -2, + -108, + 112, + 100, + -19, + 117, + 73, + 103, + 115, + -83, + 63, + 53, + -104, + 11, + -23, + 13, + -19, + -56, + 25, + 50, + 109, + 20, + 18, + -95, + 74, + 39, + 15, + 43, + 58, + -37, + 6, + 121, + -92, + 104, + 31, + 109, + 47, + 7, + -101, + -27, + 11, + 37, + -103, + -84, + -3, + 30, + 73, + -10, + -127, + 1, + -99, + -78, + -4, + -70, + 60, + 96, + 121, + -60, + 75, + -102, + 49, + 82, + -25, + -118, + -6, + 11, + 77, + 74, + -49, + -110, + -19, + -44, + 36, + -28, + -48, + 116, + 119, + 77, + 13, + 113, + -62, + 43, + -24, + 17, + -42, + -61, + -79, + 65, + 98, + 118, + -72, + 74, + -125, + -74, + 101, + -80, + 74, + 77, + -128, + -122, + 20, + -62, + 24, + 114, + -118, + -92, + 70, + -22, + 82, + 8, + 26, + -97, + 69, + -18, + -118, + -89, + 46, + 126, + -77, + -12, + 90, + 125, + 80, + 100, + 0, + -120, + -63, + 50, + 49, + -93, + 1, + -123, + -115, + 36, + 42, + 93, + 72, + 4, + 2, + 24, + -98, + -17, + -65, + -13, + -39, + -75, + -8, + -98, + 83, + -32, + -87, + 93, + 119, + -58, + -52, + 118, + 42, + 64, + 37, + -29, + 81, + -93, + 93, + 18, + 25, + 127, + 4, + 30, + -65, + -32, + 85, + 82, + 55, + 103, + -122, + 50, + -109, + 46, + -93, + 73, + -1, + 0, + 90, + -48, + -41, + 17, + -76, + -83, + 0, + 91, + 78, + 106, + 34, + -116, + -74, + -123, + -28, + -102, + -77, + -106, + -126, + -12, + -121, + 121, + 127, + -101, + -54, + -90, + -59, + -3, + 49, + -10, + 101, + -97, + 46, + -113, + 63, + 70, + -16, + 75, + 119, + 19, + 43, + -115, + 102, + -122, + 1, + -111, + 69, + 98, + 94, + -20, + 92, + -49, + -42, + 126, + -77, + -12, + 78, + 51, + 107, + -5, + 83, + 16, + 0, + 36, + 0, + 45, + 13, + 14, + -2, + 5, + -11, + -1, + 0, + 31, + -73, + -88, + 74, + -40, + 82, + 73, + 36, + -94, + -110, + 72, + 82, + 73, + -95, + 100, + -110, + -65, + 38, + -69, + -1, + 0, + 103, + -41, + -1, + -39 + ], + "year": 2010, + "id": 2 + }, + { + "id": 3, + "name": "мультик", + "description": "мультик", + "image": [ + -1, + -40, + -1, + -32, + 0, + 16, + 74, + 70, + 73, + 70, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + -1, + -30, + 2, + 40, + 73, + 67, + 67, + 95, + 80, + 82, + 79, + 70, + 73, + 76, + 69, + 0, + 1, + 1, + 0, + 0, + 2, + 24, + 0, + 0, + 0, + 0, + 4, + 48, + 0, + 0, + 109, + 110, + 116, + 114, + 82, + 71, + 66, + 32, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 97, + 99, + 115, + 112, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + -10, + -42, + 0, + 1, + 0, + 0, + 0, + 0, + -45, + 45, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 9, + 100, + 101, + 115, + 99, + 0, + 0, + 0, + -16, + 0, + 0, + 0, + 116, + 114, + 88, + 89, + 90, + 0, + 0, + 1, + 100, + 0, + 0, + 0, + 20, + 103, + 88, + 89, + 90, + 0, + 0, + 1, + 120, + 0, + 0, + 0, + 20, + 98, + 88, + 89, + 90, + 0, + 0, + 1, + -116, + 0, + 0, + 0, + 20, + 114, + 84, + 82, + 67, + 0, + 0, + 1, + -96, + 0, + 0, + 0, + 40, + 103, + 84, + 82, + 67, + 0, + 0, + 1, + -96, + 0, + 0, + 0, + 40, + 98, + 84, + 82, + 67, + 0, + 0, + 1, + -96, + 0, + 0, + 0, + 40, + 119, + 116, + 112, + 116, + 0, + 0, + 1, + -56, + 0, + 0, + 0, + 20, + 99, + 112, + 114, + 116, + 0, + 0, + 1, + -36, + 0, + 0, + 0, + 60, + 109, + 108, + 117, + 99, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 12, + 101, + 110, + 85, + 83, + 0, + 0, + 0, + 88, + 0, + 0, + 0, + 28, + 0, + 115, + 0, + 82, + 0, + 71, + 0, + 66, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 111, + -94, + 0, + 0, + 56, + -11, + 0, + 0, + 3, + -112, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 98, + -103, + 0, + 0, + -73, + -123, + 0, + 0, + 24, + -38, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + 36, + -96, + 0, + 0, + 15, + -124, + 0, + 0, + -74, + -49, + 112, + 97, + 114, + 97, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 2, + 102, + 102, + 0, + 0, + -14, + -89, + 0, + 0, + 13, + 89, + 0, + 0, + 19, + -48, + 0, + 0, + 10, + 91, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 88, + 89, + 90, + 32, + 0, + 0, + 0, + 0, + 0, + 0, + -10, + -42, + 0, + 1, + 0, + 0, + 0, + 0, + -45, + 45, + 109, + 108, + 117, + 99, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 12, + 101, + 110, + 85, + 83, + 0, + 0, + 0, + 32, + 0, + 0, + 0, + 28, + 0, + 71, + 0, + 111, + 0, + 111, + 0, + 103, + 0, + 108, + 0, + 101, + 0, + 32, + 0, + 73, + 0, + 110, + 0, + 99, + 0, + 46, + 0, + 32, + 0, + 50, + 0, + 48, + 0, + 49, + 0, + 54, + -1, + -37, + 0, + 67, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -37, + 0, + 67, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + -1, + -64, + 0, + 17, + 8, + 0, + -56, + 0, + -106, + 3, + 1, + 34, + 0, + 2, + 17, + 1, + 3, + 17, + 1, + -1, + -60, + 0, + 31, + 0, + 0, + 0, + 6, + 3, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 6, + 7, + 8, + 9, + 3, + 4, + 10, + 2, + 1, + 11, + -1, + -60, + 0, + 48, + 16, + 0, + 1, + 5, + 1, + 0, + 2, + 2, + 1, + 4, + 2, + 1, + 4, + 2, + 3, + 1, + 0, + 5, + 1, + 2, + 3, + 4, + 6, + 7, + 17, + 18, + 8, + 19, + 20, + 0, + 21, + 33, + 34, + 9, + 22, + 35, + 23, + 49, + 50, + 51, + 36, + 37, + 10, + 66, + 81, + 65, + -1, + -60, + 0, + 28, + 1, + 0, + 0, + 7, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 0, + 8, + -1, + -60, + 0, + 63, + 17, + 0, + 2, + 2, + 1, + 2, + 3, + 5, + 5, + 6, + 4, + 5, + 2, + 7, + 0, + 0, + 0, + 1, + 2, + 3, + 17, + 4, + 18, + 33, + 0, + 5, + 49, + 19, + 34, + 65, + 81, + 97, + 6, + 113, + -127, + -111, + -16, + 20, + 50, + 82, + -95, + -79, + -63, + 35, + 66, + -47, + -31, + 7, + 21, + 98, + -110, + -15, + 36, + -46, + 51, + 83, + -126, + -109, + -94, + -78, + -45, + -1, + -38, + 0, + 12, + 3, + 1, + 0, + 2, + 17, + 3, + 17, + 0, + 63, + 0, + -26, + -18, + -87, + -74, + -39, + 33, + 98, + -11, + -80, + -105, + -21, + -106, + 101, + 120, + 8, + -36, + -50, + 17, + 16, + 70, + 33, + -58, + 11, + -46, + -100, + -119, + -42, + -51, + 78, + -32, + -122, + -39, + 23, + 88, + 70, + 98, + 105, + -30, + -96, + 66, + -118, + -115, + 3, + 126, + -32, + -76, + -3, + -66, + -12, + -11, + -117, + -57, + -5, + -123, + -62, + 100, + -126, + -51, + -102, + -76, + 98, + 22, + -23, + 51, + 68, + 40, + -67, + 107, + -35, + 20, + -39, + -86, + 94, + -122, + -46, + -108, + -102, + 53, + -77, + 102, + -117, + 18, + -35, + -104, + -118, + 8, + -126, + -109, + 42, + 89, + 35, + 122, + -13, + 7, + 83, + -110, + 75, + -75, + -93, + -118, + 75, + 101, + 2, + -38, + -76, + 66, + 77, + 103, + -66, + 8, + 124, + -70, + -38, + 84, + -110, + -19, + 30, + 76, + 111, + 45, + 84, + -95, + -26, + -57, + 74, + -82, + -9, + 77, + -102, + -30, + -73, + -54, + -44, + -123, + -107, + 116, + 18, + 93, + 31, + 91, + -93, + 23, + -53, + -24, + 52, + -116, + -96, + 60, + -117, + -104, + -77, + -120, + 15, + -92, + 30, + -37, + 49, + -97, + 91, + 68, + 34, + -69, + 36, + -18, + -100, + -48, + -97, + -64, + -49, + -100, + 25, + -16, + 118, + -76, + 22, + -66, + 50, + -36, + -69, + 16, + -102, + -61, + 12, + 18, + -93, + -53, + 13, + 102, + 53, + -102, + -58, + 81, + 58, + -30, + 96, + 41, + -36, + -113, + 33, + -116, + 63, + -80, + -69, + -82, + -114, + -19, + -15, + 85, + -87, + -36, + -3, + -128, + 93, + -56, + -86, + 103, + 82, + -23, + -109, + 1, + 105, + 87, + -45, + 93, + 51, + 126, + -100, + -36, + -57, + -107, + -92, + -53, + -116, + -36, + -61, + 9, + 114, + 91, + 101, + -127, + -78, + -95, + 89, + -104, + -128, + 24, + -123, + -124, + -56, + 28, + -110, + -69, + -48, + 94, + -100, + 80, + -105, + -108, + 115, + 50, + -126, + 99, + -53, + -77, + -116, + 76, + 9, + 89, + 126, + -55, + -111, + -39, + 16, + 58, + -111, + 33, + -113, + 65, + 3, + 123, + -34, + -67, + 120, + -117, + -11, + -81, + -110, + 125, + 71, + -120, + 37, + 81, + -92, + -101, + 91, + 52, + 33, + -10, + 80, + 26, + 70, + 96, + 45, + 6, + 65, + -23, + 125, + -54, + 118, + -43, + 74, + -108, + -84, + -113, + -84, + -21, + 74, + 4, + -103, + -81, + -59, + 42, + 66, + -102, + 95, + 19, + 58, + 34, + 90, + -118, + -9, + -127, + 56, + 94, + 66, + -54, + -70, + -108, + -91, + 11, + 75, + 5, + -49, + 54, + 111, + -60, + -124, + -1, + 0, + 20, + -104, + -63, + -82, + -77, + 111, + 65, + 86, + -67, + 71, + -79, + 9, + -70, + -74, + 65, + -90, + -59, + 18, + 26, + -39, + -104, + -127, + -46, + 3, + 85, + -50, + -47, + 122, + 93, + -76, + 30, + -3, + -21, + -18, + 81, + 27, + -26, + 93, + -44, + 46, + -82, + -122, + 87, + 89, + -114, + 55, + -53, + -11, + -122, + 43, + -103, + 53, + 89, + -67, + 4, + 69, + 126, + 66, + 80, + -108, + 86, + -76, + 12, + -123, + -51, + 43, + 67, + 122, + -15, + -127, + 45, + -37, + 83, + -93, + -86, + 18, + -97, + -10, + -43, + -81, + 81, + 100, + 123, + 73, + 90, + -111, + 93, + 74, + 59, + -39, + -39, + 101, + -15, + -45, + -4, + 92, + -4, + -72, + -7, + 51, + 64, + -114, + -50, + -107, + -66, + 107, + -119, + -59, + -112, + 49, + 126, + -60, + 38, + 119, + -58, + -82, + 126, + 17, + -1, + 0, + -39, + -51, + 93, + 26, + 66, + -42, + 106, + -122, + 116, + 22, + -45, + 65, + 74, + -19, + 75, + 47, + -118, + -75, + 98, + 68, + -123, + 126, + -47, + 96, + 109, + 6, + -45, + -104, + -101, + 92, + -37, + 3, + -55, + -125, + -25, + -32, + 36, + -99, + -111, + -53, + -57, + 18, + 86, + -15, + 118, + -56, + 101, + -16, + -78, + 99, + 12, + 88, + 117, + 22, + 106, + -73, + 6, + -8, + 113, + 23, + 38, + -26, + -110, + -128, + 87, + -105, + -26, + 104, + 55, + 77, + -10, + 121, + 85, + 54, + -81, + -25, + 101, + 8, + 54, + 62, + 126, + -99, + 79, + 16, + 46, + -11, + -119, + -121, + -70, + -117, + 35, + 27, + 40, + 117, + -106, + -111, + 4, + 30, + 77, + -59, + 94, + -71, + -39, + -83, + 90, + -73, + 114, + -115, + 21, + 39, + 13, + 107, + -109, + 48, + -100, + -125, + -27, + -83, + 88, + 58, + -45, + -73, + 87, + -10, + 91, + 117, + -13, + 106, + -109, + -118, + 32, + 30, + -47, + 26, + 116, + -118, + -127, + -80, + -92, + 87, + -83, + -114, + -96, + 68, + -19, + -53, + 37, + -56, + 65, + -105, + 59, + 78, + -111, + 65, + -116, + 48, + 74, + 121, + -30, + 24, + -57, + -49, + 56, + 59, + 70, + 27, + 121, + -92, + 107, + -63, + 42, + 15, + -83, + 28, + -61, + -94, + 97, + 98, + -42, + -56, + 102, + -84, + 92, + 103, + -87, + -38, + -126, + -83, + -2, + -25, + -8, + -9, + -64, + 17, + 26, + 67, + 3, + 98, + -34, + -42, + -89, + 80, + -61, + -53, + 107, + 51, + -93, + -48, + -115, + -100, + 46, + -109, + -99, + -59, + -92, + 18, + 70, + 17, + 122, + 3, + -126, + -13, + 117, + 48, + 25, + 98, + -14, + 83, + 35, + 53, + 59, + 87, + -126, + -74, + 61, + 8, + 19, + -77, + -85, + 71, + -87, + -37, + -45, + -44, + 31, + 98, + -100, + 80, + -40, + -9, + -62, + 14, + -9, + -105, + -75, + 24, + 27, + 99, + -14, + 36, + 5, + -44, + -79, + 93, + 7, + -23, + 107, + 109, + -15, + 120, + -95, + 23, + -19, + 45, + 73, + -89, + -125, + 61, + 40, + -99, + 43, + 3, + -98, + -107, + 103, + -114, + -39, + 71, + 18, + 29, + -25, + 67, + 9, + -37, + -30, + 81, + -42, + 127, + 61, + -75, + -110, + -53, + -119, + 31, + 50, + -60, + -108, + -48, + -105, + 73, + 83, + 67, + 90, + -108, + 7, + -62, + -44, + -111, + 71, + -48, + 94, + -81, + 78, + 37, + -14, + -67, + -111, + -25, + -72, + 113, + -59, + 43, + -32, + 73, + 42, + 74, + 20, + -125, + -116, + 70, + 67, + 41, + 97, + 96, + 72, + -111, + 22, + -111, + 43, + 107, + 44, + -102, + 1, + 32, + 106, + -80, + 64, + -116, + -81, + 33, + 74, + 86, + -105, + -87, + 126, + -123, + -104, + 101, + -128, + 109, + 115, + 97, + 40, + -33, + 55, + 24, + -21, + -109, + -44, + 29, + -106, + -78, + 60, + -100, + -10, + 79, + 11, + -83, + -97, + 20, + -47, + 68, + 106, + 62, + 42, + -9, + -57, + -57, + 45, + 4, + -3, + -64, + 12, + 96, + -88, + -57, + 94, + 31, + 121, + -64, + 20, + -27, + 3, + 106, + -52, + -100, + -49, + -26, + -77, + -89, + 27, + 96, + -34, + -109, + 124, + -36, + -63, + -37, + -105, + 69, + -60, + 58, + -99, + 50, + -59, + 13, + -44, + 12, + 6, + 52, + 52, + 74, + -115, + 65, + 87, + 5, + -35, + 41, + 89, + -41, + -103, + 44, + -18, + -106, + -67, + 75, + 0, + 94, + -83, + 3, + 89, + -53, + -92, + -124, + -60, + -106, + -62, + -4, + 94, + -48, + 104, + 38, + -89, + 47, + 77, + -77, + 67, + 24, + 50, + 75, + -109, + 47, + -44, + 46, + -47, + 75, + -123, + 32, + 101, + 116, + -87, + 110, + 107, + 43, + 88, + 97, + 6, + 91, + 108, + -105, + -22, + -48, + -118, + -104, + -31, + -59, + -10, + 108, + -83, + 98, + -77, + 31, + 102, + 101, + 95, + -11, + 1, + 86, + 44, + -67, + -36, + 32, + 71, + 26, + -25, + -67, + 47, + 4, + 47, + 9, + 84, + -114, + -84, + -107, + -47, + -27, + 32, + 27, + -92, + 44, + 74, + 1, + 9, + 72, + -127, + 72, + 42, + -78, + -59, + 9, + -64, + 56, + 84, + -110, + 79, + -32, + 79, + -117, + -29, + -89, + 66, + 63, + 117, + 115, + 15, + 13, + 122, + -100, + -29, + -86, + 71, + 108, + 107, + -100, + 77, + -112, + 22, + 38, + 117, + 58, + -56, + 6, + -126, + -12, + -80, + 54, + -77, + 96, + 117, + -3, + -3, + 1, + 95, + -107, + -5, + 47, + -99, + -107, + 52, + 34, + 120, + 126, + -49, + 11, + -55, + 24, + -112, + -53, + -36, + -109, + 65, + 101, + -43, + -90, + 63, + -65, + 101, + 108, + 45, + -123, + -78, + 70, + -29, + -88, + -77, + 97, + 95, + 25, + 113, + -46, + -13, + 74, + 56, + 100, + -98, + -5, + 115, + 65, + -127, + 18, + -50, + -122, + -95, + 94, + -36, + 43, + -96, + 47, + 20, + 99, + 94, + 2, + -27, + -81, + -36, + -21, + 9, + 81, + -79, + -24, + 74, + 91, + -48, + 74, + -62, + -102, + 88, + 1, + -66, + 63, + -33, + -82, + -87, + 54, + -128, + -79, + -2, + -51, + 28, + 22, + -71, + -10, + 45, + 84, + -114, + 31, + 65, + 76, + 49, + -40, + 84, + 54, + -120, + 52, + -105, + -82, + 127, + -84, + 90, + 45, + 74, + -56, + -100, + 43, + -84, + 77, + 13, + -80, + -125, + -101, + 124, + -35, + -76, + 120, + -85, + -88, + -77, + -111, + -122, + -117, + 71, + -33, + -71, + -5, + 116, + 45, + -84, + -21, + 86, + 116, + -60, + 109, + -21, + -71, + -11, + -18, + -94, + 104, + 109, + 107, + -92, + 54, + -127, + 15, + 45, + -5, + 37, + -112, + -76, + -38, + 96, + -3, + -70, + -76, + 96, + 85, + -96, + 45, + -82, + -117, + -13, + 106, + 90, + -76, + 102, + 96, + 83, + -40, + 35, + 81, + -61, + 94, + -82, + -122, + -78, + -51, + 21, + -6, + -78, + -26, + 12, + 89, + -100, + 104, + -14, + 49, + -78, + 14, + 88, + 119, + -117, + 103, + 39, + -92, + 58, + -7, + -121, + -58, + 70, + -16, + -99, + 46, + -74, + 59, + -109, + -101, + -73, + 122, + 103, + -102, + -118, + 41, + 46, + 93, + 26, + 86, + -95, + -79, + 36, + -126, + -97, + 39, + 102, + -19, + 3, + 22, + 89, + 126, + -43, + -70, + -93, + -123, + 77, + 98, + -125, + 84, + -67, + 64, + 117, + -81, + 80, + 15, + 105, + -113, + 46, + 34, + -35, + 67, + 91, + 48, + 87, + 99, + 123, + -106, + -67, + -38, + -20, + -11, + 45, + -71, + 62, + -99, + 43, + -117, + 15, + -73, + 120, + -88, + -80, + 114, + -57, + -118, + 33, + 26, + 67, + -37, + 99, + -96, + 64, + -86, + -87, + 18, + -120, + 76, + 105, + -48, + 26, + 26, + 88, + -96, + -70, + 29, + -19, + -115, + -114, + 17, + 102, + 104, + -37, + 109, + 58, + -75, + -121, + -62, + -4, + -19, + -101, + 52, + -59, + 15, + 8, + 62, + -59, + 122, + 102, + 127, + 52, + -60, + -74, + -58, + -124, + 48, + -4, + -93, + -123, + 90, + -94, + -7, + 7, + -33, + -97, + -16, + -18, + -119, + 97, + -102, + -92, + 7, + -35, + -85, + 114, + -63, + 38, + -100, + 34, + 122, + 0, + 26, + -83, + 17, + -103, + 105, + -93, + -75, + 8, + -119, + -104, + 90, + 89, + 110, + -114, + -124, + -122, + 76, + -59, + -10, + -66, + -112, + -31, + -60, + -86, + 62, + -26, + -90, + -101, + -84, + -101, + -120, + 60, + 113, + -43, + -85, + 114, + -32, + -10, + -120, + -86, + 60, + -107, + 91, + -92, + 51, + -25, + -75, + 41, + 86, + -59, + -21, + -70, + -53, + 96, + -55, + -62, + 51, + -28, + -27, + -28, + 0, + -15, + 2, + -86, + 86, + -94, + 32, + 101, + 87, + 56, + -39, + 8, + 76, + 64, + 88, + -115, + 59, + 55, + 38, + 10, + -39, + 38, + -82, + 70, + 85, + 9, + 114, + 33, + -114, + -84, + 54, + -67, + 1, + -126, + -85, + -117, + -85, + 122, + -94, + -69, + 69, + 45, + -29, + 123, + 41, + -86, + -64, + -70, + 72, + 12, + 11, + -111, + 90, + 116, + -81, + -98, + -71, + 5, + 102, + 65, + 106, + 24, + -20, + -113, + 47, + 46, + 82, + 17, + -92, + 73, + -56, + 56, + -109, + -82, + 86, + 106, + -22, + 71, + 75, + -88, + -112, + 97, + -118, + -63, + 7, + 89, + 23, + -2, + -94, + 81, + -76, + -124, + -35, + -88, + -54, + -70, + 99, + 48, + 95, + 44, + -114, + -126, + -68, + -87, + 83, + -13, + -11, + 27, + -33, + -57, + -22, + -9, + -29, + 52, + 42, + 46, + -21, + 113, + -11, + -65, + -42, + -36, + 42, + 105, + -26, + -106, + -64, + -25, + -30, + -38, + 117, + -10, + 89, + 14, + -112, + -75, + -128, + -127, + 45, + -25, + 45, + -38, + -87, + 86, + 102, + 18, + 17, + 98, + -11, + 64, + 100, + 44, + 95, + 34, + 102, + -108, + -124, + -82, + 87, + 4, + 58, + -27, + -111, + 5, + 74, + -119, + -114, + -63, + -27, + -81, + 106, + -12, + 99, + 13, + 102, + 116, + 38, + -101, + 98, + -38, + 11, + 121, + -116, + -114, + 127, + 62, + 118, + -71, + 6, + -115, + 36, + 52, + 124, + -16, + -46, + -102, + -13, + -85, + -42, + 7, + 70, + -67, + 109, + 74, + 7, + 60, + 32, + -95, + 81, + 118, + 88, + -58, + -107, + -104, + -115, + -56, + -111, + 43, + 70, + 62, + 26, + 84, + -88, + 84, + -72, + 20, + -115, + 103, + 73, + 4, + -7, + -51, + -85, + -92, + -25, + -48, + 45, + 1, + -29, + -93, + 20, + -53, + 115, + 54, + -106, + 106, + -120, + 90, + 79, + 29, + 90, + -83, + -41, + 95, + -83, + 94, + 91, + 86, + 95, + 116, + -71, + 59, + 58, + -79, + -62, + -20, + 87, + -103, + -27, + -83, + 76, + 72, + 67, + 67, + 6, + 34, + 127, + 64, + 20, + -119, + 106, + -94, + 63, + 125, + -109, + -96, + 31, + -54, + 122, + -2, + 124, + 104, + -70, + 57, + 71, + 90, + -66, + 85, + -41, + -91, + 27, + 102, + -67, + 120, + 45, + -38, + -72, + 12, + -75, + -109, + 69, + 96, + 9, + -101, + 48, + 34, + -75, + 44, + -12, + 64, + -99, + 96, + -64, + 51, + 80, + -39, + 31, + 118, + -40, + 18, + 40, + 22, + -3, + -85, + 84, + -13, + 36, + -84, + 15, + -95, + 114, + 96, + -36, + 86, + -57, + -82, + -35, + 126, + -66, + 92, + 21, + -108, + -99, + -64, + -77, + -65, + -115, + 111, + -80, + 7, + -21, + -53, + -81, + 9, + -22, + 98, + -56, + -63, + 122, + 125, + -48, + -33, + -82, + 90, + 86, + 105, + -110, + 32, + -108, + 33, + 87, + 85, + -83, + 53, + 93, + 21, + 13, + 120, + 59, + -77, + 89, + 125, + -96, + 54, + -31, + -86, + 50, + -115, + -54, + 117, + 100, + 59, + -11, + 102, + -1, + 0, + 26, + -108, + -57, + -123, + 14, + 99, + 115, + -9, + 77, + 74, + -9, + -87, + 105, + 61, + -30, + -27, + -69, + 38, + 126, + 32, + -113, + 53, + 67, + 57, + 86, + 106, + -1, + 0, + -14, + 102, + -90, + 23, + 57, + 88, + 52, + -10, + 54, + 98, + 9, + 65, + 107, + 69, + -11, + -44, + -37, + 84, + -99, + -31, + -28, + 66, + 52, + 67, + 55, + -24, + 25, + -105, + -70, + -14, + 122, + 35, + 16, + -38, + -121, + 101, + 82, + 100, + -50, + 106, + -124, + -61, + 114, + -121, + 47, + -2, + 59, + -62, + 56, + -11, + 113, + 53, + 10, + 81, + 24, + 47, + 81, + 57, + 7, + 16, + 8, + 58, + 25, + -44, + -31, + -110, + 54, + -87, + 54, + 70, + -71, + -41, + 44, + -41, + -45, + -123, + 24, + 56, + -25, + -40, + 2, + -116, + -81, + 108, + -14, + -39, + -91, + -96, + 22, + -3, + -58, + 72, + 66, + -91, + -84, + -11, + 33, + 90, + 43, + -9, + -111, + -29, + -91, + 58, + -5, + 25, + -111, + 54, + -77, + 49, + 94, + -89, + 104, + -100, + 69, + 43, + -45, + -73, + 106, + 27, + -34, + 63, + 34, + -107, + 18, + 24, + -117, + -48, + 77, + 78, + -63, + 56, + -83, + 83, + 17, + 90, + -2, + -108, + 92, + -46, + -117, + 33, + 44, + 86, + 5, + -102, + -6, + 116, + -6, + -3, + 56, + 13, + 55, + 100, + -11, + -16, + -4, + -67, + -35, + 122, + 111, + 94, + -31, + -48, + 109, + 13, + -69, + 52, + -108, + -97, + 120, + -125, + -81, + 31, + 46, + -77, + -114, + -73, + 66, + -20, + 87, + 7, + 82, + -52, + -8, + -46, + 9, + -75, + 120, + -77, + -114, + 59, + 55, + 90, + -76, + -80, + -34, + 1, + 24, + -56, + -94, + 81, + 118, + -29, + 75, + 103, + 4, + 5, + -90, + -21, + -47, + 86, + -51, + -54, + 60, + 21, + 109, + 43, + 18, + 10, + -124, + -5, + -118, + -127, + 49, + 94, + -54, + 44, + 111, + -79, + 76, + -108, + 119, + 46, + 92, + -108, + -115, + -94, + -45, + 74, + -9, + 80, + 21, + 84, + -88, + -5, + -79, + -121, + -81, + 115, + -9, + 83, + 48, + -51, + 75, + 69, + 121, + -76, + -55, + -79, + 40, + 23, + 92, + -37, + 29, + -88, + 28, + -30, + -65, + 106, + 88, + -56, + -109, + 7, + 14, + 125, + -107, + 76, + -74, + -21, + -37, + 52, + 19, + 57, + 116, + 47, + -71, + 45, + -21, + 25, + -127, + -110, + 78, + 110, + -58, + 112, + 77, + -112, + 85, + 69, + -50, + 66, + -43, + 106, + 113, + -43, + -87, + 74, + -79, + -117, + 21, + 6, + 18, + 100, + 108, + 121, + 42, + -84, + 41, + -101, + -118, + -25, + -101, + -39, + -4, + -21, + 117, + 53, + -17, + 91, + 48, + -108, + 4, + -68, + -23, + 11, + 69, + 39, + -126, + -104, + 13, + 29, + -59, + -67, + 66, + -96, + 88, + 74, + -37, + 15, + 90, + -23, + 59, + -31, + 11, + 83, + 91, + -10, + -19, + 13, + -122, + -76, + -123, + -28, + 0, + -31, + -124, + -103, + 102, + -42, + -92, + -100, + 48, + 105, + 86, + 50, + -16, + 42, + 118, + 29, + 124, + 64, + -79, + -16, + 29, + 63, + 115, + -42, + -8, + 40, + -46, + 13, + 104, + -56, + 107, + -112, + -107, + -43, + -95, + 97, + -122, + 87, + -77, + 64, + -123, + 96, + 110, + -65, + 101, + -47, + 50, + 66, + 49, + 92, + -86, + 66, + -112, + 97, + -59, + 7, + 9, + -66, + -28, + 96, + -37, + 55, + 40, + 92, + 22, + -21, + -87, + 42, + -76, + -107, + 91, + -112, + -60, + 94, + -23, + 45, + 112, + -3, + 56, + 2, + 117, + -38, + 42, + -114, + -118, + 85, + -61, + -111, + -44, + -55, + 76, + 93, + 33, + -50, + -85, + 27, + -82, + -95, + 95, + -86, + -37, + -91, + 63, + 17, + 9, + 28, + -128, + -52, + -36, + -128, + 68, + -110, + 20, + -77, + 56, + -54, + -30, + -88, + 6, + 11, + 58, + -108, + -80, + 70, + -13, + 47, + -107, + -74, + -53, + 12, + 31, + -82, + -32, + 117, + 124, + 60, + -9, + 95, + -5, + -121, + -81, + 29, + 1, + 114, + -63, + -65, + 50, + 53, + 68, + 117, + -128, + -9, + 99, + 52, + -63, + 110, + -103, + -50, + -112, + -98, + -90, + -54, + 67, + 34, + 44, + -128, + 29, + -97, + 30, + 62, + -96, + -86, + 11, + 115, + 73, + 103, + 86, + 89, + -113, + -122, + 96, + -76, + 39, + 40, + 124, + -116, + 90, + -21, + -38, + 91, + -48, + 82, + -114, + -128, + -22, + -94, + 107, + -66, + -18, + -104, + -93, + 17, + -49, + -117, + -9, + 95, + -116, + 93, + 51, + 89, + -89, + 127, + 91, + -23, + -97, + 100, + 96, + 46, + 9, + -49, + -41, + 27, + -124, + -51, + -12, + 78, + 127, + -82, + -58, + -43, + -53, + -121, + -75, + -108, + -114, + -85, + -33, + -39, + -7, + -43, + -101, + -76, + -42, + -51, + -105, + 27, + -101, + 59, + -104, + 37, + 38, + -120, + 75, + -4, + 11, + 47, + 10, + -34, + -47, + 29, + 27, + 21, + -98, + 105, + -12, + 123, + 110, + -12, + 58, + 126, + 61, + -119, + 63, + -68, + -81, + -123, + -67, + 126, + -56, + -51, + 77, + -100, + 125, + 41, + -85, + -12, + -126, + -97, + 94, + 110, + -79, + -70, + -16, + 37, + -86, + 97, + -44, + -114, + 87, + 9, + 113, + 26, + 30, + 20, + 57, + 97, + 3, + 14, + -41, + -92, + -95, + -14, + 86, + 7, + -105, + 2, + 72, + -59, + 77, + 42, + -42, + -81, + -59, + -19, + -80, + -52, + -41, + 53, + -61, + 116, + 9, + -13, + -116, + 96, + -78, + -123, + -77, + -75, + -50, + 104, + 33, + -89, + 96, + 110, + -122, + 42, + -14, + -60, + 95, + 42, + 82, + -64, + -94, + 36, + -23, + 106, + 37, + 42, + -8, + 113, + -71, + -125, + 100, + 50, + -83, + 51, + 112, + -95, + 105, + -86, + 84, + -75, + -87, + -77, + -92, + 19, + -119, + -84, + 7, + -11, + -26, + -127, + -117, + 58, + 72, + -103, + 56, + 113, + -77, + 75, + 25, + 95, + -30, + -10, + 64, + 34, + -52, + -49, + 30, + -54, + -6, + -39, + -112, + 29, + 86, + -46, + -103, + 22, + -23, + -84, + 86, + -51, + -21, + 94, + 104, + 35, + -100, + 39, + 108, + -15, + -62, + -32, + -126, + -112, + 37, + -37, + 69, + -96, + -115, + 109, + 97, + 65, + -35, + 69, + 34, + -122, + -96, + 84, + -35, + -109, + -91, + -117, + -59, + -4, + -96, + -61, + -4, + -109, + -59, + 115, + -68, + -49, + -50, + 14, + 38, + 18, + 108, + -34, + -120, + -13, + -56, + -13, + -114, + -43, + 91, + -15, + -19, + 114, + -78, + 58, + -70, + 4, + 68, + -36, + -81, + -113, + -82, + 97, + -59, + 42, + -21, + 48, + 27, + -21, + 23, + 41, + -111, + 18, + 87, + -97, + 105, + -23, + 32, + -51, + -72, + 64, + -60, + 5, + 13, + -45, + -12, + -100, + -91, + -102, + -73, + 52, + 6, + 95, + 61, + 59, + 103, + -54, + 47, + -125, + -36, + -57, + -109, + -12, + 127, + -117, + -103, + 94, + 111, + -79, + -30, + 25, + -78, + -37, + -24, + -70, + -104, + -88, + -7, + -75, + 102, + -121, + -118, + 61, + 59, + -29, + -75, + -111, + 48, + 124, + 62, + 48, + -120, + 59, + -126, + 104, + -48, + -80, + -13, + -73, + -76, + 58, + -16, + 55, + -122, + 84, + -48, + 107, + 46, + 85, + 83, + -76, + 71, + -43, + 116, + 98, + -117, + 62, + 28, + 63, + -120, + 71, + -53, + 119, + -99, + 63, + 41, + -94, + 41, + -124, + 47, + -15, + -17, + -82, + 86, + -43, + 54, + 94, + 97, + 124, + -94, + 105, + -64, + -33, + -45, + 19, + -48, + -42, + -124, + 4, + -77, + -123, + -47, + -123, + 123, + 37, + -83, + 111, + -101, + -79, + 4, + 105, + 126, + -67, + 9, + -5, + 70, + -50, + -64, + -73, + 77, + -78, + -32, + -40, + -77, + -48, + -125, + 116, + 122, + 22, + 114, + 78, + 47, + -49, + -49, + -38, + -60, + -37, + -70, + 87, + -100, + 18, + -93, + 61, + 75, + 57, + 3, + -31, + 76, + 116, + -89, + 102, + -24, + 84, + 0, + 81, + -28, + -99, + 81, + -114, + 32, + 83, + 93, + -83, + 8, + 73, + -43, + 70, + -85, + 114, + 16, + 65, + 100, + -13, + 111, + 93, + 39, + 68, + 121, + -39, + -58, + 90, + -52, + -27, + 67, + -35, + -71, + 94, + 100, + -95, + 87, + 51, + 47, + 29, + 53, + 71, + -36, + -103, + 65, + -89, + -18, + 16, + 15, + 126, + -55, + -110, + 39, + -39, + -111, + -102, + -92, + -116, + -102, + 96, + 85, + 75, + 113, + 84, + -101, + 17, + -99, + -66, + -50, + -123, + -107, + -100, + 13, + 6, + -120, + 22, + 119, + 20, + 8, + 26, + 88, + 110, + 8, + 22, + -84, + 54, + 4, + 18, + 7, + 21, + -123, + -15, + -121, + -27, + -5, + -2, + 87, + 80, + -40, + 108, + -74, + 54, + 115, + -8, + -66, + -82, + -64, + -51, + -78, + 103, + 51, + -123, + -37, + -40, + -77, + 75, + 79, + 16, + -72, + -29, + -124, + 113, + -20, + -113, + 40, + 50, + 107, + -93, + -21, + 50, + -19, + -120, + 49, + 92, + -66, + 116, + -92, + 71, + -15, + -125, + 3, + 93, + -69, + 74, + 125, + -64, + 61, + 41, + 58, + -70, + -37, + -12, + 2, + 57, + 123, + 121, + 0, + 29, + -117, + 68, + 6, + -39, + 93, + 5, + 8, + 102, + 3, + -5, + 68, + -123, + 91, + -125, + -46, + -125, + -46, + 26, + 20, + 97, + 34, + -96, + -74, + -55, + 92, + -78, + 50, + -34, + 85, + -45, + 87, + -88, + 85, + -80, + 95, + 124, + 6, + -22, + -44, + -96, + 102, + -27, + 56, + 46, + -124, + -90, + -30, + 48, + 3, + 37, + 86, + -31, + 56, + -1, + 0, + 61, + -25, + 63, + 37, + -121, + 51, + -117, + -117, + -25, + -28, + -92, + 29, + -99, + -67, + -93, + -57, + -37, + 11, + -87, + 113, + 65, + 67, + -120, + 71, + 92, + -104, + -115, + -114, + 125, + -73, + 32, + 33, + 107, + -3, + -96, + 16, + 51, + 86, + -120, + -65, + 58, + 68, + -35, + 10, + 91, + 8, + -14, + 106, + 35, + 57, + -85, + 35, + 107, + 79, + -101, + 58, + -38, + 115, + 31, + 53, + -14, + 2, + 88, + 51, + 118, + 107, + -17, + 3, + -36, + 11, + 95, + 51, + 126, + -80, + -28, + -96, + 48, + 124, + -78, + 82, + -108, + -109, + -94, + -86, + -60, + 109, + 41, + -84, + -40, + -106, + 59, + -27, + 38, + -114, + 41, + -25, + -93, + 74, + 42, + 127, + -71, + 81, + -75, + 12, + -83, + -122, + -9, + -39, + 98, + -67, + 106, + -10, + 100, + -52, + -118, + 96, + 90, + 40, + -34, + 56, + -1, + 0, + -108, + 61, + 19, + 123, + 31, + 6, + 97, + 84, + 108, + 89, + -69, + -12, + -82, + 36, + 49, + 34, + -103, + 113, + -111, + 39, + 96, + 101, + -113, + -72, + 72, + 59, + 50, + 0, + -95, + 73, + 5, + 87, + 123, + -75, + -83, + 52, + 0, + 27, + -110, + 77, + 68, + 45, + 71, + -57, + -50, + -117, + -101, + 64, + 46, + -112, + -71, + 86, + -44, + -65, + 100, + -59, + -80, + 88, + 106, + 37, + 5, + 30, + -46, + 20, + -118, + -123, + 73, + 108, + -100, + -71, + 40, + -7, + -48, + 101, + 24, + 109, + -35, + 30, + 37, + -109, + 85, + -6, + -19, + -66, + -74, + -118, + -59, + 119, + -48, + 117, + -111, + -49, + -99, + -76, + -88, + 36, + 48, + -97, + 31, + 47, + -13, + 93, + -123, + 77, + -52, + -43, + 92, + 115, + -104, + 94, + -47, + -72, + 120, + -83, + -67, + -38, + 15, + -86, + 9, + 101, + 47, + -100, + -70, + 103, + 24, + 120, + -19, + 3, + 21, + 109, + 18, + 2, + 0, + -52, + 50, + -63, + 5, + -125, + 113, + -58, + 84, + 125, + 9, + -122, + -22, + -24, + 65, + 111, + -14, + 41, + 15, + 89, + -97, + 77, + -105, + 102, + -19, + -15, + -19, + 8, + 11, + -26, + 124, + -81, + 73, + -5, + 8, + -55, + 115, + -89, + -31, + -109, + -88, + -27, + -17, + -111, + -106, + 1, + 114, + 98, + 118, + -122, + 52, + 27, + 56, + -113, + -82, + -70, + -16, + -82, + 0, + 96, + -35, + 6, + 7, + -57, + -13, + 0, + 68, + -7, + -114, + -90, + 13, + -28, + -70, + 57, + 11, + -22, + 110, + -53, + -95, + 5, + 31, + 60, + -106, + -53, + 62, + 48, + -124, + -56, + -10, + 62, + 121, + -72, + -8, + -39, + 38, + -106, + 67, + -36, + -33, + 120, + -32, + -3, + 10, + 41, + 53, + 65, + -58, + 97, + -70, + 38, + 79, + 84, + 27, + 69, + -98, + -38, + 91, + -59, + -12, + -100, + -26, + 122, + 10, + 34, + -124, + -54, + 106, + -51, + 66, + 0, + 116, + -60, + 51, + 86, + 10, + 9, + 43, + 82, + 97, + 87, + 51, + -15, + 22, + -91, + -93, + -76, + 84, + -116, + -92, + 57, + 18, + 72, + 82, + 22, + 100, + 61, + -84, + 125, + -35, + 36, + 18, + 25, + -119, + 8, + 26, + -81, + 73, + 44, + -91, + 72, + 53, + -42, + -56, + -24, + 67, + 9, + 82, + 52, + -19, + 36, + 64, + 110, + 25, + 6, + -67, + 74, + 84, + 105, + 5, + 75, + -107, + 58, + 105, + -128, + 83, + 99, + 77, + -40, + 20, + 61, + 97, + -75, + -33, + -108, + -36, + 5, + -101, + 109, + 15, + 55, + 13, + -84, + 39, + -79, + -43, + 94, + -120, + 112, + 57, + -15, + 56, + -116, + -122, + -76, + -55, + -38, + 101, + -20, + -13, + -47, + 102, + 10, + -44, + -71, + 124, + 118, + 112, + -74, + 126, + -47, + -79, + 103, + -57, + -105, + -78, + 68, + 74, + -37, + 49, + 112, + 57, + -15, + 22, + 69, + -112, + -119, + -46, + 4, + 42, + -22, + 80, + 83, + 120, + 11, + -98, + -98, + -81, + 110, + -82, + -124, + 9, + -116, + -79, + -53, + 113, + -55, + 78, + -82, + -124, + -44, + 86, + 107, + 28, + 11, + 82, + -36, + -1, + 0, + 93, + -86, + -105, + -57, + 78, + -8, + -28, + -114, + 50, + 99, + -25, + -81, + 78, + -60, + -105, + -37, + 35, + 38, + -89, + 114, + -19, + 27, + 14, + 90, + -83, + -70, + -106, + 37, + -46, + 124, + 34, + -91, + -16, + 78, + -128, + 75, + -39, + -95, + -90, + 127, + -22, + -59, + -56, + 109, + 2, + -49, + -11, + 11, + 110, + 60, + 54, + -10, + 35, + 0, + 100, + 77, + -22, + 38, + -37, + 68, + -84, + 26, + -39, + -79, + 58, + -5, + 103, + -78, + 102, + -24, + 6, + -77, + -77, + 3, + -103, + -50, + -114, + -52, + 24, + -3, + -31, + -53, + 5, + 30, + -119, + 30, + 83, + 65, + -104, + -63, + -46, + 51, + -43, + -68, + -27, + -13, + -64, + -7, + 17, + -98, + -123, + -92, + 13, + -5, + -86, + 21, + 42, + 30, + 34, + -70, + 13, + -107, + -23, + 101, + -126, + -106, + -118, + -104, + -125, + -126, + -24, + 77, + 35, + 51, + -106, + -84, + 103, + 9, + -104, + 53, + 4, + -13, + -24, + -112, + 30, + -82, + 28, + -15, + -10, + -27, + -76, + 7, + 11, + -47, + 41, + 78, + 53, + 99, + -43, + 4, + -128, + -87, + -111, + 8, + -40, + 106, + 32, + 53, + -87, + 30, + 0, + -112, + 3, + 120, + 41, + 38, + -59, + 6, + -33, + -122, + -45, + -57, + 22, + 124, + 13, + 20, + -15, + -59, + 52, + 76, + 72, + -45, + 90, + -112, + -83, + 0, + 24, + 22, + 22, + 24, + 120, + 58, + -47, + 12, + 3, + 41, + 20, + 56, + -85, + 30, + -101, + -15, + -109, + -84, + -48, + -69, + -101, + -77, + 75, + 13, + 46, + -128, + 40, + 86, + 126, + -20, + 55, + 101, + -101, + 1, + -83, + 88, + 25, + 28, + 51, + 50, + -23, + -101, + 59, + 87, + 15, + -122, + -54, + -56, + 122, + -92, + -30, + 104, + 10, + 0, + 18, + 27, + 22, + -113, + -66, + -55, + 116, + -112, + -123, + -110, + 23, + 101, + 97, + 16, + -116, + -56, + -85, + -44, + 110, + 14, + 37, + 11, + 80, + 126, + -100, + -60, + -102, + 118, + 45, + -71, + -48, + -91, + 68, + 66, + -95, + 26, + 26, + -28, + 3, + 115, + -9, + 116, + 99, + -103, + 74, + -77, + 51, + 50, + -47, + 5, + -88, + -85, + -77, + 62, + 74, + -92, + 34, + 86, + 59, + -59, + -22, + -34, + -89, + -98, + 29, + -99, + -106, + -74, + -98, + -6, + -60, + 31, + -23, + -40, + -36, + 116, + 66, + -50, + 115, + -32, + -7, + -4, + -58, + 120, + -123, + 91, + -93, + 16, + -98, + -128, + 6, + -91, + -15, + -46, + 126, + -121, + 69, + 98, + -122, + -89, + 51, + 44, + -10, + 11, + -119, + -45, + -110, + -118, + -60, + 53, + 36, + 96, + -71, + 122, + 28, + -38, + -104, + -12, + 95, + -118, + 68, + 102, + 54, + -90, + 122, + 54, + 19, + 90, + -39, + -7, + 13, + -62, + -122, + -22, + -75, + 15, + -48, + -32, + 63, + -39, + -56, + -108, + -110, + -60, + 36, + -94, + -125, + 72, + -73, + -120, + -108, + -78, + -77, + 88, + 26, + -118, + 46, + -43, + 91, + -93, + -50, + 82, + -84, + 34, + 27, + 54, + 91, + 88, + 93, + 90, + -28, + -61, + -41, + 22, + -91, + -34, + -21, + 55, + 82, + 116, + 31, + 44, + -110, + -8, + -39, + -122, + 67, + 82, + 14, + -128, + 83, + 11, + 23, + -46, + -83, + 107, + 99, + -18, + -96, + 125, + -60, + -15, + -100, + 115, + -81, + 101, + 12, + 7, + -75, + -27, + -27, + -99, + 75, + 29, + 80, + 55, + 121, + -112, + 108, + 59, + -113, + -43, + -64, + -33, + 102, + -74, + -23, + -71, + -67, + -95, + 42, + -49, + 78, + -19, + -65, + -75, + -71, + 119, + 31, + -79, + 48, + 98, + 65, + -14, + -107, + 43, + -120, + -93, + 124, + -82, + -78, + -19, + 36, + 29, + 41, + 123, + 52, + 105, + 102, + 114, + -52, + 109, + 115, + -94, + 104, + -109, + -84, + -26, + 79, + -86, + 101, + -69, + -40, + -64, + 57, + -23, + -121, + 16, + 75, + 122, + 26, + -30, + -18, + 42, + -116, + 47, + -25, + -62, + 72, + 80, + -38, + 86, + -59, + 5, + 67, + 48, + -55, + 60, + -93, + 8, + 71, + -90, + -45, + 92, + -80, + -70, + -7, + -26, + -76, + 34, + -125, + 66, + 13, + -66, + 76, + 84, + -95, + -35, + 21, + 0, + -32, + 18, + -63, + 50, + -39, + -85, + -9, + -41, + 86, + 6, + 98, + -53, + 107, + 11, + 78, + -127, + 66, + 10, + -117, + 124, + -58, + -96, + -16, + 95, + -121, + 38, + 84, + -35, + -14, + -110, + 69, + 60, + -61, + 109, + -112, + -101, + -9, + 121, + 34, + 104, + -117, + 31, + -100, + 66, + -101, + -123, + -98, + 97, + 28, + -11, + -111, + -61, + -37, + 19, + -44, + -108, + 122, + -85, + -62, + -24, + -101, + 119, + -92, + -112, + -116, + 125, + 26, + -44, + -23, + -127, + 70, + -99, + -91, + 54, + 94, + -115, + -4, + -8, + -22, + -81, + -120, + -79, + -118, + -12, + -19, + -34, + -78, + -46, + -107, + -94, + 31, + 66, + 10, + -106, + 74, + 50, + -4, + -112, + -43, + 56, + 46, + -68, + -43, + -91, + 36, + 21, + -80, + 17, + -79, + 13, + 27, + -95, + 99, + -67, + 82, + 121, + -93, + -86, + -64, + -14, + -36, + 27, + -99, + -96, + -16, + -56, + 15, + 67, + 91, + 109, + -41, + -95, + -93, + -44, + -4, + -8, + -84, + -55, + -55, + -13, + 81, + 117, + 60, + 14, + -86, + 0, + -22, + 61, + 5, + 0, + 42, + -18, + -115, + -115, + -6, + 109, + -71, + 34, + -44, + 80, + 88, + -113, + 85, + 1, + 10, + 0, + -123, + 8, + 0, + -21, + -86, + 10, + -107, + 81, + 118, + 39, + 31, + 88, + 45, + 2, + 58, + 82, + 122, + 11, + -71, + -103, + 106, + -40, + 7, + 112, + -73, + -18, + -101, + 58, + -12, + -36, + 58, + 24, + 46, + 51, + -59, + -102, + -45, + -27, + -125, + -44, + 63, + -100, + 50, + 94, + 88, + 52, + -128, + -118, + 105, + 126, + -24, + 120, + -92, + -79, + 13, + 4, + 126, + -59, + -38, + 88, + -69, + 90, + 29, + 37, + 58, + 116, + -24, + -113, + -96, + 2, + -92, + 33, + 47, + 7, + 123, + 44, + -59, + -97, + -81, + -103, + 0, + 118, + 84, + 125, + 41, + 105, + -45, + -92, + 56, + 54, + -48, + 100, + -39, + -30, + -95, + 102, + 112, + 83, + -91, + -57, + 91, + -53, + 106, + 9, + 106, + -28, + 47, + -80, + 65, + -86, + 127, + 112, + -9, + 77, + 74, + -57, + -29, + -39, + -71, + 94, + -91, + 20, + 101, + -22, + -7, + 106, + -109, + 21, + -102, + -51, + -70, + -10, + 33, + -75, + 100, + -126, + 83, + 29, + -5, + 105, + 106, + -62, + 99, + -99, + 33, + -70, + -15, + -116, + -126, + -2, + 24, + -16, + -88, + 15, + -55, + 76, + -54, + 101, + 44, + -41, + 20, + -127, + -61, + -95, + -51, + -100, + 73, + 5, + -118, + -82, + 6, + -83, + -45, + 111, + -41, + -61, + -97, + -73, + 5, + 115, + 25, + -9, + -37, + 19, + 37, + 26, + 51, + -120, + -55, + -123, + -95, + 78, + -56, + -49, + -49, + 27, + 27, + -118, + 69, + 123, + 67, + 74, + 25, + 99, + -43, + -95, + 17, + -43, + 101, + 15, + -81, + 127, + 17, + -17, + 27, + 70, + 74, + -80, + -94, + 54, + -9, + 31, + -113, + -28, + 54, + -4, + -85, + -124, + -107, + -38, + 85, + 101, + 125, + -79, + -62, + -46, + 17, + -80, + -80, + 87, + -43, + 84, + 89, + 49, + 47, + -114, + -4, + 98, + 47, + -35, + 32, + 111, + -10, + 17, + -14, + 88, + -65, + 9, + -35, + 75, + 63, + 20, + 80, + 122, + 97, + -20, + -72, + 120, + -5, + -102, + -102, + 82, + -2, + 18, + 81, + 13, + 82, + -28, + -17, + -108, + -38, + -79, + 55, + 26, + -98, + -97, + -29, + 14, + 45, + 17, + 57, + -127, + 84, + 97, + 121, + 107, + 87, + -52, + 90, + -104, + 61, + 41, + -120, + -47, + -100, + 67, + -78, + -93, + 4, + 66, + 13, + -93, + -117, + -50, + 50, + -108, + -43, + -30, + 97, + -71, + -40, + 72, + 124, + 115, + -45, + -86, + 56, + -13, + -97, + 48, + 50, + 70, + 48, + 22, + 37, + 66, + -47, + 59, + -42, + -85, + -122, + 40, + 50, + 119, + -111, + 51, + 120, + -123, + -69, + 52, + -27, + 41, + 29, + 115, + -93, + -97, + -94, + -110, + -68, + -43, + 104, + -46, + 20, + 46, + -115, + 60, + -110, + -3, + 46, + -122, + 75, + -103, + -63, + 44, + -112, + -112, + 96, + -42, + -120, + -117, + 19, + 82, + -4, + 52, + -99, + 17, + -17, + -19, + 118, + 34, + 9, + 66, + -77, + 111, + 9, + -81, + 74, + 2, + -113, + 14, + -25, + -53, + 94, + 1, + 17, + 69, + 112, + 8, + -7, + 7, + 54, + -111, + 71, + 21, + 33, + 50, + -59, + -8, + -9, + -27, + 42, + -40, + -89, + -6, + 68, + -64, + 126, + -67, + -115, + 93, + -88, + -13, + 23, + 41, + -121, + 90, + -75, + -69, + -124, + -51, + 40, + 62, + 21, + -11, + -3, + -65, + 33, + -63, + 32, + 27, + -103, + -38, + 121, + -95, + 127, + -113, + 115, + 61, + 89, + -60, + -31, + -86, + 90, + -52, + 58, + 43, + 90, + 121, + -85, + -120, + -69, + 53, + 40, + 89, + 104, + 83, + -44, + 109, + -68, + -92, + 127, + -72, + -40, + 106, + 86, + 42, + -79, + -44, + -71, + 118, + 74, + 80, + 90, + 120, + -13, + -79, + -34, + -79, + 88, + 78, + -104, + -16, + -3, + 45, + 103, + -72, + 40, + -107, + 84, + 29, + -77, + -115, + -94, + 116, + -76, + -27, + -115, + -110, + 20, + 13, + 102, + 71, + -49, + 37, + 90, + 17, + -53, + 77, + 68, + 22, + -128, + -83, + 88, + 13, + 45, + -38, + 126, + -11, + -28, + 107, + -55, + 71, + 29, + 122, + 113, + -81, + -19, + -64, + 17, + -95, + -96, + -126, + -128, + -79, + -6, + 71, + 81, + -13, + 63, + -81, + -113, + -25, + -15, + -31, + 18, + 108, + -109, + -25, + -57, + 78, + -8, + -114, + 59, + 87, + 24, + 32, + -113, + -3, + 37, + -17, + -123, + -82, + 98, + 53, + -105, + 106, + 102, + -62, + 30, + -108, + -40, + -100, + -98, + -122, + -124, + -28, + 88, + 39, + 2, + 22, + -90, + 20, + -90, + 69, + 1, + -114, + -79, + -78, + -89, + 104, + 84, + -88, + 80, + -127, + -96, + -81, + -72, + 104, + -60, + 72, + 32, + -15, + 93, + 93, + 71, + 107, + 90, + 125, + -35, + 14, + 35, + -103, + -20, + 113, + 90, + 29, + 7, + -56, + -96, + -33, + 35, + -54, + -12, + 30, + 72, + 2, + -42, + -63, + -127, + -6, + -97, + 82, + 41, + 91, + 17, + 110, + -64, + 43, + 118, + -48, + 113, + -15, + 61, + -81, + -113, + -117, + -25, + -95, + -75, + 11, + -8, + -122, + 42, + -87, + -63, + 38, + -62, + -53, + -85, + -87, + -103, + -126, + 122, + -103, + 62, + 122, + 101, + 115, + 119, + 45, + -104, + -82, + 29, + 51, + 115, + 92, + -124, + -72, + -47, + 13, + 111, + 75, + 57, + -72, + 54, + 12, + -90, + -61, + -112, + 103, + -20, + 89, + -126, + -18, + 123, + -99, + 110, + -128, + -26, + 36, + -89, + -99, + 26, + 41, + -58, + 47, + -109, + 19, + 118, + 106, + 36, + -122, + -52, + 52, + 70, + -66, + -10, + 112, + -101, + 7, + -45, + -74, + 22, + -127, + -80, + -81, + -70, + 97, + -114, + -75, + 34, + -7, + -105, + -56, + 30, + -121, + -35, + -128, + -17, + -71, + -47, + -22, + -72, + 108, + -28, + -50, + 3, + 112, + 96, + -57, + -128, + 30, + 95, + 73, + 51, + -87, + -53, + 110, + -51, + 72, + -18, + -23, + -58, + -24, + 126, + -22, + -58, + 115, + -38, + 9, + 107, + 92, + 23, + 32, + -47, + -29, + 0, + 93, + -100, + 21, + -86, + -65, + -125, + -93, + 30, + 98, + 38, + 31, + -85, + -125, + -93, + 62, + 90, + -53, + -105, + 36, + 64, + 69, + 52, + -116, + 21, + -26, + 80, + -15, + -55, + 35, + -46, + 44, + -123, + 26, + -107, + -40, + 21, + -93, + 106, + 80, + 54, + -96, + -37, + -18, + 61, + -41, + -103, + -20, + -1, + 0, + -37, + -127, + -51, + 61, + -91, + -10, + -117, + 121, + 38, + 65, + 19, + -20, + 64, + 5, + -118, + 125, + -32, + 78, + -46, + 60, + 104, + 28, + 29, + -48, + -126, + 119, + -101, + -87, + -46, + 126, + 57, + 101, + 0, + -27, + -94, + 37, + -123, + 55, + 96, + 1, + 27, + 86, + 8, + 91, + -24, + -128, + -11, + -38, + -62, + 49, + 101, + 106, + -113, + -76, + 72, + 78, + 123, + 89, + 127, + 122, + -99, + 30, + -9, + 65, + -95, + -103, + -44, + 11, + -51, + -69, + 69, + -111, + -3, + -95, + 9, + 9, + 101, + 105, + -99, + 26, + -53, + 38, + -66, + -48, + -6, + 118, + -33, + 74, + 63, + 38, + 56, + -52, + 123, + -127, + -68, + -95, + 104, + 108, + 72, + 22, + -108, + -48, + 124, + -11, + 107, + 21, + -49, + 102, + 58, + 96, + 89, + -88, + -24, + 70, + 27, + -69, + 14, + -66, + 115, + 45, + -38, + 26, + -40, + 38, + 98, + 42, + -126, + -21, + 56, + -43, + -103, + 46, + -78, + -3, + 73, + 117, + -126, + -30, + -76, + 62, + -62, + -52, + 69, + -29, + -71, + -106, + -43, + 124, + 84, + -17, + 45, + -48, + 6, + -125, + -124, + -26, + 116, + 90, + 97, + 90, + 11, + 1, + 33, + 35, + 83, + 55, + 32, + 72, + 116, + 56, + -85, + 123, + 102, + -124, + 50, + -103, + 61, + -40, + -38, + 3, + 1, + 91, + -58, + -103, + 17, + 124, + -8, + -9, + -87, + -74, + -117, + -52, + -29, + -18, + -122, + -76, + -30, + 62, + -112, + 69, + 25, + 42, + -127, + 111, + -29, + -30, + -17, + -61, + 25, + 56, + -58, + 28, + 46, + -5, + -75, + -12, + -5, + 71, + 58, + -122, + 108, + 64, + 88, + 6, + -46, + -46, + -55, + -103, + -68, + 23, + -104, + 91, + -68, + 27, + -18, + -69, + -128, + -80, + 85, + 99, + 62, + 94, + 40, + 76, + -111, + -44, + 77, + 123, + 65, + 127, + 61, + -90, + 10, + 51, + 108, + 69, + 114, + -27, + 111, + -128, + -78, + -15, + 35, + 37, + -66, + -25, + 25, + -7, + -116, + 50, + -84, + 112, + 38, + 36, + 48, + 2, + -113, + 60, + -25, + 30, + 56, + 83, + -78, + 69, + 5, + -53, + -70, + -23, + 66, + 88, + 106, + 100, + 41, + -9, + 108, + -9, + 123, + 48, + -59, + 115, + -68, + -57, + -128, + -53, + 44, + 57, + 113, + 101, + 28, + -120, + 94, + 88, + -126, + -3, + -83, + -89, + 11, + 46, + -80, + 0, + -114, + -43, + -119, + 10, + 70, + -110, + 108, + -121, + 20, + 67, + 106, + -5, + -52, + -65, + -53, + -66, + 37, + -54, + -71, + -50, + -2, + -127, + -66, + 39, + -100, + -51, + -73, + -96, + 23, + 12, + 65, + -26, + 32, + -85, + -126, + 37, + -80, + -83, + 27, + -83, + 90, + 39, + 40, + 57, + 35, + -114, + -116, + -78, + 63, + 19, + -7, + 10, + -46, + -96, + 42, + -53, + 78, + 106, + -52, + 120, + 26, + 121, + -36, + -99, + 106, + -114, + 23, + 76, + 61, + 56, + -31, + -2, + 127, + -100, + -46, + -113, + 66, + 79, + 77, + -73, + 61, + 38, + 56, + 16, + 74, + -38, + 63, + -35, + 109, + 54, + -60, + 71, + 10, + 81, + 62, + -54, + -10, + 33, + 54, + -23, + -125, + -119, + 52, + 90, + -59, + 114, + -47, + -120, + -90, + -9, + -115, + 28, + -78, + -39, + 61, + -5, + 117, + -86, + 111, + -106, + -35, + -44, + 114, + -55, + 106, + 112, + 119, + -18, + -58, + 86, + -36, + -46, + -29, + 121, + -43, + -64, + 67, + 13, + 18, + -110, + -11, + -27, + -62, + -107, + -79, + -89, + -89, + 32, + -49, + -66, + -66, + -80, + 33, + -35, + -100, + -38, + 81, + -107, + 5, + -46, + 125, + 33, + -26, + -15, + -105, + 35, + 20, + -22, + 39, + 54, + 122, + 107, + -63, + 106, + 58, + 0, + 89, + -112, + -107, + 10, + -48, + -110, + -68, + 39, + -47, + -53, + 104, + 33, + -1, + 0, + -11, + -71, + 58, + -40, + -53, + 95, + 33, + 116, + 19, + -26, + 50, + -125, + 49, + -72, + 28, + -32, + -98, + 89, + -98, + -49, + -21, + -50, + -21, + 112, + -61, + -13, + -45, + -23, + 40, + -98, + 28, + 31, + 91, + -48, + -96, + -35, + 14, + -86, + 83, + 33, + 111, + -92, + 116, + 34, + 2, + -63, + 106, + 86, + -16, + 60, + -100, + -31, + -75, + 68, + 111, + -39, + 52, + 30, + -33, + -117, + -111, + -113, + 34, + 22, + -117, + 67, + 33, + -40, + 24, + -64, + -47, + 126, + 53, + 71, + -67, + 103, + -45, + -34, + 7, + 13, + 35, + -19, + -118, + -128, + -20, + -41, + 116, + 75, + -110, + 90, + -74, + 32, + -101, + 27, + 1, + -26, + -57, + 97, + -22, + 56, + -60, + 71, + -102, + -12, + 26, + 6, + 113, + 34, + 120, + 22, + -1, + 0, + -94, + 12, + 110, + -68, + -19, + -64, + 67, + -57, + 102, + 52, + 91, + 28, + -100, + -93, + -27, + -69, + 126, + 58, + -78, + -50, + 99, + 59, + 41, + 55, + 77, + -105, + -98, + 93, + 9, + 83, + 3, + 116, + -41, + -20, + -64, + 52, + 72, + 118, + 64, + 106, + 105, + -51, + -49, + 106, + -103, + 112, + -103, + -23, + 81, + -81, + -31, + 107, + 127, + -115, + -20, + 117, + 20, + 122, + 6, + -113, + -119, + -4, + -122, + -25, + 116, + -26, + -112, + -2, + -56, + -45, + 37, + -80, + -50, + -102, + -26, + 9, + -116, + -125, + 31, + 62, + -97, + 56, + 98, + -55, + -107, + -94, + -5, + -12, + 43, + 14, + 21, + -70, + 6, + 86, + -9, + -6, + 64, + -45, + 55, + 109, + -24, + 121, + -7, + -72, + 38, + -88, + -73, + -38, + 14, + 30, + 47, + 114, + 22, + -104, + -4, + -32, + 76, + 85, + -72, + -62, + 100, + 78, + 24, + -52, + -115, + 29, + -122, + -90, + -94, + -77, + 89, + -48, + -65, + -19, + 29, + 43, + -84, + -110, + -56, + -127, + -101, + -14, + 74, + -55, + -92, + 49, + -113, + -70, + 20, + 44, + -29, + 66, + 86, + -79, + -81, + -89, + 94, + -77, + -15, + -94, + 51, + 90, + 61, + -91, + -113, + -37, + 10, + 88, + -109, + 36, + -16, + -84, + -88, + 68, + -104, + 13, + 7, + 15, + -23, + -9, + -92, + -51, + -108, + -1, + 0, + 94, + 109, + 51, + -29, + 101, + 53, + 94, + -15, + 74, + -43, + 40, + 92, + -73, + 0, + -92, + -96, + 88, + -91, + 41, + -103, + 86, + -95, + -102, + -60, + 109, + -54, + -65, + -113, + 89, + 96, + -74, + -45, + 3, + -46, + 113, + -123, + -60, + 92, + 35, + 39, + -120, + 67, + 27, + 40, + 76, + 125, + 5, + -122, + 77, + -74, + -94, + 25, + 123, + -42, + 8, + 36, + 29, + 64, + -33, + -70, + -72, + 70, + 121, + 76, + 76, + 10, + -70, + -121, + 4, + 49, + -1, + 0, + -61, + -112, + -98, + -122, + -103, + 30, + -48, + -126, + 40, + 21, + 42, + -62, + -51, + -97, + 14, + 16, + 92, + -121, + -85, + 3, + 57, + -15, + -125, + -110, + -13, + 25, + -40, + 79, + 69, + 104, + 6, + 48, + 126, + -109, + 108, + 99, + 79, + 85, + -38, + 19, + -47, + 116, + -3, + -119, + 114, + 123, + 94, + -112, + -15, + -102, + -126, + -29, + 98, + 8, + -54, + 53, + -76, + 122, + -67, + 0, + -84, + 89, + 65, + 52, + 88, + 104, + 56, + -118, + -62, + 88, + -46, + -53, + 52, + 119, + -96, + -103, + -77, + 21, + -123, + 15, + 99, + 84, + 95, + 125, + -78, + 39, + -95, + -86, + 28, + 126, + 59, + -2, + -99, + -55, + -86, + -118, + -114, + 94, + -11, + 90, + 64, + 10, + -99, + -87, + 36, + 25, + -110, + 79, + 61, + 68, + -85, + 88, + 18, + -67, + 73, + 44, + 19, + -81, + 80, + -3, + 91, + 47, + -100, + 56, + 59, + 48, + -72, + -116, + 118, + -87, + -114, + -11, + 127, + 37, + 17, + -43, + 52, + 110, + -126, + 16, + -100, + 59, + 117, + 92, + 101, + 87, + -66, + -97, + -48, + 55, + 15, + -90, + 112, + -8, + 108, + -47, + -102, + -75, + 105, + 5, + 36, + -22, + 42, + -86, + 44, + -108, + -28, + 117, + -79, + -1, + 0, + -15, + -59, + 28, + 116, + 103, + -96, + -65, + 92, + 79, + -114, + 102, + -93, + -91, + 102, + 31, + -104, + -49, + -63, + -77, + -122, + -9, + 29, + -110, + 54, + 85, + -90, + 57, + 51, + -79, + 59, + 37, + 115, + 68, + -54, + 114, + -102, + 45, + -76, + 23, + 57, + -111, + 2, + 103, + -101, + 61, + -92, + -123, + -38, + 91, + 116, + 99, + -91, + 102, + -11, + 48, + -17, + 117, + -53, + 34, + -88, + 105, + 47, + 65, + -105, + -92, + -37, + -9, + 104, + 71, + 4, + -93, + 48, + -104, + -83, + -9, + 81, + 16, + 13, + 108, + 40, + 42, + 42, + -118, + -44, + 73, + 4, + -128, + 7, + 91, + -66, + -93, + -35, + 22, + -13, + 8, + -116, + -123, + 105, + -92, + -102, + 66, + -38, + 20, + -87, + 102, + 105, + 24, + 19, + 64, + 10, + -78, + 79, + 64, + 40, + 94, + -61, + -61, + -118, + -27, + -55, + -10, + 76, + -10, + -89, + 46, + 43, + 21, + 83, + -110, + 19, + -53, + -13, + 13, + 42, + -23, + 96, + -25, + -67, + 39, + -103, + -11, + 14, + 105, + -77, + -33, + 106, + -21, + 14, + 47, + 104, + 116, + -6, + -126, + -36, + 71, + 35, + 4, + 3, + -77, + 0, + 11, + 95, + -77, + 21, + -115, + 9, + 98, + -102, + -24, + 4, + -59, + 114, + -11, + 58, + 89, + -85, + -90, + 35, + -67, + 49, + 56, + 41, + -56, + -41, + -54, + 126, + 15, + 127, + 107, + 111, + -102, + -13, + 92, + 88, + 18, + -128, + -88, + -34, + -114, + -90, + 115, + 69, + -65, + -10, + -57, + -25, + 72, + -49, + 84, + -112, + -5, + 110, + 85, + -58, + 114, + -15, + 122, + 118, + 80, + 123, + -17, + -63, + 102, + 32, + -38, + 88, + 116, + -9, + 35, + -66, + -37, + -80, + 95, + 38, + -26, + -59, + 36, + -75, + 102, + -77, + -50, + -111, + -54, + -15, + -1, + 0, + 34, + 9, + -9, + -67, + -82, + 59, + -74, + 116, + 58, + 89, + 26, + -101, + -45, + -117, + 79, + 89, + 9, + -30, + 24, + -64, + -37, + 11, + -102, + -14, + 21, + -28, + 123, + 72, + 6, + -51, + -105, + 20, + 15, + 69, + -94, + 110, + 5, + -95, + -78, + 4, + 76, + 88, + 4, + 23, + 73, + -45, + -12, + 109, + 13, + -88, + -68, + 102, + 122, + -119, + 8, + 59, + -108, + -113, + -45, + 9, + -31, + -71, + 110, + -2, + 112, + 124, + -74, + -82, + -60, + 64, + -4, + -51, + -118, + -71, + -3, + 65, + -86, + 28, + -12, + 4, + 58, + -52, + -67, + 57, + -84, + -34, + -89, + -95, + -44, + -17, + -95, + 35, + 116, + -82, + -106, + -90, + -124, + 65, + -86, + -16, + 28, + 25, + -97, + -97, + 89, + -110, + -53, + -104, + -57, + -37, + 11, + -108, + -44, + 13, + 24, + -15, + 125, + 34, + 107, + 99, + -124, + 82, + 73, + 29, + 65, + 44, + 66, + -38, + -107, + 32, + -118, + -80, + 11, + 108, + 119, + -77, + 85, + -32, + 65, + -13, + -93, + -63, + -78, + 21, + -107, + 17, + -40, + 105, + 36, + -9, + -63, + 2, + -63, + 32, + 19, + -79, + -70, + -85, + -33, + 126, + -75, + -73, + 18, + 90, + 40, + 106, + -23, + 96, + -87, + -106, + -77, + -104, + 125, + -44, + 42, + 80, + -127, + 71, + 55, + 27, + -47, + 42, + 107, + -96, + -112, + 53, + 56, + -92, + 117, + -20, + -19, + -15, + -114, + 51, + 5, + 75, + 17, + 85, + -98, + -119, + 91, + 4, + 45, + 72, + -47, + 119, + 69, + -38, + -122, + -107, + 53, + -78, + -37, + 111, + 40, + 33, + -24, + -67, + 115, + 105, + -35, + 58, + -16, + -123, + 46, + 1, + -96, + -8, + -57, + 84, + -94, + 54, + -95, + 5, + -112, + -124, + -75, + 86, + 101, + -128, + -123, + -86, + 36, + -90, + -88, + 66, + -19, + 11, + -41, + -37, + 12, + -12, + -60, + -38, + -92, + 58, + 123, + -74, + -39, + 49, + -70, + -9, + 103, + -101, + -15, + -123, + 93, + -69, + 104, + -89, + -104, + 116, + 6, + 29, + -113, + 21, + -128, + -24, + -99, + 37, + 79, + 96, + -29, + -77, + 45, + -68, + -90, + -61, + 58, + -40, + -79, + -108, + -84, + 12, + 50, + -107, + 109, + 56, + 61, + 48, + -47, + -24, + 39, + 15, + -109, + 52, + 50, + -28, + 48, + -108, + -86, + 18, + -45, + -25, + 109, + -17, + 72, + -26, + 16, + 66, + -56, + 107, + -108, + -28, + 47, + 48, + -88, + 113, + -2, + 56, + 15, + 73, + 52, + -41, + -95, + -65, + -87, + -91, + -93, + -67, + 18, + 103, + -13, + 103, + 110, + -45, + 23, + 88, + -28, + 21, + 43, + 8, + -122, + -59, + -102, + -91, + -123, + -123, + 2, + -6, + -46, + -74, + -92, + -9, + 104, + -74, + 101, + -100, + 64, + -23, + 101, + -103, + 106, + -64, + -119, + 92, + 124, + 13, + -66, + -4, + -38, + -97, + 31, + 14, + -105, + -66, + -3, + 124, + 13, + 120, + -6, + 123, + -57, + 13, + 76, + 105, + 34, + -12, + 4, + 17, + 93, + 7, + 79, + 34, + 6, + -33, + 47, + 14, + 43, + 72, + -105, + 50, + -102, + -36, + -123, + 28, + 102, + -104, + -15, + 48, + -48, + -81, + 40, + -8, + 20, + -111, + 105, + -25, + -91, + 126, + 58, + -77, + 67, + 118, + -84, + 52, + -94, + 36, + -56, + -24, + 83, + 106, + 65, + 82, + -78, + 49, + -49, + -98, + -46, + -95, + 42, + 99, + -31, + -108, + 123, + -90, + -12, + -69, + 27, + 96, + 38, + -56, + 44, + -35, + -75, + -128, + -91, + 55, + 71, + 23, + -25, + 67, + 122, + -93, + 4, + -76, + 105, + 25, + 97, + 72, + -94, + 23, + 3, + -27, + -114, + 11, + -79, + -92, + -10, + 109, + 44, + 65, + -27, + -79, + 98, + 75, + -124, + 22, + 73, + -24, + 126, + 66, + 15, + 72, + 109, + 22, + -110, + -13, + 110, + -55, + 121, + 40, + 66, + -76, + -30, + 89, + -88, + 70, + 79, + 48, + 98, + -107, + 10, + -48, + -24, + -30, + 117, + -101, + -122, + 41, + -105, + -116, + 84, + -42, + 102, + -89, + 96, + 13, + 125, + 37, + -107, + 20, + 54, + -99, + -9, + 85, + -91, + 124, + 89, + -107, + -77, + 124, + 66, + 71, + 94, + 75, + -105, + 73, + -42, + -81, + 89, + 44, + -61, + -2, + -97, + -106, + -30, + 113, + 6, + -72, + 48, + -13, + 11, + 77, + 106, + 85, + 84, + 29, + 24, + 81, + 20, + 91, + 126, + 122, + -51, + -71, + 34, + 84, + -65, + 116, + -83, + -13, + 25, + -54, + 14, + -4, + 88, + -87, + -78, + 75, + 119, + 60, + 125, + -54, + -38, + 108, + 32, + 49, + 46, + 74, + -39, + 27, + 41, + -94, + -108, + 3, + 91, + -101, + -24, + 60, + -68, + 63, + -89, + -97, + 16, + 121, + -4, + -121, + 31, + 37, + 73, + 69, + 68, + 98, + 73, + -67, + 53, + 103, + 106, + -23, + 95, + 29, + -115, + -114, + -66, + 124, + 64, + -60, + -72, + -38, + 12, + -112, + -83, + 81, + -108, + -22, + -111, + -74, + 108, + -19, + -42, + -115, + -122, + -35, + 66, + 66, + 74, + -27, + -81, + 69, + 25, + 106, + 35, + 21, + -58, + 20, + -87, + 74, + -93, + 50, + -14, + -116, + -83, + 118, + -91, + 91, + -60, + -118, + -59, + 12, + 79, + 69, + -94, + 112, + 73, + -102, + 110, + -44, + -40, + 81, + -49, + 120, + -103, + 75, + -76, + -20, + -90, + -118, + -109, + 61, + 88, + 56, + 109, + 17, + -42, + 104, + -62, + 60, + 124, + 19, + 83, + -76, + 61, + -44, + 32, + -67, + 87, + 40, + 90, + -13, + -75, + 42, + 42, + -27, + 56, + -63, + 62, + -118, + 9, + -75, + 75, + -24, + 57, + 25, + -100, + -41, + -43, + 110, + 65, + -76, + 39, + -43, + -65, + -125, + -49, + 102, + -49, + 54, + -122, + 95, + 68, + -124, + -61, + 93, + -76, + -117, + 94, + -23, + -69, + 41, + 2, + 15, + 13, + 109, + 99, + 70, + 93, + 71, + -114, + 117, + -8, + -90, + 124, + -116, + -114, + 75, + -81, + 31, + 50, + -63, + -12, + -84, + 40, + -10, + -94, + 65, + 61, + 91, + 13, + -77, + -2, + 109, + -16, + 15, + 5, + -40, + -15, + 34, + 118, + -12, + -2, + 75, + -25, + -36, + 76, + -50, + 122, + -103, + -46, + -72, + 97, + 60, + -30, + -82, + -108, + -66, + 120, + -78, + 88, + 104, + -10, + -126, + -128, + 109, + 78, + -78, + 54, + -116, + 53, + -48, + -43, + 70, + 7, + 12, + -45, + -7, + -48, + 52, + -27, + -79, + 60, + -43, + 37, + -116, + 117, + -94, + 22, + 106, + 70, + -7, + 20, + -55, + -9, + 104, + -41, + 91, + 32, + 126, + -92, + 126, + 92, + 81, + -71, + -121, + 33, + -56, + -57, + -82, + -51, + 59, + 69, + 110, + -101, + -88, + -33, + 111, + 2, + 71, + 79, + -49, + -26, + 5, + 101, + -72, + 29, + 33, + -105, + 108, + 78, + 114, + -3, + 82, + -114, + -85, + 20, + 48, + 32, + -56, + -23, + 86, + -90, + -38, + 47, + 42, + -7, + -84, + -93, + -34, + -3, + -120, + 123, + -48, + -50, + -60, + 120, + -53, + 45, + -83, + 48, + -85, + 86, + -121, + 61, + 36, + -77, + 16, + -21, + -105, + -94, + -83, + 104, + -123, + -79, + -6, + -72, + 8, + -65, + -61, + 117, + -62, + -56, + 54, + -3, + -113, + -112, + -46, + 57, + -83, + 22, + -111, + -42, + 101, + -97, + -114, + 91, + 97, + -66, + 42, + -56, + -75, + -31, + -83, + 28, + -43, + -58, + -17, + 94, + -22, + -23, + 90, + 17, + -19, + 117, + 17, + -47, + -120, + 19, + 76, + 91, + 109, + -34, + -87, + 94, + -68, + 53, + -46, + -83, + 104, + 7, + -24, + -1, + 0, + 101, + 127, + -64, + 63, + -34, + 61, + 63, + -43, + -21, + -11, + 98, + -30, + 127, + -54, + -77, + -1, + 0, + -14, + 7, + -2, + -20, + 63, + -2, + -97, + 84, + 125, + 46, + 106, + 13, + -30, + -77, + -111, + -45, + 106, + -70, + 31, + 72, + -58, + 74, + 45, + -39, + 70, + 108, + -95, + -25, + -16, + 98, + 39, + 119, + -18, + -42, + 115, + 96, + -21, + 83, + -109, + 28, + 36, + 16, + -68, + -3, + -32, + 117, + 35, + -91, + 70, + -98, + 28, + 60, + 116, + -79, + -28, + 13, + -21, + -85, + 104, + -76, + 123, + -67, + 97, + -78, + -103, + 74, + 65, + 26, + -4, + -29, + -76, + 42, + -10, + 75, + -45, + 109, + 108, + -24, + -17, + -59, + 71, + -107, + 109, + 68, + 18, + -125, + 77, + 112, + -83, + -93, + -39, + -86, + -7, + 107, + -96, + 114, + -31, + 96, + -75, + -76, + -87, + -80, + -33, + -38, + 5, + 86, + -52, + 3, + 63, + -42, + 40, + 104, + -120, + -27, + -124, + -114, + -49, + -45, + -76, + 66, + 92, + 6, + -85, + 87, + 61, + -8, + 115, + -12, + -51, + -119, + -59, + -37, + -73, + 50, + -53, + 79, + -48, + 8, + 20, + 49, + 98, + -122, + 35, + 111, + -56, + 76, + 11, + -98, + -26, + 19, + 113, + -120, + 24, + 111, + 41, + 31, + -93, + 46, + -40, + 125, + -38, + -106, + -58, + -39, + -37, + -97, + -117, + 78, + 60, + -128, + -77, + -97, + 80, + -83, + -128, + 8, + -128, + 83, + 75, + 64, + 78, + -46, + -105, + 61, + 82, + -123, + 108, + -67, + -13, + 25, + 116, + -1, + 0, + 6, + -2, + 63, + 105, + -15, + -69, + 76, + -18, + -69, + -101, + 4, + -24, + 34, + -75, + -52, + -69, + 52, + -11, + -11, + 16, + 66, + 90, + -64, + 127, + -56, + 29, + 120, + 85, + 98, + 25, + -126, + 86, + -107, + -50, + -52, + -24, + 67, + -47, + 37, + 118, + -80, + 61, + -128, + 117, + -91, + -86, + 17, + 102, + -53, + -83, + -46, + 52, + -53, + 111, + -114, + 70, + 97, + -48, + -14, + 60, + -71, + -30, + -127, + 6, + 74, + -90, + 50, + -77, + 91, + 89, + -19, + 21, + 108, + -74, + -72, + -87, + 74, + 61, + -110, + 29, + 8, + -112, + 33, + 6, + -11, + 88, + -46, + 61, + 125, + 55, + -74, + -112, + -82, + 59, + 42, + -29, + -54, + -14, + -92, + 90, + 98, + -119, + -62, + -120, + 119, + 32, + -107, + 118, + 14, + 89, + 84, + -97, + -65, + -4, + 54, + 55, + -74, + -102, + -66, + 57, + -31, + -1, + 0, + 16, + 93, + 103, + 91, + -96, + -1, + 0, + 38, + -35, + -68, + 124, + -6, + -38, + 54, + -14, + 125, + 102, + 46, + -97, + 120, + -24, + -105, + -47, + -48, + 109, + 2, + 28, + -91, + -108, + 46, + 66, + -50, + 22, + -120, + -67, + 0, + -46, + 68, + 66, + -128, + -91, + -100, + -51, + -51, + 106, + -122, + 111, + 75, + -96, + 38, + 123, + 56, + -36, + 122, + 92, + -57, + 5, + -127, + -27, + -74, + -103, + -62, + 20, + -20, + -81, + -27, + 103, + 82, + -25, + 109, + -7, + 83, + -82, + -53, + 98, + -24, + 3, + -91, + -84, + -63, + -13, + 3, + 59, + -115, + 81, + 60, + -90, + 108, + 120, + 34, + 122, + 11, + -26, + 10, + 40, + 106, + -104, + 45, + 113, + 63, + -11, + 17, + -121, + 55, + -48, + -108, + 76, + -63, + 85, + -103, + 63, + -34, + -91, + -25, + 66, + -12, + -15, + -29, + 115, + -38, + -36, + -15, + 13, + -71, + 12, + 65, + 108, + -65, + -49, + -119, + 127, + 4, + 113, + -65, + 14, + 123, + 95, + 93, + -21, + -36, + -1, + 0, + 72, + 51, + 93, + 95, + -93, + -127, + 37, + -127, + -31, + -40, + 106, + 71, + 29, + 84, + -18, + 63, + 70, + 127, + 113, + 108, + -42, + -77, + -102, + -105, + -81, + 122, + -114, + -76, + -63, + 53, + 7, + -98, + 13, + -113, + -73, + 71, + -94, + -60, + 126, + 34, + 0, + -13, + -93, + 58, + 41, + 30, + -121, + -117, + 112, + -79, + 104, + 102, + -37, + -63, + -45, + -71, + -31, + 96, + -115, + -100, + 69, + 108, + -101, + -73, + -5, + 109, + 17, + -102, + -102, + -51, + 4, + -84, + 30, + 63, + 4, + 63, + -96, + 19, + -114, + -40, + -79, + -13, + -105, + -75, + 126, + -20, + 119, + 101, + -89, + 72, + 22, + 122, + -104, + 33, + 99, + -26, + 37, + 9, + -19, + 60, + 120, + 76, + -83, + 16, + -112, + 24, + -43, + -23, + -85, + -42, + -73, + 114, + 59, + -4, + 68, + -26, + -80, + 98, + 114, + -40, + 49, + -79, + -124, + -116, + -13, + 24, + -30, + -114, + 88, + -56, + 8, + -117, + 20, + 106, + -115, + -38, + 17, + 122, + -75, + -87, + -46, + 17, + 74, + -37, + 83, + 22, + -96, + 21, + -23, + 60, + -113, + 91, + 100, + -53, + 54, + 72, + 82, + -14, + 75, + 43, + -23, + 118, + -37, + 92, + -78, + 6, + 13, + -87, + -115, + 0, + -90, + -37, + 81, + -96, + 44, + 19, + 70, + -40, + 37, + -17, + 124, + 111, + -20, + 59, + 78, + -115, + -46, + 116, + 33, + -98, + -71, + -43, + -65, + -124, + 0, + 55, + 37, + 61, + -107, + 117, + 41, + 104, + 109, + 12, + 80, + 35, + -101, + -79, + -94, + -122, + -75, + 113, + 21, + -55, + -116, + -73, + -106, + -79, + -98, + 18, + -7, + -55, + 37, + -5, + 22, + -94, + -98, + -4, + -51, + -87, + 5, + 11, + -63, + -32, + -103, + -15, + 95, + -67, + -15, + 97, + -33, + 9, + -63, + -22, + 123, + 14, + 64, + 48, + 66, + -35, + 10, + -128, + -38, + -102, + -52, + -114, + 45, + -60, + 24, + -37, + 124, + -14, + -93, + 6, + 52, + 70, + -81, + 87, + 64, + 104, + -14, + -48, + -108, + -38, + 98, + -61, + -58, + 91, + 69, + -2, + -5, + 17, + -128, + -28, + -86, + 27, + 42, + -36, + 38, + -108, + 61, + -84, + -71, + 60, + 110, + -125, + 93, + -95, + -69, + 78, + 51, + -81, + 40, + 98, + -23, + 12, + -66, + -115, + 105, + -43, + 54, + 27, + 60, + 16, + -67, + -118, + 52, + -18, + 52, + -115, + 81, + -45, + -23, + -81, + -99, + -79, + 98, + -118, + -102, + 123, + 96, + -70, + 82, + 116, + -77, + 19, + -38, + -53, + -105, + -24, + -119, + 75, + 52, + -31, + -91, + 118, + -112, + -72, + 91, + 61, + -74, + 50, + -84, + 127, + -55, + 30, + 36, + -122, + -73, + -84, + 115, + -116, + 38, + 115, + 3, + -90, + -45, + 127, + -66, + 110, + 42, + 21, + -21, + -103, + -18, + 84, + -128, + -38, + 80, + -42, + 24, + 8, + -60, + -52, + 33, + -114, + -114, + 17, + 116, + -11, + -12, + -13, + 102, + -57, + -107, + -79, + -49, + 106, + 28, + -40, + -38, + -56, + 73, + -124, + 23, + 65, + -40, + -63, + 71, + 122, + 8, + 75, + 86, + 113, + 80, + -2, + -125, + -110, + -13, + 79, + -78, + -5, + 59, + -53, + 114, + -15, + -95, + -97, + 60, + 25, + 59, + 9, + -44, + 90, + -68, + 42, + -116, + -30, + 93, + -108, + 58, + -122, + -118, + -124, + 113, + 7, + 100, + 50, + 47, + 102, + -57, + 67, + 29, + 0, + -7, + 115, + -71, + -55, + -111, + 45, + 81, + 69, + 108, + -67, + 13, + 1, + -29, + -79, + 32, + -11, + 61, + 70, + -20, + 55, + 23, + -60, + 85, + -25, + 63, + 42, + -60, + 114, + 76, + -17, + 56, + 27, + -97, + 92, + 55, + 42, + -28, + -111, + 116, + 11, + -5, + 122, + 44, + -1, + 0, + 113, + 23, + -87, + -34, + 110, + -55, + -124, + -54, + 109, + 114, + 101, + 117, + 122, + 83, + -92, + -22, + 87, + -52, + -20, + -25, + -41, + -118, + 41, + -117, + -44, + -103, + -48, + -126, + -83, + -110, + -57, + 100, + 108, + 99, + -14, + -39, + 30, + 125, + -125, + -65, + -99, + 126, + 76, + 52, + 50, + -25, + 93, + -2, + 82, + -88, + -60, + -20, + -112, + -78, + 98, + 113, + 119, + -11, + 55, + 78, + -107, + -49, + -65, + 22, + 30, + -36, + -27, + -117, + -110, + 116, + -107, + -21, + -107, + -102, + -106, + 94, + -38, + 45, + 106, + -10, + -1, + 0, + 13, + -125, + 47, + -48, + 51, + 54, + 98, + -122, + -69, + 74, + -14, + 84, + -59, + 4, + -92, + 55, + 40, + 123, + -9, + 56, + 71, + -46, + 95, + 118, + -1, + 0, + 24, + 61, + 43, + -105, + 65, + -95, + -7, + 105, + -78, + -41, + -13, + -79, + -100, + -41, + -97, + -45, + -58, + -103, + -69, + -51, + -101, + -71, + -98, + 50, + 57, + 9, + 39, + 116, + 96, + -45, + 40, + 72, + -83, + 60, + -53, + -71, + -80, + -5, + -15, + 109, + -83, + 32, + -88, + -99, + -107, + -101, + 66, + 40, + -15, + -61, + 26, + -118, + -29, + 80, + -71, + 116, + -4, + 35, + 17, + 24, + 122, + 69, + -93, + 39, + 119, + 56, + 122, + -53, + 112, + -110, + -24, + 5, + 92, + -73, + -84, + -96, + 40, + -63, + -128, + -8, + -22, + 3, + -92, + -51, + -80, + 106, + -121, + -65, + -5, + 93, + -31, + 21, + -53, + 100, + -82, + -92, + 114, + -108, + 96, + -122, + 90, + 18, + 22, + 76, + 67, + 5, + 100, + 48, + -107, + -79, + 88, + 80, + -102, + -42, + -24, + 53, + -98, + 94, + 95, + 35, + 14, + 44, + -120, + 101, + -106, + 17, + 44, + 106, + -26, + 23, + -116, + 43, + -60, + -18, + -86, + -26, + 23, + 66, + 8, + 14, + -128, + -128, + -22, + -76, + 44, + 85, + -112, + 77, + -57, + 62, + 41, + -107, + 70, + 68, + -72, + -31, + -29, + 105, + 26, + 49, + 41, + 118, + 58, + -103, + 66, + -110, + 9, + 27, + -35, + 16, + 108, + -18, + 46, + -59, + -112, + 111, + -94, + -64, + 95, + 44, + 126, + 80, + -90, + -86, + -57, + 98, + -101, + -106, + 73, + -117, + -28, + -9, + -117, + 94, + 5, + 31, + 49, + 41, + -93, + 29, + 61, + 73, + -13, + -94, + 113, + -102, + 77, + 102, + -89, + 87, + 62, + -16, + -118, + 80, + 9, + -109, + 35, + 24, + 32, + 35, + -100, + 60, + 118, + -85, + 70, + 71, + 34, + 98, + -23, + 2, + 98, + -1, + 0, + -38, + 40, + -60, + 90, + -124, + 88, + -71, + -107, + -40, + 117, + 90, + 47, + -110, + 92, + 62, + -80, + -68, + 76, + -125, + 100, + 59, + -85, + 7, + 126, + 43, + -48, + 29, + -87, + 94, + 40, + -97, + 94, + 112, + 119, + 49, + -123, + 116, + -25, + 111, + -37, + 101, + 50, + -93, + 105, + 92, + -53, + -26, + 36, + -104, + 116, + -81, + 108, + 31, + -107, + 29, + 106, + -44, + 30, + 10, + 9, + 45, + 105, + 51, + 73, + -50, + 63, + 62, + -32, + 92, + -18, + -64, + -22, + 57, + -66, + 113, + 24, + -102, + 20, + -60, + 16, + -96, + 63, + -1, + 0, + -77, + -27, + 92, + -41, + -80, + 106, + -73, + -122, + -57, + 89, + 6, + 35, + 86, + 123, + 69, + -45, + 55, + -71, + 126, + -126, + 63, + 39, + 92, + 60, + -127, + -52, + 86, + 61, + 86, + -83, + 78, + 83, + -60, + -122, + 8, + 97, + 99, + -36, + -14, + -105, + 122, + -77, + -128, + 60, + -3, + 114, + -1, + 0, + 85, + -15, + 127, + -72, + -15, + -67, + 127, + 26, + -46, + -15, + -34, + -88, + 63, + 48, + 56, + 88, + 74, + -41, + -11, + -79, + 105, + 6, + -110, + -57, + 102, + -54, + 28, + -46, + -23, + 42, + -20, + 117, + 22, + -28, + 33, + -116, + 9, + 37, + -52, + -58, + 122, + 13, + -58, + -108, + 64, + 124, + 14, + 66, + 60, + 107, + 4, + 95, + -110, + -89, + 71, + -1, + 0, + 90, + -53, + -21, + 99, + -44, + -12, + -4, + -42, + -76, + -118, + -49, + 82, + -63, + 43, + -69, + 44, + -74, + 14, + -86, + 5, + 73, + -36, + -107, + -95, + -35, + -70, + 20, + -65, + 117, + 125, + 55, + -66, + -106, + 4, + 13, + 20, + -79, + 34, + 35, + -57, + -90, + -107, + 84, + -112, + 64, + 2, + -127, + -44, + 65, + 106, + -24, + 77, + -22, + 52, + -62, + -6, + 1, + -68, + 127, + -78, + 116, + -2, + -10, + 82, + -17, + 31, + -31, + 88, + 125, + 39, + 20, + -91, + 87, + 70, + -30, + 37, + -70, + -95, + -95, + 1, + -123, + -105, + -57, + -27, + 49, + -117, + -90, + -75, + 124, + -108, + 68, + -123, + 88, + -40, + 106, + 15, + 107, + 54, + 90, + 13, + 11, + -50, + -63, + 16, + 2, + 99, + -35, + -112, + -111, + 67, + 13, + -53, + 13, + 50, + 74, + -26, + -113, + -93, + -97, + -113, + -102, + -49, + -113, + -104, + 96, + 121, + -50, + -86, + 31, + 11, + -98, + 30, + 79, + -29, + -42, + 10, + 75, + 90, + 61, + -57, + 113, + -21, + 58, + -19, + 111, + 57, + 35, + -77, + -43, + 63, + 35, + -113, + -79, + 46, + 12, + 14, + 102, + 32, + 116, + -119, + -44, + -126, + -83, + -19, + 13, + -101, + -80, + 79, + -81, + -49, + 107, + 43, + -98, + 124, + -103, + -94, + -39, + -14, + -71, + -30, + 118, + -95, + -101, + 108, + -66, + -93, + -45, + 126, + 70, + -21, + -23, + -14, + 65, + 92, + -25, + 40, + -35, + 46, + 99, + 59, + 56, + -36, + 80, + -99, + -52, + 116, + -128, + -46, + -48, + -127, + -46, + 8, + -26, + 29, + 83, + 67, + 56, + -16, + -102, + -32, + -57, + 53, + 113, + -28, + 3, + 94, + 1, + 1, + -51, + 70, + -113, + 53, + -94, + -24, + 6, + -127, + 17, + 1, + -98, + -60, + 127, + -47, + 13, + -34, + 87, + -97, + -20, + 49, + -55, + -114, + 101, + 57, + 23, + 14, + -20, + 27, + 62, + 1, + -82, + -22, + 90, + 30, + -96, + 61, + -68, + -46, + -10, + 122, + -42, + -37, + -86, + -11, + 30, + -121, + -47, + -74, + 51, + -27, + 45, + -101, + -65, + 120, + -32, + -51, + -98, + 35, + 39, + -90, + 67, + -12, + -61, + -120, + -24, + 19, + 27, + -87, + -53, + 98, + -47, + -128, + -45, + 96, + -52, + -23, + -6, + 39, + 80, + 92, + -119, + -68, + -99, + -78, + 60, + -33, + 47, + -101, + -48, + -22, + -43, + -58, + -119, + -15, + 88, + 21, + 106, + 82, + -53, + -80, + 13, + 109, + 103, + -58, + -113, + -123, + 82, + -125, + 96, + 116, + -82, + 6, + 121, + 82, + 96, + 65, + 4, + 29, + -51, + -109, + -72, + -36, + 121, + -117, + 39, + 97, + 126, + 116, + 110, + -51, + 113, + 10, + 121, + -113, + 61, + 34, + 59, + 99, + 127, + 40, + 24, + -10, + 91, + 86, + 54, + -51, + -41, + 16, + 29, + 38, + 110, + 115, + -118, + 33, + 43, + 21, + -82, + 58, + 104, + -34, + 34, + -74, + -114, + 122, + 38, + -23, + 18, + -93, + 19, + -29, + -115, + -19, + -70, + -63, + -75, + -54, + -121, + -110, + -4, + 58, + 103, + 65, + 61, + 88, + 127, + 10, + 115, + -43, + -54, + -22, + -63, + 7, + -52, + 26, + -76, + 69, + -11, + -125, + -80, + -111, + 39, + -33, + -106, + -24, + -70, + 121, + -111, + -119, + 8, + -72, + -125, + 33, + -53, + 82, + -57, + 78, + -78, + -116, + -44, + 94, + 5, + 21, + 38, + 64, + 86, + -64, + -41, + 95, + -106, + 39, + 87, + -52, + -78, + 33, + -10, + 73, + -39, + -123, + 101, + -118, + -35, + 79, + -92, + -116, + -37, + 27, + -85, + -71, + -57, + -114, + 51, + -102, + -64, + 103, + 43, + 13, + -49, + -121, + -52, + -105, + -65, + -86, + -68, + -111, + 25, + 29, + 94, + -75, + -69, + 116, + 110, + 20, + 41, + 38, + -99, + -78, + 95, + 51, + 84, + -100, + -9, + 90, + 68, + -11, + -56, + -94, + 60, + 82, + -39, + -5, + -124, + -87, + 23, + 16, + 62, + -101, + 42, + -38, + -57, + 4, + -43, + 0, + -19, + -100, + -23, + -87, + -10, + 68, + 31, + 70, + -93, + -23, + 18, + -110, + -123, + -5, + 4, + 66, + -46, + -120, + -100, + -92, + 106, + -125, + -87, + -5, + -128, + 11, + 97, + -23, + 18, + -48, + -111, + -111, + -70, + 75, + -9, + 51, + 102, + 61, + -76, + -93, + 43, + 75, + 29, + -94, + 117, + -108, + 112, + 106, + -19, + 7, + 44, + -76, + -14, + 48, + 85, + 98, + 54, + 59, + 31, + 67, + 66, + -127, + -23, + 103, + -22, + -70, + 84, + 124, + 72, + 11, + 16, + 54, + -83, + -4, + 107, + -31, + -18, + -37, + 111, + -97, + 9, + -64, + -127, + 117, + 115, + 114, + -5, + 58, + 61, + 85, + -42, + -2, + -27, + -89, + 109, + 13, + 56, + -8, + -22, + 91, + -87, + 9, + 59, + -39, + -46, + -75, + 32, + -76, + -46, + 21, + 43, + 73, + -17, + 9, + 107, + 99, + 38, + -71, + 13, + -41, + -57, + 125, + 43, + -88, + -85, + 50, + 84, + -79, + 74, + -11, + 43, + 118, + 110, + 13, + 37, + 2, + 10, + -108, + -44, + -37, + -92, + 118, + -79, + 89, + -58, + 14, + -45, + -34, + -83, + 81, + -18, + -94, + -24, + -110, + -8, + -95, + -41, + 71, + 13, + -89, + 5, + -23, + -48, + -83, + 98, + 0, + -28, + -85, + 70, + -37, + -102, + 40, + 117, + -112, + -46, + -68, + -91, + 103, + 48, + -119, + 75, + -20, + -77, + 122, + 48, + -12, + -33, + -95, + -98, + 125, + 2, + -104, + 12, + -3, + -20, + 87, + 60, + 61, + 6, + -63, + 45, + -121, + 41, + -110, + 19, + -51, + 63, + -42, + 115, + -20, + -73, + 90, + -26, + 10, + 60, + -93, + 45, + 29, + -38, + 31, + -47, + -113, + -46, + 83, + -101, + 43, + 44, + 55, + 37, + 117, + 74, + 114, + -36, + -68, + 45, + -122, + -51, + -119, + 52, + -31, + -111, + 89, + -66, + 82, + 57, + 114, + -112, + -76, + -31, + -85, + 67, + 46, + 12, + -73, + 102, + -8, + -69, + -72, + 59, + 123, + -69, + -91, + 50, + 25, + -118, + -41, + 111, + 19, + -121, + 67, + -100, + -72, + 48, + 121, + -110, + 54, + 103, + -90, + 83, + 81, + 25, + 11, + -61, + 2, + -50, + 46, + -115, + 75, + -124, + -2, + -71, + -28, + -73, + -83, + -126, + -59, + -73, + -48, + -83, + 60, + 22, + -20, + 72, + 76, + 114, + 8, + 36, + 27, + 6, + -1, + 0, + 110, + 15, + 48, + -94, + 7, + -112, + -6, + -37, + -61, + 123, + -31, + -128, + 111, + 32, + -108, + -59, + -37, + -124, + 65, + 25, + -78, + -112, + 56, + -121, + -28, + 58, + -52, + 32, + 35, + 54, + 64, + 61, + -110, + 20, + 108, + -103, + 123, + 18, + -77, + -95, + 20, + 94, + -32, + 22, + 2, + 29, + 99, + 67, + 118, + -64, + -52, + -96, + -96, + 20, + -123, + 45, + 8, + 32, + -70, + -123, + -89, + -83, + 8, + -19, + 94, + 84, + 83, + -94, + 114, + -3, + 104, + 51, + -95, + 43, + 94, + -55, + -24, + -24, + 93, + 61, + 75, + 51, + -96, + -74, + 62, + -27, + 59, + 53, + -76, + 18, + -74, + 33, + -110, + -23, + -62, + 64, + 121, + -75, + -19, + -61, + 96, + 116, + 23, + 43, + 89, + 12, + -7, + 101, + 37, + 76, + 76, + -22, + -14, + 21, + -18, + 69, + 111, + -17, + -71, + 28, + -103, + -47, + -78, + -98, + -128, + -115, + 13, + 30, + -14, + 69, + 38, + 50, + -92, + -79, + 1, + 124, + -103, + -51, + -10, + 117, + 69, + -116, + 29, + 28, + 87, + -29, + -106, + -75, + 49, + -31, + -96, + 118, + -126, + 97, + 35, + 13, + 67, + -31, + -112, + 95, + 22, + 80, + -127, + 121, + 52, + 46, + 38, + 10, + -72, + -63, + -79, + 54, + -63, + -106, + 27, + 74, + 127, + 34, + -88, + 60, + -103, + 64, + -93, + -24, + 92, + 28, + -54, + 117, + 96, + 37, + -105, + 41, + 111, + -21, + -73, + 86, + -67, + 56, + -106, + -68, + -107, + -62, + -92, + -41, + -21, + -25, + 91, + 84, + 123, + -98, + -30, + 116, + 102, + -83, + -30, + 91, + -118, + -93, + 109, + 13, + 23, + 116, + 124, + -113, + -3, + 58, + 4, + -114, + -124, + -113, + 42, + 38, + -18, + -58, + -30, + -68, + 118, + -31, + -77, + 70, + -81, + -9, + -128, + 32, + -35, + -125, + -48, + -125, + -44, + 124, + 124, + 120, + -68, + 110, + 11, + -34, + 123, + -89, + 78, + 31, + 45, + 43, + -35, + 14, + -104, + 66, + 89, + 122, + -15, + -78, + -75, + -84, + -66, + 122, + -27, + -56, + -120, + 81, + -68, + 51, + 56, + 34, + -29, + -53, + -36, + 117, + 77, + 69, + -37, + -124, + -89, + -69, + -108, + -124, + -60, + -118, + -75, + 107, + 84, + -91, + 116, + -63, + 90, + 52, + -106, + -128, + -104, + -125, + 8, + -84, + 63, + 85, + -89, + -50, + 62, + 112, + -113, + -56, + 5, + -78, + -54, + 35, + 115, + -14, + -42, + -118, + 106, + -75, + 68, + -91, + 59, + 4, + 67, + 29, + 120, + -71, + 63, + 57, + -86, + -30, + 16, + 5, + -74, + 18, + -36, + -53, + 4, + -125, + -95, + -118, + -21, + -100, + -49, + -57, + 101, + -89, + -63, + 101, + -19, + -6, + -120, + 11, + -126, + -112, + -3, + 0, + -106, + 111, + -26, + 50, + 19, + 126, + 5, + -68, + -57, + -10, + -23, + -23, + -17, + -31, + -101, + -31, + -58, + 90, + -47, + 99, + 11, + -75, + 10, + 27, + 125, + -37, + -16, + 62, + 59, + -11, + 63, + -79, + -18, + 31, + -98, + 37, + -102, + 56, + 76, + -112, + 59, + 64, + -59, + 100, + -108, + 86, + 80, + 64, + 75, + 121, + 108, + -123, + -27, + 34, + 11, + 58, + -75, + -86, + 86, + -93, + 79, + 59, + -99, + 33, + 118, + -88, + 120, + -37, + 68, + 106, + 125, + 117, + -61, + 62, + 64, + -12, + 93, + 52, + 13, + 69, + -3, + -74, + -65, + -42, + -40, + 31, + -113, + -87, + 116, + -68, + -82, + 75, + -100, + -12, + 52, + 21, + -81, + -50, + 14, + -34, + 2, + -25, + -41, + -12, + -30, + -60, + 126, + -28, + 34, + -15, + -6, + -107, + 95, + 53, + -24, + 6, + 29, + -81, + -105, + -79, + 44, + -45, + -34, + -113, + -9, + 26, + 23, + 43, + 80, + -114, + 122, + 86, + 7, + 28, + 33, + 77, + -12, + 106, + -91, + -90, + -56, + -22, + 81, + 49, + -93, + -49, + 6, + -45, + -118, + -94, + 123, + 44, + 120, + 121, + 60, + -98, + -80, + 16, + -30, + -71, + -35, + 6, + 118, + -12, + 36, + -64, + -98, + -49, + -102, + -86, + -124, + 69, + -111, + -92, + 64, + 117, + -81, + -58, + 36, + 36, + -83, + 11, + -108, + -18, + -44, + -71, + 94, + 89, + -93, + 37, + 78, + -51, + 121, + -101, + 58, + 50, + 101, + -98, + -49, + 58, + -65, + 55, + -66, + 65, + -12, + -49, + -113, + -65, + 34, + 123, + 46, + 115, + 37, + 74, + -127, + -84, + -3, + -48, + 101, + -125, + 1, + -53, + -97, + 17, + 122, + 65, + 66, + -103, + -41, + -21, + 115, + 61, + -114, + -73, + 115, + -99, + 80, + -109, + -43, + 49, + 37, + -95, + -37, + -20, + -61, + 73, + 14, + 47, + 2, + 26, + 19, + -106, + -36, + 46, + -108, + -36, + -125, + 98, + 45, + 119, + 86, + -121, + 115, + 30, + 97, + 62, + 70, + 62, + 60, + 120, + -40, + -64, + -76, + -77, + -125, + -118, + -110, + 22, + -48, + -55, + 33, + -123, + -126, + 72, + 2, + 42, + -88, + 96, + 87, + 80, + 32, + 0, + 8, + 20, + -108, + 123, + -74, + 5, + 101, + 118, + 98, + 105, + 116, + -9, + -120, + 55, + 85, + 98, + -58, + -28, + -102, + -34, + -70, + -109, + -26, + 111, + -84, + -55, + -8, + -103, + -41, + -87, + -122, + -21, + -91, + -12, + 100, + 119, + 88, + 2, + 91, + 51, + -12, + -70, + 47, + 57, + -27, + -72, + 40, + 11, + -32, + 44, + -53, + -117, + 41, + -114, + -46, + -88, + 10, + -6, + 16, + -78, + 90, + -38, + 108, + -83, + 74, + 119, + -3, + 46, + -43, + -53, + 70, + 13, + 83, + 66, + 100, + 47, + -45, + 63, + -89, + 13, + -94, + -126, + 33, + 88, + -110, + 76, + -103, + -36, + 53, + -14, + 7, + -86, + -45, + -23, + 52, + 32, + 42, + -95, + 65, + -113, + -81, + 5, + 7, + 19, + -44, + -17, + -43, + 51, + -63, + 74, + 90, + 48, + 55, + 58, + 69, + 14, + -63, + 62, + -121, + 105, + -102, + -104, + -48, + -25, + -120, + -78, + 84, + -11, + -101, + 87, + -104, + 38, + -122, + 80, + 72, + 35, + 2, + -126, + 20, + 62, + 94, + -48, + -4, + 46, + 115, + -105, + -22, + -67, + 103, + -109, + 73, + -15, + -20, + 14, + 83, + 44, + 36, + -35, + -40, + 121, + -74, + -81, + 86, + 4, + 77, + 61, + 74, + -46, + 15, + 32, + -2, + 105, + -94, + -48, + 106, + -11, + 23, + 32, + 97, + -16, + -41, + 73, + 92, + 53, + -86, + 7, + 67, + 105, + 24, + -85, + -121, + 111, + 72, + 24, + 114, + 90, + -108, + 89, + 74, + -71, + 9, + 47, + -40, + -68, + 72, + -59, + -83, + 124, + 48, + -64, + -107, + -109, + -118, + -123, + 47, + -113, + -18, + -101, + 122, + -32, + 115, + 90, + 24, + 116, + 69, + 121, + -4, + -102, + -5, + -103, + 23, + 101, + -78, + 122, + 123, + -64, + 46, + -37, + 120, + -52, + -18, + 51, + 77, + 16, + 51, + 116, + 44, + -39, + -108, + -107, + 114, + -6, + -62, + 89, + 74, + -8, + -19, + 40, + 122, + 90, + 106, + -49, + 25, + -107, + 52, + 61, + -123, + 105, + -28, + 126, + -46, + -5, + 59, + -109, + -121, + -118, + 123, + 92, + -4, + -97, + -79, + -30, + -28, + 79, + 14, + 46, + 44, + -72, + -28, + 11, + 102, + 36, + 79, + -4, + 41, + 108, + 49, + 77, + 21, + -38, + 106, + 81, + -72, + 18, + 21, + 0, + 21, + -31, + -54, + -111, + -36, + 22, + -115, + 85, + -39, + 84, + -106, + 86, + -86, + -86, + 5, + 119, + 83, + -79, + 36, + -43, + 81, + 59, + 122, + 113, + 113, + -36, + -1, + 0, + -82, + -119, + -8, + -46, + -46, + -6, + 62, + -127, + 32, + -51, + 78, + -113, + 89, + 28, + -92, + 8, + -11, + 83, + 122, + 108, + -3, + 61, + 49, + 6, + -37, + 11, + 85, + -128, + -14, + -48, + 86, + -57, + 102, + 45, + -26, + -12, + -106, + -81, + 46, + 112, + 97, + -52, + -19, + 97, + -107, + 115, + -44, + -61, + -25, + 14, + -110, + 25, + 92, + 108, + -115, + 3, + 41, + 125, + 83, + 48, + 115, + -28, + 14, + -109, + 85, + -44, + 59, + 64, + 28, + -81, + 87, + -60, + 115, + 29, + 85, + 14, + 76, + 2, + -63, + 78, + -31, + -95, + 76, + -127, + 89, + 56, + 8, + 18, + -35, + 78, + -42, + 71, + 77, + 90, + -43, + 35, + -82, + 37, + -104, + 93, + 46, + -24, + -34, + 79, + 12, + 30, + -104, + 29, + 118, + -82, + 48, + -10, + -53, + 87, + -87, + 120, + 126, + 106, + -10, + 107, + 39, + 110, + 61, + 117, + 21, + -4, + -62, + -7, + 112, + -34, + 69, + 117, + -36, + 127, + -114, + -63, + -96, + -43, + -10, + 127, + -10, + -27, + 109, + -85, + 122, + 2, + 7, + -12, + 3, + 96, + -95, + 61, + 104, + -76, + 65, + 11, + 87, + 75, + 102, + -17, + -24, + -11, + 70, + 10, + 110, + 52, + 7, + 116, + -8, + 113, + 123, + 29, + 23, + 71, + -98, + -68, + -92, + 36, + 60, + -70, + 107, + 64, + 47, + 0, + 8, + 64, + -41, + -30, + -65, + 69, + -39, + 113, + 62, + 26, + 115, + 78, + 108, + 14, + -112, + -1, + 0, + 69, + -24, + -3, + 34, + -3, + -67, + -33, + 70, + -102, + -104, + -16, + 53, + -83, + -12, + 18, + 92, + -21, + -49, + 51, + -26, + 37, + 79, + -99, + 21, + -106, + 54, + 18, + -81, + 54, + 65, + 47, + -11, + -49, + 99, + -50, + 80, + 90, + -96, + 119, + 122, + -38, + 52, + 13, + -29, + 113, + -41, + -57, + -34, + -47, + 75, + 114, + 92, + 111, + 105, + 57, + 79, + -77, + 39, + 36, + 118, + 43, + 20, + -13, + 42, + 114, + 108, + 51, + 20, + 17, + 101, + -52, + -14, + -74, + -87, + 115, + 101, + 93, + 32, + -116, + 80, + -87, + 35, + -10, + -77, + 7, + -106, + 73, + 10, + 104, + 97, + 25, + 71, + 60, + 39, + -115, + -14, + -69, + 52, + 82, + -18, + -119, + -82, + 87, + 32, + -68, + 75, + -92, + -83, + 37, + 29, + 65, + -100, + -102, + 26, + 13, + -87, + 80, + 117, + 14, + -86, + 93, + 127, + -112, + -100, + -109, + 19, + -88, + -21, + 125, + 41, + -114, + -87, + -69, + -37, + -105, + -89, + 48, + 90, + 57, + -45, + 29, + -24, + -111, + -98, + -81, + -65, + -120, + 113, + 60, + -56, + -19, + -34, + 52, + 70, + 82, + 61, + -64, + 5, + 92, + -48, + 18, + 115, + -20, + 45, + -22, + 38, + -59, + 83, + -55, + -44, + 22, + 8, + 61, + -39, + -59, + 89, + 25, + 35, + 90, + -108, + 81, + 23, + -47, + -7, + -32, + -67, + -32, + 122, + 89, + 110, + -90, + 45, + -36, + -65, + 69, + -98, + 19, + 94, + 44, + -51, + 70, + 99, + 51, + 97, + 67, + -42, + -50, + 50, + 75, + 5, + -79, + 98, + -127, + -103, + -71, + -102, + -25, + 6, + 64, + -13, + 42, + 19, + 21, + 52, + 32, + 109, + 91, + 91, + -69, + 36, + 46, + -46, + -9, + 96, + 49, + -9, + 7, + 115, + -78, + -50, + 23, + -77, + -15, + -61, + -67, + 87, + -23, + 29, + 67, + 81, + -76, + -22, + -67, + -117, + 15, + -51, + 116, + -127, + 114, + 53, + -116, + 103, + -76, + 90, + 0, + 89, + -9, + -42, + -109, + 102, + 33, + 50, + 60, + -16, + 76, + -71, + -16, + -106, + 6, + -62, + 7, + 102, + 120, + 56, + -54, + -38, + 18, + -104, + -1, + 0, + -38, + 47, + 90, + -44, + -41, + -47, + 9, + 23, + 98, + -70, + 21, + -85, + 49, + 82, + 4, + 101, + -18, + -53, + -85, + -30, + 115, + -37, + 45, + 69, + -72, + -77, + -83, + -20, + 7, + 114, + -6, + 96, + -71, + 109, + 81, + -51, + -22, + 65, + -76, + 20, + 55, + 65, + -99, + -46, + -38, + -54, + 2, + 118, + -33, + 102, + 56, + 41, + 12, + -74, + 97, + -31, + 13, + 67, + 112, + -123, + 36, + -57, + 100, + -128, + -24, + -1, + 0, + 102, + 120, + 38, + -40, + -88, + -36, + 1, + 82, + 26, + 31, + -46, + -16, + 123, + 93, + -19, + 103, + 33, + -98, + 76, + 87, + -19, + -77, + -116, + -79, + -84, + -78, + 44, + -55, + 36, + -104, + -15, + 74, + -63, + 9, + 49, + 51, + 5, + 88, + -95, + 64, + 15, + -16, + -47, + -29, + -119, + 67, + -83, + 47, + 78, + 44, + 48, + 115, + 73, + -45, + 22, + 76, + 119, + -115, + 100, + -126, + 69, + 42, + -53, + 52, + 96, + 81, + 58, + 65, + 42, + 64, + 5, + 69, + 116, + 8, + 64, + 4, + -40, + -33, + 126, + 43, + -57, + -83, + 117, + -18, + -15, + -115, + -89, + -106, + -28, + 0, + 122, + 69, + 12, + -26, + 82, + 124, + -79, + 106, + 9, + -67, + -56, + -24, + 104, + -39, + 11, + -88, + -51, + -33, + -113, + -13, + -9, + 68, + -81, + -47, + -53, + -33, + -106, + -74, + 99, + -16, + -80, + 107, + 37, + -61, + 57, + -68, + -4, + -70, + 49, + 56, + 58, + -42, + 69, + -47, + -54, + 75, + 40, + -84, + -84, + 37, + -23, + -65, + 120, + 114, + 60, + -116, + 8, + 108, + -122, + 59, + -93, + 116, + -41, + -77, + -103, + 66, + -51, + 54, + 27, + 83, + -108, + -104, + -80, + 64, + 36, + 100, + 36, + 14, + 81, + 1, + -20, + -26, + -74, + -75, + -91, + -3, + -64, + 9, + -104, + 43, + 7, + 17, + -97, + 16, + -29, + -103, + 105, + 62, + -6, + -16, + 60, + -67, + -24, + 115, + -104, + -56, + 7, + 72, + -47, + -18, + -58, + -57, + -29, + 48, + -125, + -46, + -55, + 91, + 103, + 83, + 47, + -105, + -24, + -38, + 42, + 23, + 8, + -128, + 59, + -51, + -85, + 6, + -81, + -103, + -51, + 66, + 126, + 43, + -61, + 93, + 110, + -110, + -87, + 21, + 102, + -102, + -67, + -71, + 116, + 22, + -83, + 29, + -116, + -52, + -93, + 117, + 53, + 127, + 125, + 124, + 55, + -87, + 4, + 9, + -96, + -49, + 16, + -56, + 65, + 13, + -49, + 41, + 23, + -15, + 127, + -96, + -112, + -58, + 8, + 31, + 87, + -90, + -17, + 111, + 75, + -78, + 81, + -60, + 65, + -98, + -80, + 50, + -96, + -39, + 77, + -75, + -84, + -80, + -45, + 120, + -120, + 106, + 87, + -89, + 104, + -58, + 104, + 57, + 43, + 7, + 115, + 110, + 55, + 108, + -100, + 60, + -13, + 18, + 72, + 29, + 107, + 122, + -125, + -7, + 42, + 73, + 52, + -38, + 47, + -78, + -66, + -43, + -29, + 123, + 69, + 27, + -61, + 39, + -16, + -71, + -100, + 22, + 114, + 35, + 88, + -118, + -60, + -32, + -102, + 89, + 33, + -110, + -35, + 74, + -39, + 10, + 84, + -80, + 112, + -63, + -103, + 87, + 69, + 19, + 92, + -104, + 60, + 108, + 88, + 32, + -20, + -37, + 112, + 3, + 22, + 0, + 26, + -80, + 67, + 27, + -69, + 61, + 108, + -20, + 119, + 60, + 75, + -106, + 113, + -66, + 51, + -96, + -21, + -48, + -59, + -53, + -12, + -99, + 37, + -91, + 52, + 23, + -50, + 99, + 101, + -52, + 80, + 24, + 26, + -75, + -35, + 69, + 13, + 81, + 113, + -122, + 36, + 5, + 48, + -79, + -28, + 50, + -93, + 40, + -119, + -92, + -53, + -63, + 55, + 51, + -105, + -106, + 12, + -47, + 89, + -82, + 71, + 6, + -128, + 21, + 2, + -102, + 10, + -30, + -60, + -50, + -69, + -19, + 124, + -4, + -81, + 92, + -29, + 116, + 62, + 56, + -100, + 15, + -94, + -58, + 39, + -17, + -108, + 117, + -71, + -47, + -6, + -16, + -111, + 15, + 30, + 15, + 50, + 95, + 7, + -93, + 20, + 39, + 59, + -103, + 8, + 46, + -100, + 26, + 16, + -43, + 72, + -112, + -114, + -35, + 51, + 103, + -81, + 86, + 23, + -115, + 40, + 12, + -66, + -66, + -12, + 3, + -92, + -40, + 100, + 64, + -115, + -76, + -70, + -29, + 37, + 48, + 121, + 79, + -113, + 121, + -39, + 42, + -121, + 94, + -124, + 122, + 114, + -95, + 58, + -73, + 99, + 57, + -73, + -42, + -36, + -3, + -18, + -104, + 96, + -44, + -122, + -22, + -74, + -38, + -112, + 68, + 110, + -108, + 97, + -115, + -75, + -114, + 118, + 77, + -29, + -121, + 9, + -49, + 94, + -79, + 86, + -79, + 71, + -43, + -43, + -60, + 44, + -123, + 104, + 53, + 14, + -47, + -40, + -111, + 60, + -128, + 97, + 90, + -7, + 17, + 21, + -114, + 8, + -114, + -32, + 115, + -92, + 79, + 25, + 5, + -50, + 98, + -50, + -83, + -45, + -71, + -128, + -60, + -51, + 127, + -73, + -55, + -105, + 53, + -97, + -122, + 34, + 83, + -57, + -70, + -59, + -65, + 62, + -10, + 76, + -8, + -120, + 90, + -95, + -108, + -75, + 97, + 113, + -76, + -89, + -95, + 40, + 14, + 119, + -101, + -85, + 101, + 124, + -87, + 33, + -108, + 41, + 66, + -56, + 8, + -46, + -60, + -18, + 8, + 34, + -113, + 79, + 31, + 13, + -81, + -96, + -13, + -29, + -105, + 29, + 38, + 77, + 66, + -125, + 108, + 72, + -9, + -11, + -34, + -10, + -40, + -97, + 42, + -13, + -70, + -30, + -88, + -22, + -28, + -33, + 17, + -101, + -8, + -31, + 57, + -83, + 36, + -19, + -96, + -45, + 15, + -92, + 15, + 45, + -105, + -126, + -128, + 89, + 67, + -39, + 53, + 126, + -99, + 87, + 104, + 64, + -27, + -78, + -73, + 71, + 100, + 57, + -15, + -53, + -43, + 35, + -91, + -104, + -73, + 119, + -46, + -44, + 100, + -19, + 86, + 81, + 54, + -34, + 90, + 123, + -86, + 50, + 71, + 115, + -33, + -114, + 59, + -96, + -41, + 68, + -35, + -37, + 7, + 4, + 26, + -101, + 73, + 13, + 29, + 37, + 28, + -10, + -104, + -103, + -21, + 89, + -94, + -91, + -23, + 66, + 97, + -12, + -84, + 95, + -78, + 56, + 13, + -86, + 27, + 42, + 127, + -105, + 5, + -37, + 26, + 26, + -42, + -22, + 91, + 21, + 29, + -15, + -9, + 34, + -100, + -115, + -37, + 21, + -81, + -100, + -79, + -12, + -27, + 60, + -118, + 66, + -38, + -21, + 28, + -106, + -79, + -34, + 77, + -86, + -24, + 68, + 44, + -29, + -70, + 49, + -116, + -75, + -14, + -94, + -26, + -35, + 27, + 13, + -2, + -68, + -122, + -122, + 71, + 126, + -111, + 56, + 47, + 11, + -35, + -77, + 13, + -101, + 38, + -126, + -12, + -75, + 25, + -7, + 96, + -21, + -109, + -47, + -21, + 41, + 90, + -111, + -18, + 56, + 74, + -22, + 62, + 41, + -60, + -23, + -32, + 27, + -51, + 118, + 124, + -67, + -29, + -78, + 120, + -79, + -110, + 104, + -11, + -48, + -26, + -28, + -113, + 48, + 3, + 18, + -58, + -116, + 121, + 74, + 64, + -71, + 22, + -116, + 46, + 120, + 48, + -46, + 84, + 69, + -106, + -50, + 10, + -55, + 92, + -91, + -88, + 55, + -125, + 24, + 68, + 117, + 70, + 82, + -70, + -3, + 125, + -35, + 21, + -54, + -39, + 101, + 100, + -52, + 102, + 1, + 116, + -9, + 90, + -73, + -11, + -95, + 99, + -62, + -86, + -4, + -9, + -8, + 30, + 19, + 72, + 66, + -101, + -78, + 25, + 104, + -112, + 118, + -37, + 109, + -58, + -5, + -125, + 64, + 120, + -17, + -41, + 122, + -72, + 64, + 95, + -101, + 92, + 16, + 111, + -86, + -91, + 48, + -23, + 109, + 104, + 3, + 93, + 86, + 96, + -71, + 72, + -122, + -24, + 49, + 68, + -118, + -106, + -93, + 114, + 125, + -83, + 9, + 127, + -36, + 68, + -103, + -73, + -120, + -87, + 1, + 59, + 97, + 100, + -48, + -101, + -73, + -83, + 49, + -86, + -34, + 69, + 93, + -81, + -115, + 44, + -66, + -123, + -103, + 25, + 5, + 117, + 67, + -87, + 101, + -54, + 22, + 1, + 79, + 36, + 95, + -92, + -10, + 77, + 94, + 54, + 9, + 105, + -19, + 114, + -80, + -127, + -84, + 58, + -115, + -53, + -51, + 46, + 48, + -45, + -23, + -45, + -50, + 94, + -52, + -38, + -50, + 16, + -89, + 32, + -46, + 127, + -112, + 32, + 78, + 123, + 15, + 99, + 63, + 78, + -78, + 94, + -75, + -109, + 53, + 108, + 56, + -93, + 119, + -19, + 31, + 115, + -60, + 58, + -105, + -55, + 115, + 57, + -127, + -40, + -86, + 2, + 50, + 38, + -7, + -79, + 114, + -102, + 12, + 70, + -123, + 54, + -118, + 32, + -98, + -128, + 32, + 93, + 29, + 57, + 68, + -21, + -113, + -121, + 15, + 87, + 47, + 120, + -101, + -91, + 12, + 72, + 80, + -47, + -63, + -105, + 52, + 30, + -108, + 23, + -126, + 76, + -70, + 3, + 17, + -120, + -65, + 24, + -62, + -65, + 83, + -70, + 23, + -8, + -22, + 8, + 32, + 108, + 23, + 0, + -121, + 81, + -38, + -10, + -83, + -124, + 45, + -15, + 85, + 71, + -50, + 68, + 20, + 99, + -77, + 34, + 26, + 74, + 83, + 81, + 7, + -52, + -79, + -3, + 2, + -103, + -71, + 108, + 18, + 32, + 36, + 97, + 107, + -44, + -117, + -41, + -94, + 107, + 29, + 102, + -83, + -115, + 16, + 23, + -116, + 32, + 52, + 41, + -15, + -27, + 120, + 88, + 10, + 37, + 91, + -58, + -10, + 102, + -38, + -20, + -8, + 1, + -3, + 56, + 9, + 21, + 37, + 83, + -72, + 14, + -75, + 96, + 110, + 64, + -38, + -119, + -11, + 32, + 117, + -7, + -6, + 80, + 38, + -118, + 110, + -37, + -125, + 11, + 35, + 74, + 80, + -45, + 9, + 15, + 118, + -116, + 72, + -23, + -75, + 86, + 111, + 27, + -128, + 124, + 22, + 110, + -127, + -95, + 16, + -15, + -76, + -101, + 25, + 16, + -46, + 29, + 59, + 70, + 56, + 65, + 18, + -59, + 83, + 91, + -122, + 103, + -49, + 21, + -78, + 84, + -91, + 42, + 95, + -75, + 59, + 71, + 78, + 54, + -20, + 54, + 112, + -33, + -87, + 72, + -121, + -28, + 64, + 118, + -35, + -106, + -53, + 67, + -45, + -14, + 8, + 79, + 11, + 6, + 65, + 66, + 8, + -92, + -98, + 90, + -9, + 106, + 54, + 102, + 61, + 110, + -51, + 52, + 53, + -39, + 53, + 122, + 87, + 104, + -61, + 90, + -85, + 89, + 89, + 21, + 43, + -75, + 39, + 95, + 86, + -53, + 118, + -93, + 26, + -42, + -65, + 115, + 87, + 84, + 112, + -100, + -60, + -99, + 94, + 59, + -117, + -48, + -29, + 39, + 106, + 91, + 90, + -35, + 13, + 50, + 84, + 117, + 106, + 78, + -116, + -124, + 40, + -49, + 113, + -89, + -118, + 72, + 78, + 90, + 104, + -78, + 76, + 82, + -101, + -27, + 86, + -116, + -118, + 41, + 7, + -72, + 124, + 92, + -19, + 112, + 38, + 16, + -66, + -82, + -54, + -121, + 106, + -106, + 23, + 108, + 48, + 38, + -54, + 72, + -109, + -18, + 17, + 97, + -54, + -31, + -28, + -100, + -121, + -25, + -59, + 56, + 12, + -20, + 105, + 116, + 17, + 54, + -71, + 44, + -48, + -100, + 29, + 121, + -124, + 29, + -85, + 32, + -21, + -43, + -85, + 91, + 5, + 93, + 101, + -99, + -119, + -43, + -76, + -12, + 36, + -41, + 67, + 99, + 122, + 29, + 110, + -57, + -105, + -4, + -41, + 17, + -114, + 10, + -22, + 4, + -19, + -21, + -79, + -16, + -7, + 88, + -67, + -65, + -65, + 17, + 47, + 69, + 68, + -115, + 107, + 17, + -49, + 36, + 109, + -93, + 90, + -61, + 27, + 36, + 80, + 89, + -78, + -55, + 95, + 28, + -109, + -73, + -14, + -36, + -49, + 49, + 44, + -46, + 53, + -52, + -114, + 120, + -29, + -107, + -109, + -69, + -18, + 73, + -29, + -105, + -17, + 108, + 50, + -1, + 0, + -15, + 107, + -113, + -42, + -78, + -117, + -73, + 118, + -45, + -91, + 37, + 59, + -27, + -78, + -8, + -106, + 95, + -58, + 115, + -92, + -110, + 58, + -111, + -67, + -24, + -111, + -60, + -40, + -100, + -84, + 103, + -108, + 99, + 26, + -27, + -107, + -110, + 72, + -98, + 30, + -116, + -10, + 119, + -3, + -38, + 63, + 82, + 96, + 41, + 3, + -91, + -41, + -12, + -4, + -6, + 125, + 30, + 35, + 91, + 89, + 39, + -81, + 95, + 63, + -81, + -82, + -67, + 15, + 29, + 98, + -18, + -66, + 101, + 124, + -71, + -8, + -1, + 0, + -16, + 91, + -103, + -10, + 44, + -1, + 0, + 60, + -28, + 121, + -20, + 96, + -115, + 69, + 110, + 112, + -71, + -19, + 8, + 19, + 58, + 66, + -71, + 92, + 116, + 63, + -70, + 73, + -107, + 45, + -111, + -108, + 73, + 78, + 99, + -104, + -79, + -107, + -49, + 86, + -127, + 121, + 53, + 49, + 21, + 7, + -49, + 124, + 45, + -52, + -106, + 114, + -4, + -9, + -19, + 55, + 92, + 102, + 62, + 125, + 65, + -35, + -53, + -26, + -65, + 69, + -7, + 73, + -70, + -85, + -84, + -17, + 45, + 26, + 98, + -48, + -48, + -16, + 5, + 29, + 75, + 32, + 8, + 86, + 93, + -46, + -122, + -117, + 98, + 119, + 79, + 72, + 68, + -58, + 99, + -69, + 98, + -43, + 8, + 5, + -57, + -93, + -104, + 72, + -37, + -105, + 96, + 54, + -56, + 65, + -48, + 23, + 49, + 81, + -27, + 77, + 41, + -126, + -26, + 58, + -7, + -7, + -62, + -1, + 0, + -115, + -65, + 44, + -66, + 43, + 89, + -49, + 107, + -76, + 35, + -124, + -127, + -80, + -38, + -102, + 1, + 100, + -18, + -62, + 58, + -114, + -109, + 20, + 102, + 63, + -53, + 24, + 7, + 115, + 84, + 113, + 121, + -88, + -38, + -126, + -83, + 18, + 22, + 111, + -120, + 114, + 82, + -77, + 81, + -90, + 107, + 25, + -77, + -101, + -78, + 78, + 102, + -106, + -72, + 62, + -25, + 28, + -28, + -66, + 38, + -106, + -67, + 111, + -89, + 104, + 48, + -3, + 12, + 10, + 98, + -71, + -52, + -89, + -59, + -94, + -21, + 75, + 7, + -57, + 110, + -76, + -44, + -62, + 56, + 64, + 29, + 9, + 33, + -39, + 11, + 38, + -84, + -91, + 112, + 71, + 39, + -69, + 113, + 51, + 50, + 93, + 33, + 94, + -18, + -92, + 119, + -31, + -122, + -88, + 45, + -27, + 108, + -76, + 74, + -47, + -71, + 92, + -68, + -94, + 124, + 98, + 114, + 59, + 61, + 97, + -106, + 72, + -91, + 96, + -44, + 80, + -124, + 49, + -24, + 96, + 90, + -101, + 85, + -118, + 32, + 49, + 29, + 110, + -119, + 19, + 121, + 120, + -71, + -23, + -100, + 74, + -57, + 34, + 70, + 36, + -87, + 33, + 7, + -18, + -80, + 54, + -22, + 84, + -43, + -118, + -34, + -5, + -53, + 125, + 42, + -24, + -51, + -1, + 0, + -128, + -65, + 20, + 55, + -97, + 43, + 55, + 89, + 28, + 61, + -52, + -8, + -6, + -68, + -109, + -98, + -68, + 116, + -35, + 31, + 71, + 43, + 16, + 125, + 76, + -26, + 118, + -79, + 39, + -35, + -68, + -105, + 102, + 36, + -37, + -62, + 105, + -97, + 57, + 118, + 34, + 81, + 103, + -13, + -105, + -87, + 27, + -97, + 87, + -95, + -114, + 66, + 86, + -77, + 53, + 114, + 116, + -76, + 71, + -124, + 88, + -1, + 0, + -7, + 26, + -7, + -63, + -49, + 50, + -6, + 107, + 92, + 11, + -31, + -57, + 54, + -54, + 94, + -18, + -77, + 101, + -45, + -103, + -20, + 117, + -8, + -36, + 54, + 120, + 49, + 14, + 127, + -50, + -21, + 58, + 76, + -59, + -102, + 69, + 53, + 20, + 82, + -83, + -47, + 95, + -76, + 91, + -112, + 69, + 1, + 89, + 67, + 21, + 96, + -56, + -26, + 2, + -85, + 116, + 90, + 43, + 3, + 70, + -82, + 116, + 121, + 39, + 25, + 35, + -44, + -36, + -8, + -51, + -113, + -28, + -1, + 0, + 23, + 103, + 95, + -117, + 63, + 23, + 77, + -27, + 43, + 90, + 1, + -85, + 101, + -104, + 68, + -4, + -110, + -22, + -6, + -94, + -11, + -122, + 72, + 103, + 82, + 2, + -91, + -55, + -18, + -34, + -58, + 101, + 105, + -61, + 76, + -44, + -41, + -5, + -122, + -78, + 2, + 58, + -110, + 7, + 47, + 102, + 25, + -49, + 49, + -76, + -128, + -107, + -25, + -3, + 88, + 123, + 109, + -55, + 120, + 45, + -94, + 92, + -84, + -18, + 20, + 102, + 107, + 44, + 18, + 125, + -11, + 88, + 96, + -44, + -100, + 102, + -36, + -26, + -109, + 127, + -86, + 41, + -47, + 24, + 31, + 78, + 119, + 88, + 102, + -48, + -6, + 38, + -17, + 105, + -93, + -24, + 66, + -90, + -50, + 86, + -85, + -108, + 59, + -92, + 14, + 95, + 65, + 78, + 48, + 114, + -18, + -119, + -21, + -86, + 58, + -48, + 107, + -75, + -82, + 103, + -52, + -15, + 33, + -99, + -29, + -57, + -61, + 25, + -103, + 47, + 34, + -79, + -59, + 54, + -79, + -86, + -71, + 53, + 44, + -50, + 21, + -10, + 90, + 118, + 104, + -106, + -103, + -10, + -44, + -54, + -124, + 22, + -77, + 67, + -54, + 126, + -38, + -113, + -105, + 52, + -111, + 96, + 99, + 71, + -36, + 67, + 90, + -91, + 118, + 93, + 33, + -87, + 73, + 27, + -109, + 66, + -55, + -91, + -24, + 21, + -98, + -56, + -86, + 63, + -119, + 127, + 29, + -51, + -42, + -22, + 2, + -6, + -82, + -38, + 113, + -15, + -29, + 94, + 120, + -3, + -98, + -121, + -79, + 102, + -125, + 22, + 98, + -10, + 82, + 17, + 52, + -108, + -119, + -100, + -99, + -70, + 101, + -17, + -73, + 66, + -102, + 67, + -16, + -79, + -93, + 53, + -102, + 108, + -29, + 110, + 88, + -124, + 62, + -95, + -109, + 82, + -68, + -24, + -27, + 37, + 84, + -99, + -91, + 26, + -45, + 118, + 74, + 92, + -126, + 45, + -105, + 67, + -58, + -20, + 47, + 6, + 63, + 37, + -68, + 68, + -36, + -25, + 3, + 87, + 48, + -36, + -114, + 35, + 47, + -88, + -59, + 1, + -58, + -30, + 121, + 77, + -64, + 54, + 69, + 72, + -91, + -23, + -22, + 54, + -28, + -13, + -107, + 52, + -37, + 21, + 109, + -10, + -59, + -98, + -87, + -87, + -53, + 98, + -83, + 97, + -20, + -35, + -128, + 30, + -114, + 64, + -32, + -65, + -58, + -2, + 39, + -108, + 78, + 94, + 19, + 67, + 8, + 91, + 20, + 127, + 68, + 41, + -42, + 106, + 25, + 33, + 74, + 90, + 52, + 68, + -56, + 38, + -111, + 41, + -77, + -74, + -17, + -118, + -50, + 8, + -88, + -26, + 65, + 53, + -77, + -47, + 12, + 14, + 34, + -95, + 7, + -70, + -87, + 56, + -83, + 17, + -72, + -39, + 39, + -79, + 94, + 25, + -65, + -40, + -72, + -9, + 51, + 45, + -50, + -117, + -27, + 118, + -38, + 50, + -30, + -79, + 70, + -82, + -127, + -56, + -98, + -53, + -120, + -106, + -119, + 22, + 91, + -66, + 52, + -88, + 98, + -112, + -39, + -42, + 18, + -69, + 5, + 17, + -93, + -18, + 20, + 81, + -45, + 92, + -120, + 59, + -32, + -51, + 9, + -73, + 125, + -63, + -50, + -45, + -102, + -68, + -94, + -110, + 104, + -23, + 28, + -30, + 124, + -82, + 109, + -52, + 94, + 121, + -111, + 22, + 44, + 20, + -113, + 29, + 89, + 80, + -60, + -63, + 87, + 83, + -85, + 105, + 121, + 25, + 107, + 95, + 112, + -78, + -108, + 61, + -102, + 41, + 68, + 12, + 95, + 93, + -69, + -112, + -31, + 97, + -14, + -68, + 8, + -48, + 1, + 38, + 70, + 113, + -19, + 101, + 37, + -69, + 80, + 55, + 69, + 40, + -123, + 17, + 72, + -18, + 49, + 112, + -91, + 24, + 7, + 102, + 86, + -112, + -90, + -112, + 42, + 43, + 13, + 127, + -104, + 115, + -38, + 58, + 121, + 106, + -40, + -57, + 5, + -85, + 29, + -128, + -58, + 46, + -123, + -88, + 111, + 38, + 104, + 79, + 45, + 39, + 19, + -53, + 102, + -15, + -61, + 100, + 91, + -57, + 107, + 90, + -42, + -100, + 10, + 64, + -83, + -112, + -121, + 8, + 98, + -22, + -101, + 61, + -47, + -38, + -93, + 101, + -45, + -112, + -85, + -104, + 35, + 106, + 77, + 122, + -72, + 77, + 79, + -114, + -40, + 46, + -53, + -53, + -73, + -105, + -124, + 11, + 60, + 14, + 77, + 81, + 97, + 91, + 92, + 40, + 122, + 66, + -11, + -9, + -75, + -94, + 53, + 124, + -5, + 68, + -103, + -67, + -97, + 73, + -29, + -7, + -110, + -29, + 4, + 105, + 53, + 2, + -12, + -74, + 106, + -20, + -38, + -47, + 88, + 104, + -18, + -124, + 110, + -87, + 82, + -32, + 91, + -57, + -77, + -93, + -76, + -69, + -108, + -1, + 0, + 69, + -26, + 34, + -8, + -9, + 93, + 12, + -2, + 119, + -15, + -45, + -90, + -11, + 76, + -45, + -52, + -72, + -18, + 51, + 86, + -35, + 110, + -93, + -94, + 0, + -52, + -22, + -123, + -40, + -48, + -107, + 112, + 67, + -76, + -77, + -4, + 100, + 124, + -39, + -115, + 83, + 75, + 50, + 49, + -10, + -40, + 118, + -58, + -53, + 50, + 99, + 9, + 24, + -85, + -82, + -116, + -98, + -117, + 60, + -128, + 115, + 14, + 14, + 27, + -122, + -44, + 49, + -42, + 13, + -43, + -39, + -14, + -19, + -90, + -108, + -1, + 0, + 48, + -55, + -46, + -52, + -26, + -14, + 38, + 5, + 5, + -61, + 3, + -88, + 41, + -93, + -77, + -60, + 109, + -101, + -125, + 103, + 127, + -87, + 121, + -109, + -91, + -12, + 34, + -105, + -114, + 110, + 10, + -93, + -88, + -110, + 54, + 86, + -95, + 119, + 105, + -52, + 20, + -124, + 102, + -115, + -111, + 105, + 89, + -68, + 83, + 99, + 50, + 79, + 46, + -71, + -95, + -54, + 70, + 3, + 91, + -119, + 22, + 80, + 72, + 7, + 82, + -85, + -77, + 21, + -21, + 97, + -5, + -60, + 19, + -35, + -79, + 98, + 115, + 43, + 10, + 12, + -100, + 125, + 12, + 35, + 68, + 97, + 101, + 80, + -59, + -84, + 41, + 85, + 82, + 52, + -112, + -63, + 93, + 73, + 20, + 88, + 45, + 17, + 68, + -7, + -49, + 12, + -113, + 4, + -60, + 109, + 53, + 103, + -70, + 54, + -12, + 85, + 64, + 63, + 31, + -15, + 22, + 122, + 17, + -69, + 121, + -14, + -102, + -23, + 7, + 8, + -24, + -38, + 58, + 71, + -109, + 86, + 64, + 105, + -102, + 4, + 71, + -42, + -90, + 103, + -100, + -121, + -81, + -100, + 125, + -67, + 24, + 57, + 75, + 80, + 1, + -95, + -81, + -97, + -52, + -28, + 45, + -113, + 45, + -52, + -32, + -24, + 65, + 52, + 45, + 97, + 29, + 37, + 110, + -33, + -125, + -19, + 77, + -44, + -28, + -103, + -53, + 62, + 60, + 98, + 5, + 95, + -27, + -80, + -23, + 54, + 116, + -78, + 25, + 124, + 8, + 112, + -39, + -39, + -61, + -31, + -83, + 71, + -108, + 15, + -107, + -71, + 107, + -94, + -35, + -43, + 64, + 52, + -79, + 89, + 121, + -32, + -36, + -43, + 113, + -71, + 90, + -13, + 66, + 35, + 23, + -100, + -34, + 38, + -114, + 8, + 33, + 124, + -33, + -28, + 122, + -84, + -10, + 68, + 106, + -15, + 92, + 120, + -102, + 97, + 50, + 86, + -19, + -106, + -124, + 45, + 27, + -17, + -65, + 98, + -75, + -109, + 26, + -29, + -70, + 29, + 70, + -26, + 16, + -128, + 116, + 22, + 115, + 52, + 78, + -2, + -39, + -91, + -46, + -24, + 76, + -18, + -65, + 108, + -71, + 12, + 16, + 9, + 109, + 81, + -93, + 10, + -88, + 72, + 6, + -68, + 76, + 40, + -113, + -128, + 114, + 126, + -37, + -50, + -92, + 55, + 100, + -113, + 91, + -7, + 49, + 30, + 11, + 55, + -44, + 12, + -14, + -65, + -113, + 53, + -49, + 114, + 44, + 112, + -46, + 51, + 109, + -99, + 44, + -124, + -86, + -116, + -91, + -128, + -49, + -117, + -38, + 102, + -57, + -115, + -43, + 84, + -104, + 30, + 86, + 77, + 38, + -68, + -63, + 56, + 105, + -123, + 124, + -32, + 3, + 105, + 4, + -101, + 30, + 4, + -59, + -85, + -109, + 62, + 46, + 46, + 25, + -109, + -105, + 44, + 48, + -99, + 82, + -55, + 56, + 84, + 17, + 14, + -43, + 82, + 50, + 109, + -111, + 53, + 52, + 81, + -81, + -36, + 88, + -45, + 81, + 0, + 1, + 76, + -60, + -82, + 97, + -51, + -80, + 101, + -58, + -56, + 49, + -54, + -124, + -87, + 8, + 32, + 34, + -55, + 49, + 22, + 96, + -84, + 87, + 81, + 9, + 35, + 21, + -17, + 106, + 109, + -114, + -42, + 84, + 11, + -90, + -17, + -113, + 92, + -101, + -78, + -35, + -18, + -60, + 121, + 103, + 57, + -20, + 118, + -66, + 94, + -124, + -37, + -47, + -47, + 126, + 27, + -13, + -78, + -20, + 114, + -46, + -87, + -30, + -39, + -73, + 23, + -94, + 127, + 85, + -112, + -24, + 84, + -58, + -46, + 15, + 66, + -83, + 75, + -37, + 73, + 74, + -113, + -51, + 89, + 40, + 18, + -92, + 58, + 51, + 68, + -88, + 91, + 43, + 121, + 70, + -117, + -79, + 56, + 115, + -68, + 119, + -78, + 112, + 126, + -87, + 107, + 57, + -47, + -73, + 23, + 18, + 107, + -69, + 113, + 36, + -96, + -39, + 84, + -87, + 72, + -114, + -33, + -98, + -25, + 51, + -8, + -19, + 108, + -93, + 106, + 2, + -115, + -49, + 40, + -42, + 89, + -23, + -102, + 103, + 69, + 100, + -123, + -99, + 24, + 18, + -40, + 122, + 22, + 68, + 105, + 104, + 68, + 47, + 80, + 12, + -85, + -24, + -121, + -99, + -33, + 23, + -113, + 113, + 47, + -113, + 29, + 0, + -1, + 0, + 110, + -51, + 12, + -40, + -14, + 126, + 75, + -43, + 57, + 64, + 116, + -64, + -58, + 70, + -67, + -47, + 92, + -26, + 27, + 82, + 10, + -96, + 91, + -94, + 71, + 54, + -77, + 98, + 127, + 69, + 75, + -96, + -17, + -82, + 105, + 105, + -117, + 21, + -122, + 11, + -52, + 106, + -103, + 38, + 87, + 44, + 12, + -95, + 10, + 25, + 115, + 20, + -85, + 109, + -82, + 98, + 37, + 41, + 109, + 20, + -10, + 0, + -24, + -55, + -41, + 120, + 127, + -111, + -109, + -110, + 50, + 71, + 52, + 111, + 99, + -78, + -46, + 114, + -3, + 118, + 100, + -104, + 81, + -31, + -91, + 44, + 27, + 86, + 124, + -98, + 94, + -124, + 35, + 88, + 53, + 116, + 99, + 51, + 66, + 93, + -127, + 10, + -90, + 9, + 84, + -124, + -16, + 74, + -4, + -22, + -79, + 33, + -7, + 43, + -11, + 69, + 90, + -16, + -71, + -42, + 20, + -8, + -94, + 124, + -68, + -52, + 109, + 101, + -92, + 103, + 54, + -88, + 4, + 106, + -22, + -86, + 86, + 51, + 82, + -45, + -109, + 104, + 68, + 118, + 65, + -90, + 93, + 87, + -61, + 24, + -16, + -78, + -98, + 67, + 4, + 88, + -14, + -21, + 85, + -116, + 44, + 96, + -69, + 59, + -69, + -9, + -117, + 23, + 0, + -58, + -86, + -85, + -9, + -83, + -122, + -3, + 13, + 116, + -88, + 66, + 91, + -54, + -3, + 54, + -2, + -117, + 54, + 24, + -95, + -53, + 70, + 95, + 24, + 115, + 26, + 17, + 35, + -12, + 19, + 27, + 121, + -38, + 57, + 41, + 121, + 113, + 76, + 90, + 80, + -78, + 62, + -43, + -37, + 98, + -63, + 12, + 41, + -100, + 40, + -32, + 88, + 115, + 114, + 9, + 28, + 86, + -56, + -3, + -15, + -53, + 83, + -117, + 110, + 94, + -119, + 66, + 54, + 109, + -59, + -66, + 23, + -10, + 15, + -111, + 67, + 69, + 118, + -99, + -84, + -11, + 121, + -48, + -14, + 121, + 82, + 110, + -54, + -27, + -113, + -42, + 63, + -90, + -48, + 77, + 118, + 121, + -27, + -78, + 55, + 81, + 109, + -9, + -1, + 0, + 13, + -95, + 32, + -37, + -34, + 92, + -43, + -13, + -108, + 77, + 4, + 56, + 94, + -104, + -16, + 44, + -124, + -110, + -50, + 84, + -45, + 31, + -99, + -83, + 107, + -104, + 28, + -64, + -1, + 0, + -112, + -21, + -8, + 25, + -52, + -80, + 76, + 64, + -119, + 3, + -108, + -25, + -83, + 24, + 110, + 99, + -11, + -28, + 41, + -100, + -51, + 106, + 96, + -41, + 84, + 33, + 114, + -58, + -58, + -121, + 68, + -56, + 11, + -51, + -57, + 87, + 93, + 78, + -58, + 110, + -35, + -67, + 32, + 99, + 115, + 82, + -56, + 54, + -107, + -106, + -2, + -33, + -90, + -91, + -93, + -22, + 55, + 23, + -48, + 50, + 19, + 101, + -78, + -106, + -86, + 16, + -127, + -49, + 42, + 15, + 59, + 6, + 114, + -54, + -113, + 30, + -4, + -8, + -6, + 79, + 27, + 65, + -111, + 80, + 17, + 7, + -32, + 85, + -71, + 86, + -67, + 104, + -100, + -113, + -90, + -5, + 20, + 37, + -69, + 90, + 25, + 22, + 31, + 3, + -94, + 124, + -107, + 31, + 33, + -127, + -105, + -53, + 121, + -118, + -121, + -60, + -98, + 57, + -128, + 1, + -116, + 106, + -38, + 100, + 85, + 38, + -122, + -72, + -51, + 72, + -94, + -10, + 26, + -106, + -82, + -70, + -35, + 20, + -71, + -90, + 63, + 50, + -27, + -91, + 82, + 124, + 119, + -124, + -67, + -127, + 35, + 46, + -92, + 106, + 0, + -23, + -114, + 65, + 113, + -79, + -83, + -50, + -106, + 36, + 0, + 70, + -44, + 64, + -95, + -125, + 127, + 30, + -6, + -1, + 0, + 16, + -18, + 65, + 57, + -122, + 113, + -60, + -117, + 17, + -46, + -48, + -78, + 71, + 11, + -72, + -49, + -43, + 104, + 21, + 49, + 116, + -128, + -119, + -100, + 108, + 88, + 55, + 105, + 108, + 23, + 17, + -102, + -71, + -97, + -66, + -74, + -62, + -40, + 87, + 18, + 54, + -29, + 108, + -72, + 37, + -9, + -95, + 74, + -70, + 10, + -46, + 53, + -62, + 57, + -15, + -117, + 125, + -55, + -52, + 55, + 100, + 127, + -3, + -120, + -31, + 110, + -71, + -98, + 116, + 1, + -125, + 16, + 43, + 3, + 106, + 99, + 116, + -112, + -111, + -79, + -90, + -71, + -105, + 22, + 36, + 77, + 27, + -26, + -92, + 51, + -86, + -112, + -1, + 0, + 69, + 42, + 24, + 86, + 106, + -3, + -79, + 21, + -55, + 17, + -42, + 68, + -24, + -104, + 40, + 112, + 86, + -113, + -79, + -18, + -77, + -39, + 115, + 60, + -73, + 101, + -107, + -45, + 108, + 24, + 77, + -108, + 69, + -35, + -76, + -83, + 52, + 50, + -110, + -68, + 101, + 0, + -27, + 44, + -116, + 13, + 100, + -103, + 103, + -68, + 109, + -118, + -93, + -23, + 85, + 41, + 124, + 53, + 122, + -28, + -86, + -37, + -5, + 34, + -70, + 72, + 93, + 88, + -86, + -52, + -55, + -27, + -118, + -62, + -117, + 123, + -74, + -55, + 31, + 37, + -113, + 18, + 56, + -28, + -28, + 46, + -105, + -38, + -119, + -94, + 47, + -24, + 108, + -73, + 18, + 83, + 19, + 69, + 49, + -86, + -61, + 22, + 41, + 88, + -27, + 19, + 86, + -32, + -58, + 71, + 98, + -3, + -103, + 34, + -14, + 32, + 107, + -32, + -69, + 114, + 88, + -37, + 78, + 73, + -21, + -55, + 60, + 80, + -115, + 75, + -38, + 83, + 41, + 86, + 10, + 88, + 2, + -102, + -88, + 11, + 29, + 78, + -86, + 32, + 19, + -44, + 109, + -44, + 89, + -118, + 92, + -103, + -50, + -122, + -20, + -123, + 48, + 42, + 91, + 73, + -17, + -107, + 34, + -56, + 59, + 13, + -119, + 82, + 64, + -77, + -65, + -111, + 0, + 67, + 114, + 63, + 10, + 121, + -50, + 126, + 32, + -89, + -18, + -28, + 0, + -55, + -91, + -79, + -123, + -69, + 16, + 17, + 44, + -86, + 6, + 16, + 32, + 111, + 27, + -118, + -62, + 26, + 59, + 78, + -40, + -100, + -72, + -69, + -76, + 116, + 90, + 54, + -39, + 104, + -46, + 102, + -31, + -102, + 86, + 80, + 17, + 19, + 42, + 11, + -88, + -77, + -87, + 2, + 37, + -7, + 11, + -1, + 0, + 36, + 121, + -22, + -12, + 126, + 80, + 116, + 44, + -83, + -69, + -90, + 14, + -78, + 61, + -118, + -48, + -69, + 33, + -101, + -107, + -50, + -100, + -128, + -59, + 56, + 6, + -58, + 78, + 61, + 21, + -32, + -115, + 28, + 58, + 63, + -57, + -93, + 120, + 76, + 76, + 72, + -103, + 33, + 33, + -108, + -46, + 24, + 108, + 74, + 114, + -60, + -106, + -117, + 47, + 126, + -102, + -21, + -44, + 77, + 83, + 36, + 90, + 41, + 36, + -77, + 0, + -22, + -17, + 11, + 90, + 70, + -45, + -106, + -75, + 103, + -91, + 102, + 37, + -113, + -2, + -70, + 107, + -2, + -50, + 41, + 86, + 47, + -56, + 124, + 18, + 24, + -87, + 44, + -125, + 109, + -111, + -85, + 122, + -126, + 125, + 55, + 96, + -70, + 58, + -121, + 61, + 127, + 38, + -2, + 20, + -120, + -18, + -97, + 49, + 96, + 34, + 43, + -100, + -113, + 29, + -103, + 7, + -49, + 64, + 106, + 14, + -24, + -60, + 94, + -83, + 82, + 45, + 70, + -112, + -111, + 107, + 20, + -25, + -95, + 118, + -116, + 47, + 29, + 21, + 61, + 77, + -102, + -44, + -126, + -112, + 59, + 60, + -78, + -34, + -126, + 122, + 84, + -63, + -102, + -74, + 97, + -113, + 124, + -44, + -34, + -85, + 78, + -72, + -15, + -84, + -108, + 72, + 4, + 10, + 81, + 100, + -99, + 38, + -120, + -36, + 15, + 45, + -17, + -60, + 13, + -70, + 112, + 72, + 53, + 73, + 43, + -84, + -115, + -9, + -106, + -55, + 39, + 109, + -120, + -23, + 96, + -97, + 49, + 94, + 59, + -109, + 125, + 71, + 32, + -27, + 4, + 93, + 23, + 114, + 73, + 91, + -11, + -114, + -122, + -62, + 127, + 10, + -106, + 17, + -109, + -73, + -60, + -110, + -92, + 49, + -84, + -87, + 60, + 127, + 119, + -39, + 27, + 29, + -7, + 8, + -98, + -46, + 71, + 37, + 104, + 93, + 105, + 82, + 105, + -109, + -56, + -3, + 94, + 111, + -51, + -65, + -119, + -8, + 92, + 22, + -101, + 41, + -5, + 13, + 48, + -16, + 74, + 88, + 84, + 114, + -35, + 23, + 118, + -77, + -96, + -73, + 93, + -80, + 9, + 6, + -79, + -67, + -18, + 124, + -79, + 58, + 103, + -61, + 110, + -63, + 26, + 22, + -92, + 36, + -56, + 9, + 58, + 106, + -51, + -110, + 56, + 86, + -100, + -79, + -49, + 40, + -3, + 76, + -32, + -61, + -52, + -13, + -15, + -93, + -54, + -59, + -63, + -55, + -106, + 23, + 44, + 21, + -42, + 50, + -54, + 74, + 62, + -122, + 0, + -43, + 16, + 24, + 21, + -37, + 110, + -93, + -81, + 9, + 100, + -28, + 114, + -36, + 105, + -102, + 41, + -14, + -15, + -29, + -112, + 5, + 44, + -114, + -63, + 88, + 6, + 10, + 69, + -113, + 11, + 6, + -57, + -90, + -11, + -25, + 102, + -103, + 63, + -15, + 87, + -46, + 56, + 101, + 10, + 98, + -7, + 57, + -18, + 77, + -70, + 91, + 70, + -106, + 83, + 84, + -6, + -81, + 63, + 110, + 34, + -117, + 51, + -88, + 50, + 97, + -55, + 92, + 30, + -65, + 35, + -86, + -24, + 70, + -29, + 45, + 126, + 40, + 104, + -116, + 85, + 57, + -106, + 35, + 68, + 125, + 41, + -26, + -79, + 2, + -84, + 16, + 91, + 13, + 120, + -76, + -41, + -8, + -2, + -7, + 61, + -73, + 46, + -19, + -28, + -100, + -13, + -101, + -114, + -24, + 98, + 72, + 86, + -69, + -98, + 35, + -43, + -5, + 41, + -78, + -93, + -57, + 91, + -124, + -99, + -21, + 13, + 32, + 60, + 62, + 19, + 37, + -79, + 19, + 45, + 104, + -22, + 90, + -81, + -8, + 53, + 74, + -56, + -26, + -118, + 87, + 18, + 31, + -8, + 36, + -89, + -112, + 49, + -96, + 61, + 6, + 88, + 65, + -80, + -93, + -110, + 66, + 117, + -104, + -86, + -114, + 106, + -74, + 87, + -62, + -42, + 57, + -23, + -27, + -82, + 106, + -70, + 95, + 85, + -13, + 26, + -92, + -116, + 70, + -93, + -107, + -19, + -11, + 127, + -1, + 0, + -30, + 121, + -3, + 123, + 100, + 116, + 39, + -114, + 54, + -74, + 85, + -75, + 26, + -89, + -9, + -12, + -99, + -110, + 64, + -26, + 55, + -2, + -34, + -66, + -65, + -41, + -43, + 30, + -86, + -117, + -21, + -27, + 127, + -14, + 119, + -73, + -86, + -86, + -71, + -124, + -36, + -113, + -105, + -50, + -3, + -93, + 68, + -32, + -110, + 9, + -47, + 35, + -88, + 39, + -64, + -99, + -55, + -65, + 113, + 29, + 125, + -36, + 33, + 15, + 62, + -26, + 80, + 81, + 73, + 80, + -78, + -42, + -106, + 120, + -111, + -120, + -46, + 65, + 21, + -80, + 94, + -93, + -60, + 30, + 57, + -1, + 0, + -97, + -4, + 122, + 124, + -2, + -102, + -50, + 87, + 64, + -99, + 107, + -29, + 60, + 90, + 76, + -8, + 123, + 52, + -81, + 86, + -42, + 110, + 123, + -111, + -63, + 36, + -48, + -104, + 35, + -126, + 12, + -41, + 31, + 75, + 39, + -50, + 48, + 89, + -16, + 17, + -35, + 113, + -74, + 16, + 75, + 64, + -63, + 13, + 62, + 71, + 72, + 46, + -74, + -113, + 66, + 124, + -111, + 73, + -54, + 16, + 45, + 30, + -7, + -25, + 3, + -1, + 0, + 44, + -1, + 0, + 28, + 10, + 104, + -31, + -26, + 60, + 31, + -107, + -24, + -35, + -96, + 35, + 105, + 46, + 21, + 27, + -70, + -79, + -95, + 21, + 11, + -87, + 81, + -84, + 46, + -127, + 113, + -20, + -23, + -1, + 0, + 32, + 106, + 19, + -122, + 27, + -80, + -116, + 17, + 114, + 25, + 108, + -42, + 34, + 73, + -120, + 42, + -83, + 34, + -44, + -44, + 115, + 63, + 102, + 94, + -96, + -22, + -84, + 18, + 72, + -98, + -52, + 98, + -57, + -18, + -88, + -66, + -78, + 55, + -39, + -98, + -66, + 29, + -22, + -119, + -18, + -44, + 85, + -14, + -33, + -20, + -88, + -25, + 122, + -1, + 0, + 62, + 23, + -54, + -94, + -87, + -83, + -24, + -21, + -78, + -108, + 109, + -14, + -58, + -70, + -60, + -88, + -42, + 34, + -59, + -24, + -114, + 87, + -86, + 55, + -47, + -113, + 89, + -107, + 37, + 71, + 53, + 85, + 19, + -43, + 21, + 83, + -61, + 81, + 61, + -43, + 60, + 126, + -120, + 57, + 7, + 40, + 86, + -42, + 48, + -93, + -41, + 118, + 92, + -106, + 44, + 79, + -85, + 22, + 39, + 127, + 29, + -9, + -23, + -46, + -57, + 6, + 127, + 104, + 121, + -84, + -74, + 36, + -55, + 44, + -84, + 69, + -96, + 69, + 84, + -40, + -34, + -56, + -95, + 84, + 110, + 79, + -123, + 11, + -38, + -72, + -28, + 63, + -87, + -23, + -65, + -51, + -50, + 73, + 52, + 60, + -9, + 77, + -57, + 54, + 90, + -41, + -12, + -37, + 58, + -99, + 53, + 59, + 124, + -29, + -104, + -25, + -73, + 23, + -13, + 54, + -51, + -65, + 51, + 5, + 10, + 116, + 53, + -100, + -78, + -98, + -89, + 48, + 34, + 92, + -19, + -80, + -106, + -20, + -127, + 7, + -90, + 100, + -6, + 25, + 63, + -38, + -114, + -33, + 75, + 86, + 75, + -117, + -55, + -99, + -55, + -109, + 5, + -7, + -89, + -93, + -22, + 25, + -31, + -48, + -11, + -66, + -43, + -88, + 9, + -46, + 6, + -78, + -33, + -20, + 36, + -122, + -46, + -63, + -15, + 1, + 108, + 21, + 106, + -31, + -118, + 121, + -118, + -31, + -76, + -10, + -117, + -25, + -11, + -6, + -93, + -110, + -115, + -71, + 70, + 82, + -11, + 4, + 30, + -69, + -98, + 1, + 100, + 120, + -42, + 87, + 32, + 60, + 84, + 53, + -20, + -53, + -40, + 43, + 5, + 50, + 40, + -26, + -107, + 35, + 108, + -88, + -81, + -107, + -14, + 68, + -66, + -86, + -85, + -19, + 7, + -85, + 24, + -9, + -81, + -124, + -111, + 21, + 61, + -98, + -81, + -10, + 70, + -69, + -35, + -98, + 21, + 127, + -107, + -3, + 50, + -67, + 3, + -127, + -16, + 35, + -61, + 14, + 105, + -6, + 71, + 41, + -57, + 106, + -26, + -77, + 72, + 69, + 99, + 36, + 109, + -13, + -15, + -38, + 93, + 85, + -74, + 71, + 98, + -128, + -127, + 16, + 66, + 78, + -80, + -53, + 71, + -47, + -43, + -92, + 90, + 52, + 33, + -98, + 59, + 81, + 69, + 74, + -126, + 125, + 118, + 44, + 83, + 27, + 12, + -17, + 108, + 87, + 55, + -10, + 115, + -105, + -76, + 77, + -111, + 27, + 67, + -126, + 34, + 66, + -14, + -54, + 85, + 82, + 33, + 28, + 65, + -101, + 84, + -84, + -60, + 34, + -92, + 96, + -69, + 51, + 16, + 43, + 119, + 45, + -79, + -71, + 126, + 89, + -19, + 86, + 84, + 4, + 69, + 52, + 103, + 37, + 73, + -18, + -88, + 52, + -22, + -51, + -91, + 78, + -99, + -119, + 58, + -76, + -81, + -13, + 26, + -96, + 43, + 113, + 92, + -105, + -59, + -79, + -68, + -74, + -123, + -106, + 23, + -14, + 47, + -89, + 97, + 75, + 97, + -119, + -116, + -41, + 0, + 3, + -73, + -40, + -102, + -50, + 12, + -65, + 10, + 48, + 112, + 122, + -13, + -47, + -109, + 67, + -96, + 37, + -116, + 38, + 82, + -96, + -72, + -10, + -75, + -88, + 82, + -118, + 115, + -93, + -115, + 9, + -68, + 92, + 97, + 27, + 18, + -113, + -76, + 76, + 67, + -91, + 46, + -116, + 95, + 103, + -45, + 0, + 71, + -113, + 21, + -100, + -79, + -101, + -72, + 6, + -43, + -77, + 123, + 82, + 89, + -70, + -68, + -19, + -67, + 5, + -9, + -34, + 11, + 25, + 82, + -37, + -73, + 27, + 125, + -64, + 12, + 121, + 11, + -48, + 91, + -113, + 39, + -95, + 21, + -110, + 125, + 76, + -36, + 43, + 5, + 90, + -29, + 34, + 9, + 43, + -60, + 91, + -124, + 124, + -50, + -18, + -100, + -73, + -98, + -43, + -19, + 121, + -79, + -97, + 27, + 62, + 43, + -13, + 106, + 59, + -46, + 18, + -122, + 20, + 3, + -90, + 18, + -29, + 0, + -62, + 9, + -27, + 71, + -14, + 58, + -118, + -69, + 42, + -69, + 42, + -58, + 116, + -62, + 47, + -25, + 39, + 46, + 38, + -72, + 68, + 44, + -19, + -82, + 83, + 49, + 116, + -24, + 122, + -50, + 92, + 126, + 116, + -116, + -26, + -120, + -123, + 42, + 98, + 101, + -4, + 111, + -84, + 11, + 59, + -45, + 58, + 5, + -115, + -31, + 42, + 29, + 23, + -78, + -118, + -84, + 6, + -42, + -121, + -93, + 16, + 11, + 96, + 117, + -63, + -79, + -70, + -66, + -108, + 99, + 98, + 21, + 94, + -47, + 114, + -61, + 49, + 20, + -89, + 14, + 80, + -84, + -46, + 86, + 13, + 32, + -103, + 52, + 89, + -55, + -86, + 60, + -127, + 109, + 93, + 104, + -31, + -89, + -109, + -55, + -97, + 51, + 11, + -102, + 115, + 8, + 121, + 94, + 20, + -79, + 79, + -86, + 121, + 98, + 57, + 19, + 99, + 57, + -57, + 43, + 18, + 59, + 60, + -80, + 42, + -72, + 119, + 12, + -79, + -9, + 53, + -10, + 64, + -126, + 45, + -108, + -20, + 46, + 103, + -98, + -28, + 69, + 0, + -99, + 99, + 49, + 72, + 81, + 88, + 71, + -83, + 12, + -96, + 23, + 64, + 11, + -24, + 80, + 2, + -22, + 53, + -34, + 102, + 58, + -122, + -55, + 86, + -62, + -72, + -21, + 11, + -20, + -100, + 7, + 23, + -90, + -37, + -4, + -124, + -25, + 102, + -10, + -123, + -12, + -96, + 52, + -9, + -96, + -26, + 120, + 3, + -74, + 40, + -10, + 22, + -116, + -48, + 3, + 34, + 93, + 97, + 96, + 123, + 45, + 16, + 58, + -64, + 8, + 9, + -39, + 65, + -70, + 123, + 28, + -21, + 77, + -74, + -47, + 97, + 79, + -53, + 80, + 57, + 14, + 119, + 119, + 16, + 28, + 110, + -89, + 32, + -53, + -31, + -66, + 96, + -41, + -117, + 1, + -2, + -101, + -16, + -25, + -30, + 102, + -121, + 85, + -15, + -14, + -64, + 46, + 102, + 35, + 125, + -65, + -47, + -110, + -56, + 98, + 58, + 7, + 111, + 37, + 75, + 69, + -95, + -47, + 116, + 43, + -78, + 99, + -123, + 104, + -51, + -100, + -18, + 97, + -12, + 97, + 4, + 21, + 31, + 99, + 45, + 90, + 27, + -31, + 67, + -46, + -79, + -72, + -49, + 31, + 26, + -52, + 76, + -23, + -103, + 124, + -37, + -1, + 0, + 34, + 29, + -72, + 120, + 79, + -112, + -65, + 25, + -13, + 100, + 100, + -49, + 103, + 102, + -45, + -27, + -2, + 68, + -38, + -53, + -23, + -41, + 49, + -106, + -41, + 105, + -123, + -24, + 115, + 97, + 48, + -106, + 107, + -43, + 13, + 91, + 70, + 48, + -51, + -84, + -87, + 2, + 33, + -17, + 23, + 30, + 74, + 119, + -113, + -96, + -122, + 44, + 74, + 48, + 82, + -54, + 70, + -79, + 66, + 89, + -53, + -48, + -25, + 113, + -56, + 62, + 100, + -4, + -108, + -85, + -100, + -43, + 13, + 51, + -50, + -66, + 56, + -122, + -53, + 16, + -52, + -51, + 67, + 41, + -69, + -68, + 114, + -47, + -31, + -93, + 67, + -6, + -100, + 126, + -120, + 44, + 52, + -23, + 22, + -85, + 22, + -78, + -19, + -39, + -39, + 81, + -94, + 98, + 32, + 17, + -112, + -39, + -88, + -38, + 43, + -105, + 4, + 18, + -76, + 68, + -83, + 79, + -51, + -115, + -113, + -123, + 31, + -39, + 34, + -123, + 20, + 57, + -92, + 112, + 90, + 59, + 12, + -96, + 61, + -88, + 82, + -37, + -110, + 5, + -105, + -36, + 10, + -90, + 11, + -79, + 96, + 89, + 121, + -73, + -3, + 126, + 118, + 67, + 21, + 35, + -68, + -102, + 69, + 2, + -116, + 86, + 58, + -78, + 109, + 64, + 13, + -35, + 9, + -79, + 36, + -22, + 82, + -62, + -50, + 76, + 117, + -82, + -59, + -13, + 2, + -83, + -18, + 77, + -76, + -8, + 95, + -92, + -78, + 115, + 17, + -114, + -42, + -111, + -28, + 5, + -107, + -13, + -15, + -4, + 126, + 98, + -19, + -119, + -75, + -33, + -115, + -49, + -16, + -3, + -92, + 110, + 108, + -56, + 107, + 118, + 47, + 8, + -83, + -51, + 66, + 1, + 21, + 48, + 92, + -17, + 61, + -40, + 17, + -60, + 4, + 45, + -94, + -3, + -84, + 54, + -120, + 29, + 92, + 122, + -80, + 111, + 23, + -7, + -81, + -49, + 112, + -101, + -55, + 3, + 116, + -97, + -128, + -36, + -17, + 41, + -91, + -72, + 31, + 69, + 44, + -128, + -70, + -33, + 90, + 54, + 6, + -51, + 4, + -107, + -7, + -117, + 17, + 73, + 1, + 28, + -96, + -61, + -42, + -18, + 55, + 69, + -127, + -45, + -113, + -79, + 10, + 23, + 31, + 70, + 120, + 13, + 107, + 50, + -52, + 125, + -61, + 121, + 10, + -90, + 67, + -54, + 126, + 77, + -16, + -105, + 53, + -117, + 22, + 12, + -73, + 103, + -24, + 93, + 79, + -79, + 105, + -86, + -23, + -13, + -124, + 14, + 20, + -47, + -12, + 3, + -39, + 96, + 113, + 55, + 60, + 54, + -17, + -25, + 7, + -85, + -105, + -52, + -111, + -52, + 2, + -97, + -99, + -56, + 86, + -60, + -73, + -85, + -13, + -67, + 125, + -51, + -83, + 86, + 85, + 39, + 122, + -79, + 73, + 76, + 67, + 93, + -75, + -57, + -50, + -88, + -72, + 63, + 33, + -75, + 44, + -44, + -23, + -15, + -2, + 100, + 26, + 99, + 5, + 34, + -41, + -102, + 58, + 31, + 11, + -102, + 22, + 118, + -34, + -90, + -75, + -61, + -58, + 6, + 26, + -84, + 99, + -10, + 38, + 24, + -125, + 70, + 60, + -18, + -100, + -26, + -70, + -106, + -91, + 37, + -94, + 110, + -74, + -126, + -55, + 35, + 20, + -84, + 71, + 112, + -123, + -55, + 92, + -33, + 35, + -110, + 30, + 96, + -78, + 25, + 35, + -57, + 76, + -125, + 22, + -104, + 102, + 118, + 119, + 104, + -28, + -95, + -95, + -115, + 40, + -44, + -106, + -76, + -24, + -10, + 88, + 82, + -95, + 64, + 8, + 116, + -65, + -52, + 33, + -27, + 83, + -84, + -104, + 14, + -59, + 126, + -20, + -117, + -40, + 46, + -110, + -96, + -126, + -63, + 89, + -28, + 36, + -109, + 86, + 13, + 37, + 27, + 4, + 30, + -94, + -117, + 69, + -16, + 62, + -61, + -50, + 77, + -110, + -45, + 5, + -22, + 124, + 1, + -57, + 51, + -7, + -77, + -38, + -29, + -70, + 93, + 38, + -61, + -95, + -11, + 104, + -84, + -13, + 34, + -62, + 113, + -12, + -114, + -20, + -14, + -4, + -32, + 7, + 52, + -58, + -26, + -58, + -39, + -45, + 111, + -80, + 119, + -20, + 91, + 31, + -113, + 23, + -89, + -112, + -67, + -98, + -80, + 116, + 125, + 77, + 12, + -112, + 99, + 115, + 64, + 118, + -78, + -93, + -102, + -13, + -33, + -103, + -68, + -124, + 31, + 93, + -47, + 114, + -66, + -119, + -63, + 119, + -108, + -74, + -6, + 0, + 55, + 71, + 114, + -46, + -78, + -20, + 53, + -76, + -7, + -56, + 48, + 88, + -37, + 1, + 111, + -36, + -54, + -12, + 98, + -10, + 121, + -115, + -87, + 52, + -102, + -55, + 51, + -30, + -84, + 71, + 75, + 81, + -50, + 70, + 0, + 31, + 114, + 87, + -125, + 67, + -114, + 23, + -110, + 108, + -124, + 102, + -82, + 91, + -4, + 127, + -4, + 25, + -25, + 84, + -20, + 102, + 50, + -1, + 0, + 24, + -72, + 91, + -26, + -67, + 118, + -55, + -69, + -106, + -11, + -72, + 44, + -34, + -33, + 70, + -74, + 11, + -108, + 66, + -21, + 106, + -26, + -113, + 101, + 67, + 65, + -92, + -75, + 5, + -110, + 67, + 89, + 106, + -68, + 86, + -56, + -39, + -89, + 86, + -35, + 8, + 16, + 125, + 122, + -10, + 42, + 69, + 28, + 39, + 65, + -25, + -29, + 20, + -6, + -15, + -34, + 107, + -100, + -89, + -99, + -95, + -96, + -50, + 115, + 73, + 80, + -128, + 80, + 65, + 91, + 6, + 86, + 0, + 2, + -119, + -31, + -62, + 86, + 27, + -93, + 10, + 61, + -80, + 102, + -51, + 78, + 24, + 116, + -94, + -22, + -27, + -22, + -50, + 24, + -71, + 108, + -56, + -87, + 15, + -119, + -49, + 93, + 17, + 68, + -63, + -15, + 5, + -53, + -53, + -71, + 63, + 49, + -27, + 89, + 2, + 97, + -97, + -121, + 50, + -78, + 118, + 78, + 99, + -58, + -109, + 30, + 96, + 77, + 80, + -115, + -60, + -46, + -91, + 18, + 5, + -1, + 0, + 12, + 26, + 94, + -126, + -36, + 20, + -7, + -121, + 62, + 60, + -50, + 33, + 3, + -119, + 89, + 3, + 44, + -123, + 101, + -118, + 6, + 74, + 82, + 55, + 58, + 64, + -112, + 81, + 38, + -104, + 72, + 0, + 6, + -120, + -30, + -115, + -6, + -50, + -21, + -70, + 65, + -50, + -76, + 83, + -11, + -16, + 31, + -112, + -89, + 58, + 78, + 70, + 96, + -44, + -28, + -66, + 65, + -92, + 34, + -88, + 122, + -106, + -106, + 66, + -32, + 43, + 86, + -106, + -52, + -39, + 11, + 1, + 99, + -108, + 86, + 50, + -24, + 40, + -83, + -36, + -84, + -55, + 104, + -110, + 16, + 120, + -95, + -99, + 12, + 58, + -59, + -45, + 126, + -90, + 39, + -8, + -49, + 42, + -99, + 67, + -84, + -77, + -103, + -108, + -82, + 5, + -59, + -7, + -27, + 89, + 122, + -112, + -86, + -76, + 93, + 17, + -56, + -23, + -112, + -73, + 70, + 76, + -91, + -5, + 36, + 52, + 84, + -22, + -123, + -108, + -29, + 3, + 21, + -34, + -103, + -124, + 101, + 50, + 80, + -108, + -52, + -101, + -108, + -126, + -99, + -54, + 108, + -118, + -97, + -50, + -104, + 19, + -115, + -13, + -14, + -109, + -30, + 31, + -62, + 60, + 7, + 9, + -39, + 104, + -11, + -11, + 54, + 88, + 33, + 26, + -99, + 81, + 77, + 69, + -117, + -96, + -5, + 94, + -38, + -34, + -110, + -74, + -117, + 123, + -87, + -49, + 126, + -15, + -74, + 4, + 19, + 109, + -48, + 72, + 99, + 110, + 17, + -78, + 100, + -90, + 102, + 115, + 44, + -3, + -94, + -28, + 85, + -23, + -24, + -18, + -63, + 20, + -75, + -21, + 104, + -17, + -68, + -20, + -58, + -1, + 0, + 31, + -6, + 44, + 55, + 33, + -8, + -30, + 115, + -95, + -24, + -45, + -104, + -27, + -117, + -97, + -95, + 49, + -67, + 79, + 72, + -52, + -60, + 50, + 97, + -97, + -77, + -114, + 124, + 84, + -78, + 82, + 68, + 86, + -78, + -34, + -100, + -96, + -55, + -71, + -91, + 76, + -66, + -51, + -85, + 14, + -104, + -128, + -85, + 58, + -51, + 22, + -54, + 124, + -64, + -100, + -58, + 122, + 106, + -128, + -121, + -52, + 96, + 67, + -103, + 63, + 53, + -57, + -116, + -28, + -58, + 66, + 2, + -14, + 70, + 3, + 25, + 37, + 80, + -29, + 66, + -111, + -26, + -46, + 21, + -85, + -83, + -106, + -58, + -86, + 43, + -62, + 121, + -103, + 92, + -67, + 121, + 84, + -6, + 49, + -27, + 18, + -71, + 84, + 71, + 42, + -111, + -92, + 111, + -35, + -44, + -21, + -33, + 126, + -24, + 69, + 101, + -37, + 123, + 112, + 9, + 0, + -126, + 44, + 59, + 94, + 52, + 68, + 84, + 94, + 46, + -33, + -39, + 126, + 41, + -19, + 91, + -120, + -51, + -10, + -55, + 51, + 40, + -56, + -40, + -27, + -73, + 37, + -88, + 25, + -27, + -81, + -79, + 60, + -48, + 92, + -122, + 72, + 45, + 79, + 19, + 96, + -92, + -53, + 95, + 117, + 100, + -79, + 49, + 74, + -105, + 7, + -42, + -95, + 63, + -109, + -1, + 0, + -28, + 59, + 47, + -54, + -12, + 125, + 23, + 41, + -49, + 42, + 69, + 124, + -33, + -48, + -103, + -122, + -57, + 53, + 40, + -94, + 28, + 18, + -11, + 58, + -74, + 94, + -91, + -94, + -87, + 53, + 22, + -48, + 70, + 19, + -77, + 98, + 26, + 87, + 106, + -56, + -113, + -110, + 74, + 12, + -77, + -21, + 74, + -92, + -14, + -79, + 33, + 106, + 126, + 113, + 127, + -107, + -13, + -70, + 58, + -84, + -26, + 92, + 39, + 65, + 45, + -47, + -108, + 106, + -59, + 1, + 110, + -101, + -12, + -43, + -118, + 67, + 108, + 73, + 110, + 70, + -63, + -12, + 68, + 92, + 22, + -56, + 18, + 118, + -44, + 117, + 39, + -111, + 37, + 4, + -53, + 64, + -125, + 82, + 120, + 97, + 23, + 65, + 100, + 117, + 74, + 84, + 63, + 120, + -67, + -69, + -45, + 77, + 102, + -59, + -69, + 51, + -40, + -76, + -23, + 100, + -79, + 53, + -71, + 63, + 34, + -60, + -109, + 58, + 87, + 77, + 44, + -113, + -79, + 34, + -3, + -46, + -52, + -9, + 61, + -114, + 115, + -99, + 36, + -110, + -86, + -5, + 57, + -18, + 87, + -94, + 120, + -12, + 95, + -78, + -2, + -64, + 28, + -72, + -93, + -52, + -25, + -79, + -68, + 112, + 119, + 94, + 44, + 27, + 41, + 44, + -67, + 8, + 57, + 59, + 6, + -118, + 54, + 93, + -69, + 48, + 68, + -83, + 118, + -35, + -99, + 83, + 98, + -68, + -9, + -38, + -76, + -57, + 118, + -125, + -106, + 50, + 73, + 48, + 5, + 95, + 39, + 103, + -114, + 50, + 64, + -79, + 9, + 4, + -121, + -112, + 17, + -69, + -18, + -118, + 118, + -17, + 27, + 1, + -53, + -34, + -11, + 61, + 119, + 71, + 61, + 100, + -34, + -65, + 68, + 84, + -47, + 37, + 85, + 111, + -28, + -37, + -78, + -5, + -79, + -42, + -119, + -13, + -38, + -76, + -63, + -29, + -101, + 43, + 94, + -38, + 3, + -22, + -51, + 110, + -54, + -62, + 50, + -92, + 80, + 81, + -92, + -78, + -85, + 42, + -63, + 3, + 28, + -83, + 120, + -3, + 51, + -120, + -26, + 49, + -18, + 71, + -67, + 60, + -56, + -58, + 61, + 61, + -35, + 18, + 57, + 125, + 22, + 70, + 121, + -14, + -39, + 93, + -3, + 124, + -86, + -75, + -88, + -82, + 114, + -1, + 0, + 87, + 127, + 101, + -15, + -22, + -63, + -6, + -40, + -95, + -126, + 28, + 104, + -93, + -126, + 8, + -93, + -122, + 24, + 81, + 82, + 40, + -93, + 69, + 68, + 68, + 80, + 2, + -86, + -86, + -128, + -86, + 0, + 3, + 96, + 7, + 78, + 51, + 121, + 102, + -106, + 105, + 30, + 89, + 100, + 121, + 37, + -111, + -117, + -69, + -69, + 22, + 102, + 99, + -44, + -77, + 18, + 73, + 59, + 13, + -55, + -16, + 28, + 126, + -120, + -85, + 112, + -123, + -122, + 126, + 28, + 33, + 10, + -115, + -82, + -42, + 49, + 83, + -14, + 30, + 5, + -80, + 53, + 125, + 26, + -59, + -123, + -80, + -46, + 49, + 109, + 91, + 34, + -75, + 63, + -97, + 104, + -101, + 10, + -73, + -49, + -9, + 69, + -113, + -43, + 19, + 113, + 3, + 24, + -73, + 85, + -109, + 98, + 97, + -111, + 28, + -11, + 115, + 111, + -66, + -90, + 105, + -15, + -75, + -22, + -84, + -10, + -111, + 87, + -9, + 15, + -51, + 108, + -98, + 85, + 21, + 100, + -118, + -73, + -78, + 43, + 17, + 125, + -43, + -50, + 87, + 33, + -12, + 55, + 103, + -128, + 100, + 51, + -49, + 92, + -35, + -103, + 47, + 72, + -78, + -47, + -5, + -87, + -91, + -106, + 72, + -77, + 71, + -9, + 86, + 99, + 47, + -28, + 41, + 16, + -86, + -54, + 110, + -123, + 21, + -47, + 89, + -106, + 89, + -91, + -115, + 21, + 91, + 34, + -71, + -46, + 53, + -85, + -103, + -15, + 86, + 27, + 92, + 112, + -67, + 5, + 106, + 53, + -122, + 92, + -115, + -13, + 92, + -108, + -23, + 90, + -59, + 104, + -51, + 27, + -107, + -45, + 54, + -116, + 118, + -12, + 5, + 41, + -103, + -110, + 117, + -109, + -21, + -111, + 22, + 81, + 86, + 107, + 64, + -98, + -15, + 54, + 63, + -27, + -78, + 69, + -25, + -98, + -55, + -67, + -34, + -32, + 125, + 63, + -25, + -33, + -7, + 107, + 58, + -105, + -60, + -19, + 94, + 35, + -89, + 79, + 79, + 79, + 58, + -4, + -88, + -114, + -51, + 116, + 18, + -23, + 29, + 74, + -94, + -66, + 41, + 101, + -111, + 23, + -40, + -115, + -7, + 91, + 19, + 28, + -66, + -56, + -79, + 83, + -79, + 28, + -75, + 91, + -20, + -65, + -15, + -3, + 109, + -110, + 24, + -40, + -97, + -61, + 92, + -26, + -75, + 26, + -46, + 59, + -46, + -74, + -8, + 40, + -110, + -24, + -29, + -107, + 27, + 92, + -117, + 46, + 62, + 86, + 77, + 45, + -62, + 19, + 39, + -33, + 19, + -102, + -54, + 9, + -98, + -66, + 80, + -93, + 97, + 87, + -79, + -120, + -6, + -11, + -37, + 90, + 47, + -85, + -19, + 99, + -94, + 88, + -28, + -111, + -82, + -56, + 94, + -87, + 120, + -57, + -83, + -37, + 119, + -60, + 48, + 11, + -97, + 97, + -117, + 28, + -121, + -123, + -73, + 63, + 110, + -116, + -24, + -79, + -78, + -76, + -9, + 89, + -116, + 98, + -3, + 16, + 36, + -115, + -126, + 24, + -31, + -80, + -113, + 84, + 107, + 27, + 98, + 73, + -99, + -10, + -74, + 67, + -92, + -95, + 12, + -28, + 6, + -41, + -83, + 68, + -43, + 118, + 40, + -41, + -79, + -105, + -59, + 25, + 114, + -120, + -127, + -50, + 85, + -6, + 100, + -114, + -117, + 46, + 50, + 91, + 79, + 99, + -103, + 26, + -57, + -20, + 10, + 104, + 61, + 26, + -11, + -107, + 18, + -78, + -56, + -88, + 6, + 38, + 31, + 30, + -98, + 4, + -12, + -23, + -13, + 28, + 8, + 117, + 62, + 60, + 100, + 121, + 48, + 83, + 82, + -74, + -77, + 62, + -19, + 106, + -50, + 117, + 58, + 45, + 66, + 84, + -51, + -25, + -91, + -102, + 91, + -74, + 99, + -122, + 6, + -64, + -30, + 112, + -114, + -110, + -44, + -74, + 109, + -51, + 90, + -92, + -111, + -43, + 125, + -121, + 50, + 75, + 20, + -96, + -102, + 8, + -46, + 118, + 35, + -86, + 79, + -78, + 124, + -95, + -34, + -11, + 29, + 105, + 44, + -10, + 120, + 24, + 124, + 95, + 37, + 6, + 80, + -42, + 111, + 69, + -86, + -39, + -124, + -49, + -21, + -16, + 69, + 50, + 35, + 37, + -41, + -24, + 33, + -23, + 32, + -10, + 127, + -17, + 21, + -22, + -102, + -121, + 65, + -103, + -25, + -11, + 75, + 87, + 26, + 15, + 17, + -68, + -110, + -76, + -122, + 6, + -25, + 6, + -35, + -92, + 98, + 93, + -100, + -12, + 46, + 7, + 75, + 88, + 97, + 24, + -22, + -26, + 22, + 73, + -106, + -4, + -46, + 35, + -91, + -122, + -79, + 88, + 41, + 17, + -84, + -59, + 21, + -10, + -80, + -84, + 13, + 21, + -23, + 114, + -84, + -111, + -83, + -42, + 53, + 45, + -108, + 107, + -25, + -92, + 70, + 10, + -10, + -86, + -48, + 117, + 105, + 34, + -110, + 120, + 5, + -93, + -49, + 97, + -95, + -20, + -8, + -82, + 87, + -49, + -76, + 19, + -28, + -120, + -120, + -102, + -15, + 78, + -84, + 76, + 46, + -116, + 61, + 61, + 93, + -128, + 4, + 113, + -26, + 127, + -43, + 33, + -93, + 1, + 25, + -82, + 71, + -83, + 45, + 79, + 68, + 36, + 25, + 66, + 89, + -110, + 120, + 67, + -94, + 114, + -61, + 52, + 25, + 77, + 6, + 98, + -48, + 104, + -95, + -114, + -84, + -7, + 111, + -8, + -118, + 57, + -114, + 94, + 54, + 55, + 43, + -62, + 100, + -113, + 31, + 38, + 120, + -58, + 101, + -55, + -94, + 73, + -39, + -35, + 23, + 31, + 29, + 84, + 46, + -15, + -122, + 45, + 60, + -74, + -22, + 42, + 37, + -80, + 85, + 88, + 25, + -66, + 81, + 18, + -110, + -7, + 6, + -55, + 64, + 116, + 29, + -23, + 64, + -83, + 79, + 99, + -95, + -36, + 40, + -40, + -111, + 103, + -57, + -118, + -2, + -67, + -14, + 27, + -107, + -15, + -78, + 66, + 9, + 109, + -21, + -115, + -47, + -19, + -9, + 31, + -69, + 92, + -73, + 71, + 45, + 87, + 7, + -113, + -65, + -123, + -61, + -39, + -48, + -36, + 35, + 54, + 80, + -72, + -116, + 11, + -102, + 30, + 26, + 80, + -123, + -47, + -33, + -100, + -123, + 75, + 90, + -69, + -99, + 36, + -82, + -48, + 86, + -70, + -127, + 79, + -49, + -61, + -102, + -54, + 81, + 71, + 111, + -78, + 116, + 17, + 121, + 6, + -41, + -21, + -72, + -54, + -12, + 42, + -23, + -82, + -114, + -89, + 61, + 22, + -42, + -90, + 58, + -87, + 111, + 65, + 19, + -39, + -68, + 78, + -58, + -84, + -4, + 37, + -99, + 95, + -10, + -86, + -52, + -82, + -75, + -56, + 81, + -109, + -14, + -60, + 89, + -122, + -66, + -127, + -90, + 77, + 40, + -70, + -20, + -46, + -121, + -109, + -35, + 75, + -30, + 95, + -63, + 78, + 49, + -117, + -24, + 61, + 123, + 73, + -120, + -81, + -116, + 92, + -64, + 34, + 103, + -82, + -99, + 35, + -45, + 58, + -109, + -85, + 13, + -99, + 78, + 126, + -21, + 86, + -7, + 90, + -106, + 58, + 48, + 96, + -47, + -52, + 88, + -35, + -22, + 111, + -83, + 94, + -31, + 65, + -113, + -66, + -59, + -92, + 50, + 37, + -128, + 76, + 49, + 54, + -115, + 28, + 100, + -66, + 76, + -15, + -63, + 121, + 124, + 94, + 60, + -17, + 45, + 21, + -95, + -73, + -66, + 105, + 91, + 101, + 104, + -47, + -124, + -25, + 76, + -23, + 122, + 99, + 103, + -58, + -43, + -77, + 94, + 96, + 54, + 108, + 92, + 42, + -4, + -4, + -62, + 68, + 80, + -54, + 27, + -95, + 82, + 74, + -12, + -53, + 30, + 37, + 87, + 59, + 113, + -117, + 40, + -23, + -27, + -73, + 106, + 27, + -40, + -34, + 71, + -113, + -20, + -18, + 102, + 100, + -36, + -50, + 76, + 54, + -109, + 35, + 19, + 76, + 76, + 11, + -56, + -56, + 22, + 65, + -38, + -86, + 23, + -119, + 10, + -84, + -118, + 80, + 105, + 82, + 75, + -107, + 54, + 41, + 111, + -115, + 67, + -39, + 44, + -114, + 88, + -110, + 101, + -53, + -52, + 93, + 59, + 52, + -119, + 7, + 103, + 40, + 90, + -102, + 38, + -79, + 36, + 106, + 53, + 2, + -27, + -87, + 64, + 69, + -73, + 114, + 64, + -45, + 86, + -62, + 104, + 60, + -81, + 42, + -7, + -109, + -90, + -8, + 114, + 111, + -84, + 11, + -81, + -127, + -37, + -65, + 97, + -78, + -72, + 44, + 112, + -50, + -117, + -107, + 101, + -83, + 14, + 102, + -50, + 104, + -32, + 107, + -62, + 47, + -62, + 82, + 6, + 108, + 1, + 67, + -78, + -24, + -108, + -71, + -12, + -128, + -7, + -104, + 115, + -116, + -82, + 120, + 82, + 93, + -124, + -43, + -109, + -38, + 52, + 72, + 4, + 88, + -33, + 51, + -30, + 125, + 111, + 6, + 124, + -116, + -38, + -114, + -113, + -103, + -65, + 74, + 43, + -50, + -99, + -105, + -36, + 50, + 74, + 43, + 106, + 36, + -106, + -51, + -8, + 109, + -58, + 26, + 43, + -73, + 107, + -25, + -52, + 82, + -79, + 106, + -120, + -101, + 23, + 1, + 94, + -89, + 75, + -24, + 7, + 82, + -30, + 81, + -69, + 86, + -21, + -124, + 67, + 73, + 93, + -85, + -27, + -80, + 115, + 117, + 69, + 79, + 46, + 42, + -33, + 47, + -53, + 48, + -23, + 99, + -59, + 74, + -24, + 14, + -105, + -23, + -77, + -43, + -101, + 76, + -107, + 107, + -104, + 31, + 10, + 104, + 117, + 27, + 59, + -26, + -85, + -107, + -48, + 86, + -48, + 89, + -80, + 92, + -106, + 35, + 63, + 123, + 109, + 22, + -2, + -8, + -67, + -34, + 99, + 49, + 45, + 99, + 115, + -98, + 117, + -71, + 95, + -52, + -19, + -90, + -116, + 126, + 115, + 39, + -106, + 36, + -62, + 97, + 10, + -47, + -51, + 20, + -25, + -41, + 44, + -114, + -84, + 95, + 40, + 42, + -91, + 125, + 16, + 12, + -10, + -61, + 62, + 99, + 49, + 76, + 45, + -101, + -103, + -32, + 50, + 104, + -83, + -21, + -77, + 3, + -23, + 65, + 78, + 17, + -7, + -70, + 117, + 51, + 35, + -128, + 98, + -71, + 6, + 62, + -112, + 123, + -94, + 45, + 25, + 124, + -93, + 15, + -101, + 118, + 89, + 24, + 50, + -87, + -107, + 1, + 120, + -29, + 121, + 100, + -114, + -102, + -108, + 0, + -64, + 89, + 10, + 78, + -12, + -54, + 116, + -109, + -79, + 33, + -120, + -30, + -59, + -2, + 72, + -71, + -47, + 71, + 39, + 33, + -98, + 12, + 72, + 50, + 35, + 126, + -41, + 3, + 36, + -10, + -83, + 10, + -10, + -46, + 21, + 112, + -59, + -91, + -110, + 50, + 81, + -108, + 58, + 18, + -64, + 40, + -44, + 26, + -62, + -96, + -75, + -2, + -61, + -76, + -86, + 7, + -102, + -102, + -108, + 61, + 13, + 94, + -85, + 109, + 26, + 40, + 112, + -25, + 115, + -104, + -32, + -41, + 75, + -44, + -70, + -91, + 0, + -80, + 81, + 65, + -103, + -85, + 79, + 120, + -72, + 107, + -84, + -75, + 95, + 126, + 2, + 26, + -56, + 40, + -63, + 94, + -76, + 118, + -51, + 91, + -106, + -61, + 95, + 110, + 89, + -39, + 17, + -35, + 51, + -28, + -66, + -69, + 13, + -100, + 50, + 23, + 87, + 91, + -112, + -107, + -126, + -3, + -105, + 89, + 78, + -119, + 22, + 82, + -50, + -112, + -106, + 110, + 95, + -36, + 36, + -90, + 123, + -95, + -28, + -93, + -25, + 2, + -91, + -50, + 107, + 44, + 80, + -93, + 58, + 127, + -87, + 8, + -114, + -128, + 112, + 18, + -34, + 29, + 108, + -58, + -116, + -95, + 65, + -49, + 5, + 80, + -121, + -30, + 97, + -16, + 73, + 103, + 87, + -101, + 42, + 59, + 19, + -98, + 98, + -107, + 97, + -37, + -9, + 7, + -23, + 106, + 18, + -81, + 84, + 84, + -124, + -113, + 69, + 70, + -80, + -89, + -58, + 68, + -110, + 104, + 94, + -26, + -120, + 97, + 103, + 16, + -91, + 33, + -14, + 68, + 7, + -105, + -95, + 92, + -28, + 65, + 50, + -79, + -25, + 4, + -43, + 47, + -1, + 0, + 33, + -33, + 40, + 50, + -36, + 87, + 27, + -97, + 3, + -54, + 49, + 69, + 58, + -113, + 93, + -23, + 86, + -120, + -113, + -25, + 120, + 126, + 90, + 34, + -74, + -117, + 83, + -92, + -47, + -84, + 35, + -48, + 92, + -88, + 34, + -99, + 51, + 22, + 98, + 31, + 87, + 66, + 95, + 61, + 113, + 44, + 48, + 89, + -118, + -9, + 22, + -51, + 33, + 2, + 69, + -40, + 36, + 76, + 67, + 127, + 84, + 14, + 101, + -56, + 125, + -80, + 29, + -95, + 121, + -122, + 52, + -102, + 97, + 88, + -95, + -63, + -98, + 118, + 18, + 25, + 102, + -45, + -89, + -76, + -113, + 79, + 121, + 9, + 82, + -50, + -32, + 30, + -51, + -122, + -90, + -46, + 8, + -30, + -83, + -97, + -126, + 57, + 62, + 106, + 98, + -27, + -94, + 61, + 21, + 126, + -42, + 72, + -29, + 104, + 116, + -78, + -87, + 86, + 59, + -70, + 16, + 65, + -67, + 54, + -37, + 119, + -120, + 23, + -62, + 59, + -28, + 63, + -52, + 72, + 126, + 58, + -27, + -21, + 4, + 9, + 94, + 46, + -123, + -14, + 0, + -101, + 36, + -92, + 12, + 125, + 104, + 116, + 58, + 59, + 54, + 54, + 100, + 107, + -126, + -83, + 37, + -8, + -13, + 1, + -32, + -113, + 83, + 112, + -123, + 10, + -58, + 44, + -110, + 100, + -112, + -106, + -94, + 65, + 85, + -29, + 40, + -2, + -27, + 72, + -79, + 42, + -46, + -71, + 25, + -2, + 56, + -23, + 118, + 67, + -37, + -34, + -49, + -46, + -5, + -33, + 49, + -23, + -39, + 29, + 52, + 3, + 50, + -94, + -77, + -59, + 122, + -67, + 50, + 65, + 53, + 123, + 25, + 52, + -10, + 108, + -36, + -38, + -110, + 57, + -116, + 45, + 94, + -123, + 113, + 116, + 105, + -65, + 15, + -128, + -83, + -121, + 100, + 0, + -86, + -62, + 12, + 76, + 122, + 113, + 85, + 8, + 88, + -119, + -28, + -128, + -28, + -31, + 79, + -59, + 92, + 41, + 94, + 73, + -48, + 106, + 118, + 111, + -107, + 24, + -97, + -112, + -38, + 15, + -107, + 15, + -118, + 126, + -115, + -107, + -62, + -103, + 1, + 107, + -24, + -35, + 98, + 7, + 5, + 34, + 84, + -15, + 76, + 78, + 7, + 98, + 60, + 118, + -14, + 99, + -104, + -125, + -42, + -99, + 89, + -73, + -88, + -44, + 21, + 81, + 116, + 21, + 7, + -69, + 57, + 118, + 43, + 16, + -102, + 59, + 53, + -88, + -12, + 63, + -111, + -89, + -8, + -82, + 117, + -6, + 111, + -106, + -114, + -29, + -104, + -83, + 20, + -85, + 65, + -71, + -68, + -98, + 43, + 77, + 53, + -78, + -69, + 108, + -79, + 21, + -91, + 54, + -82, + -100, + -100, + -6, + -123, + -29, + 45, + 24, + -36, + 62, + -126, + -74, + -105, + 58, + 51, + 65, + 83, + 75, + -93, + -86, + 92, + -48, + -3, + 30, + 118, + 2, + -103, + -28, + -94, + 36, + -2, + -14, + 67, + -39, + -18, + 91, + 48, + -107, + 121, + 74, + -116, + -116, + -68, + -8, + 39, + 104, + -26, + -114, + 60, + 105, + 74, + -74, + 67, + -95, + -70, + 96, + 11, + 22, + 106, + -18, + 59, + -34, + -70, + 52, + 84, + -72, + 80, + -61, + -102, + 24, + -80, + 113, + -28, + -107, + -114, + 50, + 69, + 50, + 9, + 14, + 73, + -56, + -114, + -12, + 43, + -87, + 61, + -112, + 4, + -87, + -115, + 65, + 1, + -12, + 19, + 87, + 103, + 101, + 36, + 33, + 62, + 115, + 113, + -35, + 46, + -76, + 19, + 54, + -122, + -5, + 6, + 35, + 25, + -117, + 26, + 120, + 35, + -28, + -84, + 79, + 13, + 112, + 57, + 92, + -42, + 59, + 41, + 78, + 19, + 89, + -95, + -103, + -19, + -96, + 115, + -123, + 39, + 39, + 96, + 55, + 73, + 15, + -123, + -34, + -46, + 126, + -76, + 36, + -104, + -38, + 122, + 112, + 65, + -82, + 25, + 30, + 75, + 47, + 1, + -52, + 62, + -50, + -107, + 62, + 92, + 124, + -40, + 35, + -43, + -46, + -105, + 56, + -27, + 116, + -41, + 17, + -57, + -13, + 1, + -87, + -29, + -125, + -41, + -49, + -51, + 48, + 89, + 52, + 89, + -47, + 62, + -15, + -113, + 26, + 82, + -128, + -24, + -122, + 83, + -121, + 52, + 62, + 47, + 127, + -39, + -77, + 46, + -88, + -75, + -88, + -74, + 103, + 61, + -107, + -87, + 58, + 118, + 14, + -94, + -43, + 124, + -80, + -7, + -91, + -47, + -66, + 78, + -24, + 110, + 50, + -27, + -105, + -127, + -25, + -16, + 93, + 125, + -128, + -39, + 58, + -17, + -109, + -46, + 70, + 87, + 99, + 98, + -83, + 57, + 95, + -7, + -34, + -74, + 45, + 36, + 112, + -85, + -21, + -44, + -5, + 101, + -90, + 57, + -113, + 101, + 104, + 93, + 123, + -22, + 109, + -21, + 112, + -54, + 75, + 94, + 24, + -113, + -111, + -52, + 115, + -68, + 43, + -105, + -35, + 102, + 86, + 61, + -87, + 97, + -54, + -118, + -60, + 114, + -6, + -86, + -93, + 28, + -97, + 91, + 85, + 28, + -88, + -33, + 8, + -23, + 61, + 29, + 28, + -115, + -12, + -33, + -80, + -97, + -31, + -90, + 47, + 33, + -109, + -4, + -25, + -102, + 41, + -97, + -102, + -52, + 123, + 88, + -15, + -34, + 70, + -106, + 28, + 22, + 96, + -89, + 81, + -44, + 72, + 124, + -127, + 84, + 0, + 61, + -116, + 20, + 4, + 74, + 88, + 9, + 6, + 43, + -19, + 79, + -74, + 83, + -13, + 40, + -41, + -105, + 96, + -111, + 22, + 20, + 122, + -111, + -25, + 84, + 17, + -53, + -110, + -93, + 109, + 54, + -96, + 21, + -121, + -60, + -109, + -4, + 89, + 73, + 37, + -56, + 4, + -85, + 27, + 54, + -21, + 85, + -19, + 72, + -43, + 103, + -10, + 71, + -71, + 81, + -88, + -115, + 115, + -27, + 108, + 111, + 124, + -115, + -9, + 70, + -5, + 42, + -7, + 87, + 63, + -39, + -34, + -24, + -43, + 115, + -68, + 120, + 122, + 61, + -47, + 107, + -91, + -39, + 21, + -82, + 84, + 122, + 47, + -86, + 61, + 92, + -1, + 0, + 72, + -29, + 106, + 34, + 43, + 18, + 56, + -2, + -75, + 87, + 49, + 126, + -59, + 95, + -77, + -47, + 85, + 61, + -107, + -46, + 53, + -83, + 106, + -67, + -77, + 57, + 61, + -9, + -85, + -68, + 75, + 35, + -101, + -21, + 19, + -67, + 17, + -18, + 99, + 19, + -53, + -41, + -43, + 92, + -33, + -27, + 124, + -75, + -120, + -44, + 99, + 99, + 70, + -67, + 124, + 35, + -109, + -22, + 87, + 49, + 124, + -89, + -41, + 88, + 123, + 97, + 69, + 122, + -71, + 24, + -116, + 84, + 122, + 122, + -67, + -78, + 74, + -43, + 89, + -66, + -60, + 79, + -79, + 21, + -56, + -11, + 86, + -93, + 90, + -25, + 49, + -66, + 91, + 35, + 24, + -27, + 88, + -111, + 17, + -101, + 2, + 16, + 7, + 80, + 55, + -13, + -9, + 113, + -99, + -72, + -40, + 31, + 47, + -33, + -125, + -72, + -18, + 47, + -86, + 61, + -51, + 99, + 125, + -4, + -6, + -74, + 73, + 93, + 26, + 34, + 127, + 15, + 95, + 79, + 100, + -9, + 84, + 95, + -79, + 17, + 90, + -58, + -78, + 56, + -36, + -114, + 107, + -68, + -69, + -43, + -79, + -113, + -47, + 28, + -74, + 99, + -118, + 54, + -71, + -82, + -111, + -88, + -81, + 86, + -85, + -37, + 27, + 38, + -111, + 85, + -83, + 111, + -12, + -111, + -51, + -10, + 85, + 70, + -8, + 84, + 71, + 42, + -7, + -10, + 71, + 123, + 42, + -75, + 99, + -16, + 63, + 71, + -79, + -26, + 62, + -65, + -28, + 124, + -8, + 75, + -113, + -47, + 54, + 29, + 99, + 43, + 91, + -79, + -26, + -99, + -53, + -108, + -100, + -25, + 126, + 60, + 115, + 27, + 63, + 27, + -93, + -119, + -24, + -82, + 72, + -83, + -42, + 42, + 99, + 69, + 78, + -54, + -85, + 23, + -22, + -111, + 37, + -123, + -47, + 72, + -115, + 114, + -66, + 36, + 73, + -99, + 11, + 52, + -122, + -17, + 78, + -125, + 16, + 78, + -115, + 72, + -124, + -57, + 17, + 24, + -34, + -57, + -51, + 88, + 93, + 97, + 115, + 85, + 115, + -110, + 72, + -39, + 53, + 55, + 8, + -3, + -70, + -77, + 102, + -121, + -35, + -81, + -122, + 91, + 21, + -90, + -11, + -16, + -49, + 85, + -6, + -3, + -40, + -13, + -63, + 21, + 1, + 11, + 91, + 12, + -124, + -34, + 34, + -6, + -35, + -6, + -67, + -34, + 95, + 97, + -99, + 32, + -107, + -99, + 12, + -51, + 107, + 97, + -86, + -37, + -72, + -119, + 99, + -119, + 44, + 50, + 73, + -4, + 57, + -75, + -47, + -22, + -83, + -115, + 125, + -100, + -28, + 108, + 109, + 92, + 72, + 7, + 47, + -92, + 19, + 86, + -83, + -96, + -71, + -25, + -91, + -87, + 18, + -84, + 38, + 1, + 87, + 36, + 86, + -108, + 100, + 35, + 84, + -115, + -13, + 17, + -77, + -109, + -93, + -99, + -122, + -67, + 63, + -2, + 67, + 36, + 115, + -81, + -50, + 46, + 20, + 99, + -99, + 58, + -1, + 0, + 88, + 127, + -116, + 68, + -28, + -31, + -88, + 31, + -63, + 44, + 54, + 54, + 116, + -98, + -107, + -67, + 106, + -81, + 31, + 14, + -90, + -66, + 26, + 79, + 103, + 59, + 116, + 122, + -23, + -26, + 60, + -113, + -128, + -8, + 93, + -2, + -68, + 70, + 119, + -20, + 53, + -45, + 67, + 29, + 25, + -50, + -36, + -72, + 54, + -76, + -55, + 103, + -16, + -18, + 89, + -76, + -53, + 83, + -70, + 21, + 123, + -47, + 39, + 35, + 12, + -75, + -54, + -81, + -42, + -25, + -74, + 79, + -86, + 50, + 48, + 87, + -111, + -56, + -40, + 28, + -57, + -42, + -102, + 70, + 74, + -95, + -58, + -22, + -38, + -77, + 106, + -82, + -111, + 27, + 84, + -107, + -78, + -83, + -80, + 46, + -91, + -42, + -44, + -50, + -48, + 117, + 72, + 19, + -22, + -106, + -37, + 60, + 77, + -102, + -70, + -14, + -111, + -39, + -78, + -27, + 75, + 31, + -72, + 62, + -45, + 101, + -122, + 24, + 92, + -58, + 68, + -98, + -17, + -101, + -50, + -97, + 16, + -38, + 117, + -20, + 13, + 117, + 1, + -29, + -85, + -51, + 110, + 75, + -107, + -89, + -111, + 89, + 85, + -18, + -11, + 27, + 108, + 124, + 127, + -103, + 114, + -26, + -104, + -4, + 22, + 43, + -52, + 70, + -24, + -7, + -23, + -123, + 126, + -121, + 48, + -109, + -66, + 55, + -55, + 58, + -40, + 116, + 50, + 65, + 42, + -122, + -2, + 2, + -96, + 12, + -52, + 53, + -22, + 73, + 106, + 59, + -15, + -103, + -89, + -1, + 0, + 29, + -46, + -63, + 26, + -97, + -116, + 102, + 55, + -57, + 66, + 98, + 22, + 43, + -38, + 91, + -75, + -90, + -122, + 88, + 31, + 61, + -42, + 68, + 35, + -21, + -109, + -18, + -118, + -120, + -7, + 45, + -3, + 114, + -35, + -3, + 40, + -71, + 28, + -67, + -64, + -42, + -127, + 111, + -96, + -46, + 44, + 125, + -33, + 5, + -13, + -15, + -21, + 117, + -72, + -37, + -124, + 76, + 57, + 104, + 123, + -92, + -73, + -97, + 120, + -111, + -31, + -80, + -65, + -23, + -75, + 124, + 56, + -85, + 63, + -14, + 89, + -13, + -53, + 117, + -15, + 76, + -105, + 25, + 25, + -49, + -117, + 103, + -84, + -23, + 78, + -39, + 110, + -69, + 64, + 34, + -55, + 40, + 108, + 89, + -125, + 37, + -117, + -80, + 46, + -100, + 121, + 120, + 112, + 80, + 84, + -107, + -94, + 6, + -10, + 23, + -111, + 56, + 22, + 29, + -35, + 43, + -71, + -81, + -39, + 102, + -57, + 104, + 107, + 103, + 107, + 24, + -48, + -112, + -3, + -41, + 40, + 123, + -15, + -21, + -28, + -90, + 80, + -41, + 31, + -22, + -65, + 46, + -10, + 89, + 17, + 117, + -75, + 69, + -6, + -16, + -63, + 69, + -23, + -31, + 110, + 93, + -118, + 40, + -37, + -112, + -28, + 121, + -53, + -111, + -76, + -115, + -110, + -13, + -56, + 64, + -63, + 65, + 89, + 66, + 38, + -84, + -3, + -119, + 90, + 18, + -73, + 102, + 36, + 55, + 60, + 66, + -80, + 56, + -121, + -62, + 79, + 63, + 30, + 63, + -51, + 15, + 29, + -37, + 110, + 51, + 127, + 27, + -18, + 100, + -22, + 13, + 46, + 123, + 48, + 107, + -85, + 15, + -74, + 46, + 75, + 68, + -125, + 33, + 121, + -116, + 127, + -47, + -7, + -60, + 32, + -37, + 70, + 115, + -127, + -86, + 73, + 88, + 125, + -111, + -73, + 100, + 53, + 118, + -34, + -111, + -62, + 7, + 14, + -71, + -7, + -113, + -90, + -79, + -78, + -41, + -26, + 53, + 95, + 8, + 11, + 83, + -28, + 90, + 78, + -105, + -15, + 103, + 83, + -42, + 114, + 122, + -55, + 55, + -39, + -66, + 89, + 22, + 101, + 24, + 84, + -7, + 28, + 56, + 125, + 87, + 37, + -50, + -27, + -60, + -23, + -11, + -72, + -39, + 69, + 56, + -12, + -12, + -12, + -70, + -125, + -90, + -63, + 22, + -82, + 51, + 66, + 27, + 29, + 103, + 89, + -114, + 16, + 47, + 83, + -87, + 43, + -97, + -67, + 111, + -10, + -72, + -79, + 127, + 111, + 51, + -80, + 99, + -52, + -26, + 7, + 22, + 120, + -105, + 59, + 27, + 67, + -30, + -96, + 1, + -116, + 115, + -100, + 20, + 17, + -77, + 35, + 13, + 43, + 98, + 109, + -103, + -64, + 12, + 31, + 123, + 0, + -114, + 47, + 94, + -52, + -29, + 102, + -53, + 28, + 65, + -94, + -110, + 76, + 119, + 86, + 18, + -97, + -12, + 9, + -84, + -47, + -38, + -24, + -88, + 4, + 3, + 99, + 107, + -16, + -69, + 117, + -7, + 67, + -60, + 6, + 124, + -69, + -32, + -35, + 95, + 23, + -87, + -72, + -96, + -27, + -33, + 98, + -29, + 31, + -99, + -83, + 108, + -15, + 113, + 56, + -1, + 0, + -10, + 102, + -56, + 35, + 87, + -97, + -116, + -104, + 107, + -75, + -33, + 112, + 120, + -72, + -89, + 27, + -98, + 102, + -72, + -123, + 60, + -112, + 99, + 80, + 103, + -115, + -52, + 72, + 85, + -70, + -38, + 65, + -11, + 108, + -118, + 64, + -32, + 53, + 3, + -13, + -39, + -66, + 33, + -54, + -7, + -121, + 53, + -64, + -24, + -74, + -37, + -18, + 102, + 46, + 82, + 29, + 64, + 80, + 120, + -123, + -32, + -31, + -101, + 11, + 104, + -106, + 82, + -27, + 91, + 36, + -62, + -66, + 91, + -74, + 101, + -62, + 110, + -99, + 37, + 16, + -71, + -5, + -61, + -13, + -32, + -89, + -71, + -9, + 102, + 51, + -77, + 99, + 107, + 78, + -125, + 115, + -101, + 3, + -59, + -4, + -109, + -24, + -73, + -84, + -39, + -57, + 23, + 27, + 64, + 22, + 82, + -105, + 68, + 31, + 123, + 78, + 84, + -20, + -32, + -33, + -95, + 107, + 51, + -116, + 21, + 80, + -19, + -31, + 121, + 81, + -124, + -35, + 124, + -62, + 107, + 8, + 87, + 75, + 6, + -86, + 8, + -98, + 17, + -48, + 7, + 89, + 69, + -114, + -49, + -19, + 10, + -19, + -58, + 76, + -64, + -9, + -18, + -111, + -47, + 57, + 4, + 119, + 50, + 60, + -1, + 0, + 102, + 79, + 36, + 78, + -123, + 92, + -36, + -106, + -123, + -123, + -45, + 25, + 57, + 71, + 43, + -112, + -126, + -104, + 47, + -64, + -118, + 45, + 17, + 17, + 98, + 24, + 42, + 45, + -119, + 28, + -43, + 42, + -83, + -89, + -71, + -4, + -93, + -62, + -123, + 70, + 103, + 77, + -123, + 9, + 123, + 30, + 67, + 80, + 111, + 97, + 85, + 92, + -87, + -25, + 49, + -28, + -10, + 114, + 69, + 27, + -59, + 75, + 36, + -90, + 53, + -43, + -81, + 75, + -38, + 29, + 70, + 48, + -61, + 67, + 41, + 98, + 73, + 35, + 64, + 83, + 68, + -15, + 125, + -58, + -27, + 49, + 118, + -117, + 11, + 77, + -115, + 52, + -14, + 35, + 17, + 16, + -104, + -120, + -31, + 33, + 90, + -69, + 118, + 0, + 21, + 32, + -44, + -102, + 108, + 26, + 4, + 53, + 88, + -71, + -19, + -75, + -47, + -12, + 30, + 125, + -120, + -41, + 107, + -88, + -25, + 70, + -107, + 31, + -49, + 5, + 17, + 47, + -85, + 105, + 99, + -79, + 98, + 104, + 89, + -82, + 52, + 84, + -74, + 110, + -113, + 8, + 95, + 68, + 40, + -108, + -44, + 8, + -67, + -84, + 33, + 80, + 80, + -62, + 116, + 127, + 100, + -104, + -51, + 95, + -40, + -83, + -98, + 10, + 58, + 103, + 105, + -21, + 83, + 32, + 13, + -10, + 3, + -28, + 55, + -55, + -82, + -123, + -66, + -69, + 102, + 76, + -114, + 60, + -49, + -57, + 92, + 25, + 110, + -123, + 74, + 42, + -74, + -57, + 16, + 127, + 80, + 52, + -102, + 108, + -35, + 44, + -42, + -100, + -28, + 85, + 115, + -91, + 108, + -117, + -105, + 39, + -97, + -25, + 102, + -13, + -6, + 90, + -105, + -78, + -37, + 82, + -103, + 26, + -100, + -10, + -59, + 75, + 49, + -43, + 110, + 90, + 108, + -84, + -109, + -7, + 21, + 119, + -95, + 119, + 47, + -117, + 23, + -32, + -53, + -36, + 34, + 70, + -19, + -61, + -107, + -15, + -12, + 68, + -28, + -114, + 69, + -102, + 21, + -101, + -116, + 60, + -8, + -37, + -123, + 53, + 90, + -120, + 127, + 98, + -120, + -23, + -36, + 124, + 67, + -122, + 104, + -125, + -100, + -87, + -98, + 3, + -44, + 45, + 0, + -46, + 91, + -50, + -114, + -50, + -29, + 65, + -12, + 12, + -114, + -7, + 67, + -42, + 111, + -8, + -69, + -8, + 79, + -126, + -23, + 93, + -117, + -84, + -32, + 123, + 57, + 126, + -91, + -48, + 70, + 84, + -58, + -21, + -20, + -40, + 110, + 71, + -88, + 111, + 113, + 0, + -54, + 24, + -50, + -18, + -78, + 97, + -35, + 109, + -47, + -119, + 43, + -119, + 82, + -53, + 109, + -91, + -82, + 90, + -91, + 84, + -47, + 59, + -11, + 17, + -106, + 73, + 90, + 108, + 80, + -35, + -110, + 57, + -65, + 86, + 111, + 103, + 99, + -55, + -52, + -53, + 32, + 101, + 24, + 17, + 22, + 6, + 26, + -44, + 62, + -67, + 110, + -58, + 77, + 37, + 20, + 20, + -45, + 26, + -124, + -90, + 118, + -44, + 88, + 18, + 20, + -122, + -30, + 29, + 121, + -101, + -14, + 25, + 100, + -53, + 88, + -27, + 98, + 18, + 72, + -103, + -96, + 117, + -115, + -64, + 58, + 84, + -128, + 88, + -47, + 55, + -67, + -128, + 10, + -43, + -39, + 32, + 81, + 111, + 18, + -52, + 117, + 14, + -117, + 110, + -2, + 82, + 3, + 2, + 14, + 118, + -107, + 96, + 60, + -66, + 23, + 33, + -127, + 125, + 64, + 3, + -77, + 66, + -57, + -49, + 112, + -53, + -70, + -41, + 119, + -103, + 115, + 78, + 72, + 121, + 5, + 124, + 81, + 81, + 0, + 92, + 115, + 46, + 90, + 13, + 29, + -30, + 39, + 32, + -52, + -122, + -93, + -93, + -43, + 78, + 2, + -122, + -110, + -23, + 56, + 87, + -57, + 74, + -4, + 120, + -123, + -2, + -111, + -66, + -119, + 122, + -33, + -56, + -99, + 29, + 72, + -22, + 21, + -24, + -41, + -46, + 42, + -63, + 113, + -18, + 116, + 70, + -86, + -33, + 29, + -51, + -59, + -125, + 31, + 75, + 78, + 14, + -92, + -63, + 12, + 60, + 17, + 51, + 4, + 117, + 100, + 11, + 24, + -122, + 27, + -9, + 17, + 5, + 59, + 77, + -92, + -96, + 70, + 81, + -15, + -65, + -119, + 28, + 95, + -29, + -112, + 57, + -64, + -14, + 110, + 75, + -95, + -53, + 80, + -70, + -42, + 33, + 18, + -94, + 108, + 99, + -36, + 111, + 67, + 29, + 75, + 100, + 46, + -47, + -1, + 0, + 103, + -43, + 27, + 54, + 83, + 89, + -85, + -98, + -99, + -125, + 37, + -44, + 68, + -38, + 67, + 87, + -44, + 61, + 27, + -13, + 81, + -85, + 45, + 58, + 44, + 100, + 31, + -83, + 110, + -43, + -47, + 48, + -1, + 0, + 30, + -7, + -34, + -73, + -89, + -12, + 127, + 124, + -50, + 83, + 49, + 10, + -84, + -10, + 53, + 26, + 102, + -117, + -73, + 110, + -20, + -85, + 81, + 41, + -57, + 66, + -72, + -116, + -114, + -111, + -122, + 91, + 122, + 123, + 117, + 104, + -42, + -116, + 61, + -117, + -42, + -82, + 24, + -105, + -10, + 120, + 43, + -87, + 36, + -110, + -85, + 118, + -116, + 44, + 94, + 91, + 72, + -124, + 28, + -119, + -53, + 0, + -123, + -108, + -22, + -44, + 104, + 1, + 26, + 2, + 104, + -109, + -45, + 114, + -9, + -46, + -88, + 85, + 87, + -37, + 31, + 109, + -7, + -41, + -76, + -49, + 18, + 20, + 92, + 46, + 95, + -116, + -108, + -104, + -23, + 69, + -99, + -120, + 93, + 114, + 79, + 37, + 81, + -40, + 10, + 68, + -46, + -118, + 53, + 19, + 101, + -81, + -122, + -33, + -90, + 124, + -83, + -87, + -15, + -101, + 39, + 115, + -95, + 109, + -89, + 1, + 82, + -96, + -22, + -78, + 50, + 42, + -10, + 8, + -19, + -83, + 58, + 105, + 61, + -67, + -93, + -126, + 58, + -28, + -76, + 119, + -30, + -110, + -11, + -97, + 79, + -90, + -110, + -3, + 13, + -77, + 106, + -5, + -103, + 74, + -93, + -42, + 121, + -95, + 111, + -21, + -108, + 31, + -102, + 127, + 58, + -70, + -89, + -51, + -50, + -110, + -19, + 102, + -46, + -19, + -118, + -103, + 48, + -113, + 125, + 92, + -114, + 82, + 43, + -74, + -56, + 66, + 58, + -76, + -50, + -9, + -74, + 74, + -3, + -37, + -54, + -74, + 44, + -111, + -98, + 121, + 36, + -115, + 34, + 73, + 82, + -120, + -86, + 73, + 29, + 17, + -47, + -92, + -49, + -65, + 120, + -94, + 19, + -26, + 87, + -53, + -3, + 95, + -53, + 78, + -102, + 76, + -12, + -55, + 108, + 118, + 8, + 89, + 11, + 17, + -30, + -13, + 51, + 89, + 100, + -14, + -59, + 69, + -85, + 28, + 108, + -66, + 109, + -15, + 71, + 86, + -75, + -94, + -49, + -127, + -78, + -3, + 16, + -74, + 22, + 87, + 19, + 78, + -61, + -58, + -46, + -102, + -59, + -117, + 87, + -53, + 21, + -119, + 95, + -107, + -22, + -98, + -112, + 57, + -52, + 100, + -88, + -11, + 70, + -94, + 122, + -71, + 93, + -3, + 17, + 21, + 85, + -98, + -34, + -34, + -85, + -27, + -52, + 99, + 81, + 60, + -67, + 61, + -104, + -59, + -14, + -81, + 110, + -123, + -54, + 57, + 22, + 46, + 19, + -82, + 83, + -60, + -89, + 43, + 69, + -87, + 107, + 99, + 0, + 106, + -75, + 93, + 87, + 79, + -32, + -20, + 61, + 85, + 78, + -110, + 75, + 101, + 89, + -68, + -62, + 121, + -127, + -128, + 57, + 17, + 108, + 88, + 10, + 29, + -95, + 30, + 117, + 93, + -48, + 70, + -61, + -95, + 59, + -101, + -38, + -116, + -20, + 17, + 88, + -107, + -56, + -41, + -75, + 21, + 86, + 87, + -3, + 126, + -56, + -117, + -31, + -55, + -18, + -33, + -20, + -12, + 68, + 71, + 35, + 21, + 26, + -44, + 107, + -65, + -94, + -75, + 81, + -51, + 88, + -47, + 125, + 117, + -106, + -60, + -45, + -93, + 36, + 95, + -7, + 125, + -110, + 63, + 10, + -43, + -111, + 92, + -59, + 107, + 83, + -39, + 92, + -44, + 95, + 10, + -1, + 0, + 86, + 53, + -1, + 0, + -43, + 93, + -27, + -2, + -19, + 87, + 120, + 123, + 88, + -123, + 50, + 78, + -81, + -111, + 17, + 19, + -43, + -23, + 2, + -79, + 21, + 36, + -111, + -84, + 86, + -70, + 69, + -107, + -34, + 90, + -42, + -6, + -67, + -2, + -66, + 24, + -85, + 26, + -75, + -52, + 85, + -9, + 123, + 93, + 31, + -78, + -69, + -45, + 102, + 71, + -66, + 37, + 103, + -11, + 119, + -106, + -69, + -62, + 59, + -20, + 116, + 126, + 94, + -113, + -14, + -25, + 120, + 116, + -86, + -116, + -11, + 87, + -71, + 99, + 116, + 114, + 65, + -21, + 28, + -66, + -86, + -9, + 57, + -15, + -39, + 56, + -120, + 126, + -128, + -6, + -3, + 126, + -100, + 24, + -63, + 51, + -90, + 114, + 54, + 68, + 86, + 127, + 49, + 43, + 90, + -98, + 125, + 92, + -81, + -113, + -46, + 8, + -35, + 35, + -111, + -83, + 95, + 85, + -105, + -54, + 53, + 126, + -49, + -31, + 19, + -43, + -81, + -107, + 17, + -20, + -5, + -3, + -65, + -78, + 59, + -47, + -18, + -123, + 81, + -66, + -56, + -25, + -8, + 119, + -108, + 107, + 124, + -73, + -42, + 69, + 127, + -10, + 107, + 83, + -39, + 98, + 79, + 85, + 71, + 63, + -49, + -16, + -23, + 28, + -102, + 109, + -111, + -20, + -6, + -100, + -59, + 87, + 49, + -82, + 115, + -90, + -10, + 98, + -86, + 42, + -5, + 34, + -55, + 35, + -94, + 70, + -75, + 125, + 17, + 22, + 39, + 35, + -107, + 85, + -66, + 63, + -68, + 42, + -33, + 71, + -93, + -10, + 31, + 59, + -106, + 70, + -62, + -88, + -98, + -51, + -11, + 87, + 57, + 25, + -10, + 74, + -33, + 111, + 119, + -56, + -115, + 116, + -98, + -120, + -84, + 86, + 42, + 35, + 28, + -28, + 107, + -91, + 123, + -47, + 91, + -19, + -19, + -10, + -2, + -69, + -124, + -120, + -80, + 71, + -97, + 27, + 47, + 115, + -67, + 24, + -98, + 28, + -42, + -75, + 21, + -66, + -84, + -6, + -111, + 17, + -56, + -25, + -85, + -43, + -78, + 42, + -57, + -18, + -57, + 61, + -50, + 86, + -6, + -71, + -24, + -87, + -31, + 28, + -7, + 30, + -57, + 43, + 71, + -21, + -44, + -109, + 39, + -42, + -117, + 27, + 28, + -17, + 42, + -57, + 39, + -120, + -101, + -27, + -120, + -28, + 122, + -86, + 127, + -22, + 84, + -11, + 119, + -11, + -1, + 0, + -44, + -27, + 103, + -77, + 95, + -17, + -3, + -43, + 21, + 71, + -24, + -91, + -121, + -104, + -7, + -6, + -113, + -21, + 127, + 14, + 19, + -48, + 126, + -113, + -88, + -12, + -9, + -97, + -17, + -79, + -3, + 46, + -58, + -36, + -88, + 90, + -70, + -79, + -5, + 17, + 18, + -53, + 94, + -81, + -27, + 50, + 44, + -68, + 53, + -90, + 50, + -116, + -85, + 2, + -53, + 44, + -51, + -91, + 102, + 109, + 21, + -101, + -113, + 111, + -4, + -98, + 89, + 82, + -113, + -39, + 43, + 21, + -22, + -40, + -106, + 73, + 21, + -83, + 56, + -71, + 28, + -13, + -62, + -83, + -83, + 82, + -23, + 89, + -37, + 75, + -2, + 7, + 29, + -66, + -125, + 70, + -110, + -85, + 117, + -53, + 28, + -16, + -112, + 19, + 66, + 23, + -58, + -5, + 76, + -119, + -66, + -54, + -37, + -7, + -106, + 36, + 105, + 34, + 54, + 59, + 49, + -51, + -19, + 19, + 119, + 104, + 48, + -13, + -86, + 73, + 28, + -45, + 9, + -87, + 50, + -55, + 26, + 71, + 36, + 75, + 112, + -60, + 111, + -115, + -115, + 123, + 108, + -75, + -15, + -84, + 89, + -9, + 69, + -4, + 35, + 22, + 41, + 18, + 121, + -111, + -50, + 87, + -85, + -93, + 68, + 108, + 104, + -4, + 118, + -98, + 29, + -106, + -36, + 60, + -74, + -83, + 82, + -60, + -45, + 44, + -11, + -88, + -40, + 63, + 76, + 28, + -15, + 35, + -33, + 35, + 35, + 99, + 34, + 17, + -5, + 77, + -39, + -31, + 95, + -71, + -79, + 66, + -37, + -82, + -68, + -41, + -57, + 28, + 50, + -94, + 75, + 58, + 125, + -119, + -25, + -126, + -28, + 53, + 117, + -81, + -61, + -16, + -37, + 97, + 94, + 94, + 59, + 87, + -98, + -36, + 107, + 65, + 69, + 15, + 61, + -73, + -33, + -49, + -3, + 95, + -45, + 127, + -113, + 13, + 67, + 67, + -53, + 94, + -46, + 58, + 48, + 15, + -93, + 37, + 117, + -107, + -11, + -87, + -27, + -83, + -41, + -114, + 42, + 95, + 111, + -108, + 91, + 75, + 1, + 70, + -127, + 23, + 101, + -18, + 89, + 60, + -86, + 89, + -93, + 103, + -47, + -2, + -85, + -3, + -107, + 35, + 114, + -85, + -50, + 20, + 72, + -60, + 5, + -122, + -64, + -85, + -27, + 108, + -95, + 10, + 76, + -73, + 76, + -84, + -94, + 100, + 42, + -75, + -35, + 101, + 71, + -59, + 37, + 90, + -44, + 28, + -48, + 78, + -74, + -82, + -66, + -56, + -107, + -19, + -73, + 69, + -51, + -92, + -110, + -55, + 52, + -50, + 68, + -15, + 34, + 64, + -15, + 48, + -105, + -81, + 90, + -87, + 76, + -109, + 62, + -6, + 113, + -6, + 122, + -122, + 41, + 36, + 119, + 91, + 28, + -51, + 119, + -92, + -73, + 127, + 6, + -52, + 54, + -91, + -106, + 69, + -14, + -58, + -53, + 101, + -1, + 0, + 108, + -81, + 115, + -36, + -55, + 21, + -49, + 115, + -45, + -42, + 127, + 32, + 126, + -29, + -24, + 17, + -83, + -85, + 127, + -46, + -91, + 41, + -41, + 74, + 102, + -58, + 87, + 40, + -85, + 93, + -61, + 52, + -74, + 34, + 124, + 86, + 43, + -37, + 22, + 82, + 73, + -47, + -47, + 84, + 100, + -82, + -78, + 74, + 101, + -107, + -116, + 89, + -92, + -2, + -18, + 107, + -38, + 98, + -44, + 44, + -102, + -86, + 59, + -22, + -70, + 53, + 95, + -79, + -16, + -81, + 14, + 59, + 77, + 120, + 93, + -11, + -36, + 109, + -45, + -64, + -128, + 60, + -2, + 31, + 1, + -60, + 80, + -7, + -1, + 0, + -15, + -83, + 122, + -122, + 47, + -98, + 106, + -122, + 1, + -53, + 5, + -71, + -52, + -9, + 116, + 37, + -78, + -51, + -52, + -9, + 44, + -113, + 120, + 13, + 80, + 50, + -7, + 24, + 26, + 31, + 60, + 24, + -59, + -52, + 89, + 3, + 2, + 119, + -90, + -7, + -2, + -58, + 56, + 53, + -43, + 36, + -96, + 82, + -90, + 58, + -58, + 98, + 73, + -85, + -117, + -47, + 20, + -118, + -35, + 57, + 124, + -115, + -49, + -11, + 94, + 89, + -35, + 56, + -49, + 122, + -85, + -52, + 39, + -52, + -14, + -2, + 49, + 29, + -78, + 79, + -89, + 92, + -73, + 54, + 59, + 79, + 81, + 25, + 58, + -72, + -85, + -92, + 50, + -10, + -35, + 91, + 66, + -52, + -100, + -82, + 24, + 73, + -64, + 9, + -117, + -63, + -72, + -113, + 46, + 57, + -43, + -14, + 86, + 107, + 65, + -111, + -81, + 84, + -106, + 112, + -71, + -95, + -67, + 81, + -104, + -54, + 17, + 60, + 20, + -48, + 2, + -26, + -96, + 101, + 114, + -76, + 36, + -89, + 5, + -112, + 97, + -30, + -86, + 70, + -94, + -52, + -40, + -47, + -109, + 87, + -104, + -51, + -51, + 32, + -25, + 72, + -120, + -23, + 17, + 22, + 81, + 40, + -83, + -103, + 98, + -103, + -81, + 98, + -62, + -87, + 45, + 105, + -19, + 126, + 41, + -18, + -77, + -38, + 123, + -60, + -23, + 23, + -28, + 114, + -120, + -95, + 27, + -103, + -102, + -87, + -48, + -70, + -121, + 71, + -54, + 65, + -95, + -65, + 38, + -52, + 6, + -48, + 9, + -5, + -72, + -118, + -103, + 125, + 94, + 56, + 86, + -61, + 36, + 84, + 76, + 80, + 87, + -40, + 71, + 41, + -109, + -27, + 47, + 10, + -82, + 116, + 45, + -52, + 27, + 116, + 5, + 115, + -15, + 102, + -2, + -43, + 114, + 12, + -84, + -52, + -1, + 0, + -13, + 12, + 56, + 59, + 99, + 60, + 17, + -61, + 58, + -57, + -89, + 87, + 107, + 17, + 96, + -78, + -70, + 48, + -73, + 13, + 9, + 84, + 4, + 16, + 84, + -60, + -96, + -40, + -82, + 47, + -98, + -54, + 115, + 124, + 44, + 60, + 103, + -59, + -52, + -108, + 68, + 82, + 103, + -107, + 29, + -44, + -128, + -15, + -55, + 26, + 41, + -119, + 93, + 8, + 8, + -62, + 69, + 102, + -17, + 41, + 4, + 72, + 74, + -47, + 4, + -16, + 35, + -22, + -47, + -20, + 97, + -94, + -51, + 5, + 100, + -92, + 50, + -51, + -70, + -11, + -24, + -26, + 102, + -55, + -66, + -98, + 86, + -111, + 12, + -50, + -105, + 56, + 93, + 9, + -109, + -110, + -75, + 107, + 18, + -112, + 59, + 24, + -107, + -84, + 110, + 22, + -47, + 29, + -119, + 47, + 78, + 36, + 91, + 25, + -22, + 58, + 31, + -36, + 127, + 108, + 46, + -40, + 110, + 23, + 65, + -67, + -25, + 31, + 33, + -18, + 115, + 49, + 24, + -67, + 4, + -103, + -64, + -112, + -13, + -84, + 38, + 83, + 95, + -114, + 1, + 32, + -29, + 91, + 110, + 113, + 73, + -18, + 26, + 56, + -109, + 110, + 79, + -7, + -30, + -14, + 102, + 55, + -77, + 80, + -49, + 11, + -68, + 96, + -56, + -8, + 48, + -96, + 29, + 127, + 76, + 52, + -109, + -83, + -113, + 42, + 92, + -61, + -117, + -56, + -2, + 34, + -17, + 11, + -28, + 55, + -76, + -10, + -37, + 60, + 24, + 13, + 6, + -114, + -35, + 8, + 71, + -49, + -122, + 60, + 67, + -76, + 3, + -116, + 61, + 29, + 55, + -5, + 19, + 6, + -39, + -72, + 91, + 47, + -56, + 110, + 15, + -91, + 70, + 41, + -81, + -114, + -91, + 86, + 74, + -57, + -116, + -54, + -77, + -48, + -67, + 123, + 81, + 114, + -64, + 102, + 71, + 125, + 111, + -100, + -8, + 21, + -97, + 10, + 42, + -107, + -21, + -67, + -117, + -92, + 13, + -42, + -92, + -81, + -113, + 72, + 67, + 11, + 95, + 30, + 31, + 48, + 88, + 84, + -106, + -115, + 54, + -26, + 114, + -106, + 67, + 123, + -101, + -22, + 83, + -121, + -51, + -34, + 0, + 74, + -90, + 112, + -124, + 110, + 58, + 79, + 76, + -16, + -62, + 0, + -64, + -102, + -90, + 52, + 24, + -65, + -37, + -31, + -80, + -7, + 39, + -76, + -14, + -74, + 50, + -49, + -125, + 2, + -59, + -92, + -103, + 27, + 35, + 37, + 16, + -58, + 109, + -107, + 80, + 36, + 93, + -93, + -23, + 11, + 76, + 87, + 70, + -9, + -92, + 21, + 42, + 79, + 19, + -103, + 124, + -29, + -39, + -104, + -105, + 35, + -80, + -51, + -104, + -55, + -80, + -116, + 65, + -115, + 36, + -127, + -17, + 67, + 51, + 106, + -105, + -77, + 93, + 68, + -126, + -95, + -117, + -40, + 61, + -22, + 55, + -73, + 30, + 26, + -113, + -14, + 113, + -14, + -64, + -17, + 74, + -37, + 3, + -109, + 31, + 113, + -35, + 7, + 81, + 102, + 30, + 101, + 103, + 2, + 63, + 65, + -40, + -37, + 70, + 45, + 36, + 3, + 9, + 96, + 7, + -43, + 94, + 118, + 79, + 71, + -84, + -95, + 38, + -22, + -111, + 10, + 25, + -40, + 51, + 116, + -127, + -128, + 22, + 38, + -85, + -29, + -46, + 103, + -86, + 101, + 108, + -40, + -42, + 65, + 104, + 103, + 84, + 63, + 6, + 56, + 70, + 79, + 35, + -110, + -65, + -43, + 122, + 20, + 56, + -80, + -37, + -18, + -55, + 110, + -42, + -88, + -34, + 51, + 110, + 27, + 59, + 38, + -89, + 14, + 10, + -3, + -5, + -28, + -125, + 0, + -73, + 121, + 9, + 86, + -108, + 30, + -112, + -60, + 54, + -86, + 104, + 55, + -62, + 34, + -93, + 21, + 65, + -122, + -97, + 79, + 48, + -31, + 15, + -79, + -111, + 105, + -94, + -81, + -17, + 3, + -1, + 0, + 31, + 63, + 25, + -2, + 51, + 26, + -109, + 83, + -58, + -7, + 23, + 49, + 0, + 125, + -9, + -17, + -34, + -83, + -85, + -72, + 39, + 79, + -78, + -23, + 35, + -17, + -102, + 27, + 24, + 98, + -88, + 59, + -90, + 116, + 125, + -114, + -45, + 92, + 54, + -127, + 42, + 47, + -75, + 9, + 48, + 65, + -56, + -117, + 5, + 101, + 110, + 20, + -6, + 106, + 68, + -73, + -18, + -74, + -53, + -3, + -42, + -70, + 72, + 94, + 31, + -104, + -67, + -72, + -33, + 109, + -15, + -71, + -52, + -64, + -118, + -81, + 117, + -97, + -34, + -104, + -76, + -97, + -21, + 4, + 47, + 89, + 95, + 96, + -75, + -61, + -29, + -22, + -44, + -83, + -24, + -57, + 58, + 91, + 22, + 106, + 51, + -47, + 24, + -27, + 115, + -43, + 92, + -33, + 93, + 51, + -105, + 114, + -68, + 92, + 57, + 22, + 76, + 120, + 66, + 78, + -54, + 19, + 76, + 69, + -54, + -77, + 29, + 54, + 85, + 91, + 81, + -43, + 96, + -123, + -96, + 58, + -110, + 65, + 59, + -15, + -101, + -27, + -13, + 28, + -84, + -88, + -52, + 83, + 77, + -82, + 32, + -63, + -127, + 101, + 80, + -6, + 84, + -110, + 3, + 50, + -23, + -79, + 85, + -86, + -1, + 0, + 8, + 0, + -123, + -37, + -116, + 29, + 71, + -87, + -32, + 56, + 102, + 58, + -18, + -65, + 102, + 86, + 96, + -39, + 16, + -63, + 30, + 89, + -10, + 27, + 72, + -84, + -30, + 32, + 27, + 90, + 54, + -67, + -10, + -112, + -120, + -63, + 118, + -32, + -122, + 8, + -93, + -111, + -118, + -82, + 91, + 77, + -119, + 26, + -8, + -107, + 98, + 70, + -94, + -67, + -36, + 70, + -1, + 0, + -110, + 127, + -14, + 33, + -93, + -7, + -111, + -47, + 108, + 103, + -13, + 22, + 72, + -120, + -30, + 121, + -78, + 9, + 0, + 97, + 118, + 81, + 97, + 93, + 17, + 65, + -10, + 8, + 70, + -19, + 69, + -86, + -17, + -122, + 59, + 98, + 7, + -52, + -74, + -103, + -5, + 40, + 91, + -109, + -51, + 106, + -75, + 127, + -94, + -39, + 23, + 68, + 70, + -46, + 14, + 21, + -65, + -2, + 74, + -1, + 0, + -54, + 14, + -45, + -26, + 78, + -68, + -122, + 47, + 17, + 104, + -90, + 123, + -29, + -48, + -85, + -115, + -128, + 104, + -23, + -37, + -8, + -109, + -17, + 103, + 27, + 42, + 75, + 6, + -128, + -59, + 91, + 16, + 71, + 124, + 112, + 111, + -55, + -11, + -78, + 15, + 63, + 119, + -60, + -88, + -10, + -43, + 62, + 114, + -69, + 11, + 58, + -128, + -84, + -3, + 80, + 49, + 88, + -25, + -5, + 57, + -56, + -28, + -11, + 70, + -5, + -79, + 90, + -113, + 107, + -46, + 79, + 11, + 39, + -10, + 122, + 43, + 61, + -107, + -51, + 115, + -65, + -108, + 84, + -11, + 86, + -85, + -110, + 69, + 111, + -82, + -61, + -20, + -41, + 34, + 56, + -70, + 115, + 115, + 22, + -14, + -104, + 19, + 28, + 70, + -120, + -127, + 72, + -5, + -52, + 52, + -125, + -37, + 27, + -94, + 44, + -124, + 31, + -21, + -67, + 52, + 126, + 103, + -97, + -38, + 92, + 16, + 55, + -16, + -10, + 12, + -21, + 96, + -71, + 29, + 84, + 111, + -9, + 5, + 110, + 127, + -104, + -19, + -9, + 122, + -88, + -65, + 61, + -115, + -5, + 28, + -55, + 27, + -24, + -49, + 14, + 79, + 31, + -14, + -77, + -43, + -84, + -10, + 69, + 69, + 106, + 54, + 84, + 122, + 57, + 85, + 82, + 57, + 61, + 28, + -82, + 108, + -84, + -113, + -61, + 93, + -4, + -4, + 100, + -19, + -11, + 86, + 50, + 69, + -9, + -10, + 68, + 79, + 68, + 115, + 23, + -8, + 103, + -44, + -82, + 107, + 81, + -120, + -66, + -66, + 21, + -82, + -2, + -97, + 66, + 49, + 95, + 31, + -70, + 36, + 40, + -17, + 114, + -92, + 106, + -71, + -83, + 79, + 79, + 119, + 57, + -2, + 81, + 28, + -81, + 111, + -86, + -75, + 81, + -47, + -58, + -60, + -2, + 85, + -47, + -67, + 60, + 34, + 58, + 36, + -115, + -52, + 84, + -5, + 30, + -87, + -24, + -114, + 118, + 100, + -16, + -7, + 81, + -17, + 68, + 122, + 68, + -40, + -105, + -47, + -22, + -86, + -44, + -1, + 0, + -125, + -52, + -110, + 58, + 89, + 61, + 35, + 124, + 74, + -24, + -92, + 87, + -73, + -8, + 68, + 72, + -1, + 0, + -81, + -107, + 87, + 49, + 110, + -128, + -111, + -45, + -118, + -39, + 54, + 73, + -7, + 123, + -72, + 53, + -10, + -99, + 85, + -17, + 107, + -67, + 98, + 71, + 57, + 101, + 123, + 30, + -83, + 111, + -93, + -107, + 29, + -1, + 0, + 34, + 42, + 42, + -75, + 61, + 21, + 62, + -87, + 24, + -49, + 45, + -11, + -11, + 73, + 28, + -65, + 90, + 63, + 58, + 39, + -41, + 51, + -67, + -45, + -47, + -113, + 79, + -27, + -81, + 114, + -93, + -107, + -55, + -31, + 18, + 37, + 70, + -6, + 59, + -41, + -39, + -98, + -118, + -23, + -99, + -23, + 31, + -92, + -119, + 34, + -5, + -71, + 95, + 38, + -124, + 108, + 89, + 17, + 63, + -18, + -83, + 119, + -105, + 43, + 93, + -4, + -84, + -66, + -56, + -49, + 47, + 116, + -120, + -33, + 68, + 87, + -69, + -43, + -46, + 57, + -98, + 94, + -28, + 68, + -2, + -34, + -20, + 103, + -37, + -68, + -58, + -86, + -3, + 127, + -35, + 22, + 41, + -38, + -10, + -60, + -80, + -3, + 110, + -115, + -19, + 111, + -106, + -57, + 34, + -67, + -66, + -15, + -7, + 70, + 63, + -61, + 37, + -13, + -24, + -85, + 10, + -94, + 122, + -89, + -81, + -21, + -75, + 55, + -103, + -3, + 63, + 78, + 3, + -81, + 27, + 72, + -97, + 106, + -94, + 120, + 107, + 17, + -114, + -16, + -42, + -86, + -94, + -71, + -34, + -66, + -88, + -81, + -5, + 26, + -118, + -57, + 49, + 63, + -69, + 92, + -12, + -1, + 0, + -117, + -20, + 86, + 53, + -82, + 107, + 94, + -83, + -3, + 109, + -44, + 70, + -86, + 120, + 87, + 127, + -54, + -8, + -47, + 125, + -47, + 21, + 62, + -91, + 79, + 70, + -6, + -75, + -24, + -33, + -7, + 124, + 72, + -118, + -27, + 108, + 126, + 30, + -115, + 99, + -101, + -4, + 57, + -83, + 87, + 105, + -93, + -68, + -66, + 31, + 95, + 103, + 121, + 71, + 39, + -44, + -115, + -110, + 63, + 103, + 44, + 126, + 99, + 114, + -56, + -42, + 49, + 28, + -83, + 115, + 92, + -114, + -115, + 81, + 35, + 103, + -122, + -7, + 79, + 8, + -33, + -84, + -27, + -19, + 122, + 54, + 31, + 116, + -12, + 116, + 76, + 107, + 125, + 94, + -28, + 79, + 12, + -5, + 61, + 81, + 17, + -49, + -119, + -116, + 115, + -107, + 22, + 111, + 46, + -119, + 21, + -120, + -78, + -79, + 61, + -36, + -116, + 123, + -35, + -60, + -109, + -44, + -109, + -17, + -31, + 6, + 20, + 72, + -6, + -3, + -8, + 15, + 115, + 82, + 87, + -67, + 24, + -110, + -5, + -6, + 47, + -39, + -31, + -51, + -2, + 21, + -120, + -88, + -44, + -12, + 123, + 60, + 51, + -62, + -94, + -79, + -113, + -16, + -10, + -86, + 73, + -3, + 27, + -4, + -2, + -121, + -21, + 73, + -51, + -122, + 118, + -60, + -82, + 72, + -106, + 38, + -58, + -66, + -88, + -66, + -120, + -98, + -54, + -11, + 68, + 86, + -89, + -46, + -66, + -66, + 90, + -33, + 46, + 70, + -65, + -43, + -53, + -31, + -34, + 29, + -31, + -86, + -47, + -6, + -21, + -12, + 7, + -33, + -17, + 7, + -10, + -4, + -49, + -97, + 1, + -57, + -23, + -30, + -36, + -56, + 68, + 116, + -65, + -109, + 4, + -41, + -2, + -41, + -74, + 118, + -58, + 102, + -51, + -62, + -16, + 53, + -20, + -113, + -61, + 126, + -88, + 75, + 77, + 114, + 24, + -90, + 115, + 88, + -84, + 124, + -79, + -60, + -55, + -66, + -105, + -56, + -97, + 111, + -94, + -86, + 63, + -51, + -46, + 80, + -116, + -92, + -38, + -47, + 69, + 28, + 76, + -122, + 6, + -57, + 82, + 24, + 81, + 35, + -126, + 24, + 88, + -114, + -118, + 40, + -95, + 106, + 53, + 89, + 12, + 12, + 106, + 122, + 69, + 26, + -75, + 24, + -56, + -40, + -82, + -113, + -62, + 39, + -10, + 60, + -77, + 36, + 112, + -79, + 22, + 38, + -75, + 29, + 26, + 35, + 28, + -82, + 111, + -108, + 107, + 60, + 123, + 42, + 53, + 63, + -14, + 106, + -75, + 17, + 92, + -85, + -31, + -88, + -119, + -19, + -25, + -43, + 17, + -52, + 106, + 16, + -113, + -117, + 110, + -89, + -31, + 24, + -24, + -46, + 71, + 53, + -50, + 122, + 127, + 79, + 127, + -95, + -18, + -10, + 119, + -97, + -83, + -50, + 103, + -94, + -75, + 62, + -33, + -1, + 0, + -84, + 115, + -107, + 127, + -78, + 122, + 121, + -44, + 49, + 109, + -51, + -4, + 79, + 93, + -67, + 125, + 43, + -24, + 113, + -84, + 80, + 29, + 5, + 112, + -114, + 29, + -103, + -93, + -95, + 97, + 2, + 37, + 71, + 86, + -78, + -93, + -31, + -98, + 90, + -77, + -40, + -87, + 20, + -33, + -113, + 60, + -112, + 55, + -21, + -106, + -85, + -27, + -119, + -50, + -82, + -12, + 86, + -94, + -3, + -107, + -27, + -114, + 88, + -33, + 28, + 46, + 106, + 36, + -54, + -49, + -87, + 119, + -102, + 18, + 46, + -91, + 92, + -76, + -23, + 33, + 71, + 50, + 97, + 102, + 103, + 86, + -52, + 116, + -4, + -15, + 73, + 122, + 24, + -88, + 86, + -114, + 87, + -41, + -69, + 118, + -52, + 81, + 73, + 12, + 119, + 9, + 69, + 5, + -104, + 89, + 29, + -90, + 54, + 111, + -91, + -81, + -115, + -88, + -24, + -34, + 119, + 74, + -67, + 122, + 57, + -13, + 81, + 122, + 53, + -79, + 36, + 78, + 85, + 114, + 63, + -33, + -6, + -93, + 23, + -35, + -51, + 86, + -75, + -66, + 81, + 81, + 63, + -69, + 81, + 87, + -49, + -10, + -15, + -27, + -2, + 124, + -3, + 95, + 72, + 106, + 103, + 91, + 11, + 25, + 29, + -118, + -62, + -86, + -71, + 97, + -106, + 103, + 87, + -6, + -37, + 44, + -15, + -49, + 110, + 53, + -110, + 54, + -52, + -114, + -102, + 38, + 77, + 52, + -116, + -82, + -114, + -115, + -106, + 100, + -114, + 56, + -2, + -54, + -16, + -93, + -89, + -120, + -59, + -119, + 20, + 73, + -81, + 47, + -105, + -12, + 28, + 117, + 15, + 47, + -81, + -96, + 62, + 92, + 123, + -100, + 88, + 127, + -90, + 122, + -9, + 42, + -72, + -76, + 50, + -53, + 28, + -113, + -124, + -35, + -53, + -25, + -96, + -114, + 72, + -66, + -58, + 71, + 98, + 10, + -58, + 44, + -33, + -114, + -110, + 53, + -50, + 127, + -15, + 85, + -79, + -7, + 68, + 68, + -111, + -21, + -24, + -115, + -113, + 122, + 39, + -59, + 4, + 13, + -85, + 85, + -119, + 90, + 8, + 99, + 98, + -61, + 90, + 38, + -57, + 20, + 80, + 127, + 85, + 111, + -83, + 102, + 53, + -83, + -118, + 38, + 58, + 52, + -1, + 0, + -59, + 87, + -2, + -24, + -110, + 53, + 90, + -66, + -50, + 95, + 109, + -74, + -44, + 111, + -4, + -17, + -115, + -18, + 122, + -77, + -61, + -111, + -47, + -75, + 28, + -9, + 49, + -114, + -107, + 35, + 98, + 74, + -12, + 79, + -27, + -23, + -27, + -98, + -46, + -85, + 124, + -75, + -85, + -27, + -34, + 21, + -38, + 72, + -40, + -38, + -12, + -12, + -2, + 24, + -86, + -115, + 70, + -71, + 94, + -82, + 119, + -10, + 79, + -24, + -25, + 43, + 36, + -14, + -98, + -34, + 124, + -69, + -53, + 125, + 17, + -34, + -114, + 95, + 14, + 79, + 8, + -112, + -28, + -17, + -6, + -115, + -65, + 63, + 13, + -66, + 67, + -125, + 41, + 11, + 118, + 54, + -37, + -14, + -32, + -74, + -11, + 40, + 46, + -60, + -8, + 108, + 87, + -122, + 120, + 60, + 57, + 103, + -126, + 88, + -46, + 72, + -91, + 79, + 10, + -25, + 50, + 70, + -3, + 104, + -82, + 107, + -68, + -81, + -76, + 111, + 103, + -10, + 87, + 53, + -50, + 69, + 70, + -79, + -82, + 74, + -45, + -53, + 101, + -100, + -39, + -96, + -71, + -108, + -49, + 57, + -78, + -54, + -28, + 98, + -72, + 61, + 5, + -16, + -26, + 54, + 38, + -71, + 28, + -81, + -81, + 59, + 92, + -43, + 106, + 120, + 70, + 53, + 125, + 35, + 85, + 107, + 124, + 43, + 92, + -65, + -91, + -37, + 108, + 87, + -127, + 38, + -107, + -54, + -28, + -11, + 107, + -100, + -26, + -86, + -86, + 35, + 81, + 21, + 25, + -4, + 42, + -86, + -77, + -38, + 69, + 68, + 68, + 122, + -1, + 0, + 10, + -43, + 86, + -85, + -107, + 21, + -120, + -24, + -3, + -14, + 27, + -71, + -13, + 79, + -114, + 28, + -69, + 89, + -42, + -6, + 113, + -88, + -77, + -7, + -84, + -51, + 27, + 68, + 95, + 61, + -108, + 123, + -27, + 123, + -37, + 19, + -105, + -15, + -22, + 81, + -92, + -39, + 73, + 18, + -67, + 98, + 68, + -122, + 10, + -62, + -121, + 87, + -75, + 122, + -4, + -17, + -85, + 82, + -124, + 19, + -51, + 35, + 90, + -85, + 32, + 118, + 42, + -118, + 11, + 51, + 21, + 85, + 85, + -78, + -52, + -58, + -128, + 0, + 13, + -55, + 38, + -128, + 2, + -20, + -41, + 0, + -52, + 55, + 59, + 0, + 7, + 83, + -75, + 87, + -97, + -128, + -32, + -113, + -28, + -65, + 122, + -27, + 63, + 24, + -7, + -71, + 46, + -125, + -45, + -10, + 11, + -105, + -50, + -123, + -89, + 36, + -11, + -32, + -88, + 112, + -56, + 69, + 115, + -36, + -66, + -107, + 106, + 83, + -95, + -101, + -73, + 90, + -19, + -69, + 82, + -51, + 44, + 21, + -24, + -46, + -89, + 90, + -51, + -23, + -20, + 77, + 12, + 20, + -21, + 77, + 114, + 88, + 34, + -109, + -123, + 15, + -98, + -65, + -28, + 67, + -88, + -4, + -44, + -37, + 88, + -5, + -119, + 25, + -49, + -14, + 1, + 36, + 86, + 76, + -74, + 30, + -39, + -14, + 55, + -28, + -110, + -75, + 104, + 82, + 10, + -90, + 116, + 78, + -73, + 106, + 88, + -27, + 53, + 106, + 22, + -2, + 82, + 87, + -119, + -83, + -88, + 39, + -19, + 125, + 86, + -68, + -124, + -87, + 124, + -47, + 4, + 55, + -50, + 111, + -97, + 61, + 87, + -26, + -25, + 69, + -75, + -96, + -46, + 95, + 32, + 43, + -102, + -123, + 39, + 114, + 92, + 6, + 25, + -33, + -115, + 4, + 35, + 43, + -52, + -85, + 94, + 18, + 102, + 25, + 74, + 75, + 48, + 91, + 61, + 56, + -43, + -6, + 28, + -41, + -36, + 35, + 0, + 106, + 118, + -25, + 30, + 50, + -44, + -87, + 100, + -103, + 34, + -16, + 98, + -92, + -87, + -10, + 123, + 61, + 126, + -58, + -67, + -78, + -71, + 61, + -43, + -82, + -2, + 61, + -47, + -1, + 0, + 95, + -121, + -54, + -27, + -115, + -78, + 57, + -19, + -109, + -61, + 60, + 53, + -116, + 115, + -47, + -56, + -17, + 63, + 100, + 122, + 87, + -77, + -36, + -119, + 112, + -126, + -28, + 100, + 0, + -7, + 108, + 20, + -123, + -80, + 82, + 5, + 59, + -46, + -19, + -68, + -89, + 96, + -17, + -48, + 30, + -22, + 108, + 11, + 53, + 111, + -104, + -26, + -10, + -97, + -61, + -116, + -111, + 16, + -22, + 70, + -58, + 75, + 3, + -88, + -4, + 62, + 3, + 125, + -58, + -25, + -83, + 3, + -40, + 92, + -25, + -5, + -85, + 124, + 49, + -51, + -9, + -10, + -119, + 19, + -47, + -47, + -85, + 28, + -120, + -11, + -114, + 79, + -83, + 18, + 73, + 17, + 60, + -71, + -87, + -3, + 124, + 70, + -57, + 61, + 61, + 126, + -73, + 70, + -35, + -58, + 42, + -92, + -114, + 87, + -73, + -52, + -120, + -49, + 69, + -111, + -16, + -84, + 104, + -86, + -114, + 106, + -79, + -66, + 92, + -33, + 86, + -75, + -114, + 114, + 70, + -81, + 123, + 63, + -86, + -67, + -87, + -20, + -9, + 53, + -84, + 119, + -102, + -66, + -15, + 54, + 54, + -1, + 0, + 40, + -10, + 42, + -71, + 21, + 31, + 43, + -92, + 85, + -16, + -10, + -65, + -54, + -94, + -86, + -75, + -49, + -5, + 85, + 31, + 36, + 113, + -85, + 88, + -25, + 53, + -2, + -115, + 72, + -105, + -19, + -34, + -119, + -98, + -17, + 108, + -111, + -75, + -18, + 71, + -67, + 125, + -111, + -79, + -71, + 94, + -83, + 107, + 25, + -18, + -98, + -24, + -118, + -114, + -5, + 30, + -58, + -77, + -38, + 70, + -94, + 74, + -98, + 126, + -42, + 125, + -98, + 99, + 125, + -26, + 53, + -46, + -66, + -89, + -24, + -4, + -49, + -19, + -59, + 109, + -36, + 94, + -25, + 111, + 13, + -67, + -41, + -12, + 120, + 8, + -33, + 102, + 63, + -62, + -81, + -40, + -28, + 99, + 101, + 98, + 35, + -30, + 106, + -94, + 50, + 38, + -86, + -8, + -10, + 85, + 87, + 54, + 73, + 24, + -83, + -106, + 79, + 30, + 27, + 35, + -111, + -34, + 27, + -20, + -111, + -104, + -79, + 24, + -111, + -89, + -93, + -1, + 0, + -69, + -102, + -120, + -11, + 115, + 124, + -69, + -43, + 34, + -115, + -52, + -113, + -43, + 21, + -110, + 121, + 71, + -71, + 85, + -56, + -26, + -71, + -50, + 68, + 122, + 34, + -71, + -82, + 85, + 113, + 84, + 126, + -115, + 107, + -98, + -66, + -97, + 99, + -3, + -111, + -56, + -79, + -75, + 81, + -98, + 26, + -114, + -102, + 25, + -36, + -119, + 35, + 17, + -33, + -39, + 93, + 27, + 28, + -66, + 27, + 27, + 90, + -41, + -8, + 70, + -5, + 41, + -92, + 109, + 95, + 8, + -49, + 120, + -2, + -58, + 73, + 23, + -11, + 79, + 101, + 86, + -85, + 81, + -50, + 89, + 90, + -57, + 57, + -2, + -22, + -88, + -86, + -118, + -113, + 108, + 78, + 68, + 86, + -81, + -94, + -71, + -53, + -11, + -87, + -61, + 115, + 87, + -73, + 79, + -105, + -23, + -73, + 6, + 12, + 68, + -4, + 120, + 37, + 70, + -56, + -83, + -10, + 124, + 75, + 35, + -35, + 55, + -76, + -56, + -33, + 103, + 36, + 113, + 35, + 85, + -86, + -25, + 43, + 100, + -115, + -65, + -15, + -1, + 0, + 118, + 123, + 57, + -81, + 122, + 70, + -23, + 26, + -66, + -29, + 75, + 19, + 70, + -26, + 44, + 82, + 120, + 106, + -93, + -91, + -2, + -81, + 114, + 53, + -66, + 28, + -26, + -75, + -2, + 95, + -31, + 17, + -54, + -66, + -51, + -11, + 107, + -111, + -77, + 61, + 26, + -10, + -75, + -54, + -111, + 32, + -115, + -22, + -12, + -117, + -20, + -115, + -88, + -27, + 116, + -33, + -35, + -49, + -11, + 99, + -93, + 107, + 26, + -120, + -79, + 72, + -86, + -59, + 69, + 106, + 43, + 29, + 35, + 100, + 71, + 53, + 82, + 70, + -71, + 24, + -83, + 115, + 30, + -51, + -42, + -67, + 61, + -42, + 55, + 53, + -81, + 116, + 111, + -10, + 111, + -14, + -66, + -14, + -67, + -85, + -10, + 49, + -117, + -24, + -1, + 0, + 45, + -11, + 69, + 70, + -52, + -43, + 114, + 73, + -4, + 47, + -14, + -79, + -66, + 37, + 119, + 112, + 28, + 123, + -115, + 29, + 26, + 53, + -50, + 69, + 127, + -122, + -8, + -115, + -118, + -84, + 73, + 99, + 88, + -109, + -47, + 85, + -86, + -28, + 86, + -58, + -17, + 11, + 27, + 81, + 90, + -12, + -6, + -40, + -66, + 60, + 34, + -93, + -40, + -19, + -87, + 28, + -59, + -126, + 70, + -71, + 90, + -27, + 122, + 55, + -7, + 107, + 21, + -54, + -116, + 107, + 83, + -39, + -56, + -44, + 115, + -101, + 26, + -78, + -65, + -78, + -79, + -56, + -27, + 85, + 71, + 51, + -21, + 106, + -54, + -79, + -71, + 116, + 101, + 116, + -98, + -18, + -109, + -49, + -78, + -62, + -55, + -105, + -38, + 63, + 49, + -71, + 34, + 119, + -70, + 123, + 57, + 28, + -9, + -62, + -118, + -17, + 17, + -71, + 17, + -18, + 88, + 39, + -111, + -49, + 70, + 127, + -5, + -7, + -48, + -106, + 104, + -39, + 35, + 90, + -26, + 34, + -73, + -38, + 100, + 107, + 92, + -56, + -98, + -8, + -104, + -116, + 119, + -78, + 70, + -113, + 95, + 111, + -81, + -1, + 0, + -112, + -66, + -34, + -79, + -93, + 88, + -41, + -71, + -66, + 60, + -93, + -3, + 10, + 92, + 14, + -101, + -3, + 125, + 125, + 95, + 9, + 21, + 98, + 77, + -41, + -65, + -5, + 125, + 123, + -8, + -15, + 101, + -46, + -55, + 27, + 24, + -65, + 83, + -101, + 28, + -113, + -12, + 89, + -101, + 26, + -67, + 83, + -43, + -116, + 123, + -102, + -82, + 71, + 49, + 88, + -25, + 71, + -25, + -5, + 53, + -49, + 79, + -31, + 91, + 52, + -116, + 114, + -8, + 31, + -83, + 91, + 10, + -87, + -31, + -75, + -35, + -1, + 0, + -110, + -85, + -43, + 98, + -110, + -78, + -85, + -111, + 85, + -50, + 98, + -6, + 59, + -8, + 103, + -85, + 30, + -42, + -56, + -83, + 115, + -46, + 71, + 35, + 37, + -14, + -49, + -77, + -43, + 71, + -23, + 43, + 39, + 123, + -4, + -21, + -53, + -5, + 126, + -66, + 28, + 31, + 74, + -113, + 15, + -97, + -41, + -41, + -57, + -113, + -45, + 88, + -99, + 115, + 49, + -46, + 124, + -73, + -12, + 118, + -39, + 36, + -88, + -1, + 0, + -8, + -121, + 15, + 29, + 20, + 10, + -39, + 22, + 69, + -103, + -120, + -73, + 34, + 37, + 105, + 125, + -111, + 61, + 126, + -26, + -54, + -118, + -43, + 123, + 93, + 19, + 124, + 53, + 63, + 68, + 21, + 4, + -100, + 32, + -54, + -83, + 25, + -95, + -68, + -55, + -94, + 98, + -56, + -81, + -102, + -112, + -89, + 67, + 51, + 29, + 59, + 30, + -56, + -27, + -114, + -72, + -72, + 102, + -111, + -117, + 3, + -83, + 49, + -78, + 37, + -88, + 36, + -122, + 85, + 107, + -39, + -19, + -27, + 88, + -87, + -61, + 122, + 93, + 69, + -46, + 11, + 8, + -54, + -39, + -102, + -83, + 111, + -86, + -40, + 117, + -78, + 36, + 8, + 53, + 33, + -14, + -115, + 95, + -90, + 24, + 41, + 80, + 70, + -79, + -56, + -23, + 124, + 62, + 85, + -123, + -82, + 123, + 26, + -116, + 127, + -113, + 46, + 83, + -36, + -30, + -20, + -46, + -68, + 110, + -122, + 124, + -28, + 113, + 53, + -50, + 91, + 115, + 36, + 68, + 38, + 89, + 99, + -111, + -51, + 79, + 16, + -61, + 45, + -120, + 125, + -93, + -115, + 99, + 84, + 91, + 47, + -77, + 26, + -39, + 89, + 35, + -107, + 99, + 107, + -111, + -98, + 48, + 109, + 61, + -33, + -27, + 4, + -113, + 79, + 79, + 121, + -85, + -9, + -111, + 71, + 110, + 52, + -3, + -68, + -97, + -26, + -61, + -11, + 35, + -123, + -90, + -126, + -124, + -108, + 65, + -57, + 88, + -119, + -46, + 23, + 39, + -99, + -65, + 101, + -120, + -37, + 125, + -126, + 34, + -2, + -22, + -44, + 127, + -42, + -48, + 114, + 80, + -78, + -6, + -50, + -81, + -11, + -73, + -21, + -75, + 61, + -8, + -47, + -47, + 61, + -47, + -54, + -55, + 92, + -84, + 118, + -115, + -95, + 31, + 97, + 113, + 13, + -104, + -119, + 68, + 75, + -79, + -39, + -5, + 94, + -70, + 3, + 51, + -81, + -14, + 58, + 41, + 25, + 26, + 57, + -58, + -28, + 116, + -80, + -75, + 85, + -115, + 100, + 78, + 84, + 71, + -71, + 28, + -10, + -75, + 26, + -78, + 54, + 22, + -72, + -52, + 90, + -83, + 6, + -86, + 74, + 45, + -41, + 85, + -83, + 28, + 117, + 91, + 39, + -29, + -41, + 7, + -17, + 26, + 49, + 36, + -84, + -41, + 62, + 71, + 91, + 39, + 105, + 126, + -33, + 15, + 116, + 105, + -23, + 34, + -60, + -56, + -91, + -11, + 116, + 78, + 86, + 53, + -83, + 87, + 73, + 5, + -86, + -6, + 0, + -43, + 25, + -93, + -70, + -25, + -48, + 71, + 77, + 59, + -30, + -85, + -99, + 99, + -4, + 54, + 40, + 85, + -51, + -110, + 63, + -39, + 94, + -12, + 109, + -119, + 43, + -75, + -2, + 37, + 117, + -73, + 42, + 55, + -47, + -45, + 78, + -82, + -107, + -23, + -64, + 80, + -94, + -64, + -5, + -127, + 3, + -1, + 0, + -88, + -23, + -44, + -2, + 87, + -64, + -11, + -22, + -121, + 109, + -84, + -24, + 55, + -1, + 0, + -56, + -97, + -97, + 6, + -60, + 51, + 25, + -8, + 37, + -126, + 100, + 28, + -37, + -14, + -59, + 106, + 25, + -66, + -21, + -45, + -37, + -70, + -7, + 94, + -42, + 35, + 61, + -37, + 37, + -55, + -19, + -67, + 99, + 84, + 111, + -119, + 24, + -55, + 29, + 12, + -98, + 125, + -91, + 69, + 95, + 15, + 118, + 74, + -95, + 64, + 87, + 89, + 60, + -126, + -49, + -67, + -17, + 85, + 85, + -113, + -10, + 74, + -97, + -14, + 61, + 88, + -10, + -85, + -107, + -49, + -95, + -31, + 26, + -79, + -71, + -34, + -51, + -119, + 81, + 36, + -111, + -88, + -9, + -71, + -34, + 124, + 41, + 77, + -70, + -13, + 92, + -71, + -18, + -70, + 83, + -1, + 0, + 100, + 109, + 114, + -75, + -112, + -96, + 40, + -93, + 122, + 120, + 89, + 28, + -81, + -82, + -103, + -27, + 71, + 35, + 93, + -11, + -75, + -47, + -71, + -86, + -80, + -75, + -98, + -116, + 70, + -58, + -114, + 98, + -27, + -74, + 14, + 123, + 127, + -5, + 52, + -102, + 24, + -43, + 124, + 61, + -13, + 83, + -80, + 30, + -97, + -113, + 8, + -85, + -4, + 77, + 72, + 125, + 89, + 28, + -43, + -2, + 35, + 114, + 123, + 53, + -82, + 122, + -1, + 0, + 14, + 87, + 63, + -35, + -90, + 4, + -2, + 42, + -1, + 0, + 119, + 1, + 67, + -16, + 121, + 126, + 31, + -21, + -31, + -12, + 120, + -50, + 71, + 55, + -103, + 33, + 74, + 127, + -54, + 12, + 58, + -68, + 107, + 93, + -55, + -17, + 16, + -6, + 116, + -36, + -40, + -43, + 26, + -7, + 31, + 27, + -24, + -74, + -92, + -79, + -79, + -53, + 19, + 92, + -59, + 122, + -93, + -111, + -52, + -11, + 98, + -75, + -2, + -110, + -89, + 21, + 95, + -25, + 3, + -25, + 21, + -82, + -57, + -39, + 27, + -15, + -97, + -99, + 104, + -50, + -53, + -52, + 121, + 124, + -53, + 22, + -69, + -15, + 15, + 95, + 34, + 39, + 81, + -87, + -13, + 29, + -72, + 107, + 57, + -46, + -111, + -66, + -62, + 116, + -77, + 117, + -27, + -102, + -29, + 125, + 101, + 108, + 18, + -101, + 42, + -79, + -36, + 31, + -5, + -122, + 110, + -99, + -104, + 58, + 115, + -7, + -21, + -40, + 66, + 124, + 88, + -8, + -93, + -42, + -6, + -84, + -70, + 83, + 18, + 23, + 5, + -103, + -69, + 22, + 86, + 11, + 71, + -17, + 68, + -53, + -38, + -117, + -14, + 52, + 126, + 112, + 76, + -49, + 101, + 73, + -4, + 69, + 116, + -115, + -70, + 84, + -100, + -78, + 71, + 36, + 108, + 99, + -98, + -33, + -17, + 35, + -111, + 23, + -13, + -76, + -74, + 96, + -55, + -78, + 6, + 116, + -38, + 2, + 22, + 76, + 104, + 52, + -92, + 110, + 23, + 48, + 82, + -20, + -85, + 96, + -123, + -21, + -9, + -19, + 58, + -51, + -21, + 118, + -20, + -56, + -43, + 87, + -35, + -67, + 102, + 121, + -89, + -77, + 58, + 122, + -66, + 71, + 75, + 98, + 85, + -14, + -1, + 0, + 15, + -3, + 88, + -3, + -97, + -59, + 18, + 74, + -39, + 78, + 75, + 44, + 103, + -77, + 69, + 32, + -47, + -112, + -47, + 45, + -66, + -57, + 74, + -12, + -15, + -74, + 7, + 98, + 7, + 17, + -7, + -14, + 4, + 65, + 30, + -128, + -91, + -73, + 36, + 87, + -35, + 7, + -96, + -86, + -22, + 64, + 27, + -6, + 14, + 54, + -91, + -80, + -44, + 114, + 65, + 27, + 90, + -17, + 88, + -2, + -74, + 53, + -52, + -13, + -4, + 51, + -47, + 81, + 85, + 88, + -27, + 85, + 87, + 49, + -46, + 42, + -67, + 85, + 30, + -65, + -62, + 57, + 93, + -27, + -23, + -6, + 50, + -95, + -17, + 28, + -49, + 84, + 116, + 126, + -81, + 68, + 107, + -99, + -31, + -51, + -15, + -11, + 42, + 61, + -66, + 81, + -84, + -115, + -51, + 119, + -85, + -4, + -94, + -89, + -122, + -3, + 110, + 115, + -102, + -116, + -9, + -11, + 122, + 106, + 21, + 71, + -69, + -62, + 127, + 14, + -2, + -34, + 19, + -43, + -50, + 71, + 71, + 43, + -105, + -49, + -39, + -18, + -42, + 123, + 57, + 30, + -40, + -1, + 0, + -20, + -88, + -83, + 68, + 115, + 93, + 27, + -99, + -19, + -20, + -96, + -123, + 61, + -37, + -11, + 71, + -18, + -27, + 127, + -107, + -16, + -44, + 87, + 35, + -66, + -57, + 120, + 111, + -84, + 104, + -88, + -114, + 72, + -29, + 119, + -85, + -107, + -66, + -81, + 115, + 90, + -9, + 121, + 87, + 35, + -43, + 52, + 60, + 125, + -121, + -88, + -3, + -76, + -15, + 88, + -99, + -55, + 4, + 122, + 31, + 126, + -34, + 63, + 19, + -29, + -23, + -62, + -94, + 9, + 30, + -7, + 34, + 85, + 107, + 89, + 15, + -81, + -78, + 35, + -94, + 98, + -85, + -102, + -42, + -75, + 17, + -83, + -12, + 70, + -94, + -71, + -51, + 99, + -47, + 99, + 68, + 69, + 108, + -114, + 103, + -69, + -98, + -113, + 114, + 126, + -113, + 99, + 116, + 95, + 92, + -97, + -38, + 54, + -73, + -53, + -94, + 79, + 111, + 117, + 122, + 43, + 21, + -115, + 115, + -107, + -82, + 114, + -94, + 49, + -88, + -26, + 57, + -2, + -117, + -27, + -18, + 87, + -67, + 81, + 85, + -88, + -120, + -98, + -86, + -25, + 70, + -11, + 107, + 17, + -14, + -86, + 68, + -49, + -8, + -43, + -14, + 53, + -34, + -2, + 124, + 57, + -86, + -43, + 86, + 61, + -56, + -78, + 121, + -107, + 95, + -4, + -85, + -67, + -100, + -111, + -67, + -88, + -82, + -11, + 54, + -113, + -19, + -81, + -22, + -82, + 127, + -39, + 3, + -37, + -22, + -116, + 127, + -86, + -94, + -86, + 34, + -86, + -78, + 95, + 87, + 120, + 115, + -34, + -114, + 107, + -92, + -115, + -19, + -103, + -82, + -111, + -114, + -6, + -43, + -50, + 106, + -56, + -78, + 74, + -12, + 7, + -111, + -33, + -44, + 95, + 17, + -113, + -44, + 123, + -72, + -36, + -86, + -39, + 30, + -82, + 123, + -38, + -25, + 44, + -111, + -71, + -111, + -54, + -44, + 69, + 99, + 127, + -97, + 15, + 115, + 17, + -78, + 120, + 84, + -107, + -45, + 57, + 60, + 35, + -43, + -50, + -119, + -110, + 42, + 43, + -40, + -82, + -3, + 25, + 51, + -35, + -50, + -6, + 98, + -16, + -78, + 39, + -124, + 107, + 92, + -58, + -6, + 59, + -57, + -70, + 73, + -10, + 53, + -117, + -20, + -57, + 44, + 73, + 28, + 76, + -122, + 53, + -10, + -14, + -118, + -28, + -2, + 124, + 35, + -54, + -43, + 92, + -11, + -123, + -116, + 107, + -28, + 79, + 12, + -2, + 35, + 98, + -74, + 54, + 57, + 26, + -82, + 87, + 57, + 21, + 92, + -58, + 49, + -83, + 86, + -58, + -42, + -74, + 68, + 87, + 63, + -21, + -97, + -61, + 88, + -25, + 126, + -114, + 106, + 51, + -34, + 6, + -81, + -43, + -22, + -78, + -71, + -66, + -82, + 115, + 17, + -56, + -43, + 106, + -89, + -124, + -111, + 61, + 127, + -92, + -98, + 94, + -40, + -2, + -107, + -11, + -12, + -2, + 21, + -46, + -75, + 91, + -6, + -30, + -42, + 108, + 88, + -16, + -14, + -3, + 61, + 120, + 39, + 27, + 78, + 111, + -48, + -59, + 87, + 47, + -94, + 127, + 46, + 86, + -75, + -51, + 106, + -6, + 120, + 68, + -5, + 86, + 39, + 42, + 53, + -56, + -98, + 28, + -118, + -25, + -58, + -42, + -56, + -112, + -73, + -33, + -45, + -21, + -123, + -114, + -9, + 27, + -67, + 17, + 27, + 27, + 90, + -60, + -115, + -50, + 71, + -6, + -86, + 61, + -24, + -82, + 107, + -98, + -1, + 0, + 86, + 53, + -83, + -16, + -44, + 70, + -85, + 28, + -26, + -71, + -34, + -20, + 111, + -120, + -43, + -33, + -15, + -67, + 113, + 76, + -86, + -26, + 66, + -55, + 26, + -25, + 51, + -49, + -81, + -78, + 74, + -58, + 57, + -83, + 79, + 103, + -60, + -98, + 81, + -51, + -10, + 106, + -79, + -33, + -2, + -20, + 70, + -8, + -106, + 55, + 63, + -39, + -24, + -17, + -85, + 4, + -115, + 68, + 108, + -86, + -1, + 0, + -4, + 88, + -58, + 59, + -22, + 98, + -71, + -86, + -24, + -35, + 27, + -40, + -9, + 43, + -43, + -53, + -1, + 0, + -109, + 98, + 114, + -75, + 24, + -10, + 74, + -41, + 72, + -43, + 108, + 113, + -75, + 29, + 11, + -126, + -49, + -103, + -7, + -15, + -36, + 122, + -98, + 117, + -115, + -34, + 87, + -45, + -20, + -111, + 94, + -25, + -86, + -84, + -110, + 34, + 43, + -43, + 124, + 53, + -54, + -88, + -66, + -82, + 85, + -11, + -14, + -66, + -78, + 57, + -17, + 106, + -71, + -51, + 107, + 90, + -43, + 105, + 108, + -46, + 76, + -42, + 72, + -86, + -8, + 87, + -1, + 0, + -25, + -106, + -92, + 77, + 85, + 86, + -79, + 29, + -27, + -24, + -10, + -71, + 21, + 91, + 31, + -105, + -94, + 53, + -52, + -119, + -56, + -49, + 30, + 21, + 17, + 91, + -27, + -46, + 127, + -28, + -42, + 47, + -10, + -6, + 26, + -44, + 71, + 35, + -103, + -20, + -42, + 51, + -20, + 119, + -65, + -69, + 37, + 108, + 78, + 87, + 121, + 119, + -69, + -68, + 61, + 81, + 19, + -61, + 17, + -49, + 84, + 97, + 101, + -7, + -42, + 69, + 68, + -109, + -49, + -107, + 106, + -8, + 123, + -43, + 126, + -24, + -45, + -39, + 93, + 18, + -53, + -22, + -11, + 73, + 30, + -39, + 60, + 42, + 53, + -86, + -58, + -5, + -93, + -38, + -66, + -82, + 123, + -102, + -92, + 102, + -46, + 62, + -85, + 110, + -73, + -64, + -88, + -77, + 95, + 62, + 60, + -55, + 117, + 99, + -103, + -17, + 116, + 110, + -16, + -27, + -15, + 26, + -67, + -55, + 47, + -104, + -47, + -111, + 42, + 42, + -70, + 56, + -41, + -43, + -54, + -27, + 85, + 115, + 17, + 28, + -44, + -2, + 24, + -81, + 87, + 68, + -86, + -31, + -6, + 42, + -69, + 109, + 36, + 72, + -37, + -10, + 55, + -8, + -14, + -86, + -88, + -9, + -85, + -100, + -98, + 85, + 90, + -17, + 116, + -101, + -49, + -14, + -82, + -111, + 28, + -120, + -17, + 14, + 123, + 85, + -50, + 106, + 59, + -62, + -2, + -121, + -23, + 3, + 37, + -97, + -26, + 62, + -93, + -89, + -121, + 79, + -115, + 124, + 107, + -123, + -88, + 15, + 1, + -11, + -1, + 0, + 3, + -113, + -47, + 108, + 118, + -56, + -96, + -37, + -10, + 43, + -55, + -111, + 109, + -74, + -34, + -5, + 81, + 108, + -82, + -110, + -77, + 92, + -17, + 119, + 36, + 45, + 100, + -61, + 85, + 102, + -14, + -115, + -11, + 107, + 108, + 73, + 93, + -45, + -58, + -10, + 75, + 26, + 121, + -9, + 71, + 67, + 1, + -66, + -125, + -89, + -102, + -62, + 6, + 119, + -68, + 2, + 98, + 100, + -14, + 122, + 86, + 108, + 38, + -117, + -111, + 108, + 106, + -84, + -110, + 120, + -40, + -24, + 24, + 9, + 36, + 127, + -42, + -44, + 95, + 62, + 108, + -63, + 19, + -102, + -44, + -113, + -9, + 8, + -107, + -56, + -65, + -95, + -6, + 31, + -84, + 76, + 17, + -8, + 23, + -95, + 63, + -51, + -32, + 47, + -15, + 87, + 26, + 48, + 82, + 64, + -17, + -74, + -32, + 126, + 31, + 67, + -8, + 127, + 94, + 53, + -78, + 7, + -75, + -124, + -18, + 92, + 34, + -30, + 0, + -31, + 121, + -118, + 113, + 43, + -90, + -86, + 60, + -99, + -105, + 50, + 37, + 124, + 18, + 42, + -75, + -109, + 24, + -125, + -47, + -19, + 79, + -79, + 86, + 71, + -6, + -74, + 85, + 99, + -28, + 70, + 66, + -88, + -116, + 105, + -4, + -58, + 8, + -61, + -93, + 50, + -43, + -40, + -54, + 53, + -79, + -37, + -82, + -58, + 42, + 5, + -89, + 36, + 17, + -70, + 49, + 85, + -28, + -110, + -100, + 54, + -90, + 124, + -42, + 36, + -111, + 101, + 88, + 45, + -38, + 71, + 76, + -26, + -79, + -42, + 81, + -83, + -110, + 6, + -54, + -66, + -93, + -12, + 63, + 65, + -88, + -7, + 47, + -5, + 65, + -3, + 65, + -6, + -65, + 14, + 7, + 79, + -103, + 99, + -1, + 0, + -88, + -113, + -46, + -72, + -40, + -84, + 88, + -53, + -93, + 109, + -87, + -75, + -124, + -99, + 15, + -68, + -17, + -84, + -56, + -30, + 9, + 12, + 76, + -115, + 125, + -100, + -120, + -58, + -76, + 28, + -83, + 107, + 26, + -86, + -115, + 89, + -84, + 36, + -14, + -93, + -33, + 35, + -43, + 92, + -55, + 21, + 35, + 31, + -65, + -110, + 100, + -111, + 61, + 77, + -36, + -99, + -120, + -10, + -67, + -46, + 50, + 16, + 106, + -42, + -71, + 102, + 99, + 101, + 99, + 29, + 32, + 63, + 100, + 116, + -77, + 54, + 86, + -56, + -42, + -40, + 99, + 89, + 44, + 105, + -27, + -113, + 84, + 87, + -88, + -3, + 15, + -48, + 106, + 62, + -97, + -19, + 95, + -23, + -23, + -11, + 103, + -114, + -46, + 60, + -37, + -3, + -17, + -1, + 0, + 119, + 28, + -45, + -1, + 0, + -7, + 6, + -9, + -71, + -17, + 87, + -29, + -97, + 29, + -58, + -24, + 8, + -56, + -106, + -18, + -108, + -24, + 90, + -38, + -88, + 68, + 116, + 77, + 81, + -61, + 98, + -116, + 118, + 122, + -79, + 49, + -76, + 70, + 87, + -107, + -16, + -33, + 33, + 104, + -99, + -38, + -53, + 44, + -81, + -119, + 108, + 7, + -5, + 18, + 9, + 101, + -114, + -93, + -31, + -27, + -26, + -51, + -120, + -28, + 114, + -94, + 127, + 72, + -43, + -24, + -58, + -86, + 39, + -97, + 40, + -44, + -5, + 26, + -82, + 116, + 74, + -82, + 73, + 26, + -41, + 127, + 117, + -111, + 127, + -105, + -8, + 70, + 127, + -39, + -79, + -72, + 126, + -121, + -22, + -5, + -55, + 21, + 70, + 6, + 61, + 0, + 53, + 25, + 25, + -88, + 1, + 109, + -83, + -123, + -102, + -85, + 52, + 0, + -9, + 1, + -60, + 14, + 125, + -10, + -50, + 44, + -112, + 2, + -127, + 100, + -102, + 27, + 121, + -109, + -63, + -107, + 8, + -98, + -79, + 54, + 79, + -77, + -2, + -2, + 17, + -51, + 114, + -71, + 87, + -45, + -8, + 127, + -106, + -93, + -111, + -66, + 92, + -115, + 71, + -6, + -71, + 35, + 98, + 44, + -65, + -53, + 19, + -39, + -120, + -118, + 121, + 11, + 95, + 20, + 109, + 115, + 27, + 55, + -122, + 74, + -23, + 37, + 99, + 101, + -16, + -41, + 53, + 24, + -111, + -93, + 81, + -34, + 87, + -42, + 37, + 103, + -85, + -40, + -81, + 70, + -71, + -54, + -41, + 50, + 87, + 49, + -81, + -107, + -14, + 15, + -48, + -3, + 91, + 98, + 3, + 72, + 62, + 63, + -42, + -113, + -21, + -59, + 126, + 99, + 95, + 26, + 31, + -81, + 79, + -105, + -21, + -63, + -52, + 12, + 122, + -54, + -88, + -49, + 85, + 86, + 42, + -62, + -118, + -17, + 121, + -65, + -85, + -67, + 93, + 7, + -39, + 34, + -57, + -11, + -66, + 71, + 57, + -55, + -27, + 88, + -58, + 34, + 57, + 81, + -66, + -115, + -6, + -43, + 85, + 73, + 4, + 45, + -103, + 60, + 122, + -7, + -111, + -54, + -85, + -27, + -86, + -26, + -79, + 27, + -26, + 23, + 121, + 88, + -3, + -34, + -110, + 49, + -66, + 91, + -24, + -82, + 119, + -107, + 106, + -86, + -79, + -15, + -71, + -56, + -97, + -95, + -6, + 31, + -89, + -96, + 80, + -81, + 46, + 25, + -55, + -31, + -15, + -6, + -4, + -8, + 49, + -6, + -38, + -39, + 86, + 38, + -69, + -49, + -40, + -60, + 73, + 94, + -41, + 42, + 44, + -83, + -13, + -4, + 49, + 19, + -52, + 111, + 106, + 63, + -43, + -66, + 27, + 60, + -86, + -10, + 35, + 92, + -25, + -85, + 90, + -25, + -56, + -35, + -72, + -33, + 34, + 35, + -46, + 63, + 87, + 68, + -33, + -87, + 21, + 24, + -12, + 123, + 125, + -67, + -29, + 107, + 81, + -113, + 70, + -75, + -65, + -60, + 127, + 98, + -84, + 50, + 123, + 61, + -56, + -82, + -9, + -5, + 88, + -111, + -60, + -15, + -6, + 31, + -82, + -31, + 62, + 62, + -85, + -107, + -78, + 54, + 100, + 115, + 63, + -124, + 69, + 86, + 57, + 127, + -11, + -69, + -6, + -67, + 83, + -61, + -3, + 91, + 23, + -68, + 126, + 17, + -85, + -10, + 49, + -82, + 117, + 103, + 59, + -54, + 123, + -92, + -115, + 42, + -77, + 97, + 85, + 81, + -2, + -34, + -66, + 90, + -1, + 0, + 14, + 86, + -79, + -34, + -86, + -114, + 115, + 101, + -115, + 99, + 89, + 31, + -4, + 57, + -14, + 127, + 103, + 57, + 93, + 43, + 85, + -52, + 114, + 57, + 93, + 23, + -85, + -121, + -24, + 126, + -120, + -28, + -118, + -94, + 71, + 95, + -37, + -114, + -32, + -90, + -43, + -59, + -11, + 124, + 108, + 68, + 68, + 86, + 35, + 88, + -119, + 35, + -40, + -24, + 95, + -27, + -50, + -1, + 0, + -76, + 113, + 76, + -57, + 53, + 17, + 17, + -115, + 103, + -81, + -85, + -2, + -87, + 90, + -118, + -97, + -57, + -126, + 57, + -90, + -111, + -46, + 53, + -49, + 122, + 34, + -93, + 85, + -50, + 69, + -78, + -43, + 99, + 27, + -19, + -31, + -21, + 59, + 124, + -6, + 34, + 123, + 61, + 60, + 50, + 41, + 19, + -60, + 106, + -118, + -58, + -85, + 94, + -11, + 120, + -3, + 15, + -46, + 12, + 123, + -89, + -21, + -87, + -31, + 101, + 0, + 1, + -22, + 47, + -21, + -45, + -115, + 73, + -38, + -7, + 61, + 36, + 86, + -93, + 127, + -81, + -85, + -4, + 61, + -114, + 85, + -111, + 28, + -12, + -2, + -53, + -26, + 53, + -10, + 84, + 111, + -107, + 69, + 85, + 69, + 69, + 71, + -75, + 85, + 30, + -66, + -93, + -12, + 63, + 67, + -12, + -56, + -101, + 36, + -7, + -16, + -70, + -88, + 32, + 18, + 62, + -81, + -5, + 125, + 89, + -29, + -1, + -39 + ], + "year": 2020 + } + ] +} \ No newline at end of file diff --git a/server/package-lock.json b/server/package-lock.json new file mode 100644 index 0000000..0203f7f --- /dev/null +++ b/server/package-lock.json @@ -0,0 +1,1335 @@ +{ + "name": "fake-db", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "fake-db", + "version": "1.0.0", + "devDependencies": { + "json-server": "0.17.4" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect-pause": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/connect-pause/-/connect-pause-0.1.1.tgz", + "integrity": "sha512-a1gSWQBQD73krFXdUEYJom2RTFrWUL3YvXDCRkyv//GVXc79cdW9MngtRuN9ih4FDKBtfJAJId+BbDuX+1rh2w==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "dev": true, + "dependencies": { + "accepts": "~1.3.7", + "escape-html": "~1.0.3" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express-urlrewrite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/express-urlrewrite/-/express-urlrewrite-1.4.0.tgz", + "integrity": "sha512-PI5h8JuzoweS26vFizwQl6UTF25CAHSggNv0J25Dn/IKZscJHWZzPrI5z2Y2jgOzIaw2qh8l6+/jUcig23Z2SA==", + "dev": true, + "dependencies": { + "debug": "*", + "path-to-regexp": "^1.0.3" + } + }, + "node_modules/express-urlrewrite/node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dev": true, + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/express/node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/express/node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", + "dev": true + }, + "node_modules/json-parse-helpfulerror": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz", + "integrity": "sha512-XgP0FGR77+QhUxjXkwOMkC94k3WtqEBfcnjWqhRd82qTat4SWKRE+9kUnynz/shm3I4ea2+qISvTIeGTNU7kJg==", + "dev": true, + "dependencies": { + "jju": "^1.1.0" + } + }, + "node_modules/json-server": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/json-server/-/json-server-0.17.4.tgz", + "integrity": "sha512-bGBb0WtFuAKbgI7JV3A864irWnMZSvBYRJbohaOuatHwKSRFUfqtQlrYMrB6WbalXy/cJabyjlb7JkHli6dYjQ==", + "dev": true, + "dependencies": { + "body-parser": "^1.19.0", + "chalk": "^4.1.2", + "compression": "^1.7.4", + "connect-pause": "^0.1.1", + "cors": "^2.8.5", + "errorhandler": "^1.5.1", + "express": "^4.17.1", + "express-urlrewrite": "^1.4.0", + "json-parse-helpfulerror": "^1.0.3", + "lodash": "^4.17.21", + "lodash-id": "^0.14.1", + "lowdb": "^1.0.0", + "method-override": "^3.0.0", + "morgan": "^1.10.0", + "nanoid": "^3.1.23", + "please-upgrade-node": "^3.2.0", + "pluralize": "^8.0.0", + "server-destroy": "^1.0.1", + "yargs": "^17.0.1" + }, + "bin": { + "json-server": "lib/cli/bin.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash-id": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/lodash-id/-/lodash-id-0.14.1.tgz", + "integrity": "sha512-ikQPBTiq/d5m6dfKQlFdIXFzvThPi2Be9/AHxktOnDSfSxE1j9ICbBT5Elk1ke7HSTgM38LHTpmJovo9/klnLg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/lowdb": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz", + "integrity": "sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.3", + "is-promise": "^2.1.0", + "lodash": "4", + "pify": "^3.0.0", + "steno": "^0.4.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "node_modules/method-override": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/method-override/-/method-override-3.0.0.tgz", + "integrity": "sha512-IJ2NNN/mSl9w3kzWB92rcdHpz+HjkxhDJWNDBqSlas+zQdP8wBiJzITPg08M/k2uVvMow7Sk41atndNtt/PHSA==", + "dev": true, + "dependencies": { + "debug": "3.1.0", + "methods": "~1.1.2", + "parseurl": "~1.3.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/method-override/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "dev": true, + "dependencies": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/morgan/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "dependencies": { + "semver-compare": "^1.0.0" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/server-destroy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", + "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==", + "dev": true + }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/steno": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz", + "integrity": "sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.3" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + } + } +} diff --git a/server/package.json b/server/package.json new file mode 100644 index 0000000..0fb3100 --- /dev/null +++ b/server/package.json @@ -0,0 +1,12 @@ +{ + "name": "fake-db", + "version": "1.0.0", + "scripts": { + "start": "json-server --watch data.json --host 0.0.0.0 -p 8079" + }, + "dependencies": { + }, + "devDependencies": { + "json-server": "0.17.4" + } +} \ No newline at end of file diff --git a/server/readme.md b/server/readme.md new file mode 100644 index 0000000..89a58db --- /dev/null +++ b/server/readme.md @@ -0,0 +1,26 @@ +Установка nodejs: +1. Заходим на сайт https://nodejs.org/en/ +2. Скачиваем LTS версию +3. Устанавливаем + +Переход в каталог с сервером: +```commandline +cd ./server +``` + +Установка зависимостей: +```commandline +npm install +``` + +Запуск: +```commandline +npm start +``` + +Примеры: +- http://localhost:8079 +- http://localhost:8079/students +- http://localhost:8079/students?_expand=group + +Документация -- https://www.npmjs.com/package/json-server \ No newline at end of file