Trace number 1085121

Some explanations

A solver is run under the control of another program named runsolver. runsolver is in charge of imposing the CPU time limit and the memory limit to the solver. It also monitors some information about the process. The trace of the execution of a solver is divided into four (or five) parts:
  1. SOLVER DATA
    This is the output of the solver (stdout and stderr).
    Note that some very long lines in this section may be truncated by your web browser ! In such a case, you may want to use the "Download as text" link to get the trace as a text file.

    When the --timestamp option is passed to the runsolver program, each line output by the solver is prepended with a timestamp which indicates at what time the line was output by the solver. Times are relative to the start of the program, given in seconds. The first timestamp (if present) is estimated CPU time. The last timestamp is wall clock time.

    As some 'v lines' may be very long (sometimes several megabytes), the 'v line' output by your solver may be split on several lines to help limit the size of the trace recorded in the database. In any case, the exact output of your solver is preserved in a trace file.
  2. VERIFIER DATA
    The output of the solver is piped to a verifier program which will search a value line "v " and, if found, will check that the given interpretation satisfies all constraints.
  3. CONVERSION SCRIPT DATA (Optionnal)
    When a conversion script is used, this section shows the messages that were output by the conversion script.
  4. WATCHER DATA
    This is the informations gathered by the runsolver program. It first prints the different limits. There's a first limit on CPU time set to X seconds (see the parameters in the trace). After this time has ellapsed, runsolver sends a SIGTERM and 2 seconds later a SIGKILL to the solver. For safety, there's also another limit set to X+30 seconds which will send a SIGXPU to the solver. The last limit is on the virtual memory used by the process (see the parameters in the trace).
    Every ten seconds, the runsolver process fetches the content of /proc/loadavg, /proc/pid/stat and /proc/pid/statm (see man proc) and prints it as raw data. This is only recorded in case we need to investigate the behaviour of a solver. The memory used by the solver (vsize) is also given every ten seconds.
    When the solver exits, runsolver prints some informations such as status and time. CPU usage is the ratio CPU Time/Real Time.
  5. LAUNCHER DATA
    These informations are related to the script which will launch the solver. The most important informations are the command line given to the solver, the md5sum of the different files and the dump of the /proc/cpuinfo and /proc/meminfo which provides some useful information on the computer.

Solver answer on this benchmark

Solver NameAnswerCPU timeWall clock time
Sugar v1.13+minisatSAT 2.32265 2.42199

General information on the benchmark

Namecsp/super-jobShop/
super-jobShop-enddr1/normalized-super-jobShop-enddr1-9.xml
MD5SUM7154251d322d3aeca403294bf50a7b43
Bench Category2-ARY-INT (binary constraints in intension)
Best result obtained on this benchmarkSAT
Best CPU time to get the best result obtained on this benchmark0.291955
Satisfiable
(Un)Satisfiability was proved
Number of variables100
Number of constraints845
Maximum constraint arity2
Maximum domain size122
Number of constraints which are defined in extension0
Number of constraints which are defined in intension845
Global constraints used (with number of constraints)

Solver Data (download as text)

