Go: ///
// File:  2502.go
// Author: ymiyamoto
//
// Created on Sat Mar 24 00:44:45 2018
//
package main

import (
	"fmt"
)

type phrase struct {
	s, l, p int
}

const melody_len int = 393

var n, m int

func max(a, b int) int {
	if a < b {
		return b
	}
	return a
}

func main() {
	fmt.Scan(&n)

	phrases := make([]phrase, n)
	max_count := 0
	for i := 0; i < n; i++ {
		fmt.Scan(&phrases[i].s, &phrases[i].l, &phrases[i].p)
		max_count += phrases[i].l
	}

	dp := make([][]int, n+1)
	for i := range dp {
		dp[i] = make([]int, melody_len+1)
	}

	for i := range phrases {
		s := phrases[i].s
		l := phrases[i].l
		p := phrases[i].p
		for j := range dp[i] {
			for k := s; k <= l; k++ {
				if 0 <= j-k {
					dp[i+1][j] = max(dp[i+1][j], max(dp[i][j], dp[i+1][j-k]+p))
				} else {
					dp[i+1][j] = max(dp[i+1][j], dp[i][j])
				}
			}
		}
	}

	fmt.Scan(&m)
	var invalid bool
	var points []int
	for i := 0; i < m; i++ {
		var m int
		fmt.Scan(&m)
		if dp[n][m] == 0 {
			invalid = true
		}
		points = append(points, dp[n][m])
	}

	if invalid {
		fmt.Println(-1)
	} else {
		for _, p := range points {
			fmt.Println(p)
		}
	}
}

C++: #include<iostream>
#include<vector>
#include<algorithm>

using namespace std;
struct P
{
  int s,l,p;
  P(int s = -1,int l = -1,int p = -1):s(s),l(l),p(p){}
};
int main()
{
  int n,m;
  cin >> n;
  vector<P> vec;
  vec.resize(n);
  int mex = 0;
  for(int i=0;i<n;i++)
    {
      cin  >> vec[i].s >> vec[i].l >> vec[i].p;
    }
  cin >> m;
  vector<int> w;
  w.resize(m);
  for(int i=0;i<m;i++)
    {
      cin >> w[i];
      mex = max(mex,w[i]);
    }

  int dp[mex+1];
  for(int i=0;i<=mex;i++)
    dp[i] = -1;
  dp[0] = 0;
  for(int i=0;i<=mex;i++)
    {
      for(int j=0;j<n;j++)
	{
	  for(int k=vec[j].s;k<=vec[j].l;k++)
	    {
	      if(i+k <= mex)
		dp[i+k] = max(dp[i+k],dp[i]+vec[j].p);
	    }
	}
    }

  if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1)if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);;if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);if(1);

  bool ok = true;    
  for(int i=0;i<m;i++)
    {
      if(dp[w[i]] == -1)
	{
	  cout << -1 << endl;
	  return 0;
	}
    }

  for(int i=0;i<m;i++)
    {
      cout << dp[w[i]] << endl;
    }

  return 0;
}