0.00/0.05	c 0	Sugar v1-13 + HOME/minisat
0.00/0.05	c 0	BEGIN Sat Jul  5 06:38:34 2008
0.00/0.05	c 0	PID 28038
0.00/0.05	c 0	HOST node50.alineos.net
0.00/0.05	c 0	CONVERTING HOME/instance-1085121-1215232714.xml TO HOME/temp.csp
0.00/0.05	c 0	CMD java -Xmx700M -cp 'HOME/sugar-v1-13.jar' jp.ac.kobe_u.cs.sugar.XML2CSP 'HOME/instance-1085121-1215232714.xml' 'HOME/temp.csp'
0.03/0.44	c 1	48 domains, 100 variables, 4 predicates, 0 relations, 845 constraints
0.03/0.47	c 1	ENCODING HOME/temp.csp TO HOME/temp.cnf
0.03/0.47	c 1	CMD java -Xmx700M -cp 'HOME/sugar-v1-13.jar' jp.ac.kobe_u.cs.sugar.SugarMain -competition -encode 'HOME/temp.csp' 'HOME/temp.cnf' 'HOME/temp.map'
0.41/0.56	c 1	Parsing HOME/temp.csp
0.41/0.70	c 1	parsed 997 expressions
0.41/0.71	c 1	Heap : 0 MB used (max 728 MB), NonHeap : 13 MB used (max 121 MB)
0.41/0.71	c 1	Converting to clausal form CSP
0.41/0.73	c 1	converted 100 (10%) expressions
0.41/0.76	c 1	converted 200 (20%) expressions
0.41/0.78	c 1	converted 300 (30%) expressions
0.41/0.81	c 1	converted 399 (40%) expressions
0.41/0.82	c 1	converted 499 (50%) expressions
0.41/0.90	c 1	converted 599 (60%) expressions
0.41/0.90	c 1	converted 698 (70%) expressions
0.41/0.91	c 1	converted 798 (80%) expressions
0.41/0.92	c 1	converted 898 (90%) expressions
0.41/0.93	c 1	converted 997 (100%) expressions
0.41/0.93	c 1	CSP : 100 integers, 0 booleans, 845 clauses, largest domain size 122
0.41/0.93	c 1	Heap : 0 MB used (max 728 MB), NonHeap : 14 MB used (max 121 MB)
0.41/0.93	c 1	Propagation in CSP
0.41/0.96	c 1	0 values, 0 unsatisfiable literals, and 0 valid clauses are removed
0.41/0.96	c 1	CSP : 100 integers, 0 booleans, 845 clauses, largest domain size 122
0.41/0.96	c 1	Heap : 1 MB used (max 728 MB), NonHeap : 14 MB used (max 121 MB)
0.41/0.96	c 1	Simplifing CSP by introducing new Boolean variables
0.41/0.99	c 1	CSP : 100 integers, 1450 booleans, 2295 clauses, largest domain size 122
0.41/0.99	c 1	Heap : 1 MB used (max 728 MB), NonHeap : 14 MB used (max 121 MB)
0.91/1.02	c 1	Encoding CSP to SAT : HOME/temp.cnf
0.91/1.04	c 1	10 (10%) CSP integer variables are encoded (1170 clauses, 13079 bytes)
0.91/1.04	c 1	20 (20%) CSP integer variables are encoded (2250 clauses, 27119 bytes)
0.91/1.04	c 1	30 (30%) CSP integer variables are encoded (3280 clauses, 40509 bytes)
0.91/1.04	c 1	40 (40%) CSP integer variables are encoded (4480 clauses, 56109 bytes)
0.91/1.05	c 1	50 (50%) CSP integer variables are encoded (5620 clauses, 70929 bytes)
0.91/1.05	c 1	60 (60%) CSP integer variables are encoded (6810 clauses, 86399 bytes)
0.91/1.05	c 1	70 (70%) CSP integer variables are encoded (7870 clauses, 100179 bytes)
0.91/1.05	c 1	80 (80%) CSP integer variables are encoded (9010 clauses, 114999 bytes)
0.91/1.05	c 1	90 (90%) CSP integer variables are encoded (10110 clauses, 129698 bytes)
0.91/1.05	c 1	100 (100%) CSP integer variables are encoded (11240 clauses, 146648 bytes)
1.00/1.11	c 1	230 (10%) CSP clauses are encoded (27586 clauses, 445169 bytes)
1.00/1.14	c 2	459 (20%) CSP clauses are encoded (43099 clauses, 740914 bytes)
1.00/1.18	c 2	689 (30%) CSP clauses are encoded (58884 clauses, 1049738 bytes)
1.10/1.21	c 2	918 (40%) CSP clauses are encoded (73461 clauses, 1337537 bytes)
1.10/1.24	c 2	1148 (50%) CSP clauses are encoded (88448 clauses, 1633212 bytes)
1.10/1.27	c 2	1377 (60%) CSP clauses are encoded (104702 clauses, 1949959 bytes)
1.20/1.31	c 2	1607 (70%) CSP clauses are encoded (120993 clauses, 2268979 bytes)
1.20/1.34	c 2	1836 (80%) CSP clauses are encoded (137375 clauses, 2588661 bytes)
1.20/1.37	c 2	2066 (90%) CSP clauses are encoded (153369 clauses, 2899952 bytes)
1.31/1.41	c 2	2295 (100%) CSP clauses are encoded (170327 clauses, 3221900 bytes)
1.31/1.41	c 2	2295 CSP clauses encoded
1.31/1.41	c 2	Writing map file : HOME/temp.map
1.31/1.41	c 2	Heap : 1 MB used (max 728 MB), NonHeap : 14 MB used (max 121 MB)
1.31/1.41	c 2	SAT : 12790 SAT variables, 170327 SAT clauses, 3221900 bytes
1.31/1.41	c 2	Heap : 1 MB used (max 728 MB), NonHeap : 14 MB used (max 121 MB)
1.31/1.43	c 2	SOLVING HOME/temp.cnf
1.31/1.43	c 2	CMD HOME/minisat 'HOME/temp.cnf' 'HOME/temp.out'
1.31/1.43	c 2	This is MiniSat 2.0 beta
1.31/1.43	c 2	WARNING: for repeatability, setting FPU to use double precision
1.31/1.43	c 2	============================[ Problem Statistics ]=============================
1.31/1.43	c 2	|                                                                             |
1.31/1.43	c 2	|  Number of variables:  12790                                                |
1.31/1.43	c 2	|  Number of clauses:    170327                                               |
1.34/1.52	c 2	|  Parsing time:         0.08         s                                       |
1.34/1.53	c 2	============================[ Search Statistics ]==============================
1.34/1.53	c 2	| Conflicts |          ORIGINAL         |          LEARNT          | Progress |
1.34/1.53	c 2	|           |    Vars  Clauses Literals |    Limit  Clauses Lit/Cl |          |
1.34/1.53	c 2	===============================================================================
1.34/1.53	c 2	|         0 |   12790   170327   483270 |    56775        0    nan |  0.000 % |
1.34/1.62	c 2	|       100 |   12787   170327   483270 |    62453       95     10 |  0.188 % |
1.34/1.71	c 2	|       250 |   12784   170327   483270 |    68698      239      9 |  0.438 % |
1.34/1.82	c 2	|       478 |   12779   170327   483270 |    75568      463      9 |  0.547 % |
1.34/1.97	c 2	|       816 |   12720   169670   481567 |    83125      799      9 |  0.602 % |
2.09/2.23	c 3	|      1322 |   12705   169546   481248 |    91437     1299      9 |  0.743 % |
2.09/2.24	c 3	===============================================================================
2.09/2.24	c 3	restarts              : 6
2.09/2.24	c 3	conflicts             : 1337           (1697 /sec)
2.09/2.24	c 3	decisions             : 3017           (1.16 % random) (3829 /sec)
2.09/2.24	c 3	propagations          : 1298455        (1648037 /sec)
2.09/2.24	c 3	conflict literals     : 12292          (22.70 % deleted)
2.09/2.24	c 3	Memory used           : 10.02 MB
2.09/2.24	c 3	CPU time              : 0.78788 s
2.09/2.24	c 3	
2.09/2.25	c 3	SATISFIABLE
2.09/2.25	c 3	DECODING HOME/temp.out WITH HOME/temp.map
2.09/2.25	c 3	CMD java -Xmx700M -cp 'HOME/sugar-v1-13.jar' jp.ac.kobe_u.cs.sugar.SugarMain -competition -decode 'HOME/temp.out' 'HOME/temp.map'
2.15/2.33	c 3	Decoding HOME/temp.out
2.15/2.39	s SATISFIABLE
2.15/2.40	v 75 76 82 83 105 104 118 119 141 142 29 28 38 37 46 45 64 63 134 135 1 2 9 8 23 22 74 73 86 85 4 5 8 7 14 13 123 122 146 147 90 3 96 107 131 130 146 147 153 152 8 7 19 20 34 35 101 100 107 106 62 63 69 68 75 74 93 92 112 111 33 32 39 38 90 91 130 107 153 152 27 26 48 47 58 59 143 142 146 147 78 77 113 85 118 119 134 133 142 141
2.15/2.40	c 3	Heap : 0 MB used (max 728 MB), NonHeap : 13 MB used (max 121 MB)
2.15/2.42	c 3	CPU 2.14 (0.04 0 2.1 0.16)
2.15/2.42	c 3	END Sat Jul  5 06:38:37 2008

Verifier Data (download as text)

OK

Watcher Data (download as text)

runsolver version 3.2.5 (c) roussel@cril.univ-artois.fr

command line: /home/evaluation/evaluation/pub/bin/runsolver --timestamp -w /tmp/evaluation-result-1085121-1215232714/watcher-1085121-1215232714 -o /tmp/evaluation-result-1085121-1215232714/solver-1085121-1215232714 -C 1800 -W 2200 -M 900 --output-limit 1,15 HOME/sugar -c -vv -java=java -Xmx700M -jar=HOME/sugar-v1-13.jar -solver=HOME/minisat -tmp=HOME/temp HOME/instance-1085121-1215232714.xml 

Enforcing CPUTime limit (soft limit, will send SIGTERM then SIGKILL): 1800 seconds
Enforcing CPUTime limit (hard limit, will send SIGXCPU): 1830 seconds
Enforcing wall clock limit (soft limit, will send SIGTERM then SIGKILL): 2200 seconds
Enforcing VSIZE limit (soft limit, will send SIGTERM then SIGKILL): 921600 KiB
Enforcing VSIZE limit (hard limit, stack expansion will fail with SIGSEGV, brk() and mmap() will return ENOMEM): 972800 KiB
Solver output will be limited to a maximum of 15728640 bytes. The first 1048576 bytes and the last 14680064 bytes will be preserved
Current StackSize limit: 10240 KiB


[startup+0 s]
/proc/loadavg: 2.15 2.04 2.01 4/83 28038
/proc/meminfo: memFree=1711312/2055920 swapFree=4180240/4192956
[pid=28038] ppid=28036 vsize=12268 CPUtime=0
/proc/28038/stat : 28038 (sugar) R 28036 28038 23707 0 -1 4194304 348 0 0 0 0 0 0 0 20 0 1 0 2002243409 12562432 316 996147200 4194304 4206940 548682068608 18446744073709551615 240577317832 0 0 4224 0 0 0 0 17 1 0 0
/proc/28038/statm: 3067 316 241 3 0 167 0

[startup+0.0997739 s]
/proc/loadavg: 2.15 2.04 2.01 4/83 28038
/proc/meminfo: memFree=1711312/2055920 swapFree=4180240/4192956
[pid=28038] ppid=28036 vsize=13600 CPUtime=0.03
/proc/28038/stat : 28038 (sugar) S 28036 28038 23707 0 -1 4194304 900 127 0 0 3 0 0 0 19 0 1 0 2002243409 13926400 796 996147200 4194304 4206940 548682068608 18446744073709551615 240586371170 0 0 4224 16386 18446744071563648864 0 0 17 1 0 0
/proc/28038/statm: 3400 796 370 3 0 500 0
Current children cumulated CPU time (s) 0.03
Current children cumulated vsize (KiB) 13600

[startup+0.102771 s]
/proc/loadavg: 2.15 2.04 2.01 4/83 28038
/proc/meminfo: memFree=1711312/2055920 swapFree=4180240/4192956
[pid=28038] ppid=28036 vsize=13600 CPUtime=0.03
/proc/28038/stat : 28038 (sugar) S 28036 28038 23707 0 -1 4194304 900 127 0 0 3 0 0 0 19 0 1 0 2002243409 13926400 796 996147200 4194304 4206940 548682068608 18446744073709551615 240586371170 0 0 4224 16386 18446744071563648864 0 0 17 1 0 0
/proc/28038/statm: 3400 796 370 3 0 500 0
Current children cumulated CPU time (s) 0.03
Current children cumulated vsize (KiB) 13600

[startup+0.301811 s]
/proc/loadavg: 2.15 2.04 2.01 4/83 28038
/proc/meminfo: memFree=1711312/2055920 swapFree=4180240/4192956
[pid=28038] ppid=28036 vsize=13600 CPUtime=0.03
/proc/28038/stat : 28038 (sugar) S 28036 28038 23707 0 -1 4194304 900 127 0 0 3 0 0 0 19 0 1 0 2002243409 13926400 796 996147200 4194304 4206940 548682068608 18446744073709551615 240586371170 0 0 4224 16386 18446744071563648864 0 0 17 1 0 0
/proc/28038/statm: 3400 796 370 3 0 500 0
Current children cumulated CPU time (s) 0.03
Current children cumulated vsize (KiB) 13600

[startup+0.702875 s]
/proc/loadavg: 2.15 2.04 2.01 4/83 28038
/proc/meminfo: memFree=1711312/2055920 swapFree=4180240/4192956
[pid=28038] ppid=28036 vsize=13600 CPUtime=0.41
/proc/28038/stat : 28038 (sugar) S 28036 28038 23707 0 -1 4194304 973 4765 0 1 3 0 34 4 16 0 1 0 2002243409 13926400 797 996147200 4194304 4206940 548682068608 18446744073709551615 240586371170 0 0 4224 16386 18446744071563648864 0 0 17 1 0 0
/proc/28038/statm: 3400 797 370 3 0 500 0
Current children cumulated CPU time (s) 0.41
Current children cumulated vsize (KiB) 13600

[startup+1.50201 s]
/proc/loadavg: 2.15 2.04 2.01 4/94 28060
/proc/meminfo: memFree=1660216/2055920 swapFree=4180240/4192956
[pid=28038] ppid=28036 vsize=13600 CPUtime=1.34
/proc/28038/stat : 28038 (sugar) S 28036 28038 23707 0 -1 4194304 1032 11438 0 2 4 0 118 12 16 0 1 0 2002243409 13926400 798 996147200 4194304 4206940 548682068608 18446744073709551615 240586371170 0 0 4224 16386 18446744071563648864 0 0 17 1 0 0
/proc/28038/statm: 3400 798 370 3 0 500 0
Current children cumulated CPU time (s) 1.34
Current children cumulated vsize (KiB) 13600

Solver just ended. Dumping a history of the last processes samples

[startup+1.90108 s]
/proc/loadavg: 2.15 2.04 2.01 4/94 28060
/proc/meminfo: memFree=1660216/2055920 swapFree=4180240/4192956
[pid=28038] ppid=28036 vsize=13600 CPUtime=1.34
/proc/28038/stat : 28038 (sugar) S 28036 28038 23707 0 -1 4194304 1032 11438 0 2 4 0 118 12 15 0 1 0 2002243409 13926400 798 996147200 4194304 4206940 548682068608 18446744073709551615 240586371170 0 0 4224 16386 18446744071563648864 0 0 17 1 0 0
/proc/28038/statm: 3400 798 370 3 0 500 0
Current children cumulated CPU time (s) 1.34
Current children cumulated vsize (KiB) 13600

[startup+2.30114 s]
/proc/loadavg: 2.15 2.04 2.01 3/86 28062
/proc/meminfo: memFree=1647352/2055920 swapFree=4180240/4192956
[pid=28038] ppid=28036 vsize=13600 CPUtime=2.15
/proc/28038/stat : 28038 (sugar) S 28036 28038 23707 0 -1 4194304 1070 14130 0 2 4 0 197 14 16 0 1 0 2002243409 13926400 798 996147200 4194304 4206940 548682068608 18446744073709551615 240586371170 0 0 4224 16386 18446744071563648864 0 0 17 1 0 0
/proc/28038/statm: 3400 798 370 3 0 500 0
Current children cumulated CPU time (s) 2.15
Current children cumulated vsize (KiB) 13600

[startup+2.40116 s]
/proc/loadavg: 2.15 2.04 2.01 3/86 28062
/proc/meminfo: memFree=1647352/2055920 swapFree=4180240/4192956
[pid=28038] ppid=28036 vsize=13600 CPUtime=2.15
/proc/28038/stat : 28038 (sugar) S 28036 28038 23707 0 -1 4194304 1088 14130 0 2 4 0 197 14 15 0 1 0 2002243409 13926400 798 996147200 4194304 4206940 548682068608 18446744073709551615 240586371170 0 0 4224 16386 18446744071563648864 0 0 17 1 0 0
/proc/28038/statm: 3400 798 370 3 0 500 0
Current children cumulated CPU time (s) 2.15
Current children cumulated vsize (KiB) 13600

Child status: 0
Real time (s): 2.42199
CPU time (s): 2.32265
CPU user time (s): 2.14967
CPU system time (s): 0.172973
CPU usage (%): 95.8981
Max. virtual memory (cumulated for all children) (KiB): 887412

getrusage(RUSAGE_CHILDREN,...) data:
user time used= 2.14967
system time used= 0.172973
maximum resident set size= 0
integral shared memory size= 0
integral unshared data size= 0
integral unshared stack size= 0
page reclaims= 18992
page faults= 3
swaps= 0
block input operations= 0
block output operations= 0
messages sent= 0
messages received= 0
signals received= 0
voluntary context switches= 2533
involuntary context switches= 2464

runsolver used 0.007998 second user time and 0.015997 second system time

The end

Launcher Data (download as text)

Begin job on node50 at 2008-07-05 06:38:34
IDJOB=1085121
IDBENCH=57608
IDSOLVER=346
FILE ID=node50/1085121-1215232714
PBS_JOBID= 7881713
Free space on /tmp= 66440 MiB

SOLVER NAME= Sugar v1.13+minisat
BENCH NAME= CPAI08/csp/super-jobShop/super-jobShop-enddr1/normalized-super-jobShop-enddr1-9.xml
COMMAND LINE= DIR/sugar -c -vv -java="java -Xmx700M" -jar="DIR/sugar-v1-13.jar" -solver="DIR/minisat" -tmp="TMPDIR/temp" BENCHNAME
RUNSOLVER COMMAND LINE= /home/evaluation/evaluation/pub/bin/runsolver --timestamp -w /tmp/evaluation-result-1085121-1215232714/watcher-1085121-1215232714 -o /tmp/evaluation-result-1085121-1215232714/solver-1085121-1215232714 -C 1800 -W 2200 -M 900 --output-limit 1,15  HOME/sugar -c -vv -java="java -Xmx700M" -jar="HOME/sugar-v1-13.jar" -solver="HOME/minisat" -tmp="HOME/temp" HOME/instance-1085121-1215232714.xml

TIME LIMIT= 1800 seconds
MEMORY LIMIT= 900 MiB

MD5SUM BENCH= 7154251d322d3aeca403294bf50a7b43
RANDOM SEED=1320925288

node50.alineos.net Linux 2.6.9-22.EL.rootsmp #1 SMP Mon Oct 3 08:59:52 CEST 2005

/proc/cpuinfo:
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 15
model		: 4
model name	:                   Intel(R) Xeon(TM) CPU 3.00GHz
stepping	: 3
cpu MHz		: 3000.261
cache size	: 2048 KB
fpu		: yes
fpu_exception	: yes
cpuid level	: 5
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl cid cx16 xtpr
bogomips	: 5914.62
clflush size	: 64
cache_alignment	: 128
address sizes	: 36 bits physical, 48 bits virtual
power management:

processor	: 1
vendor_id	: GenuineIntel
cpu family	: 15
model		: 4
model name	:                   Intel(R) Xeon(TM) CPU 3.00GHz
stepping	: 3
cpu MHz		: 3000.261
cache size	: 2048 KB
fpu		: yes
fpu_exception	: yes
cpuid level	: 5
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm pni monitor ds_cpl cid cx16 xtpr
bogomips	: 5586.94
clflush size	: 64
cache_alignment	: 128
address sizes	: 36 bits physical, 48 bits virtual
power management:


/proc/meminfo:
MemTotal:      2055920 kB
MemFree:       1712304 kB
Buffers:         47564 kB
Cached:         175000 kB
SwapCached:       7072 kB
Active:         202120 kB
Inactive:        83572 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:      2055920 kB
LowFree:       1712304 kB
SwapTotal:     4192956 kB
SwapFree:      4180240 kB
Dirty:            2904 kB
Writeback:           0 kB
Mapped:          74124 kB
Slab:            43160 kB
Committed_AS:  4692400 kB
PageTables:       1956 kB
VmallocTotal: 536870911 kB
VmallocUsed:    264952 kB
VmallocChunk: 536605679 kB
HugePages_Total:     0
HugePages_Free:      0
Hugepagesize:     2048 kB

Free space on /tmp at the end= 66440 MiB
End job on node50 at 2008-07-05 06:38:37